#!/bin/bash
##############################################################
# システム名    ：eo顧客基幹システム
#
# サブシステム名：料金管理
#
# シェル名      ：売掛金残高表集計マージ集計
#
# 機能          ：会計情報（残高表集計化マージ）を会計ＤＢへの登録を行うために、集計を行う。
#（集計キー：会計計上月＋請求契約番号＋請求番号＋残高集計コード）
#（集計項目：件数、金額）
#
#マージ対象ファイル
#　・会計用売掛金（ACIFM147001_${XXX}.csv）
#　・会計用売掛金調整分（ACIFM147002.csv）
#　・会計用売掛金変更分（ACIFM147003.csv）
#　・会計用翌月売掛金変更分（ACIFM147005.csv）
#　・会計用金庫貸倒後入金（ACIFM147006.csv）
#　・会計用金庫貸倒後入金以外（ACIFM147007.csv）
#　・会計用コンテンツ決済データ（ACIFM147008.csv）
#　・会計用貸倒データ（ACIFM147009.csv）
#　・会計用翌月貸倒取消分データ（ACIFM147010.csv）
#　・会計用窓口入金データ（ACIFM147011.csv）
#　・会計用法人窓口入金データ（ACIFM147018.csv）
#　・会計用債権回収委託データ（ACIFM147012.csv）
#　・会計用口座振替データ（ACIFM147013_${XXX}.csv）
#　・会計用郵券データ（ACIFM147014.csv）
#　・会計用クレジットデータ（ACIFM147015_${XXX}.csv）【ANK-4268-00-00】廃止
#　・会計用コンビニ入金２０日締分（ACIFM147016.csv）
#　・会計用コンビニ入金月末締分（ACIFM147017.csv）
#　・会計用法人コンビニ入金（ACIFM147019.csv）
#　・会計用違約金データ（ACIFM147020.csv）
#　・会計用その他収入（ACIFM147021.csv）
#　・会計用決済代行データ（ACIFM147024.csv）【ANK-4268-00-00】追加
#　・会計用コンテンツクレカデータ（ACIFM147025.csv）【ANK-4268-00-00】追加
#　・会計用クレジットデータ（ACIFM147026.csv）【ANK-4268-00-00】追加
#
# コマンド形式  ：EO30Q0510J0.sh
#
# 実行環境      ：.../app/shl
#
# 終了ステータス：ゼロ以外異常
#
# 特記事項      ：特になし
#
# 変更履歴      ：変更日      変更者       障害／仕様変更No.
# v3.00           2012/05/21  FJ）岩切     新規作成
# v4.00           2013/03/16  FJ）広野    【IKK-2013-0000382】入力ファイルが 0バイトの場合に発生するエラーを修正
# v68.00          2023/06/07  FJ）寺田    【ANK-4268-00-00】入力ファイルの対象を廃止・追加（コメント追記のみ）
#
##############################################################

##############################################################
# 環境変数定義
##############################################################

#
#---ツール格納場所
#
G_TOOLSH=.

#
#---環境変数定義Shell呼び出し
#
. EOK010110J0.sh

#
#---ＪＯＢ名
#
JOBNAME=`basename $0 | sed -e "s/\.sh//g"`

#
#---サービス（業務プロセス）
#
SVC=$JOBNAME

#
#---OPD
#
OPD=$1

#
#---業務で必要な変数定義
#
#手修正あり
##############################################################
# 業務処理
##############################################################
sh ${G_TOOLSH}/EOK010210J0.sh CS00025I $JOBNAME

#
#---パラメタ定義
#

P1="OPD=,"
P2="SVCCTL=,"
P3="JOB=EO30Q0510J0,"
P4="IND1=,"
P5="INF1=,"
P6="IND2=,"
P7="INF2=,"
P8="OTD1=,"
P9="OTF1=,"
P10="OTD2=,"
P11="OTF2=,"
P12="TABLENAME=,"
P13="SQLKEY=,"
P14="SQLPARAM=,"
P15="ERRFILE=,"
P16="RECOVERY=,"
P17="BREAKPTN=,"
P18="FREE="
PARA="$P1$P2$P3$P4$P5$P6$P7$P8$P9$P10$P11$P12$P13$P14$P15$P16$P17$P18"

