#!/bin/bash
########################################################################
#
# システム名    ：eo顧客基幹システム
#
# サブシステム名：共通制御
#
# シェル名      ： 権利付与地域ＳＶ判定
#                 (権利付与地域課金情報作成)
#
# 機能          ： 抽出したサービス契約をもとに判定を行い、「請求書発行手数料課金判定」へ連携する
#                  請求先の情報を作成する。
#
# コマンド形式  ：EO3490150J0.sh
#
# 実行環境      ：.../app/shl
#
# 終了ステータス：ゼロ以外異常
#
# 特記事項      ：特になし
#
# 変更履歴      ：変更日      変更者       障害／仕様変更№
# v45.00.00       2019/07/10  FJ)澤田      新規作成【ANK-3607-00-00】料金収納手数料課金抑止の残課題対応について
# v52.00.00       2020/10/21  FJ)鈴木      【ANK-3838-00-00】窓口払い手数料の顧客負担方式導入
# v54.00.00       2021/07/20  FJ)鈴木      【ANK-3992-00-00】eo電気の権利付与地域における請求書発行および窓口払い手数料判定の見直し
# v54.01.00       2021/08/30  FJ)鈴木      【ANK-4102-00-00】窓口払い手数料の顧客負担方式導入　STEP3
########################################################################

#
#---ツール格納場所
#
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

##############################################################
#
#--- 共通サブルーチン
#
##############################################################
#--- SED
##############################################################
SED(){
    sed -i -e $1 $2
    rc=$?
    if [ $rc -ne 0 ]
    then
          sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " sed error($1 $2:rc=$rc) "
          echo $JOBNAME " sed error($1 $2:rc=$rc) "
          exit ${G_RTN_ERROR}
    fi
}

#
#--- マッチング処理
#      p1：出力ファイルパス
#      p2：マッチングクエリファイルパス
EXEC_MATCHING()
{
    local _OUTFILE=$1
    local _MATCHING_FILE=$2

    # マッチングクエリファイルの存在チェック
    if [ ! -r ${_MATCHING_FILE} ]
    then
        sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File is nonexist(${_MATCHING_FILE}) "
        echo $JOBNAME " File is nonexist(${_MATCHING_FILE}) "
        exit ${G_RTN_ERROR}
    fi

    # 出力ファイルの初期化
    cat /dev/null > ${_OUTFILE}

    # マッチング実行
    export ZTLOUTFILE=${_OUTFILE}
    ${G_TOOLSH}/util/bin/ZTLMAT01 ${_MATCHING_FILE}
    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) "
        exit ${G_RTN_ERROR}
    fi
}

#
#--- bsortexコマンド実行時のエラー処理
#      p1：bsortexコマンドの終了コード
#      p2：bsortexコマンドの入力ファイル
#
BSORT_ERROR()
{
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " BSORTEX error(input file=$2:rc=$1) "
    echo $JOBNAME " BSORTEX error(input file=$2:rc=$1) "
    exit ${G_RTN_ERROR}
}

# サービス契約情報契約情報 EO3490110J0.sh
ACIFM330001_FILE=${LOC_DIR_AC}/ACIFM330001_CUR_EO3490110J0.csv

# ANK-3838-00-00 DEL START
# サービス契約情報契約情報 "02"：ホームタイプ、"03"：メゾンタイプ、"04"：マンションタイプ、"16"：ｅｏメールアドレス、"17"：ｅｏ電気、"51"：ｍｉｎｅｏ
#ACIFM330001_02_03_04_16_17_51=${LOC_DIR_AC}/ACIFM330001_02_03_04_16_17_51_EO3490150J0.csv

#"12"：ｅｏ光テレビ（ＫＣＮ）、"13"：ｅｏ光テレビ（再送信）
#ACIFM330001_12_13_FILE=${LOC_DIR_AC}/ACIFM330001_12_13_EO3490150J0.csv

#"10"：ｅｏ光電話、"11"：ｅｏ光テレビ
#ACIFM330001_10_11_FILE=${LOC_DIR_AC}/ACIFM330001_10_11_EO3490150J0.csv
# ANK-3838-00-00 DEL END

# 回線対象サービス契約情報 EO3490120J0.sh
ACIFM331001_FILE=${LOC_DIR_AC}/ACIFM331001_CUR_EO3490120J0.csv

