#!/bin/bash
##############################################################
# システム名    ：eo顧客基幹システム
#
# サブシステム名：料金管理
#
# シェル名      ：会計用売掛金調整情報集計
#
# 機能          ：会計用売掛金調整情報の集計を行う。
#
#（集計キー：請求契約番号＋会計内訳コード＋料金グループコード＋料金コースコード＋料金サービスコード
#　　　　　　＋料金項目コード）
#（集計項目：件数、金額、税抜金額、消費税額）
#
#
# コマンド形式  ：EO30O0290J0.sh
#
# 実行環境      ：.../app/shl
#
# 終了ステータス：ゼロ以外異常
#
# 特記事項      ：特になし
#
# 変更履歴      ：変更日      変更者       障害／仕様変更No.
# v3.00           2012/05/14  FJ）岩切     新規作成
# v35.00.00       2017/11/14  FJ）寺園    【ANK-3243-00-00】社内利用回線の会計処理業務変更に伴う改修
# v37.00.00       2018/03/07  FJ）寺園    【ANK-3366-00-00】eo光設備卸対応
#
##############################################################

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

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

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

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

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

# v35.00.00 Mod Start
#
#---OPD
#
OPD=$1
#
#---運用日付取得
#
if [ "${OPD}" = "" ]; then
   . EOK010310J0.sh "BDATE"
else
   RSLT_OPEDATE="${OPD}"
fi
# v35.00.00 Mod End

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

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

P1="OPD=,"
P2="SVCCTL=,"
P3="JOB=EO30O0290J0,"
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


# v35.00.00 Add Start
#
#---ワークファイル
#
IN_CHIFI001=${SEND_DIR}/CHIFI001001.csv
# v37.00.00 Add Start
IN_CHIFI001_LF=${MID_DIR_AC}/${JOBNAME}_IN_CHIFI001_LF.csv
# v37.00.00 Add End
OUTFILE1=${MID_DIR_AC}/${JOBNAME}_OUT1_SORT.csv
OUTFILE2=${MID_DIR_AC}/${JOBNAME}_OUT2_MATCHING.csv
OUTFILE3=${MID_DIR_AC}/${JOBNAME}_OUT3_SORT.csv
OUTFILE4=${MID_DIR_AC}/${JOBNAME}_OUT4_SORT.csv
# v37.00.00 Add Start
OUTFILE5=${MID_DIR_AC}/${JOBNAME}_OUT5_SORT.csv
OUTFILE6=${MID_DIR_AC}/${JOBNAME}_OUT6_SORT.csv
# v37.00.00 Add End

#
#---ＳＯＲＴ
#会計情報を請求契約番号でソートする
#

bsortex -sort key="2.10asc" -record recform=txtcsv -input file=${MID_DIR_AC}/ACIFM145002.csv reclen=600 -output file=${OUTFILE1}

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

#---マッチング定義
DEF_DIR=${G_TOOLSH}/util/def
DEF_CM0126=${DEF_DIR}/AC_CM_0126.def
##############################################################
#--- MATCHING
##############################################################
MATCHING(){
    export ZTLOUTFILE=$2
    ${G_TOOLSH}/util/bin/ZTLMAT01 $1
    rc=$?
    if [ $rc -ne 0 ]
    then
          sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " matching error(matching:$1=$rc) "
          echo $JOBNAME " matching error(matching:$1=$rc) "
          exit ${G_RTN_ERROR}
    fi
}

# v37.00.00 Add Start
#
#--- マッチング用に改行コードの変換を行う。（CRLF⇒LF,SJIS⇒UTF-8）
#
nkf -Lu -x -w80 < ${IN_CHIFI001} > ${IN_CHIFI001_LF}
# v37.00.00 Add End

#
#--- ファイルマッチング処理
#会計情報と請求（社用分）を請求契約番号でマッチングし、社内使用識別フラグを付加する
#
export INPUTFILE1_MAST=${OUTFILE1}
# v37.00.00 Mod Start
#export INPUTFILE2_TRAN=${IN_CHIFI001}
export INPUTFILE2_TRAN=${IN_CHIFI001_LF}
# v37.00.00 Mod End
MATCHING ${DEF_CM0126} ${OUTFILE2}

#
#---ＳＯＲＴ
#会計情報から社用分、卸契約分を除外する

# v37.00.00 Mod Start
#bsortex -copy -record recform=txtcsv -input file=${OUTFILE2} reclen=600 include="0.1asc.ne.'1'" -output file=${OUTFILE3}
bsortex -copy -record recform=txtcsv -input file=${OUTFILE2} reclen=600 include="0.1asc.ne.'1'.and.1.2asc.le.' '" -output file=${OUTFILE3}
# v37.00.00 Mod End

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

# v37.00.00 Mod Start
#社内使用識別フラグ、卸先事業者コードを除去する
#bsort -c -z1200 -Tflt -t, -e "1.END" -o ${OUTFILE4} ${OUTFILE3}
bsort -c -z1200 -Tflt -t, -e "2.END" -o ${OUTFILE4} ${OUTFILE3}
# v37.00.00 Mod End

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

# v35.00.00 Add End


#
#---ＳＯＲＴ
#

# v35.00.00 Mod Start
#bsort -s -z1200 -Tflt -t, -2.99asca,4.99asca,5.99asca,6.99asca,7.99asca,8.99asca \
#-g10.99ascd,11.99ascd,12.99ascd,13.99ascd \
#-o ${MID_DIR_AC}/ACIFM145202.csv ${MID_DIR_AC}/ACIFM145002.csv 
bsort -s -z1200 -Tflt -t, -2.99asca,4.99asca,5.99asca,6.99asca,7.99asca,8.99asca \
-g10.99ascd,11.99ascd,12.99ascd,13.99ascd \
-o ${MID_DIR_AC}/ACIFM145202.csv ${OUTFILE4} 
# v35.00.00 Mod End

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

# v37.00.00 Add Start
#
#---ＳＯＲＴ（卸契約）
#会計情報から社用分を除外し、卸契約分を抽出する

bsortex -copy -record recform=txtcsv -input file=${OUTFILE2} reclen=600 include="0.1asc.ne.'1'.and.1.2asc.gt.' '" -output file=${OUTFILE5}

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 -c -z1200 -Tflt -t, -e "1.END" -o ${OUTFILE6} ${OUTFILE5}

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,3.99asca,5.99asca,6.99asca,7.99asca,8.99asca,9.99asca \
-g11.99ascd,12.99ascd,13.99ascd,14.99ascd \
-o ${MID_DIR_AC}/ACIFM295202.csv ${OUTFILE6} 

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
# v37.00.00 Add End

# v35.00.00 Add Start
#
#--- ワークファイル削除
#
rm ${OUTFILE1}
rm ${OUTFILE2}
rm ${OUTFILE3}
rm ${OUTFILE4}
# v35.00.00 Add End
# v37.00.00 Add Start
rm ${OUTFILE5}
rm ${OUTFILE6}
rm ${IN_CHIFI001_LF}
# v37.00.00 Add End

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

exit ${G_RTN_NORMAL}
