#!/bin/bash
##############################################################
# システム名    ：eo顧客基幹システム
#
# サブシステム名：契約管理システム
#
# シェル名      ：CAS未登録ユーザメール送信
#
# 機能          ：で作成したファイルをメールプラットフォームに送信する。
#
# コマンド形式  ：EO2IZ0120J0.sh
#
# 実行環境      ：.../app/shl
#
# 終了ステータス：ゼロ以外異常
#
# 特記事項      ：特になし
#
# 変更履歴      ：変更日      変更者       障害／仕様変更No.
#                2025/05/16   GDC)V.Auditor     ANK-4673-00-00_テレビ新コース（スカパー用）導入対応　2025年6月フォロー案件
#                2025/06/09   FJ)佐々木         IT1-2025-0000026_ファイル未存在時にエラーログが出力される
# v75.00.00      2025/06/10   FJ)星野           ANK-4673-00-00 IT2障害No.22
# v75.00.00      2025/07/04   FJ)菅原           #87572：CAS未登録メール時のCASEファイル名誤り
########################################################################

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

#
#---ツール格納場所
#
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}
else
   RSLT_OPEDATE=${OPD}
fi

#---システム日付(RSLT_SYSDATE)をyyyyMMddHHmmss形式で取得
. EOK010410J0.sh 2
CURRENT_SYSDATE=$RSLT_SYSDATE

#--- ファイル定義
#

#CAS未登録ユーザメール送信ファイル
KKIFE398_DAT_TMP=${MID_DIR_KK}/MAILCSMAUM_DAT_*.csv

KKIFE398_DAT=${GAIBU_SEND_DIR_KK}/KKIFE398/MAILCSMAUM_DAT_${CURRENT_SYSDATE}.csv
KKIFE398_CNT=${GAIBU_SEND_DIR_KK}/KKIFE398/MAILCSMAUM_CNT_${CURRENT_SYSDATE}.csv
KKIFE398_FLG=${GAIBU_SEND_DIR_KK}/KKIFE398/FTP_MAILCSMAUM_${CURRENT_SYSDATE}.flg

#CAS未登録ユーザ送信CASEファイル
CRIFE016_DAT_TMP=${MID_DIR_KK}/CASE_CASMIADD_*.csv

# #87572対応 20250704 MOD START
CRIFE016_DAT=${GAIBU_RECEIVE_DIR_CR}/CRIFE016/CASE_CASMIADD_${CURRENT_SYSDATE}.CSV
CRIFE016_CNT=${GAIBU_RECEIVE_DIR_CR}/CRIFE016/CASE_CASMIADD_${CURRENT_SYSDATE}_CNT.TXT
CRIFE016_FLG=${GAIBU_RECEIVE_DIR_CR}/CRIFE016/CASE_CASMIADD_${CURRENT_SYSDATE}_FTP.FLG
# #87572対応 20250704 MOD END

#
#---業務で必要な変数定義
#
#xxx=xxxxxxx
##############################################################
# 業務処理
##############################################################
sh ${G_TOOLSH}/EOK010210J0.sh CS00025I $JOBNAME

#
#--- 各ファイルの存在チェック
#

# ファイルが存在しない場合、アップロード処理が行われていないため処理をスキップする目的で正常終了する
if [ ! -r ${KKIFE398_DAT_TMP} ]
then
#    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File is nonexist(${KKIFE398_DAT_TMP}) "
    sh ${G_TOOLSH}/EOK010210J0.sh CS00026I $JOBNAME " File is nonexist(${KKIFE398_DAT_TMP}) "
    echo $JOBNAME " File is nonexist(${KKIFE398_DAT_TMP}) "

# ANK-4673-00-00 IT2障害No.22対応 20250610 星野 MOD START
#    exit ${G_RTN_NORMAL}
else

    if [ -e ${KKIFE398_DAT_TMP} ] && [ ! -s ${KKIFE398_DAT_TMP} ]
    then
        sh ${G_TOOLSH}/EOK010210J0.sh CS00026I $JOBNAME " File is empty($KKIFE398_DAT_TMP) "
        echo $JOBNAME " File is empty($KKIFE398_DAT_TMP) "
    else
    
        #--- メール本文の改行コード（CR）を"\n"（文字列）に変換する
        #
        sed 's/\\n$//' ${KKIFE398_DAT_TMP} > ${KKIFE398_DAT}
        rc=$?
        if [ $rc -ne 0 ]
        then
            sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " Replace error($KKIFE398_DAT_TMP:rc=$rc) "
            echo $JOBNAME " Replace error($KKIFE398_DAT_TMP:rc=$rc) "
            exit ${G_RTN_ERROR}
        fi
        
        #
        #--- 件数ファイルの作成
        #
        wc -l ${KKIFE398_DAT} | awk '{printf "\"%05d\"\n",$1}' > ${KKIFE398_CNT}
        rc=$?
        if [ $rc -ne 0 ]
        then
            sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " Count error($KKIFE398_DAT:rc=$rc) "
            echo $JOBNAME " Count error($KKIFE398_DAT:rc=$rc) "
            exit ${G_RTN_ERROR}
        fi
        
        #
        #--- フラグファイルの作成
        #
        cat /dev/null > ${KKIFE398_FLG}
        rc=$?
        if [ $rc -ne 0 ]
        then
            sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File cat error($KKIFE398_FLG:rc=$rc) "
            echo $JOBNAME " File cat error($KKIFE398_FLG:rc=$rc) "
            exit ${G_RTN_ERROR}
        fi
        
        #
        #---中間ファイルの削除
        #
        rm -f ${KKIFE398_DAT_TMP}
        
    fi
