#!/bin/bash
##############################################################
# システム名    ：eo顧客基幹システム
#
# サブシステム名：料金管理
#
# シェル名      ：保守用請求契約除外サブシェル
#
# 機能          ：再計算対象請求先情報から保守用請求契約を除外する。
#
# コマンド形式  ：. EO3050417J0_01.sh
#
# 実行環境      ：.../app/shl
#
# 終了ステータス：ゼロ以外異常
#
# 特記事項      ：特になし
#
# 変更履歴      ：変更日      変更者       障害／仕様変更No.
# v4.00.00        2013/06/11  FJ）早崎    【TG1-2013-0000620】新規作成
##############################################################
#
#---ワークファイル削除モード
#
WK_RM=true

#---マッチング処理でLeftjoinがNULL時に"を付けなくする（マッチング使用時は必須）
export ZTLQUOTES=''
#
#---ファイル定義
#
#---入力ファイル(再計算対象請求先情報)
#---親シェルで定義
INFILE_TRAN_SUB=${INFILE_TRAN}
INFILE_TRAN_SUB_CRLF_WK=${MID_DIR_AC}/INFILE_TRAN_SUB_CRLF_${JOBNAME}_WK.csv

#---入力ファイル(保守用請求契約)
#---親シェルで定義
INFILE_MAST_SUB=${INFILE_MAST}
INFILE_MAST_SUB_CRLF_WK=${MID_DIR_AC}/INFILE_MAST_SUB_CRLF_${JOBNAME}_WK.csv

#---出力ファイル
#---親シェルで定義
OUT_FILE_SUB=${OUT_FILE}
OUTFILE_SUB_MATCHING=${MID_DIR_AC}/OUTFILE_MATCHING_${JOBNAME}_WK.csv
OUTFILE_SUB_INCLUDE=${MID_DIR_AC}/OUTFILE_INCLUDE_${JOBNAME}_WK.csv
OUTFILE_SUB_BSORT=${MID_DIR_AC}/OUTFILE_BSORT_${JOBNAME}_WK.csv
OUTFILE_SUB_CRLF=${MID_DIR_AC}/OUTFILE_CRLF_${JOBNAME}_WK.csv

#---マッチングdef
#---親シェルで定義
MACHING_DEF=${MACH_DEF}

#---ソートキー
#---親シャルで定義
SORT_KEY_SUB=${SORT_KEY}


##############################################################
#
#--- 共通サブルーチン
#
##############################################################

##############################################################
#--- MATCHING
##############################################################
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
}

##############################################################
#--- BSORT
##############################################################
BSORT(){
	bsort -su -z$1 -Tcsv -e1.END -$2 -o $3 $4
	rc=$?
	if [ $rc -ne 0 ]
	then
	      sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " sed error($1 $2 $3 $4:rc=$rc) "
	      echo $JOBNAME " sed error($1 $2 $3 $4:rc=$rc) "
	      exit ${G_RTN_ERROR}
	fi
}
##############################################################
#
#--- MAIN
#
##############################################################

#-- CRLF変換
nkf -Lu  < ${INFILE_MAST_SUB} > ${INFILE_MAST_SUB_CRLF_WK}
nkf -Lu  < ${INFILE_TRAN_SUB} > ${INFILE_TRAN_SUB_CRLF_WK}

# マッチング
export INF1=${INFILE_TRAN_SUB_CRLF_WK}
export INF2=${INFILE_MAST_SUB_CRLF_WK}
MATCHING ${MACHING_DEF} ${OUTFILE_SUB_MATCHING}

# 絞込み
bsortex \
  -copy \
  -input  reclen=100 \
          file=${OUTFILE_SUB_MATCHING} \
          include="0.10asc.lt.'0'" \
  -record recform=txtcsv \
  -output file=${OUTFILE_SUB_INCLUDE} ;
rc=$?
if [ $rc -ne 0 ]
then
      sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " Sort error(sort:rc=$rc) "
      echo $JOBNAME " Sort error(sort:rc=$rc) "
      exit ${G_RTN_ERROR}
fi

# ソート
BSORT 100 ${SORT_KEY_SUB} ${OUTFILE_SUB_BSORT} ${OUTFILE_SUB_INCLUDE}

#-- CRLF変換
nkf -Lw < ${OUTFILE_SUB_BSORT} > ${OUT_FILE_SUB}

#
#---ワークファイル削除
#
if [ ${WK_RM} = "true" ]
then
    echo "ワークファイル削除"
    rm -f ${OUTFILE_SUB_MATCHING}
    rm -f ${OUTFILE_SUB_INCLUDE}
    rm -f ${OUTFILE_SUB_BSORT}
    rm -f ${INFILE_TRAN_SUB_CRLF_WK}
    rm -f ${INFILE_MAST_SUB_CRLF_WK}
fi
