#!/bin/bash
##############################################################
# システム名    ：eo顧客基幹システム
#
# サブシステム名：契約管理
#
# シェル名      ：ｅｏ光テレビ統計情報（課金）抽出（ＰＲＣ）
#
# 機能          ：「料金プランコード」毎の、回線場所住所の取得を行う。
#
# コマンド形式  ：EO28X0110J0.sh
#
# 実行環境      ：.../app/shl
#
# 終了ステータス：ゼロ以外異常
#
# 特記事項      ：特になし
#
# 変更履歴      ：変更日      変更者       障害／仕様変更No.
# v4.00.01       2013/09/04   FJ)古内      OM-2013-0001580
# v7.00.00       2014/03/26   FJ)古内      ANK-1589-00-00
# v15.00.00      2015/08/10   FJ)福山    【OM-2015-0002054】アンロードSQL個別対応 
# v19.00.00      2015/10/08   FJ)有本    【OM-2015-0002578】共通ＵＮＬＯＡＤ項目削除対応
# v20.00.00      2015/11/25   FJ)土井    【OM-2015-0003005】ソート削除対応
# v20.00.01      2015/11/27   FJ)福山    【OM-2015-0003005】ソート削除対応
# v20.00.02      2015/12/14   FJ)有本    【OM-2015-0003006】共通ＵＮＬＯＡＤ項目削除対応
# v22.00.00      2016/01/25   FJ)有本    【OM-2016-0000285】性能改善対応
# v74.00.00      2024/12/02   FJ)井上      ANK-4592-00-00   テレビ新コース（スカパー用）導入対応
#
##############################################################

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

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

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

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

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

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

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

#
#--- 共通関数定義
#

#
#--- アンロード関数
#       p1：テーブル名／クエリファイル名
#       p2：出力ファイル名
EXEC_UNLOAD()
{
	# 出力ファイルの初期化
	cat /dev/null > $2
	
	rc=$?
	if [ $rc -ne 0 ]
	then
		sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File cat error($2:rc=$rc)"
		echo $JOBNAME " File cat error($2:rc=$rc)"
		exit ${G_RTN_ERROR}
	fi
	
	# unload(KK_T_CRECARD)
	sh ${G_TOOLSH}/EOKULD03.sh $1 $2
	
	rc=$?
	if [ $rc -ne 0 ]
	then
		sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " unload error($2:rc=$rc) "
		echo $JOBNAME " unload error($2:rc=$rc) "
		exit ${G_RTN_ERROR}
	fi
}

#
#--- クエリ編集
#       p1：ＳＱＬ定義ファイル名
#       p2：バインド変数置換文字
EDIT_ULD_QUERY()
{
	SQL_FILE=$1
	SQL_WORK_FILE=${ULD_WORK_DIR}/${JOBNAME}_QUERY.tmp
	cat /dev/null > ${SQL_WORK_FILE}
	
	# SQL定義ファイルの編集
	if [ ! -r ${SQL_FILE} ]
	then
		sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File is nonexist(${SQL_FILE}:rc=$rc) "
		echo $JOBNAME " File is nonexist(${SQL_FILE}:rc=$rc) "
		exit ${G_RTN_ERROR}
	fi

	# バインド変数を置き換える
	cat ${SQL_FILE} > ${SQL_WORK_FILE}
	
	for bind in $2
	do
		sed -i, -e 0,/?/s/?/"'"$bind"'"/ ${SQL_WORK_FILE}
	done
	
	export SQL_WORK_FILE
}

FILE_LEN()
{
    # ファイルサイズ出力（運用時は固定で「0」を返却するように変えておくこと。）
	echo "[debug] ファイル行数($1):`cat $1 | wc -l`"
}


#
#--- マッチング処理
#      p1：ＳＱＬ定義ファイル名
#      p2：バインド変数置換文字
#      p3：出力ファイルパス
EXEC_MATCHING()
{
	echo "***************************************** マッチング開始 *****************************************"
	echo "■ マッチング入力情報"
	echo "   マッチングファイル:$1"
	echo "   バインド情報：$2"
	echo "   出力ファイル：$3"
	
	MATCHING_FILE=$1
	MATCHING_QUERY_WORK=${ULD_WORK_DIR}/${JOBNAME}_MATCH_QUERY.tmp
	cat /dev/null > ${MATCHING_QUERY_WORK}
	
	# SQL定義ファイルの編集
	if [ ! -r ${MATCHING_FILE} ]
	then
		sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File is nonexist(${MATCHING_FILE}:rc=$rc) "
		echo $JOBNAME " File is nonexist(${MATCHING_FILE}:rc=$rc) "
		exit ${G_RTN_ERROR}
	fi

	# バインド変数を置き換える
	cat ${MATCHING_FILE} > ${MATCHING_QUERY_WORK}
	
	for bind in $2
	do
	    FILE_LEN $bind
		bind_escape=`echo $bind | sed "s/\//\\\\\\\\\//g"`
		sed -i, -e 0,/#FILE#/s/#FILE#/$bind_escape/ ${MATCHING_QUERY_WORK}
	done

	# 出力ファイルの初期化
	OUTFILE=$3
	cat /dev/null > ${OUTFILE}
	
	rc=$?
	if [ $rc -ne 0 ]
	then
		sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File cat error(${OUTFILE}:rc=$rc) "
		echo $JOBNAME " File cat error(${OUTFILE}:rc=$rc) "
		exit ${G_RTN_ERROR}
	fi

	# マッチング実行
	export ZTLOUTFILE=${OUTFILE}
	${G_TOOLSH}/util/bin/ZTLMAT01 ${MATCHING_QUERY_WORK}
	
	rc=$?
	if [ $rc -ne 0 ]
	then
		sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " matching error(${QUERY_FILE}:rc=$rc)"
		echo $JOBNAME " matching error(${QUERY_FILE}:rc=$rc)"
		exit ${G_RTN_ERROR}
	fi
	FILE_LEN $3
	echo "***************************************** マッチング終了 *****************************************"
}

#
# --- 料金プラン指定のための条件文を作成
#  ARG[1]:KK0591のアンロードファイルパス
#  ARG[2]:条件対象項目 ex.) 4.6asc
EDIT_PPLAN_COND()
{
	IN_FILE=$1
	export WORK_ITEM=$2
	PPLAN_COND=`gawk 'BEGIN{FS=",";
	                        ITEM=ENVIRON["WORK_ITEM"];
	                        COND="";
	                        base_file=ARGV[1];
	                        while (getline < base_file > 0) {
	                          if (COND != "") {
	                            COND = COND ".or.";
	                          }
	                          COND = COND ITEM ".eq.\047" $2 "\047";
	                        }
	                        print COND;
	                        close(base_file);
	                       } ' ${IN_FILE}`
	
	echo "料金プラン条件(${IN_FILE},${WORK_ITEM})"
	export PPLAN_COND
}

#
#---運用年月（前月）
#
CUR_MONTH_01=`date -d "${RSLT_OPEDATE} 0 month ago" +%Y%m`01
SEIKY_YM=`date -d "${CUR_MONTH_01} 1 month ago" +%Y%m`

echo "■当月月初：${CUR_MONTH_01}"
echo "■請求年月：${SEIKY_YM}"

