#!/bin/bash
##############################################################
# システム名    ：eo顧客基幹システム
#
# サブシステム名：契約管理
#
# シェル名      ：STB無線LAN接続対象抽出
#
# 機能          ：eo光テレビの工事案件よりSTB設置時に無線LAN設定が
#                 実施可能である工事案件を抽出し、ファイル出力を行う。
#
# コマンド形式  ：EO2EI0110J0.sh
#
# 実行環境      ：.../app/shl
#
# 終了ステータス：ゼロ以外異常
#
# 特記事項      ：特になし
#
# 変更履歴      ：変更日      変更者       障害／仕様変更No.
# v10.00.00        2014/07/11  FJ)松本     新規作成(【ANK-2140-00-00】STB設置工事時の無線LAN設定)
# v10.01.00        2014/08/8   FJ)松本     IT1-2014-0000270　STB無線LAN接続対象リスト作成を走行したところ長時間走行した
# v10.02.00        2014/08/18  FJ)松本     IT1-2014-0000291　STB無線LAN接続対象抽出を実行したところ当日分のデータが抽出されない
# v48.00.00        2019/11/12  FJ)謝       【ANK-3736-00-00】【eo】宅内機器管理機能の適正化に伴うOPMS／MUSe連携データのレイアウト変更
# v48.00.01        2020/01/20  FJ)謝       【IT1-2020-0000004】対応
# v55.00.00        2021/10/20  GDC)J.Hortilano       【ANK-4146-00-00】【eo定期】多機能ルーター枯渇対応STEP2
# v61.00.00        2023/05/17  GDC)ml.alcantara       【ANK-4315-00-00】【eo定期】eoホームゲートウェイ導入対応 step3
##############################################################

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

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

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

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

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

#
#---OPD
#
OPD=$1

#
#---運用日付取得
#
if [ "${OPD}" = "" ];then

### IT1-2014-0000291対応 2014/08/18 松本 MOD START 
#    . EOK010310J0.sh "BDATE"
     . EOK010310J0.sh "NDATE"
### IT1-2014-0000291対応 2014/08/18 松本 MOD END    
else
    RSLT_OPEDATE=${OPD}
fi

##############################################################
# 業務処理
##############################################################
sh ${G_TOOLSH}/EOK010210J0.sh CS00025I $JOBNAME

#
#--- アンロード関数
#       p1：テーブル名／クエリファイル名
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) "
        return ${G_RTN_ERROR}
    fi
    
    # unload(KK_T_CRECARD)
    sh ${G_TOOLSH}/EOKULD02.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) "
        return ${G_RTN_ERROR}
    fi
    
    return ${G_RTN_NORMAL}
}

#--- クエリ編集
#       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) "
        return ${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
    
    return ${G_RTN_NORMAL}
}

### IT1-2014-0000270対応 20140722 星野 ADD START
#
#--- クエリ編集
#       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) "
		return ${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,/#FILE#/s/#FILE#/$bind_escape/ ${MATCHING_QUERY_WORK}
	done
	
	export MATCHING_QUERY_WORK
	
    return ${G_RTN_NORMAL}
}

#
#--- マッチング処理
#      p1：出力ファイルパス
#      p2：マッチングクエリファイルパス
EXEC_MATCHING()
{
	# 出力ファイルの初期化
	MATCHING_OUTFILE=$1
	cat /dev/null > ${MATCHING_OUTFILE}
	rc=$?
	if [ $rc -ne 0 ]
	then
		sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File cat error(${MATCHING_OUTFILE}:rc=$rc) "
		echo $JOBNAME " File cat error(${MATCHING_OUTFILE}:rc=$rc) "
		return ${G_RTN_ERROR}
	fi

	# マッチング実行
	export ZTLOUTFILE=${MATCHING_OUTFILE}
	${G_TOOLSH}/util/bin/ZTLMAT01 $2
	rc=$?
	if [ $rc -ne 0 ]
	then
		sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " matching error($2:rc=$rc) "
		echo $JOBNAME " matching error($2:rc=$rc) "
		return ${G_RTN_ERROR}
	fi
	
    return ${G_RTN_NORMAL}
}
### IT1-2014-0000270対応 20140722 星野 ADD END

#
# ファイルの削除
#
REMOVE_FILE()
{
    for FILE in $@
    do
        rm ${FILE}
    done
}

### IT1-2014-0000270対応 20140722 星野 MOD START
##
##--- SQL定義ファイル・出力ファイルの設定
##
#SQL_FILE_U_KK_U_KU0011_13=${SQL_DIR}/KK_U_KU0011_13.sql
#
#KUIFI003_OUTFILE=${SEND_DIR}/KUIFI003001_${RSLT_OPEDATE}.csv
#
#
#
##--- STB無線LAN接続対象のデータ抽出
#EDIT_ULD_QUERY ${SQL_FILE_U_KK_U_KU0011_13} "${RSLT_OPEDATE} ${RSLT_OPEDATE} ${RSLT_OPEDATE} ${RSLT_OPEDATE} ${RSLT_OPEDATE} ${RSLT_OPEDATE} ${RSLT_OPEDATE} ${RSLT_OPEDATE} ${RSLT_OPEDATE} ${RSLT_OPEDATE}"
#rc=$?
#if [ $rc -ne 0 ]
#then
#    exit ${G_RTN_ERROR}
#fi
#
#EXEC_UNLOAD ${SQL_WORK_FILE} ${KUIFI003_OUTFILE}
#
##--- 改行(LF→CRLF)
#nkf -Lw --overwrite ${KUIFI003_OUTFILE}
#
#rc=$?
#if [ $rc -ne 0 ]
#then
#    exit ${G_RTN_ERROR}
#fi







