#!/bin/bash
########################################################################
#
# システム名    ：eo顧客基幹システム
#
# サブシステム名：共通制御
#
# シェル名      ：サービス契約回線内訳情報アンロード
#
# 機能          ：サービス契約回線内訳からサービス契約回線内訳番号ごとの最新世代を抽出・ソートする。
#                 
#
# コマンド形式  ：EO3490140J0.sh
#
# 実行環境      ：.../app/shl
#
# 終了ステータス：ゼロ以外異常
#
# 特記事項      ：特になし
#
# 変更履歴      ：変更日      変更者       障害／仕様変更№
# v45.00.00       2019/07/10  FJ)澤田      新規作成【ANK-3607-00-00】料金収納手数料課金抑止の残課題対応について
# v54.00.00       2021/08/30  FJ)鈴木      【ANK-4102-00-00】窓口払い手数料の顧客負担方式導入　STEP3
# v54.00.01       2022/01/28  FJ)星野      OM-2022-0000112
########################################################################

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

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

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

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

#
#---OPD
#
OPD=$1

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

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

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

#
#--- ファイル定義
#
SQLFILE_01=${SQL_DIR}/AC_U_KK0251_01.sql
#--- 出力ファイル
COMULD_KK0251_CUR=${LOC_DIR_AC}/ACIFM333001_EO3490140J0.csv

# ANK-4102-00-00 ADD START
#--- 出力ファイル(再送信権利付与地域対象外)
COMULD_KK0251_CUR_NOT=${LOC_DIR_AC}/ACIFM333001_EO3490140J0_2.csv
# ANK-4102-00-00 ADD END

#--- 出力ワークファイル
COMULD_KK0251_CUR_WORK=${LOC_DIR_AC}/ACIFM333001_EO3490140J0_WORK.csv

# ANK-4102-00-00 ADD START
# 業務パラメータ管理取得結果編集済ファイル
KK_RSE_KENHY_REG=${LOC_DIR_AC}/KK_RSE_KENHY_REG.csv

# 再送信権利付与地域対象外ワークファイル
COMULD_KK0251_NOT_WORK=${LOC_DIR_AC}/ACIFM333001_EO3490140J0_NOT_WORK.csv

# 再送信権利付与地域対象ソートワーク
COMULD_KK0251_SORT=${LOC_DIR_AC}/ACIFM333001_SORT.csv

# ANK-4102-00-00 ADD END

#
#--- アンロードファイルのクリアを行う
#
cat /dev/null > ${COMULD_KK0251_CUR}
cat /dev/null > ${COMULD_KK0251_CUR_WORK}
# ANK-4102-00-00 ADD START
cat /dev/null > ${COMULD_KK0251_CUR_NOT}
# ANK-4102-00-00 ADD END


