#!/bin/bash
##############################################################
# システム名    ：eo顧客基幹システム
#
# サブシステム名：料金管理
#
# シェル名      ：標準工事費残高管理リスト作成
#
# 機能          ：標準工事費残高管理リストを作成する。
#
# コマンド形式  ：EO31R0110J0.sh
#
# 実行環境      ：.../app/shl
#
# 終了ステータス：ゼロ以外異常
#
# 特記事項      ：特になし
#
# 変更履歴      ：変更日      変更者       障害／仕様変更No.
# v54.00.00      2021/08/07   FJ)麻生     【ANK-4098-00-00】標準工事費残高管理対応
# v54.00.01      2021/08/26   FJ)中原     【IT2-2021-0000026】一括の場合、月末サービス開始日では標準工事費残高管理リストが出力されなかった
# v57.00.00      2022/04/13   FJ)麻生     【ANK-4075-06-00】マンション卸回線(WI-FIスキーム)の不備対応（標準工事費残高管理リストから除外）
#
##############################################################

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

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

#---ワークファイル削除モード
WK_RM=true

#
#---運用日付取得
#
if [ "${OPD}" = "" ]; then
   . EOK010310J0.sh "BDATE"
   OPD=${RSLT_OPEDATE}
else
   RSLT_OPEDATE="${OPD}"
fi

#
#---請求年月取得
#
EVENT_CD="21"
. EO3SEIKYYM2.sh ${EVENT_CD} ${OPD} ${JOBNAME}

#---料金計算対象年月初日を取得
SEIKY_YM_FIRST_DAY="${SEIKY_YM}01"

#---今月1日を取得
THIS_MONTH_FIRST_DAY=`date -d "1 month ${SEIKY_YM_FIRST_DAY}" +'%Y%m%d'`

#---料金計算対象年月末日を取得
SEIKY_YM_LAST_DAY=`date -d "1 days ago ${THIS_MONTH_FIRST_DAY}" +'%Y%m%d'`

#
#---ファイル定義
#
DEF_AC_CM_0182=${G_TOOLSH}/util/def/AC_CM_0182.def
DEF_AC_CM_0183=${G_TOOLSH}/util/def/AC_CM_0183.def
DEF_AC_CM_0184=${G_TOOLSH}/util/def/AC_CM_0184.def
DEF_AC_CM_0185=${G_TOOLSH}/util/def/AC_CM_0185.def
DEF_AC_CM_0186=${G_TOOLSH}/util/def/AC_CM_0186.def
DEF_AC_CM_0187=${G_TOOLSH}/util/def/AC_CM_0187.def

#
#---ワークファイル
#
ULD_CH0101_09=${LOC_DIR_AC}/${JOBNAME}_AC_U_CH0101_09.csv
ULD_CH0101_10=${LOC_DIR_AC}/${JOBNAME}_AC_U_CH0101_10.csv
ULD_KK2521_01=${LOC_DIR_AC}/${JOBNAME}_AC_U_KK2521_01.csv
ULD_KK0781_03=${LOC_DIR_AC}/${JOBNAME}_AC_U_KK0781_03.csv
ULD_KK0591_03=${LOC_DIR_AC}/${JOBNAME}_AC_U_KK0591_03.csv
ULD_AC0611_01=${LOC_DIR_AC}/${JOBNAME}_AC_U_AC0611_01.csv
KK3131_WK_01=${LOC_DIR_AC}/${JOBNAME}_KK3131_WK_01.csv
KK2521_INFO_01=${LOC_DIR_AC}/${JOBNAME}_KK2521_01.csv
KK3131_INFO_01=${LOC_DIR_AC}/${JOBNAME}_KK3131_01.csv
KK3131_INFO_02=${LOC_DIR_AC}/${JOBNAME}_KK3131_02.csv
KK3131_INFO_03=${LOC_DIR_AC}/${JOBNAME}_KK3131_03.csv
KK3131_INFO_04=${LOC_DIR_AC}/${JOBNAME}_KK3131_04.csv
KK3131_INFO_05=${LOC_DIR_AC}/${JOBNAME}_KK3131_05.csv
KK3131_INFO_06=${LOC_DIR_AC}/${JOBNAME}_KK3131_06.csv
KK3131_INFO_07=${LOC_DIR_AC}/${JOBNAME}_KK3131_07.csv
KK0781_INFO_01=${LOC_DIR_AC}/${JOBNAME}_KK0781_01.csv
KK0591_INFO_01=${LOC_DIR_AC}/${JOBNAME}_KK0591_01.csv
KK0321_INFO_01=${LOC_DIR_AC}/${JOBNAME}_KK0321_01.csv
CK0011_INFO_01=${LOC_DIR_AC}/${JOBNAME}_CK0011_01.csv
KK0081_INFO_01=${LOC_DIR_AC}/${JOBNAME}_KK0081_01.csv
KU0011_INFO_01=${LOC_DIR_AC}/${JOBNAME}_KU0011_01.csv
KU0081_INFO_01=${LOC_DIR_AC}/${JOBNAME}_KU0081_01.csv

