#!/bin/bash
##############################################################
# システム名    ：eo顧客基幹システム
#
# サブシステム名：契約管理
#
# シェル名      ：BBSSライセンス解約依頼ファイル分割
#
# 機能          ：BBSSライセンス解約依頼分割前ファイルを商品IDの値に応じて、２ファイルに分割出力する。
#
# コマンド形式  ：EO2G20310J0.sh
#
# 実行環境      ：.../app/shl
#
# 終了ステータス：ゼロ以外異常
#
# 特記事項      ：特になし
#
# 変更履歴      ：変更日      変更者       障害／仕様変更No.
# v32.00.00      2017/04/12   FJ)二村     【ANK-3149-00-00】新セキュリティパック
# v32.00.01      2017/06/13   FJ)原田     IT1-2017-0000083
# 
##############################################################

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

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

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

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

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

#
#---OPD
#
OPD=$1

#
#---業務で必要な変数定義
#
#---運用日付取得
# IT1-2017-0000083 MOD START
#if [ "${OPD}"="" ]; then
if [ "${OPD}" = "" ]; then
# IT1-2017-0000083 MOD END
   . EOK010310J0.sh "BDATE"
else
   RSLT_OPEDATE="${OPD}"
fi

OPEDATE=`echo ${RSLT_OPEDATE} | cut -c -6`


##############################################################
# 共通関数
##############################################################

#
#--- 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}
}
##############################################################
# 業務処理
##############################################################

#
#---パラメタ定義
#

P1="OPD=$OPD,"
P2="SVCCTL=JBSbatUnitServiceControl,"
P3="JOB=EO2G20310J0,"
P4="IND1=KKIFM729,"
P5="INF1=${MID_DIR_KK}/KKIFM729.csv,"
P6="IND2=,"
P7="INF2=,"
P8="OTD1=KKIFE356,"
P9="OTF1=${GAIBU_SEND_DIR_KK}/KKIFE356/cancel_subscription_isw_yyyymm_NN.csv,"
P10="OTD2=KKIFE356,"
P11="OTF2=${GAIBU_SEND_DIR_KK}/KKIFE356/cancel_subscription_sym_yyyymm_NN.csv,"
P12="TABLENAME=,"
P13="SQLKEY=,"
P14="SQLPARAM=,"
P15="ERRFILE=,"
P16="RECOVERY=,"
P17="BREAKPTN=,"
P18="FREE="
PARA="$P1$P2$P3$P4$P5$P6$P7$P8$P9$P10$P11$P12$P13$P14$P15$P16$P17$P18"


#
#--- 1. シェル変数定義
#

# BBSSライセンス解約依頼分割前ファイル
BBSS_BNKT_MAE_PATH=${MID_DIR_KK}/KKIFM729.csv

# BBSSライセンス解約依頼分割前ファイルのレコード長
REC_LEN_KKIFM729=406

# BBSSインターネットサギウォールライセンス解約ファイル
ISW_FILE_NAME=cancel_subscription_isw_${OPEDATE}_01.csv

# BBSSシマンテック(ノートンファミリープレミア)ライセンス解約ファイル
SYM_FILE_NAME=cancel_subscription_sym_${OPEDATE}_01.csv

# 出力ファイル項目定義
BSORT_DEF_KKIFE356="@REC_DIV=0.2 @MEMBER_ID=1.128 @GOODS_ID=2.20 @USER_SBSCPT_PIN=3.128 @SBSCPT_PIN=4.128"

# 出力ファイル項目( トレーラ部レコード区分)
TRL_REC_DIV=02



#
#--- 2. BBSSライセンス解約依頼分割前ファイルの存在チェックを行う
#

if [ ! -e "${BBSS_BNKT_MAE_PATH}" ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME 
    echo ${BBSS_BNKT_MAE_PATH} " NOT found "
    exit ${G_RTN_ERROR}
fi


#
#--- 3. BBSSライセンス解約依頼分割前ファイルの抽出処理を実行する
#

#--- 3.1 ファイル出力ディレクトリ設定
OUT_PATH_KKIFE356=${GAIBU_SEND_DIR_KK}/KKIFE356/

OUT_ISW_FILE=${OUT_PATH_KKIFE356}${ISW_FILE_NAME}
OUT_SYM_FILE=${OUT_PATH_KKIFE356}${SYM_FILE_NAME}


#--- 3.2 抽出条件 商品ID='BSDCDK0016'(インターネットサギウォールライセンス解約依頼)
# ファイル抽出/出力(デ-ータ部)
bsortex -copy \
        -record recform=txtcsv \
        -define ${BSORT_DEF_KKIFE356} \
        -input file=${BBSS_BNKT_MAE_PATH} reclen=${REC_LEN_KKIFM729} \
               reconst="@REC_DIV,@MEMBER_ID,@GOODS_ID,@USER_SBSCPT_PIN,@SBSCPT_PIN" \
               include="@GOODS_IDasc.eq.'BSDCDK0016'" \
        -output file=${OUT_ISW_FILE} linedlmt=crlf

# 出力ファイル.レコード件数取得
ISW_REC_NUM=$(grep -c '' ${OUT_ISW_FILE})
# 出力ファイルへトレーラ部挿入
echo ${TRL_REC_DIV}','${ISW_REC_NUM} >> ${OUT_ISW_FILE}

# 文字コードと改行コード変換
nkf -s -Lw --overwrite ${OUT_ISW_FILE}

rc=$?
if [ $rc -ne 0 ]
then
    BSORT_ERROR ${rc} ${BBSS_BNKT_MAE_PATH}
fi


#--- 3.3 抽出条件 商品ID='dammy'(ノートンファミリープレミアライセンス解約依頼)
# ファイル抽出/出力(データ部)
bsortex -copy \
        -record recform=txtcsv \
        -define ${BSORT_DEF_KKIFE356} \
        -input file=${BBSS_BNKT_MAE_PATH} reclen=${REC_LEN_KKIFM729} \
               reconst="@REC_DIV,@MEMBER_ID,@GOODS_ID,@USER_SBSCPT_PIN,@SBSCPT_PIN" \
               include="@GOODS_IDasc.eq.'dammy'" \
        -output file=${OUT_SYM_FILE} linedlmt=crlf


# 出力ファイル.レコード件数取得
SYM_REC_NUM=$(grep -c '' ${OUT_SYM_FILE})
# 出力ファイルへトレーラ部挿入
echo ${TRL_REC_DIV}','${SYM_REC_NUM} >> ${OUT_SYM_FILE}

# 文字コードと改行コード変換
nkf -s -Lw --overwrite ${OUT_SYM_FILE}

rc=$?
if [ $rc -ne 0 ]
then
    BSORT_ERROR ${rc} ${BBSS_BNKT_MAE_PATH}
fi



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

exit ${rc}