# 課金先サービス契約情報 EO3490130J0.sh
ACIFM332001_FILE=${LOC_DIR_AC}/ACIFM332001_CUR_EO3490130J0.csv

# 共通アンロード処理＿サービス契約回線内訳(開始後)（権利付与地域） EO3490140J0.sh ACIFM333001_FILE
ACIFM333001_FILE=${LOC_DIR_AC}/ACIFM333001_EO3490140J0.csv

# ANK-4102-00-00 ADD START
# 共通アンロード処理＿サービス契約回線内訳(開始後)（権利付与地域対象外） EO3490140J0.sh ACIFM333001_FILE2
ACIFM333001_FILE2=${LOC_DIR_AC}/ACIFM333001_EO3490140J0_2.csv
# ANK-4102-00-00 ADD END

# ANK-3838-00-00 DEL START
#"10"：ｅｏ光電話
#ACIFM334001_10_FILE=${LOC_DIR_AC}/ACIFM334001_10_FILE.csv

#"11"：ｅｏ光テレビ
#ACIFM334001_11_FILE=${LOC_DIR_AC}/ACIFM334001_11_FILE.csv

#"11"：ｅｏ光テレビ、"12"：ｅｏ光テレビ（ＫＣＮ）、"13"：ｅｏ光テレビ（再送信）
#ACIFM334002_11_12_13_FILE=${LOC_DIR_AC}/ACIFM334002_11_12_13_FILE.csv

#ＮＵＬＬ（ネット、ｍｉｎｅｏ、ｅｏ電気、ｅｏメールアドレスなし）
#ACIFM334003_OUT_FILE=${LOC_DIR_AC}/ACIFM334003_OUT_FILE.csv

#請求先配下がｅｏ光電話（権利付与）単独
#ACIFM334004_OUT_FILE=${LOC_DIR_AC}/ACIFM334004_OUT_FILE.csv

#抽出条件：請求先配下がｅｏ光電話（権利付与）単独
#CIFM334005_OUT_FILE=${LOC_DIR_AC}/ACIFM334005_OUT_FILE.csv
# ANK-3838-00-00 DEL END

# ANK-3992-00-00 MOD START
##出力ファイル１（権利付与地域）
#ACIFM334006_OUT_FILE=${MID_DIR_AC}/ACIFM334006.csv
ACIFM334002_OUT_FILE=${MID_DIR_AC}/ACIFM334002.csv
# ANK-3992-00-00 MOD END

# ANK-4102-00-00 MOD START
##出力ファイル２ (権利付与地域対象外）
ACIFM334002_OUT_FILE2=${MID_DIR_AC}/ACIFM334004.csv
# ANK-4102-00-00 MOD END

#--- マッチングツール定義ファイル
# マッチングツール定義ファイル
MATCHDEFFILE1=${G_TOOLSH}/util/def/AC_CM_0163.def

# マッチングツール定義ファイル
MATCHDEFFILE2=${G_TOOLSH}/util/def/AC_CM_0164.def

# ANK-3838-00-00 DEL START
# マッチングツール定義ファイル
#MATCHDEFFILE3=${G_TOOLSH}/util/def/AC_CM_0165.def
# ANK-3838-00-00 DEL END

# マッチングツール定義ファイル
MATCHDEFFILE4=${G_TOOLSH}/util/def/AC_CM_0166.def

# マッチング結果ファイル
MATCHING_FILE1=${LOC_DIR_AC}/ACIFM334000_FILE.csv

# マッチング結果ファイル
MATCHING_FILE2=${LOC_DIR_AC}/ACIFM334001_FILE.csv

# ANK-3838-00-00 DEL START
# マッチング結果ファイル
#MATCHING_FILE3=${LOC_DIR_AC}/ACIFM334002_FILE.csv
# ANK-3838-00-00 DEL END

# マッチング結果ファイル
MATCHING_FILE4=${LOC_DIR_AC}/ACIFM334003_FILE.csv

#マッチングツール定義2 桁数
MATCHING_FILE2_REC_LEN=50

#マッチングツール定義3 桁数
MATCHING_FILE3_REC_LEN=45

#マッチングツール定義4 桁数
MATCHING_FILE4_REC_LEN=60

