#!/bin/bash
##############################################################
# システム名    ：eo顧客基幹システム
#
# サブシステム名：契約管理
#
# シェル名      ：eoプレミアムパック終了対応　データ移行対象抽出処理（アンロード）
#
# 機能          ：プレミアムパックの移行対象を抽出する
#
# コマンド形式  ：EO2BX0110J0.sh 処理年月日(YYYYMMDD) 課金終了年月日(YYYYMMDD) 課金開始年月日(YYYYMMDD) 
#
# 実行環境      ：.../app/shl
#
# 終了ステータス：ゼロ以外異常
#
# 特記事項      ：2023年9月末の移行用バッチです
#
# 変更履歴      ：変更日      変更者       障害／仕様変更No.
# v68.00.00       2023/08/08  FJ)北谷      ANK-4400-00-00_eoプレミアムパック終了対応
##############################################################

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

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

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


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

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

#
#--- パラメータ
#
#処理年月日
SHORI_YMD=$1
#課金終了年月日 （このシェルでは未使用）
CHRG_END_YMD=$2
#課金開始年月日 （このシェルでは未使用）
CHRG_STA_YMD=$3


#
#--- 業務で必要な変数定義
#


#--ワークファイル削除フラグ
WK_RM=true

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

#
#--- 引数の数をチェック
#
if [ $# -ne 3 ]; 
  then
  	#sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME "引数の数が不正です"
  	echo $JOBNAME "引数の数が不正です"
  	exit ${G_RTN_ERROR}
fi




#
#--- アンロード関数
#       p1：クエリファイル名 p2:出力ファイル名
EXEC_UNLOAD()
{
	# 出力ファイルの初期化
	cat /dev/null > $2
	rc=$?
	if [ $rc -ne 0 ]
	then
		#sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File cat error($2:rc=$rc) "
		echo $JOBNAME " File cat error($2:rc=$rc) "
		exit ${G_RTN_ERROR}
	fi
	
	sh ${G_TOOLSH}/EOKULD03.sh $1 $2
	
	rc=$?
	if [ $rc -ne 0 ]
	then
		#sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " unload error($2:rc=$rc) "
		echo $JOBNAME " unload error($2:rc=$rc) "
		exit ${G_RTN_ERROR}
	fi
}


#-------------------------------------------------------------
#--- 入出力ファイル定義
#-------------------------------------------------------------

#--アンロードSQL
SQL_KEYFILE=${SQL_DIR}/KK_U_KK0081_134.sql
SQL_OPSVC=${SQL_DIR}/KK_U_KK0351_33.sql
SQL_OPSVCISP=${SQL_DIR}/KK_U_KK0361_11.sql
SQL_WRI_PP=${SQL_DIR}/KK_U_KK0451_25.sql
SQL_WRIUC_PP=${SQL_DIR}/KK_U_KK2361_09.sql
SQL_WRI_SLPP=${SQL_DIR}/KK_U_KK0451_26.sql
SQL_WRIUC_SLPP=${SQL_DIR}/KK_U_KK2361_10.sql
SQL_ADCHG=${SQL_DIR}/KK_U_KK2101_08.sql


#--キー情報
ULD_KEYFILE=${MID_DIR_KK}/KKIFM959010.csv

#--オプションサービス契約
ULD_OPSVC=${MID_DIR_KK}/KKIFM959020.csv

#--オプションサービス契約＜ISP＞
ULD_OPSVCISP=${MID_DIR_KK}/KKIFM959030.csv

#--割引サービス契約　（プレミアムパック割引）
ULD_WRI_PP=${MID_DIR_KK}/KKIFM959040.csv

#--割引サービス契約内訳　（プレミアムパック割引）
ULD_WRIUC_PP=${MID_DIR_KK}/KKIFM959050.csv

#--割引サービス契約　（スマートリンクプレミアムパック割引）
ULD_WRI_SLPP=${MID_DIR_KK}/KKIFM959060.csv

#--割引サービス契約内訳　（スマートリンクプレミアムパック割引）
ULD_WRIUC_SLPP=${MID_DIR_KK}/KKIFM959070.csv

#--住所変更明細
ULD_ADCHG=${MID_DIR_KK}/KKIFM959080.csv

##--マージ後ファイル　更新バッチ用
#OUTPUT=${MID_DIR_KK}/KKIFM959090.csv


#
#---ファイルの存在チェック
#

#if [ ! -r ${SQL_KEYFILE} ]
#then
#    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File is nonexist(${SQL_KEYFILE}) "
#    echo $JOBNAME " File is nonexist($SQL_KEYFILE) "
#    exit ${G_RTN_ERROR}
#fi


#
#---出力ファイルの初期化
#

cat /dev/null > ${ULD_KEYFILE}
cat /dev/null > ${ULD_OPSVC}
cat /dev/null > ${ULD_OPSVCISP}
cat /dev/null > ${ULD_WRI_PP}
cat /dev/null > ${ULD_WRIUC_PP}
cat /dev/null > ${ULD_WRI_SLPP}
cat /dev/null > ${ULD_WRIUC_SLPP}
cat /dev/null > ${ULD_ADCHG}

#-------------------------------------------------------------
#--- ワークファイル定義
#-------------------------------------------------------------
WK_SQL_KEYFILE=${SQL_DIR}/KK_U_KK0081_134_${JOBNAME}_WK.sql
WK_SQL_OPSVC=${SQL_DIR}/KK_U_KK0351_33_${JOBNAME}_WK.sql
WK_SQL_OPSVCISP=${SQL_DIR}/KK_U_KK0361_11_${JOBNAME}_WK.sql
WK_SQL_WRI_PP=${SQL_DIR}/KK_U_KK0451_25_${JOBNAME}_WK3.sql
WK_SQL_WRIUC_PP=${SQL_DIR}/KK_U_KK2361_09_${JOBNAME}_WK.sql
WK_SQL_WRI_SLPP=${SQL_DIR}/KK_U_KK0451_26_${JOBNAME}_WK.sql
WK_SQL_WRIUC_SLPP=${SQL_DIR}/KK_U_KK2361_10_${JOBNAME}_WK.sql
WK_SQL_ADCHG=${SQL_DIR}/KK_U_KK2101_08_${JOBNAME}_WK.sql



#-------------------------------------------------------------
#--- ＭＡＩＮ処理
#-------------------------------------------------------------
#
#---アンロード処理
#

#--キー情報
# 編集用にSQLファイルをコピー
cp ${SQL_KEYFILE} ${WK_SQL_KEYFILE}
# 処理年月日を置換
sed -i -e "s%:SYORIYMD%${SHORI_YMD}%" ${WK_SQL_KEYFILE}

#--オプションサービス契約情報
# 編集用にSQLファイルをコピー
cp ${SQL_OPSVC} ${WK_SQL_OPSVC}
# 処理年月日を置換
sed -i -e "s%:SYORIYMD%${SHORI_YMD}%" ${WK_SQL_OPSVC}

#--オプションサービス契約＜ISP＞情報
# 編集用にSQLファイルをコピー
cp ${SQL_OPSVCISP} ${WK_SQL_OPSVCISP}
# 処理年月日を置換
sed -i -e "s%:SYORIYMD%${SHORI_YMD}%" ${WK_SQL_OPSVCISP}

#--割引サービス契約（PP）情報
# 編集用にSQLファイルをコピー
cp ${SQL_WRI_PP} ${WK_SQL_WRI_PP}
# 処理年月日を置換
sed -i -e "s%:SYORIYMD%${SHORI_YMD}%" ${WK_SQL_WRI_PP}

#--割引サービス契約内訳（PP）情報
# 編集用にSQLファイルをコピー
cp ${SQL_WRIUC_PP} ${WK_SQL_WRIUC_PP}
# 処理年月日を置換
sed -i -e "s%:SYORIYMD%${SHORI_YMD}%" ${WK_SQL_WRIUC_PP}

#--割引サービス契約（SLPP）情報
# 編集用にSQLファイルをコピー
cp ${SQL_WRI_SLPP} ${WK_SQL_WRI_SLPP}
# 処理年月日を置換
sed -i -e "s%:SYORIYMD%${SHORI_YMD}%" ${WK_SQL_WRI_SLPP}

#--割引サービス契約内訳（SLPP）情報
# 編集用にSQLファイルをコピー
cp ${SQL_WRIUC_SLPP} ${WK_SQL_WRIUC_SLPP}
# 処理年月日を置換
sed -i -e "s%:SYORIYMD%${SHORI_YMD}%" ${WK_SQL_WRIUC_SLPP}

#--住所変更明細情報
# 編集用にSQLファイルをコピー
cp ${SQL_ADCHG} ${WK_SQL_ADCHG}
# 処理年月日を置換
sed -i -e "s%:SYORIYMD%${SHORI_YMD}%" ${WK_SQL_ADCHG}




# アンロード実行

EXEC_UNLOAD ${WK_SQL_KEYFILE} ${ULD_KEYFILE} &
pid_KEYFILE=$!

EXEC_UNLOAD ${WK_SQL_OPSVC} ${ULD_OPSVC} &
pid_OPSVC=$!

EXEC_UNLOAD ${WK_SQL_OPSVCISP} ${ULD_OPSVCISP} &
pid_OPSVCISP=$!

EXEC_UNLOAD ${WK_SQL_WRI_PP} ${ULD_WRI_PP} &
pid_WRI_PP=$!

EXEC_UNLOAD ${WK_SQL_WRIUC_PP} ${ULD_WRIUC_PP} &
pid_WRIUC_PP=$!

EXEC_UNLOAD ${WK_SQL_WRI_SLPP} ${ULD_WRI_SLPP} &
pid_WRI_SLPP=$!

EXEC_UNLOAD ${WK_SQL_WRIUC_SLPP} ${ULD_WRIUC_SLPP} &
pid_WRIUC_SLPP=$!

EXEC_UNLOAD ${WK_SQL_ADCHG} ${ULD_ADCHG} &
pid_ADCHG=$!


wait ${pid_KEYFILE}
wait ${pid_OPSVC}
wait ${pid_OPSVCISP}
wait ${pid_WRI_PP}
wait ${pid_WRIUC_PP}
wait ${pid_WRI_SLPP}
wait ${pid_WRIUC_SLPP}
wait ${pid_ADCHG}



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

#-------------------------------------------------------------
#---ワークファイル削除
#-------------------------------------------------------------
if [ ${WK_RM} = "true" ]
then
    rm -f ${WK_SQL_KEYFILE}
    rm -f ${WK_SQL_OPSVC}
    rm -f ${WK_SQL_OPSVCISP}
    rm -f ${WK_SQL_WRI_PP}
    rm -f ${WK_SQL_WRIUC_PP}
    rm -f ${WK_SQL_WRI_SLPP}
    rm -f ${WK_SQL_WRIUC_SLPP}
    rm -f ${WK_SQL_ADCHG}
    
    
fi

exit ${G_RTN_NORMAL}
