#!/bin/bash
##############################################################
# システム名    ：eo顧客基幹システム
#
# サブシステム名：契約管理
#
# シェル名      ：撤去工事完了情報抽出異動予約登録
#
# 機能          ：撤去工事が完了、または解約希望日が到来したサービス契約（MUSe連携以外）の異動予約を更新する。
#
#(1) 撤去工事が完了、または解約希望日が到来したサービス契約（MUSe連携以外）の抽出を行う。
#    ※解約希望日が到来したデータは料金計算日の前日のみ抽出する。
#
#(2) 抽出したデータの解約の異動予約を「未反映」に更新する。
#
#(3) 異動予約を「未反映」に更新したデータを撤去解約対象サービス契約情報ファイルに出力する。
#
#
# コマンド形式  ：EO2920110J0.sh
#
# 実行環境      ：.../app/shl
#
# 終了ステータス：ゼロ以外異常
#
# 特記事項      ：MUSe連携のデータについては、撤去工事完了情報抽出ＭＴ異動予約登録（EO2920610J0）が処理する。
#
# 変更履歴      ：変更日      変更者       障害／仕様変更No.
#                 2013/12/22  FJ)江藤     【OM-2013-0004788】撤去工事依頼中情報ファイルの出力を追加
# v8.00.00        2014/05/10  FJ)阮       【OM-2014-0001812】住所変更中データ抽出SQLのパラメータ追加
# v8.01.00        2014/06/12  FJ)田中     【OM-2014-0002080】住所変更中データ抽出SQLのパラメータ追加
# v14.00.00       2015/05/13  FJ)藤本     【ANK-2460-00-00】【MUSe対応】ＭＴの撤去（解約）変更
# v25.00.00       2016/05/24  FJ)安井     【OM-2016-0001195】料金計算日前日以外の撤去解約対象サービス契約情報連携抑止
# v26.00.00       2016/09/07  FJ)安井     【OM-2016-0001910】撤去解約対象サービス契約情報の連携日を撤去解約日、利用停止日、強制解約日に変更
#
##############################################################

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

#
#---ツール格納場所
#
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
#20131222 OM-2013-0004788 ADD START
#
#---撤去工事依頼中情報ファイル初期化
#
cat /dev/null > ${SEND_DIR}/CHIFI010001.csv
#20131222 OM-2013-0004788 ADD END

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

P1="OPD=,"
P2="SVCCTL=JBSbatMultiServiceControl,"
P3="JOB=EO2920110J0,"
P4="IND1=,"
P5="INF1=,"
P6="IND2=,"
P7="INF2=,"
#20131222 OM-2013-0004788 MOD START
#P8="OTD1=KKIFM106.def,"
#P9="OTF1=,"
P8="OTD1=CHIFI010.def,"
P9="OTF1=${SEND_DIR}/CHIFI010001.csv,"
#20131222 OM-2013-0004788 MOD END
P10="OTD2=,"
P11="OTF2=,"
P12="TABLENAME=KK_T_SVC_KEI,"
P13="SQLKEY=KK_SELECT_078,"
#20140510 OM-2014-0001812 MOD START
#P14="SQLPARAM=SQLPARAM_KEY_OPD_YYYYMMDD;SQLPARAM_KEY_OPD_YYYYMMDD;SQLPARAM_KEY_OPD_YYYYMMDD;SQLPARAM_KEY_OPD_YYYYMMDD;SQLPARAM_KEY_OPD_YYYYMMDD;SQLPARAM_KEY_OPD_YYYYMMDD;SQLPARAM_KEY_OPD_YYYYMMDD;SQLPARAM_KEY_OPD_YYYYMMDD;SQLPARAM_KEY_OPD_YYYYMMDD;SQLPARAM_KEY_OPD_YYYYMMDD;SQLPARAM_KEY_OPD_YYYYMMDD;SQLPARAM_KEY_OPD_YYYYMMDD;SQLPARAM_KEY_OPD_YYYYMMDD;SQLPARAM_KEY_OPD_YYYYMMDD,"
#20140612 OM-2014-0002080 MOD START
#P14="SQLPARAM=SQLPARAM_KEY_OPD_YYYYMMDD;SQLPARAM_KEY_OPD_YYYYMMDD;SQLPARAM_KEY_OPD_YYYYMMDD;SQLPARAM_KEY_OPD_YYYYMMDD;SQLPARAM_KEY_OPD_YYYYMMDD;SQLPARAM_KEY_OPD_YYYYMMDD;SQLPARAM_KEY_OPD_YYYYMMDD;SQLPARAM_KEY_OPD_YYYYMMDD;SQLPARAM_KEY_OPD_YYYYMMDD;SQLPARAM_KEY_OPD_YYYYMMDD;SQLPARAM_KEY_OPD_YYYYMMDD;SQLPARAM_KEY_OPD_YYYYMMDD;SQLPARAM_KEY_OPD_YYYYMMDD;SQLPARAM_KEY_OPD_YYYYMMDD;SQLPARAM_KEY_OPD_YYYYMMDD;SQLPARAM_KEY_OPD_YYYYMMDD,"
P14="SQLPARAM=SQLPARAM_KEY_OPD_YYYYMMDD;SQLPARAM_KEY_OPD_YYYYMMDD;SQLPARAM_KEY_OPD_YYYYMMDD;SQLPARAM_KEY_OPD_YYYYMMDD;SQLPARAM_KEY_OPD_YYYYMMDD;SQLPARAM_KEY_OPD_YYYYMMDD;SQLPARAM_KEY_OPD_YYYYMMDD;SQLPARAM_KEY_OPD_YYYYMMDD;SQLPARAM_KEY_OPD_YYYYMMDD;SQLPARAM_KEY_OPD_YYYYMMDD;SQLPARAM_KEY_OPD_YYYYMMDD;SQLPARAM_KEY_OPD_YYYYMMDD;SQLPARAM_KEY_OPD_YYYYMMDD;SQLPARAM_KEY_OPD_YYYYMMDD;SQLPARAM_KEY_OPD_YYYYMMDD;SQLPARAM_KEY_OPD_YYYYMMDD;SQLPARAM_KEY_OPD_YYYYMMDD;SQLPARAM_KEY_OPD_YYYYMMDD;SQLPARAM_KEY_OPD_YYYYMMDD;SQLPARAM_KEY_OPD_YYYYMMDD,"
#20140612 OM-2014-0002080 MOD END
#20140510 OM-2014-0001812 MOD END
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

