#!/bin/bash
##############################################################
# システム名    ：eo顧客基幹システム
#
# サブシステム名：契約管理
#
# シェル名      ：加入御礼書発行
#
# サブシェル名  ：加入御礼管理データ抽出
#               ：加入御礼書データマージ
#               ：契約内容通知書データ作成
#               ：加入御礼管理抽出結果更新
#               ：加入御礼管理更新（追加）
#               ：加入御礼管理更新（削除）
#               ：契約内容通知対象契約抽出・編集バッチ呼び出し処理
#               ：契約内容通知書ファイル作成
#
# 機能          ：加入御礼管理データ抽出
#                 ・加入御礼書作成対象となるデータを抽出しファイルを作成する。
#               ：加入御礼書データマージ
#                 ・加入御礼管理データを元に回線単位で集約した加入御礼書マージファイル（回線別）を作成する。
#               ：契約内容通知書データ作成
#                 ・「加入御礼管理データ抽出」により作成されたファイルを用いて契約内容通知書データの作成を行う。
#               ：加入御礼管理抽出結果更新
#                 ・加入御礼管理データ抽出で作成したデータを元にサービス契約を更新する。
#               ：加入御礼管理更新（追加）
#                 ・加入御礼管理データ抽出で作成したデータを加入御礼書発行スキーマに追加する。
#               ：加入御礼管理更新（削除）
#                 ・加入御礼書発行スキーマから一定期間経過後の処理済データを削除する。
#               ：契約内容通知対象契約抽出・編集バッチ呼び出し処理
#                 ・契約内容通知対象契約抽出と契約内容通知対象契約編集機能を呼び出す。
#               ：契約内容通知書ファイル作成
#                 ・契約内容通知書ファイル抽出、契約内容通知書抽出結果更新と契約内容通知書ファイル送信を呼び出す。
#				:契約内容通知対象抽出後処理（EO2FA0C10D0）
#				  ・契約内容通知対象抽出後処理を呼び出す。
# コマンド形式  ：EO2050110J0.sh
#
# 実行環境      ：.../app/shl
#
# 終了ステータス：ゼロ以外異常
#
# 特記事項      ：特になし
#
# 変更履歴      ：変更日      変更者       障害／仕様変更No.
# v4.00         2012/08/31    FJ)井熊      ディレイド方式変更
# v4.01         2012/11/21    FJ)井熊      【TAI-2012-0000135】サブシェル化対応
# v4.02         2012/12/30    FJ)井熊      【IT2-2012-0002601】ディレイド処理結果反映対応
# v4.03         2012/12/30    FJ)井熊      【ST3-2013-0000080】二重起動抑止対応
# v4.04         2013/02/07    FJ)砂川      【ST1-2013-0000271】中間ファイルにタイムスタンプを付与し、正常終了時に削除する対応
# v5.01         2013/08/28    FJ)鈴木      【OM-2013-0001114】二重起動チェックを修正
# v7.00         2014/03/12    FJ)出羽      【OM-2014-0001132】抽出前にディレイド依頼チェック追加（無駄削減）
# v23.00        2016/01/19    FJ)原田      【ANK-2737-00-00】 消費者保護ルール見直し対応
# v23.01        2016/02/10    FJ)原田      【ANK-2737-00-00】 消費者保護ルール見直し対応
# v27.00        2016/08/31    FJ)中原      【ANK-2985-00-00】 消費者保護ルール見直し追加対応STEP3
# v27.00        2016/09/21    FJ)笠川      【ANK-2985-00-00】 消費者保護ルール見直し追加対応STEP3
# v53.00.00     2021/04/20    GDC)ジョバニー [ANK-4009-00-00]CX戦略WG方針対応（異動シェア分・バッチ）
#
##############################################################

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

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

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

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

#
#---変数
#
CHECK_FILE=${MID_DIR_KK}/1_$JOBNAME.flg

# v7.00 2014/03/12 OM-2014-0001132 add start
DELAYED_CHECK_FILE=${MID_DIR_KK}/DELAYED_$JOBNAME.flg
# v7.00 2014/03/12 OM-2014-0001132 add end