KK0081_ULD_QUERY=${SQL_DIR}/KK_U_KK0081_14.sql
KK0161_ULD_QUERY=${SQL_DIR}/KK_U_KK0161_02.sql
KK0251_ULD_QUERY=${SQL_DIR}/KK_U_KK0251_01.sql
KK0341_ULD_QUERY=${SQL_DIR}/KK_U_KK0341_03.sql
KK0351_ULD_QUERY=${SQL_DIR}/KK_U_KK0351_05.sql
KK0591_ULD_QUERY=${SQL_DIR}/KK_U_KK0591_01.sql
AC0191_ULD_QUERY=${SQL_DIR}/KK_U_AC0191_01.sql
CK0011_ULD_QUERY=${SQL_DIR}/KK_U_CK0011_17.sql

# ワークファイル定義
TMP_FILE=${MID_DIR_KK}/${JOBNAME}.TMP.csv
ULD_OTF=${MID_DIR_KK}/${JOBNAME}.ULD_WORK.csv

KK0591_CUR_F=${MID_DIR_KK}/${JOBNAME}.KK0591_CUR.csv
CK0011_TRG_F=${MID_DIR_KK}/${JOBNAME}.CK0011_TRG.csv
KK0081_TV_CUR_F=${MID_DIR_KK}/${JOBNAME}.KK0081_TV_CUR.csv
KK0081_NET_TEL_CUR_F=${MID_DIR_KK}/${JOBNAME}.KK0081_NET_TEL_CUR.csv
KK0161_CUR_F=${MID_DIR_KK}/${JOBNAME}.KK0161_CUR.csv
KK0241_CUR_F=${MID_DIR_KK}/${JOBNAME}.KK0241_CUR.csv
KK0241_CUR_NET_F=${MID_DIR_KK}/${JOBNAME}.KK0241_NET_CUR.csv

KK0081_KAKIN_F=${MID_DIR_KK}/${JOBNAME}.KK0081_KAKIN.csv
KK0161_KAKIN_F=${MID_DIR_KK}/${JOBNAME}.KK0161_KAKIN.csv
KK0341_KAKIN_F=${MID_DIR_KK}/${JOBNAME}.KK0341_KAKIN.csv
KK0351_KAKIN_F=${MID_DIR_KK}/${JOBNAME}.KK0351_KAKIN.csv
AC0191_KAKIN_F=${MID_DIR_KK}/${JOBNAME}.AC0191_KAKIN.csv

KK0081_KAKIN_EXCLUDE=${MID_DIR_KK}/${JOBNAME}.KK0081_EXCLUDE.csv
KK0161_KAKIN_EXCLUDE=${MID_DIR_KK}/${JOBNAME}.KK0161_EXCLUDE.csv
KK0341_KAKIN_EXCLUDE=${MID_DIR_KK}/${JOBNAME}.KK0341_EXCLUDE.csv
KK0351_KAKIN_NHK=${MID_DIR_KK}/${JOBNAME}.KK0351_NHK.csv
KK0351_KAKIN_EXCLUDE=${MID_DIR_KK}/${JOBNAME}.KK0351_EXCLUDE.csv
KK0351_KAKIN_INCLUDE=${MID_DIR_KK}/${JOBNAME}.KK0351_INCLUDE.csv

KAKIN_F=${MID_DIR_KK}/${JOBNAME}.KAKIN_KEI.csv
KAKIN_F_W=${MID_DIR_KK}/${JOBNAME}.KAKIN_KEI_W.csv
KK0351_KAKIN_OYA_01_F=${MID_DIR_KK}/${JOBNAME}.KK0351_KAKIN_OYA_01.csv
KK0351_KAKIN_OYA_03_F=${MID_DIR_KK}/${JOBNAME}.KK0351_KAKIN_OYA_03.csv
KK0351_KAKIN_OYA_03_F_W=${MID_DIR_KK}/${JOBNAME}.KK0351_KAKIN_OYA_03_W.csv

###2015/08/10 OM-2015-0002054 福山 ADD START
### OM-2015-0003005 2015/11/25 土井 MOD START
##-- サービス契約 全件
#COMULD_KK0081_ALL=${MID_DIR_CC}/CCIFM018001.csv
#-- サービス契約 全件ソート済み
COMULD_KK0081_SORT=${MID_DIR_CC}/CCIFM018001_SORT.csv
### OM-2015-0003005 2015/11/25 土井 MOD END
#-- サービス契約内訳 全件
COMULD_KK0161_ALL=${MID_DIR_CC}/CCIFM003001.csv
### OM-2015-0003005 2015/11/25 土井 MOD START
##-- 機器提供サービス契約 全件
#COMULD_KK0341_ALL=${MID_DIR_CC}/CCIFM007001.csv
#-- 機器提供サービス契約 全件ソート済み
COMULD_KK0341_SORT=${MID_DIR_CC}/CCIFM007001_SORT.csv
### OM-2015-0003005 2015/11/25 土井 MOD END
#ワーク
ULD_OTF_D=${MID_DIR_KK}/${JOBNAME}.ULD_WORK_D.csv
###2015/08/10 OM-2015-0002054 福山 ADD END

# 出力ファイル
OTF1=${MID_DIR_KK}/KKIFM137001.csv
OTF2=${MID_DIR_KK}/KKIFM137002.csv
###2024/12/02 ANK-4592-00-00 井上 ADD START
OTF3=${MID_DIR_KK}/KKIFM137010.csv
OTF4=${MID_DIR_KK}/KKIFM137011.csv
###2024/12/02 ANK-4592-00-00 井上 ADD END

# ファイルの初期化
cat /dev/null > ${TMP_FILE}
cat /dev/null > ${ULD_OTF}
###2015/08/10 OM-2015-0002054 福山 ADD START
cat /dev/null > ${ULD_OTF_D}
###2015/08/10 OM-2015-0002054 福山 ADD END
cat /dev/null > ${KK0591_CUR_F}
cat /dev/null > ${CK0011_TRG_F}
cat /dev/null > ${KK0081_TV_CUR_F}
cat /dev/null > ${KK0081_NET_TEL_CUR_F}
cat /dev/null > ${KK0161_CUR_F}
cat /dev/null > ${KK0241_CUR_F}
cat /dev/null > ${KK0241_CUR_NET_F}
cat /dev/null > ${KK0081_KAKIN_F}
cat /dev/null > ${KK0161_KAKIN_F}
cat /dev/null > ${KK0341_KAKIN_F}
cat /dev/null > ${KK0351_KAKIN_F}
cat /dev/null > ${AC0191_KAKIN_F}
cat /dev/null > ${KK0081_KAKIN_EXCLUDE}
cat /dev/null > ${KK0161_KAKIN_EXCLUDE}
cat /dev/null > ${KK0341_KAKIN_EXCLUDE}
cat /dev/null > ${KK0351_KAKIN_NHK}
cat /dev/null > ${KK0351_KAKIN_EXCLUDE}
cat /dev/null > ${KK0351_KAKIN_INCLUDE}
cat /dev/null > ${KAKIN_F}
cat /dev/null > ${KAKIN_F_W}
cat /dev/null > ${KK0351_KAKIN_OYA_01_F}
cat /dev/null > ${KK0351_KAKIN_OYA_03_F}
cat /dev/null > ${KK0351_KAKIN_OYA_03_F_W}
cat /dev/null > ${OTF1}
cat /dev/null > ${OTF2}
###2024/12/02 ANK-4592-00-00 井上 ADD START
cat /dev/null > ${OTF3}
cat /dev/null > ${OTF4}
###2024/12/02 ANK-4592-00-00 井上 ADD END

# ********************************
#  料金コース
# ********************************
EDIT_ULD_QUERY ${KK0591_ULD_QUERY} "${RSLT_OPEDATE} ${RSLT_OPEDATE}"
EXEC_UNLOAD ${SQL_WORK_FILE} ${KK0591_CUR_F}

# ********************************
# サービス契約
# ********************************

