#!/bin/bash
##############################################################
# システム名    ：eo顧客基幹システム
#
# サブシステム名：契約管理
#
# シェル名      ：TV監視サーバ向け異動情報作成(初回全件)
#
# 機能          ：システム切替時に光CATV監視サーバ向けにテレビ契約(eo光テレビ/再送信/KCN)の全件分の異動データを作成する。
#
# コマンド形式  ：EO20H0310J0.sh
#
# 実行環境      ：.../app/shl
#
# 終了ステータス：ゼロ以外異常
#
# 特記事項      ：特になし
#
# 変更履歴      ：変更日      変更者       障害／仕様変更No.
#
##############################################################

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

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

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

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

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

#
#---OPD
#
OPD=$1

#
#---業務で必要な変数定義
#
UNLD_OUT=${MID_DIR_KK}/${JOBNAME}.ULD_TMP.csv
MATCH_OUT=${MID_DIR_KK}/${JOBNAME}.MATCH_TMP.csv
TV_OUT=${MID_DIR_KK}/${JOBNAME}.TV_OUT.csv
MANSION_OUT=${MID_DIR_KK}/${JOBNAME}.MANSION_OUT.csv
HOME_MEZ_OUT=${MID_DIR_KK}/${JOBNAME}.HOME_MEZ_OUT.csv
UCWK_OUT=${MID_DIR_KK}/${JOBNAME}.UCWK_OUT.csv
CNT_STB=${MID_DIR_KK}/${JOBNAME}.CNT_STB.csv
CNT_1=${MID_DIR_KK}/${JOBNAME}.CNT_1.csv
CNT_2=${MID_DIR_KK}/${JOBNAME}.CNT_2.csv
STB_OUT=${MID_DIR_KK}/${JOBNAME}.STB_OUT.csv

KK0081_OUT=${MID_DIR_KK}/${JOBNAME}.KK0081.csv
KK0081_TK=${MID_DIR_KK}/${JOBNAME}.KK0081_TK.csv
KK0081_STP=${MID_DIR_KK}/${JOBNAME}.KK0081_STP.csv
KK0081_DSL=${MID_DIR_KK}/${JOBNAME}.KK0081_DSL.csv
KK0101_OUT=${MID_DIR_KK}/${JOBNAME}.KK0101.csv
KK0161_OUT=${MID_DIR_KK}/${JOBNAME}.KK0161.csv
KK0181_OUT=${MID_DIR_KK}/${JOBNAME}.KK0181.csv
KK0241_OUT=${MID_DIR_KK}/${JOBNAME}.KK0241.csv
KK0251_OUT=${MID_DIR_KK}/${JOBNAME}.KK0251.csv
KK0341_STB=${MID_DIR_KK}/${JOBNAME}.KK0341_STB.csv
KK0341_VONU=${MID_DIR_KK}/${JOBNAME}.KK0341_VONU.csv
KK0781_OUT=${MID_DIR_KK}/${JOBNAME}.KK0781.csv
KK0891_OUT=${MID_DIR_KK}/${JOBNAME}.KK0891.csv
KU0081_OUT=${MID_DIR_KK}/${JOBNAME}.KU0081.csv
ZM0411_OUT=${MID_DIR_KK}/${JOBNAME}.ZM0411.csv
ZM0471_OUT=${MID_DIR_KK}/${JOBNAME}.ZM0471.csv

APL_FILE=${MID_DIR_KK}/KKIFE050004.txt
##############################################################
# 業務処理
##############################################################
sh ${G_TOOLSH}/EOK010210J0.sh CS00025I $JOBNAME

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

#
#--- アンロード関数
#       p1：テーブル名／クエリファイル名
EXEC_UNLOAD()
{
	sh ${G_TOOLSH}/EOKULD02.sh $1 $2
	
	rc=$?
	PRC_ERR $rc " unload error($2:rc=$rc) "
}

#
#--- クエリ編集
#       p1：ＳＱＬ定義ファイル名
#       p2：バインド変数置換文字
EDIT_MATCHING_QUERY()
{
	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
		bind_escape=`echo $bind | sed "s/\//\\\\\\\\\//g"`
		sed -i, -e 0,/#STRVAL#/s/#STRVAL#/$bind_escape/ ${MATCHING_QUERY_WORK}
	done
	
	export MATCHING_QUERY_WORK
}

