#!/bin/bash
##############################################################
# システム名    ：eo顧客基幹システム
#
# サブシステム名：料金管理
#
# シェル名      ：提供方式契約設定
#
# 機能          ：マンション営業支援システムのレプリカ情報から
#当日更新されている情報を取得し、相対料金計算対象となるマスタ情報
#（マンション定額料金マスタ）を設定（再設定）する。
#また、再計算向けに設定対象となった提供方式契約番号をファイル出力する。
#
#SQLPARAM
#UPD_DTM：SQLPARAM_KEY_OPD_YYYYMMDD;
#SYS_CD：AC;
#PRC_SVC_SKBT_CD_KIHON：1;
#PRC_SVC_SKBT_CD_HUKA：2;
#PRC_SVC_KANRI_TSTAYMD：${SEIKY_END_YMD};
#PRC_SVC_KANRI_TENDYMD：${SEIKY_END_YMD};
#WORK_PARAM_ID：AC_WKS_MS_ATI_PRC_ST;
#WORK_PARAM_TSTAYMD：SQLPARAM_KEY_OPD_YYYYMMDD;
#WORK_PARAM_TENDYMD：SQLPARAM_KEY_OPD_YYYYMMDD;
#SYS_CD：AC;
#CHSHT_CHG_CD：2;（変換）
#PRC_KMK_CS_CHGE_TSTAYMD：SQLPARAM_KEY_OPD_YYYYMMDD;
#PRC_KMK_CS_CHGE_TENDYMD：SQLPARAM_KEY_OPD_YYYYMMDD;
#
# コマンド形式  ：EO3010910J0.sh
#
# 実行環境      ：.../app/shl
#
# 終了ステータス：ゼロ以外異常
#
# 特記事項      ：特になし
#
# 変更履歴      ：変更日      変更者       障害／仕様変更No.
# v3.00.00        2012/08/15  FJ）岡田     【ST2-2012-0001366】提供方式契約料金TBLの検索条件追加対応
# v3.01.00        2012/10/17  FJ）浜口     【TG1-2012-0000243】提供方式契約スキーマ情報抽出の検索条件修正対応
# v4.00.00        2013/03/12  FJ）浜口     【IT1-2013-0000377】マンション違約金対応に伴い出力ファイルのIDを変更
# v5.00.00        2013/07/29  FJ）狭間     【IG1-2013-0000717】仕様変更によりデータ抽出SQLを修正
# v7.00.00        2014/02/27  FJ）垣内     【OM-2014-0000822】抽出SQLの条件に料金サービス識別コード"2"を追加
# v8.00.00        2014/03/20  FJ)狭間      【TG1-2014-0000005】マンション相対料金設定適用期間制御改善
# v9.00.00        2014/07/09  FJ) 鈴木     【OM-2014-0002312】提供方式契約料金の更新運用年月日には、運用日-1を指定して検索するように修正
##############################################################

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

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

# 2014.07.09 OM-2014-0002312 add start
# "運用日"をいったん退避
OPEDATE=${RSLT_OPEDATE}

# 運用日付の前日取得
. EOK010310J0.sh BDATE DEC 0 0 1
MAEDATE=${RSLT_OPEDATE}

# RSLT_OPEDATE には"運用日"を設定しなおす。
RSLT_OPEDATE=${OPEDATE}

# 2014.07.09 OM-2014-0002312 add end

#- 請求年月取得
EVENT_CD_PRC_CALC="03"
. EO3SEIKYYM.sh ${EVENT_CD_PRC_CALC} ${RSLT_OPEDATE} ${JOBNAME}

#- 月末日取得
EVENT_CD_USE_END="02"
. EO3EVENTYMD.sh ${EVENT_CD_USE_END} ${SEIKY_YM} ${JOBNAME}
USE_END_YMD=${EVENT_YMD}

#手修正あり
### 2014.07.09 OM-2014-0002312 mod start
#
# 提供方式契約料金の更新運用年月日には、運用日-1を指定して検索するように修正
#
#UPD_DTM=SQLPARAM_KEY_OPD_YYYYMMDD
UPD_DTM=${MAEDATE}
# 2014.07.09 OM-2014-0002312 mod end
SYS_CD="AC"
PRC_SVC_SKBT_CD_KIHON="1"
PRC_SVC_SKBT_CD_HUKA="2"
PRC_SVC_KANRI_TSTAYMD=${USE_END_YMD}
PRC_SVC_KANRI_TENDYMD=${USE_END_YMD}
WORK_PARAM_ID="AC_WKS_MS_ATI_PRC_ST"
WORK_PARAM_TSTAYMD=SQLPARAM_KEY_OPD_YYYYMMDD
WORK_PARAM_TENDYMD=SQLPARAM_KEY_OPD_YYYYMMDD
SYS_CD2="AC"
CHSHT_CHG_CD="2"
##############################################################
# 業務処理
##############################################################
sh ${G_TOOLSH}/EOK010210J0.sh CS00025I $JOBNAME

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

P1="OPD=,"
P2="SVCCTL=JBSbatMultiServiceControl,"
P3="JOB=EO3010910J0,"
P4="IND1=,"
P5="INF1=,"
P6="IND2=,"
P7="INF2=,"
P8="OTD1=ACIFM051.def,"
P9="OTF1=${MID_DIR_AC}/ACIFM051009.csv,"
P10="OTD2=,"
P11="OTF2=,"
P12="TABLENAME=KK_T_TK_HOSHIKI_KEI,"
P13="SQLKEY=AC_SELECT_001,"
P14="SQLPARAM=${UPD_DTM};${SYS_CD};${PRC_SVC_SKBT_CD_KIHON};${PRC_SVC_SKBT_CD_HUKA};${PRC_SVC_KANRI_TSTAYMD};${PRC_SVC_KANRI_TENDYMD};${WORK_PARAM_ID};${WORK_PARAM_TSTAYMD};${WORK_PARAM_TENDYMD};${SYS_CD2};${CHSHT_CHG_CD},"
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

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

exit $exit_rc
