#!/bin/bash
##############################################################
# システム名    ：eo顧客基幹システム
#
# サブシステム名：契約管理
#
# シェル名      ：工事関連情報受信ファイル読込み(日中)
#
# 機能          ：1.工事受付Sからの内部I/Fファイル"工事関連情報受信ファイル"を読み込む。
#
# コマンド形式  ：EO29D0150J0.sh
#
# 実行環境      ：.../app/shl
#
# 終了ステータス：ゼロ以外異常
#
# 特記事項      ：特になし
#
# 変更履歴      ：変更日      変更者       障害／仕様変更No.
# v31.00.00       2017/11/27  FJ) 周藤    【ANK-3136-00-00】OPMSハードウエア保守切れ対応
# v31.00.01       2018/08/08  FJ) 黒田(耕)【IT1-2018-0000142】日中化の進捗異常
# v31.00.02       2018/09/06  FJ) 阪口    【ST-2018-0000034】宅内工事ワーク取込不備
#
##############################################################

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

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

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

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

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

#
#---OPD
#
OPD=$1

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

# ST-2018-0000034 ADD START
#
#---タイムスタンプ取得
#
. EOK010410J0.sh 2
RSLT_SYSDATE="${RSLT_SYSDATE}"
# ST-2018-0000034 ADD END

#
#---業務で必要な変数定義
#
##############################################################
# 業務処理
##############################################################
sh ${G_TOOLSH}/EOK010210J0.sh CS00025I $JOBNAME

# KKIFI023
cat /dev/null > ${MID_DIR_KK}/KKIFI023001_${RSLT_OPEDATE}.csv
# ST-2018-0000034 ADD START
# 工事関連情報受信ファイル（日中取込用ワークファイル）
cat /dev/null > ${MID_DIR_KK}/KKIFM824_${RSLT_SYSDATE}.csv
# 工事関連情報受信ファイル（夜間持越用）
cat /dev/null > ${MID_DIR_KK}/KKIFM825_${RSLT_SYSDATE}.csv
# ST-2018-0000034 ADD END

# 内部インターフェイスファイルの移動
for csv_file in `find ${SEND_DIR} -maxdepth 1 -name "KKIFI023*" | egrep "KKIFI023[0-9]{3}_[0-9]{14}\.csv"`
do
    # フラグファイル名の取得
    flg_file=`echo ${csv_file} | sed -e "s/\.csv/\.flg/"`
    # ＣＳＶファイル名の取得
    ctl_file=`echo ${csv_file} | sed -e "s/\.csv/\.ctl/"`
    
    if [ -f ${flg_file} ]
    then
    	mv -f ${flg_file} ${MID_DIR_KK}/
    fi
    
    if [ -f ${ctl_file} ]
    then
    	mv -f ${ctl_file} ${MID_DIR_KK}/
    fi
    
    mv -f ${csv_file} ${MID_DIR_KK}/
done

# ファイルのマージ
for csv_file in `find ${MID_DIR_KK} -maxdepth 1 -name "KKIFI023*.csv" | egrep "KKIFI023[0-9]{3}_[0-9]{14}\.csv"`
do
# ST-2018-0000034 MOD START
#    # KKIFI023001_${SYSDATE}ファイルへ追記を行う。
#    cat ${csv_file} >> ${MID_DIR_KK}/KKIFI023001_${RSLT_OPEDATE}.csv
    # 工事関連情報受信ファイル（日中取込用ワークファイル）へ追記する
    cat ${csv_file} >> ${MID_DIR_KK}/KKIFM824_${RSLT_SYSDATE}.csv
# ST-2018-0000034 MOD END
done

# ST-2018-0000034 ADD START
# マージした工事関連情報受信ファイル（日中取込用ワークファイル）を振り分ける
# KKIFI023：工事取消情報・工事仮キャンセル受付情報・工事仮キャンセル取消情報（日中で取り込む）
# KKIFM825：上記以外（夜間で取り込む為退避させる）
bsortex -copy -record recform=txtcsv -input reclen=1000 < ${MID_DIR_KK}/KKIFM824_${RSLT_SYSDATE}.csv \
    -output file=${MID_DIR_KK}/KKIFI023001_${RSLT_OPEDATE}.csv include="0.1asc.eq.'9'.or.0.1asc.eq.'E'.or.0.1asc.eq.'F'" \
    -output file=${MID_DIR_KK}/KKIFM825_${RSLT_SYSDATE}.csv include="0.1asc.ne.'9'.and.0.1asc.ne.'E'.and.0.1asc.ne.'F'" \
# ST-2018-0000034 ADD END

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