#お客様(カレント)
COMULD2_CK0011_CUR=${MID_DIR_CC}/CCIFM019002.csv
#サービス契約(カレント)
COMULD2_KK0081_CUR=${MID_DIR_CC}/CCIFM020002.csv
#課金先
COMULD2_KK0321_ALL=${MID_DIR_CC}/CCIFM024001.csv
#工事案件
COMULD2_KU0011_ALL=${MID_DIR_CC}/CCIFM034001.csv
#サービス契約_工事案件
COMULD2_KU0081_ALL=${MID_DIR_CC}/CCIFM035001.csv
# 先行処理(EO232013VJ0.sh)で抽出された工事費割賦契約アンロードファイル
KKIFM775001=${MID_DIR_KK}/KKIFM775001_crnt.csv

#アンロードＳＱＬ
SQL_CH0101_09=${SQL_DIR}/AC_U_CH0101_09.sql
SQL_CH0101_09_WRK=${SQL_DIR}/AC_U_CH0101_09_WORK.sql
SQL_CH0101_10=${SQL_DIR}/AC_U_CH0101_10.sql
SQL_CH0101_10_WRK=${SQL_DIR}/AC_U_CH0101_10_WORK.sql
SQL_KK2521_01=${SQL_DIR}/AC_U_KK2521_01.sql
SQL_KK0781_03=${SQL_DIR}/AC_U_KK0781_03.sql
SQL_KK0591_03=${SQL_DIR}/AC_U_KK0591_03.sql
SQL_AC0611_01=${SQL_DIR}/AC_U_AC0611_01.sql
SQL_AC0611_01_WRK=${SQL_DIR}/AC_U_AC0611_01_WORK.sql



#
#---当月請求額を抽出する。※バックグラウンド処理
#--- UNLOAD処理(請求内訳)
#
cp -f ${SQL_CH0101_09} ${SQL_CH0101_09_WRK}
sed -i -e "s/\:SEIKY_YM/'${SEIKY_YM}'/"             ${SQL_CH0101_09_WRK} 
sed -i -e "s/\:TARGET_YMD/'${SEIKY_YM_LAST_DAY}'/"  ${SQL_CH0101_09_WRK} 

sh ${G_TOOLSH}/EOKULD02.sh ${SQL_CH0101_09_WRK} ${ULD_CH0101_09} &

pid_SQL_CH0101_09=$!



#
#---当月残債一括額を抽出する。※バックグラウンド処理
#--- UNLOAD処理(請求内訳)
#
cp -f ${SQL_CH0101_10} ${SQL_CH0101_10_WRK}
sed -i -e "s/\:SEIKY_YM/'${SEIKY_YM}'/"             ${SQL_CH0101_10_WRK} 
sed -i -e "s/\:TARGET_YMD/'${SEIKY_YM_LAST_DAY}'/"  ${SQL_CH0101_10_WRK} 