FLG_CODE=
BUF=0
### 2013.08.28 OM-2013-0001114 add start
DOUBLE_START_CHECK_FILE=${MID_DIR_KK}/DBL_$JOBNAME.flg
### 2013.08.28 OM-2013-0001114 add end
##############################################################
# 業務処理
##############################################################
sh ${G_TOOLSH}/EOK010210J0.sh CS00025I $JOBNAME

. EOK010410J0.sh 1

TIME_STR=${RSLT_SYSDATE}
#
# ディレイド方式
#
# 最初に呼ばれるサブシェルでディレイド処理依頼を確認する。
# 確認用にサブシェルのフリーパラメータにJOBNAMEを渡す。
# 確認結果はフラグファイルに出力する。
#
# ２つ目以降のサブシェルは前処理のリターンコードが
# G_RTN_NORMAL、G_RTN_WARNの場合のみ実行する。
#
# 最後のＪＯＢでディレイド処理結果依頼をリターンコードに合わせて更新を行う。
# フリーパラメータにJOBNAME、リターンコードを渡す。
#

#
#--- 二重起動チェック
#
### 2013.08.28 OM-2013-0001114 del start
##if [ $$ != `pgrep -fxo "sh $0"` ] ; then
## echo $JOBNAME is already running !!
## sh ${G_TOOLSH}/EOK010210J0.sh CS00026I $JOBNAME
## exit $G_RTN_ERROR
##fi
### 2013.08.28 OM-2013-0001114 del end

### 2013.08.28 OM-2013-0001114 add start
#
#--- 二重起動チェック
#
if [ -f ${DOUBLE_START_CHECK_FILE} ] ; then
  echo "$JOBNAME is already running !!!"
  sh ${G_TOOLSH}/EOK010210J0.sh CS00026I $JOBNAME
  exit ${G_RTN_NORMAL}
fi

##################################
# 二重起動チェック用ファイル作成 #
##################################
touch ${DOUBLE_START_CHECK_FILE}

### 2013.08.28 OM-2013-0001114 add end

# v7.00 2014/03/12 OM-2014-0001132 add start
#--- サブシェル呼び出し ---
#--- ディレイド処理依頼有無チェック
sh ${G_TOOLSH}/EO22V0510D0.sh $JOBNAME $DELAYED_CHECK_FILE $TIME_STR
ERR_FLG=$?
if [ $ERR_FLG -eq $G_RTN_NORMAL ] ; then
  echo " DEBUG_MSG Start running JOB EO2050111D0 by code:$ERR_FLG "
else
  rm -f ${DELAYED_CHECK_FILE} > /dev/null 2>&1
  rm -f ${DOUBLE_START_CHECK_FILE} > /dev/null 2>&1
  echo " DEBUG_MSG Skip JOB EO2050111D0 by code:$ERR_FLG "
  exit ${ERR_FLG}
fi

#
#--- ディレイド処理依頼フラグファイル確認
#
if [ -r ${DELAYED_CHECK_FILE} ] ; then
  DELAYED_FLG=`cat ${DELAYED_CHECK_FILE} | tail -1`
  rm -f ${DELAYED_CHECK_FILE} > /dev/null 2>&1
  if [ $DELAYED_FLG -eq 0 ] ; then
    echo $JOBNAME '0.Not such a Order'
##################################
# 二重起動チェック用ファイル削除 #
##################################
    rm -f ${DOUBLE_START_CHECK_FILE} > /dev/null 2>&1
    echo "0. remove DOUBLE_START_CHECK_FILE: ${DOUBLE_START_CHECK_FILE} OK."
    sh ${G_TOOLSH}/EOK010210J0.sh CS00026I $JOBNAME
    exit ${G_RTN_NORMAL}
  fi
fi
# v7.00 2014/03/12 OM-2014-0001132 add end

##########################
# デバッグ用スリープ5秒 #
##########################
#sleep 5

#
#--- サブシェル呼び出し ---
#

#--- 加入御礼管理データ抽出 ---
sh ${G_TOOLSH}/EO2050111D0.sh $JOBNAME $CHECK_FILE $TIME_STR
ERR_FLG=$?