P1="OPD=$RSLT_OPEDATE,"
P2="SVCCTL=JBSbatUnitServiceControl,"
P3="JOB=EO29D0150J0,"
P4="IND1=,"
P5="INF1=,"
P6="IND2=,"
P7="INF2=,"
P8="OTD1=,"
P9="OTF1=,"
P10="OTD2=,"
P11="OTF2=,"
P12="TABLENAME=,"
P13="SQLKEY=,"
P14="SQLPARAM=,"
P15="ERRFILE=,"
P16="RECOVERY=,"
P17="BREAKPTN=,"
P18="FREE=${MID_DIR_KK}/"
PARA="$P1$P2$P3$P4$P5$P6$P7$P8$P9$P10$P11$P12$P13$P14$P15$P16$P17$P18"

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

#
#---ＡＰＬ起動
#

java ${JAVA_OPTION} -jar ${JAR_DIR}/koptBatch.jar $PARA

rc=$?
ERR_FLG=0
if [ $rc -ne 0 ]
then
   if [ $rc -ne 4 ]
   then
       if [ $rc -ne 8 ]
       then
           if [ $rc -ne 127 ]
           then
              sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " PROGRAM Error($SVC program:rc=$rc) "
              echo $JOBNAME " PROGRAM Error($SVC program:rc=$rc) "
              exit ${G_RTN_ERROR}
           fi
       fi
    fi
    ERR_FLG=1
fi

exit_rc=$rc

#
#--- 翌日受入ファイルとのマージを行わないので、そのままリネーム
#

touch ${MID_DIR_KK}/KKIFM052001.csv
touch ${MID_DIR_KK}/KKIFM059001.csv
touch ${MID_DIR_KK}/KKIFM060001.csv
touch ${MID_DIR_KK}/KKIFM051001.csv
touch ${MID_DIR_KK}/KKIFM061001.csv
touch ${MID_DIR_KK}/KKIFM062001.csv
touch ${MID_DIR_KK}/KKIFM063001.csv
touch ${MID_DIR_KK}/KKIFM064001.csv
touch ${MID_DIR_KK}/KKIFM065001.csv
touch ${MID_DIR_KK}/KKIFM066001.csv
touch ${MID_DIR_KK}/KKIFM067001.csv
touch ${MID_DIR_KK}/KKIFM166001.csv
touch ${MID_DIR_KK}/KKIFM770001.csv
touch ${MID_DIR_KK}/KKIFM771001.csv

mv -f ${MID_DIR_KK}/KKIFM052001.csv ${MID_DIR_KK}/KKIFM052002.csv
mv -f ${MID_DIR_KK}/KKIFM059001.csv ${MID_DIR_KK}/KKIFM059002.csv
mv -f ${MID_DIR_KK}/KKIFM060001.csv ${MID_DIR_KK}/KKIFM060002.csv
mv -f ${MID_DIR_KK}/KKIFM051001.csv ${MID_DIR_KK}/KKIFM051002.csv
mv -f ${MID_DIR_KK}/KKIFM061001.csv ${MID_DIR_KK}/KKIFM061002.csv
mv -f ${MID_DIR_KK}/KKIFM062001.csv ${MID_DIR_KK}/KKIFM062002.csv
mv -f ${MID_DIR_KK}/KKIFM063001.csv ${MID_DIR_KK}/KKIFM063002.csv
mv -f ${MID_DIR_KK}/KKIFM064001.csv ${MID_DIR_KK}/KKIFM064002.csv
mv -f ${MID_DIR_KK}/KKIFM065001.csv ${MID_DIR_KK}/KKIFM065002.csv
mv -f ${MID_DIR_KK}/KKIFM066001.csv ${MID_DIR_KK}/KKIFM066002.csv
mv -f ${MID_DIR_KK}/KKIFM067001.csv ${MID_DIR_KK}/KKIFM067002.csv
mv -f ${MID_DIR_KK}/KKIFM166001.csv ${MID_DIR_KK}/KKIFM166002.csv
mv -f ${MID_DIR_KK}/KKIFM770001.csv ${MID_DIR_KK}/KKIFM770002.csv
mv -f ${MID_DIR_KK}/KKIFM771001.csv ${MID_DIR_KK}/KKIFM771002.csv

#IT1-2018-0000142 ADD START
#
#---ＳＯＲＴ
#
bsort -Tcsv -z186 -00.10asca,03.12ascr,06.10asca -o ${MID_DIR_KK}/KKIFM061005.csv ${MID_DIR_KK}/KKIFM061002.csv
#IT1-2018-0000142 ADD END

# ST-2018-0000034 ADD START
# 不要ファイル削除
rm -f ${MID_DIR_KK}/KKIFM824_${RSLT_SYSDATE}.csv
# ST-2018-0000034 ADD END

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

exit $exit_rc
