#!/bin/bash
##############################################################
# システム名    ：eo顧客基幹システム
#
# サブシステム名：お客様情報変更抽出
#
# シェル名      ：EO10Z0120J0.sh
#
# 機能          ： 最新のOPEDATEと現在のOPEDATEの間にSYSIDを取得するシェル
#
# コマンド形式  ：EO10Z0120J0.sh
#
# 実行環境      ：.../app/shl
#
# 終了ステータス：
#
# 特記事項      ：
#
# 変更履歴      ：変更日      変更者       障害／仕様変更No.
# v49.00.00     2020/03/17    GDC)ニール   【ANK-3815-00-00】eo顧客変更情報mineo連携
##############################################################

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

#
#---ツール格納場所
#
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=,"
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"

CKIFM027001_CSV=${MID_DIR_CK}/CKIFM027001.csv
CCIFM019002_CK0011_DTA=${MID_DIR_CC}/CCIFM019002.csv
CCIFM019002_CK0011_DTA_OUTFILE=${MID_DIR_CC}/${JOBNAME}.CK0011_DTA.csv

CCIFM037002_CK0201_DTA=${MID_DIR_CC}/CCIFM037002.csv
CCIFM037002_CK0201_DTA_OUTFILE=${MID_DIR_CC}/${JOBNAME}.CK0201_DTA.csv

TMPFILE_CK0011_WRK_OUTFILE=${MID_DIR_CC}/${JOBNAME}.CK0011_WRK.csv
TMPFILE_CK0011_SRT_WRK_OUTFILE=${MID_DIR_CC}/${JOBNAME}.CK0011_SRT_WRK.csv
TMPFILE_CK0011_UNIQ_WRK_OUTFILE=${MID_DIR_CC}/${JOBNAME}.CK0011_UNIQ_WRK.csv

CCIFM020002_KK0081_DTA=${MID_DIR_CC}/CCIFM020002.csv
CCIFM020002_KK0081_DTA_OUTFILE=${MID_DIR_CC}/${JOBNAME}.KK0081_DTA.csv
TMPFILE_KK0081_SRT_WRK_OUTFILE=${MID_DIR_CC}/${JOBNAME}.KK0081_SRT_WRK.csv
TMPFILE_KK0081_UNIQ_WRK_OUTFILE=${MID_DIR_CC}/${JOBNAME}.KK0081_UNIQ_WRK.csv

MATCHDEF_CK_CM_0016=${G_TOOLSH}/util/def/CK_CM_0016.def
TMPFILE_MATCHDEF_CK_CM_0016=${G_TOOLSH}/util/def/${JOBNAME}_CK_CM_0016_TMP.def

CKIFM028001_WRK_OUTFILE=${MID_DIR_CK}/${JOBNAME}.CKIFM028001_WRK.csv
CKIFM028001_OUTFILE=${MID_DIR_CK}/CKIFM028001.csv

# 1. get timestamp/opeDate
CKIFM027001_DTL_PARAMS=(`cat ${CKIFM027001_CSV} | tr -t ',' ' ' | sed 's/"//g'`)
LAST_SEND_TIME_STAMP=${CKIFM027001_DTL_PARAMS[0]}
LAST_SEND_OPERATION_DATE=${CKIFM027001_DTL_PARAMS[1]}
CURRENT_SEND_TIME_STAMP=${CKIFM027001_DTL_PARAMS[2]} 
CURRENT_SEND_OPERATION_DATE=${CKIFM027001_DTL_PARAMS[3]} 

# 2. filtering
# Refer on 02_CK0011_お客様（CK_T_CUST）.xlsx
cat /dev/null > $CCIFM019002_CK0011_DTA_OUTFILE
bsortex -copy -record recform=txtcsv -input reclen=${ULD2_REC_LEN_CK0011} file=${CCIFM019002_CK0011_DTA} include="(21.8asc.gt.'${LAST_SEND_OPERATION_DATE}'.and.21.8asc.le.'${CURRENT_SEND_OPERATION_DATE}').or.(27.8asc.gt.'${LAST_SEND_OPERATION_DATE}'.and.27.8asc.le.'${CURRENT_SEND_OPERATION_DATE}').or.(1.17asc.gt.'${LAST_SEND_TIME_STAMP}'.and.1.17asc.le.'${CURRENT_SEND_TIME_STAMP}')" reconst="0.10" -output file=${CCIFM019002_CK0011_DTA_OUTFILE}

