#!/bin/bash
##############################################################
# システム名    ：eo顧客基幹システム
#
# サブシステム名：契約管理
#
# シェル名      ：契約者タイプ情報抽出
#
# 機能          ：サービス契約番号に対応づく課金先、請求契約、契約者タイプ情報をファイルに抽出する。
#
# コマンド形式  ：EO21A0122J0.sh
#
# 実行環境      ：.../app/shl
#
# 終了ステータス：ゼロ以外異常
#
# 特記事項      ：特になし
#
# 変更履歴      ：変更日      変更者       障害／仕様変更No.
# v7.00.00        2014/03/08  FJ）星野     OM-2013-0002901
# v8.00.00        2014/03/08  FJ）星野     OM-2014-0001641
# v10.00.00       2014/09/11  FJ）沖田     ST4-2014-0000061
# v15.00.00       2015/07/10  FJ) 福山    【OM-2015-0001698】アンロードSQL個別対応 
# v19.00.00       2015/08/20  FJ) 安井     OM-2015-0001096 課金先適用期間変更
# v19.00.01       2015/09/11  FJ) 土井    【OM-2015-0002258】性能改善。後続ジョブで実行していた処理を集約。
# v19.00.02       2015/09/24  FJ) 中村     OM-2015-0002258 ジョブ統合対応
# v57.00.00       2022/01/19  FJ) 秋末     ANK-4075-00-00 課金先情報取得追加
##############################################################

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

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

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

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

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

#
#---OPD
#
OPD=$1

#
#---業務で必要な変数定義
#
#xxx=xxxxxxx
##############################################################
# 業務処理
##############################################################
sh ${G_TOOLSH}/EOK010210J0.sh CS00025I $JOBNAME

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

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

P1="OPD=,"
P2="SVCCTL=,"
P3="JOB=EO21A0122J0,"
P4="IND1=,"
P5="INF1=,"
P6="IND2=,"
P7="INF2=,"
P8="OTD1=,"
P9="OTF1=,"
P10="OTD2=,"
P11="OTF2=,"
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"

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

#
#--- ファイル定義
#

SQLFILE=${SQL_DIR}/KK_U_KK0321_01.sql

# ANK-4075-00-00 2022/01/19 MOD START
#OUTFILE=${MID_DIR_KK}/KKIFM239012.csv
OUTFILE_SCM=${MID_DIR_KK}/KKIFM936001.csv
# ANK-4075-00-00 2022/01/19 MOD END
###2015/07/10 OM-2015-0001698 福山 ADD START
#
#--- ファイル定義（アウトプットファイル【ワーク】）
#

# ANK-4075-00-00 2022/01/19 MOD START
#OUTFILE_TMP=${MID_DIR_KK}/KKIFM239012_TMP.csv
OUTFILE_TMP_SCM=${MID_DIR_KK}/KKIFM936001_TMP.csv
# OM-2015-0002258 ジョブ統合対応 2015/09/24 中村 ADD START
#OUTFILE_seikyNo=${MID_DIR_KK}/KKIFM239012_seikyNo.csv
OUTFILE_SCM_seiky=${MID_DIR_KK}/KKIFM936001_seikyNo.csv
# ANK-4075-00-00 2022/01/19 MOD END
# OM-2015-0002258 ジョブ統合対応 2015/09/24 中村 ADD END
###2015/07/10 OM-2015-0001698 福山 ADD END
# OM-2015-0002258 ジョブ統合対応 2015/09/24 中村 DEL START
#20140308 OM-2013-0002901対応 星野 ADD START
#OUTFILE2=${MID_DIR_KK}/KKIFM239013.csv
#OUTFILE3=${MID_DIR_KK}/KKIFM239014.csv
#OUTFILE4=${MID_DIR_KK}/KKIFM239036.csv
#OUTFILE5=${MID_DIR_KK}/KKIFM239001.csv
#20140911 ST4-2014-0000061対応 沖田 ADD START
#OUTFILE6=${MID_DIR_KK}/KKIFM239052.csv
#20140911 ST4-2014-0000061対応 沖田 ADD END
#20140308 OM-2013-0002901対応 星野 ADD END
# OM-2015-0002258 ジョブ統合対応 2015/09/24 中村 DEL END

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