#
#--- マッチング処理
#      p1：出力ファイルパス
#      p2：マッチングクエリファイルパス
EXEC_MATCHING()
{
	# 出力ファイルの初期化
	OUTFILE=$1
	QUERY_FILE=$2
	
	cat /dev/null > ${OUTFILE}
	
	rc=$?
	PRC_ERR $rc " File cat error(${OUTFILE}:rc=$rc) "

	# マッチング実行
	export ZTLOUTFILE=${OUTFILE}
	${G_TOOLSH}/util/bin/ZTLMAT01 ${QUERY_FILE}
	
	rc=$?
	PRC_ERR $rc "matching error(${QUERY_FILE}:rc=$rc)"
}

#
#-- エラー処理
#
PRC_ERR()
{
	ERR_CD=$1
	ERR_MSG=$2
	
	if [ $ERR_CD -ne 0 ]
	then
		sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME ${ERR_MSG}
		echo $JOBNAME ${ERR_MSG}
		exit ${G_RTN_ERROR}
	fi
}

#--- サービス契約情報の抽出

# 運用日の設定
EDIT_MATCHING_QUERY ${SQL_DIR}/KK_U_KK0081_76.sql "${OPD}"

# KK0081(KK_T_SVC_KEI)サービス契約の全データをアンロード
#  - SELECT(reconst)項目は以下
#      0 - 0.10 ：サービス契約番号
#      1 - 1.17 ：世代登録年月日時分秒
#      2 - 2.8  ：予約適用年月日
#      3 - 3.1  ：予約適用コード
#      4 - 4.3  ：サービス契約ステータス
#      5 - 5.2  ：サービスコード
#      6 - 6.2  ：料金グループコード
#      7 - 7.3  ：料金コースコード
#      8 - 8.12 ：提供方式契約番号
#      9 - 9.8  ：照査年月日
#     10 -10.8  ：サービス停止年月日
#     11 -11.8  ：サービス解約年月日
#     12 -12.1  ：地デジ・BSフラグ
#     13 -13.1  ：引越先サービス契約番号
#     14 -14.8  ：プラン終了年月日
#     15 -15.1  ：照査解約完了コード
EXEC_UNLOAD ${MATCHING_QUERY_WORK} ${UNLD_OUT}

# KK0081のTVデータ取得
#  サービスコード = '03' AND 料金グループコード IN ('11','12','13') AND 照査解約完了コード = '1'
CUR_INC="3.1asc.eq.'2'.and.2.8asc.le.'${OPD}'"
VAL_INC="5.2asc.eq.'03'.and.(6.2asc.eq.'11'.or.6.2asc.eq.'12'.or.6.2asc.eq.'13').and.(4.3asc.eq.'020'.or.4.3asc.eq.'030'.or.4.3asc.eq.'100'.or.4.3asc.eq.'210'.or.4.3asc.eq.'220'.or.4.3asc.eq.'910').and.15.1asc.eq.'1'"
bsortex -sort key="0.10asc,1.17asc" -record recform=txtcsv -input reclen=140 include="${CUR_INC}" < ${UNLD_OUT} \
  | bsortex -merge key="0.10asc" -record recform=txtcsv -input reclen=140 -summary suppress last \
  | bsortex -sort key="0.10asc" -record recform=txtcsv -input reclen=140 include="${VAL_INC}" -output file=${KK0081_OUT}

# TVの照査済、締結済、提供中データ取得
#  - SELECT(reconst)項目は以下
#      0 - 0.10 ：サービス契約番号
#      1 - 1.5  ：異動区分
#      2 - 2.8  ：照査年月日
#      3 - 3.14 ：更新日時
#      4 - 4.3  ：料金コースコード
#      5 - 5.1  ：地デジ・BSフラグ
#      6 - 6.2  ：サービスコード
#      7 - 7.1  ：引越先サービス契約番号
#      8 - 8.12 ：提供方式契約番号
#      9 - 9.8  ：運用日
#     10 -10.17 ：世代登録年月日時分秒
bsortex -sort key="0.10asc" -record recform=txtcsv -input reclen=140 include="4.3asc.eq.'020'.or.4.3asc.eq.'030'.or.4.3asc.eq.'100'" < ${KK0081_OUT} \
  -output reconst="0.10,'01000'.5ascA,9.8,'${OPD}230000'.14ascA,7.3,12.1,5.2,13.1,8.12,'${OPD}'.8ascA,1.17" file=${KK0081_TK}