#
#--- KK0081(KK_T_SVC_KEI)データの編集
#  0.10:SVC_KEI_NO,
#  1.17:GENE_ADD_DTM,
#  2. 2:SVC_CD,
#  3.10:SYSID,
#  4. 6:PPLAN_CD,
#  5. 6:SUBSTR(PLAN_CHRG_STAYMD, 0, 6) PLAN_CHRG_STAYM,
#  6. 6:SUBSTR(PLAN_CHRG_ENDYMD, 0, 6) PLAN_CHRG_ENDYM,
#  7. 8:RSV_APLY_YMD,
#  8. 1:RSV_APLY_CD,
#  9. 1:MK_FLG,
# 10. 3:SVC_KEI_STAT,
# 11. 3:PCRS_CD,
# 12. 8:PLAN_CHRG_STAYMD,
# 13. 8:PLAN_CHRG_ENDYMD,
# 14. 8:NVL(SVC_STA_YMD, ' '),
# 15. 8:NVL(SVC_ENDYMD, '20991231'),
# 16. 8:NVL(SVC_STP_YMD, ' '),
# 17. 8:NVL(SVC_STP_RLS_YMD, '20991231'),
# 18. 8:NVL(SVC_PAUSE_YMD, ' '),
# 19. 8:NVL(SVC_PAUSE_RLS_YMD, '20991231'),
# 20. 8:NVL(KAIHK_YMD, ' ')
#

###2015/08/10 OM-2015-0002054 福山 MOD START
# KK0081(KK_T_SVC_KEI)の全データをアンロード
#EXEC_UNLOAD ${KK0081_ULD_QUERY} ${ULD_OTF}
#共通アンロード(サービス契約 サービス開始後 全件)から、必要なデータを取得する。
### OM-2015-0002578 共通ＵＮＬＯＡＤ項目削除対応 2015/10/08 有本 MOD START
#bsortex -copy -record recform=txtcsv -input file=${COMULD_KK0081_ALL} reclen=${ULD_REC_LEN_KK0081} \
#        reconst="0.10,1.17,4.2,3.10,10.6,114.6,115.8,33.8,35.1,96.1,2.3,9.3,30.8,31.8,116.8,117.8,118.8,119.8,120.8,121.8,122.8" \
#        -output file=${ULD_OTF_D}
### OM-2015-0003005 2015/11/25 土井 MOD START
#bsortex -copy -record recform=txtcsv -input file=${COMULD_KK0081_ALL} reclen=${ULD_REC_LEN_KK0081} \
#        reconst="0.10,1.17,4.2,3.10,9.6,39.6,40.6,15.8,17.1,35.1,2.3,8.3,13.8,14.8,41.8,42.8,43.8,44.8,45.8,46.8,47.8" \
#        -output file=${ULD_OTF_D}
### OM-2015-0003006 共通ＵＮＬＯＡＤ項目削除対応 2015/12/14 有本 MOD START
#bsortex -copy -record recform=txtcsv -input file=${COMULD_KK0081_SORT} reclen=${ULD_REC_LEN_KK0081} \
#        reconst="0.10,1.17,4.2,3.10,9.6,39.6,40.6,15.8,17.1,35.1,2.3,8.3,13.8,14.8,41.8,42.8,43.8,44.8,45.8,46.8,47.8" \
#        -output file=${ULD_OTF_D}
bsortex -copy -record recform=txtcsv -input file=${COMULD_KK0081_SORT} reclen=${ULD_REC_LEN_KK0081} \
        reconst="0.10,1.17,4.2,3.10,9.6,13.6,14.6,15.8,17.1,35.1,2.3,8.3,13.8,14.8,19.8,25.8,21.8,22.8,23.8,24.8,30.8" \
        -output file=${ULD_OTF_D}
