#!/bin/bash
##############################################################
# システム名    ：eo顧客基幹システム
#
# サブシステム名：請求収納
#
# シェル名      ：債権充当結果分割
#
# 機能          ：債権充当結果をリアル用と確報用に分割する
#
# コマンド形式  ：EO60X0920J0.sh
#
# 実行環境      ：.../app/shl
#
# 終了ステータス：ゼロ以外異常
#
# 特記事項      ：特になし
#
# 変更履歴      ：変更日      変更者       障害／仕様変更No.
# v32.00          2017/04/14  FJ）清原    【ANK-2996-00-00】SMSを利用した即時決済サービスの導入
##############################################################

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

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

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

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

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

#
#---OPD
#
OPD=$1

#
#---業務で必要な変数定義
#
#xxx=xxxxxxx
##############################################################
# 業務処理
##############################################################
sh ${G_TOOLSH}/EOK010210J0.sh CS00025I $JOBNAME

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

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

#--- ファイル定義
#
#--- 債権充当結果データ
INPUT_FILE_1=${MID_DIR_CH}/CHIFM097014.csv
#--- 債権充当結果データ（LF）
INPUT_FILE_1_LF=${MID_DIR_CH}/CHIFM097014_LF.csv

#--- 収納機関情報
INPUT_FILE_2=${MID_DIR_CH}/CHIFM279001.csv
#--- 収納機関情報（LF）
INPUT_FILE_2_LF=${MID_DIR_CH}/CHIFM279001_LF.csv

#--- マッチングワークファイル
MATCH_FILE=${MID_DIR_CH}/${JOBNAME}_CHIFM097014.csv

#--- 入金料金情報
OUTFILE_REAL=${MID_DIR_CH}/CHIFM097015.csv
OUTFILE_KAKHO=${MID_DIR_CH}/CHIFM097016.csv

#--- マッチング用ファイル定義
DEFFILE=${G_TOOLSH}/util/def/CH_CM_0166.def
TMPDEFFILE=${ULD_WORK_DIR}/CH_CM_0166.tmp.${JOBNAME}.def

#
#--- 各ファイルの存在チェックを行う
#
if [ ! -r $INPUT_FILE_1 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File is nonexist($INPUT_FILE_1) "
    echo $JOBNAME " File is nonexist($DEFFILE) "
    exit ${G_RTN_ERROR}
fi

if [ ! -r $INPUT_FILE_2 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File is nonexist($INPUT_FILE_2) "
    echo $JOBNAME " File is nonexist($DEFFILE) "
    exit ${G_RTN_ERROR}
fi

if [ ! -r $DEFFILE ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File is nonexist($DEFFILE) "
    echo $JOBNAME " File is nonexist($DEFFILE) "
    exit ${G_RTN_ERROR}
fi

#
#--- 各ファイルのクリアを行う
#
cat /dev/null > $OUTFILE_REAL

rc=$?
if [ $rc -ne 0 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File cat error($TMPULDFILE:rc=$rc) "
    echo $JOBNAME " File cat error($OUTFILE_REAL:rc=$rc) "
    exit ${G_RTN_ERROR}
fi

cat /dev/null > $OUTFILE_KAKHO

rc=$?
if [ $rc -ne 0 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File cat error($CH0231_TMP:rc=$rc) "
    echo $JOBNAME " File cat error($OUTFILE_KAKHO:rc=$rc) "
    exit ${G_RTN_ERROR}
fi

#
#--- マッチング用に改行コードの変換を行う。（CRLF⇒LF）
#
nkf -Lu < ${INPUT_FILE_1} > ${INPUT_FILE_1_LF}
nkf -Lu < ${INPUT_FILE_2} > ${INPUT_FILE_2_LF}

#
#--- 環境変数の設定を行う（出力ファイル情報の設定）
#
export ZTLOUTFILE=${MATCH_FILE}

#
#--- 定義ファイル環境変数設定処理
#
cat ${DEFFILE} > ${TMPDEFFILE}
sed -i -e s@'${MID_DIR_CH}'@${MID_DIR_CH}@g ${TMPDEFFILE}

#
#--- マッチング処理(ソート用に収納機関情報を付与したファイルを作成する)
#
${G_TOOLSH}/util/bin/ZTLMAT01 ${TMPDEFFILE}

rc=$?
if [ $rc -ne 0 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " MATCHING UTIL Error($SVC util:rc=$rc) "
    echo $JOBNAME " MATCHING UTIL Error($SVC util:rc=$rc) "
    exit ${G_RTN_ERROR}
fi

#
#--- 債権充当結果データを取得する
#
bsortex -sort -record recform=txtflt fldsep=, \
           -input reclen=300 file=${MATCH_FILE} \
           -output file=${OUTFILE_REAL}  linedlmt=crlf case="30.2asc.eq.'70'" \
           reconst="0.10,1.12,2.12,3.6,4.12,5.14,6.20,7.1,8.2,9.3,10.12,11.11,12.12,13.1,14.3,15.2,16.6,17.8,18.6,19.8,20.8,21.12,22.12,23.2,24.2,25.1,26.12,27.1,28.2,29.100" \
           -output file=${OUTFILE_KAKHO} linedlmt=crlf case=other \
           reconst="0.10,1.12,2.12,3.6,4.12,5.14,6.20,7.1,8.2,9.3,10.12,11.11,12.12,13.1,14.3,15.2,16.6,17.8,18.6,19.8,20.8,21.12,22.12,23.2,24.2,25.1,26.12,27.1,28.2,29.100" 

#
#--- 中間ファイルの削除を行う
#
rm -f ${TMPDEFFILE}
rm -f ${MATCH_FILE}
rm -f ${INPUT_FILE_1_LF}
rm -f ${INPUT_FILE_2_LF}

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

exit ${G_RTN_NORMAL}