# TVの利用停止データ取得
#  - SELECT(reconst)項目は以下
#      0 - 0.10 ：サービス契約番号
#      1 - 1.5  ：異動区分
#      2 - 2.8  ：サービス停止年月日
#      3 - 3.14 ：更新日時
#      4 - 4.3  ：料金コースコード
#      5 - 5.1  ：地デジ・BSフラグ
#      6 - 6.2  ：サービスコード
#      7 - 7.1  ：引越先サービス契約番号
#      8 - 8.12 ：提供方式契約番号
#      9 - 9.8  ：運用日
#     10 -10.17 ：世代登録年月日時分秒
bsortex -sort key="0.10asc" -record recform=txtcsv -input reclen=140 include="4.3asc.eq.'210'.or.4.3asc.eq.'220'" < ${KK0081_OUT} \
  -output reconst="0.10,'04000'.5ascA,10.8,'${OPD}230000'.14ascA,7.3,12.1,5.2,13.1,8.12,'${OPD}'.8ascA,1.17" file=${KK0081_STP}

# TVの解約データ取得
#  - SELECT項目は以下
#      0 - 0.10 ：サービス契約番号
#      1 - 1.5  ：異動区分
#      2 - 2.8  ：サービス解約年月日
#      3 - 3.14 ：更新日時
#      4 - 4.3  ：料金コースコード
#      5 - 5.1  ：地デジ・BSフラグ
#      6 - 6.2  ：サービスコード
#      7 - 7.1  ：引越先サービス契約番号
#      8 - 8.12 ：提供方式契約番号
#      9 - 9.2  ：料金グループコード
#     10 -10.8  ：プラン終了年月日
#     11 -11.17 ：世代登録年月日時分秒
bsortex -sort key="0.10asc" -record recform=txtcsv -input reclen=140 include="4.3asc.eq.'910'" < ${KK0081_OUT} \
  -output reconst="0.10,'02000'.5ascA,11.8,'${OPD}230000'.14ascA,7.3,12.1,5.2,13.1,8.12,6.2,14.8,1.17" file=${KK0081_DSL}

# 回復可能期間の設定
EDIT_MATCHING_QUERY ${SQL_DIR}/KK_U_KK0781_06.sql "${OPD}"

# KK0781(KK_M_PRC_GRP)料金グループの全データをアンロード
#  - SELECT(reconst)項目は以下
#      0 - 0.2  ：料金グループコード
#      1 - 1.17 ：世代登録年月日時分秒
#      2 - 2.8  ：予約適用年月日
#      3 - 3.8  ：期間開始日
EXEC_UNLOAD ${MATCHING_QUERY_WORK} ${UNLD_OUT}

# KK0781のカレントデータ取得
bsortex -sort key="0.2asc,1.17asc" -record recform=txtcsv -input reclen=50 include="2.8asc.le.'${OPD}'" < ${UNLD_OUT} \
  | bsortex -merge key="0.2asc" -record recform=txtcsv -input reclen=50 -summary suppress last \
  | bsortex -sort key="0.2asc" -record recform=txtcsv -input reclen=50 -output file=${KK0781_OUT}

# 解約対象のマッチング実行
#  - SELECT項目は以下
#      0 - 0.10 ：サービス契約番号
#      1 - 1.5  ：異動区分
#      2 - 2.8  ：サービス解約年月日
#      3 - 3.14 ：更新日時
#      4 - 4.3  ：料金コースコード
#      5 - 5.1  ：地デジ・BSフラグ
#      6 - 6.2  ：サービスコード
#      7 - 7.1  ：引越先サービス契約番号
#      8 - 8.12 ：提供方式契約番号
#      9 - 9.8  ：プラン終了年月日
#     10 -10.17 ：世代登録年月日時分秒
EDIT_MATCHING_QUERY ${G_TOOLSH}/util/def/KK_CM_0187.def "${KK0081_DSL} ${KK0781_OUT}"
EXEC_MATCHING ${MATCH_OUT} ${MATCHING_QUERY_WORK}

# 提供中、利用停止、解約をマージ
cat /dev/null > ${TV_OUT}
cat ${KK0081_TK} ${KK0081_STP} ${MATCH_OUT} >> ${TV_OUT}

# ワークファイル削除
rm ${KK0081_TK}
rm ${KK0081_STP}
rm ${KK0081_DSL}
rm ${KK0781_OUT}