#
#--- アンロードファイルのクリアを行う
#
# ANK-4075-00-00 2022/01/19 MOD START
#cat /dev/null > $OUTFILE
cat /dev/null > $OUTFILE_SCM
# ANK-4075-00-00 2022/01/19 MOD END

rc=$?
if [ $rc -ne 0 ]
then
# ANK-4075-00-00 2022/01/19 MOD START
#    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File cat error($OUTFILE:rc=$rc) "
#    echo $JOBNAME " File cat error($OUTFILE:rc=$rc) "
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File cat error($OUTFILE_SCM:rc=$rc) "
    echo $JOBNAME " File cat error($OUTFILE_SCM:rc=$rc) "
# ANK-4075-00-00 2022/01/19 MOD END

    exit ${G_RTN_ERROR}
fi

#
#--- バインド変数設定処理
#
cat ${SQLFILE} > ${TMPSQLFILE}
sed -i, -e 0,/?/s/?/"'"${RSLT_OPEDATE}"'"/ ${TMPSQLFILE}
sed -i, -e 0,/?/s/?/"'"${RSLT_OPEDATE}"'"/ ${TMPSQLFILE}
sed -i, -e 0,/?/s/?/"'"${RSLT_OPEDATE}"'"/ ${TMPSQLFILE}
### OM-2014-0001641対応 20140425 星野 DEL START
#sed -i, -e 0,/?/s/?/0/ ${TMPSQLFILE}
### OM-2014-0001641対応 20140425 星野 DEL END
###2015/07/10 OM-2015-0001698 MOD 福山 START
#sed -i, -e 0,/?/s/?/"'"${RSLT_OPEDATE}"'"/ ${TMPSQLFILE}
#sed -i, -e 0,/?/s/?/0/ ${TMPSQLFILE}
#OM-2015-0001096 DEL STA
#sed -i, -e 0,/?/s/?/0/ ${TMPSQLFILE}
#OM-2015-0001096 DEL END
sed -i, -e 0,/?/s/?/"'"${RSLT_OPEDATE}"'"/ ${TMPSQLFILE}
###2015/07/10 OM-2015-0001698 MOD 福山 END
#
#--- UNLOAD処理
#
###2015/07/10 OM-2015-0001698 福山 MOD START
#sh ${G_TOOLSH}/EOKULD02.sh ${TMPSQLFILE} ${OUTFILE}
# ANK-4075-00-00 2022/01/19 MOD START
#sh ${G_TOOLSH}/EOKULD02.sh ${TMPSQLFILE} ${OUTFILE_TMP}
sh ${G_TOOLSH}/EOKULD02.sh ${TMPSQLFILE} ${OUTFILE_TMP_SCM}
# ANK-4075-00-00 2022/01/19 MOD END
###2015/07/10 OM-2015-0001698 福山 MOD END
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) "
    exit ${G_RTN_ERROR}
fi


###2015/07/10 OM-2015-0001698 福山 ADD START
#
#--- ＳＯＲＴ
#
# ANK-4075-00-00 2022/01/19 MOD START
#bsort -s -z73 -Tflt -t, -0.99asca,9.99asca,10.99asca, -o ${OUTFILE} ${OUTFILE_TMP}
bsort -s -z77 -Tflt -t, -0.99asca,9.99asca,10.99asca, -o ${OUTFILE_SCM} ${OUTFILE_TMP_SCM}
# ANK-4075-00-00 2022/01/19 MOD END
rc=$?
if [ $rc -ne 0 ]
then
# ANK-4075-00-00 2022/01/19 MOD START
#    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " SORT Error(${SVC} sort:rc=$rc) "
#    echo $JOBNAME " SORT Error(${SVC} sort:rc=$rc) "
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " SORT Error_byte(${SVC} sort_byte:rc=$rc) "
    echo $JOBNAME " SORT Error_byte(${SVC} sort_byte:rc=$rc) "