# ANK-4673-00-00 IT2障害No.22対応 20250610 星野 MOD END
fi

# ANK-4673-00-00 IT2障害No.22対応 20250610 星野 DEL START
# 上のelseの中に移動
#if [ -e ${KKIFE398_DAT_TMP} ] && [ ! -s ${KKIFE398_DAT_TMP} ]
#then
#    sh ${G_TOOLSH}/EOK010210J0.sh CS00026I $JOBNAME " File is empty($KKIFE398_DAT_TMP) "
#    echo $JOBNAME " File is empty($KKIFE398_DAT_TMP) "
#    exit ${G_RTN_NORMAL}
#fi
# ANK-4673-00-00 IT2障害No.22対応 20250610 星野 DEL END



# ファイルが存在しない場合、アップロード処理が行われていないため処理をスキップする目的で正常終了する
if [ ! -r ${CRIFE016_DAT_TMP} ]
then
#    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File is nonexist(${CRIFE016_DAT_TMP}) "
    sh ${G_TOOLSH}/EOK010210J0.sh CS00026I $JOBNAME " File is nonexist(${CRIFE016_DAT_TMP}) "
    echo $JOBNAME " File is nonexist(${CRIFE016_DAT_TMP}) "
    exit ${G_RTN_NORMAL}
fi

if [ -e ${CRIFE016_DAT_TMP} ] && [ ! -s ${CRIFE016_DAT_TMP} ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00026I $JOBNAME " File is empty($CRIFE016_DAT_TMP) "
    echo $JOBNAME " File is empty($CRIFE016_DAT_TMP) "
    exit ${G_RTN_NORMAL}
fi

#
# ANK-4673-00-00 IT2障害No.22対応 20250610 星野 DEL START
# 上のelseの中に移動
##--- メール本文の改行コード（CR）を"\n"（文字列）に変換する
#sed 's/\\n$//' ${KKIFE398_DAT_TMP} > ${KKIFE398_DAT}
#rc=$?
#if [ $rc -ne 0 ]
#then
#    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " Replace error($KKIFE398_DAT_TMP:rc=$rc) "
#    echo $JOBNAME " Replace error($KKIFE398_DAT_TMP:rc=$rc) "
#    exit ${G_RTN_ERROR}
#fi
# ANK-4673-00-00 IT2障害No.22対応 20250610 星野 DEL END


#--- CASE本文の改行コード（CR）を"\n"（文字列）に変換する
sed 's/\\n$//' ${CRIFE016_DAT_TMP} > ${CRIFE016_DAT}
rc=$?
if [ $rc -ne 0 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " Replace error($CRIFE016_DAT_TMP:rc=$rc) "
    echo $JOBNAME " Replace error($CRIFE016_DAT_TMP:rc=$rc) "
    exit ${G_RTN_ERROR}
fi

# ANK-4673-00-00 IT2障害No.22対応 20250610 星野 DEL START
# 上のelseの中に移動
##
##--- 件数ファイルの作成
##
#wc -l ${KKIFE398_DAT} | awk '{printf "\"%05d\"\n",$1}' > ${KKIFE398_CNT}
#rc=$?
#if [ $rc -ne 0 ]
#then
#    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " Count error($KKIFE398_DAT:rc=$rc) "
#    echo $JOBNAME " Count error($KKIFE398_DAT:rc=$rc) "
#    exit ${G_RTN_ERROR}
#fi
# ANK-4673-00-00 IT2障害No.22対応 20250610 星野 DEL END


#
#--- 件数ファイルの作成
#
wc -l ${CRIFE016_DAT} | awk '{printf "\"%05d\"\n",$1}' > ${CRIFE016_CNT}
rc=$?
if [ $rc -ne 0 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " Count error($CRIFE016_DAT:rc=$rc) "
    echo $JOBNAME " Count error($CRIFE016_DAT:rc=$rc) "
    exit ${G_RTN_ERROR}
fi

# ANK-4673-00-00 IT2障害No.22対応 20250610 星野 DEL START
# 上のelseの中に移動
##
##--- フラグファイルの作成
##
#cat /dev/null > ${KKIFE398_FLG}
#rc=$?
#if [ $rc -ne 0 ]
#then
#    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File cat error($KKIFE398_FLG:rc=$rc) "
#    echo $JOBNAME " File cat error($KKIFE398_FLG:rc=$rc) "
#    exit ${G_RTN_ERROR}
#fi
# ANK-4673-00-00 IT2障害No.22対応 20250610 星野 DEL END

#
#--- フラグファイルの作成
#
cat /dev/null > ${CRIFE016_FLG}
rc=$?
if [ $rc -ne 0 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File cat error($CRIFE016_FLG:rc=$rc) "
    echo $JOBNAME " File cat error($CRIFE016_FLG:rc=$rc) "
    exit ${G_RTN_ERROR}
fi

# ANK-4673-00-00 IT2障害No.22対応 20250610 星野 DEL START
# 上のelseの中に移動
##
##---中間ファイルの削除
##
#rm -f ${KKIFE398_DAT_TMP}
# ANK-4673-00-00 IT2障害No.22対応 20250610 星野 DEL END

#
#---中間ファイルの削除
#
rm -f ${CRIFE016_DAT_TMP}

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

exit $exit_rc