#
#--- SQL定義ファイル・出力ファイルの設定
#
SQL_FILE_U_KK_U_KU0011_14=${SQL_DIR}/KK_U_KU0011_14.sql
SQL_FILE_U_KK_U_KU0031_01=${SQL_DIR}/KK_U_KU0031_01.sql
SQL_FILE_U_KK_U_KU0141_05=${SQL_DIR}/KK_U_KU0141_05.sql
SQL_FILE_U_KK_U_KK0341_28=${SQL_DIR}/KK_U_KK0341_28.sql
SQL_FILE_U_KK_U_KK0791_10=${SQL_DIR}/KK_U_KK0791_10.sql
SQL_FILE_U_KK_U_KU0081_10=${SQL_DIR}/KK_U_KU0081_10.sql
SQL_FILE_U_KK_U_KK2811_12=${SQL_DIR}/KK_U_KK2811_12.sql
SQL_FILE_U_KK_U_KK0241_25=${SQL_DIR}/KK_U_KK0241_25.sql
SQL_FILE_U_KK_U_KK0081_100=${SQL_DIR}/KK_U_KK0081_100.sql
# IT1-2020-0000004 ADD START
SQL_FILE_U_KK_U_KU0011_18=${SQL_DIR}/KK_U_KU0011_18.sql
# IT1-2020-0000004 ADD END


KU0011_ULD=${TMP_DIR_KK}/${JOBNAME}_KU0011_uld.csv
KU0031_ULD=${TMP_DIR_KK}/${JOBNAME}_KU0031_uld.csv
KU0141_ULD=${TMP_DIR_KK}/${JOBNAME}_KU0141_uld.csv
KK0341_ULD=${TMP_DIR_KK}/${JOBNAME}_KK0341_uld.csv
KK0791_ULD=${TMP_DIR_KK}/${JOBNAME}_KK0791_uld.csv
KU0081_ULD=${TMP_DIR_KK}/${JOBNAME}_KU0081_uld.csv
KK2811_ULD=${TMP_DIR_KK}/${JOBNAME}_KK2811_uld.csv
KK0241_ULD=${TMP_DIR_KK}/${JOBNAME}_KK0241_uld.csv
KK0081_ULD=${TMP_DIR_KK}/${JOBNAME}_KK0081_uld.csv


KU0011_TRGT=${TMP_DIR_KK}/${JOBNAME}_KU0011_trgt.csv
KU0031_TRGT=${TMP_DIR_KK}/${JOBNAME}_KU0031_trgt.csv
KU0141_RSV=${TMP_DIR_KK}/${JOBNAME}_KU0141_rsv.csv
KU0141_CHGE=${TMP_DIR_KK}/${JOBNAME}_KU0141_chge.csv
KK0341_C009=${TMP_DIR_KK}/${JOBNAME}_KK0341_C009.csv
KK0341_C009=${TMP_DIR_KK}/${JOBNAME}_KK0341_C009.csv
KK0341_C014=${TMP_DIR_KK}/${JOBNAME}_KK0341_C014.csv
KK0341_C024=${TMP_DIR_KK}/${JOBNAME}_KK0341_C024.csv
KK0791_TRGT=${TMP_DIR_KK}/${JOBNAME}_KK0791_trgt.csv
KU0081_CRNT=${TMP_DIR_KK}/${JOBNAME}_KU0081_crnt.csv
KK2811_TRGT=${TMP_DIR_KK}/${JOBNAME}_KK2811_trgt.csv
KK0241_CRNT=${TMP_DIR_KK}/${JOBNAME}_KK0241_crnt.csv
KK0081_TRGT=${TMP_DIR_KK}/${JOBNAME}_KK0081_trgt.csv


TARGET_KOJIAK1=${TMP_DIR_KK}/${JOBNAME}_TARGET_KOJIAK1.csv
TARGET_KOJIAK2_RSV=${TMP_DIR_KK}/${JOBNAME}_TARGET_KOJIAK2_RSV.csv
TARGET_KOJIAK2_CHGE=${TMP_DIR_KK}/${JOBNAME}_TARGET_KOJIAK2_CHGE.csv
TARGET_KOJIAK2=${TMP_DIR_KK}/${JOBNAME}_TARGET_KOJIAK2.csv
KUIFI003_TMP1=${TMP_DIR_KK}/${JOBNAME}_KUIFI003_TMP1.csv
KUIFI003_TMP2=${TMP_DIR_KK}/${JOBNAME}_KUIFI003_TMP2.csv


KUIFI003_OUTFILE=${SEND_DIR}/KUIFI003001_${RSLT_OPEDATE}.csv


