#!/bin/bash
##############################################################
# システム名    ：eo顧客基幹システム
#
# サブシステム名：契約管理
#
# サブシェル名  ：加入御礼書受信ファイル移動
#
# 機能          ：加入御礼書受信ファイルを移動する。
#
# コマンド形式  ：EO2051310J0.sh
#
# 実行環境      ：.../app/shl
#
# 終了ステータス：ゼロ以外異常
#
# 特記事項      ：特になし
#
# 変更履歴      ：変更日      変更者       障害／仕様変更No.
# v5.00.00      2013/09/03    FJ)鈴木     【OM-2013-0000198】新規作成
# v5.01.00      2013/09/09    FJ)坂東     【IT1-2013-0001628】受信ファイルが0バイトのrm処理追加
#-------------------------------------------------------------
# 以降、常駐バッチからJP1呼出しに変更(EO2051310K0.shを元に作成)
# v13.00.00     2015/03/19    FJ)田枝     【IT1-2015-0000029】新規作成
#
##############################################################

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

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

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

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

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

#
#---OPD
#
OPD=$1

#
#---業務で必要な変数定義
#
# 加入御礼書 受信ファイル
RECEIVE_FILE142="${GAIBU_RECEIVE_DIR_KK}/KKIFE142/KKIFE142001.txt"
RECEIVE_FILE143="${GAIBU_RECEIVE_DIR_KK}/KKIFE143/KKIFE143001.txt"
RECEIVE_FILE144="${GAIBU_RECEIVE_DIR_KK}/KKIFE144/KKIFE144001.txt"

# リネーム後のファイル名
RECEIVE_FILE142_RN="${GAIBU_RECEIVE_DIR_KK}/KKIFE142/bk/KKIFE142001.txt"
RECEIVE_FILE143_RN="${GAIBU_RECEIVE_DIR_KK}/KKIFE143/bk/KKIFE143001.txt"
RECEIVE_FILE144_RN="${GAIBU_RECEIVE_DIR_KK}/KKIFE144/bk/KKIFE144001.txt"

#
#---ファイル移動関数定義---
#
function filemove () {
from=$1
to=$2

# ファイルがなければ何もしない
if [ ! -f ${from} ]; then
   return 0
fi

#IT1-2013-0001628 Add Start
# コマンド 1:mv 2:rm
cmdflg=1

# 転送先ファイルがなければmvする
if [ ! -f ${to} ]; then
   cmdflg=1
elif [ ! -s ${from} ]; then
   # 転送元ファイルが0バイトの場合
   if [ -s ${to} ]; then
      # 転送先ファイルが0バイトでない場合rmする
      cmdflg=2
   fi
fi

#IT1-2013-0001628 Add End
#IT1-2013-0001628 Mod Start
#mv -f ${from} ${to}
# mv rm を切り分ける
if [ $cmdflg -eq 1 ]; then
   mv -f ${from} ${to}
else
   rm -f ${from}
   rc=$?
   if [ $rc -ne 0 ] ; then
       # スリープしてリトライ
       echo "rm error. rc=$rc  retry1.."
       sleep 10
       rm -f ${from}
   fi
   return 0
fi
#IT1-2013-0001628 Mod End
rc=$?
if [ $rc -ne 0 ] ; then
    # スリープしてリトライ
    echo "mv error. rc=$rc  retry1.."
    sleep 5
    mv -f ${from} ${to}

    rc=$?
    if [ $rc -ne 0 ] ; then
      # スリープしてリトライ
      echo "mv error. rc=$rc  retry2.."
      sleep 5
      mv -f ${from} ${to}
    fi
fi
return 0
}

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

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

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

sh ${G_TOOLSH}/EOK010210J0.sh CS00027I $JOBNAME

#
#--- ファイルをリネームする。
#
filemove ${RECEIVE_FILE142} ${RECEIVE_FILE142_RN}
filemove ${RECEIVE_FILE143} ${RECEIVE_FILE143_RN}
filemove ${RECEIVE_FILE144} ${RECEIVE_FILE144_RN}

#exit_rc=0

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

exit ${G_RTN_NORMAL}