#--- サービス契約内訳情報の抽出
EDIT_MATCHING_QUERY ${SQL_DIR}/KK_U_KK0161_12.sql "${OPD} ${OPD}"

# KK0161(KK_T_SVC_KEI_UCWK)サービス契約内訳の全データをアンロード
#  - SELECT(reconst)項目は以下
#      0 - 0.12 ：サービス契約内訳番号
#      1 - 1.17 ：世代登録年月日時分秒
#      2 - 2.8  ：予約適用年月日
#      3 - 3.1  ：予約適用コード
#      4 - 4.10 ：サービス契約番号
#      5 - 5.8  ：プラン開始年月日
#      6 - 6.8  ：プラン終了年月日
EXEC_UNLOAD ${MATCHING_QUERY_WORK} ${UNLD_OUT}

# KK0161のカレントデータ取得
bsortex -sort key="0.12asc,1.17asc" -record recform=txtcsv -input reclen=90 include="${CUR_INC}" < ${UNLD_OUT} \
  | bsortex -merge key="0.12asc" -record recform=txtcsv -input reclen=90 -summary suppress last -output file=${KK0161_OUT}

# KK0181(KK_T_SVKEIUW_EOH_TV)サービス契約内訳<eo光TV>の全データをアンロード
#  - SELECT(reconst)項目は以下
#      0 - 0.12 ：サービス契約内訳番号
#      1 - 1.17 ：世代登録年月日時分秒
#      2 - 2.1  ：予約適用コード
#      3 - 3.2  ：内訳カウント用
#      4 - 4.1  ：STBカウント用
EXEC_UNLOAD ${SQL_DIR}/KK_U_KK0181_02.sql ${UNLD_OUT}

# KK0181のカレントデータ取得
bsortex -sort key="0.12asc,1.17asc" -record recform=txtcsv -input reclen=50 include="2.1asc.eq.'2'" < ${UNLD_OUT} \
  | bsortex -merge key="0.12asc" -record recform=txtcsv -input reclen=50 -summary suppress last -output file=${KK0181_OUT}

# サービス契約内訳のマッチング実行
#  - SELECT項目は以下
#      0 - 0.10 ：サービス契約番号
#      1 - 1.12 ：サービス契約内訳番号
#      2 - 2.2  ：内訳カウント用
#      3 - 3.1  ：STBカウント用
EDIT_MATCHING_QUERY ${G_TOOLSH}/util/def/KK_CM_0190.def "${TV_OUT} ${KK0161_OUT} ${KK0181_OUT}"
EXEC_MATCHING ${UCWK_OUT} ${MATCHING_QUERY_WORK}

# サービス契約単位のサービス契約内訳件数集計
bsortex -sort key="0.10asc" -record recform=txtcsv -input reclen=40 < ${UCWK_OUT} \
  | bsortex -merge key="0.10asc" -record recform=txtcsv -input reclen=40 -summary field="2.2asc" -output file=${MATCH_OUT}

bsortex -sort key="0.10asc" -record recform=txtcsv -input reclen=40 < ${MATCH_OUT} \
 -output reconst="0.10,1.12,'9'.1ascA" file=${CNT_1} case="2.2asc.ge.'10'" \
 -output file=${CNT_2} case=other

# STB台数の集計実行
EDIT_MATCHING_QUERY ${G_TOOLSH}/util/def/KK_CM_0194.def "${CNT_2} ${UCWK_OUT}"
EXEC_MATCHING ${MATCH_OUT} ${MATCHING_QUERY_WORK}

bsortex -sort key="0.10asc" -record recform=txtcsv -input reclen=40 < ${MATCH_OUT} \
  | bsortex -merge key="0.10asc" -record recform=txtcsv -input reclen=40 -summary field="3.1asc" -output reconst="0.10,1.12,3.1" file=${CNT_2}

cat /dev/null > ${CNT_STB}
cat ${CNT_1} ${CNT_2} >> ${CNT_STB}

# ワークファイル削除
rm ${KK0161_OUT}
rm ${KK0181_OUT}
rm ${CNT_1}
rm ${CNT_2}

#--- 機器提供サービス契約情報の抽出
EDIT_MATCHING_QUERY ${SQL_DIR}/KK_U_KK0341_17.sql "${OPD} ${OPD}"