# ANK-3736-00-00 ADD START
# IT1-2020-0000004 DEL START
#COMULD2_KU0011_ALL=${MID_DIR_CC}/CCIFM034001.csv
# IT1-2020-0000004 DEL END
KU0011_TMP=${TMP_DIR_KK}/${JOBNAME}_KU0011_TMP.csv
KUIFI003_TMP3=${TMP_DIR_KK}/${JOBNAME}_KUIFI003_TMP3.csv
KUIFI003_OUTFILE_MUSE=${SEND_DIR}/KUIFI003002_${RSLT_OPEDATE}.csv
# ANK-3736-00-00 ADD END







#--- 工事案件のアンロード
#  - 抽出条件
#      0 ：工事案件ステータス = '140','150','160','170','180','190'
#      1 ：工事案件種別コード = '001','003','008','013'
#
#  - SELECT(reconst)項目は以下
#       0.10 ：工事案件番号
#       1.3  ：工事案件ステータス
#       2.3  ：工事案件種別コード
#       3.1  ：無効フラグ
EDIT_ULD_QUERY ${SQL_FILE_U_KK_U_KU0011_14}
rc=$?
if [ $rc -ne 0 ]
then
    exit ${G_RTN_ERROR}
fi

EXEC_UNLOAD ${SQL_WORK_FILE} ${KU0011_ULD}
rc=$?
if [ $rc -ne 0 ]
then
    exit ${G_RTN_ERROR}
fi


#--- 工事案件<eo光テレビ>のアンロード
#  - 抽出条件
#      なし
#
#  - SELECT(reconst)項目は以下
#       0.10 ：工事案件番号
#       1.1  ：無効フラグ
EDIT_ULD_QUERY ${SQL_FILE_U_KK_U_KU0031_01}
rc=$?
if [ $rc -ne 0 ]
then
    exit ${G_RTN_ERROR}
fi

EXEC_UNLOAD ${SQL_WORK_FILE} ${KU0031_ULD}
rc=$?
if [ $rc -ne 0 ]
then
    exit ${G_RTN_ERROR}
fi


#--- 工事案件対象宅内機器のアンロード
#  - 抽出条件
#      なし
#
#  - SELECT(reconst)項目は以下
#       0.12 ：工事案件対象宅内機器番号
#       1.10 ：工事案件番号
#       2.12 ：機器提供サービス契約番号
#       3.12 ：予定機器変更番号
#       4.12 ：変更機器変更番号
#       5.3  ：工事案件対象宅内機器ステータス
#       6.1  ：設置撤去フラグ
#       7.2  ：宅内機器種別コード
#       8.2  ：宅内機器異動コード
#       9.1  ：無効フラグ
EDIT_ULD_QUERY ${SQL_FILE_U_KK_U_KU0141_05}
rc=$?
if [ $rc -ne 0 ]
then
    exit ${G_RTN_ERROR}
fi

EXEC_UNLOAD ${SQL_WORK_FILE} ${KU0141_ULD}
rc=$?
if [ $rc -ne 0 ]
then
    exit ${G_RTN_ERROR}
fi


#--- 機器提供サービス契約のアンロード
#  - 抽出条件
#      0 ：機器提供サービスコード = 'C009','C014','C024','C025'
#
#  - SELECT(reconst)項目は以下
#       0.12 ：機器提供サービス契約番号
#       1.12 ：機器変更番号
#       2.10 ：サービス契約番号
#       3.12 ：サービス契約回線内訳番号
#       4.3  ：料金コースコード
#       5.4  ：機器提供サービスコード
#       6.3  ：機器提供サービス契約ステータス
#       7.8  ：予約適用年月日
#       8.17 ：世代登録年月日時分秒
#       9.1  ：予約適用コード
#      10.1  ：無効フラグ
EDIT_ULD_QUERY ${SQL_FILE_U_KK_U_KK0341_28}
rc=$?
if [ $rc -ne 0 ]
then
    exit ${G_RTN_ERROR}
fi

EXEC_UNLOAD ${SQL_WORK_FILE} ${KK0341_ULD}
rc=$?
if [ $rc -ne 0 ]
then
    exit ${G_RTN_ERROR}
fi


#--- 料金コースのアンロード
#  - 抽出条件
#      なし
#
#  - SELECT(reconst)項目は以下
#       0.3  ：料金コースコード
#       1.1  ：STB無線LAN機能有無
#       2.8  ：予約適用年月日
#       3.17 ：世代登録年月日時分秒
#       4.1  ：無効フラグ
EDIT_ULD_QUERY ${SQL_FILE_U_KK_U_KK0791_10}
rc=$?
if [ $rc -ne 0 ]
then
    exit ${G_RTN_ERROR}
fi

EXEC_UNLOAD ${SQL_WORK_FILE} ${KK0791_ULD}
rc=$?
if [ $rc -ne 0 ]
then
    exit ${G_RTN_ERROR}
fi


#--- サービス契約_工事案件のアンロード
#  - 抽出条件
#      なし
#
#  - SELECT(reconst)項目は以下
#       0.10 ：サービス契約番号
#       1.10 ：工事案件番号
#       2.12 ：サービス契約回線内訳番号
#       3.8  ：サービス契約_工事案件適用開始年月日
#       4.8  ：サービス契約_工事案件適用終了年月日
#       5.1  ：無効フラグ
EDIT_ULD_QUERY ${SQL_FILE_U_KK_U_KU0081_10}
rc=$?
if [ $rc -ne 0 ]
then
    exit ${G_RTN_ERROR}
fi

