#!/bin/bash
##############################################################
# システム名    ：eo顧客基幹システム
#
# サブシステム名：契約管理
#
# シェル名      ：関連テーブルアンロード
#
# 機能          ：KKPRC67201　高度化システム向け契約データ作成
#                 各種スキーマからのアンロードを実行する。
#
# コマンド形式  ：EO2IO0110J0.sh
#
# 実行環境      ：.../app/shl
# パラメタ      ：$1   運用日付
#
# 終了ステータス：ゼロ以外異常
#
# 特記事項      ：
#
# 変更履歴      ：変更日      変更者       障害／仕様変更No.
# v68.00.00       2023/11/22  FJ)北谷    ANK-4485-00-00_高度化システム向け契約データ連携　新規作成
#
##############################################################

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

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

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

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

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

#
#--- OPD
#
OPD=$1

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

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

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


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


#
#--- アンロード関数
#       p1：テーブル名／クエリファイル名
EXEC_UNLOAD()
{
	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_PCRS=${SQL_DIR}/KK_U_KK0791_12.sql
ULD_PCRS=${MID_DIR_KK}/KKIFM960001.csv
#--料金プラン
SQL_PPLAN=${SQL_DIR}/KK_U_KK0591_09.sql
ULD_PPLAN=${MID_DIR_KK}/KKIFM960002.csv
#--サービス契約＜eo光TV＞
SQL_SVKEITV=${SQL_DIR}/KK_U_KK0101_05.sql
ULD_SVKEITV=${MID_DIR_KK}/KKIFM960003.csv
#--宅内機器型式
SQL_TKMODEL=${SQL_DIR}/KK_U_ZM0411_05.sql
ULD_TKMODEL=${MID_DIR_KK}/KKIFM960004.csv
#--提供方式契約、回線使用契約、オーナー契約
SQL_TK_HOSHIKI=${SQL_DIR}/KK_U_KK0891_11.sql
ULD_TK_HOSHIKI=${MID_DIR_KK}/KKIFM960005.csv
#--回線使用契約、マンション提供回線組み合わせ候補
SQL_KAISEN_USE=${SQL_DIR}/KK_U_KK0881_05.sql
ULD_KAISEN_USE=${MID_DIR_KK}/KKIFM960006.csv
#--住所変更明細
SQL_ADCHG_DTL=${SQL_DIR}/KK_U_KK2101_09.sql
ULD_ADCHG_DTL=${MID_DIR_KK}/KKIFM960007.csv
#--コード名称管理 CD00036（契約者タイプコード）
SQL_CD00036=${SQL_DIR}/KK_U_ZM0171_15.sql
ULD_CD00036=${MID_DIR_KK}/KKIFM960008.csv
#--コード名称管理 CD00037（サービス契約ステータス）
SQL_CD00037=${SQL_DIR}/KK_U_ZM0171_16.sql
ULD_CD00037=${MID_DIR_KK}/KKIFM960009.csv
#--コード名称管理 CD00576（異動区分）
SQL_CD00576=${SQL_DIR}/KK_U_ZM0171_17.sql
ULD_CD00576=${MID_DIR_KK}/KKIFM960010.csv



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

cat /dev/null > ${ULD_PCRS}
cat /dev/null > ${ULD_PPLAN}
cat /dev/null > ${ULD_SVKEITV}
cat /dev/null > ${ULD_TKMODEL}
cat /dev/null > ${ULD_TK_HOSHIKI}
cat /dev/null > ${ULD_KAISEN_USE}
cat /dev/null > ${ULD_ADCHG_DTL}
cat /dev/null > ${ULD_CD00036}
cat /dev/null > ${ULD_CD00037}
cat /dev/null > ${ULD_CD00576}


#-------------------------------------------------------------
#--- ワークファイル定義
#-------------------------------------------------------------

SQL_WK_PCRS=${SQL_DIR}/KK_U_KK0791_12_${JOBNAME}_WK.sql
SQL_WK_CD00036=${SQL_DIR}/KK_U_ZM0171_15_${JOBNAME}_WK.sql
SQL_WK_CD00037=${SQL_DIR}/KK_U_ZM0171_16_${JOBNAME}_WK.sql
SQL_WK_CD00576=${SQL_DIR}/KK_U_ZM0171_17_${JOBNAME}_WK.sql


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


#--料金コース
# 編集用にSQLファイルをコピー
cp ${SQL_PCRS} ${SQL_WK_PCRS}
# 検証基準日を置換
sed -i -e "s%:OPEDATE%${OPD}%" ${SQL_WK_PCRS}

# アンロード実行
EXEC_UNLOAD ${SQL_WK_PCRS} ${ULD_PCRS} &
pid_PCRS=$!

#--料金プラン
# アンロード実行
EXEC_UNLOAD ${SQL_PPLAN} ${ULD_PPLAN} &
pid_PPLAN=$!

#--サービス契約＜eo光TV＞
# アンロード実行
EXEC_UNLOAD ${SQL_SVKEITV} ${ULD_SVKEITV} &
pid_SVKEITV=$!

#--宅内機器型式
# アンロード実行
EXEC_UNLOAD ${SQL_TKMODEL} ${ULD_TKMODEL} &
pid_TKMODEL=$!

#--提供方式契約、回線使用契約、オーナー契約
# アンロード実行
EXEC_UNLOAD ${SQL_TK_HOSHIKI} ${ULD_TK_HOSHIKI} &
pid_TK_HOSHIKI=$!

#--回線使用契約、マンション提供回線組み合わせ候補
# アンロード実行
EXEC_UNLOAD ${SQL_KAISEN_USE} ${ULD_KAISEN_USE} &
pid_KAISEN_USE=$!

#--住所変更明細
# アンロード実行
EXEC_UNLOAD ${SQL_ADCHG_DTL} ${ULD_ADCHG_DTL} &
pid_ADCHG_DTL=$!

#--コード名称管理 CD00036（契約者タイプコード）
# 編集用にSQLファイルをコピー
cp ${SQL_CD00036} ${SQL_WK_CD00036}
# 検証基準日を置換
sed -i -e "s%:OPEDATE%${OPD}%" ${SQL_WK_CD00036}

# アンロード実行
EXEC_UNLOAD ${SQL_WK_CD00036} ${ULD_CD00036} &
pid_CD00036=$!

#--コード名称管理 CD00037（サービス契約ステータス）
# 編集用にSQLファイルをコピー
cp ${SQL_CD00037} ${SQL_WK_CD00037}
# 検証基準日を置換
sed -i -e "s%:OPEDATE%${OPD}%" ${SQL_WK_CD00037}

# アンロード実行
EXEC_UNLOAD ${SQL_WK_CD00037} ${ULD_CD00037} &
pid_CD00037=$!


#--コード名称管理 CD00576（異動区分）
# 編集用にSQLファイルをコピー
cp ${SQL_CD00576} ${SQL_WK_CD00576}
# 検証基準日を置換
sed -i -e "s%:OPEDATE%${OPD}%" ${SQL_WK_CD00576}

# アンロード実行
EXEC_UNLOAD ${SQL_WK_CD00576} ${ULD_CD00576} &
pid_CD00576=$!


wait ${pid_PCRS}
wait ${pid_PPLAN}
wait ${pid_SVKEITV}
wait ${pid_TKMODEL}
wait ${pid_TK_HOSHIKI}
wait ${pid_KAISEN_USE}
wait ${pid_ADCHG_DTL}
wait ${pid_CD00036}
wait ${pid_CD00037}
wait ${pid_CD00576}


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

#-------------------------------------------------------------
#---ワークファイル削除
#-------------------------------------------------------------
if [ ${WK_RM} = "true" ]
then
    rm -f ${SQL_WK_PCRS}
    rm -f ${SQL_WK_CD00036}
    rm -f ${SQL_WK_CD00037}
    rm -f ${SQL_WK_CD00576}
fi

exit ${G_RTN_NORMAL}
