#!/bin/bash
##############################################################
# システム名    ：eo顧客基幹システム
#
# サブシステム名：契約管理
#
# シェル名      ：商品券発送指図ファイル作成
#
# 機能          ：商品券発送指図ファイルの作成を行う。
#分割処理されたファイルのマージ処理。
#
#分割ファイル１：
#KKIFE165001_01.txt,
#KKIFE165001_02.txt,
#KKIFE165001_03.txt,
#KKIFE165001_04.txt,
#KKIFE165001_05.txt
#マージファイル１：
#KKIFE165001.txt
#分割ファイル２：
#KKIFM198_opedate_01.csv
#KKIFM198_opedate_02.csv,
#KKIFM198_opedate_03.csv,
#KKIFM198_opedate_04.csv
#KKIFM198_opedate_05.csv
#マージファイル２：
#KKIFM198_opedate.csv
#
# コマンド形式  ：EO2B90170J0.sh
#
# 実行環境      ：.../app/shl
#
# 終了ステータス：ゼロ以外異常
#
# 特記事項      ：特になし
#
# 変更履歴      ：変更日      変更者       障害／仕様変更No.
# v8.00.00       2014/04/07   富士通       新規作成(OM-2014-0001279)
# v9.00.00       2014/06/04   富士通       TAI-2014-0000019
# v27.00.00      2016/10/11   富士通)藤原  ANK-3005-00-00(eo電気の商品券CPコード追加（STEP2）)
# 
##############################################################

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

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

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

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

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

#
#---OPD
#
OPD=$1

#
#---業務で必要な変数定義
#
if [ "${OPD}" = "" ];then
   . EOK010310J0.sh "BDATE"
else
   RSLT_OPEDATE = "${OPD}"
fi
##############################################################
# 業務処理
##############################################################
sh ${G_TOOLSH}/EOK010210J0.sh CS00025I $JOBNAME
sh ${G_TOOLSH}/EOK010210J0.sh CS00027I $JOBNAME

#
#--- ファイル定義
#
OUTFILE_ALL_1=${GAIBU_SEND_DIR_KK}/KKIFE165/KKIFE165001.txt
OUTFILE_ALL_2=${MID_DIR_KK}/KKIFM198_${RSLT_OPEDATE}.csv
OUTFILE_TEMP=${GAIBU_SEND_DIR_KK}/KKIFE165/KKIFE165001_TEMP.txt

MARGE_GAIBU_1=${GAIBU_SEND_DIR_KK}/KKIFE165/KKIFE165001_01.txt
MARGE_GAIBU_2=${GAIBU_SEND_DIR_KK}/KKIFE165/KKIFE165001_02.txt
MARGE_GAIBU_3=${GAIBU_SEND_DIR_KK}/KKIFE165/KKIFE165001_03.txt
MARGE_GAIBU_4=${GAIBU_SEND_DIR_KK}/KKIFE165/KKIFE165001_04.txt

# v27.00.00 ADD START
MARGE_GAIBU_5=${GAIBU_SEND_DIR_KK}/KKIFE165/KKIFE165001_05.txt
# v27.00.00 ADD END

# v9.00.00 MOD Start
#MARGE_MID_1=${MID_DIR_KK}/KKIFM198_${RSLT_OPEDATE}_01.csv
#MARGE_MID_2=${MID_DIR_KK}/KKIFM198_${RSLT_OPEDATE}_02.csv
#MARGE_MID_3=${MID_DIR_KK}/KKIFM198_${RSLT_OPEDATE}_03.csv
#MARGE_MID_4=${MID_DIR_KK}/KKIFM198_${RSLT_OPEDATE}_04.csv
MARGE_MID_1=${TMP_DIR_KK}/KKIFM198_${RSLT_OPEDATE}_01.csv
MARGE_MID_2=${TMP_DIR_KK}/KKIFM198_${RSLT_OPEDATE}_02.csv
MARGE_MID_3=${TMP_DIR_KK}/KKIFM198_${RSLT_OPEDATE}_03.csv
MARGE_MID_4=${TMP_DIR_KK}/KKIFM198_${RSLT_OPEDATE}_04.csv
# v9.00.00 MOD End