# KK0341(KK_T_KKTK_SVC_KEI)機器提供サービス契約の全データをアンロード
#  - SELECT(reconst)項目は以下
#      0 - 0.12 ：機器提供サービス契約番号
#      1 - 1.17 ：世代登録年月日時分秒
#      2 - 2.8  ：予約適用年月日
#      3 - 3.1  ：予約適用コード
#      4 - 4.2  ：宅内機器種別コード
#      5 - 5.20 ：宅内機器型式コード
#      6 - 6.20 ：機器製造番号
#      7 - 7.2  ：親契約識別コード
#      8 - 8.12 ：サービス契約内訳番号
#      9 - 9.12 ：サービス契約回線内訳番号
#     10 -10.8  ：プラン開始年月日
#     11 -11.8  ：プラン終了年月日
EXEC_UNLOAD ${MATCHING_QUERY_WORK} ${UNLD_OUT}

# KK0341のSTBデータ取得
# 宅内機器種別コード = 'A0'
bsortex -sort key="0.12asc,1.17asc" -record recform=txtcsv -input reclen=160 include="${CUR_INC}" < ${UNLD_OUT} \
  | bsortex -merge key="0.12asc" -record recform=txtcsv -input reclen=160 -summary suppress last \
  | bsortex -sort key="0.12asc" -record recform=txtcsv -input reclen=160 include="4.2asc.eq.'A0'" -output file=${KK0341_STB}

# KK0341のV-ONUデータ取得
# 宅内機器種別コード = 'E0'
bsortex -sort key="0.12asc,1.17asc" -record recform=txtcsv -input reclen=160 include="${CUR_INC}" < ${UNLD_OUT} \
  | bsortex -merge key="0.12asc" -record recform=txtcsv -input reclen=160 -summary suppress last \
  | bsortex -sort key="0.12asc" -record recform=txtcsv -input reclen=160 include="4.2asc.eq.'E0'" -output file=${KK0341_VONU}

# ZM0471(ZM_T_TAKNKIKI_WK)宅内機器ワークの全データをアンロード
#  - SELECT(reconst)項目は以下
#      0 - 0.20 ：宅内機器型式コード
#      1 - 1.20 ：機器製造番号
#      2 - 2.12 ：STBID
EXEC_UNLOAD ${SQL_DIR}/KK_U_ZM0471_03.sql ${ZM0471_OUT}

# STBIDの取得
#  - SELECT項目は以下
#      0 - 0.10 ：サービス契約番号
#      1 - 1.12 ：STBID
EDIT_MATCHING_QUERY ${G_TOOLSH}/util/def/KK_CM_0191.def "${UCWK_OUT} ${KK0341_STB} ${ZM0471_OUT}"
EXEC_MATCHING ${MATCH_OUT} ${MATCHING_QUERY_WORK}

# サービス契約単位のSTBID抽出
wk_kktkSvcKeiNo=""
val_sp="\"\""
stbid_1=$val_sp
stbid_2=$val_sp
stbid_3=$val_sp
stbid_4=$val_sp
stbid_5=$val_sp
stb_cnt=0
cat /dev/null > ${STB_OUT}

while read line
do
	line_kktkSvcKeiNo=`echo ${line} | cut -d, -f 1`
	line_stbid=`echo ${line} | cut -d, -f 2`

	if [ "${wk_kktkSvcKeiNo}" = "" ]
	then
		wk_kktkSvcKeiNo=$line_kktkSvcKeiNo
	fi

	if [ "${wk_kktkSvcKeiNo}" != "${line_kktkSvcKeiNo}" ]
	then
		echo "${wk_kktkSvcKeiNo},${stbid_1},${stbid_2},${stbid_3},${stbid_4},${stbid_5}" >> ${STB_OUT}

		wk_kktkSvcKeiNo=$line_kktkSvcKeiNo
		stb_cnt=0
		stbid_1=$val_sp
		stbid_2=$val_sp
		stbid_3=$val_sp
		stbid_4=$val_sp
		stbid_5=$val_sp
	fi

	if [ $stb_cnt -eq 0 ]
	then
		stbid_1=$line_stbid
		stb_cnt=1
	elif [ $stb_cnt -eq 1 ]
	then
		stbid_2=$line_stbid
		stb_cnt=2
	elif [ $stb_cnt -eq 2 ]
	then
		stbid_3=$line_stbid
		stb_cnt=3
	elif [ $stb_cnt -eq 3 ]
	then
		stbid_4=$line_stbid
		stb_cnt=4
	elif [ $stb_cnt -eq 4 ]
	then
		stbid_5=$line_stbid
		stb_cnt=5
	fi
