#!/bin/bash
##############################################################
# システム名    ：eo顧客基幹システム
#
# サブシステム名：契約管理
#
# シェル名      ：スキーマ抽出ファイルマッチング(mineo)
#
# 機能          ：各スキーマから抽出した必要なデータをマッチングする。
#
# コマンド形式  ：EO2DU0201J0.sh
#
# 実行環境      ：.../app/shl
#
# 終了ステータス：ゼロ以外異常
#
# 特記事項      ：特になし
#
# 変更履歴      ：変更日      変更者       障害／仕様変更No.
# v28.00.00       2017/01/19  FJ)柳        【ANK-3076-00-00】mineoへの訪問サポート導入
# v29.00.00       2017/02/01  FJ)柳        【ANK-2990-00-00】【eo電気】同時申込・量販訪販対応（STEP2-2）
# v32.01.00       2017/04/28  FJ)大崎      【ANK-3149-09-00】新セキュリティパック導入　FOCS連携項目変更
# v37.00.00       2018/05/10  FJ)中原      【ANK-3366-01-00】eo光設備卸対応（FOCS向けVIEWに卸契約を識別できる情報を追加）
# v56.00.00       2021/09/30  FJ)吉村      【ANK-4038-00-00】【eo定期】光ローゼット化対応
##############################################################

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

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

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

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

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

#
#---OPD
#
OPD=$1

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

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

#
#--- ファイル定義
#
# サービス契約情報抽出ソートファイル(FOCS用契約)
TMPFILE_KKIFM362_SORT=${MID_DIR_KK}/KKIFM362001_sort.csv
# サービス契約情報集約ファイル(FOCS用mineo契約)
TMPFILE_KKIFM726=${LOC_DIR_KK}/KKIFM726001.csv
# スキーマ情報マッチング可変項目ファイル(FOCS用mineo契約)
TMPFILE_KKIFM725_MATCH=${LOC_DIR_KK}/KKIFM725001_match.csv
# スキーマ情報マッチングファイル(FOCS用mineo契約)
TMPFILE_KKIFM725=${MID_DIR_KK}/KKIFM725001.csv
# マッチングツール定義ファイル
# (サービス契約情報集約ファイル(FOCS用mineo契約)
#  －コード名称管理(コード区分=サービス契約ステータス)
#  －料金グループ
#  －料金プラン
#  －お客様
#    －お客様<個人>
#    －連絡先 (連絡先種別コード=2:携帯)
#    －連絡先 (連絡先種別コード=5:その他)
#    －お客様<個人>勤務先名
#    －コード名称管理(コード区分=連絡手段コード)
# )
MATCHDEF_KK0081=${G_TOOLSH}/util/def/KK_CM_0609.def

#
#--- レコード長定義
#
# サービス契約情報抽出ソートファイル(FOCS用契約)のレコード長
RECLEN_KKIFM362_SORT=170
# スキーマ情報マッチング可変項目ファイル(FOCS用mineo契約)のレコード長
RECLEN_KKIFM725_MATCH=6000

#
#--- マッチングツール環境変数
#
# 中間ファイル生成用のディレクトリパス
export ZTLTMPDIR=$ULD_WORK_DIR
# 結果ファイルのファイルパス
export ZTLOUTFILE=$TMPFILE_KKIFM725_MATCH
# サービス契約情報集約ファイル(FOCS用mineo契約)
export TMPFILE_KKIFM726=$TMPFILE_KKIFM726
# コード名称管理
export TMPFILE_KKIFM335_CRNT=${MID_DIR_KK}/KKIFM335001_crnt.csv
# 料金グループ
export TMPFILE_KKIFM347_CRNT=${MID_DIR_KK}/KKIFM347001_crnt.csv
# 料金プラン
export TMPFILE_KKIFM348_CRNT=${MID_DIR_KK}/KKIFM348001_crnt.csv
# お客様
export TMPFILE_KKIFM377_CRNT=${MID_DIR_KK}/KKIFM377001_crnt.csv
# お客様<個人>
export TMPFILE_KKIFM378=${MID_DIR_KK}/KKIFM378001.csv
# 連絡先(連絡先種別コード=2:携帯)
export TMPFILE_KKIFM379_CRNT=${MID_DIR_KK}/KKIFM379001_crnt.csv
# 連絡先(連絡先種別コード=5:その他)
export TMPFILE_KKIFM379_OTHER=${MID_DIR_KK}/KKIFM379005_other.csv
# お客様<個人>勤務先名
export TMPFILE_KKIFM378_OFFC=${MID_DIR_KK}/KKIFM378005.csv

