/*********************************************************************
*  All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名			：eo顧客基幹システム
*	モジュール名		：JBSbatKKNsidHakkoAfTran
*	ソースファイル名	：JBSbatKKNsidHakkoAfTran.java
*	作成者				：富士通　
*	作成日				：2018年03月07日
*＜機能概要＞
*　認証ＩＤ発行後処理部品です。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v37.00.00	2018/03/07  FJ)王		【ANK-3366-00-00】eo光設備卸対応 新規作成
*	v37.00.01	2018/05/22  FJ)王		【IT2-2018-0000040】障害対応
*********************************************************************/
package eo.business.service;

import eo.business.common.JBSbatBusinessService;
import eo.business.common.JCCBatCommon;
import eo.business.common.JKKBatConst;
import eo.business.util.file.JBSbatKKIFE374;
import eo.framework.db.JBSbatSQLAccess;
import eo.framework.item.JBSbatCommonDBInterface;
import eo.framework.item.JBSbatCommonItem;
import eo.framework.item.JBSbatOutputItem;
import eo.framework.item.JBSbatServiceInterfaceMap;
import eo.framework.util.JBSbatOracleSeqUtil;

/**
* (クラスの機能概要) <p>
*<BR>
* @author 富士通
*/
public class JBSbatKKNsidHakkoAfTran extends JBSbatBusinessService
{
	/**▼▼▼▼▼▼ツールから生成した宣言です 開始▼▼▼▼▼▼*/
	/** テーブル(卸先事業者契約異動通知)*/
	private static final String D_TBL_NAME_KK_T_ORSJGS_KEI_IDT = "KK_T_ORSJGS_KEI_IDT";

	/** テーブルアクセスクラス(卸先事業者契約異動通知)*/
	private JBSbatSQLAccess db_KK_T_ORSJGS_KEI_IDT = null;
	/**▲▲▲▲▲▲ツールから生成した宣言です 終了▲▲▲▲▲▲*/

	/**
	 * 初期処理
	 * @param JBSbatCommonItem commonItem　バッチ共通パラメータ電文
	 * @throws Exception
	 */
	public void initial(JBSbatCommonItem commonItem) throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの初期処理を記述してください。▼▼▼▼▼▼*/
		/**▼▼▼▼▼▼ツールから生成した初期化のソースです 開始▼▼▼▼▼▼*/
		// 共通パラメータを設定します
		super.setCommonInfo(commonItem);