done < ${MATCH_OUT}

echo "${wk_kktkSvcKeiNo},${stbid_1},${stbid_2},${stbid_3},${stbid_4},${stbid_5}" >> ${STB_OUT}

# STBID取得
#  - SELECT項目は以下
#      0 - 0.10 ：サービス契約番号
#      1 - 1.5  ：異動区分
#      2 - 2.8  ：異動日
#      3 - 3.14 ：更新日時
#      4 - 4.3  ：料金コースコード
#      5 - 5.1  ：地デジ・BSフラグ
#      6 - 6.2  ：サービスコード
#      7 - 7.1  ：引越先サービス契約番号
#      8 - 8.12 ：STBID1
#      9 - 9.12 ：STBID2
#     10 -10.12 ：STBID3
#     11 -11.12 ：STBID4
#     12 -12.12 ：STBID5
#     13 -13.12 ：提供方式契約番号
#     14 -14.8  ：プラン終了年月日
#     15 -15.17 ：世代登録年月日時分秒
EDIT_MATCHING_QUERY ${G_TOOLSH}/util/def/KK_CM_0193.def "${TV_OUT} ${STB_OUT}"
EXEC_MATCHING ${KK0081_OUT} ${MATCHING_QUERY_WORK}

# KK0241(KK_T_KAISEN_TG_SVKEI)回線対象サービス契約の全データをアンロード
#  - SELECT(reconst)項目は以下
#      0 - 0.10 ：サービス契約番号
#      1 - 1.12 ：サービス契約回線内訳番号
#      2 - 2.8  ：回線内訳使用開始年月日
EXEC_UNLOAD ${SQL_DIR}/KK_U_KK0241_15.sql ${UNLD_OUT}

# KK0241のカレントデータ取得
bsortex -sort key="0.10asc,2.8asc" -record recform=txtcsv -input reclen=50 < ${UNLD_OUT} \
  | bsortex -merge key="0.10asc" -record recform=txtcsv -input reclen=50 -summary suppress last -output file=${KK0241_OUT}

# ZM0411(ZM_M_TAKNKIKI_MODEL)宅内機器型式の全データをアンロード
#  - SELECT(reconst)項目は以下
#      0 - 0.20 ：宅内機器型式コード
#      1 - 1.1  ：VONUBSパススルー可否
EXEC_UNLOAD ${SQL_DIR}/KK_U_ZM0411_03.sql ${ZM0411_OUT}

# ワークファイル削除
rm ${TV_OUT}
rm ${KK0341_STB}
rm ${ZM0471_OUT}
rm ${STB_OUT}
rm ${UCWK_OUT}

# マンション情報の全データをアンロード
#  - SELECT(reconst)項目は以下
#      0 - 0.12 ：提供方式契約番号
#      1 - 1.10 ：CAT-ID
#      2 - 2.1  ：BSパススルー可否
#      3 - 3.10 ：P-ID
#      4 - 4.3  ：マンション物件コード
#      5 - 5.12 ：戸数
EXEC_UNLOAD ${SQL_DIR}/KK_U_KK0891_06.sql ${KK0891_OUT}

# サービス契約とマンション情報のマッチング実行
#  - SELECT項目は以下
#      0 - 0.10 ：サービス契約番号
#      1 - 1.5  ：異動区分
#      2 - 2.8  ：異動日
#      3 - 3.14 ：更新日時
#      4 - 4.3  ：料金コースコード
#      5 - 5.1  ：BSパススルー可否
#      6 - 6.1  ：地デジ・BSフラグ
#      7 - 7.2  ：サービスコード
#      8 - 8.10 ：CAT-ID
#      9 - 9.10 ：P-ID
#     10 -10.12 ：戸数
#     11 -11.1  ：引越先サービス契約番号
#     12 -12.12 ：STBID1
#     13 -13.12 ：STBID2
#     14 -14.12 ：STBID3
#     15 -15.12 ：STBID4
#     16 -16.12 ：STBID5
#     17 -17.3  ：マンション物件コード
#     18 -18.8  ：プラン終了年月日
#     19 -19.17 ：世代登録年月日時分秒
EDIT_MATCHING_QUERY ${G_TOOLSH}/util/def/KK_CM_0188.def "${KK0081_OUT} ${KK0891_OUT}"
EXEC_MATCHING ${MATCH_OUT} ${MATCHING_QUERY_WORK}