# ANK-4102-00-00 ADD START
# マッチングツール定義ファイル
MATCHDEFFILE5=${G_TOOLSH}/util/def/AC_CM_0188.def

# マッチング結果ファイル
MATCHING_FILE5=${LOC_DIR_AC}/ACIFM334004_FILE.csv

# ANK-4102-00-00 ADD END


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


#
# --- 2.マッチング１ サービス契約情報ソートと課金先ソートをサービス契約番号で紐づけて、請求契約番号を連結する。
#
# マッチング
export ACIFM330001_FILE
export ACIFM332001_FILE
EXEC_MATCHING ${MATCHING_FILE1} ${MATCHDEFFILE1}

# ANK-3838-00-00 DEL START

##
##--- "02"：ホームタイプ、"03"：メゾンタイプ、"04"：マンションタイプ、"16"：ｅｏメールアドレス、"17"：ｅｏ電気、"51"：ｍｉｎｅｏ
##---
##
## 抽出条件："02"：ホームタイプ、"03"：メゾンタイプ、"04"：マンションタイプ、"16"：ｅｏメールアドレス、"17"：ｅｏ電気、"51"：ｍｉｎｅｏ
#bsortex \
#   -copy -record recform=txtcsv \
#   -input file=${MATCHING_FILE1} \
#          reclen=${MATCHING_FILE2_REC_LEN} \
#          include="(2.2asc.eq.'02'.or.2.2asc.eq.'03'.or.2.2asc.eq.'04'.or.2.2asc.eq.'16'.or.2.2asc.eq.'17'.or.2.2asc.eq.'51')" \
#   -output file=${ACIFM330001_02_03_04_16_17_51} 
#
#rc=$?
#if [ $rc -ne 0 ]
#then
#    BSORT_ERROR ${rc} ${ACIFM330001_02_03_04_16_17_51}
#fi
#
##
##--- "12"：ｅｏ光テレビ（ＫＣＮ）、"13"：ｅｏ光テレビ（再送信）
##---
##
## 抽出条件："12"：ｅｏ光テレビ（ＫＣＮ）、"13"：ｅｏ光テレビ（再送信）
#bsortex \
#   -copy -record recform=txtcsv \
#   -input file=${MATCHING_FILE1} \
#          reclen=${MATCHING_FILE2_REC_LEN} \
#          include="(2.2asc.eq.'12'.or.2.2asc.eq.'13')" \
#   -output file=${ACIFM330001_12_13_FILE} 
#
#rc=$?
#if [ $rc -ne 0 ]
#then
#    BSORT_ERROR ${rc} ${ACIFM330001_12_13_FILE}
#fi
#
##
##--- "10"：ｅｏ光電話、"11"：ｅｏ光テレビ
##---
##
## 抽出条件："10"：ｅｏ光電話、"11"：ｅｏ光テレビ
#bsortex \
#   -copy -record recform=txtcsv \
#   -input file=${MATCHING_FILE1} \
#          reclen=${MATCHING_FILE2_REC_LEN} \
#          include="(2.2asc.eq.'10'.or.2.2asc.eq.'11')" \
#   -output file=${ACIFM330001_10_11_FILE} 
#
#rc=$?
#if [ $rc -ne 0 ]
#then
#    BSORT_ERROR ${rc} ${OUTFILE}
#fi
#
# ANK-3838-00-00 DEL END