rc=$?
if [ $rc -ne 0 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File cat error($COMULD_KK0251_CUR_WORK:rc=$rc) "
    echo $JOBNAME " File cat error($COMULD_KK0251_CUR_WORK:rc=$rc) "
    #
    #--- ジョブの終了メッセージを出力する
    #
    sh ${G_TOOLSH}/EOK010210J0.sh CS00028I $JOBNAME
    sh ${G_TOOLSH}/EOK010210J0.sh CS00026I $JOBNAME

    exit ${G_RTN_ERROR}
fi

#
#--- UNLOAD処理(カレント)
#
sh ${G_TOOLSH}/EOKULD02.sh ${SQLFILE_01} ${COMULD_KK0251_CUR_WORK}

rc=$?
if [ $rc -ne 0 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " UNLOAD Error($SVC unload:rc=$rc) " 
    echo $JOBNAME " UNLOAD Error($SVC unload:rc=$rc) "
    #
    #--- ジョブの終了メッセージを出力する
    #
    sh ${G_TOOLSH}/EOK010210J0.sh CS00028I $JOBNAME
    sh ${G_TOOLSH}/EOK010210J0.sh CS00026I $JOBNAME

    exit ${G_RTN_ERROR}
fi

#-------------------------------------------------------------
#---業務パラメータ管理取得（AC_U_ZM0321_04.sql）
#-------------------------------------------------------------

ZM_M_WORK_PARAM_KNRI_ULD=${SQL_DIR}/AC_U_ZM0321_04.sql

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

#-------------------------------------------------------------
#---業務パラメータ管理から再送信権利付与地域 (KK_RSE_KENHY_REG_XX)を取得
#-------------------------------------------------------------
# 業務パラメータ
WORK_PARAM_ID_KK_RSE_KENHY_REG="KK_RSE_KENHY_REG_"
ZM_M_WORK_PARAM_KNRI_ULD_KK_RSE_KENHY_REG_WK=${LOC_DIR_AC}/AC_U_ZM0321_04_TEMP_${JOBNAME}_KK_RSE_KENHY_REG.sql
ZM_M_WORK_PARAM_KNRI_ULD_KK_RSE_KENHY_REG_1_FILE=${LOC_DIR_AC}/${JOBNAME}_AC_U_ZM0321_01_KK_RSE_KENHY_REG.csv

# １．業務パラメータを設定
# ２．業務パラメータ適用開始年月日に運用日を設定
# ３．業務パラメータ適用終了年月日に運用日を設定
cp  -f ${ZM_M_WORK_PARAM_KNRI_ULD} ${ZM_M_WORK_PARAM_KNRI_ULD_KK_RSE_KENHY_REG_WK}
sed -i -e s@':WORK_PARAM'@${WORK_PARAM_ID_KK_RSE_KENHY_REG}@g       ${ZM_M_WORK_PARAM_KNRI_ULD_KK_RSE_KENHY_REG_WK}
sed -i -e s@':OPEDATE'@${OPEDATE}@g                                  ${ZM_M_WORK_PARAM_KNRI_ULD_KK_RSE_KENHY_REG_WK}
sed -i -e s@':OPEDATE'@${OPEDATE}@g                                  ${ZM_M_WORK_PARAM_KNRI_ULD_KK_RSE_KENHY_REG_WK}

# 業務パラメータ管理SQL実行結果を格納
UNLOAD ${ZM_M_WORK_PARAM_KNRI_ULD_KK_RSE_KENHY_REG_WK} ${ZM_M_WORK_PARAM_KNRI_ULD_KK_RSE_KENHY_REG_1_FILE}

while read line
do
    # 再送信権利付与地域
    RSE_KENHY_REG=`echo "${line}" | cut -d , -f 1 | sed -e 's/"//g'`
# OM-2022-0000112対応 20220128 星野 MOD START
#	grep -h -e ${RSE_KENHY_REG} $COMULD_KK0251_CUR_WORK >> ${COMULD_KK0251_CUR}
	grep -a -h -e ${RSE_KENHY_REG} $COMULD_KK0251_CUR_WORK >> ${COMULD_KK0251_CUR}
# OM-2022-0000112対応 20220128 星野 MOD END
done < ${ZM_M_WORK_PARAM_KNRI_ULD_KK_RSE_KENHY_REG_1_FILE}

# ANK-4102-00-00 ADD START

# 業務パラメータ管理SQL実行結果ファイル編集（空白削除）
cat ${ZM_M_WORK_PARAM_KNRI_ULD_KK_RSE_KENHY_REG_1_FILE} | sed -e 's/ //g' > ${KK_RSE_KENHY_REG}

# 再送信権利付与地域対象外抽出
# OM-2022-0000112対応 20220128 星野 MOD START
#grep -vf ${KK_RSE_KENHY_REG} $COMULD_KK0251_CUR_WORK >> ${COMULD_KK0251_NOT_WORK}
grep -a -vf ${KK_RSE_KENHY_REG} $COMULD_KK0251_CUR_WORK >> ${COMULD_KK0251_NOT_WORK}
# OM-2022-0000112対応 20220128 星野 MOD END

# 出力ファイルソート
#
# 再送信権利付与地域
bsortex -sort key=0.12asc -record recform=txtcsv -input file=${COMULD_KK0251_CUR} reclen=700 -output file=${COMULD_KK0251_SORT}

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

cat ${COMULD_KK0251_SORT} > ${COMULD_KK0251_CUR}

#
# 再送信権利付与地域対象外
bsortex -sort key=0.12asc -record recform=txtcsv -input file=${COMULD_KK0251_NOT_WORK} reclen=700 -output file=${COMULD_KK0251_CUR_NOT}

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-4102-00-00 ADD END

# 一時ファイル削除
rm -f ${ZM_M_WORK_PARAM_KNRI_ULD_KK_RSE_KENHY_REG_WK}
rm -f ${ZM_M_WORK_PARAM_KNRI_ULD_KK_RSE_KENHY_REG_1_FILE}
rm -f ${COMULD_KK0251_CUR_WORK}
# ANK-4102-00-00 ADD START
rm -f ${KK_RSE_KENHY_REG}
rm -f ${COMULD_KK0251_NOT_WORK}
rm -f ${COMULD_KK0251_SORT}
# ANK-4102-00-00 ADD END


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

exit ${G_RTN_NORMAL}