EXEC_UNLOAD ${SQL_WORK_FILE} ${KU0081_ULD}
rc=$?
if [ $rc -ne 0 ]
then
    exit ${G_RTN_ERROR}
fi


#--- 機器オプションサービス契約のアンロード
#  - 抽出条件
#      0 ：機器オプションサービスコード = 'G01'
#
#  - SELECT(reconst)項目は以下
#       0.12 ：機器オプションサービス契約番号
#       1.12 ：機器提供サービス契約番号
#       2.3  ：機器オプションサービスコード
#       3.3  ：料金コースコード
#       4.3  ：機器オプションサービス契約ステータス
#       5.8  ：予約適用年月日
#       6.17 ：世代登録年月日時分秒
#       7.1  ：予約適用コード
#       8.1  ：無効フラグ
EDIT_ULD_QUERY ${SQL_FILE_U_KK_U_KK2811_12}
rc=$?
if [ $rc -ne 0 ]
then
    exit ${G_RTN_ERROR}
fi

EXEC_UNLOAD ${SQL_WORK_FILE} ${KK2811_ULD}
rc=$?
if [ $rc -ne 0 ]
then
    exit ${G_RTN_ERROR}
fi


#--- 回線対象サービス契約のアンロード
#  - 抽出条件
#      なし
#
#  - SELECT(reconst)項目は以下
#       0.10 ：サービス契約番号
#       1.12 ：サービス契約回線内訳番号
#       2.8  ：回線内訳使用開始年月日
#       3.8  ：回線内訳使用終了年月日
#       4.1  ：無効フラグ
EDIT_ULD_QUERY ${SQL_FILE_U_KK_U_KK0241_25}
rc=$?
if [ $rc -ne 0 ]
then
    exit ${G_RTN_ERROR}
fi

EXEC_UNLOAD ${SQL_WORK_FILE} ${KK0241_ULD}
rc=$?
if [ $rc -ne 0 ]
then
    exit ${G_RTN_ERROR}
fi


#--- サービス契約のアンロード
#  - 抽出条件
#      0 ：料金グループコード = '02','03','04'
#
#  - SELECT(reconst)項目は以下
#       0.10 ：サービス契約番号
#       1.2  ：料金グループコード
#       2.3  ：サービス契約ステータス
#       3.8  ：予約適用年月日
#       4.17 ：世代登録年月日時分秒
#       5.1  ：予約適用コード
#       6.1  ：無効フラグ
EDIT_ULD_QUERY ${SQL_FILE_U_KK_U_KK0081_100}
rc=$?
if [ $rc -ne 0 ]
then
    exit ${G_RTN_ERROR}
fi

EXEC_UNLOAD ${SQL_WORK_FILE} ${KK0081_ULD}
rc=$?
if [ $rc -ne 0 ]
then
    exit ${G_RTN_ERROR}
fi





#--- 工事案件の抽出
#  - 抽出条件
#      0 ：無効フラグ(3) = '0'
#
#  - SELECT(reconst)項目は以下
#       0.10 ：工事案件番号
bsortex -sort key="0.12asc" -record recform=txtcsv -input file=${KU0011_ULD} reclen=50 include="3.3asc.eq.'0'" \
 -output file=${KU0011_TRGT} reconst="0.12"
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


#--- 工事案件<eo光テレビ>の抽出
#  - 抽出条件
#      0 ：無効フラグ(1) = '0'
#
#  - SELECT(reconst)項目は以下
#       0.10 ：工事案件番号
bsortex -sort key="0.12asc" -record recform=txtcsv -input file=${KU0031_ULD} reclen=50 include="1.3asc.eq.'0'" \
 -output file=${KU0031_TRGT} reconst="0.12"
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


#--- 工事案件対象宅内機器の抽出
#  - 抽出条件
#      0  ：無効フラグ(9) = '0'
#      1  ：工事案件対象宅内機器ステータス(5) = '120','130','140','150'
#      2  ：設置撤去フラグ(6) = '1'
#      3  ：宅内機器種別コード(7) = 'A0'
#      4  ：宅内機器異動コード(8) = '01','02'
#
#      a5 ：変更機器変更番号(4) =  未設定
#
#      b5 ：変更機器変更番号(4) ≠ 未設定
#
#  - SELECT(reconst)項目は以下
#       0.12 ：工事案件対象宅内機器番号
#       1.10 ：工事案件番号
#       2.12 ：機器提供サービス契約番号
#       2.12 ：予定機器変更番号
#       3.12 ：変更機器変更番号
bsortex -sort key="1.12asc,0.14asc" -record recform=txtcsv -input file=${KU0141_ULD} reclen=100\
 include="9.3asc.eq.'0',(5.5asc.eq.'120'.or.5.5asc.eq.'130'.or.5.5asc.eq.'140'.or.5.5asc.eq.'150'),6.3asc.eq.'1',7.4asc.eq.'A0',(8.4asc.eq.'01'.or.8.4asc.eq.'02')" \
 -output file=${KU0141_RSV}  include="4.14asc.lt.'0'" reconst="0.14,1.12,2.14,3.14,4.14" \
 -output file=${KU0141_CHGE} include="4.14asc.ge.'0'" reconst="0.14,1.12,2.14,3.14,4.14"
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