sh ${G_TOOLSH}/EOKULD02.sh ${SQL_CH0101_10_WRK} ${ULD_CH0101_10} &

pid_SQL_CH0101_10=$!



#
#---割賦プランをアンロードする。
#--- UNLOAD処理(割賦プラン)
#
sh ${G_TOOLSH}/EOKULD02.sh ${SQL_KK2521_01} ${ULD_KK2521_01}

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



#
#---割賦プランを抽出
#   入力
#   0.6     割賦プランコード
#   1.2     割賦販売形態コード
#   2.3     割賦支払い回数
#   3.12    割賦プラン総金額
#   4.8     割賦プラン適用開始年月日
#   5.8     割賦プラン適用終了年月日
#   6.20    宅内機器型式コード
#   7.1     無効フラグ
#   出力
#   0.6     割賦プランコード
#   1.2     割賦販売形態コード
#   2.3     割賦支払い回数
#   3.12    割賦プラン総金額
#   抽出条件
#   4.8     割賦プラン適用開始年月日    ≦  料金計算対象年月末日
#   5.8     割賦プラン適用終了年月日    ≧  料金計算対象年月末日
#   6.20    宅内機器型式コード          ＝  未設定
#   7.1     無効フラグ                  ＝  "0"（有効）
#   ソートキー
#   0.6     割賦プランコード
REC_LEN_KK2521_01=84
bsortex -sort key="0.6asc" -record recform=txtcsv -input file=${ULD_KK2521_01} reclen=${REC_LEN_KK2521_01} \
        include="4.8asc.le.'${SEIKY_YM_LAST_DAY}'.and.5.8asc.ge.'${SEIKY_YM_LAST_DAY}'.and.6.20asc.le.' '.and.7.1asc.eq.'0'" \
 -output file=${KK2521_INFO_01} \
        reconst="0.6,1.2,2.3,3.12"

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



#
#---工事費割賦契約アンロードファイルと割賦プラン情報をマッチング
#

#
#--- 環境変数の設定
#
export ZTLTMPDIR=${ULD_WORK_DIR}
export ZTLOUTFILE=${KK3131_WK_01}
export KK_T_KOJIHI_KAP_KEI=${KKIFM775001}
export KK_M_KAP_PLAN=${KK2521_INFO_01}

#
#--- ファイルマッチング処理
#     ・工事費割賦契約アンロードファイル
#     ・割賦プラン情報
#     ・出力
#           工事費割賦契約アンロードファイル．初回請求サービス契約番号
#           工事費割賦契約アンロードファイル．割賦契約課金開始年月日
#           工事費割賦契約アンロードファイル．割賦契約サービス開始年月日
#           工事費割賦契約アンロードファイル．割賦プランコード
#           工事費割賦契約アンロードファイル．割賦請求済回数
#           工事費割賦契約アンロードファイル．割賦契約ステータス
#           割賦プラン情報．割賦支払い回数
#           割賦プラン情報．割賦プラン総金額
#           割賦プラン情報．割賦販売形態コード
#
${G_TOOLSH}/util/bin/ZTLMAT01 ${DEF_AC_CM_0182}

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



