#!/bin/bash
##############################################################
# システム名    ：eo顧客基幹システム
#
# サブシステム名：料金管理
#
# シェル名      ：通信量情報チェック
#
# 機能          ：(1)通信量情報マージ済を全件入力した件数と通信量情報件数マージ済の件数をチェックする。
#　件数不一致の時、マイナーアラームを鳴動し、処理を終了する。
#(2)通信量情報マージ済より、法人分を通通信量情報（法人分）CLARIS送信に出力する。
#(3)通信量情報マージ済より、各スキーマを参照して、チェックを行う。
#※但し法人分を除く
#　チェックＯＫの時、FTTH通信量に出力する。
#　チェックＮＧの時、FTTH通信量エラーに出力する。
#(4)翌日取込分のデータが存在する時、通信量情報（翌日取込分）および、出力した件数を
#　通信量情報件数（翌日取込分）に出力する。
#
#※パラメータ変数.フリー項目は以下の順番で設定する。
#   1.通信量情報マージ済ファイルの件数(WCコマンド);
#   2.ACIFM121.def;                          (通信量情報件数（翌日取込分）ファイル)
#   3.${MID_DIR_AC}/ACIFM121003.csv; (通信量情報件数（翌日取込分）ファイル)
#   4.ACIFM122.def;                          (通信量情報件数（翌日取込分）ファイル)
#   5.${MID_DIR_AC}/ACIFM122003.csv; (通信量情報件数（翌日取込分）ファイル)
#   6.ACIFM121.def;                 (通信量情報（工事完了遅延）)
#   7.${MID_DIR_AC}/ACIFM121004.csv (通信量情報（工事完了遅延）)
#   8.ACIFE056.def;                           (通信量情報（法人分）CLARIS送信)
#   9.${GAIBU_SEND_DIR_AC}/ACIFE056/ACIFE056001.csv (通信量情報（法人分）CLARIS送信)
#  10.ACIFM180.def;                  (請求先番号（FTTH・工事遅延）ファイル)
#  11.${MID_DIR_AC}/ACIFM180007.csv; (請求先番号（FTTH）ファイル)
#  12.ACIFM180.def;                  (請求先番号（FTTH・工事遅延）ファイル)
#  13.${MID_DIR_AC}/ACIFM180008.csv; (請求先番号（FTTH・工事遅延）ファイル)
#  14.${MID_DIR_AC}/ACIFM122002.csv (通信量情報件数マージ済)
#  15.ACIFM180.def;                  (再計算向請求先番号（FTTHのみ）ファイル)
#  16.${MID_DIR_AC}/ACIFM180013.csv; (再計算向請求先番号（FTTHのみ）ファイル)
#  17.ACIFM180.def;                  (再計算向請求先番号（FTTHのみ・工事遅延）ファイル)
#  18.${MID_DIR_AC}/ACIFM180014.csv; (再計算向請求先番号（FTTHのみ・工事遅延）ファイル)
#
# コマンド形式  ：EO3180140J0.sh
#
# 実行環境      ：.../app/shl
#
# 終了ステータス：ゼロ以外異常
#
# 特記事項      ：特になし
#
# 変更履歴      ：変更日      変更者       障害／仕様変更No.
# v4.00           2012/09/21  FJ）冨井     【ANK-1212-00-00】通信量情報（法人分）CLARIS送信ファイル出力追加
# v4.01           2013/02/27  FJ）狭間     【ST4-2013-0000109】速度改善の為、JavaのDB入力部分をアンローダ・マッチング処理に変更
#                                          【KT1-2013-0000132】通信量の認証IDチェック誤りを修正
# v4.02           2013/03/07  FJ）浜口     【TG1-2013-0000044】再計算対象を従量制契約者のみにする対応
##############################################################

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

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

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

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

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

#
#---OPD
#
OPD=$1

#
#---業務で必要な変数定義
#
#手修正あり
awk -F, '$4 == "\r" {printf "%s\r\n", $0}' ${MID_DIR_AC}/ACIFM121002.csv > ${MID_DIR_AC}/ACIFM121002_TMP_EO3180140J0.csv
CNT=`wc -l ${MID_DIR_AC}/ACIFM121002_TMP_EO3180140J0.csv | awk '{print $1}'`
DEF1=ACIFM121.def
PATH1=${MID_DIR_AC}/ACIFM121003.csv
DEF2=ACIFM122.def
PATH2=${MID_DIR_AC}/ACIFM122003.csv
DEF3=ACIFM121.def
PATH3=${MID_DIR_AC}/ACIFM121004.csv
DEF4=ACIFE056.def
PATH4=${GAIBU_SEND_DIR_AC}/ACIFE056/ACIFE056001.csv
DEF5=ACIFM180.def
PATH5=${MID_DIR_AC}/ACIFM180007.csv
DEF6=ACIFM180.def
PATH6=${MID_DIR_AC}/ACIFM180008.csv
PATH7=${MID_DIR_AC}/ACIFM122002.csv
DEF8=ACIFM180.def
PATH8=${MID_DIR_AC}/ACIFM180013.csv
DEF9=ACIFM180.def
PATH9=${MID_DIR_AC}/ACIFM180014.csv

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

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

P1="OPD=,"
P2="SVCCTL=JBSbatMatchServiceControl,"
P3="JOB=EO3180140J0,"
P4="IND1=ACIFM121.def,"
P5="INF1=${MID_DIR_AC}/ACIFM121002.csv,"
P6="IND2=ACIFM190.def,"
P7="INF2=${MID_DIR_AC}/ACIFM190001.csv,"
P8="OTD1=ACIFM124.def,"
P9="OTF1=${MID_DIR_AC}/ACIFM124001.csv,"
P10="OTD2=ACIFM124.def,"
P11="OTF2=${MID_DIR_AC}/ACIFM124004.csv,"
P12="TABLENAME=,"
P13="SQLKEY=,"
P14="SQLPARAM=,"
P15="ERRFILE=,"
P16="RECOVERY=,"
P17="BREAKPTN=,"
P18="FREE=${CNT};${DEF1};${PATH1};${DEF2};${PATH2};${DEF3};${PATH3};${DEF4};${PATH4};${DEF5};${PATH5};${DEF6};${PATH6};${PATH7};${DEF8};${PATH8};${DEF9};${PATH9}"
PARA="$P1$P2$P3$P4$P5$P6$P7$P8$P9$P10$P11$P12$P13$P14$P15$P16$P17$P18"

sh ${G_TOOLSH}/EOK010210J0.sh CS00027I $JOBNAME

#
#---ＡＰＬ起動
#

java ${JAVA_OPTION_4096} -jar ${JAR_DIR}/koptBatch.jar $PARA

rc=$?
ERR_FLG=0
if [ $rc -ne 0 ]
then
   if [ $rc -ne 4 ]
   then
       if [ $rc -ne 8 ]
       then
           if [ $rc -ne 127 ]
           then
              sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " PROGRAM Error($SVC program:rc=$rc) "
              echo $JOBNAME " PROGRAM Error($SVC program:rc=$rc) "
              exit ${G_RTN_ERROR}
           fi
       fi
    fi
    ERR_FLG=1
fi

#
#--- 一時ファイル 削除
#
if [ -f ${MID_DIR_AC}/ACIFM121002_TMP_EO3180140J0.csv ]; then
	rm ${MID_DIR_AC}/ACIFM121002_TMP_EO3180140J0.csv
fi

exit_rc=$rc

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

exit $exit_rc