## ANK-3838-00-00 MOD START
##
## --- 2.マッチング１
## 回線対象サービス契約情報 ACIFM331001_FILE
## 共通アンロード処理＿サービス契約回線内訳(開始後) ACIFM333001_FILE
## サービス契約情報契約情報("10"：ｅｏ光電話、"11"：ｅｏ光テレビ) ACIFM330001_10_11_FILE
## マッチング
#export ACIFM331001_FILE
#export ACIFM333001_FILE
#export ACIFM330001_10_11_FILE
#EXEC_MATCHING ${MATCHING_FILE2} ${MATCHDEFFILE2}
#
##
##--- "10"：ｅｏ光電話
##---
##
## 抽出条件："10"：ｅｏ光電話
#bsortex \
#   -copy -record recform=txtcsv \
#   -input file=${MATCHING_FILE2} \
#          reclen=${MATCHING_FILE2_REC_LEN} \
#          include="(2.2asc.eq.'10')" \
#   -output file=${ACIFM334001_10_FILE} 
#
#rc=$?
#if [ $rc -ne 0 ]
#then
#    BSORT_ERROR ${rc} ${OUTFILE}
#fi
#
##
##--- "11"：ｅｏ光テレビ
##---
##
## 抽出条件："11"：ｅｏ光テレビ
#bsortex \
#   -copy -record recform=txtcsv \
#   -input file=${MATCHING_FILE2} \
#          reclen=${MATCHING_FILE2_REC_LEN} \
#          include="(2.2asc.eq.'11')" \
#   -output file=${ACIFM334001_11_FILE} 
#
#rc=$?
#if [ $rc -ne 0 ]
#then
#    BSORT_ERROR ${rc} ${OUTFILE}
#fi
#
##テレビのサービス契約は(a)②へマージする。
#cat ${ACIFM330001_12_13_FILE} ${ACIFM334001_11_FILE} > ${ACIFM334002_11_12_13_FILE}

#
# --- 2.マッチング１
# 回線対象サービス契約情報 ACIFM331001_FILE
# 共通アンロード処理＿サービス契約回線内訳(開始後) ACIFM333001_FILE
# マッチング結果ファイル１（サービス契約情報＋請求契約番号） MATCHING_FILE1
# マッチング
export ACIFM331001_FILE
export ACIFM333001_FILE
export MATCHING_FILE1
EXEC_MATCHING ${MATCHING_FILE2} ${MATCHDEFFILE2}

# ANK-3838-00-00 MOD END

# ANK-4102-00-00 ADD START
#
# --- 2.マッチング１－２
# 回線対象サービス契約情報 ACIFM331001_FILE
# 共通アンロード処理＿サービス契約回線内訳(開始後)（権利付与地域対象外） ACIFM333001_FILE2
# マッチング結果ファイル１（サービス契約情報＋請求契約番号） MATCHING_FILE1
# マッチング
export ACIFM331001_FILE
export ACIFM333001_FILE2
export MATCHING_FILE1
EXEC_MATCHING ${MATCHING_FILE5} ${MATCHDEFFILE5}

# ANK-4102-00-00 ADD END

# ANK-3838-00-00 DEL START
##
## --- 3.マッチング
## サービス契約情報契約情報 "02"：ホームタイプ、"03"：メゾンタイプ、"04"：マンションタイプ、"16"：ｅｏメールアドレス、"17"：ｅｏ電気、"51"：ｍｉｎｅｏ ACIFM330001_02_03_04_16_17_51
##"11"：ｅｏ光テレビ、"12"：ｅｏ光テレビ（ＫＣＮ）、"13"：ｅｏ光テレビ（再送信） ACIFM334002_11_12_13_FILE
## マッチング
#export ACIFM330001_02_03_04_16_17_51
#export ACIFM334002_11_12_13_FILE
#EXEC_MATCHING ${MATCHING_FILE3} ${MATCHDEFFILE3}
#
##
##--- ＮＵＬＬ（ネット、ｍｉｎｅｏ、ｅｏ電気、ｅｏメールアドレスなし）
##---
##
## 抽出条件：ＮＵＬＬ（ネット、ｍｉｎｅｏ、ｅｏ電気、ｅｏメールアドレスなし）
#bsortex \
#   -copy -record recform=txtcsv \
#   -input file=${MATCHING_FILE3} \
#          reclen=${MATCHING_FILE3_REC_LEN} \
#          include="(2.10asc.lt.' ')" \
#   -output file=${ACIFM334003_OUT_FILE} 
#
#rc=$?
#
#if [ $rc -ne 0 ]
#then
#    BSORT_ERROR ${rc} ${ACIFM334003_OUT_FILE}
#fi
#
##
## --- 4.マッチング 
##"10"：ｅｏ光電話
## サービス契約情報契約情報 "02"：ホームタイプ、"03"：メゾンタイプ、"04"：マンションタイプ、"16"：ｅｏメールアドレス、"17"：ｅｏ電気、"51"：ｍｉｎｅｏ ACIFM330001_02_03_04_16_17_51
##"11"：ｅｏ光テレビ、"12"：ｅｏ光テレビ（ＫＣＮ）、"13"：ｅｏ光テレビ（再送信） ACIFM334002_11_12_13_FILE
## マッチング
#export ACIFM334001_10_FILE
#export ACIFM330001_02_03_04_16_17_51
#export ACIFM334002_11_12_13_FILE
#EXEC_MATCHING ${MATCHING_FILE4} ${MATCHDEFFILE4}
#
##
##--- 請求先配下がｅｏ光電話（権利付与）単独
##---
##
## 抽出条件：請求先配下がｅｏ光電話（権利付与）単独
#bsortex \
#   -copy -record recform=txtcsv \
#   -input file=${MATCHING_FILE4} \
#          reclen=${MATCHING_FILE4_REC_LEN} \
#          include="(2.10asc.lt.' '.and.3.10asc.lt.' ')" \
#   -output file=${ACIFM334004_OUT_FILE} 
#
#rc=$?
#if [ $rc -ne 0 ]
#then
#    BSORT_ERROR ${rc} ${ACIFM334004_OUT_FILE}
#fi
# ANK-3838-00-00 DEL END