#
#---工事費割賦契約情報（割賦プラン情報付与）を抽出
#   入力
#   0.10    初回請求サービス契約番号
#   1.8     割賦契約課金開始年月日
#   2.8     割賦契約サービス開始年月日
#   3.6     割賦プランコード
#   4.3     割賦請求済回数
#   5.3     割賦契約ステータス
#   6.3     割賦支払い回数
#   7.12    割賦プラン総金額
#   8.2     割賦販売形態コード
#   出力
#   0.10    初回請求サービス契約番号
#   1.8     割賦契約課金開始年月日
#   2.8     割賦契約サービス開始年月日
#   3.6     割賦プランコード
#   4.3     割賦請求済回数
#   6.3     割賦支払い回数
#   7.12    割賦プラン総金額
#   8.2     割賦販売形態コード
#   抽出条件
#   5.3     割賦契約ステータス          ＝  "030"（締結済）
#   AND ((
#   8.2     割賦販売形態コード          ＝  "01"（一括）
#   1.8     割賦契約課金開始年月日  ≦  料金計算対象年月末日
#   ) OR (
#   8.2     割賦販売形態コード          ≠  "01"（一括）
#   2.8     割賦契約サービス開始年月日  ≦  料金計算対象年月末日
#   ))
#   ソートキー
#   0.10    初回請求サービス契約番号
REC_LEN_KK3131_WK_01=82
# IT2-2021-0000026 MOD START
#bsortex -sort key="0.10asc" -record recform=txtcsv -input file=${KK3131_WK_01} reclen=${REC_LEN_KK3131_WK_01} \
#        include="5.3asc.eq.'030'.and.((8.2asc.eq.'01'.and.2.8asc.lt.'${SEIKY_YM_LAST_DAY}').or.(8.2asc.ne.'01'.and.2.8asc.le.'${SEIKY_YM_LAST_DAY}'))" \
# -output file=${KK3131_INFO_01} \
#        reconst="0.10,1.8,2.8,3.6,4.3,6.3,7.12,8.2"
bsortex -sort key="0.10asc" -record recform=txtcsv -input file=${KK3131_WK_01} reclen=${REC_LEN_KK3131_WK_01} \
        include="5.3asc.eq.'030'.and.((8.2asc.eq.'01'.and.1.8asc.le.'${SEIKY_YM_LAST_DAY}').or.(8.2asc.ne.'01'.and.2.8asc.le.'${SEIKY_YM_LAST_DAY}'))" \
 -output file=${KK3131_INFO_01} \
        reconst="0.10,1.8,2.8,3.6,4.3,6.3,7.12,8.2"
# IT2-2021-0000026 MOD END

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



#
#---料金グループをアンロードする。
#--- UNLOAD処理(料金グループ)
#
sh ${G_TOOLSH}/EOKULD02.sh ${SQL_KK0781_03} ${ULD_KK0781_03}

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



#
#---料金グループを抽出
#   入力
#   0.2     料金グループコード
#   1.242   料金グループ名
#   2.8     料金グループ適用開始年月日
#   3.8     料金グループ適用終了年月日
#   4.1     無効フラグ
#   出力
#   0.2     料金グループコード
#   1.242   料金グループ名
#   抽出条件
#   2.8     料金グループ適用開始年月日      ≦  バッチ運用日
#   3.8     料金グループ適用終了年月日      ≧  バッチ運用日
#   4.1     無効フラグ                      ＝  "0"（有効）
#   ソートキー
#   0.2     料金グループコード
REC_LEN_KK0781_03=276
bsortex -sort key="0.2asc" -record recform=txtcsv -input file=${ULD_KK0781_03} reclen=${REC_LEN_KK0781_03} \
        include="2.8asc.le.'${OPD}'.and.3.8asc.ge.'${OPD}'.and.4.1asc.eq.'0'" \
 -output file=${KK0781_INFO_01} \
        reconst="0.2,1.242"

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



#
#---料金プランをアンロードする。
#--- UNLOAD処理(料金プラン)
#
sh ${G_TOOLSH}/EOKULD02.sh ${SQL_KK0591_03} ${ULD_KK0591_03}

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