# 3. filtering
# Refer on 02_CK0201_連絡先（CK_T_RRKS）.xlsx
cat /dev/null > $CCIFM037002_CK0201_DTA_OUTFILE
bsortex -copy -record recform=txtcsv -input reclen=${ULD2_REC_LEN_CK0201} file=${CCIFM037002_CK0201_DTA} include="(7.8asc.gt.'${LAST_SEND_OPERATION_DATE}'.and.7.8asc.le.'${CURRENT_SEND_OPERATION_DATE}').or.(10.8asc.gt.'${LAST_SEND_OPERATION_DATE}'.and.10.8asc.le.'${CURRENT_SEND_OPERATION_DATE}').or.(1.17asc.gt.'${LAST_SEND_TIME_STAMP}'.and.1.17asc.le.'${CURRENT_SEND_TIME_STAMP}')" -output file=${CCIFM037002_CK0201_DTA_OUTFILE} reconst="2.10"

# 4. Merging
cat /dev/null > $TMPFILE_CK0011_WRK_OUTFILE
cat ${CCIFM019002_CK0011_DTA_OUTFILE} ${CCIFM037002_CK0201_DTA_OUTFILE} > $TMPFILE_CK0011_WRK_OUTFILE

# 5. sort+unique
cat /dev/null > ${TMPFILE_CK0011_SRT_WRK_OUTFILE}
bsortex -sort key="0.10asc" -record recform=txtcsv -input reclen=14 file=${TMPFILE_CK0011_WRK_OUTFILE} -output file=${TMPFILE_CK0011_SRT_WRK_OUTFILE}
uniq $TMPFILE_CK0011_SRT_WRK_OUTFILE $TMPFILE_CK0011_UNIQ_WRK_OUTFILE

# 6. filtering
# Refer on 02_KK0081_サービス契約（KK_T_SVC_KEI）.xlsx
cat /dev/null > $CCIFM020002_KK0081_DTA_OUTFILE
bsortex -copy -record recform=txtcsv -input reclen=${ULD2_REC_LEN_KK0081} file=${CCIFM020002_KK0081_DTA} include="4.2asc.eq.'51'" -output file=${CCIFM020002_KK0081_DTA_OUTFILE} reconst="3.10"

# 7. sort+unique
bsortex -sort key="0.10asc" -record recform=txtcsv -input reclen=14 file=${CCIFM020002_KK0081_DTA_OUTFILE} -output file=${TMPFILE_KK0081_SRT_WRK_OUTFILE}
uniq $TMPFILE_KK0081_SRT_WRK_OUTFILE $TMPFILE_KK0081_UNIQ_WRK_OUTFILE

# 8. matching
cp -f ${MATCHDEF_CK_CM_0016} ${TMPFILE_MATCHDEF_CK_CM_0016}

# Change contents to CSV files used
sed -i -e s@':CK0011_csv'@${TMPFILE_CK0011_UNIQ_WRK_OUTFILE}@g ${TMPFILE_MATCHDEF_CK_CM_0016}
sed -i -e s@':KK0081_csv'@${TMPFILE_KK0081_UNIQ_WRK_OUTFILE}@g ${TMPFILE_MATCHDEF_CK_CM_0016}

export ZTLOUTFILE=$CKIFM028001_WRK_OUTFILE
${G_TOOLSH}/util/bin/ZTLMAT01 $TMPFILE_MATCHDEF_CK_CM_0016

# 9. sort
bsortex -sort key="0.10asc" -record recform=txtcsv -input reclen=13 file=${CKIFM028001_WRK_OUTFILE} -output file=${CKIFM028001_OUTFILE}

rm $CCIFM019002_CK0011_DTA_OUTFILE
rm $CCIFM037002_CK0201_DTA_OUTFILE
rm $TMPFILE_CK0011_WRK_OUTFILE
rm $TMPFILE_CK0011_SRT_WRK_OUTFILE
rm $TMPFILE_CK0011_UNIQ_WRK_OUTFILE
rm $CCIFM020002_KK0081_DTA_OUTFILE
rm $TMPFILE_KK0081_SRT_WRK_OUTFILE
rm $TMPFILE_KK0081_UNIQ_WRK_OUTFILE
rm $TMPFILE_MATCHDEF_CK_CM_0016
rm $CKIFM028001_WRK_OUTFILE

sh ${G_TOOLSH}/EOK010210J0.sh CS00026I $JOBNAME
exit ${G_RTN_NORMAL}