#
#---ＡＰＬ起動
#

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

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

#OM-2016-0001910 DEL STA
##--- イベントコード：料金計算日
#EVENT_CD_PRC_CALC_YMD="03"
#OM-2016-0001910 DEL END

#OM-2016-0001910 ADD STA
#--- イベントコード：撤去解約依頼日
EVENT_CD_TEKKYO_DSL_YMD="35"

#--- イベントコード：利用停止処理日
EVENT_CD_USE_STP_YMD="25"

#--- イベントコード：強制解約処理日
EVENT_CD_KYOUSEI_DSL_YMD="26"
#OM-2016-0001910 ADD END

#OM-2016-0001910 DEL STA
##--- 請求年月取得（料金計算日基準）
#. EO3SEIKYYM.sh ${EVENT_CD_PRC_CALC_YMD} ${RSLT_OPEDATE} ${JOBNAME}
#
##--- 料金計算日取得
#. EO3EVENTYMD.sh ${EVENT_CD_PRC_CALC_YMD} ${SEIKY_YM} ${JOBNAME}
#PRC_CALC_YMD=${EVENT_YMD}
#
##--- 料金計算日前日取得
#PRC_CALC_YMD_ZEN=`date -d "${PRC_CALC_YMD} -1 days" +%Y%m%d`
#OM-2016-0001910 DEL END

#OM-2016-0001910 ADD STA
#--- 請求年月取得（撤去解約依頼日基準）
. EO3SEIKYYM.sh ${EVENT_CD_TEKKYO_DSL_YMD} ${RSLT_OPEDATE} ${JOBNAME}

#--- 撤去解約依頼日取得
. EO3EVENTYMD.sh ${EVENT_CD_TEKKYO_DSL_YMD} ${SEIKY_YM} ${JOBNAME}
TEKKYO_DSL_YMD=${EVENT_YMD}

#--- 請求年月取得（利用停止処理日基準）
. EO3SEIKYYM.sh ${EVENT_CD_USE_STP_YMD} ${RSLT_OPEDATE} ${JOBNAME}

#--- 利用停止処理日取得
. EO3EVENTYMD.sh ${EVENT_CD_USE_STP_YMD} ${SEIKY_YM} ${JOBNAME}
USE_STP_YMD=${EVENT_YMD}

#--- 請求年月取得（強制解約処理日基準）
. EO3SEIKYYM.sh ${EVENT_CD_KYOUSEI_DSL_YMD} ${RSLT_OPEDATE} ${JOBNAME}

#--- 強制解約処理日取得
. EO3EVENTYMD.sh ${EVENT_CD_KYOUSEI_DSL_YMD} ${SEIKY_YM} ${JOBNAME}
KYOUSEI_DSL_YMD=${EVENT_YMD}
#OM-2016-0001910 ADD END

#OM-2016-0001910 MOD STA
#if [ ${RSLT_OPEDATE} -ne ${PRC_CALC_YMD_ZEN} ]
#then
if [ ${RSLT_OPEDATE} -ne ${TEKKYO_DSL_YMD} -a ${RSLT_OPEDATE} -ne ${USE_STP_YMD} -a ${RSLT_OPEDATE} -ne ${KYOUSEI_DSL_YMD} ]
then
#OM-2016-0001910 MOD END
   #運用日が撤去解約日、利用停止日、強制解約日以外の場合、撤去解約対象サービス契約情報を初期化
   cat /dev/null > ${SEND_DIR}/CHIFI010001.csv
fi
#OM-2016-0001195 ADD END

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

exit $exit_rc