#
#---料金プランを抽出
#   入力
#   0.3     料金コースコード
#   1.6     料金プランコード
#   2.242   料金プラン名
#   3.8     料金プラン適用開始年月日
#   4.8     料金プラン適用終了年月日
#   5.1     無効フラグ
#   出力
#   0.3     料金コースコード
#   1.6     料金プランコード
#   2.242   料金プラン名
#   抽出条件
#   3.8     料金プラン適用開始年月日        ≦  バッチ運用日
#   4.8     料金プラン適用終了年月日        ≧  バッチ運用日
#   5.1     無効フラグ                      ＝  "0"（有効）
#   ソートキー
#   0.3     料金コースコード
#   1.6     料金プランコード
REC_LEN_KK0591_03=286
bsortex -sort key="0.3asc,1.6asc" -record recform=txtcsv -input file=${ULD_KK0591_03} reclen=${REC_LEN_KK0591_03} \
        include="3.8asc.le.'${OPD}'.and.4.8asc.ge.'${OPD}'.and.5.1asc.eq.'0'" \
 -output file=${KK0591_INFO_01} \
        reconst="0.3,1.6,2.242"

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



#
#---課金先を抽出
#   入力
#   0.10    請求契約番号
#   1.10    サービス契約番号
#   8.8     課金先適用開始年月日
#   9.8     課金先適用終了年月日
#   .....
#   出力
#   0.10    請求契約番号
#   1.10    サービス契約番号
#   抽出条件
#   8.8     課金先適用開始年月日        ≦  バッチ運用日
#   9.8     課金先適用終了年月日        ≧  バッチ運用日
#   1.10    サービス契約番号            ≠  未設定
#   ソートキー
#           なし
bsortex -copy -record recform=txtcsv -input file=${COMULD2_KK0321_ALL} reclen=${ULD2_REC_LEN_KK0321} \
        include="8.8asc.le.'${OPD}'.and.9.8asc.ge.'${OPD}'.and.1.10asc.gt.' '" \
        -output file=${KK0321_INFO_01} reconst="0.10,1.10" &

pid_SORT_KK0321=$!



#
#---お客様を抽出
#   入力
#   0.10    SISID
#   3.1     契約者タイプコード
#   33.2    卸先事業者コード
#   34.1    スキームタイプコード
#   .....
#   出力
#   0.10    SISID
#   3.1     契約者タイプコード
#   抽出条件
#   3.1     契約者タイプコード          ＝  "1"（個人）、"2"（法人）
#   33.2    卸先事業者コード            ＝  未設定
#   34.1    スキームタイプコード        ≠  "A"（Wi-Fiスキーム）、"B"（MT・MZ卸スキーム）
#   ソートキー
#           なし
# v57.00.00 ANK-4075-06-00 MOD START
#bsortex -copy -record recform=txtcsv -input file=${COMULD2_CK0011_CUR} reclen=${ULD2_REC_LEN_CK0011} \
#        include="(3.1asc.eq.'1'.or.3.1asc.eq.'2').and.33.2asc.lt.' '" \
#        -output file=${CK0011_INFO_01} reconst="0.10,3.1" &
bsortex -copy -record recform=txtcsv -input file=${COMULD2_CK0011_CUR} reclen=${ULD2_REC_LEN_CK0011} \
        include="(3.1asc.eq.'1'.or.3.1asc.eq.'2').and.33.2asc.lt.' '.and.34.1asc.ne.'A'.and.34.1asc.ne.'B'" \
        -output file=${CK0011_INFO_01} reconst="0.10,3.1" &
# v57.00.00 ANK-4075-06-00 MOD END

pid_SORT_CK0011=$!



#
#---サービス契約を抽出
#   入力
#   0.10    サービス契約番号
#   3.10    SYSID
#   7.2     料金グループコード
#   8.3     料金コースコード
#   9.6     料金プランコード
#   2.3     サービス契約ステータス
#   30.8    サービス課金終了年月日
#   .....
#   出力
#   0.10    サービス契約番号
#   3.10    SYSID
#   7.2     料金グループコード
#   8.3     料金コースコード
#   9.6     料金プランコード
#   2.3     サービス契約ステータス
#   30.8    サービス課金終了年月日
#   抽出条件
#           なし
#   ソートキー
#           なし
bsortex -copy -record recform=txtcsv -input file=${COMULD2_KK0081_CUR} reclen=${ULD2_REC_LEN_KK0081} \
 -output file=${KK0081_INFO_01} reconst="0.10,3.10,7.2,8.3,9.6,2.3,30.8" &

