#!/bin/bash
##############################################################
# システム名    ：eo顧客基幹システム
#
# サブシステム名：料金管理
#
# シェル名      ：サービス契約情報マージ（最新取得）
#
# 機能          ：
#サービス契約情報（継続分）
#サービス契約情報（当月利用）、
#サービス契約情報（前月利用）を入力ファイルとし、
#最新の情報を出力する
#
# コマンド形式  ：EO3IKOUSHEL.sh
#
# 実行環境      ：.../app/shl
#
# 終了ステータス：ゼロ以外異常
#
# 特記事項      ：特になし
#
# 変更履歴      ：変更日      変更者       障害／仕様変更No.
# v4.00           2012/12/22  FJ）今井     新規作成
##############################################################
##############################################################
# 環境変数定義
##############################################################

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

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

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

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

#
#---OPD
#
OPD=$1

#
#---業務で必要な変数定義
#
MARGFILE=${MID_DIR_AC}/ACIFI001001_EO3IKOUSHEL_TMP1.csv
KEYFILE=${MID_DIR_AC}/ACIFI001001_EO3IKOUSHEL_TMP2.csv
KEYFILE2=${MID_DIR_AC}/ACIFI001001_EO3IKOUSHEL_TMP3.csv
OUTFILE=${MID_DIR_AC}/ACIFI001001_IKOU.csv
MATFILE=${MARGFILE}-mat
UNMFILE=${MARGFILE}-unm

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

#
#---ファイル区分付加
#---サービス契約情報（継続分）：ファイル区分3
#
sed -e "s/^/3,/" ${SEND_DIR}/ACIFI001001.csv > ${MARGFILE}
rc=$?
if [ $rc -ne 0 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " SED step1 Error($SVC sort:rc=$rc) "
    echo $JOBNAME " SED stap1 Error($SVC sed:rc=$rc) "
    exit ${G_RTN_ERROR}
fi


#
#---ファイル区分付加
#---サービス契約情報（当月利用）：ファイル区分2
#
# ↓Del 20130304
#sed -e "s/^/2,/" ${SEND_DIR}/ACIFI002001.csv >> ${MARGFILE}
#rc=$?
#if [ $rc -ne 0 ]
#then
#    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " SED step2 Error($SVC sort:rc=$rc) "
#    echo $JOBNAME " SED stap2 Error($SVC sed:rc=$rc) "
#    exit ${G_RTN_ERROR}
#fi
# ↑Del 20130304


#
#---ファイル区分付加
#---サービス契約情報（前月利用）：ファイル区分1
#
sed -e "s/^/1,/" ${SEND_DIR}/ACIFI003001.csv >> ${MARGFILE}
rc=$?
if [ $rc -ne 0 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " SED step3 Error($SVC sort:rc=$rc) "
    echo $JOBNAME " SED stap3 Error($SVC sed:rc=$rc) "
    exit ${G_RTN_ERROR}
fi


#
#---ファイル再編成
#
bsort -su -z500 -Tflt -t, -1.99asca,0.99asca  \
 -e0.99,7.99 \
 -o ${KEYFILE} \
 ${MARGFILE}
rc=$?
if [ $rc -ne 0 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " SORT step1 Error($SVC sort:rc=$rc) "
    echo $JOBNAME " SORT stap1 Error($SVC sort:rc=$rc) "
    exit ${G_RTN_ERROR}
fi


#
#---重複削除
#
bsortex -sort key=1.99asca \
 -summary suppress first \
 -record recform=txtflt fldsep=, \
 -input reclen=600 file=${KEYFILE} \
 -output file=${KEYFILE2}
rc=$?
if [ $rc -ne 0 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " SORT step2 Error($SVC sort:rc=$rc) "
    echo $JOBNAME " SORT stap2 Error($SVC sort:rc=$rc) "
    exit ${G_RTN_ERROR}
fi


#
#---出力ファイルクリア
#
cat /dev/null > ${OUTFILE}
rc=$?
if [ $rc -ne 0 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " CAT Error($SVC cat:rc=$rc) "
    echo $JOBNAME " CAT Error($SVC cat:rc=$rc) "
    exit ${G_RTN_ERROR}
fi

#
#---最新レコード抽出
#
KANDIR=`whoami`
perl /home/${KANDIR}/work/apl/file_match.pl ${MARGFILE} 7,0 ${KEYFILE2} 1,0

# ファイル区分削除
bsort -s -z500 -Tflt -t,  \
 -e1.25,2.25,3.25,4.25,5.25,6.25,7.25,8.25,9.25,10.25,11.25,12.25,13.25,14.25,15.25,16.25,17.25,18.25,19.25,20.25,21.25,22.25,23.25,24.25,25.25,26.25,27.25,28.25,29.25,30.25,31.25,32.25 \
 -o ${OUTFILE} \
 ${MATFILE}
rc=$?
if [ $rc -ne 0 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " SORT step2 Error($SVC sort:rc=$rc) "
    echo $JOBNAME " SORT stap3 Error($SVC sort:rc=$rc) "
    exit ${G_RTN_ERROR}
fi


#
#---中間ファイル削除
#
rm -f ${MARGFILE}
rc=$?
if [ $rc -ne 0 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " RM1 Error($SVC rm:rc=$rc) "
    echo $JOBNAME " RM1 Error($SVC rm:rc=$rc) "
    exit ${G_RTN_ERROR}
fi

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

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

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

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


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

exit ${G_RTN_NORMAL}
