#!/bin/bash
##############################################################
# システム名    ：eo顧客基幹システム
#
# サブシステム名：契約管理
#
# シェル名      ：番ポなし番号事前通知
#
# サブシェル名  ：番ポなし番号事前通知ファイル作成
#               ：電話番号事前通知ＣＡＳＥファイル作成
#               ：番ポなし番号事前通知ファイル送信
#               ：番ポなし番号事前通知ステータス更新
#               ：ＣＡＳＥファイル送信
#
# 機能          ：番ポなし番号事前通知ファイル作成
#                 ・まだ通知していない番ポなし番号のデータを抽出し、CSV出力する。
#               ：電話番号事前通知ＣＡＳＥファイル作成
#                 ・顧客対応履歴Sに連携するＣＡＳＥファイルおよびＣＡＳＥ件数ファイルを作成する。
#               ：番ポなし番号事前通知ファイル送信
#                 ・番ポなし番号事前通知ファイルを印刷代行会社(YSD)へFTP送信する。
#               ：番ポなし番号事前通知ステータス更新
#                 ・番ポなし番号事前通知ファイルの作成対象となったレコードを通知済みに変更する。
#               ：ＣＡＳＥファイル送信
#                 ・電話番号事前通知CASEファイル/件数ファイル/フラグファイルを対応履歴システムへ連携する。
#
# コマンド形式  ：EO22V0110J0.sh
#
# 実行環境      ：.../app/shl
#
# 終了ステータス：ゼロ以外異常
#
# 特記事項      ：特になし
#
# 変更履歴      ：変更日      変更者       障害／仕様変更No.
# v4.00         2012/08/28    FJ)井熊      新規作成
# v4.01         2012/11/26    FJ)井熊      【TAI-2012-0000135】サブシェル化対応
# v4.02         2013/01/23    FJ)井熊      【ST2-2013-0000220】ディレイド処理結果更新実装
# v5.00         2013/08/28    FJ)坂東      【OM-2013-0001114】二重起動チェックを修正
# v54.00.00     2021/09/11    FJ)星野      【ANK-4069-00-00】EOL対応(バッチ・DBサーバリプレース対応)
# 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

#
#---業務で必要な変数定義
#
CHECK_FILE=${MID_DIR_KK}/1_$JOBNAME.flg
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

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

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

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

#
# ディレイド方式
#
# 最初に呼ばれるサブシェルでディレイド処理依頼を確認する。
# 確認用にサブシェルのフリーパラメータに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_NORMAL
##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

##########################
# デバッグ用スリープ     #
##########################
#sleep 30

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

#--- 番ポなし番号事前通知ファイル作成 ---
sh ${G_TOOLSH}/EO22V0111D0.sh $JOBNAME $CHECK_FILE
RETURN_FLG=$?

#
#--- ディレイド処理依頼フラグファイル確認
#
if [ -r $CHECK_FILE ] ; then
  FLG_CODE=`cat $CHECK_FILE | tail -1`
  rm -f $CHECK_FILE
  if [ $FLG_CODE -eq 0 ] ; then
    echo $JOBNAME 'Not such a Order'
### 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
    sh ${G_TOOLSH}/EOK010210J0.sh CS00026I $JOBNAME
    exit ${G_RTN_NORMAL}
  fi
fi

#--- 電話番号事前通知ＣＡＳＥファイル作成 ---
#  G_RTN_NORMAL、G_RTN_WARNのみ実行
if [ $RETURN_FLG -eq $G_RTN_NORMAL -o $RETURN_FLG -eq $G_RTN_WARN ] ; then
  echo " DEBUG_MSG Start running JOB EO22V0112D0 by code:$RETURN_FLG "
  sh ${G_TOOLSH}/EO22V0112D0.sh
  BUF=$?
  if [ $RETURN_FLG -lt $BUF ] ; then
      RETURN_FLG=$BUF
  fi
else
  echo " DEBUG_MSG Skip JOB EO22V0112D0 by code:$RETURN_FLG "
fi

# ANK-4069-00-00対応 20210906 星野 DEL START
##--- 番ポなし番号事前通知ファイル送信 ---
##  G_RTN_NORMAL、G_RTN_WARNのみ実行
#if [ $RETURN_FLG -eq $G_RTN_NORMAL -o $RETURN_FLG -eq $G_RTN_WARN ] ; then
#  echo " DEBUG_MSG Start running JOB EO22V0113D0 by code:$RETURN_FLG "
#  sh ${G_TOOLSH}/EO22V0113D0.sh
#  BUF=$?
#  if [ $RETURN_FLG -lt $BUF ] ; then
#      RETURN_FLG=$BUF
#  fi
#else
#  echo " DEBUG_MSG Skip JOB EO22V0113D0 by code:$RETURN_FLG "
#fi
# ANK-4069-00-00対応 20210906 星野 DEL END

# ANK-4069-00-00対応 20210906 星野 ADD START
#
# ファイル転送シェル呼出
#
#  G_RTN_NORMAL、G_RTN_WARNのみ実行
if [ $RETURN_FLG -eq $G_RTN_NORMAL -o $RETURN_FLG -eq $G_RTN_WARN ] ; then
  sh ${G_TRANSFERSH}/EOL000002J0.sh KKIFE117
  BUF=$?
  if [ $RETURN_FLG -lt $BUF ] ; then
      RETURN_FLG=$BUF
  fi
fi
# ANK-4069-00-00対応 20210906 星野 ADD END

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

#--- 番ポなし番号事前通知ステータス更新 ---
echo " DEBUG_MSG Start running JOB EO22V0114D0 by code:$RETURN_FLG "
sh ${G_TOOLSH}/EO22V0114D0.sh $JOBNAME $RETURN_FLG
BUF=$?
if [ $RETURN_FLG -lt $BUF ] ; then
    RETURN_FLG=$BUF
fi

#--- ＣＡＳＥファイル送信 ---
#  G_RTN_NORMAL、G_RTN_WARNのみ実行
if [ $RETURN_FLG -eq $G_RTN_NORMAL -o $RETURN_FLG -eq $G_RTN_WARN ] ; then
  echo " DEBUG_MSG Start running JOB EO22V0115D0 by code:$RETURN_FLG "
  sh ${G_TOOLSH}/EO22V0115D0.sh
  BUF=$?
  if [ $RETURN_FLG -lt $BUF ] ; then
      RETURN_FLG=$BUF
  fi
else
  echo " DEBUG_MSG Skip JOB EO22V0115D0 by code:$RETURN_FLG "
fi

if [ $RETURN_FLG -ne 0 ]
then
  sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " PROGRAM Error($SVC program:rc=$ERR_FLG) "
  echo $JOBNAME " PROGRAM Error($SVC program:rc=$ERR_FLG) "
### 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
  exit ${G_RTN_ERROR}
fi

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

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

#
#--- 全て正常終了 ---
#
exit ${G_RTN_NORMAL}