#!/bin/bash
##############################################################
# システム名    ：eo顧客基幹システム
#
# サブシステム名：契約管理
#
# シェル名      ：契約情報編集1
#
# 機能          ：KKPRC67201　高度化システム向け契約データ作成
#                 テレビのサービス契約情報に紐付く情報を取得する。
#
# コマンド形式  ：EO2IO0130J0.sh
#
# 実行環境      ：.../app/shl
# パラメタ      ：$1   運用日付
#
# 終了ステータス：ゼロ以外異常
#
# 特記事項      ：
#
# 変更履歴      ：変更日      変更者       障害／仕様変更No.
# v68.00.00       2023/11/22  FJ)北谷    ANK-4485-00-00_高度化システム向け契約データ連携　新規作成
#
##############################################################

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

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

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


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

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

#
#--- OPD
#
OPD=$1

#
#--- 業務で必要な変数定義
#
#--ワークファイル削除フラグ
WK_RM=true

#---マッチング処理でLeftjoinがNULL時に"を付けなくする（マッチング使用時は必須）
export ZTLQUOTES=''

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

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

#--- MATCHING関数
#    p1：defファイル名 p2:出力ファイル名
MATCHING(){
    export ZTLOUTFILE=$2
    ${G_TOOLSH}/util/bin/ZTLMAT01 $1
    rc=$?
    if [ $rc -ne 0 ]
    then
          sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " matching error(matching:$1=$rc) "
          echo $JOBNAME " matching error(matching:$1=$rc) "
          exit ${G_RTN_ERROR}
    fi
}

#-------------------------------------------------------------
#--- 入出力ファイル定義
#-------------------------------------------------------------

#--お客様
INPUT_FILE_1=${MID_DIR_CC}/CCIFM019002.csv
#--テレビのサービス契約情報
INPUT_FILE_2=${MID_DIR_KK}/KKIFM960021.csv
#--サービス契約＜eo光TV＞
INPUT_FILE_3=${MID_DIR_KK}/KKIFM960003.csv
#--住所変更明細
INPUT_FILE_4=${MID_DIR_KK}/KKIFM960007.csv
#--提供方式関連の情報
INPUT_FILE_5=${MID_DIR_KK}/KKIFM960005.csv
#--マンションのBSPT情報
INPUT_FILE_6=${MID_DIR_KK}/KKIFM960006.csv

#--契約情報編集1結果
OUTPUT_FILE=${MID_DIR_KK}/KKIFM960031.csv

#--マッチングDEF
DEF_FILE=${G_TOOLSH}/util/def/KK_CM_0766.def


#
#---ファイルの存在チェック
#

if [ ! -r ${INPUT_FILE_1} ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File is nonexist(${INPUT_FILE_1}) "
    echo $JOBNAME " File is nonexist($INPUT_FILE_1) "
    exit ${G_RTN_ERROR}
fi
if [ ! -r ${INPUT_FILE_2} ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File is nonexist(${INPUT_FILE_2}) "
    echo $JOBNAME " File is nonexist($INPUT_FILE_2) "
    exit ${G_RTN_ERROR}
fi
if [ ! -r ${INPUT_FILE_3} ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File is nonexist(${INPUT_FILE_3}) "
    echo $JOBNAME " File is nonexist($INPUT_FILE_3) "
    exit ${G_RTN_ERROR}
fi
if [ ! -r ${INPUT_FILE_4} ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File is nonexist(${INPUT_FILE_4}) "
    echo $JOBNAME " File is nonexist($INPUT_FILE_4) "
    exit ${G_RTN_ERROR}
fi
if [ ! -r ${INPUT_FILE_5} ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File is nonexist(${INPUT_FILE_5}) "
    echo $JOBNAME " File is nonexist($INPUT_FILE_5) "
    exit ${G_RTN_ERROR}
fi
if [ ! -r ${INPUT_FILE_6} ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File is nonexist(${INPUT_FILE_6}) "
    echo $JOBNAME " File is nonexist($INPUT_FILE_6) "
    exit ${G_RTN_ERROR}
fi

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


#-------------------------------------------------------------
#--- ワークファイル定義
#-------------------------------------------------------------
INPUT_FILE_1_WK=${MID_DIR_CC}/CCIFM019002_${JOBNAME}_WK.csv

DEF_FILE_WK=${G_TOOLSH}/util/def/KK_CM_0766_${JOBNAME}_WK.def

OUTPUT_FILE_WK=${MID_DIR_KK}/KKIFM960031_${JOBNAME}_WK.csv


#-------------------------------------------------------------
#--- ＭＡＩＮ処理
#-------------------------------------------------------------

#--- ダブルクォート削除
sed -e "s/\"//g" ${INPUT_FILE_1} > ${INPUT_FILE_1_WK}

#テレビのサービス契約情報に対して、お客様、サービス契約＜eo光TV＞（最新世代）、住所変更明細、提供方式関連の情報、マンションのBSPT情報を
#結合して情報を付与する。

cp -f ${DEF_FILE} ${DEF_FILE_WK}
sed -i -e "s%:SVCKEI%${INPUT_FILE_2}%" ${DEF_FILE_WK}
sed -i -e "s%:CUST%${INPUT_FILE_1_WK}%" ${DEF_FILE_WK}
sed -i -e "s%:SVKEITV%${INPUT_FILE_3}%" ${DEF_FILE_WK}
sed -i -e "s%:ADCHG_DTL%${INPUT_FILE_4}%" ${DEF_FILE_WK}
sed -i -e "s%:TK_HOSHIKI%${INPUT_FILE_5}%" ${DEF_FILE_WK}
sed -i -e "s%:KAISEN_USE%${INPUT_FILE_6}%" ${DEF_FILE_WK}

MATCHING ${DEF_FILE_WK} ${OUTPUT_FILE_WK}


#料金プランコードがPA3701またはPA7501（地デジ・BSのプラン）の場合、「地デジ・BS」を「有」と設定する。それ以外は「無」と設定する。
#CAT-IDがNULLの場合、「ホーム・メゾン・マンション識別」を「ホーム」とする。ホーム以外でP-IDの1文字目が"Sの場合は「メゾン」、
#それ以外は「マンション」と設定する。 
ARI=`echo '有' | iconv -f UTF-8 -t SHIFT_JIS`
NASI=`echo '無' | iconv -f UTF-8 -t SHIFT_JIS`
HM=`echo 'ホーム' | iconv -f UTF-8 -t SHIFT_JIS`
MZ=`echo 'メゾン' | iconv -f UTF-8 -t SHIFT_JIS`
MN=`echo 'マンション' | iconv -f UTF-8 -t SHIFT_JIS`

awk -F, -v OFS=, -v ari=${ARI} -v nasi=${NASI} -v hm=${HM} -v mz=${MZ} -v mn=${MN} \
'{if ($8 == "PA3701" || $8 == "PA7501") $11=ari ; else $11=nasi ; \
if($15 == "" ) $23=hm ; else if(substr($16,1,1) == "S") $23=mz ; else $23=mn ; print $0 }' ${OUTPUT_FILE_WK} > ${OUTPUT_FILE}

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


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

#-------------------------------------------------------------
#---ワークファイル削除
#-------------------------------------------------------------
if [ ${WK_RM} = "true" ]
then
    rm -f ${INPUT_FILE_1_WK}
    rm -f ${DEF_FILE_WK}
    rm -f ${OUTPUT_FILE_WK}
fi

exit $exit_rc