### OM-2015-0003006 共通ＵＮＬＯＡＤ項目削除対応 2015/12/14 有本 MOD END
### OM-2015-0003005 2015/11/25 土井 MOD END
### OM-2015-0002578 共通ＵＮＬＯＡＤ項目削除対応 2015/10/08 有本 MOD END
rc=$?
if [ $rc -ne 0 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " UNLOAD Error(${ULD_OTF_D} unload:rc=$rc) " 
    echo $JOBNAME " UNLOAD Error(${ULD_OTF_D} unload:rc=$rc) "
    exit ${G_RTN_ERROR}
fi
sed -e 's/"//g' ${ULD_OTF_D} > ${ULD_OTF}
###2015/08/10 OM-2015-0002054 福山 MOD END
# 料金プランの条件指定文を作成
EDIT_PPLAN_COND ${KK0591_CUR_F} "4.6asc"

#
# ******* 基本契約（TV）のデータ取得 *****
#  条件１：ＴＶ契約のカレント(※サービスコードが「03」)
#
### OM-2015-0003005 2015/11/25 土井 MOD START
#bsortex -sort key="0.10asc,7.8asc,1.17asc" -record recform=txtcsv -input reclen=250 include="9.1asc.eq.'0'.and.8.1asc.eq.'2'.and.7.8asc.lt.'${CUR_MONTH_01}'.and.2.2asc.eq.'03'" < ${ULD_OTF} \
# | bsortex -merge key="0.10asc" -record recform=txtcsv -input reclen=250 -summary suppress last > ${KK0081_TV_CUR_F}
bsortex -merge key="0.10asc" -record recform=txtcsv \
        -input file=${ULD_OTF} reclen=250 include="7.8asc.lt.'${CUR_MONTH_01}'.and.2.2asc.eq.'03'" \
        -summary suppress last > ${KK0081_TV_CUR_F}
### OM-2015-0003005 2015/11/25 土井 MOD END

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

#
# ******* 基本契約（TV）のデータ取得 *****
#  条件１：指定年月がプラン課金開始～プラン課金終了期間の間
#  条件２：料金プランコードが「KK0591」のアンロードで取得したプラン
#  条件３：休止年月日がＮＵＬＬでなく、休止開始年月日が請求年月月初以前かつ休止解除年月日が請求年月月末以降の場合は対象外
#  条件４：停止年月日がＮＵＬＬでなく、停止開始年月日が請求年月月初以前かつ停止解除年月日が請求年月月末以降の場合は対象外
#
echo "■ 基本契約（TV）課金対象抽出 "
### OM-2015-0003006 共通ＵＮＬＯＡＤ項目削除対応 2015/12/14 有本 MOD START
#bsortex -sort key="0.10asc,7.8asc,1.17asc" -record recform=txtcsv -input reclen=250 include="5.6asc.le.'${SEIKY_YM}'.and.6.6asc.ge.'${SEIKY_YM}'.and.(${PPLAN_COND})" < ${KK0081_TV_CUR_F} \
#  -output file=${KK0081_KAKIN_EXCLUDE} case="(16.8asc.ne.'NULL'.and.16.8asc.le.'${SEIKY_YM}01'.and.17.8asc.ge.'${SEIKY_YM}31').or.(18.8asc.ne.'NULL'.and.18.8asc.le.'${SEIKY_YM}01'.and.19.8asc.ge.'${SEIKY_YM}31')" \
#  -output file=${KK0081_KAKIN_F} case=other
bsortex -sort key="0.10asc,7.8asc,1.17asc" -record recform=txtcsv -input reclen=250 include="5.6asc.le.'${SEIKY_YM}'.and.6.6asc.ge.'${SEIKY_YM}'.and.(${PPLAN_COND})" < ${KK0081_TV_CUR_F} \
  -output file=${KK0081_KAKIN_EXCLUDE} case="(16.8asc.gt.' '.and.16.8asc.le.'${SEIKY_YM}01'.and.(17.8asc.ge.'${SEIKY_YM}31'.or.17.8asc.lt.' ')).or.(18.8asc.gt.' '.and.18.8asc.le.'${SEIKY_YM}01'.and.(19.8asc.ge.'${SEIKY_YM}31'.or.19.8asc.lt.' '))" \
  -output file=${KK0081_KAKIN_F} case=other
### OM-2015-0003006 共通ＵＮＬＯＡＤ項目削除対応 2015/12/14 有本 MOD END

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

#
# ******* 基本契約（NET/TEL）のデータ取得 *****
#  条件１：ＮＥＴ／ＴＥＬ契約のカレント(※サービスコードが「01」 or 「02」)
#  条件２：指定年月がプラン課金開始～プラン課金終了期間の間
#
echo "■ 基本契約（NET/TEL）のデータ抽出"
### OM-2015-0002578 共通ＵＮＬＯＡＤ項目削除対応 2015/10/08 有本 MOD START
#bsortex -sort key="0.10asc,7.8asc,1.17asc" -record recform=txtcsv -input reclen=250 include="9.1asc.eq.'0'.and.8.1asc.eq.'2'.and.7.8asc.lt.'${CUR_MONTH_01}'.and.(2.2asc.eq.'01'.or.2.2asc.eq.'02')" < ${ULD_OTF} \
# | bsortex -merge key="0.10asc" -record recform=txtcsv -input reclen=250 -summary suppress last \
# | bsortex -sort key="0.10asc,7.8asc,1.17asc" -record recform=txtcsv -input reclen=250 include="5.6asc.le.'${SEIKY_YM}'.and.6.6asc.ge.'${SEIKY_YM}'" \
#    -output file=${KK0081_NET_TEL_CUR_F}
### OM-2015-0003005 2015/11/25 土井 MOD START
#bsortex -sort key="0.10asc,7.8asc,1.17asc" -record recform=txtcsv -input reclen=250 include="9.1asc.eq.'0'.and.8.1asc.eq.'2'.and.7.8asc.lt.'${CUR_MONTH_01}'.and.(2.2asc.eq.'01'.or.2.2asc.eq.'02')" < ${ULD_OTF} \
# | bsortex -merge key="0.10asc" -record recform=txtcsv -input reclen=250 -summary suppress last \
# | bsortex -copy -record recform=txtcsv -input reclen=250 include="5.6asc.le.'${SEIKY_YM}'.and.6.6asc.ge.'${SEIKY_YM}'" \
#    -output file=${KK0081_NET_TEL_CUR_F}
bsortex -merge key="0.10asc" -record recform=txtcsv \
        -input file=${ULD_OTF} reclen=250 \
         include="7.8asc.lt.'${CUR_MONTH_01}'.and.(2.2asc.eq.'01'.or.2.2asc.eq.'02')" \
        -summary suppress last \
 | bsortex -copy -record recform=txtcsv -input reclen=250 include="5.6asc.le.'${SEIKY_YM}'.and.6.6asc.ge.'${SEIKY_YM}'" \
    -output file=${KK0081_NET_TEL_CUR_F}
### OM-2015-0003005 2015/11/25 土井 MOD END
### OM-2015-0002578 共通ＵＮＬＯＡＤ項目削除対応 2015/10/08 有本 MOD END

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

# ********************************
# サービス契約内訳
# ********************************

###2015/08/10 OM-2015-0002054 福山 MOD START
#--- KK0161(KK_T_SVC_KEI_UCWK)の全データをアンロード
#EXEC_UNLOAD ${KK0161_ULD_QUERY} ${ULD_OTF}
#共通アンロード(サービス契約内容 サービス開始後 全件)から、必要なデータを取得する。
### OM-2015-0002578 共通ＵＮＬＯＡＤ項目削除対応 2015/10/08 有本 MOD START
#bsortex -copy -record recform=txtcsv -input file=${COMULD_KK0161_ALL} reclen=${ULD_REC_LEN_KK0161} \
#        reconst="0.12,1.17,3.10,6.6,84.6,85.6,24.8,26.1,72.1,2.3,5.3,29.8,30.8,86.8,87.8,88.8,89.8,90.8,91.8,92.8" \
#        -output file=${ULD_OTF_D}
### OM-2015-0003006 共通ＵＮＬＯＡＤ項目削除対応 2015/12/14 有本 MOD START
#bsortex -copy -record recform=txtcsv -input file=${COMULD_KK0161_ALL} reclen=${ULD_REC_LEN_KK0161} \
#        reconst="0.12,1.17,3.10,5.6,12.6,13.6,6.8,7.1,11.1,2.3,4.3,8.8,9.8,14.8,15.8,16.8,17.8,18.8,19.8,20.8" \
#        -output file=${ULD_OTF_D}
bsortex -copy -record recform=txtcsv -input file=${COMULD_KK0161_ALL} reclen=${ULD_REC_LEN_KK0161} \
        reconst="0.12,1.17,3.10,5.6,8.6,9.6,6.8,7.1,11.1,2.3,4.3,8.8,9.8,12.8,13.8,14.8,15.8,16.8,17.8,18.8" \
        -output file=${ULD_OTF_D}
### OM-2015-0003006 共通ＵＮＬＯＡＤ項目削除対応 2015/12/14 有本 MOD END
### OM-2015-0002578 共通ＵＮＬＯＡＤ項目削除対応 2015/10/08 有本 MOD END
rc=$?
if [ $rc -ne 0 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " UNLOAD Error(${ULD_OTF_D} unload:rc=$rc) " 
    echo $JOBNAME " UNLOAD Error(${ULD_OTF_D} unload:rc=$rc) "
    exit ${G_RTN_ERROR}
fi
sed -e 's/"//g' ${ULD_OTF_D} > ${ULD_OTF}
###2015/08/10 OM-2015-0002054 福山 MOD END

# 料金プランの条件指定文を作成
EDIT_PPLAN_COND ${KK0591_CUR_F} "3.6asc"
#
# ******* 基本契約２（内訳）のデータ取得 *****
#  条件１：ＴＶ契約のカレント
bsortex -sort key="0.12asc,6.8asc,1.17asc" -record recform=txtcsv -input reclen=250 include="8.1asc.eq.'0'.and.7.1asc.eq.'2'.and.6.8asc.lt.'${CUR_MONTH_01}'" < ${ULD_OTF} \
 | bsortex -merge key="0.12asc" -record recform=txtcsv -input reclen=250 -summary suppress last > ${KK0161_CUR_F}

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

# ******* 基本契約２（内訳）のデータ誌錡(課金対象) *****
#  条件１：指定年月がプラン課金開始～プラン課金終了期間の間
#  条件２：料金プランコードが「KK0591」のアンロードで取得したプラン
#  条件３：休止年月日がＮＵＬＬでなく、休止開始年月日が請求年月月初以前かつ休止解除年月日が請求年月月末以降の場合は対象外
#  条件４：停止年月日がＮＵＬＬでなく、停止開始年月日が請求年月月初以前かつ停止解除年月日が請求年月月末以降の場合は対象外
#
echo "■ 基本契約２（内訳） *** 課金対象 ***"
### OM-2015-0003006 共通ＵＮＬＯＡＤ項目削除対応 2015/12/14 有本 MOD START
#bsortex -sort key="0.12asc,6.8asc,1.17asc" -record recform=txtcsv -input reclen=250 include="4.6asc.le.'${SEIKY_YM}'.and.5.6asc.ge.'${SEIKY_YM}'.and.(${PPLAN_COND})" < ${KK0161_CUR_F} \
# -output file=${KK0161_KAKIN_EXCLUDE} case="(15.8asc.ne.'NULL'.and.15.8asc.le.'${SEIKY_YM}01'.and.16.8asc.ge.'${SEIKY_YM}31').or.(17.8asc.ne.'NULL'.and.17.8asc.le.'${SEIKY_YM}01'.and.18.8asc.ge.'${SEIKY_YM}31')" \
# -output file=${KK0161_KAKIN_F} case=other
bsortex -sort key="0.12asc,6.8asc,1.17asc" -record recform=txtcsv -input reclen=250 include="4.6asc.le.'${SEIKY_YM}'.and.5.6asc.ge.'${SEIKY_YM}'.and.(${PPLAN_COND})" < ${KK0161_CUR_F} \
 -output file=${KK0161_KAKIN_EXCLUDE} case="(15.8asc.gt.' '.and.15.8asc.le.'${SEIKY_YM}01'.and.(16.8asc.ge.'${SEIKY_YM}31'.or.16.8asc.lt.' ')).or.(17.8asc.gt.' '.and.17.8asc.le.'${SEIKY_YM}01'.and.(18.8asc.ge.'${SEIKY_YM}31'.or.18.8asc.lt.' '))" \
 -output file=${KK0161_KAKIN_F} case=other
### OM-2015-0003006 共通ＵＮＬＯＡＤ項目削除対応 2015/12/14 有本 MOD END

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

# ********************************
# 機器提供サービス契約
# ********************************

###2015/08/10 OM-2015-0002054 福山 MOD START
#--- KK0341(KK_T_KKTK_SVC_KEI)データのロード処理 ***
#EXEC_UNLOAD ${KK0341_ULD_QUERY} ${ULD_OTF}
#共通アンロード(機器提供サービス契約 サービス開始後 全件)から、必要なデータを取得する。
### OM-2015-0002578 共通ＵＮＬＯＡＤ項目削除対応 2015/10/08 有本 MOD START
#bsortex -copy -record recform=txtcsv -input file=${COMULD_KK0341_ALL} reclen=${ULD_REC_LEN_KK0341} \
#        reconst="0.12,1.17,3.4,5.6,25.10,29.10,98.8,100.1,178.6,179.6,161.1,2.3,4.3,104.8,105.8,180.8,181.8,182.8,183.8,184.8,185.8,186.8" \
#        -output file=${ULD_OTF_D}
### OM-2015-0003005 2015/11/25 土井 MOD START
#bsortex -copy -record recform=txtcsv -input file=${COMULD_KK0341_ALL} reclen=${ULD_REC_LEN_KK0341} \
#        reconst="0.12,1.17,3.4,5.6,10.10,12.10,20.8,21.1,27.6,28.6,24.1,2.3,4.3,22.8,23.8,29.8,30.8,31.8,32.8,33.8,34.8,35.8" \
#        -output file=${ULD_OTF_D}
### OM-2015-0003006 共通ＵＮＬＯＡＤ項目削除対応 2015/12/14 有本 MOD START
#bsortex -copy -record recform=txtcsv -input file=${COMULD_KK0341_SORT} reclen=${ULD_REC_LEN_KK0341} \
#        reconst="0.12,1.17,3.4,5.6,10.10,12.10,20.8,21.1,27.6,28.6,24.1,2.3,4.3,22.8,23.8,29.8,30.8,31.8,32.8,33.8,34.8,35.8" \
#        -output file=${ULD_OTF_D}
bsortex -copy -record recform=txtcsv -input file=${COMULD_KK0341_SORT} reclen=${ULD_REC_LEN_KK0341} \
        reconst="0.12,1.17,3.4,5.6,10.10,12.10,20.8,21.1,22.6,23.6,24.1,2.3,4.3,22.8,23.8,27.8,28.8,29.8,30.8,31.8,32.8,33.8" \
        -output file=${ULD_OTF_D}
### OM-2015-0003006 共通ＵＮＬＯＡＤ項目削除対応 2015/12/14 有本 MOD END
### OM-2015-0003005 2015/11/25 土井 MOD END
### OM-2015-0002578 共通ＵＮＬＯＡＤ項目削除対応 2015/10/08 有本 MOD END
rc=$?
if [ $rc -ne 0 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " UNLOAD Error(${ULD_OTF_D} unload:rc=$rc) " 
    echo $JOBNAME " UNLOAD Error(${ULD_OTF_D} unload:rc=$rc) "
    exit ${G_RTN_ERROR}
fi
sed -e 's/"//g' ${ULD_OTF_D} > ${ULD_OTF}
###2015/08/10 OM-2015-0002054 福山 MOD END

# 料金プランの条件指定文を作成
EDIT_PPLAN_COND ${KK0591_CUR_F} "3.6asc"
#
# ******* ＳＴＢ（機器提供サービス契約）のデータ誌錡 *****
#  条件１：ＳＴＢ
#  条件２：指定年月がプラン課金開始～プラン課金終了期間の間
#  条件２：料金プランコードが「KK0591」のアンロードで取得したプラン
#  条件４：休止年月日がＮＵＬＬでなく、休止開始年月日が請求年月月初以前かつ休止解除年月日が請求年月月末以降の場合は対象外
#  条件５：停止年月日がＮＵＬＬでなく、停止開始年月日が請求年月月初以前かつ停止解除年月日が請求年月月末以降の場合は対象外
#
echo "■ ＳＴＢ *** 課金対象抽出 ***"
### OM-2015-0002578 共通ＵＮＬＯＡＤ項目削除対応 2015/10/08 有本 MOD START
#bsortex -sort key="0.12asc,6.8asc,1.17asc" -record recform=txtcsv -input reclen=250 include="10.1asc.eq.'0'.and.7.1asc.eq.'2'.and.6.8asc.lt.'${CUR_MONTH_01}'" < ${ULD_OTF} \
# | bsortex -merge key="0.12asc" -record recform=txtcsv -input reclen=250 -summary suppress last \
# | bsortex -sort key="0.12asc" -record recform=txtcsv -input reclen=250 include="2.4asc.eq.'C009'.and.8.6asc.le.'${SEIKY_YM}'.and.9.6asc.ge.'${SEIKY_YM}'.and.(${PPLAN_COND})" \
#    -output file=${KK0341_KAKIN_EXCLUDE} case="(17.8asc.ne.'NULL'.and.17.8asc.le.'${SEIKY_YM}01'.and.18.8asc.ge.'${SEIKY_YM}31').or.(19.8asc.ne.'NULL'.and.19.8asc.le.'${SEIKY_YM}01'.and.20.8asc.ge.'${SEIKY_YM}31')" \
#    -output file=${KK0341_KAKIN_F} case=other
### OM-2015-0003005 2015/11/25 土井 MOD START
#bsortex -sort key="0.12asc,6.8asc,1.17asc" -record recform=txtcsv -input reclen=250 include="10.1asc.eq.'0'.and.7.1asc.eq.'2'.and.6.8asc.lt.'${CUR_MONTH_01}'" < ${ULD_OTF} \
# | bsortex -merge key="0.12asc" -record recform=txtcsv -input reclen=250 -summary suppress last \
# | bsortex -copy -record recform=txtcsv -input reclen=250 include="2.4asc.eq.'C009'.and.8.6asc.le.'${SEIKY_YM}'.and.9.6asc.ge.'${SEIKY_YM}'.and.(${PPLAN_COND})" \
#    -output file=${KK0341_KAKIN_EXCLUDE} case="(17.8asc.ne.'NULL'.and.17.8asc.le.'${SEIKY_YM}01'.and.18.8asc.ge.'${SEIKY_YM}31').or.(19.8asc.ne.'NULL'.and.19.8asc.le.'${SEIKY_YM}01'.and.20.8asc.ge.'${SEIKY_YM}31')" \
#    -output file=${KK0341_KAKIN_F} case=other
### OM-2015-0003006 共通ＵＮＬＯＡＤ項目削除対応 2015/12/14 有本 MOD START
#bsortex -merge key="0.12asc" -record recform=txtcsv \
#        -input file=${ULD_OTF} reclen=250 include="6.8asc.lt.'${CUR_MONTH_01}'" \
#        -summary suppress last \
# | bsortex -copy -record recform=txtcsv -input reclen=250 include="2.4asc.eq.'C009'.and.8.6asc.le.'${SEIKY_YM}'.and.9.6asc.ge.'${SEIKY_YM}'.and.(${PPLAN_COND})" \
#    -output file=${KK0341_KAKIN_EXCLUDE} case="(17.8asc.ne.'NULL'.and.17.8asc.le.'${SEIKY_YM}01'.and.18.8asc.ge.'${SEIKY_YM}31').or.(19.8asc.ne.'NULL'.and.19.8asc.le.'${SEIKY_YM}01'.and.20.8asc.ge.'${SEIKY_YM}31')" \
#    -output file=${KK0341_KAKIN_F} case=other
bsortex -merge key="0.12asc" -record recform=txtcsv \
        -input file=${ULD_OTF} reclen=250 include="6.8asc.lt.'${CUR_MONTH_01}'" \
        -summary suppress last \
 | bsortex -copy -record recform=txtcsv -input reclen=250 include="2.4asc.eq.'C009'.and.8.6asc.le.'${SEIKY_YM}'.and.9.6asc.ge.'${SEIKY_YM}'.and.(${PPLAN_COND})" \
    -output file=${KK0341_KAKIN_EXCLUDE} case="(17.8asc.gt.' '.and.17.8asc.le.'${SEIKY_YM}01'.and.(18.8asc.ge.'${SEIKY_YM}31'.or.18.8asc.lt.' ')).or.(19.8asc.gt.' '.and.19.8asc.le.'${SEIKY_YM}01'.and.(20.8asc.ge.'${SEIKY_YM}31'.or.20.8asc.lt.' '))" \
    -output file=${KK0341_KAKIN_F} case=other
### OM-2015-0003006 共通ＵＮＬＯＡＤ項目削除対応 2015/12/14 有本 MOD END
### OM-2015-0003005 2015/11/25 土井 MOD END
### OM-2015-0002578 共通ＵＮＬＯＡＤ項目削除対応 2015/10/08 有本 MOD END

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

# ********************************
# オプションサービス契約
# ********************************

#--- KK0351(KK_T_OP_SVC_KEI)データの編集
EXEC_UNLOAD ${KK0351_ULD_QUERY} ${ULD_OTF}

# 料金プランの条件指定文を作成
EDIT_PPLAN_COND ${KK0591_CUR_F} "4.6asc"
#
# ******* オプションサービス契約（ＮＨＫ以外）のデータ誌錡 *****
#  条件１：オプションサービス契約のカレント
#  条件２：指定年月がプラン課金開始～プラン課金終了期間の間
#  条件２：料金プランコードが「KK0591」のアンロードで取得したプラン
#  条件４：休止年月日がＮＵＬＬでなく、休止開始年月日が請求年月月初以前かつ休止解除年月日が請求年月月末以降の場合は対象外
#  条件５：停止年月日がＮＵＬＬでなく、停止開始年月日が請求年月月初以前かつ停止解除年月日が請求年月月末以降の場合は対象外
#  条件６：オプションが「ＮＨＫ」以外
#
echo "■ オプションサービス契約 *** 課金対象抽出 *** ※ NHKは除外する"
### OM-2015-0002578 共通ＵＮＬＯＡＤ項目削除対応 2015/10/08 有本 MOD START
#bsortex -sort key="0.12asc,8.8asc,1.17asc" -record recform=txtcsv -input reclen=250 include="12.1asc.eq.'0'.and.9.1asc.eq.'2'.and.8.8asc.lt.'${CUR_MONTH_01}'" < ${ULD_OTF} \
# | bsortex -merge key="0.12asc" -record recform=txtcsv -input reclen=250 -summary suppress last \
# | bsortex -sort key="0.12asc,8.8asc,1.17asc" -record recform=txtcsv -input reclen=250 include="10.6asc.le.'${SEIKY_YM}'.and.11.6asc.ge.'${SEIKY_YM}'.and.(${PPLAN_COND})" \
#    -output file=${KK0351_KAKIN_NHK} case="2.4asc.eq.'B069'" \
#    -output file=${KK0351_KAKIN_EXCLUDE} case="(19.8asc.ne.'NULL'.and.19.8asc.le.'${SEIKY_YM}01'.and.20.8asc.ge.'${SEIKY_YM}31').or.(21.8asc.ne.'NULL'.and.21.8asc.le.'${SEIKY_YM}01'.and.22.8asc.ge.'${SEIKY_YM}31')" \
#    -output file=${KK0351_KAKIN_INCLUDE} case=other
bsortex -sort key="0.12asc,8.8asc,1.17asc" -record recform=txtcsv -input reclen=250 include="12.1asc.eq.'0'.and.9.1asc.eq.'2'.and.8.8asc.lt.'${CUR_MONTH_01}'" < ${ULD_OTF} \
 | bsortex -merge key="0.12asc" -record recform=txtcsv -input reclen=250 -summary suppress last \
 | bsortex -copy -record recform=txtcsv -input reclen=250 include="10.6asc.le.'${SEIKY_YM}'.and.11.6asc.ge.'${SEIKY_YM}'.and.(${PPLAN_COND})" \
    -output file=${KK0351_KAKIN_NHK} case="2.4asc.eq.'B069'" \
    -output file=${KK0351_KAKIN_EXCLUDE} case="(19.8asc.ne.'NULL'.and.19.8asc.le.'${SEIKY_YM}01'.and.20.8asc.ge.'${SEIKY_YM}31').or.(21.8asc.ne.'NULL'.and.21.8asc.le.'${SEIKY_YM}01'.and.22.8asc.ge.'${SEIKY_YM}31')" \
    -output file=${KK0351_KAKIN_INCLUDE} case=other
### OM-2015-0002578 共通ＵＮＬＯＡＤ項目削除対応 2015/10/08 有本 MOD END

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

echo "■ オプション *** 親契約分割 ***"
bsortex -sort key="0.12asc,1.17asc" -record recform=txtcsv -input reclen=250 \
  -output file=${KK0351_KAKIN_OYA_01_F} case="5.2asc.eq.'01'" \
  -output file=${KK0351_KAKIN_OYA_03_F_W} case="5.2asc.eq.'03'" < ${KK0351_KAKIN_INCLUDE}

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

# 親契約識別「03(サービス契約内訳)」のデータに対して、契約番号を取得するために、サービス契約内訳を紐付ける
EXEC_MATCHING ${G_TOOLSH}/util/def/KK_CM_0027.def "${KK0351_KAKIN_OYA_03_F_W} ${KK0161_CUR_F}" ${KK0351_KAKIN_OYA_03_F}

rc=$?
if [ $rc -ne 0 ]
then
	exit $rc
fi

# 親識別「01」と「03」のオプションをマージ
cat ${KK0351_KAKIN_OYA_01_F} ${KK0351_KAKIN_OYA_03_F} > ${KK0351_KAKIN_F}

# ********************************
# 一時金（ＡＣ）
# ********************************

#
#--- AC0191(AC_T_ICJKN)データの編集
#  0.20:ICJKN_ADD_SEQ,
#  1. 2:KICJKN_NO,
#  2. 6:SEIKY_YM,
#  3.11:PRC_KMK_CD,
#  4.10:SVC_KEI_NO,
#  5. 1:ICJKN_TRKM_STAT,
#  6. 1:MK_FLG
#
EXEC_UNLOAD ${AC0191_ULD_QUERY} ${ULD_OTF}

# ＮＨＫの料金項目コード
# ++++++++++ ANK-1589-00-00 消費税対応 開始 ++++++++++
# 消費税対応分の料金項目コード追加
#ICJKN_PRC_KMK_CD="3.11asc.eq.'01030001601'.or.3.11asc.eq.'01030001901'.or.3.11asc.eq.'01030002601'.or.3.11asc.eq.'01030002901'.or.3.11asc.eq.'01030003601'.or.3.11asc.eq.'01030003901'"
ICJKN_PRC_KMK_CD="3.11asc.eq.'01030001601'.or.3.11asc.eq.'01030001901'.or.3.11asc.eq.'01030002601'.or.3.11asc.eq.'01030002901'.or.3.11asc.eq.'01030003601'.or.3.11asc.eq.'01030003901'.or.3.11asc.eq.'11030001601'.or.3.11asc.eq.'11030001901'.or.3.11asc.eq.'11030002601'.or.3.11asc.eq.'11030002901'.or.3.11asc.eq.'11030003601'.or.3.11asc.eq.'11030003901'"
# ++++++++++ ANK-1589-00-00 消費税対応 終了 ++++++++++

#
# ******* 一時金（料金）よりＮＨＫのデータ取得 *****
#  条件１：請求年月が指定した請求年月
#  条件２：無効フラグが「0(有効)」
#  条件３：料金項目コードが業パラより取得した料金項目コード（※ ＮＨＫの料金項目コード）
#
# OM-2015-0003005 ソート削除対応 2015/11/27 福山 MOD START
#bsortex -sort key="0.20asc,1.2asc" -record recform=txtcsv -input reclen=250 include="2.6asc.eq.'${SEIKY_YM}'.and.6.1asc.eq.'0'.and.7.20asc.gt.'0'.and.(5.1asc.eq.'0'.or.5.1asc.eq.'1'.or.5.1asc.eq.'2').and.(${ICJKN_PRC_KMK_CD})" < ${ULD_OTF} > ${AC0191_KAKIN_F}
bsortex -copy -record recform=txtcsv -input reclen=250 include="2.6asc.eq.'${SEIKY_YM}'.and.6.1asc.eq.'0'.and.7.20asc.gt.'0'.and.(5.1asc.eq.'0'.or.5.1asc.eq.'1'.or.5.1asc.eq.'2').and.(${ICJKN_PRC_KMK_CD})" < ${ULD_OTF} > ${AC0191_KAKIN_F}
# OM-2015-0003005 ソート削除対応 2015/11/27 福山 MOD END

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

# ********************************
# お客さま
# ********************************

#
#--- AC0191(AC_T_ICJKN)データの編集
#  0.10:SYSID,
#  1.17:GENE_ADD_DTM,
#  2. 8:RSV_APLY_YMD,
#  3. 2:RSV_APLY_CD,
#  4. 1:MK_FLG,
#  5. 1:KEISHA_TYPE_CD,
#
EXEC_UNLOAD ${CK0011_ULD_QUERY} ${ULD_OTF}

#
# ******* 一時金（料金）よりＮＨＫのデータ取得 *****
#  条件１：お客さまのカレント
#  条件３：契約者タイプが「3（保守用）」or「4（自社利用）」
#
echo "■ お客様情報のカレント取得 "
### OM-2015-0002578 共通ＵＮＬＯＡＤ項目削除対応 2015/10/08 有本 MOD START
#bsortex -sort key="0.10asc,2.8asc,1.17asc" -record recform=txtcsv -input reclen=250 include="4.1asc.eq.'0'.and.3.1asc.eq.'2'.and.2.8asc.lt.'${CUR_MONTH_01}'" < ${ULD_OTF} \
#  | bsortex -merge key="0.10asc" -record recform=txtcsv -input reclen=250 -summary suppress last \
#  | bsortex -sort key="0.10asc" -record recform=txtcsv -input reclen=250 include="5.1asc.ne.'3'.and.5.1asc.ne.'4'" > ${CK0011_TRG_F}
bsortex -sort key="0.10asc,2.8asc,1.17asc" -record recform=txtcsv -input reclen=250 include="4.1asc.eq.'0'.and.3.1asc.eq.'2'.and.2.8asc.lt.'${CUR_MONTH_01}'" < ${ULD_OTF} \
  | bsortex -merge key="0.10asc" -record recform=txtcsv -input reclen=250 -summary suppress last \
  | bsortex -copy -record recform=txtcsv -input reclen=250 include="5.1asc.ne.'3'.and.5.1asc.ne.'4'" > ${CK0011_TRG_F}
### OM-2015-0002578 共通ＵＮＬＯＡＤ項目削除対応 2015/10/08 有本 MOD END

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

# **********************************************
# 回線対象サービス契約/サービス契約回線内訳
# **********************************************
EDIT_ULD_QUERY ${KK0251_ULD_QUERY} "${CUR_MONTH_01}"
EXEC_UNLOAD ${SQL_WORK_FILE} ${ULD_OTF}

# KK0251のカレントデータ取得
#  KK0251のカレント
bsortex -sort key="2.10asc,4.8asc,0.12asc,1.17asc" -record recform=txtcsv -input reclen=75 < ${ULD_OTF} \
 | bsortex -merge key="2.10asc" -record recform=txtcsv -input reclen=75 -summary suppress last -output file=${KK0241_CUR_F}

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

# ********************************
#  課金対象のマージ処理
# ********************************

# ***** データ整形前準備 ******

echo "■ オプション *** 課金対象のマージ ***"
#
# 課金対象（契約・内訳・機器・オプション）のファイルフォーマットを整形しマージ
#  0. 6:料金プランコード
#  1.10:サービス契約番号
#  2.12:サービス契約内訳番号
#  3.12:機器提供サービス契約番号
#  4.12:オプションサービス契約番号
#  5. 3:各種ステータス
#  6. 8:サービス開始日
#
FILE_LEN ${KK0081_KAKIN_F}
FILE_LEN ${KK0161_KAKIN_F}
FILE_LEN ${KK0341_KAKIN_F}
FILE_LEN ${KK0351_KAKIN_F}
FILE_LEN ${AC0191_KAKIN_F}

cat /dev/null > ${TMP_FILE}
### OM-2016-0000285 性能改善対応 2016/01/25 有本 MOD START
#bsortex -sort key="0.10asc" -record recform=txtcsv -input reclen=250 -output reconst="4.6,0.10,EMPTY,EMPTY,EMPTY,10.3,14.8" < ${KK0081_KAKIN_F} >> ${TMP_FILE}
#bsortex -sort key="0.12asc" -record recform=txtcsv -input reclen=250 -output reconst="3.6,2.10,0.12,EMPTY,EMPTY,9.3,13.8"  < ${KK0161_KAKIN_F} >> ${TMP_FILE}
#bsortex -sort key="0.12asc" -record recform=txtcsv -input reclen=250 -output reconst="3.6,4.10,EMPTY,0.12,EMPTY,11.3,15.8" < ${KK0341_KAKIN_F} >> ${TMP_FILE}
#bsortex -sort key="0.12asc" -record recform=txtcsv -input reclen=250 -output reconst="4.6,6.10,EMPTY,EMPTY,0.12,13.3,17.8" < ${KK0351_KAKIN_F} >> ${TMP_FILE}
#bsortex -sort key="4.10asc" -record recform=txtcsv -input reclen=250 -output reconst="'PB7301'.6asc,4.10,EMPTY,EMPTY,EMPTY,EMPTY,EMPTY" < ${AC0191_KAKIN_F} >> ${TMP_FILE}
bsortex -sort key="1.10asc" -record recform=txtcsv \
        -input reclen=250 reconst="4.6,0.10,EMPTY,EMPTY,EMPTY,10.3,14.8" < ${KK0081_KAKIN_F} >> ${TMP_FILE}
bsortex -sort key="2.12asc" -record recform=txtcsv \
        -input reclen=250 reconst="3.6,2.10,0.12,EMPTY,EMPTY,9.3,13.8"  < ${KK0161_KAKIN_F} >> ${TMP_FILE}
bsortex -sort key="3.12asc" -record recform=txtcsv \
        -input reclen=250 reconst="3.6,4.10,EMPTY,0.12,EMPTY,11.3,15.8" < ${KK0341_KAKIN_F} >> ${TMP_FILE}
bsortex -sort key="4.12asc" -record recform=txtcsv \
        -input reclen=250 reconst="4.6,6.10,EMPTY,EMPTY,0.12,13.3,17.8" < ${KK0351_KAKIN_F} >> ${TMP_FILE}
bsortex -sort key="1.10asc" -record recform=txtcsv \
        -input reclen=250 reconst="'PB7301'.6asc,4.10,EMPTY,EMPTY,EMPTY,EMPTY,EMPTY" < ${AC0191_KAKIN_F} >> ${TMP_FILE}
### OM-2016-0000285 性能改善対応 2016/01/25 有本 MOD END

# ダブルクォート及び改行コード（CR）の削除
cat ${TMP_FILE} | perl -pe 's/\r//g' | perl -pe 's/"//g' > ${KAKIN_F_W}
rm ${TMP_FILE}

# *********************************
#  お客さま/回線情報とのマッチング
# *********************************
cat /dev/null > ${TMP_FILE}
EXEC_MATCHING ${G_TOOLSH}/util/def/KK_CM_0023.def "${KAKIN_F_W} ${KK0081_TV_CUR_F} ${CK0011_TRG_F} ${KK0241_CUR_F}" ${TMP_FILE}

rc=$?
if [ $rc -ne 0 ]
then
	exit $rc
fi

FILE_LEN ${TMP_FILE}
cat ${TMP_FILE} | perl -pe 's/\r//g' | perl -pe 's/"//g' > ${KAKIN_F}

rm ${TMP_FILE}

# *********************************
#  NET情報とのマッチング
# *********************************
cat /dev/null > ${TMP_FILE}
EXEC_MATCHING ${G_TOOLSH}/util/def/KK_CM_0024.def "${KK0241_CUR_F} ${KK0081_NET_TEL_CUR_F}" ${TMP_FILE}

rc=$?
if [ $rc -ne 0 ]
then
	exit $rc
fi

echo "■ 同一回線情報のサマリ"
cat ${TMP_FILE} | perl -pe 's/\r//g' | perl -pe 's/"//g' \
  | bsortex -sort key="0.12asc" -record recform=txtcsv -input reclen=250 -summary suppress last > ${KK0241_CUR_NET_F}

rm ${TMP_FILE}

# *********************************
#  TV情報とNET情報とのマッチング
# *********************************
echo "■ TV情報とNET情報のマッチング"
cat /dev/null > ${TMP_FILE}
EXEC_MATCHING ${G_TOOLSH}/util/def/KK_CM_0025.def "${KAKIN_F} ${KK0241_CUR_NET_F}" ${TMP_FILE}

rc=$?
if [ $rc -ne 0 ]
then
	exit $rc
fi
###2024/12/27 ANK-4592-00-00 井上 ADD START

FILE_LEN ${TMP_FILE}
cat ${TMP_FILE} | perl -pe 's/\r//g' | perl -pe 's/"//g' > ${KAKIN_F}

rm ${TMP_FILE}

# *********************************
#  プランコードとのマッチング
# *********************************
echo "■ プランコードとのマッチング"
cat /dev/null > ${TMP_FILE}
EXEC_MATCHING ${G_TOOLSH}/util/def/KK_CM_1055.def "${KAKIN_F} ${KK0081_TV_CUR_F}" ${TMP_FILE}

###2024/12/27 ANK-4592-00-00 井上 ADD END

# ***********************************
#  次ジョブへのデータファイル編集
# ***********************************
###2024/12/02 ANK-4592-00-00 井上 MOD START
#cat ${TMP_FILE} | perl -pe 's/\r//g' | perl -pe 's/"//g' \
#  | bsortex -sort key="0.6asc" -record recform=txtcsv -input reclen=250 \
#      -output file=${OTF1} case="10.10asc.ge.' '" \
#      -output file=${OTF2} case=other
cat ${TMP_FILE}  | perl -pe 's/\r//g' | perl -pe 's/"//g' \
  | bsortex -sort key="0.6asc" -record recform=txtcsv -input reclen=250 \
      -output file=${OTF1} case="10.10asc.ge.' '.and.(11.3asc.ne.'AC0'.and.11.3asc.ne.'AC1')" \
      -output file=${OTF2} case="10.10asc.lt.' '.and.(11.3asc.ne.'AC0'.and.11.3asc.ne.'AC1')" \
      -output file=${OTF3} case="10.10asc.ge.' '.and.(11.3asc.eq.'AC0'.or.11.3asc.eq.'AC1')" \
      -output file=${OTF4} case=other
###2024/12/02 ANK-4592-00-00 井上 MOD END

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

FILE_LEN ${OTF1}
FILE_LEN ${OTF2}
###2024/12/02 ANK-4592-00-00 井上 ADD START
FILE_LEN ${OTF3}
FILE_LEN ${OTF4}
###2024/12/02 ANK-4592-00-00 井上 ADD END

rm -f ${TMP_FILE}

# ワークファイルの後始末
rm -f ${TMP_FILE}
rm -f ${ULD_OTF}
###2015/08/10 OM-2015-0002054 福山 ADD START
rm -f ${ULD_OTF_D}
###2015/08/10 OM-2015-0002054 福山 ADD END
rm -f ${KK0591_CUR_F}
rm -f ${CK0011_TRG_F}
rm -f ${KK0081_TV_CUR_F}
rm -f ${KK0081_NET_TEL_CUR_F}
rm -f ${KK0161_CUR_F}
rm -f ${KK0241_CUR_F}
rm -f ${KK0241_CUR_NET_F}
rm -f ${KK0081_KAKIN_F}
rm -f ${KK0161_KAKIN_F}
rm -f ${KK0341_KAKIN_F}
rm -f ${KK0351_KAKIN_F}
rm -f ${AC0191_KAKIN_F}
rm -f ${KK0081_KAKIN_EXCLUDE}
rm -f ${KK0161_KAKIN_EXCLUDE}
rm -f ${KK0341_KAKIN_EXCLUDE}
rm -f ${KK0351_KAKIN_NHK}
rm -f ${KK0351_KAKIN_EXCLUDE}
rm -f ${KK0351_KAKIN_INCLUDE}
rm -f ${KAKIN_F}
rm -f ${KAKIN_F_W}
rm -f ${KK0351_KAKIN_OYA_01_F}
rm -f ${KK0351_KAKIN_OYA_03_F}
rm -f ${KK0351_KAKIN_OYA_03_F_W}

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

exit $?

