#!/bin/bash
##############################################################
# システム名    ：eo顧客基幹システム
#
# サブシステム名：契約管理
#
# サブシェル名  ：加入御礼書マンション親情報抽出
#
# 機能          ：「KKPRC00504_加入御礼書ファイル抽出」にて出力された加入御礼書ファイル送信データを元に加入御礼書マンション親情報送信データの作成を行う。
#                 
#
# コマンド形式  ：EO2HE0110J0.sh
#
# 実行環境      ：.../app/shl
#
# 終了ステータス：ゼロ以外異常
#
# 特記事項      ：特になし
#
# 変更履歴      ：変更日      変更者       障害／仕様変更No.
# v46.00.00      2019/08/19   FJ)澤田      加入御礼書ファイル送信時のMT提供条件関連項目の連携
# v71.00.00      2024/10/10   FJ)北谷      #56686　随時-24-0324　その他支援：加入御礼所の抽出バッチのシェル修正
#
##############################################################

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

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

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

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

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

#
#---OPD
#
OPD=$1

##############################################################
# 共通関数
##############################################################

#
#--- bsortexコマンド実行時のエラー処理
#      p1：bsortexコマンドの終了コード
#      p2：bsortexコマンドの入力ファイル
#
BSORT_ERROR()
{
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " BSORTEX error(input file=$2:rc=$1) "
    echo $JOBNAME " BSORTEX error(input file=$2:rc=$1) "
    exit ${G_RTN_ERROR}
}

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

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

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

#--- 出力ファイル
# 加入御礼書ファイル
KKIFE036_FILE=${GAIBU_SEND_DIR_KK}/KKIFE036/KKIFE036001.txt
# 加入御礼書ワークファイル
TEMPFILE=${MID_DIR_KK}/KKIFM885001_TEMP.csv
# 加入御礼書ワークファイル2
TEMPFILE_2=${MID_DIR_KK}/KKIFM885001_TEMP_2.csv
# 加入御礼書マンション親情報中間ファイル
KKIFM885001_FILE=${MID_DIR_KK}/KKIFM885001.csv
# 加入御礼書マンション親情報ファイル
KKIFE425_FILE=${GAIBU_SEND_DIR_KK}/KKIFE425/KKIFE425.csv

#
#--- 加入御礼書ファイルの複製
#
cp -fp ${KKIFE036_FILE} ${TEMPFILE}

# 最初行(ヘッダー)を削除する。
sed -i -e '1d' ${TEMPFILE}

# 最終行(フッター)を削除する。
sed -i -e '$d' ${TEMPFILE}



# マンション物件='001' マンションのみ抽出対象し、SYSID・同一回線グループ番号を出力する。
# 56686 MOD START  -optionを追加
bsortex -copy -record recform=txtcsv \
        -input file=${TEMPFILE} reclen=3300 \
         include="45.3asc.eq.'001'" \
        -output file=${TEMPFILE_2} reconst="0.10,1.12" \
        -option tmpdir=/data/apdata/ps/tmp/${ENV_MODE} \
         msgfile=/data/apdata/log/${ENV_MODE}/ps/psort.log \
         msglevel=5
# 56686 MOD END

rc=$?

if [ $rc -ne 0 ]
then
    BSORT_ERROR ${rc} ${TEMPFILE}
fi

#ソート・マージ SYSID・同一回線グループ番号
# 56686 MOD START  -optionを追加
bsortex \
    -sort key="0.10asc,1.12asc" \
    -input reclen=30 file=${TEMPFILE_2} \
    -record recform=txtcsv \
    -output reconst=0.10,1.12 \
    -option tmpdir=/data/apdata/ps/tmp/${ENV_MODE} \
     msgfile=/data/apdata/log/${ENV_MODE}/ps/psort.log \
     msglevel=5 \
| bsortex \
    -merge key="0.10asc,1.12asc" \
    -input reclen=30 \
    -record recform=txtcsv \
    -summary suppress first \
    -output reconst=0.10,1.12 \
    file=${KKIFM885001_FILE} \
    -option tmpdir=/data/apdata/ps/tmp/${ENV_MODE} \
     msgfile=/data/apdata/log/${ENV_MODE}/ps/psort.log \
     msglevel=5
# 56686 MOD END
    
rc=$?

if [ $rc -ne 0 ]
then
    BSORT_ERROR ${rc} ${TEMPFILE_2}
fi

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

P1="OPD=$OPD,"
P2="SVCCTL=JBSbatMultiServiceControl,"
P3="JOB=EO2HE0110J0,"
P4="IND1=KKIFM885.def,"
P5="INF1=${KKIFM885001_FILE},"
P6="IND2=,"
P7="INF2=,"
P8="OTD1=KKIFE425.def,"
P9="OTF1=${KKIFE425_FILE},"
P10="OTD2=,"
P11="OTF2=,"
P12="TABLENAME=,"
P13="SQLKEY=,"
P14="SQLPARAM=,"
P15="ERRFILE=,"
P16="RECOVERY=,"
P17="BREAKPTN=,"
P18="FREE="
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
           #ERROR時：生成ファイル削除
           if [ -e ${KKIFE425_FILE} ]
           then
             rm -f ${TEMPFILE}
             rm -f ${TEMPFILE_2}
             rm -f ${KKIFM885001_FILE}
             rm -f ${KKIFE425_FILE}
           fi
           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

# 一時ファイル削除
rm -f ${TEMPFILE}
rm -f ${TEMPFILE_2}

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

exit $rc