		// DBアクセスクラスを生成します
		db_KK_T_ORSJGS_KEI_IDT = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_ORSJGS_KEI_IDT);
		/**▲▲▲▲▲▲ツールから生成した初期化のソースです 終了▲▲▲▲▲▲*/
	/**▲▲▲▲▲▲業務サービスの初期処理を記述してください。▲▲▲▲▲▲*/
	}

	/**
	 * 主処理
	 * @param inMap　入力電文
	 * @return JBSbatOutputItem　出力情報
	 * @throws Exception
	 */
	public JBSbatOutputItem execute(JBSbatServiceInterfaceMap inMap) throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの主処理を記述してください。▼▼▼▼▼▼*/
		if (inMap.isInputErrorFlg())
		{
			return null;
		}
		
		String recDiv = inMap.getString(JBSbatKKIFE374.REC_DIV);			// レコード区分
		String cmnKey = inMap.getString(JBSbatKKIFE374.CMN_KEY);			// 共通キー
		String ninshoId = inMap.getString(JBSbatKKIFE374.NINSHO_ID);		// 認証ID
		String ninshoIdPwd = inMap.getString(JBSbatKKIFE374.NINSHO_ID_PWD);	// 認証IDパスワード
		
		// 卸先事業者契約異動通知番号
		String orsjgsKeiIdtNo = JBSbatOracleSeqUtil.getFormatedNextSeq(commonItem.getConnection(), JKKBatConst.SEQ_ORSJGS_KEI_IDT_NO, "", 15);
		
		// 登録する卸先事業者契約異動通知情報のパラメータを設定します
		String [] setParam = {
				orsjgsKeiIdtNo,									// 卸先事業者契約異動通知番号
				cmnKey,											// 卸先事業者連携対象サービス契約番号
				recDiv,											// 卸先事業者コード
				JKKBatConst.ORSJGS_RNKI_SKCD_NINSHO_ID_HAKKO,	// 卸先事業者連携識別コード
				cmnKey,											// サービス契約番号
				JKKBatConst.SVC_SBT_NET,						// サービス種別
				"",												// 認証IDパスワード変更区分
				ninshoId,										// 認証ID
				ninshoIdPwd,									// 認証IDパスワード
				"",												// サービス開始年月日
				"",												// 課金開始年月日
				"",												// 課金終了年月日
				"",												// 卸先事業者キャンセル理由コード
				"",												// 卸先事業者キャンセル理由詳細コード
				"",												// 卸先事業者キャンセル理由
				"",												// 工事案件番号
				"",												// 工事予定年月日
				"",												// 卸先事業者連携工事予定区分
				"",												// 卸先事業者解約種別コード
				"",												// 電話解約フラグ
				"",												// 撤去方法種別コード
				"",												// 解約問合せ客名
				"",												// 撤去工事連絡先電話番号
				"",												// 工事アポ対応者名
				"",												// 工事立会者名
				"",												// 工事会社連携情報メモ
				"",												// 送付先郵便番号
				"",												// 送付先住所情報
				JKKBatConst.ORSJGS_KEI_IDT_STAT_CD_TCH_ZM,		// 卸先事業者契約異動通知状態コード
				super.opeDate,									// 卸先事業者契約異動発生年月日
				"",												// 卸先事業者契約異動予約年月日
				super.opeDate,									// 卸先事業者契約異動処理年月日
				JCCBatCommon.getSysDateTimeStamp(),				// 卸先事業者契約異動通知年月日時分秒
// IT2-2018-0000040 MOD START
//				"",												// 卸先事業者契約異動通知結果コード
				JKKBatConst.ORSJGS_KEI_IDT_RSLT_CD_OK,			// 卸先事業者契約異動通知結果コード
// IT2-2018-0000040 MOD END
				"",												// 卸先事業者契約異動通知NG理由
				"",												// 登録年月日時分秒
				"",												// 登録オペレータアカウント
				"",												// 更新年月日時分秒
				"",												// 更新オペレータアカウント
				"",												// 削除年月日時分秒
				"",												// 削除オペレータアカウント
				"",												// 無効フラグ
				"",												// 登録運用年月日
				"",												// 登録処理ID
				"",												// 更新運用年月日
				"",												// 更新処理ID
				"",												// 削除運用年月日
				""												// 削除処理ID
		};
		
		// 登録処理を実施します
		executeKK_T_ORSJGS_KEI_IDT_PKINSERT(setParam);

		return null;
	/**▲▲▲▲▲▲業務サービスの主処理を記述してください。▲▲▲▲▲▲*/
	}

	/**
	 * 業務サービス終了処理
	 * @throws Exception
	 */
	public void terminal() throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの終了処理を記述してください。▼▼▼▼▼▼*/
		/**▼▼▼▼▼▼ツールから生成した終了処理のソースです 開始▼▼▼▼▼▼*/
		// DBアクセスクラスをクローズします
		db_KK_T_ORSJGS_KEI_IDT.close();
		/**▲▲▲▲▲▲ツールから生成した終了処理のソースです 終了▲▲▲▲▲▲*/
	/**▲▲▲▲▲▲業務サービスの終了処理を記述してください。▲▲▲▲▲▲*/
	}

	/**▼▼▼▼▼▼ツールから生成したメソッドです 開始▼▼▼▼▼▼*/
	/**
	 * PK(全項目登録)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数で設定項目マップを作ります。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		setParam:設定したい項目の(項目、値)を(key、value)として、setParamマップに入れます。項目キーは以下に説明します。
	 *		 	卸先事業者契約異動通知番号				ORSJGS_KEI_IDT_NO
	 *		 	卸先事業者連携対象サービス契約番号				ORSJGS_RNK_TG_SVC_KEI_NO
	 *		 	卸先事業者コード				ORSJGS_CD
	 *		 	卸先事業者連携識別コード				ORSJGS_RNKI_SKCD
	 *		 	サービス契約番号				SVC_KEI_NO
	 *		 	サービス種別				SVC_SBT
	 *		 	認証ＩＤパスワード変更区分				NINSHO_ID_PWD_CHG_DIV
	 *		 	認証ＩＤ				NINSHO_ID
	 *		 	認証ＩＤパスワード				NINSHO_ID_PWD
	 *		 	サービス開始年月日				SVC_STAYMD
	 *		 	課金開始年月日				CHRG_STAYMD
	 *		 	課金終了年月日				CHRG_ENDYMD
	 *		 	卸先事業者キャンセル理由コード				ORSJGS_CNCL_RSN_CD
	 *		 	卸先事業者キャンセル理由詳細コード				ORSJGS_CNCL_RSN_DTL_CD
	 *		 	卸先事業者キャンセル理由				ORSJGS_CNCL_RSN
	 *		 	工事案件番号				KOJIAK_NO
	 *		 	工事予定年月日				KOJI_RSV_YMD
	 *		 	卸先事業者連携工事予定区分				ORSJGS_RNKI_KOJI_RSV_DIV
	 *		 	卸先事業者解約種別コード				ORSJGS_DSL_SBT_CD
	 *		 	電話解約フラグ				TEL_DSL_FLG
	 *		 	撤去方法種別コード				TK_WAY_SBT_CD
	 *		 	解約問合せ客名				DSL_PROSCST_NM
	 *		 	撤去工事連絡先電話番号				TK_KOJI_RRKS_TLN
	 *		 	工事アポ対応者名				KOJI_APO_TAIOSHA_NM
	 *		 	工事立会者名				KOJI_TACHIAISHA_NM
	 *		 	工事会社連携情報メモ				KOCOMP_RNKI_INF_MEMO
	 *		 	送付先郵便番号				SOHUS_PCD
	 *		 	送付先住所情報				SOHUS_AD_INF
	 *		 	卸先事業者契約異動通知状態コード				ORSJGS_KEI_IDT_STAT_CD
	 *		 	卸先事業者契約異動発生年月日				ORSJGS_KEI_IDO_HASSEI_YMD
	 *		 	卸先事業者契約異動予約年月日				ORSJGS_KEI_IDO_RSV_YMD
	 *		 	卸先事業者契約異動処理年月日				ORSJGS_KEI_IDO_TRN_YMD
	 *		 	卸先事業者契約異動通知年月日時分秒				ORSJGS_KEI_IDT_DTM
	 *		 	卸先事業者契約異動通知結果コード				ORSJGS_KEI_IDT_RSLT_CD
	 *		 	卸先事業者契約異動通知ＮＧ理由				ORSJGS_KEI_IDT_NG_RSN
	 *		 	登録年月日時分秒				ADD_DTM
	 *		 	登録オペレータアカウント				ADD_OPEACNT
	 *		 	更新年月日時分秒				UPD_DTM
	 *		 	更新オペレータアカウント				UPD_OPEACNT
	 *		 	削除年月日時分秒				DEL_DTM
	 *		 	削除オペレータアカウント				DEL_OPEACNT
	 *		 	無効フラグ				MK_FLG
	 *		 	登録運用年月日				ADD_UNYO_YMD
	 *		 	登録処理ＩＤ				ADD_TRN_ID
	 *		 	更新運用年月日				UPD_UNYO_YMD
	 *		 	更新処理ＩＤ				UPD_TRN_ID
	 *		 	削除運用年月日				DEL_UNYO_YMD
	 *		 	削除処理ＩＤ				DEL_TRN_ID
	 * </pre>
	 * <p>
	 * @param setParam 設定項目の値。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_T_ORSJGS_KEI_IDT_PKINSERT(Object[] setParam) throws Exception
	{
		// 設定値のマップを作成します
		JBSbatCommonDBInterface setMap = new JBSbatCommonDBInterface();
		setMap.setValue("ORSJGS_KEI_IDT_NO", setParam[0]);
		setMap.setValue("ORSJGS_RNK_TG_SVC_KEI_NO", setParam[1]);
		setMap.setValue("ORSJGS_CD", setParam[2]);
		setMap.setValue("ORSJGS_RNKI_SKCD", setParam[3]);
		setMap.setValue("SVC_KEI_NO", setParam[4]);
		setMap.setValue("SVC_SBT", setParam[5]);
		setMap.setValue("NINSHO_ID_PWD_CHG_DIV", setParam[6]);
		setMap.setValue("NINSHO_ID", setParam[7]);
		setMap.setValue("NINSHO_ID_PWD", setParam[8]);
		setMap.setValue("SVC_STAYMD", setParam[9]);
		setMap.setValue("CHRG_STAYMD", setParam[10]);
		setMap.setValue("CHRG_ENDYMD", setParam[11]);
		setMap.setValue("ORSJGS_CNCL_RSN_CD", setParam[12]);
		setMap.setValue("ORSJGS_CNCL_RSN_DTL_CD", setParam[13]);
		setMap.setValue("ORSJGS_CNCL_RSN", setParam[14]);
		setMap.setValue("KOJIAK_NO", setParam[15]);
		setMap.setValue("KOJI_RSV_YMD", setParam[16]);
		setMap.setValue("ORSJGS_RNKI_KOJI_RSV_DIV", setParam[17]);
		setMap.setValue("ORSJGS_DSL_SBT_CD", setParam[18]);
		setMap.setValue("TEL_DSL_FLG", setParam[19]);
		setMap.setValue("TK_WAY_SBT_CD", setParam[20]);
		setMap.setValue("DSL_PROSCST_NM", setParam[21]);
		setMap.setValue("TK_KOJI_RRKS_TLN", setParam[22]);
		setMap.setValue("KOJI_APO_TAIOSHA_NM", setParam[23]);
		setMap.setValue("KOJI_TACHIAISHA_NM", setParam[24]);
		setMap.setValue("KOCOMP_RNKI_INF_MEMO", setParam[25]);
		setMap.setValue("SOHUS_PCD", setParam[26]);
		setMap.setValue("SOHUS_AD_INF", setParam[27]);
		setMap.setValue("ORSJGS_KEI_IDT_STAT_CD", setParam[28]);
		setMap.setValue("ORSJGS_KEI_IDO_HASSEI_YMD", setParam[29]);
		setMap.setValue("ORSJGS_KEI_IDO_RSV_YMD", setParam[30]);
		setMap.setValue("ORSJGS_KEI_IDO_TRN_YMD", setParam[31]);
		setMap.setValue("ORSJGS_KEI_IDT_DTM", setParam[32]);
		setMap.setValue("ORSJGS_KEI_IDT_RSLT_CD", setParam[33]);
		setMap.setValue("ORSJGS_KEI_IDT_NG_RSN", setParam[34]);
		setMap.setValue("ADD_DTM", setParam[35]);
		setMap.setValue("ADD_OPEACNT", setParam[36]);
		setMap.setValue("UPD_DTM", setParam[37]);
		setMap.setValue("UPD_OPEACNT", setParam[38]);
		setMap.setValue("DEL_DTM", setParam[39]);
		setMap.setValue("DEL_OPEACNT", setParam[40]);
		setMap.setValue("MK_FLG", setParam[41]);
		setMap.setValue("ADD_UNYO_YMD", setParam[42]);
		setMap.setValue("ADD_TRN_ID", setParam[43]);
		setMap.setValue("UPD_UNYO_YMD", setParam[44]);
		setMap.setValue("UPD_TRN_ID", setParam[45]);
		setMap.setValue("DEL_UNYO_YMD", setParam[46]);
		setMap.setValue("DEL_TRN_ID", setParam[47]);
	
		// DBアクセスを実行します
		db_KK_T_ORSJGS_KEI_IDT.insertByPrimaryKeys(setMap);
	}
	/**▲▲▲▲▲▲ツールから生成したメソッドです 終了▲▲▲▲▲▲*/
}