# v7.00 2014/03/12 OM-2014-0001132 del start
#
#--- ディレイド処理依頼フラグファイル確認
#
#if [ -r $CHECK_FILE ] ; then
#  FLG_CODE=`cat $CHECK_FILE | tail -1`
#  if [ $FLG_CODE -eq 0 ] ; then
#    echo $JOBNAME 'Not such a Order'
#    rm -f $CHECK_FILE
#### 2013.08.28 OM-2013-0001114 add start
###################################
## 二重起動チェック用ファイル削除 #
###################################
#    rm -f ${DOUBLE_START_CHECK_FILE} > /dev/null 2>&1
#    echo "1. remove DOUBLE_START_CHECK_FILE: ${DOUBLE_START_CHECK_FILE} OK."
#### 2013.08.28 OM-2013-0001114 add end
#    exit ${G_RTN_NORMAL}
#  fi
#fi
# v7.00 2014/03/12 OM-2014-0001132 del end

# v7.00 2014/03/12 OM-2014-0001132 add start
# 存在しないはずだが念のためファイル削除
rm -f $CHECK_FILE > /dev/null 2>&1
# v7.00 2014/03/12 OM-2014-0001132 add end

# ANK-2737-00-00 ADD START
#--- 加入御礼書データマージ ---
#  G_RTN_NORMAL、G_RTN_WARNのみ実行
if [ $ERR_FLG -eq $G_RTN_NORMAL -o $ERR_FLG -eq $G_RTN_WARN ] ; then
  echo " DEBUG_MSG Start running JOB EO2FA1010D0 by code:$ERR_FLG "
  sh ${G_TOOLSH}/EO2FA1010D0.sh $TIME_STR
  BUF=$?
  if [ $ERR_FLG -lt $BUF ] ; then
      ERR_FLG=$BUF
  fi
else
  echo " DEBUG_MSG Skip JOB EO2FA1010D0 by code:$ERR_FLG "
fi

#--- 契約内容通知書データ作成 ---
#  G_RTN_NORMAL、G_RTN_WARNのみ実行
if [ $ERR_FLG -eq $G_RTN_NORMAL -o $ERR_FLG -eq $G_RTN_WARN ] ; then
  echo " DEBUG_MSG Start running JOB EO2FA1020D0 by code:$ERR_FLG "
  sh ${G_TOOLSH}/EO2FA1020D0.sh
  BUF=$?
  if [ $ERR_FLG -lt $BUF ] ; then
      ERR_FLG=$BUF
  fi
else
  echo " DEBUG_MSG Skip JOB EO2FA1020D0 by code:$ERR_FLG "
fi
# ANK-2737-00-00 ADD END

#--- 加入御礼管理抽出結果更新 ---
#  G_RTN_NORMAL、G_RTN_WARNのみ実行
if [ $ERR_FLG -eq $G_RTN_NORMAL -o $ERR_FLG -eq $G_RTN_WARN ] ; then
  echo " DEBUG_MSG Start running JOB EO2050112D0 by code:$ERR_FLG "
  sh ${G_TOOLSH}/EO2050112D0.sh $TIME_STR
  BUF=$?
  if [ $ERR_FLG -lt $BUF ] ; then
      ERR_FLG=$BUF
  fi
else
  echo " DEBUG_MSG Skip JOB EO2050112D0 by code:$ERR_FLG "
fi

#--- 加入御礼管理更新（追加） ---
#  G_RTN_NORMAL、G_RTN_WARNのみ実行
if [ $ERR_FLG -eq $G_RTN_NORMAL -o $ERR_FLG -eq $G_RTN_WARN ] ; then
  echo " DEBUG_MSG Start running JOB EO2050113D0 by code:$ERR_FLG "
  sh ${G_TOOLSH}/EO2050113D0.sh $TIME_STR
  BUF=$?
  if [ $ERR_FLG -lt $BUF ] ; then
      ERR_FLG=$BUF
  fi
else
  echo " DEBUG_MSG Skip JOB EO2050113D0 by code:$ERR_FLG "
fi

#--- 加入御礼管理更新（削除） ---
echo " DEBUG_MSG Start running JOB EO2050114D0 by code:$ERR_FLG "
sh ${G_TOOLSH}/EO2050114D0.sh $JOBNAME $ERR_FLG
BUF=$?
if [ $ERR_FLG -lt $BUF ] ; then
    ERR_FLG=$BUF
fi