# マンションとホーム、メゾンのデータ分割
#  - SELECT項目は以下
#      0 - 0.10 ：サービス契約番号
#      1 - 1.5  ：異動区分
#      2 - 2.8  ：異動日
#      3 - 3.14 ：更新日時
#      4 - 4.3  ：料金コースコード
#      5 - 5.1  ：BSパススルー可否
#      6 - 6.1  ：地デジ・BSフラグ
#      7 - 7.2  ：サービスコード
#      8 - 8.10 ：CAT-ID
#      9 - 9.10 ：P-ID
#     10 -10.12 ：戸数
#     11 -11.1  ：引越先サービス契約番号
#     12 -12.12 ：STBID1
#     13 -13.12 ：STBID2
#     14 -14.12 ：STBID3
#     15 -15.12 ：STBID4
#     16 -16.12 ：STBID5
#     17 -17.8  ：プラン終了年月日
#     18 -18.17 ：世代登録年月日時分秒
RE_CON="0.10,1.5,2.8,3.14,4.3,5.1,6.1,7.2,8.10,9.10,10.12,11.1,12.12,13.12,14.12,15.12,16.12,18.8,19.17"
bsortex -sort key="0.10asc" -record recform=txtcsv -input reclen=230 < ${MATCH_OUT} \
 -output reconst="0.10,1.5,2.8,3.14,4.3,5.1,6.1,7.2,8.10,9.10,10.12,11.1,12.12,13.12,14.12,15.12,16.12,19.17" file=${MANSION_OUT} case="17.3asc.eq.'001'" \
 -output reconst="0.10,1.5,2.8,3.14,4.3,5.1,6.1,7.2,8.10,9.10,10.12,11.1,12.12,13.12,14.12,15.12,16.12,18.8,19.17" file=${HOME_MEZ_OUT} case=other

# ホーム、メゾンとV-ONUのマッチング実行
#  - SELECT項目は以下
#      0 - 0.10 ：サービス契約番号
#      1 - 1.5  ：異動区分
#      2 - 2.8  ：異動日
#      3 - 3.14 ：更新日時
#      4 - 4.3  ：料金コースコード
#      5 - 5.1  ：VONUBSパススルー可否
#      6 - 6.1  ：地デジ・BSフラグ
#      7 - 7.2  ：サービスコード
#      8 - 8.10 ：CAT-ID
#      9 - 9.10 ：P-ID
#     10 -10.12 ：戸数
#     11 -11.1  ：引越先サービス契約番号
#     12 -12.12 ：STBID1
#     13 -13.12 ：STBID2
#     14 -14.12 ：STBID3
#     15 -15.12 ：STBID4
#     16 -16.12 ：STBID5
#     17 -17.17 ：世代登録年月日時分秒
EDIT_MATCHING_QUERY ${G_TOOLSH}/util/def/KK_CM_0189.def "${HOME_MEZ_OUT}  ${KK0241_OUT} ${KK0341_VONU} ${ZM0411_OUT}"
EXEC_MATCHING ${MATCH_OUT} ${MATCHING_QUERY_WORK}

# ホーム、メゾン、マンションをマージ
cat /dev/null > ${KK0081_OUT}
cat ${MATCH_OUT} ${MANSION_OUT} >> ${KK0081_OUT}

# ワークファイル削除
rm ${KK0891_OUT}
rm ${KK0341_VONU}
rm ${ZM0411_OUT}
rm ${HOME_MEZ_OUT}
rm ${MANSION_OUT}
rm ${MATCH_OUT}

# KU0081(KU_T_SVKEI_KOJIAK)サービス契約_工事案件の全データをアンロード
#  - SELECT(reconst)項目は以下
#      0 - 0.10 ：サービス契約番号
#      1 - 1.10 ：工事案件番号
#      2 - 2.8  ：サービス契約_工事案件適用開始年月日
EXEC_UNLOAD ${SQL_DIR}/KK_U_KU0081_09.sql ${UNLD_OUT}

# KU0081のカレントデータ取得
bsortex -sort key="0.10asc,2.8asc" -record recform=txtcsv -input reclen=50 < ${UNLD_OUT} \
  | bsortex -merge key="0.10asc" -record recform=txtcsv -input reclen=50 -summary suppress last -output file=${KU0081_OUT}