#--- 機器提供サービス契約の抽出
#  - 抽出条件
#      0   ：カレント取得（予約適用コード='1'を最優先・未来日レコード含む・機器提供サービス契約と機器変更番号単位で最新）
#
#      a1 ：機器提供サービスコード(5) = 'C009'
#
#  - SELECT(reconst)項目は以下
#       0.12 ：機器提供サービス契約番号
#       1.12 ：機器変更番号
#       2.10 ：サービス契約番号
#       3.12 ：サービス契約回線内訳番号
#       4.3  ：料金コースコード
#       5.4  ：機器提供サービスコード
#       6.3  ：機器提供サービス契約ステータス
bsortex -sort key="0.14asc,1.14asc,7.10asc,8.19asc" -record recform=txtcsv -input file=${KK0341_ULD} reclen=200 include="10.3asc.eq.'0',(9.3asc.eq.'1'.or.9.3asc.eq.'2')" \
 | bsortex -merge key="0.14asc,1.14asc" -record recform=txtcsv -input reclen=200 -summary suppress last \
 | bsortex -sort  key="0.14asc,1.14asc" -record recform=txtcsv -input reclen=200 \
 -output file=${KK0341_C009} include="5.6asc.eq.'C009'" reconst="0.14,1.12,2.12,3.14,4.5,5.6,6.5"

 
#--- 機器提供サービス契約の抽出
#  - 抽出条件
#      0   ：カレント取得（予約適用コード='1'を最優先・未来日レコード含む）
#
#      b1 ：機器提供サービスコード(5) = 'C014'
#      b2 ：料金コースコード(4) = 'C22','C23','C32','C33','C42', 'CA6'
#      b3 ：機器提供サービス契約ステータス(6) = '020','030','100','110','210','220'
#
#      c1 ：機器提供サービスコード(5) = 'C024','C025'
#      c2 ：機器提供サービス契約ステータス(6) = '020','030','100','110','210','220'
#
#  - SELECT(reconst)項目は以下
#       0.12 ：機器提供サービス契約番号
#       1.12 ：機器変更番号
#       2.10 ：サービス契約番号
#       3.12 ：サービス契約回線内訳番号
#       4.3  ：料金コースコード
#       5.4  ：機器提供サービスコード
#       6.3  ：機器提供サービス契約ステータス
# ANK-4146-00-00 MOD START
#bsortex -sort key="0.14asc,9.3ascr,7.10asc,8.19asc" -record recform=txtcsv -input file=${KK0341_ULD} reclen=200 #include="10.3asc.eq.'0',(9.3asc.eq.'1'.or.9.3asc.eq.'2')" \
#| bsortex -merge key="0.14asc" -record recform=txtcsv -input reclen=200 -summary suppress last \
#| bsortex -sort  key="0.14asc" -record recform=txtcsv -input reclen=200 \
#-output file=${KK0341_C014} #include="5.6asc.eq.'C014',(4.5asc.eq.'C22'.or.4.5asc.eq.'C23'.or.4.5asc.eq.'C32'.or.4.5asc.eq.'C33'.or.4.5asc.eq.'C42'),(6.5asc.eq.'020'.or.6.5as#c.eq.'030'.or.6.5asc.eq.'100'.or.6.5asc.eq.'110'.or.6.5asc.eq.'210'.or.6.5asc.eq.'220')" reconst="0.14,1.12,2.12,3.14,4.5,5.6,6.5" \
#-output file=${KK0341_C024} #include="5.6asc.eq.'C024',(6.5asc.eq.'020'.or.6.5asc.eq.'030'.or.6.5asc.eq.'100'.or.6.5asc.eq.'110'.or.6.5asc.eq.'210'.or.6.5asc.eq.'220')" #reconst="0.14,1.12,2.12,3.14,4.5,5.6,6.5"
# ANK-4315-00-00 MOD START
#bsortex -sort key="0.14asc,9.3ascr,7.10asc,8.19asc" -record recform=txtcsv -input file=${KK0341_ULD} reclen=200 include="10.3asc.eq.'0',(9.3asc.eq.'1'.or.9.3asc.eq.'2')" \
# | bsortex -merge key="0.14asc" -record recform=txtcsv -input reclen=200 -summary suppress last \
# | bsortex -sort  key="0.14asc" -record recform=txtcsv -input reclen=200 \
# -output file=${KK0341_C014} #include="5.6asc.eq.'C014',(4.5asc.eq.'C22'.or.4.5asc.eq.'C23'.or.4.5asc.eq.'C32'.or.4.5asc.eq.'C33'.or.4.5asc.eq.'C42'.or.4.5asc.eq.'CA6'),(6.5asc.eq.'020'.or.6.5asc.eq.'030'.or.6.5asc.eq.'100'.or.6.5asc.eq.'110'.or.6.5asc.eq.'210'.or.6.5asc.eq.'220')" reconst="0.14,1.12,2.12,3.14,4.5,5.6,6.5" \
# -output file=${KK0341_C024} include="5.6asc.eq.'C024',(6.5asc.eq.'020'.or.6.5asc.eq.'030'.or.6.5asc.eq.'100'.or.6.5asc.eq.'110'.or.6.5asc.eq.'210'.or.6.5asc.eq.'220')" reconst="0.14,1.12,2.12,3.14,4.5,5.6,6.5"
bsortex -sort key="0.14asc,9.3ascr,7.10asc,8.19asc" -record recform=txtcsv -input file=${KK0341_ULD} reclen=200 include="10.3asc.eq.'0',(9.3asc.eq.'1'.or.9.3asc.eq.'2')" \
 | bsortex -merge key="0.14asc" -record recform=txtcsv -input reclen=200 -summary suppress last \
 | bsortex -sort  key="0.14asc" -record recform=txtcsv -input reclen=200 \
 -output file=${KK0341_C014} include="5.6asc.eq.'C014',(4.5asc.eq.'C22'.or.4.5asc.eq.'C23'.or.4.5asc.eq.'C32'.or.4.5asc.eq.'C33'.or.4.5asc.eq.'C42'.or.4.5asc.eq.'CA6'),(6.5asc.eq.'020'.or.6.5asc.eq.'030'.or.6.5asc.eq.'100'.or.6.5asc.eq.'110'.or.6.5asc.eq.'210'.or.6.5asc.eq.'220')" reconst="0.14,1.12,2.12,3.14,4.5,5.6,6.5" \
 -output file=${KK0341_C024} include="(5.6asc.eq.'C024'.or.5.6asc.eq.'C025'),(6.5asc.eq.'020'.or.6.5asc.eq.'030'.or.6.5asc.eq.'100'.or.6.5asc.eq.'110'.or.6.5asc.eq.'210'.or.6.5asc.eq.'220')" reconst="0.14,1.12,2.12,3.14,4.5,5.6,6.5"