### 2013.08.28 OM-2013-0001114 add start
##################################
# 二重起動チェック用ファイル削除 #
##################################
rm -f ${DOUBLE_START_CHECK_FILE} > /dev/null 2>&1
echo "2. remove DOUBLE_START_CHECK_FILE: ${DOUBLE_START_CHECK_FILE} OK."
### 2013.08.28 OM-2013-0001114 add end

#ANK-2737-00-00 2016/02/10 ADD START
#--- 契約内容通知対象契約抽出・編集バッチ呼び出し処理 ---
#  G_RTN_NORMAL、G_RTN_WARNのみ実行
if [ $ERR_FLG -eq $G_RTN_NORMAL -o $ERR_FLG -eq $G_RTN_WARN ] ; then
  echo " DEBUG_MSG Start running JOB EO2FD0120J0 by code:$ERR_FLG "
  sh ${G_TOOLSH}/EO2FD0120J0.sh $TIME_STR
  BUF=$?
  if [ $ERR_FLG -lt $BUF ] ; then
      ERR_FLG=$BUF
  fi
else
  echo " DEBUG_MSG Skip JOB EO2FD0120J0 by code:$ERR_FLG "
fi

# ANK-2985-00-00 2016/08/31 DEL START
##--- 契約内容通知書ファイル作成 ---
##  G_RTN_NORMAL、G_RTN_WARNのみ実行
#if [ $ERR_FLG -eq $G_RTN_NORMAL -o $ERR_FLG -eq $G_RTN_WARN ] ; then
#  echo " DEBUG_MSG Start running JOB EO2FA0110J0 by code:$ERR_FLG "
#  sh ${G_TOOLSH}/EO2FA0110J0.sh $TIME_STR
#  BUF=$?
#  if [ $ERR_FLG -lt $BUF ] ; then
#      ERR_FLG=$BUF
#  fi
#else
#  echo " DEBUG_MSG Skip JOB EO2FA0110J0 by code:$ERR_FLG "
#fi
# ANK-2985-00-00 2016/08/31 DEL END
#ANK-2737-00-00 2016/02/10 ADD END
	
# ANK-2985-00-00 2016/09/21 ADD START
#--- 契約内容通知書対象抽出後処理 ---
#  G_RTN_NORMAL、G_RTN_WARNのみ実行
if [ $ERR_FLG -eq $G_RTN_NORMAL -o $ERR_FLG -eq $G_RTN_WARN ] ; then
  echo " DEBUG_MSG Start running JOB EO2FA0C10D0 by code:$ERR_FLG "
  sh ${G_TOOLSH}/EO2FA0C10D0.sh $TIME_STR
  BUF=$?
  if [ $ERR_FLG -lt $BUF ] ; then
      ERR_FLG=$BUF
  fi
else
  echo " DEBUG_MSG Skip JOB EO2FA0C10D0 by code:$ERR_FLG "
fi
# ANK-2985-00-00 2016/09/21 ADD END

# ANK-4009-00-00 ADD START
## ＩＤ登録書同梱データ作成（印刷会社向け)(EO2140510D0)
if [ $ERR_FLG -eq $G_RTN_NORMAL -o $ERR_FLG -eq $G_RTN_WARN ] ; then
  echo " DEBUG_MSG Start running JOB EO2140510D0 by code:$ERR_FLG "
  sh ${G_TOOLSH}/EO2140510D0.sh
  BUF=$?
  if [ $ERR_FLG -lt $BUF ] ; then
      ERR_FLG=$BUF
  fi
else
  echo " DEBUG_MSG Skip JOB EO2140510D0 by code:$ERR_FLG "
fi

## 通知書・通知対象物登録（ディレイド）(EO2140326D3)
if [ $ERR_FLG -eq $G_RTN_NORMAL -o $ERR_FLG -eq $G_RTN_WARN ] ; then
  echo " DEBUG_MSG Start running JOB EO2140326D3 by code:$ERR_FLG "
  sh ${G_TOOLSH}/EO2140326D3.sh
  BUF=$?
  if [ $ERR_FLG -lt $BUF ] ; then
      ERR_FLG=$BUF
  fi
else
  echo " DEBUG_MSG Skip JOB EO2140326D3 by code:$ERR_FLG "
fi
# ANK-4009-00-00 ADD END

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

#--- 正常終了 ---
exit ${ERR_FLG}