# KK0101(KK_T_SVC_KEI_EOH_TV)サービス契約<eo光TV>の全データをアンロード
#  - SELECT(reconst)項目は以下
#      0 - 0.10 ：サービス契約番号
#      1 - 1.17 ：世代登録年月日時分秒
#      2 - 2.1  ：予約適用コード
#      3 - 3.10 ：電波障害案件番号
EXEC_UNLOAD ${SQL_DIR}/KK_U_KK0101_03.sql ${KK0101_OUT}

# KK0251(KK_T_SVKEI_KAISEN_UW)サービス契約回線内訳の全データをアンロード
#  - SELECT(reconst)項目は以下
#      0 - 0.12 ：サービス契約回線内訳番号
#      1 - 1.17 ：世代登録年月日時分秒
#      2 - 2.122：回線場所都道府県名 || 回線場所市区町村名 || 回線場所大字通称名 || 回線場所字丁目名 || 回線場所番地号
#      3 - 3.90 ：回線場所住所補記・建物名
#      4 - 4.8  ：起点変電所コード
#      5 - 5.1  ：利用場所住所３
#      6 - 6.1  ：予備項目１
#      7 - 7.1  ：予備項目２
#      8 - 8.1  ：予備項目３
#      9 - 9.1  ：予備項目４
#     10 -10.1  ：予備項目５
#     11 -11.1  ：予備項目６
#     12 -12.1  ：予備項目７
#     13 -13.1  ：予備項目８
#     14 -14.1  ：予備項目９
EXEC_UNLOAD ${SQL_DIR}/KK_U_KK0251_11.sql ${UNLD_OUT}

# KK0251のカレントデータ取得
bsortex -sort key="0.12asc,1.17asc" -record recform=txtcsv -input reclen=310 < ${UNLD_OUT} \
  | bsortex -merge key="0.12asc" -record recform=txtcsv -input reclen=310 -summary suppress last \
    -output reconst="0.12,2.122,3.90,4.8,5.1,6.1,7.1,8.1,9.1,10.1,11.1,12.1,13.1,14.1" file=${KK0251_OUT}

# マッチング実行
#  - SELECT項目は以下
#      0 - 0.10 ：サービス契約番号
#      1 - 1.5  ：異動区分
#      2 - 2.8  ：異動日
#      3 - 3.14 ：更新日時
#      4 - 4.3  ：料金コースコード
#      5 - 5.1  ：パススルー可否
#      6 - 6.1  ：地デジ・BSフラグ
#      7 - 7.10 ：工事案件番号
#      8 - 8.8  ：起点変電所コード
#      9 - 9.2  ：サービスコード
#     10 -10.10 ：CAT-ID
#     11 -11.10 ：P-ID
#     12 -12.12 ：戸数
#     13 -13.10  ：電波障害案件番号
#     14 -14.1  ：引越先サービス契約番号
#     15 -15.1  ：カウント用
#     16 -16.12 ：STBID1
#     17 -17.12 ：STBID2
#     18 -18.12 ：STBID3
#     19 -19.12 ：STBID4
#     20 -20.12 ：STBID5
#     21 -21.122：回線場所都道府県名 || 回線場所市区町村名 || 回線場所大字通称名 || 回線場所字丁目名 || 回線場所番地号
#     22 -22.90 ：回線場所住所補記・建物名
#     23 - 5.1  ：利用場所住所３
#     24 - 6.1  ：予備項目１
#     25 - 7.1  ：予備項目２
#     26 - 8.1  ：予備項目３
#     27 - 9.1  ：予備項目４
#     28 -10.1  ：予備項目５
#     29 -11.1  ：予備項目６
#     30 -12.1  ：予備項目７
#     31 -13.1  ：予備項目８
#     32 -14.1  ：予備項目９
EDIT_MATCHING_QUERY ${G_TOOLSH}/util/def/KK_CM_0192.def "${KK0081_OUT} ${KU0081_OUT} ${KK0101_OUT} ${CNT_STB} ${KK0241_OUT} ${KK0251_OUT}"
EXEC_MATCHING ${APL_FILE} ${MATCHING_QUERY_WORK}

# ワークファイル削除
rm ${KK0081_OUT}
rm ${KU0081_OUT}
rm ${KK0101_OUT}
rm ${CNT_STB}
rm ${KK0241_OUT}
rm ${KK0251_OUT}
rm ${UNLD_OUT}
rm ${MATCHING_QUERY_WORK}

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

exit $exit_rc
