#!/bin/bash
##############################################################
# システム名    ：eo顧客基幹システム
#
# サブシステム名：契約管理
#
# シェル名      ：スマートバリュー申込情報取込反映
#
# 機能          ：KDDIから受信したスマートバリュー申込情報ファイルをもとに、スマートバリュー情報の登録、または解約を行い、処理結果をスマートバリュー申込結果ファイルに出力する。
#
# コマンド形式  ：EO2GQ0110J0.sh
#
# 実行環境      ：.../app/shl
#
# 終了ステータス：ゼロ以外異常
#
# 特記事項      ：特になし
#
# 変更履歴      ：変更日      変更者       障害／仕様変更No.
# v1.00.00        XXXX/XX/XX               新規作成
# v10.00.00       2014/07/16  FJ)谷口      【ANK-1918-00-00】ＵＳ管理Ｓ向けｅｏ顧客ＳのＩ／Ｆ改修
##############################################################

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

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

GET_FILE_FLG=ft902003.                                  # フラグファイル名（タイムスタンプを除く）
GET_FILE_FLG_LENGTH=`echo ${GET_FILE_FLG} | wc -m`      # フラグファイル名の長さ
DIR_LENGTH=`echo ${GAIBU_RECEIVE_DIR_KK}/KKIFE201 | wc -m`      # ディレクトリ名の長さ

## フラグファイルが存在する場合のみ処理を実行する
if ls ${GAIBU_RECEIVE_DIR_KK}/KKIFE201/${GET_FILE_FLG}*.flg > /dev/null 2>&1
then
    for i in `ls ${GAIBU_RECEIVE_DIR_KK}/KKIFE201/${GET_FILE_FLG}*.flg`
    do
        ## フラグファイル名の年月日時分を取得
        DATETIME_START=`expr ${DIR_LENGTH} + ${GET_FILE_FLG_LENGTH}`
        DATETIME_END=`expr ${DATETIME_START} + 11`
        DATETIME=`echo $i | cut -b ${DATETIME_START}-${DATETIME_END}`

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

        P1="OPD=,"
        P2="SVCCTL=JBSbatMultiServiceControl,"
        P3="JOB=EO2GQ0110J0,"
        P4="IND1=KKIFE201.def,"
        P5="INF1=${GAIBU_RECEIVE_DIR_KK}/KKIFE201/ft902003.${DATETIME},"
        P6="IND2=,"
        P7="INF2=,"
        P8="OTD1=KKIFM249.def,"
        P9="OTF1=${MID_DIR_KK}/KKIFM249001.${DATETIME},"
# ANK-1918-00-00 2014/07/16 MOD START
#        P10="OTD2=,"
#        P11="OTF2=,"
        P10="OTD2=KKIFM603.def,"
        P11="OTF2=${MID_DIR_KK}/KKIFM603001_${DATETIME}.csv,"
# ANK-1918-00-00 2014/07/16 MOD END
        P12="TABLENAME=,"
        P13="SQLKEY=,"
        P14="SQLPARAM=,"
        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
            # 正常以外の場合、申込結果ファイルを削除
            rm -f ${MID_DIR_KK}/KKIFM249001.${DATETIME}
            # ANK-1918-00-00 2014/07/16 ADD START
            rm -f ${MID_DIR_KK}/KKIFM603001_${DATETIME}.csv
            # ANK-1918-00-00 2014/07/16 ADD END
            ERR_FLG=1
            # 正常以外の場合、次のファイルは処理しない
            break
        else
            # 正常の場合、バックアップディレクトリに移動
            mv ${GAIBU_RECEIVE_DIR_KK}/KKIFE201/${GET_FILE_FLG}${DATETIME}.flg ${GAIBU_RECEIVE_DIR_KK}/KKIFE201/bk/${GET_FILE_FLG}${DATETIME}.flg
            mv ${GAIBU_RECEIVE_DIR_KK}/KKIFE201/ft902003.${DATETIME} ${GAIBU_RECEIVE_DIR_KK}/KKIFE201/bk/ft902003.${DATETIME}
        fi
    done
else
    echo $JOBNAME " ファイルが存在しません。 "
fi

exit_rc=$rc

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

exit $exit_rc
