#!/bin/sh
##############################################################
# システム名    ：eo顧客基幹システム
#
# サブシステム名：料金管理
#
# シェル名      ：ｅｏ光電話利用呼情報取込（請求先番号抽出）
#
# 機能          ：請求先番号情報および請求先番号情報（工事報告完了遅延を抽出する。
#
#エラーの場合、ABENDする。
#
#１．契約呼情報と契約インデックス情報のマッチングを行い請求先番号情報および請求先番号情報（工事報告完了遅延）
#    の抽出を行う。
#   ※EO3080177J0.shのサブシェルである
#
# コマンド形式  ：. EO3080177J0_02.sh YYYYMMDD
#
# 実行環境      ：.../batch/shl
#
# 終了ステータス：ゼロ以外異常
#
# 特記事項      ：特になし
#
# 変更履歴      ：変更日      変更者       障害／仕様変更No.
# v1.00           2013/03/05  FJ）藤田     【ST4-2013-0000050】性能改善
# v4.00           2013/04/09  FJ）藤田     【ST4-2013-0000413】性能改善 バックグラウンドジョブ化
# v5.00           2013/09/06  FJ）伊藤     【OM-2013-0001728】工事完了報告遅延対象フラグあり時のソートキーを修正
# v5.01           2013/09/14  FJ）後藤     【OM-2013-0002034】初回CDR対象は出力対象外とするように修正
###############################################################
. EOK010110J0.sh
. EO3080170J0_01.sh

#---ワークファイル削除モード
WK_RM=true

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

#--- ワークファイル
TMP_FILE_01="${MID_DIR_AC}/TMP_${JOBNAME}_02_01" ;
TMP_FILE_02="${MID_DIR_AC}/TMP_${JOBNAME}_02_02" ;
TMP_FILE_03="${MID_DIR_AC}/TMP_${JOBNAME}_02_03" ;
TMP_FILE_04="${MID_DIR_AC}/TMP_${JOBNAME}_02_04" ;
TMP_FILE_05="${MID_DIR_AC}/TMP_${JOBNAME}_02_05" ;

touch $TMP_FILE_01 $TMP_FILE_02 $TMP_FILE_03 $TMP_FILE_04 $TMP_FILE_05;
######################################################################
#
#- １．契約呼とインデックス情報とのマッチング
#
######################################################################
#--- 契約呼インデックス情報並び替え
wait
bsortex \
    -record recform=txtcsv \
    -input reclen=30 \
           include="3.1asc.eq.'0'" \
           file=${MID_DIR_AC}/${JOBNAME}_ACIFM194_05.csv \
    -sort key="0.9asc" \
    -output file=${TMP_FILE_01} ||checkError 'bsortex' $? ;
#--- 工事完了報告遅延対象フラグ≠"1"を抽出する
bsortex \
    -copy \
    -record recform=txtcsv \
    -input reclen=600 \
           file=${MID_DIR_AC}/ACIFM194001.csv \
           include="37.1asc.ne.'1'" \
    -output file=${TMP_FILE_02} linedlmt=lf ||checkError 'nkf' $? ;

#--- マッチング実行
ZTLOUTFILE=${TMP_FILE_03} &&export ZTLOUTFILE ;
sed -e "s%:KEI_KO_MAE_FILE%${TMP_FILE_02}%g" < ${G_TOOLSH}/util/def/AC_CM_0008.def > ${TMP_FILE_04}  ||checkError 'sed' $? ;
sed -e "s%:KEI_KO_FILE%${TMP_FILE_01}%g" < ${TMP_FILE_04} > ${TMP_FILE_05} ||checkError 'sed' $? ;
${MATCHING} ${TMP_FILE_05}  ||checkError 'MATCHING' $? ;

######################################################################
#
#- １．請求先番号情報抽出
#
######################################################################
bsortex \
	-sort key="5.12asc" \
	-record recform=txtcsv \
	-input reclen=100 file=${TMP_FILE_03} \
	-output file=${TMP_FILE_01} case="4.1asc.eq.'0'" \
	        reconst="0.8,1.10,2.10,6.1,6.1" \
	-output file=${TMP_FILE_02} case="4.1asc.eq.'1'" \
	        reconst="0.8,1.10,2.10,3.12,6.1"  ||checkError 'bsortex' $? ;

#--- 重複データを除外する
#--- 改行コードをwindows (CRLF)に変換する
bsortex \
	-sort key="0.6asc,1.10asc,2.10asc" \
    -input reclen=100 file=${TMP_FILE_01} \
	-record recform=txtcsv \
|bsortex \
    -merge key="0.6asc,1.10asc,2.10asc" \
    -input reclen=100 \
	-record recform=txtcsv \
	-summary suppress last \
	-output file=${MID_DIR_AC}/ACIFM180003.csv linedlmt=crlf ||checkError 'bsortex' $? ;
bsortex \
	-sort key="0.6asc,1.10asc,2.10asc,3.12asc" \
    -input reclen=100 file=${TMP_FILE_02} \
	-record recform=txtcsv \
|bsortex \
    -merge key="0.6asc,1.10asc,2.10asc,3.12asc" \
    -input reclen=100 \
	-record recform=txtcsv \
	-summary suppress last \
	-output file=${MID_DIR_AC}/ACIFM180004.csv linedlmt=crlf ||checkError 'bsortex' $? ;

#-ワーク削除
[ ${WK_RM} = "true" ] &&rm -f ${TMP_FILE_01} ${TMP_FILE_02} ${TMP_FILE_03} ${TMP_FILE_04} ${TMP_FILE_05} ;