# ANK-4315-00-00 MOD END
# ANK-4146-00-00 MOD END
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


#--- 料金コースの抽出
#  - 抽出条件
#      0   ：カレント取得
#      1   ：STB無線LAN機能有無 = '1'
#
#  - SELECT(reconst)項目は以下
#       0.3  ：料金コースコード
#       1.1  ：STB無線LAN機能有無
bsortex -sort key="0.5asc,2.10asc,3.19asc" -record recform=txtcsv -input file=${KK0791_ULD} reclen=100 include="4.3asc.eq.'0'" \
 | bsortex -merge key="0.5asc" -record recform=txtcsv -input reclen=100 -summary suppress last \
 | bsortex -sort  key="0.5asc" -record recform=txtcsv -input reclen=100 include="1.3asc.eq.'1'" \
 -output file=${KK0791_TRGT} reconst="0.5,1.3"
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


#--- サービス契約_工事案件の抽出
#  - 抽出条件
#      0   ：サービス契約_工事案件適用開始年月日(3) <= 運用日付
#      1   ：サービス契約_工事案件適用終了年月日(4) >= 運用日付
#      2   ：無効フラグ(5) = '0'
#
#  - SELECT(reconst)項目は以下
#       0.10 ：サービス契約番号
#       1.10 ：工事案件番号
#       2.12 ：サービス契約回線内訳番号
bsortex -sort key="0.12asc,1.12asc" -record recform=txtcsv -input file=${KU0081_ULD} reclen=100 include="3.10asc.le.'${RSLT_OPEDATE}',4.10asc.ge.'${RSLT_OPEDATE}',5.3asc.eq.'0'" \
 -output file=${KU0081_CRNT} reconst="0.12,1.12,2.14"
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


#--- 機器オプションサービス契約の抽出
#  - 抽出条件
#      0   ：カレント取得
#      1   ：料金コースコード(3) = 'G02'
#      2   ：機器オプションサービス契約ステータス(4) = '020','030','100','210','220'
#
#  - SELECT(reconst)項目は以下
#       0.12 ：機器オプションサービス契約番号
#       1.12 ：機器提供サービス契約番号
bsortex -sort key="0.14asc,7.10asc,6.19asc" -record recform=txtcsv -input file=${KK2811_ULD} reclen=100 include="8.3asc.eq.'0',7.3asc.eq.'2',5.10asc.le.'${RSLT_OPEDATE}'" \
 | bsortex -merge key="0.14asc" -record recform=txtcsv -input reclen=100 -summary suppress last \
 | bsortex -sort  key="0.14asc" -record recform=txtcsv -input reclen=100 include="3.5asc.eq.'G02',(4.5asc.eq.'020'.or.4.5asc.eq.'030'.or.4.5asc.eq.'100'.or.4.5asc.eq.'210'.or.4.5asc.eq.'220')" \
 -output file=${KK2811_TRGT} reconst="0.14,1.14"
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


#--- 回線対象サービス契約の抽出
#  - 抽出条件
#      0   ：（回線内訳使用開始年月日(2) <= 運用日付 かつ 回線内訳使用終了年月日(3) >= 運用日付） または 回線内訳使用開始年月日(2) = '20991231'
#      1   ：無効フラグ(4) = '0'
#
#  - SELECT(reconst)項目は以下
#       0.10 ：サービス契約番号
#       1.12 ：サービス契約回線内訳番号
bsortex -sort key="0.12asc,2.10asc,3.10asc" -record recform=txtcsv -input file=${KK0241_ULD} reclen=100 include="((2.10asc.le.'${RSLT_OPEDATE}',3.10asc.ge.'${RSLT_OPEDATE}').or.2.10asc.eq.'20991231'),4.3asc.eq.'0'" \
 -output file=${KK0241_CRNT} reconst="0.12,1.14"
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