#
#--- サービス契約番号(昇順)、予約適用年月日(昇順)、世代登録年月日時分秒(昇順)でソート済みのファイルを使用し、
#--- マージ機能(bsortexコマンド)でキー項目ごとの最終レコード(カレント)を抽出する。
#
# bsort用項目定義
BSORT_DEF_KKIFM726="@SVC_KEI_NO=0.10 @SVC_KEI_STAT=2.3 @SVC_CD=4.2 @PRC_GRP_CD=5.2 @PCRS_CD=6.3 \
                    @PPLAN_CD=7.6 @SVC_STA_YMD=11.8 @SVC_ENDYMD=12.8 @SYSID=3.10 @GENE_ADD_DTM=1.17"
bsortex -define $BSORT_DEF_KKIFM726 -merge key="@SVC_KEI_NOasca" -record recform=txtcsv \
        -input file=$TMPFILE_KKIFM362_SORT reclen=$RECLEN_KKIFM362_SORT \
               include="@SVC_CDasc.eq.'51',@PRC_GRP_CDasc.eq.'51'" -summary suppress last \
        -output file=$TMPFILE_KKIFM726 \
                reconst="@SVC_KEI_NO,@SVC_KEI_STAT,@SVC_CD,@PRC_GRP_CD,@PCRS_CD,@PPLAN_CD,@SVC_STA_YMD,@SVC_ENDYMD,@SYSID,@GENE_ADD_DTM" \
                include="@SVC_KEI_STATasc.ne.'910',@SVC_KEI_STATasc.ne.'920'"