# v27.00.00 ADD START
MARGE_MID_5=${TMP_DIR_KK}/KKIFM198_${RSLT_OPEDATE}_05.csv
# v27.00.00 ADD END

#
#--- クリアを行う
#
cat /dev/null > $OUTFILE_ALL_1

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

cat /dev/null > $OUTFILE_ALL_2

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

#
#--- 対象ファイルの行数を取得する
#
CNT_1=`cat ${MARGE_GAIBU_1} | wc -l`
CNT_2=`cat ${MARGE_GAIBU_2} | wc -l`
CNT_3=`cat ${MARGE_GAIBU_3} | wc -l`
CNT_4=`cat ${MARGE_GAIBU_4} | wc -l`

# v27.00.00 ADD START
CNT_5=`cat ${MARGE_GAIBU_5} | wc -l`
# v27.00.00 ADD END

#--- 行数カウント
# v27.00.00 MOD START
#CNT=`expr ${CNT_1} + ${CNT_2} + ${CNT_3} + ${CNT_4}`
CNT=`expr ${CNT_1} + ${CNT_2} + ${CNT_3} + ${CNT_4} + ${CNT_5}`
# v27.00.00 MOD END

#--- トレーラレコード
MSG="\"E\",\"${CNT}\",\"${RSLT_OPEDATE}\""

#
#--- マージ処理
#
cat ${MARGE_GAIBU_1} > ${OUTFILE_TEMP}
cat ${MARGE_GAIBU_2} >> ${OUTFILE_TEMP}
cat ${MARGE_GAIBU_3} >> ${OUTFILE_TEMP}
cat ${MARGE_GAIBU_4} >> ${OUTFILE_TEMP}

# v27.00.00 ADD START
cat ${MARGE_GAIBU_5} >> ${OUTFILE_TEMP}
# v27.00.00 ADD END

echo ${MSG} >> ${OUTFILE_TEMP}

cat ${MARGE_MID_1} > ${OUTFILE_ALL_2}
cat ${MARGE_MID_2} >> ${OUTFILE_ALL_2}
cat ${MARGE_MID_3} >> ${OUTFILE_ALL_2}
cat ${MARGE_MID_4} >> ${OUTFILE_ALL_2}

# v27.00.00 ADD START
cat ${MARGE_MID_5} >> ${OUTFILE_ALL_2}
# v27.00.00 ADD END

#
#--- CR+LF  
#
unix2dos < ${OUTFILE_TEMP} > ${OUTFILE_ALL_1}

#
#--- 分割ファイルの削除
#
rm -f ${MARGE_GAIBU_1}
rm -f ${MARGE_GAIBU_2}
rm -f ${MARGE_GAIBU_3}
rm -f ${MARGE_GAIBU_4}
rm -f ${OUTFILE_TEMP}
rm -f ${MARGE_MID_1}
rm -f ${MARGE_MID_2}
rm -f ${MARGE_MID_3}
rm -f ${MARGE_MID_4}

# v9.00.00 ADD Start
rm -f ${TMP_DIR_KK}/KKIFM592001_01.csv
rm -f ${TMP_DIR_KK}/KKIFM592001_02.csv
rm -f ${TMP_DIR_KK}/KKIFM592001_03.csv
rm -f ${TMP_DIR_KK}/KKIFM592001_04.csv
rm -f ${TMP_DIR_KK}/KKIFM592001.csv
rm -f ${TMP_DIR_KK}/KKIFM592001_crnt.csv
# v9.00.00 ADD End

# v27.00.00 ADD START
rm -f ${MID_DIR_KK}/KKIFM724001_01.csv
rm -f ${MID_DIR_KK}/KKIFM724001_02.csv
rm -f ${MID_DIR_KK}/KKIFM724001_03.csv
rm -f ${MID_DIR_KK}/KKIFM724001_04.csv
rm -f ${MID_DIR_KK}/KKIFM724001.csv
rm -f ${MARGE_GAIBU_5}
rm -f ${MARGE_MID_5}
# v27.00.00 ADD END

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

exit $exit_rc