#--- サービス契約の抽出
#  - 抽出条件
#      0   ：カレント取得
#      1   ：サービス契約ステータス(2) = '020','030','100','210','220'
#
#  - SELECT(reconst)項目は以下
#       0.10 ：サービス契約番号
#       1.2  ：料金グループコード
#       2.3  ：サービス契約ステータス
bsortex -sort key="0.12asc,3.10asc,4.19asc" -record recform=txtcsv -input file=${KK0081_ULD} reclen=100 include="6.3asc.eq.'0',5.3asc.eq.'2',3.10asc.le.'${RSLT_OPEDATE}'" \
 | bsortex -merge key="0.12asc" -record recform=txtcsv -input reclen=100 -summary suppress last \
 | bsortex -sort  key="0.12asc" -record recform=txtcsv -input reclen=100 include="(2.5asc.eq.'020'.or.2.5asc.eq.'030'.or.2.5asc.eq.'100'.or.2.5asc.eq.'210'.or.2.5asc.eq.'220')" \
 -output file=${KK0081_TRGT} reconst="0.12,1.4,2.5"
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






#--- 工事案件 と 工事案件<eo光テレビ> のマッチング
EDIT_MATCHING_QUERY ${G_TOOLSH}/util/def/KK_CM_0497.def "${KU0011_TRGT} ${KU0031_TRGT}"
rc=$?
if [ $rc -ne 0 ]
then
    exit ${G_RTN_ERROR}
fi

EXEC_MATCHING ${TARGET_KOJIAK1} ${MATCHING_QUERY_WORK}
rc=$?
if [ $rc -ne 0 ]
then
    exit ${G_RTN_ERROR}
fi


#--- 工事案件対象宅内機器（予定機器変更番号）, 機器提供サービス契約, 料金コース のマッチング
EDIT_MATCHING_QUERY ${G_TOOLSH}/util/def/KK_CM_0498.def "${TARGET_KOJIAK1} ${KU0141_RSV} ${KK0341_C009} ${KK0791_TRGT}"
rc=$?
if [ $rc -ne 0 ]
then
    exit ${G_RTN_ERROR}
fi

EXEC_MATCHING ${TARGET_KOJIAK2_RSV} ${MATCHING_QUERY_WORK}
rc=$?
if [ $rc -ne 0 ]
then
    exit ${G_RTN_ERROR}
fi


#--- 工事案件対象宅内機器（変更機器変更番号）, 機器提供サービス契約, 料金コース のマッチング
EDIT_MATCHING_QUERY ${G_TOOLSH}/util/def/KK_CM_0501.def "${TARGET_KOJIAK1} ${KU0141_CHGE} ${KK0341_C009} ${KK0791_TRGT}"
rc=$?
if [ $rc -ne 0 ]
then
    exit ${G_RTN_ERROR}
fi

EXEC_MATCHING ${TARGET_KOJIAK2_CHGE} ${MATCHING_QUERY_WORK}
rc=$?
if [ $rc -ne 0 ]
then
    exit ${G_RTN_ERROR}
fi





#--- マッチング結果のマージソート+集約
bsortex -sort key="0.12asc" -record recform=txtcsv -input file=${TARGET_KOJIAK2_RSV},${TARGET_KOJIAK2_CHGE} reclen=50 \
 | bsortex -merge key="0.12asc" -record recform=txtcsv -input reclen=50 -summary suppress last \
 -output file=${TARGET_KOJIAK2}
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





#--- サービス契約_工事案件, 機器提供サービス契約(多機能ルータもしくはHGW), 機器オプションサービス契約  のマッチング
EDIT_MATCHING_QUERY ${G_TOOLSH}/util/def/KK_CM_0499.def "${TARGET_KOJIAK2} ${KU0081_CRNT} ${KK0341_C024} ${KK2811_TRGT}"
rc=$?
if [ $rc -ne 0 ]
then
    exit ${G_RTN_ERROR}
fi

EXEC_MATCHING ${KUIFI003_TMP1} ${MATCHING_QUERY_WORK}
rc=$?
if [ $rc -ne 0 ]
then
    exit ${G_RTN_ERROR}
fi


#--- サービス契約_工事案件, 回線対象サービス契約, サービス契約, 機器提供サービス契約(BBR) のマッチング
EDIT_MATCHING_QUERY ${G_TOOLSH}/util/def/KK_CM_0500.def "${TARGET_KOJIAK2} ${KU0081_CRNT}  ${KK0241_CRNT} ${KK0081_TRGT} ${KK0341_C014}"
rc=$?
if [ $rc -ne 0 ]
then
    exit ${G_RTN_ERROR}
fi

EXEC_MATCHING ${KUIFI003_TMP2} ${MATCHING_QUERY_WORK}
rc=$?
if [ $rc -ne 0 ]
then
    exit ${G_RTN_ERROR}
fi





#--- マッチング結果のマージソート+集約
# ANK-3736-00-00 MOD START
#bsortex -sort key="0.12asc" -record recform=txtcsv -input file=${KUIFI003_TMP1},${KUIFI003_TMP2} reclen=50 \
# | bsortex -merge key="0.12asc" -record recform=txtcsv -input reclen=50 -summary suppress last \
# -output file=${KUIFI003_OUTFILE}
bsortex -sort key="0.12asc" -record recform=txtcsv -input file=${KUIFI003_TMP1},${KUIFI003_TMP2} reclen=50 \
 | bsortex -merge key="0.12asc" -record recform=txtcsv -input reclen=50 -summary suppress last \
 -output file=${KUIFI003_TMP3}
