#!/bin/bash
##############################################################
# システム名    ：eo顧客基幹システム
#
# サブシステム名：契約管理
#
# シェル名      ：移行後クレジットカード番号預りID反映確認（クリアパス受信１回目）
#
# 機能          ：移行後のコンテンツ事業クレジットカードにクレジットカード番号預りIDが反映されているかを確認する
#
#<<(1)アンロード条件>>
#【コンテンツ事業クレジットカード】
#  ・全件取得
#
# コマンド形式  ：EO2F70232J0.sh
#
# 実行環境      ：.../app/shl
#
# 終了ステータス：ゼロ以外異常
#
# 特記事項      ：特になし
#
# 変更履歴      ：変更日      変更者       障害／仕様変更No.
#
##############################################################

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

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

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

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

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

#
#---OPD
#
OPD=$1

#
#---業務で必要な変数定義
#
#xxx=xxxxxxx
#アンロード出力用ファイル
SQLOUT_CN0101=${MID_DIR_KK}/EO2F70232J0_KKIFM673_SQLOUT_CN0101.csv

##アンロード用SQLファイル
SQLFILE_CN0101=${SQL_DIR}/KK_U_CN0101_04.sql

##クリアパス受信ファイル（１回目受信）
INFILE_CPATH_001=${MID_DIR_KK}/KKIFM673004.csv

##クリアパス受信ファイル（１回目受信）ソート後
INFILE_CPATH_001_SORT=${MID_DIR_KK}/EO2F70232J0_KKIFM673004_SORT.csv

##マッチング
DEFFILE=${G_TOOLSH}/util/def/KK_CM_0566.def
TMPDEFFILE=${ULD_WORK_DIR}/EO2F70232J0_KK_CM_0566.tmp.def
MATCHING_OUTFILE=${MID_DIR_KK}/EO2F70232J0_KKIFM673_MATCHING_OUT.csv
MATCHING_RESULT=${MID_DIR_KK}/EO2F70232J0_KKIFM673_MATCHING_RESULT.csv

##############################################################
# 業務処理
##############################################################
sh ${G_TOOLSH}/EOK010210J0.sh CS00025I $JOBNAME

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

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

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

if [ ! -r $INFILE_CPATH_001 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File is nonexist($INFILE_CPATH_001) "
    echo $JOBNAME " File is nonexist($INFILE_CPATH_001) "
    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

#
#--- 各ファイルのクリア
#
rm -f  ${SQLOUT_CN0101} > /dev/null 2>&1
rm -f  ${INFILE_CPATH_001_SORT} > /dev/null 2>&1
rm -f  ${MATCHING_OUTFILE} > /dev/null 2>&1
rm -f  ${MATCHING_RESULT} > /dev/null 2>&1


#
#--- UNLOAD処理
# CN0101
sh ${G_TOOLSH}/EOKULD02.sh $SQLFILE_CN0101 $SQLOUT_CN0101 $JOBNAME
rc=$?
if [ $rc -ne 0 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " UNLOAD Error($SQLFILE_CN0101 unload:rc=$rc) " 
    echo $JOBNAME " UNLOAD Error($SQLFILE_CN0101 unload:rc=$rc) "
    exit ${G_RTN_ERROR}
fi


#
#--- ソート (入力会員番号)
#
bsortex -sort key=90.9asca,09.16asca,25.4asca,69.16asca -record recform=txtfix -input file=${INFILE_CPATH_001} reclen=140 -output file=${INFILE_CPATH_001_SORT} reconst="'\"'.1asc,90.9,'\",\"'.3asc,09.16,'\",\"20'.5asc,25.4,'\",\"'.3asc,69.16,'\"'.1asc"
rc=$?
if [ $rc -ne 0 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " KKIFM673 Sort Error($SVC sort:rc=$rc) "
    echo $JOBNAME " KKIFM673 Sort Error($SVC sort:rc=$rc) "
    exit ${G_RTN_ERROR}
fi

# 
# マッチング
# 
export ZTLTMPDIR=${ULD_WORK_DIR}
export ZTLOUTFILE=${MATCHING_OUTFILE}

#--- 定義ファイル環境変数設定処理
cat ${DEFFILE} > ${TMPDEFFILE}
sed -i -e s@'${KKIFM673_FILE}'@${INFILE_CPATH_001_SORT}@g ${TMPDEFFILE}
sed -i -e s@'${CN0101}'@${SQLOUT_CN0101}@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

#
#--クレジットカード番号預りIDが設定されていないものを抽出
#
bsortex -sort key="0.9asca" -record recform=txtcsv -input file=${MATCHING_OUTFILE} reclen=140 \
omit="7.16asc.ge.'0'" -output file=${MATCHING_RESULT} \
reconst="1.16,0.9"

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




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

exit $exit_rc