pid_SORT_KK0081=$!


#
#---ソートの完了を待機
#
wait ${pid_SORT_CK0011}

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

wait ${pid_SORT_KK0321}

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

wait ${pid_SORT_KK0081}

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



#
#---工事費割賦契約情報（割賦プラン情報付与）とサービス契約アンロードファイル等をマッチングして
#   工事費割賦契約情報（サービス契約情報付与）を作成
#

#
#--- 環境変数の設定
#
export ZTLTMPDIR=${ULD_WORK_DIR}
export ZTLOUTFILE=${KK3131_INFO_02}
export KK_T_KOJIHI_KAP_KEI=${KK3131_INFO_01}
export KK_T_SVC_KEI=${KK0081_INFO_01}
export CK_T_CUST=${CK0011_INFO_01}
export KK_T_KAKINS=${KK0321_INFO_01}
export KK_M_PRC_GRP=${KK0781_INFO_01}
export KK_M_PPLAN=${KK0591_INFO_01}

#
#--- ファイルマッチング処理
#     ・工事費割賦契約情報（割賦プラン情報付与）
#     ・サービス契約アンロードファイル
#     ・お客様情報
#     ・課金先情報
#     ・料金グループ情報
#     ・料金プラン情報
#     ・出力
#           工事費割賦契約情報（割賦プラン情報付与）の各項目
#           課金先情報．請求契約番号
#           料金グループ情報．料金グループ名
#           サービス契約アンロードファイル．料金コースコード
#           料金プラン情報．料金プラン名
#           サービス契約アンロードファイル．サービス契約ステータス
#           お客様情報．契約者タイプ
#           サービス契約アンロードファイル．サービス課金終了年月日
${G_TOOLSH}/util/bin/ZTLMAT01 ${DEF_AC_CM_0183}

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



#---当月請求額のアンロードを待機
wait ${pid_SQL_CH0101_09}

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

#
#---工事費割賦契約情報（サービス契約情報付与）と当月請求額情報をマッチングして
#   工事費割賦契約情報（当月請求額情報付与）を作成
#

#
#--- 環境変数の設定
#
export ZTLTMPDIR=${ULD_WORK_DIR}
export ZTLOUTFILE=${KK3131_INFO_03}
export KK_T_KOJIHI_KAP_KEI=${KK3131_INFO_02}
export CH_T_SEIKY_SEIKY_UCWK=${ULD_CH0101_09}

#
#--- ファイルマッチング処理
#     ・工事費割賦契約情報（サービス契約情報付与）
#     ・当月請求額情報
#     ・出力
#           工事費割賦契約情報（サービス契約情報付与）の各項目
#           当月請求額情報．金額
${G_TOOLSH}/util/bin/ZTLMAT01 ${DEF_AC_CM_0184}

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



#---当月残債一括額のアンロードを待機
wait ${pid_SQL_CH0101_10}

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

#
#---工事費割賦契約情報（当月請求額情報付与）と当月残債一括情報をマッチングして
#   工事費割賦契約情報（当月残債一括情報付与）を作成
#

#
#--- 環境変数の設定
#
export ZTLTMPDIR=${ULD_WORK_DIR}
export ZTLOUTFILE=${KK3131_INFO_04}
export KK_T_KOJIHI_KAP_KEI=${KK3131_INFO_03}
export CH_T_SEIKY_SEIKY_UCWK=${ULD_CH0101_10}

