#!/bin/bash
##############################################################
# システム名    ：eo顧客基幹システム
#
# サブシステム名：請求収納
#
# シェル名      ：変更情報抽出対象請求情報ソート
#
# 機能          ：前日までの当月請求情報と、当日分の当月請求情報をマージソートし変更情報抽出対象請求情報を作成する。
#ただし、料金計算日のみマージし、料金計算日以外はマージせず前日までの当月請求情報のみを使用する。
#ソートキー：請求契約番号
#
# コマンド形式  ：EO6010150J0.sh
#
# 実行環境      ：.../app/shl
#
# 終了ステータス：ゼロ以外異常
#
# 特記事項      ：特になし
#
# 変更履歴      ：変更日      変更者       障害／仕様変更No.
# v5.00          2013/08/11   FJ) 小柴    【TG1-2013-0000929】新規作成
# v6.00          2013/12/25   FJ) 早崎    【OM-2013-0005152】料金計算日の場合、請求情報(日次)とマージソート処理を実施
# v6.01          2014/01/08   FJ) 伊藤    【OM-2014-0000086】料金計算日のマージソート処理の桁数誤り（全角未考慮）修正
# v7.00          2014/02/06   FJ) 伊藤    【OM-2014-0000488】請求アンロードファイル（請求登録前）のレイアウト追加対応
# v8.00          2014/04/02   FJ) 後藤    【OM-2014-0001324】口座名義人カナ桁数修正
# v20.00         2015/11/04   FJ) 山裾    【ANK-2565-00-00】クレジットカード番号預かりサービス導入（Step3：預かり番号化）
# v20.01         2015/12/10   FJ) 山裾    【IT2-2015-0000040】BSORT中のコメント行を外出し
# v35.00         2017/11/08   FJ) 森脇    【OM-2017-0001068】請求情報(日次)ワークファイルのレイアウト追加
# v37.00.00       2013/12/16  FJ)酒井       ANK-3366-00-00
# v41.00.00      2019/01/22   FJ)河邊     【OM-2019-0000047】契約請求方法CD更新不備
#
##############################################################

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

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

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

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

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

#
#---OPD
#
OPD=$1

#
#---業務で必要な変数定義
#

#---イベントコード（料金計算日）
EVENT_CD="03"

#---ワークファイル
INFILE_ACIFM143001_WK=${MID_DIR_CH}/CHIFM143001_${JOBNAME}_WK1.csv
#############################################################
# 業務処理
##############################################################
sh ${G_TOOLSH}/EOK010210J0.sh CS00025I $JOBNAME

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

P1="OPD=,"
P2="SVCCTL=,"
P3="JOB=EO6010150J0,"
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="
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


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

#---請求年月取得
. EO3SEIKYYM.sh ${EVENT_CD} ${RSLT_OPEDATE} ${JOBNAME}
echo ${SEIKY_YM}

#---料金計算日取得
. EO3EVENTYMD.sh ${EVENT_CD} ${SEIKY_YM} ${JOBNAME}
PRC_CALC_YMD=${EVENT_YMD}
echo ${PRC_CALC_YMD}

#---運用日が料金計算日の場合
if [ $PRC_CALC_YMD -eq $RSLT_OPEDATE ];
  then
  
  #---請求情報(日次)存在チェック
  #---請求情報(日次)が存在しない場合、空ファイル作成
  if [ ! -f ${MID_DIR_CH}/CHIFM143001.csv ];
    then
      touch ${MID_DIR_CH}/CHIFM143001.csv
    fi

  #
  #---請求情報(日次)の項目編集
  #
