#!/bin/bash
##############################################################
# システム名    ：eo顧客基幹システム
#
# サブシステム名：契約管理
#
# シェル名      ：解約レター発行ファイル送信
#
# 機能          ：解約レター発行ファイルを作成し守口印刷へ送信する。
#
# JOB=EO2F20110J0（ファイル作成
# JOB=EO2F20210J0（ファイル送信
# ESBファイル転送リモートシェル呼出
# JOB=EO2F20210J0（ファイル送信完了
#
# コマンド形式  ：EO2F20210J0.sh
#
# 実行環境      ：.../app/shl
#
# 終了ステータス：ゼロ以外異常
#
# 特記事項      ：特になし
#
# 変更履歴      ：変更日      変更者       障害／仕様変更No.
# v20.00.00     2015/10/14    FJ)栗秋     ANK-2617-00-00_YSDへのＨＵＬＦＴ連携巻き取り対応
# v20.00.01     2015/11/19    FJ)栗秋     ST-2015-0000065
# v28.00.00     2017/01/23    FJ)大山    【ANK-3137-00-00】ｅｏ顧客基幹システム２拠点化対応　切替に伴う動作確認・切替支援、ＷＡＦチューニング他の実施
# v28.00.01     2017/02/20    FJ)大山    【ANK-3137-02-00】ｅｏ顧客基幹システム２拠点化対応　切替に伴う動作確認・切替支援、ＷＡＦチューニング他の実施
# v54.00.00       2021/09/11  FJ)星野      【ANK-4069-00-00】EOL対応(バッチ・DBサーバリプレース対応)
# v54.00.01       2021/12/07  FJ)星野      【ANK-4069-00-00】EOL対応(バッチ・DBサーバリプレース対応) 不要なrmの削除
# v54.00.01     2021/10/18    FJ)寺川    【ANK-4069-00-00】EOL対応(バッチ・DBサーバリプレース対応)
# v57.00.00     2022/03/07    FJ)寺川    【ANK-4069-04-00】EOL対応(バッチ・DBサーバリプレース対応) 
##############################################################

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

#
#---ツール格納場所
#
G_TOOLSH=.

#
#---環境変数定義Shell呼び出し
#
. EOK010110J0.sh

#
#---ＪＯＢ名
#
JOBNAME=`basename $0 | sed -e "s/\.sh//g"`

#
#---サービス（業務プロセス）
#
SVC=$JOBNAME

#
#---OPD
#
OPD=$1

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

#
#---業務で必要な変数定義
#
IFFILE1="KKIFE319"
#

# ANK-4069-00-00対応 20211018 寺川 ADD START
#社外連携イベントID
EVENT_ID_KKIFE319=${SHAGAI_EVENT_ID_KKIFE319}

#OBSジョブマネージャホスト
OBS_HOST=${SHAGAI_OBS_HOST}
# ANK-4069-00-00対応 20211018 寺川 ADD END

##############################################################
# 業務処理
##############################################################
sh ${G_TOOLSH}/EOK010210J0.sh CS00025I $JOBNAME

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

