#!/bin/bash
##############################################################
# システム名    ：eo顧客基幹システム
#
# サブシステム名：契約管理
#
# シェル名      ：ブロッキング情報通知メール送信
#
# 機能          ：メールプラットフォーム向けメール連携をFTP転送する。
#
#
# コマンド形式  ：EO2HQ0120J0.sh
#
# 実行環境      ：.../app/shl
#
# 終了ステータス：ゼロ以外異常
#
# 特記事項      ：特になし
#
# 変更履歴      ：変更日      変更者       障害／仕様変更No.
# v49.00.00      2020/03/23   FJ)中原     【ANK-3834-00-00】マルウェアブロッキング
# v54.00.00      2021/06/29   FJ)平野     【ANK-4043-00-00】マルウェアブロッキング送信方法の変更
# v54.00.01      2022/03/08   FJ)星野     【ANK-4069-00-00】バッチ・DBサーバーリプレース対応
##############################################################

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

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

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

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

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

#
#---OPD
#
OPD=$1
########### ANK-4043-00-00 ADD START
#---運用日付(RSLT_OPEDATE)取得
if [ "${OPD}" = "" ];then
  . EOK010310J0.sh "NDATE"
else
   RSLT_OPEDATE="${OPD}"
fi

#---システム日付(RSLT_SYSDATE)をyyyyMMddHHmmss形式で取得
. EOK010410J0.sh 2
########### ANK-4043-00-00 ADD END
#
#---業務で必要な変数定義
#
########### ANK-4043-00-00 ADD START
TXT_FILE=`find ${MID_DIR_KK}/MAILBLK_DAT_*.csv | tail -1`
TXT_FILE2=`find ${MID_DIR_KK}/MAILBLK_DAT_*.csv`
CNT_FILE=`find ${MID_DIR_KK}/ -name MAILBLK_CNT_*`
FLG_FILE=`find ${MID_DIR_KK}/ -name FTP_MAILBLK_*`
# ディレクトリ内のファイル名の下二桁の最小値
minnum="99"
########### ANK-4043-00-00 ADD END
##############################################################
# 業務処理
##############################################################
sh ${G_TOOLSH}/EOK010210J0.sh CS00025I $JOBNAME

#
#--- ファイル定義
#
########### ANK-4043-00-00 MOD START
#KKIFE398_TXT=${GAIBU_SEND_DIR_KK}/KKIFE398/MAILBLKFIM_DAT_*.csv
#KKIFE398_CNT=${GAIBU_SEND_DIR_KK}/KKIFE398/MAILBLKFIM_CNT_*.csv
#KKIFE398_FLG=${GAIBU_SEND_DIR_KK}/KKIFE398/FTP_MAILBLKFIM_*.flg
KKIFE398_TXT=${GAIBU_SEND_DIR_KK}/KKIFE398/MAILBLKFIM_DAT_${RSLT_SYSDATE}.csv
KKIFE398_CNT=${GAIBU_SEND_DIR_KK}/KKIFE398/MAILBLKFIM_CNT_${RSLT_SYSDATE}.csv
KKIFE398_FLG=${GAIBU_SEND_DIR_KK}/KKIFE398/FTP_MAILBLKFIM_${RSLT_SYSDATE}.flg
########### ANK-4043-00-00 MOD END
#---ANK-4043-00-00 DEL START
#
#--- 各ファイルが存在しなければ正常終了する。
#
#if [ ! -r $KKIFE398_TXT} ]
#then
#    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File is nonexist(${KKIFE398_TXT}) "
#    echo $JOBNAME " File is nonexist(${KKIFE398_TXT}) "
#    exit ${G_RTN_ERROR}
#fi
#
#if [ ! -r ${KKIFE398_CNT} ]
#then
#    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File is nonexist(${KKIFE398_CNT}) "
#    echo $JOBNAME " File is nonexist(${KKIFE398_CNT}) "
#    exit ${G_RTN_ERROR}
#fi
#if [ ! -r ${KKIFE398_FLG} ]
#then
#    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File is nonexist(${KKIFE398_FLG}) "
#    echo $JOBNAME " File is nonexist(${KKIFE398_FLG}) "
#    exit ${G_RTN_ERROR}
#fi
########### ANK-4043-00-00 DEL END
########### ANK-4043-00-00 ADD START
#--- ファイルが存在する場合はファイルを抽出して下二桁が一番小さいファイルを割り出す。
#--- ブロッキングメール情報通知メール情報の連番の最小値を割り出す。
if [ -z ${TXT_FILE} ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00026I $JOBNAME " 送信ファイル無しの為、終了 "
    exit ${G_RTN_NORMAL}
else
	for txtfile in ${TXT_FILE2}
    do
      txtfilenum=`echo ${txtfile##*/} | cut -c 13-14`
      if [ ${minnum} -lt ${txtfilenum} ]
      then
          minnum=`echo ${minnum}`
      elif [ ${minnum} -gt ${txtfilenum} ]
      then
      	  
          minnum=`echo ${txtfilenum}`
      fi
    done
    
   #--割り出した最小値を持つファイルを検索
   redatafile=`find ${MID_DIR_KK}/ -name MAILBLK_DAT_${minnum}*`
   recntfile=`find ${MID_DIR_KK}/ -name MAILBLK_CNT_${minnum}*`
   #--そのファイルの名称を変えてsendフォルダに移動
   mv ${redatafile} ${KKIFE398_TXT}
   mv ${recntfile} ${KKIFE398_CNT}
   #--- フラグファイルの作成
   cat /dev/null > ${KKIFE398_FLG}
   rc=$?
   if [ $rc -ne 0 ]
   then
       sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File cat error($KKIFE3#98_FLG:rc=$rc) "
       echo $JOBNAME " File cat error($KKIFE398_FLG:rc=$rc) "
       exit ${G_RTN_ERROR}
   fi
fi
########### ANK-4043-00-00 ADD END
#
#---パラメタ定義
#

P1="OPD=,"
P2="SVCCTL=JBSbatUnitServiceControl,"
P3="JOB=EO2HQ0120J0,"
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=KKIFE398;1;${GAIBU_SEND_DIR_KK}/KKIFE398"
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

# ANK-4069-00-00対応 20220308 星野 DEL START
##
##---ＡＰＬ起動
##
#
#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
#
#if [ $ERR_FLG -eq 0 ]
#then
#    #
#    #--- リストファイルをbkフォルダに退避
#    #
#    if [ ! -e ${GAIBU_SEND_DIR_KK}/KKIFE398/bk ]
#        then
#            mkdir ${GAIBU_SEND_DIR_KK}/KKIFE398/bk
#    fi
#
#    mv ${KKIFE398_TXT} ${GAIBU_SEND_DIR_KK}/KKIFE398/bk/
#    mv ${KKIFE398_CNT} ${GAIBU_SEND_DIR_KK}/KKIFE398/bk/
#    mv ${KKIFE398_FLG} ${GAIBU_SEND_DIR_KK}/KKIFE398/bk/
#fi
## ANK-4069-00-00対応 20220308 星野 DEL END

exit_rc=$rc

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

exit $exit_rc
