#!/bin/bash
##############################################################
# システム名    ：eo顧客基幹システム
#
# サブシステム名：契約管理
#
# シェル名      ：EO61H0210J0.sh
#
# 機能          ：強制解約予告対象者メールアドレス取得
#
# コマンド形式  ：EO61H0210J0.sh
#
# 実行環境      ：.../app/shl
#
# 終了ステータス：ゼロ以外異常
#
# 特記事項      ：特になし
#
# 変更履歴      ：変更日      変更者                障害／仕様変更No.
# v50.00.00      2020/08/17   GDC)ジョバニー        ANK-3899-00-00_利用停止・強制解約予告メールのシステム化
# v67.00.00      2023/09/08    FJ)永井              【ANK-4415-00-00】口振請求及びWeb申込システム移行 STEP1
##############################################################

##############################################################
# 環境変数定義
##############################################################
#
#---ツール格納場所
#
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


#1. New Line Conversion + Add Double Quotes
#ANK-4415-00-00 MOD START
#INFILE_CHIFM131=${MID_DIR_CH}/CHIFM131002.csv
INFILE_CHIFM131=${MID_DIR_CH}/CHIFM422002.csv
#ANK-4415-00-00 MOD END
OUTFILE_CHIFM131_LF=${MID_DIR_CH}/CHIFM131_LF.csv

cat /dev/null > ${OUTFILE_CHIFM131_LF}

#-- 改行コードをLFにする。
nkf -Lu ${INFILE_CHIFM131} > ${OUTFILE_CHIFM131_LF}

#
#--- 入力ファイルにダブルクォーテーションを付加
#
sed -i -e "s/,/\",\"/g" ${OUTFILE_CHIFM131_LF}
sed -i -e "s/^/\"/" ${OUTFILE_CHIFM131_LF}
sed -i -e "s/$/\"/" ${OUTFILE_CHIFM131_LF}

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

#2. Filter
INFILE_CCIFM008002=${MID_DIR_CC}/CCIFM008002.csv
OUTFILE_CCIFM008002_FLT=${MID_DIR_CC}/CCIFM008002_FLT.csv

cat /dev/null > ${OUTFILE_CCIFM008002_FLT}

bsortex -copy -record recform=txtcsv -input reclen=226 file=${INFILE_CCIFM008002} include="2.3asc.eq.'100'.and.3.4asc.eq.'B001'" -output file=${OUTFILE_CCIFM008002_FLT}

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


#3. Matching
INFILE_CCIFM009001=${MID_DIR_CC}/CCIFM009001.csv

MATCHDEF_CH_CM_217=${G_TOOLSH}/util/def/CH_CM_0217.def
TMPFILE_MATCHDEF_CH_CM_217=${G_TOOLSH}/util/def/${JOBNAME}.CH_CM_0217_TMP.def
CHIFM355_MATCH=${MID_DIR_CH}/CHIFM355_MATCH.csv

cat /dev/null > ${CHIFM355_MATCH}

cp -f $MATCHDEF_CH_CM_217 $TMPFILE_MATCHDEF_CH_CM_217

sed -i -e s@':CHIFM131.csv'@${OUTFILE_CHIFM131_LF}@g ${TMPFILE_MATCHDEF_CH_CM_217}
sed -i -e s@':CCIFM008002.csv'@${OUTFILE_CCIFM008002_FLT}@g ${TMPFILE_MATCHDEF_CH_CM_217}
sed -i -e s@':CCIFM009001.csv'@${INFILE_CCIFM009001}@g ${TMPFILE_MATCHDEF_CH_CM_217}

export ZTLOUTFILE=$CHIFM355_MATCH

# ファイルマッチング
${G_TOOLSH}/util/bin/ZTLMAT01 $TMPFILE_MATCHDEF_CH_CM_217

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


#4. Sort + Suppress
CHIFM355_SRT_MRG=${MID_DIR_CH}/CHIFM355002.csv

cat /dev/null > ${CHIFM355_SRT_MRG}

bsortex -sort key="2.2asc,0.10asc,1.20asc,3.256asc" -record recform=txtcsv -input file=${CHIFM355_MATCH} reclen=300 \
 | bsortex -merge key="2.2asc,0.10asc,1.20asc,3.256asc" -record recform=txtcsv -input reclen=300 -summary suppress last -output file=${CHIFM355_SRT_MRG}

rc=$?
if [ $rc -ne 0 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " SORT/MERGE/SUPPRESS Error($SVC sort/merge/suppress:rc=$rc) "
    echo $JOBNAME " SORT/MERGE/SUPPRESS Error($SVC sort/merge/suppress:rc=$rc) "
    exit ${G_RTN_ERROR}
fi

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

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

rm -f ${OUTFILE_CHIFM131_LF}
rm -f ${OUTFILE_CCIFM008002_FLT}
rm -f ${TMPFILE_MATCHDEF_CH_CM_217}
rm -f ${CHIFM355_MATCH}

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

exit $exit_rc