#
#--- ファイルマッチング処理
#     ・工事費割賦契約情報（当月残債一括情報付与）
#     ・当月請求額情報
#     ・出力
#           工事費割賦契約情報（当月請求額情報付与）の各項目
#           当月残債一括情報．金額
${G_TOOLSH}/util/bin/ZTLMAT01 ${DEF_AC_CM_0185}

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



#
#---工事案件を抽出
#   入力
#   0.10    工事案件番号
#   12.5    工事受付契機異動区分
#   10.8    工事案件実施年月日
#   .....
#   出力
#   0.10    工事案件番号
#   10.8    工事案件実施年月日
#   抽出条件
#   12.5    工事受付契機異動区分        ＝ "00001"（新規契約）、"00002"（サービス追加）
#   ソートキー
#           なし
bsortex -copy -record recform=txtcsv -input file=${COMULD2_KU0011_ALL} reclen=${ULD2_REC_LEN_KU0011} \
        include="12.5asc.eq.'00001'.or.12.5asc.eq.'00002'" \
        -output file=${KU0011_INFO_01} reconst="0.10,10.8" &

pid_SORT_KU0011=$!



#
#---サービス契約_工事案件を抽出
#   入力
#   0.10    サービス契約番号
#   1.10    工事案件番号
#   .....
#   出力
#   0.10    サービス契約番号
#   1.10    工事案件番号
#   抽出条件
#           なし
#   ソートキー
#           なし
bsortex -copy -record recform=txtcsv -input file=${COMULD2_KU0081_ALL} reclen=${ULD2_REC_LEN_KU0081} \
        -output file=${KU0081_INFO_01} reconst="0.10,1.10" &

pid_SORT_KU0081=$!



#---ソートの完了を待機
wait ${pid_SORT_KU0011}

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

wait ${pid_SORT_KU0081}

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



#
#---工事費割賦契約情報（当月残債一括情報付与）と工事案件情報等をマッチングして
#   工事費割賦契約情報（工事案件情報付与）を作成
#

#
#--- 環境変数の設定
#
export ZTLTMPDIR=${ULD_WORK_DIR}
export ZTLOUTFILE=${KK3131_INFO_05}
export KK_T_KOJIHI_KAP_KEI=${KK3131_INFO_04}
export KU_T_KOJIAK=${KU0011_INFO_01}
export KU_T_SVKEI_KOJIAK=${KU0081_INFO_01}

#
#--- ファイルマッチング処理
#     ・工事費割賦契約情報（当月残債一括情報付与）
#     ・工事案件情報
#     ・サービス契約_工事案件情報
#     ・出力
#           工事費割賦契約情報（当月残債一括情報付与）の各項目
#           工事案件情報．工事案件実施年月日
${G_TOOLSH}/util/bin/ZTLMAT01 ${DEF_AC_CM_0186}

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



#
#---割賦料金を抽出する。
#--- UNLOAD処理(割賦料金)
#
cp -f ${SQL_AC0611_01} ${SQL_AC0611_01_WRK}
sed -i -e "s/\:TARGET_YMD/'${SEIKY_YM_LAST_DAY}'/"  ${SQL_AC0611_01_WRK} 

sh ${G_TOOLSH}/EOKULD02.sh ${SQL_AC0611_01_WRK} ${ULD_AC0611_01}

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



#
#---工事費割賦契約情報（工事案件情報付与）と割賦料金情報をマッチングして
#   工事費割賦契約情報（割賦料金情報付与）を作成
#

#
#--- 環境変数の設定
#
export ZTLTMPDIR=${ULD_WORK_DIR}
export ZTLOUTFILE=${KK3131_INFO_06}
export KK_T_KOJIHI_KAP_KEI=${KK3131_INFO_05}
export AC_M_KAP_PRC=${ULD_AC0611_01}

#
#--- ファイルマッチング処理
#     ・工事費割賦契約情報（工事案件情報付与）
#     ・割賦料金情報
#     ・出力
#           工事費割賦契約情報（工事案件情報付与）の料金コースを除く各項目
#           割賦料金情報．初回料金
#           割賦料金情報．継続料金
${G_TOOLSH}/util/bin/ZTLMAT01 ${DEF_AC_CM_0187}

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