# ANK-4075-00-00 2022/01/19 MOD END
    exit ${G_RTN_ERROR}
fi
#
#--- ワークファイルの削除
# ANK-4075-00-00 2022/01/19 MOD START
#rm ${OUTFILE_TMP}
rm ${OUTFILE_TMP_SCM}
# ANK-4075-00-00 2022/01/19 MOD END
###2015/07/10 OM-2015-0001698 福山 ADD END
#
#--- SQLファイルのクリア
#
rm ${TMPSQLFILE}

# OM-2015-0002258 ジョブ統合対応 2015/09/24 中村 ADD START
#
#--- ＳＯＲＴ
#
# ANK-4075-00-00 2022/01/19 DEL START
#ファイル名を変更し、「請求SORT1」へ記載場所移動
#bsort -s -z200 -08.10asca -Tflt -t, -o ${OUTFILE_seikyNo} ${OUTFILE}
#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-4075-00-00 2022/01/19 DEL END
# OM-2015-0002258 ジョブ統合対応 2015/09/24 中村 ADD END

# OM-2015-0002258 ジョブ統合対応 2015/09/24 中村 DEL START
#20140308 OM-2013-0002901対応 星野 ADD START
#
#--- ファイルコピー
#
#cat ${OUTFILE} > ${OUTFILE2}
#cat ${OUTFILE} > ${OUTFILE3}
#cat ${OUTFILE} > ${OUTFILE4}
#cat ${OUTFILE} > ${OUTFILE5}
#20140911 ST4-2014-0000061対応 沖田 ADD START
#cat ${OUTFILE} > ${OUTFILE6}
#20140911 ST4-2014-0000061対応 沖田 ADD END
#20140308 OM-2013-0002901対応 星野 ADD END
# OM-2015-0002258 ジョブ統合対応 2015/09/24 中村 DEL END

# OM-2015-0002258 性能改善 2015/09/11 土井 ADD START
#
#--- 課金先情報 タイプ<>'3' 抽出。
#
# ANK-4075-00-00 2022/01/19 MOD START
#--- 課金先情報 タイプ<>'3' スキームタイプ<>'A' 抽出。
#bsortex -copy -record recform=txtcsv -input file=${OUTFILE} reclen=200 include="11.1asc.ne.'3'" -output file=${MID_DIR_KK}/KKIFM239012_type_Not3.csv
bsortex -copy -record recform=txtcsv -input file=${OUTFILE_SCM} reclen=200 include="11.1asc.ne.'3'.and.12.1asc.ne.'A'" -output file=${MID_DIR_KK}/KKIFM936002.csv
# ANK-4075-00-00 2022/01/19 MOD END

rc=$?
if [ $rc -ne 0 ]
then
# ANK-4075-00-00 2022/01/19 MOD START
#    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " SORT Error(${SVC} sort:rc=$rc) "
#    echo $JOBNAME " SORT Error(${SVC} sort:rc=$rc) "
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " SORT_copy_scm Error(${SVC} sort_copy_scm:rc=$rc) "
    echo $JOBNAME " SORT_copy_scm Error(${SVC} sort_copy_scm:rc=$rc) "
# ANK-4075-00-00 2022/01/19 MOD END
    exit ${G_RTN_ERROR}
fi

# ANK-4075-00-00 2022/01/19 ADD START
#--- 請求SORT1：請求契約番号でソート
bsort -s -z200 -08.10asca -Tflt -t, -o ${OUTFILE_SCM_seiky} ${OUTFILE_SCM}
rc=$?
if [ $rc -ne 0 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " SORT_seiky Error(${SVC} sort_seiky:rc=$rc) "
    echo $JOBNAME " SORT_seiky Error(${SVC} sort_seiky:rc=$rc) "
    exit ${G_RTN_ERROR}
fi

# ANK-4075-00-00 2022/01/19 ADD END


# OM-2015-0002258 性能改善 2015/09/11 土井 ADD END

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

exit ${G_RTN_NORMAL}