# v37.00.00 ANK-3366-00-00 MOD STA
## 2015/12/10 IT2-2015-0000040 Del Start
##  bsortex -copy -record recform=txtcsv \
### 2015/11/04 ANK-2565-00-00 Mod Start
###   -input reclen=2700 file=${MID_DIR_CH}/CHIFM143001.csv \
##   -input reclen=2750 file=${MID_DIR_CH}/CHIFM143001.csv \
### 2015/11/04 ANK-2565-00-00 Mod End
##   -output file=${INFILE_ACIFM143001_WK} \
##   reconst="EMPTY,0.10,1.3,7.1,8.1,9.2,12.1,13.2,14.1,15.242,16.11,17.7,18.8,19.24,20.36,21.24,22.122,23.90,24.30,25.11,26.242,27.242,28.242,30.256,31.1,34.4,35.3,36.1,37.7,38.1,40.242,42.8,44.1,48.16,49.6,50.5,51.242,52.90,55.1" \
## 2015/12/10 IT2-2015-0000040 Del End
## OM-2017-0001068 MOD START
### 2015/12/10 IT2-2015-0000040 Add Start
##  bsortex -copy -record recform=txtcsv \
##   -input reclen=2750 file=${MID_DIR_CH}/CHIFM143001.csv \
##   -output file=${INFILE_ACIFM143001_WK} \
##   reconst="EMPTY,0.10,1.3,7.1,8.1,9.2,12.1,13.2,14.1,15.242,16.11,17.7,18.8,19.24,20.36,21.24,22.122,23.90,24.30,25.11,26.242,27.242,28.242,30.256,31.1,34.4,35.3,36.1,37.7,38.1,40.242,42.8,44.1,48.16,49.6,50.5,51.242,52.90,55.1,60.16,61.5" \
### 2015/12/10 IT2-2015-0000040 Add End
#  bsortex -copy -record recform=txtcsv \
#   -input reclen=2750 file=${MID_DIR_CH}/CHIFM143001.csv \
#   -output file=${INFILE_ACIFM143001_WK} \
#   reconst="EMPTY,0.10,1.3,7.1,8.1,9.2,12.1,13.2,14.1,15.242,16.11,17.7,18.8,19.24,20.36,21.24,22.122,23.90,24.30,25.11,26.242,27.242,28.242,30.256,31.1,34.4,35.3,36.1,37.7,38.1,40.242,42.8,44.1,48.16,49.6,50.5,51.242,52.90,55.1,60.16,61.5,41.3,46.5" \
## OM-2017-0001068 MOD END
# OM-2019-0000047 2019/01/22 MOD START
#  bsortex -copy -record recform=txtcsv \
#   -input reclen=2750 file=${MID_DIR_CH}/CHIFM143001.csv \
#   -output file=${INFILE_ACIFM143001_WK} \
#   reconst="EMPTY,0.10,1.3,7.1,8.1,9.2,12.1,13.2,14.1,15.242,16.11,17.7,18.8,19.24,20.36,21.24,22.122,23.90,24.30,25.11,26.242,27.242,28.242,30.256,31.1,34.4,35.3,36.1,37.7,38.1,40.242,42.8,44.1,48.16,49.6,50.5,51.242,52.90,55.1,60.16,61.5,41.3,46.5,62.2" \
  bsortex -copy -record recform=txtcsv \
   -input reclen=2750 file=${MID_DIR_CH}/CHIFM143001.csv \
   -output file=${INFILE_ACIFM143001_WK} \
   reconst="EMPTY,0.10,1.3,7.1,8.1,9.2,12.1,13.2,14.1,15.242,16.11,17.7,18.8,19.24,20.36,21.24,22.122,23.90,24.30,25.11,26.242,27.242,28.242,30.256,31.1,34.4,35.3,36.1,37.7,38.1,40.242,42.8,44.1,48.64,49.6,50.5,51.242,52.90,55.1,60.16,61.5,41.3,46.5,62.2" \
# OM-2019-0000047 2019/01/22 MOD END
# v37.00.00 ANK-3366-00-00 MOD END

  rc=$?
  if [ $rc -ne 0 ]
  then
      sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " bsortex -copy Error($SVC bsortex:rc=$rc) "
      echo $JOBNAME " bsortex -copy Error($SVC bsortex:rc=$rc) "
      exit ${G_RTN_ERROR}
  fi

  #
  #---変更情報抽出対象請求情報・請求情報(日次)マージソート処理
  #
  bsort -s -z2500 -Tflt -t, -1.10asca,0.12ascr -o ${MID_DIR_CH}/CHIFM179002.csv ${MID_DIR_CH}/CHIFM179001.csv ${INFILE_ACIFM143001_WK}

  rc=$?
  if [ $rc -ne 0 ]
  then
      sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " SORT Error($SVC sort:rc=$rc) "
      echo $JOBNAME " SORT Error($SVC sort:rc=$rc) "
      exit ${G_RTN_ERROR}
  fi

#---運用日が料金計算日以外の場合
else

  #
  #
  #---変更情報抽出対象請求情報ソート処理
  #
  bsort -s -z2500 -Tflt -t, -1.10asca -o ${MID_DIR_CH}/CHIFM179002.csv ${MID_DIR_CH}/CHIFM179001.csv 
 
  rc=$?
  if [ $rc -ne 0 ]
  then
      sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " SORT Error($SVC sort:rc=$rc) "
      echo $JOBNAME " SORT Error($SVC sort:rc=$rc) "
      exit ${G_RTN_ERROR}
  fi

fi

#
#- ワークファイル削除
#
rm -f ${INFILE_ACIFM143001_WK}


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

exit ${G_RTN_NORMAL}
