#!/bin/sh
##############################################################
# システム名    ：eo顧客基幹システム
#
# サブシステム名：料金管理
#
# シェル名      ：ｅｏ光電話利用呼情報取込（初回CDR発生情報抽出）
#
# 機能          ：初回CDR発生情報を抽出する。
#
#エラーの場合、ABENDする。
#
#１．アンロードしたサービス契約内訳情報を契約呼インデックスをマッチングし、初回CDR発生情報を抽出する。
#   ※EO3080177J0.shのサブシェルである
#
# コマンド形式  ：. EO3080177J0_01.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/08/07  FJ）後藤     【TG1-2013-0000849】初回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}_01_01" ;
TMP_FILE_02="${MID_DIR_AC}/TMP_${JOBNAME}_01_02" ;
TMP_FILE_03="${MID_DIR_AC}/TMP_${JOBNAME}_01_03" ;

touch $TMP_FILE_01 $TMP_FILE_02 $TMP_FILE_03;
######################################################################
#
#- １１．サービス契約と契約呼情報のマッチング
#
######################################################################
#--- 契約呼インデックス情報並び替え
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 'bsort' $? ;
#--- マッチング実行
ZTLOUTFILE=${MID_DIR_AC}/EO3080170J0_KK0161_01.csv &&export ZTLOUTFILE ;
sed -e "s%:KK_T_SVC_KEI_UCWK%${MID_DIR_AC}/ACIFM219001.csv%g" < ${G_TOOLSH}/util/def/AC_CM_0002.def > ${TMP_FILE_02} ||checkError 'sed' $? ;
sed -e "s%:KEI_KO_FILE%${TMP_FILE_01}%g" < ${TMP_FILE_02} > ${TMP_FILE_03} ||checkError 'sed' $? ;
sed -e "s%:KEI_KO_MAE_FILE%${MID_DIR_AC}/ACIFM194001.csv%g" < ${TMP_FILE_03} > ${TMP_FILE_02} ||checkError 'sed' $? ;
${MATCHING} ${TMP_FILE_02}  ||checkError 'MATCHING' $? ;

######################################################################
#
#- １２．初回CDR発生情報抽出
#
######################################################################
#--- 下記条件に当てはまるレコードを抽出
#- eo光電話利用履歴情報．課金可不可　＝　"1"（課金））かつ
#- （サービス契約内訳<eo光電話>．初回CDR発生年月日　＝　nullまたは
#- サービス契約内訳<eo光電話>．初回CDR発生年月日　＞　通話開始日
bsortex \
	-sort key="5.12asc,10.8asc"\
	-record recform=txtcsv \
	-input reclen=130 file=${MID_DIR_AC}/EO3080170J0_KK0161_01.csv \
	        include="9.1asc.eq.'1'.and.(8.8asc.lt.'0'.or.8.8asc.gt.10.8asc)" \
|bsortex \
    -merge key="5.12asc" \
	-record recform=txtcsv \
    -input reclen=130 \
	-summary suppress first \
	-output reconst="1.12,10.8" \
	        file=${SEND_DIR}/KKIFI002001_${SHORI_YMD}.csv ||checkError 'bsort' $? ;

#
#-ワーク削除
if [ ${WK_RM} = "true" ]
then
    rm -f ${TMP_FILE_01}
    rm -f ${TMP_FILE_02}
    rm -f ${TMP_FILE_03}
    rm -f ${MID_DIR_AC}/EO3080170J0_KK0161_01.csv
fi