#
#---工事費割賦契約情報（割賦料金情報付与）をソートして工事費割賦契約会計情報を作成
#   入力
#   0.10    初回請求サービス契約番号
#   1.8     割賦契約課金開始年月日
#   5.3     割賦支払い回数
#   .....
#   出力
#   0.10    初回請求サービス契約番号
#   1.8     割賦契約課金開始年月日
#   5.3     割賦支払い回数
#   .....
#   抽出条件
#           なし
#   ソートキー
#   1.6     割賦契約課金開始年月日(上6桁)
#   5.3     割賦支払い回数
#   0.10    初回請求サービス契約番号
REC_LEN_KK3131_06=671
bsortex -sort key="1.6asc,5.3ascn,0.10asc" -record recform=txtcsv -input file=${KK3131_INFO_06} reclen=${REC_LEN_KK3131_06} -output file=${MID_DIR_AC}/ACIFM352001.csv

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



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

P1="OPD=$OPD,"
P2="SVCCTL=JBSbatMultiServiceControl,"
P3="JOB=EO31R0110J0,"
P4="IND1=ACIFM352.def,"
P5="INF1=${MID_DIR_AC}/ACIFM352001.csv,"
P6="IND2=,"
P7="INF2=,"
P8="OTD1=ACIFM353.def,"
P9="OTF1=${MID_DIR_AC}/ACIFM353001.csv,"
P10="OTD2=,"
P11="OTF2=,"
P12="TABLENAME=,"
P13="SQLKEY=,"
P14="SQLPARAM=,"
P15="ERRFILE=,"
P16="RECOVERY=,"
P17="BREAKPTN=,"
P18="FREE=${SEIKY_YM};ACIFM353.def"
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

#
#---ＡＰＬ起動
#

java ${JAVA_OPTION} -jar ${JAR_DIR}/koptBatch.jar $PARA

rc=$?
ERR_FLG=0
if [ $rc -ne 0 ]
then
   if [ $rc -ne 4 ]
   then
       if [ $rc -ne 8 ]
       then
           if [ $rc -ne 127 ]
           then
              sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " PROGRAM Error($SVC program:rc=$rc) "
              echo $JOBNAME " PROGRAM Error($SVC program:rc=$rc) "
              exit ${G_RTN_ERROR}
           fi
       fi
   fi
    ERR_FLG=1
fi

exit_rc=$rc

#ワーク削除
if [ ${WK_RM} = "true" ] ;then 
    rm -f ${ULD_CH0101_09}
    rm -f ${ULD_CH0101_10}
    rm -f ${ULD_KK2521_01}
    rm -f ${ULD_KK0781_03}
    rm -f ${ULD_KK0591_03}
    rm -f ${ULD_AC0611_01}
    rm -f ${KK3131_WK_01}
    rm -f ${KK2521_INFO_01}
    rm -f ${KK3131_INFO_01}
    rm -f ${KK3131_INFO_02}
    rm -f ${KK3131_INFO_03}
    rm -f ${KK3131_INFO_04}
    rm -f ${KK3131_INFO_05}
    rm -f ${KK3131_INFO_06}
    rm -f ${KK3131_INFO_07}
    rm -f ${KK0781_INFO_01}
    rm -f ${KK0591_INFO_01}
    rm -f ${KK0321_INFO_01}
    rm -f ${CK0011_INFO_01}
    rm -f ${KK0081_INFO_01}
    rm -f ${KU0011_INFO_01}
    rm -f ${KU0081_INFO_01}
    rm -f ${SQL_CH0101_09_WRK}
    rm -f ${SQL_CH0101_10_WRK}
    rm -f ${SQL_AC0611_01_WRK}
fi

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

exit $exit_rc
