#!/bin/bash
##############################################################
# システム名    ：eo顧客基幹システム
#
# サブシステム名：料金管理
#
# シェル名      ：はぴｅポイント計算（はぴｅ対象請求内訳マッチング②）
#
# 機能          ：みなし区分が"0"のはぴｅポイント計算入力ファイルを作成する
#
# コマンド形式  ：EO30J0117J0.sh
#
# 実行環境      ：.../app/shl
#
# 終了ステータス：ゼロ以外異常
#
# 特記事項      ：特になし
#
# 変更履歴      ：変更日      変更者       障害／仕様変更No.
# v25.00          2016/03/23  FJ）三宅     【ANK-2766-00-00  】はぴｅみる電対応
##############################################################

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

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

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

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

sh ${G_TOOLSH}/EOK010210J0.sh CS00027I $JOBNAME

#
#--- ファイル定義① （請求・請求契約・料金項目抽出変換マスタを結合する）
#      出力項目：請求．請求番号
#                請求．請求契約番号
#                請求．請求種別コード
#                請求内訳．サービス契約番号
#                請求内訳．料金コースコード
#                請求内訳．料金サービスコード
#                請求内訳．料金項目コード
#                請求内訳．金額
#      条件    ：請求．請求番号                      ＝ 請求内訳．請求番号
#                料金項目抽出変換．料金コースコード  ＝ 請求内訳．料金コースコード
#                料金項目抽出変換．料金サービスコード＝ 請求内訳．料金サービスコード
#                料金項目抽出変換．料金項目コード    ＝ 請求内訳．料金項目コード
#
# マッチングおよびマッチングワークファイル
DEFFILE1=${G_TOOLSH}/util/def/AC_CM_0114.def
TMPDEFFILE1=${ULD_WORK_DIR}/AC_CM_0114.tmp.${JOBNAME}.def

# マッチング結果出力ファイル
OUTFILE1=${MID_DIR_AC}/ACIFM280001_MATCH2_work.csv
OUTFILE2=${MID_DIR_AC}/ACIFM280001_MATCH2.csv


#
#-- マッチング対象ファイル存在チェック
#
INFILE1=${MID_DIR_AC}/ACIFM280001_CH0101.csv
INFILE2=${MID_DIR_AC}/ACIFM280001_CH0051.csv
INFILE3=${MID_DIR_AC}/ACIFM280001_CH0401.csv
INFILE4=${MID_DIR_AC}/ACIFM280001_HAPIE.csv
if [ ! -r ${INFILE1} ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File is nonexist(${INFILE1}) "
    echo $JOBNAME " File is nonexist(${INFILE1}) "
    exit ${G_RTN_ERROR}
fi
if [ ! -r ${INFILE2} ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File is nonexist(${INFILE2}) "
    echo $JOBNAME " File is nonexist(${INFILE2}) "
    exit ${G_RTN_ERROR}
fi
if [ ! -r ${INFILE3} ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File is nonexist(${INFILE3}) "
    echo $JOBNAME " File is nonexist(${INFILE3}) "
    exit ${G_RTN_ERROR}
fi
if [ ! -r ${INFILE4} ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File is nonexist(${INFILE4}) "
    echo $JOBNAME " File is nonexist(${INFILE4}) "
    exit ${G_RTN_ERROR}
fi


cat /dev/null > $OUTFILE1

#
#--- 環境変数の設定を行う（出力ファイル情報の設定）
#
export ZTLTMPDIR=${ULD_WORK_DIR}
export ZTLOUTFILE=${OUTFILE1}

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


#
#--- ファイルマッチング処理　※元のＳＱＬのＪＯＩＮ
#
${G_TOOLSH}/util/bin/ZTLMAT01 ${TMPDEFFILE1}

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


#
#--- ファイル定義② （はぴｅポイント有効契約ありファイルと上記マッチング結果を結合する）
#      出力項目：はぴｅ有効契約ありの全項目
#                上記マッチング結果．請求番号
#                上記マッチング結果．請求契約番号
#                上記マッチング結果．請求種別コード
#                上記マッチング結果．サービス契約番号
#                上記マッチング結果．料金コースコード
#                上記マッチング結果．料金サービスコード
#                上記マッチング結果．料金項目コード
#                上記マッチング結果．金額
#      条件    ：上記マッチング結果．請求番号          ＝ はぴｅ有効契約あり．請求番号
#                上記マッチング結果．サービス契約番号  ＝ はぴｅ有効契約あり．サービス契約番号
#
# マッチングおよびマッチングワークファイル
DEFFILE2=${G_TOOLSH}/util/def/AC_CM_0116.def
TMPDEFFILE2=${ULD_WORK_DIR}/AC_CM_0116.tmp.${JOBNAME}.def

cat /dev/null > $OUTFILE2


#
#--- 環境変数の設定を行う（出力ファイル情報の設定）
#
export ZTLTMPDIR=${ULD_WORK_DIR}
export ZTLOUTFILE=${OUTFILE2}

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


#
#--- ファイルマッチング処理　※元のＳＱＬのＪＯＩＮ
#
${G_TOOLSH}/util/bin/ZTLMAT01 ${TMPDEFFILE2}

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


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

exit $exit_rc