rc=$?
if [ $rc -ne 0 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " BSORTEX error(input file=$TMPFILE_KKIFM362_SORT:rc=$rc) "
    echo $JOBNAME " BSORTEX error(input file=$TMPFILE_KKIFM362_SORT:rc=$rc) "
    exit ${G_RTN_ERROR}
fi

#
#--- ファイルの存在チェックを行う
#
if [ ! -r $MATCHDEF_KK0081 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File is nonexist($MATCHDEF_KK0081) "
    echo $JOBNAME " File is nonexist($MATCHDEF_KK0081) "
    exit ${G_RTN_ERROR}
fi

#
#--- ファイルマッチング
#
${G_TOOLSH}/util/bin/ZTLMAT01 $MATCHDEF_KK0081

rc=$?
if [ $rc -ne 0 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " MATCHING error($MATCHDEF_KK0081 matching:rc=$rc) "
    echo $JOBNAME " MATCHING error($MATCHDEF_KK0081 matching:rc=$rc) "
    exit ${G_RTN_ERROR}
fi

#
#--- システム日付取得
#
. EOK010410J0.sh 1

#
#--- コピー機能(bsortexコマンド)を使用し、
#--- FOCS参照用サービス契約ワークスキーマへインポートするデータを作成する。
#
# bsort用項目定義
BSORT_DEF_KKIFM725="@FOCSS_SVC_KEI_NO=0.10 @PRC_GRP_NM=1.242 @PPLAN_NM=2.242 @SVC_KEI_STAT_NM=3.160 @SVC_STA_YMD=4.8 @SVC_ENDYMD=5.8 \
                    @SYSID=6.10 @CUST_KANA=7.242 @CUST_NM=8.242 @RRKS_TELNO=9.12 @OFFC_NM=10.242 @OFFC_TELNO=11.11 \
                    @RRK_WAY_CD_NM=12.160 @RRK_WAY_HOKI=13.80 @EOID=14.80 @KEISHA_PCD=15.7 @KEISHA_AD=16.242 @VSCP_YO_TELNO=17.12"
# ANK-2990-00-00 2017/02/01 MOD START
#bsortex -define $BSORT_DEF_KKIFM725 -copy -record recform=txtcsv \
#        -input file=$TMPFILE_KKIFM725_MATCH reclen=$RECLEN_KKIFM725_MATCH \
#        -output file=$TMPFILE_KKIFM725 \
#               reconst="@FOCSS_SVC_KEI_NO,EMPTYA,EMPTYA,EMPTYA,@PRC_GRP_NM,@PPLAN_NM,EMPTYA,' '.1ascA,' '.1ascA,@SVC_KEI_STAT_NM,@SVC_STA_YMD,@SVC_ENDYMD,@SYSID,@CUST_KANA,@CUST_NM,@RRKS_TELNO,@OFFC_NM,@OFFC_TELNO,@RRK_WAY_CD_NM,@RRK_WAY_HOKI,EMPTYA,EMPTYA,EMPTYA,EMPTYA,EMPTYA,EMPTYA,EMPTYA,EMPTYA,EMPTYA,EMPTYA,' '.1ascA,' '.1ascA,EMPTYA,EMPTYA,EMPTYA,@EOID,@KEISHA_PCD,@KEISHA_AD,@VSCP_YO_TELNO,' '.1ascA,'0'.1ascA,'0'.1ascA,' '.1ascA,' '.1ascA,' '.1ascA,' '.1ascA,'${RSLT_SYSDATE}'.17ascA,'SYSTEM'.6ascA,'${RSLT_SYSDATE}'.17ascA,'SYSTEM'.6ascA,' '.1ascA,' '.1ascA,'0'.1ascA,'${RSLT_OPEDATE}'.8ascA,'${JOBNAME}'.11ascA,'${RSLT_OPEDATE}'.8ascA,'${JOBNAME}'.11ascA,' '.1ascA,' '.1ascA"
# ANK-3149-00-00 2017/04/03 DEL START
#bsortex -define $BSORT_DEF_KKIFM725 -copy -record recform=txtcsv \
#        -input file=$TMPFILE_KKIFM725_MATCH reclen=$RECLEN_KKIFM725_MATCH \
#        -output file=$TMPFILE_KKIFM725 \
#                reconst="@FOCSS_SVC_KEI_NO,EMPTYA,EMPTYA,EMPTYA,@PRC_GRP_NM,@PPLAN_NM,EMPTYA,' '.1ascA,' '.1ascA,@SVC_KEI_STAT_NM,@SVC_STA_YMD,@SVC_ENDYMD,@SYSID,@CUST_KANA,@CUST_NM,@RRKS_TELNO,@OFFC_NM,@OFFC_TELNO,@RRK_WAY_CD_NM,@RRK_WAY_HOKI,EMPTYA,EMPTYA,EMPTYA,EMPTYA,EMPTYA,EMPTYA,EMPTYA,EMPTYA,EMPTYA,EMPTYA,' '.1ascA,' '.1ascA,EMPTYA,EMPTYA,EMPTYA,@EOID,@KEISHA_PCD,@KEISHA_AD,@VSCP_YO_TELNO,' '.1ascA,'0'.1ascA,'0'.1ascA,' '.1ascA,' '.1ascA,' '.1ascA,' '.1ascA,EMPTYA,'${RSLT_SYSDATE}'.17ascA,'SYSTEM'.6ascA,'${RSLT_SYSDATE}'.17ascA,'SYSTEM'.6ascA,' '.1ascA,' '.1ascA,'0'.1ascA,'${RSLT_OPEDATE}'.8ascA,'${JOBNAME}'.11ascA,'${RSLT_OPEDATE}'.8ascA,'${JOBNAME}'.11ascA,' '.1ascA,' '.1ascA"
# ANK-3149-00-00 2017/04/03 DEL END
# ANK-2990-00-00 2017/02/01 MOD END
# ANK-3366-01-00 2018/05/10 DEL START
# ANK-3149-00-00 2017/04/03 ADD START
#bsortex -define $BSORT_DEF_KKIFM725 -copy -record recform=txtcsv \
#        -input file=$TMPFILE_KKIFM725_MATCH reclen=$RECLEN_KKIFM725_MATCH \
#        -output file=$TMPFILE_KKIFM725 \
#                reconst="@FOCSS_SVC_KEI_NO,EMPTYA,EMPTYA,EMPTYA,@PRC_GRP_NM,@PPLAN_NM,EMPTYA,' '.1ascA,' '.1ascA,@SVC_KEI_STAT_NM,@SVC_STA_YMD,@SVC_ENDYMD,@SYSID,@CUST_KANA,@CUST_NM,@RRKS_TELNO,@OFFC_NM,@OFFC_TELNO,@RRK_WAY_CD_NM,@RRK_WAY_HOKI,EMPTYA,EMPTYA,EMPTYA,EMPTYA,EMPTYA,EMPTYA,EMPTYA,EMPTYA,EMPTYA,EMPTYA,' '.1ascA,' '.1ascA,EMPTYA,EMPTYA,EMPTYA,@EOID,@KEISHA_PCD,@KEISHA_AD,@VSCP_YO_TELNO,' '.1ascA,'0'.1ascA,'0'.1ascA,' '.1ascA,' '.1ascA,' '.1ascA,' '.1ascA,EMPTYA,' '.1ascA,' '.1ascA,'${RSLT_SYSDATE}'.17ascA,'SYSTEM'.6ascA,'${RSLT_SYSDATE}'.17ascA,'SYSTEM'.6ascA,' '.1ascA,' '.1ascA,'0'.1ascA,'${RSLT_OPEDATE}'.8ascA,'${JOBNAME}'.11ascA,'${RSLT_OPEDATE}'.8ascA,'${JOBNAME}'.11ascA,' '.1ascA,' '.1ascA"
# ANK-3149-00-00 2017/04/03 ADD END
# ANK-3366-01-00 2018/05/10 DEL END
# ANK-3653-00-00 2019/06/05 DEL START
# ANK-3366-01-00 2018/05/10 ADD START
#bsortex -define $BSORT_DEF_KKIFM725 -copy -record recform=txtcsv \
#        -input file=$TMPFILE_KKIFM725_MATCH reclen=$RECLEN_KKIFM725_MATCH \
#        -output file=$TMPFILE_KKIFM725 \
#                reconst="@FOCSS_SVC_KEI_NO,EMPTYA,EMPTYA,EMPTYA,@PRC_GRP_NM,@PPLAN_NM,EMPTYA,' '.1ascA,' '.1ascA,@SVC_KEI_STAT_NM,@SVC_STA_YMD,@SVC_ENDYMD,@SYSID,@CUST_KANA,@CUST_NM,@RRKS_TELNO,@OFFC_NM,@OFFC_TELNO,@RRK_WAY_CD_NM,@RRK_WAY_HOKI,EMPTYA,EMPTYA,EMPTYA,EMPTYA,EMPTYA,EMPTYA,EMPTYA,EMPTYA,EMPTYA,EMPTYA,' '.1ascA,' '.1ascA,EMPTYA,EMPTYA,EMPTYA,@EOID,@KEISHA_PCD,@KEISHA_AD,@VSCP_YO_TELNO,' '.1ascA,'0'.1ascA,'0'.1ascA,' '.1ascA,' '.1ascA,' '.1ascA,' '.1ascA,EMPTYA,' '.1ascA,' '.1ascA,' '.1ascA,'${RSLT_SYSDATE}'.17ascA,'SYSTEM'.6ascA,'${RSLT_SYSDATE}'.17ascA,'SYSTEM'.6ascA,' '.1ascA,' '.1ascA,'0'.1ascA,'${RSLT_OPEDATE}'.8ascA,'${JOBNAME}'.11ascA,'${RSLT_OPEDATE}'.8ascA,'${JOBNAME}'.11ascA,' '.1ascA,' '.1ascA"
# ANK-3366-01-00 2018/05/10 ADD END
# ANK-3653-00-00 2019/06/05 DEL END
# ANK-4038-00-00 2021/09/30 DEL START
# ANK-3653-00-00 2019/06/05 ADD START
#bsortex -define $BSORT_DEF_KKIFM725 -copy -record recform=txtcsv \
#        -input file=$TMPFILE_KKIFM725_MATCH reclen=$RECLEN_KKIFM725_MATCH \
#        -output file=$TMPFILE_KKIFM725 \
#                reconst="@FOCSS_SVC_KEI_NO,EMPTYA,EMPTYA,EMPTYA,@PRC_GRP_NM,@PPLAN_NM,EMPTYA,' '.1ascA,' '.1ascA,@SVC_KEI_STAT_NM,@SVC_STA_YMD,@SVC_ENDYMD,@SYSID,@CUST_KANA,@CUST_NM,@RRKS_TELNO,@OFFC_NM,@OFFC_TELNO,@RRK_WAY_CD_NM,@RRK_WAY_HOKI,EMPTYA,EMPTYA,EMPTYA,EMPTYA,EMPTYA,EMPTYA,EMPTYA,EMPTYA,EMPTYA,EMPTYA,' '.1ascA,' '.1ascA,EMPTYA,EMPTYA,EMPTYA,@EOID,@KEISHA_PCD,@KEISHA_AD,@VSCP_YO_TELNO,' '.1ascA,'0'.1ascA,'0'.1ascA,' '.1ascA,' '.1ascA,' '.1ascA,' '.1ascA,EMPTYA,' '.1ascA,' '.1ascA,' '.1ascA,EMPTYA,'${RSLT_SYSDATE}'.17ascA,'SYSTEM'.6ascA,'${RSLT_SYSDATE}'.17ascA,'SYSTEM'.6ascA,' '.1ascA,' '.1ascA,'0'.1ascA,'${RSLT_OPEDATE}'.8ascA,'${JOBNAME}'.11ascA,'${RSLT_OPEDATE}'.8ascA,'${JOBNAME}'.11ascA,' '.1ascA,' '.1ascA"
# ANK-3653-00-00 2019/06/05 ADD END
# ANK-4038-00-00 2021/09/30 DEL END
# ANK-4038-00-00 2021/09/30 ADD START
bsortex -define $BSORT_DEF_KKIFM725 -copy -record recform=txtcsv \
        -input file=$TMPFILE_KKIFM725_MATCH reclen=$RECLEN_KKIFM725_MATCH \
        -output file=$TMPFILE_KKIFM725 \
                reconst="@FOCSS_SVC_KEI_NO,EMPTYA,EMPTYA,EMPTYA,@PRC_GRP_NM,@PPLAN_NM,EMPTYA,' '.1ascA,' '.1ascA,@SVC_KEI_STAT_NM,@SVC_STA_YMD,@SVC_ENDYMD,@SYSID,@CUST_KANA,@CUST_NM,@RRKS_TELNO,@OFFC_NM,@OFFC_TELNO,@RRK_WAY_CD_NM,@RRK_WAY_HOKI,EMPTYA,EMPTYA,EMPTYA,EMPTYA,EMPTYA,EMPTYA,EMPTYA,EMPTYA,EMPTYA,EMPTYA,' '.1ascA,' '.1ascA,EMPTYA,EMPTYA,EMPTYA,@EOID,@KEISHA_PCD,@KEISHA_AD,@VSCP_YO_TELNO,' '.1ascA,'0'.1ascA,'0'.1ascA,' '.1ascA,' '.1ascA,' '.1ascA,' '.1ascA,EMPTYA,' '.1ascA,' '.1ascA,' '.1ascA,EMPTYA,EMPTYA,EMPTYA,EMPTYA,EMPTYA,EMPTYA,EMPTYA,EMPTYA,EMPTYA,EMPTYA,'${RSLT_SYSDATE}'.17ascA,'SYSTEM'.6ascA,'${RSLT_SYSDATE}'.17ascA,'SYSTEM'.6ascA,' '.1ascA,' '.1ascA,'0'.1ascA,'${RSLT_OPEDATE}'.8ascA,'${JOBNAME}'.11ascA,'${RSLT_OPEDATE}'.8ascA,'${JOBNAME}'.11ascA,' '.1ascA,' '.1ascA"
# ANK-4038-00-00 2021/09/30 ADD END

rc=$?
if [ $rc -ne 0 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " BSORTEX error(input file=$TMPFILE_KKIFM725_MATCH:rc=$rc) "
    echo $JOBNAME " BSORTEX error(input file=$TMPFILE_KKIFM725_MATCH:rc=$rc) "
    exit ${G_RTN_ERROR}
fi

#
#--- 終了処理
#
# 一時ファイル削除
rm -f $TMPFILE_KKIFM726 $TMPFILE_KKIFM725_MATCH

#
#--- Javaプログラムログ
#--- (本shはJavaプログラムを呼び出してはいないが、出力しておく)
#
# Javaプログラム開始(Program_Start)
sh ${G_TOOLSH}/EOK010210J0.sh CS00027I $JOBNAME
# Javaプログラム終了(Program_End)
sh ${G_TOOLSH}/EOK010210J0.sh CS00028I $JOBNAME

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

exit ${G_RTN_NORMAL}
