#!/bin/bash
##############################################################
# システム名    ：eo顧客基幹システム
#
# サブシステム名：物流管理
#
# シェル名      ：宅内機器物流在庫取得依頼ファイル作成（出荷完了）
#
# 機能          ：宅内管理システムに宅内機器物流在庫データ取得依頼を行うファイルを作成する。
#
# コマンド形式  ：EO5070610J0.sh
#
# 実行環境      ：.../app/shl
#
# 終了ステータス：ゼロ以外異常
#
# 特記事項      ：特になし
#
# 変更履歴      ：変更日      変更者       障害／仕様変更No.
# 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
TODAY="${RSLT_SYSDATE}"

#プロセスＩＤ
PID=$$

#
#---中間ファイル定義
#
#送信IF
MID_SEND_IF=DKIFE035
#送信中間ファイル
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=DKIFE036
#受信中間ファイル
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

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

# 宅内機器物流在庫取得依頼ファイル作成
TMP_FILE=${MID_SEND_FILE_NAME}_${PID}.tmp
sqlplus -s ${ORACLEUSER}/${ORACLEPASS}@${SID_S} > ${TMP_FILE} < ${SQL_DIR}/DK_S_DK0011_13.sql

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