sh ${G_TOOLSH}/EOK010210J0.sh CS00027I $JOBNAME


#
# 作業ファイル削除
#
if [ -f ${MID_DIR_AC}/ACIFM147101_TMP_EO30Q0510J0.csv ]
then
    rm ${MID_DIR_AC}/ACIFM147101_TMP_EO30Q0510J0.csv
fi

#
# 必要なファイルを連結する
#

for inFile in `ls -l ${MID_DIR_AC}/ACIFM1470*.csv | awk '$5 !=0 {printf "%s\n", $9}'`
do
    if [ -f ${inFile} ]
    then
        # ファイル名だけ抽出
        inFileName=${inFile##*/}        # 拡張子付き
        inFileName=${inFileName%.*}     # 拡張子除去
        # 不要ファイル名の除外判定
        case ${inFileName} in
                ACIFM147004* )
                        # 処理対象外
                        ;;
                *)
                        # 処理対象
                        cat ${inFile} >> ${MID_DIR_AC}/ACIFM147101_TMP_EO30Q0510J0.csv
                        ;;
        esac
    fi
done
[ ! -e ${MID_DIR_AC}/ACIFM147101_TMP_EO30Q0510J0.csv ] &&touch ${MID_DIR_AC}/ACIFM147101_TMP_EO30Q0510J0.csv 
#
#---ＳＯＲＴ
#
#集計処理
#集計キー：会計計上月＋請求契約番号＋請求番号＋残高集計コード
#集計項目：件数、金額
bsort -s -z1200 -Tflt -t, -0.99asca,1.99asca,2.99asca,3.99asca \
-g5.99ascd,6.99ascd \
 -o ${MID_DIR_AC}/ACIFM147101_TMP_EO30Q0510J0_02.csv \
  ${MID_DIR_AC}/ACIFM147101_TMP_EO30Q0510J0.csv 
rc=$?
if [ $rc -ne 0 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " SORT Error($SVC sort:rc=$rc) "
    echo $JOBNAME " SORT Error($SVC sort:rc=$rc) "
    exit ${G_RTN_ERROR}
fi

#集計結果．金額　≠　０のものを対象に抽出
#
bsort -s -z1200 -Tflt -t, -0.99asca,1.99asca,2.99asca,3.99asca \
 -p "6.12ascd.ne.'0'"\
 -o ${MID_DIR_AC}/ACIFM147101.csv  \
  ${MID_DIR_AC}/ACIFM147101_TMP_EO30Q0510J0_02.csv 
rc=$?
if [ $rc -ne 0 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " SORT Error($SVC sort:rc=$rc) "
    echo $JOBNAME " SORT Error($SVC sort:rc=$rc) "
    exit ${G_RTN_ERROR}
fi

# 作業ファイル削除
if [ -f ${MID_DIR_AC}/ACIFM147101_TMP_EO30Q0510J0.csv ]
then
	#echo "作業ファイル削除 ${MID_DIR_AC}/ACIFM147101_TMP_EO30Q0510J0.csv"
	rm ${MID_DIR_AC}/ACIFM147101_TMP_EO30Q0510J0.csv
fi

if [ -f ${MID_DIR_AC}/ACIFM147101_TMP_EO30Q0510J0_02.csv ]
then
	#echo "作業ファイル削除 ${MID_DIR_AC}/ACIFM147101_TMP_EO30Q0510J0_02.csv"
	rm ${MID_DIR_AC}/ACIFM147101_TMP_EO30Q0510J0_02.csv
fi

#
#--- ジョブの終了メッセージを出力する
#
sh ${G_TOOLSH}/EOK010210J0.sh CS00028I $JOBNAME
sh ${G_TOOLSH}/EOK010210J0.sh CS00026I $JOBNAME

exit ${G_RTN_NORMAL}