P1="OPD=$OPD,"
P2="SVCCTL=JBSbatUnitServiceControl,"
P3="JOB=EO2F20110J0,"
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=${IFFILE1};${GAIBU_SEND_DIR_KK};"
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
# ST-2015-0000065 障害対応 2015/11/19 栗秋 MOD START
#   rm ${GAIBU_SEND_DIR_KK}/${IFFILE1}/*.csv
   rm ${GAIBU_SEND_DIR_KK}/${IFFILE1}/*.txt
# ST-2015-0000065 障害対応 2015/11/19 栗秋 MOD END
   if [ $rc -ne 4 ]
   then
       if [ $rc -ne 8 ]
       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
    ERR_FLG=1
fi

if [ $ERR_FLG -ne 0 ]
then
   #リトライ回数設定ファイル作成
   . EOK120130J0.sh $JOBNAME
   exit ${ERR_FLG}
fi


# フォルダ配下にあるファイル名の年月日が小さいものから処理を実行する
# ST-2015-0000065 障害対応 2015/11/19 栗秋 MOD START
#for SEND_FILE in $(find ${GAIBU_SEND_DIR_KK}/${IFFILE1}/ -maxdepth 1 -name "*.csv" | sort)
for SEND_FILE in $(find ${GAIBU_SEND_DIR_KK}/${IFFILE1}/ -maxdepth 1 -name "*.txt" | sort)
# ST-2015-0000065 障害対応 2015/11/19 栗秋 MOD END
do

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

P1="OPD=$OPD,"
P2="SVCCTL=JBSbatUnitServiceControl,"
P3="JOB=EO2F20210J0,"
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=${IFFILE1};${SEND_FILE};0;"
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
   ERR_FLG=1
# ST-2015-0000065 障害対応 2015/11/19 栗秋 MOD START
#   rm ${GAIBU_SEND_DIR_KK}/${IFFILE1}/*.csv
   rm ${GAIBU_SEND_DIR_KK}/${IFFILE1}/*.txt
# ST-2015-0000065 障害対応 2015/11/19 栗秋 MOD END
   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
else
    # 正常終了の場合
	#
	# ファイル転送シェル呼出
	#
# ANK-4069-00-00対応 20210906 星野 MOD START
## ANK-3137-00-00 MOD START
##	sh ${G_TOOLSH}/EOLESBFRMT.sh $IFFILE1 $JOBNAME
## ANK-3137-02-00 MOD START
##	sh ${G_TOOLSH}/EOLESBFRMT_OLD.sh $IFFILE1 $JOBNAME
#	sh ${G_TOOLSH}/EOLESBFRMT.sh $IFFILE1 $JOBNAME
## ANK-3137-02-00 MOD END
## ANK-3137-00-00 MOD END
	sh ${G_TRANSFERSH}/EOL000002J0.sh $IFFILE1
# ANK-4069-00-00対応 20210906 星野 MOD END
	ERR_FLG=$?
	if [ $ERR_FLG -ne 0 ]
	then
# ST-2015-0000065 障害対応 2015/11/19 栗秋 MOD START
#       rm ${GAIBU_SEND_DIR_KK}/${IFFILE1}/*.csv
       rm ${GAIBU_SEND_DIR_KK}/${IFFILE1}/*.txt
# ST-2015-0000065 障害対応 2015/11/19 栗秋 MOD END
	   #エラーログ出力
# ANK-4069-00-00対応 20210906 星野 MOD START
#	   sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME "ESBファイル転送リモートシェルでエラーが発生しました　外部インタフェースID：$IFFILE1"
	   sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME "ファイル転送シェルでエラーが発生しました　外部インタフェースID：$IFFILE1"
# ANK-4069-00-00対応 20210906 星野 MOD END
	   
	   #リトライ回数設定ファイル作成
	   . EOK120130J0.sh $JOBNAME
	   exit ${ERR_FLG}
	fi

# ANK-4069-00-00対応 20211018 寺川 ADD START
if [ $ERR_FLG -eq 0 ]
then
# ANK-4069-04-00対応 20220307 寺川 ADD START
	#
	# 社外連携イベント発行前ログ出力
	#
	sh ${G_TOOLSH}/EOK010210J0.sh CS00031I $JOBNAME "社外連携イベントID($EVENT_ID_KKIFE319) ホスト名($OBS_HOST)"
# ANK-4069-04-00対応 20220307 寺川 ADD END
	#
	#社外連携イベント発行
	#
	/opt/jp1base/bin/jevsend -i $EVENT_ID_KKIFE319 -d $OBS_HOST
fi
# ANK-4069-00-00対応 20211018 寺川 ADD END

	#
	#---パラメタ定義
	#
	P1="OPD=$OPD,"
	P2="SVCCTL=JBSbatUnitServiceControl,"
	P3="JOB=EO2F20210J0,"
	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=${IFFILE1};${SEND_FILE};1;"
	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=$?
	if [ $rc -ne 0 ]
	then
       ERR_FLG=1
# ST-2015-0000065 障害対応 2015/11/19 栗秋 MOD START
#       rm ${GAIBU_SEND_DIR_KK}/${IFFILE1}/*.csv
       rm ${GAIBU_SEND_DIR_KK}/${IFFILE1}/*.txt
# ST-2015-0000065 障害対応 2015/11/19 栗秋 MOD END
	   if [ $rc -ne 4 ]
	   then
	       if [ $rc -ne 8 ]
	       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
fi


#--- ANK-4069-00-00 DEL START
##送信完了ファイルを削除
## ST-2015-0000065 障害対応 2015/11/19 栗秋 MOD START
##rm ${GAIBU_SEND_DIR_KK}/${IFFILE1}/${IFFILE1}.csv
#rm ${GAIBU_SEND_DIR_KK}/${IFFILE1}/${IFFILE1}.txt
## ST-2015-0000065 障害対応 2015/11/19 栗秋 MOD END
#--- ANK-4069-00-00 DEL END

# 正常終了でない場合は次のファイルは処理しない
if [ $ERR_FLG -ne 0 ]
then
    break
fi

done

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

#リトライ回数設定ファイルを削除
. EOK120140J0.sh $JOBNAME

if [ $ERR_FLG -ne 0 ]
then
   exit ${G_RTN_ERROR}
else
   exit ${G_RTN_NORMAL}
fi