# ANK-3736-00-00 MOD END
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

# ANK-3736-00-00 ADD START
# IT1-2020-0000004 MOD START
##--- 工事案件の抽出
##    抽出条件
##        ・料金グループコード = "11"(eo光テレビ)
##        ・マンション物件コード = "001"(マンション)
##
##    - SELECT(reconst)項目は以下
##        0 - 0.10   ：工事案件番号
#bsortex \
#    -copy -record recform=txtcsv \
#    -input file=${COMULD2_KU0011_ALL} \
#        reclen=${ULD2_REC_LEN_KU0011} \
#        reconst="0.10" \
#        include="3.2asc.eq.'11'.and.21.3asc.eq.'001'" \
#    -output file=${KU0011_TMP}
#
#rc=$?
#if [ $rc -ne 0 ]
#then
#    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " Sort KU0011 Error($SVC sort:rc=$rc) "
#    echo $JOBNAME " Sort KU0011 Error($SVC sort:rc=$rc) "
#    exit ${G_RTN_ERROR}
#fi
#--- 工事案件のアンロード
#  - 抽出条件
#      0 ：工事案件ステータス = "140"(依頼済)、"150"(宅内調査完了済)、"160"(工事会社決定済)、"170"(宅内機器予定登録済)、"180"(仮鍵開発行依頼済)、"190"(現場作業完了済)
#      1 ：工事案件種別コード = "001"(新設)、"003"(住所変更（新設）)、"008"(リンクSTB)、"013"(eoTV変更)
#      2 ：料金グループコード = "11"(eo光テレビ)
#      3 ：マンション物件コード = "001"(マンション)
#      4 ：無効フラグ = "0"(有効)
#
#  - SELECT(reconst)項目は以下
#       0.10 ：工事案件番号
EDIT_ULD_QUERY ${SQL_FILE_U_KK_U_KU0011_18}
rc=$?
if [ $rc -ne 0 ]
then
    exit ${G_RTN_ERROR}
fi

EXEC_UNLOAD ${SQL_WORK_FILE} ${KU0011_TMP}
rc=$?
if [ $rc -ne 0 ]
then
    exit ${G_RTN_ERROR}
fi
# IT1-2020-0000004 MOD END

#--- STB無線LAN接続対象抽出ファイル(OPMS)に出力する
EDIT_MATCHING_QUERY ${G_TOOLSH}/util/def/KK_CM_0709.def "${KUIFI003_TMP3} ${KU0011_TMP}"
rc=$?
if [ $rc -ne 0 ]
then
    exit ${G_RTN_ERROR}
fi

EXEC_MATCHING ${KUIFI003_OUTFILE} ${MATCHING_QUERY_WORK}
rc=$?
if [ $rc -ne 0 ]
then
    exit ${G_RTN_ERROR}
fi

#--- STB無線LAN接続対象抽出ファイル(MUSe)に出力する
EDIT_MATCHING_QUERY ${G_TOOLSH}/util/def/KK_CM_0710.def "${KUIFI003_TMP3} ${KU0011_TMP}"
rc=$?
if [ $rc -ne 0 ]
then
    exit ${G_RTN_ERROR}
fi

EXEC_MATCHING ${KUIFI003_OUTFILE_MUSE} ${MATCHING_QUERY_WORK}
rc=$?
if [ $rc -ne 0 ]
then
    exit ${G_RTN_ERROR}
fi
# ANK-3736-00-00 ADD END

#ワークファイルの削除
rm -f ${KU0011_ULD}
rm -f ${KU0031_ULD}
rm -f ${KU0141_ULD}
rm -f ${KK0341_ULD}
rm -f ${KK0791_ULD}
rm -f ${KU0081_ULD}
rm -f ${KK2811_ULD}
rm -f ${KK0241_ULD}
rm -f ${KK0081_ULD}
rm -f ${KU0011_TRGT}
rm -f ${KU0031_TRGT}
rm -f ${KU0141_RSV}
rm -f ${KU0141_CHGE}
rm -f ${KK0341_C009}
rm -f ${KK0341_C009}
rm -f ${KK0341_C014}
rm -f ${KK0341_C024}
rm -f ${KK0791_TRGT}
rm -f ${KU0081_CRNT}
rm -f ${KK2811_TRGT}
rm -f ${KK0241_CRNT}
rm -f ${KK0081_TRGT}
rm -f ${TARGET_KOJIAK1}
rm -f ${TARGET_KOJIAK2_RSV}
rm -f ${TARGET_KOJIAK2_CHGE}
rm -f ${TARGET_KOJIAK2}
rm -f ${KUIFI003_TMP1}
rm -f ${KUIFI003_TMP2}
# ANK-3736-00-00 ADD START
rm -f ${KU0011_TMP}
rm -f ${KUIFI003_TMP3}
# ANK-3736-00-00 ADD END


### IT1-2014-0000270対応 20140722 星野 MOD END

#
#--- 一時ファイルの削除
#
REMOVE_FILE ${ULD_WORK_DIR}/${JOBNAME}*

#
#--- ジョブの終了メッセージを出力する
#

sh ${G_TOOLSH}/EOK010210J0.sh CS00026I $JOBNAME

exit $exit_rc