# ANK-3838-00-00 MOD START
#
#cat ${ACIFM334003_OUT_FILE} ${ACIFM334004_OUT_FILE} > ${ACIFM334005_OUT_FILE}
#
#bsortex \
#	-sort key="0.10asc" \
#	-input reclen=${MATCHING_FILE4_REC_LEN} file=${ACIFM334005_OUT_FILE} \
#	-record recform=txtcsv \
#	-output reconst=0.10 \
#| bsortex \
#	-merge key="0.10asc" \
#	-input reclen=${MATCHING_FILE4_REC_LEN} \
#	-record recform=txtcsv \
#	-summary suppress first \
#	-output file=${ACIFM334006_OUT_FILE} 
#	
	
# ANK-3992-00-00 MOD START
#bsortex \
#	-sort key="0.10asc" \
#	-input reclen=${MATCHING_FILE4_REC_LEN} file=${MATCHING_FILE2} \
#	-record recform=txtcsv \
#	-output reconst=0.10 \
#| bsortex \
#	-merge key="0.10asc" \
#	-input reclen=${MATCHING_FILE4_REC_LEN} \
#	-record recform=txtcsv \
#	-summary suppress first \
#	-output file=${ACIFM334006_OUT_FILE} 
	
# ANK-3838-00-00 MOD END

bsortex \
	-sort key="0.10asc" \
	-input reclen=${MATCHING_FILE4_REC_LEN} file=${MATCHING_FILE2} \
	-record recform=txtcsv \
	-output reconst=0.10 \
| bsortex \
	-merge key="0.10asc" \
	-input reclen=${MATCHING_FILE4_REC_LEN} \
	-record recform=txtcsv \
	-summary suppress first \
	-output file=${ACIFM334002_OUT_FILE} 

# ANK-3992-00-00 MOD END

# ANK-4102-00-00 ADD START
##権利付与地域対象外契約情報ソート
#
bsortex \
	-sort key="0.10asc" \
	-input reclen=${MATCHING_FILE4_REC_LEN} file=${MATCHING_FILE5} \
	-record recform=txtcsv \
	-output reconst=0.10 \
| bsortex \
	-merge key="0.10asc" \
	-input reclen=${MATCHING_FILE4_REC_LEN} \
	-record recform=txtcsv \
	-summary suppress first \
	-output file=${ACIFM334002_OUT_FILE2} 

# ANK-4102-00-00 ADD END

#

# ANK-3838-00-00 MOD START
# 一時ファイル削除
#rm -f ${ACIFM334001_10_FILE}
#rm -f ${ACIFM334001_11_FILE}
#rm -f ${ACIFM334002_11_12_13_FILE}
#rm -f ${ACIFM334003_OUT_FILE}
#rm -f ${ACIFM334004_OUT_FILE}
#rm -f ${MATCHING_FILE1}
#rm -f ${MATCHING_FILE2}
#rm -f ${MATCHING_FILE3}
#rm -f ${MATCHING_FILE4}

rm -f ${MATCHING_FILE1}
rm -f ${MATCHING_FILE2}

# ANK-3838-00-00 MOD END

# ANK-4102-00-00 ADD START
rm -f ${MATCHING_FILE5}
# ANK-4102-00-00 ADD END

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

exit ${G_RTN_NORMAL}
