#!/bin/bash
##############################################################
# システム名    ：eo顧客基幹システム
#
# サブシステム名：請求収納
#
# シェル名      ：請求書ハガキ化抑止設定
#
# 機能          ：2.請求書ハガキ化抑止設定
#
#請求書ハガキ化抑止対象情報の請求契約番号をもとに請求書ハガキ化抑止フラグを設定し、請求書印刷情報(請求書ハガキ化抑止設定)を作成する。
#
# コマンド形式  ：EO60301M7J0.sh
#
# 実行環境      ：.../app/shl
#
# 終了ステータス：ゼロ以外異常
#
# 特記事項      ：特になし
#
# 変更履歴      ：変更日      変更者       障害／仕様変更No.
# v13.00          2015/02/23  FJ）寺園     ANK-2416-00-00_請求書のハガキ化対応
##############################################################

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

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

# 入力ファイル
IN_FILE=${MID_DIR_CH}/CHIFM087004.csv

# 出力ファイル
OUT_FILE_SORT=${MID_DIR_CH}/CHIFM087006_SORT.csv
OUT_FILE_TEMP1=${MID_DIR_CH}/CHIFM087006_TEMP1.csv
OUT_FILE_TEMP2=${MID_DIR_CH}/CHIFM087006_TEMP2.csv
OUT_FILE=${MID_DIR_CH}/CHIFM087006.csv

# ファイルの初期化
cat /dev/null > $OUT_FILE

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

cat /dev/null > $OUT_FILE_SORT

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


# ソート
bsortex -sort     key=16.10asc \
        -record   recform=txtcsv \
        -input    file=${IN_FILE} \
                  reclen=7000 \
        -output   file=${OUT_FILE_SORT} reconst="'0'.1asc,0.END"

# defファイル
DEFFILE=${G_TOOLSH}/util/def/CH_CM_0132.def
TMPDEFFILE=${ULD_WORK_DIR}/CH_CM_0132.tmp.${JOBNAME}.def

# 環境変数の設定
export ZTLTMPDIR=${ULD_WORK_DIR}
export ZTLOUTFILE=${OUT_FILE_TEMP1}

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

# ファイルマッチング処理　※マッチしたものに対し請求書印刷情報のハガキ化抑止フラグに「"1"(封書で送付)」を設定する。
${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


# defファイル
DEFFILE=${G_TOOLSH}/util/def/CH_CM_0133.def
TMPDEFFILE=${ULD_WORK_DIR}/CH_CM_0133.tmp.${JOBNAME}.def

# 環境変数の設定
export ZTLTMPDIR=${ULD_WORK_DIR}
export ZTLOUTFILE=${OUT_FILE_TEMP2}

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

# ファイルマッチング処理　※請求書印刷情報のハガキ化抑止フラグが「"1"(封書で送付)」以外のものに対し「"0"(はがきで送付)」を設定する。
${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 key="21.1asc,15.12asc,16.10asc" -record recform=txtcsv -input file=${OUT_FILE_TEMP1},${OUT_FILE_TEMP2} reclen=7000 \
 -output file=${OUT_FILE}

#
#--- 各ファイルの存在チェックを行う
#
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 ${OUT_FILE_SORT}
rm -f ${OUT_FILE_TEMP1}
rm -f ${OUT_FILE_TEMP2}

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

exit $exit_rc
