#!/bin/bash
##############################################################
# システム名    ：eo顧客基幹システム
#
# サブシステム名：物流管理
#
# シェル名      ：宅内機器取得依頼ファイル作成（出荷指図４）
#
# 機能          ：宅内管理システムに宅内機器データ取得依頼を行うファイルを作成する。
#
# コマンド形式  ：EO5050410J3.sh
#
# 実行環境      ：.../app/shl
#
# 終了ステータス：ゼロ以外異常
#
# 特記事項      ：特になし
#
# 変更履歴      ：変更日      変更者       障害／仕様変更No.
# v9.0.0          2014/06/27  FJ)窪田      OM-2014-0002189対応
# v26.00.00       2016/07/26  FJ)佐々木    【ANK-2756-00-00】日中帯に連携する出荷指図数の増加対応
# v54.00.00       2021/09/17  FJ)謝        【ANK-4069-00-00】バッチ・DBサーバーリプレース対応
##############################################################

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

#
#---ツール格納場所
#
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}"
fi
echo "OPD[NDATE]=${OPD}"

#
#---業務で必要な変数定義
#
# システム日付を取得
. EOK010410J0.sh 2
WTODAY="${RSLT_SYSDATE}"
TODAY=`echo $WTODAY | awk '{printf "93%s", substr($1,3,99)}' | tr -d '\r\n'`

#プロセスＩＤ
PID=$$

#
#---中間ファイル定義
#
#中間ファイル（配送指示依頼ファイル）
MID_FILE=${MID_DIR_DK}/EO5050710J0.csv

#送信IF
MID_SEND_IF=DKIFE039
#送信中間ファイル
MID_SEND_FILE=${MID_DIR_DK}/${JOBNAME}_${MID_SEND_IF}.csv
#送信中間ファイル名
MID_SEND_FILE_NAME=${GAIBU_SEND_DIR_DK}/${MID_SEND_IF}/${MID_SEND_IF}_${TODAY}.csv
# ANK-4069-00-00 ADD START
#フラグファイル
MID_SEND_FILE_NAME_FLG=${GAIBU_SEND_DIR_DK}/${MID_SEND_IF}/${MID_SEND_IF}_${TODAY}.flg
# ANK-4069-00-00 ADD END

#受信IF
MID_RECEIVE_IF=DKIFE040
#受信中間ファイル
MID_RECEIVE_FILE=${MID_DIR_DK}/${JOBNAME}_${MID_RECEIVE_IF}.csv
#受信中間ファイル名
MID_RECEIVE_FILE_NAME=${GAIBU_RECEIVE_DIR_DK}/${MID_RECEIVE_IF}/${MID_RECEIVE_IF}_${TODAY}.csv

echo "SEND_FILE_NAME=${MID_SEND_FILE_NAME}"
echo "RECV_FILE_NAME=${MID_RECEIVE_FILE_NAME}"

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

# ANK-2756-00-00 DEL START
## 配送指示依頼番号取得
#his_sji_req_no=`cat $MID_FILE | tr -d '\r\n'`
# ANK-2756-00-00 DEL END

# 宅内機器取得依頼ファイル作成
TMP_FILE=${MID_SEND_FILE_NAME}_${PID}.tmp
# ANK-2756-00-00 MOD START
#sqlplus -s ${ORACLEUSER}/${ORACLEPASS}@${SID_S} @${SQL_DIR}/DK_S_DK0011_07.sql ${his_sji_req_no} > ${TMP_FILE}
sqlplus -s ${ORACLEUSER}/${ORACLEPASS}@${SID_S} @${SQL_DIR}/DK_S_DK0011_07.sql > ${TMP_FILE}
# ANK-2756-00-00 MOD END
rc=$?
if [ $rc -ne 0 ] ; then
    echo "宅内機器取得依頼ファイルの作成に失敗しました。"
    rm -f ${TMP_FILE}
    sh ${G_TOOLSH}/EOK010210J0.sh CS00026I $JOBNAME
    exit ${G_RTN_ERROR}
fi

#宅内機器取得依頼ファイルの存在チェック
if [ ! -s ${TMP_FILE} ] ; then
    rm -f ${TMP_FILE}
    sh ${G_TOOLSH}/EOK010210J0.sh CS00026I $JOBNAME
    exit 0
fi

cat ${TMP_FILE} | sed -e 's/\s*|/","/g' | sed -e 's/^/"/' | sed -e 's/$/"/' | sed -e "s/\r\n/\r/g" > ${MID_SEND_FILE_NAME}
rc=$?
if [ $rc -ne 0 ] ; then
    echo "送信ファイルの作成に失敗しました。"
    rm -f ${TMP_FILE}
    rm -f ${MID_SEND_FILE_NAME}
    sh ${G_TOOLSH}/EOK010210J0.sh CS00026I $JOBNAME
    exit ${G_RTN_ERROR}
fi
rm -f ${TMP_FILE}

# ANK-4069-00-00 ADD START
#フラグファイル作成
: >  ${MID_SEND_FILE_NAME_FLG}
# ANK-4069-00-00 ADD END

#送信用中間ファイル作成
echo ${MID_SEND_FILE_NAME} > ${MID_SEND_FILE}
rc=$?
if [ $rc -ne 0 ] ; then
    echo "送信用中間ファイルの作成に失敗しました。"
    rm -f ${MID_SEND_FILE}
    rm -f ${MID_SEND_FILE_NAME}
    sh ${G_TOOLSH}/EOK010210J0.sh CS00026I $JOBNAME
    exit ${G_RTN_ERROR}
fi

#受信用中間ファイル作成
echo ${MID_RECEIVE_FILE_NAME} > ${MID_RECEIVE_FILE}
rc=$?
if [ $rc -ne 0 ] ; then
    echo "受信用中間ファイルの作成に失敗しました。"
    rm -f ${MID_SEND_FILE}
    rm -f ${MID_SEND_FILE_NAME}
    rm -f ${MID_RECEIVE_FILE}
    sh ${G_TOOLSH}/EOK010210J0.sh CS00026I $JOBNAME
    exit ${G_RTN_ERROR}
fi

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

exit 0

