/*********************************************************************
*  All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名			：eo顧客基幹システム
*	モジュール名		：JBSbatKKSvcStaymdHoseiTgUpd
*	ソースファイル名	：JBSbatKKSvcStaymdHoseiTgUpd.java
*	作成者				：富士通　
*	作成日				：2025年03月13日
*＜機能概要＞
*  サービス開始年月日補正更新作成部品です。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v1.00.00	2025/03/14  吉田あ		新規作成
*********************************************************************/
package eo.business.service;

import eo.business.common.JACbatDebugLogUtil;
import eo.business.common.JBSbatBusinessService;
import eo.business.common.JCCBatCommon;
import eo.business.common.JKKBatCommon;
import eo.business.common.JKKBatConst;
import eo.business.util.file.JBSbatKKIFM976;
import eo.common.constant.JKKStrConst;
import eo.common.util.JCCOracleSeqUtil;
import eo.common.util.JKKStringUtil;
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;

public class JBSbatKKSvcStaymdHoseiTgUpd extends JBSbatBusinessService {
	
	/** テーブル(サービス契約)*/
	private static final String D_TBL_NAME_KK_T_SVC_KEI = "KK_T_SVC_KEI";
	
	/** テーブル(申込)*/
	private static final String D_TBL_NAME_KK_T_MSKM = "KK_T_MSKM";

	/** テーブル(申込明細)*/
	private static final String D_TBL_NAME_KK_T_MSKM_DTL = "KK_T_MSKM_DTL";
	
	/** テーブル(進捗)*/
	private static final String D_TBL_NAME_KK_T_PRG = "KK_T_PRG";
	
	/** テーブル(異動理由)*/
	private static final String D_TBL_NAME_KK_T_IDO_RSN = "KK_T_IDO_RSN";
	
	/** テーブルアクセスクラス(サービス契約)*/
	private JBSbatSQLAccess db_KK_T_SVC_KEI = null;
	
	/** テーブルアクセスクラス(申込)*/
	private JBSbatSQLAccess db_KK_T_MSKM = null;
	
	/** テーブルアクセスクラス(申込明細)*/
	private JBSbatSQLAccess db_KK_T_MSKM_DTL = null;
	
	/** テーブルアクセスクラス(進捗)*/
	private JBSbatSQLAccess db_KK_T_PRG = null;
	
	/** テーブルアクセスクラス(異動理由)*/
	private JBSbatSQLAccess db_KK_T_IDO_RSN = null;
		
	/** SQL定義キー(サービス契約　UPDATE_018) */
	private static final String KK_T_SVC_KEI_KK_UPDATE_018 = "KK_UPDATE_018";
	
	/** オラクルシーケンス(申込番号)*/
	private static final String SEQ_MSKM_NO  = "SEQ_MSKM_NO";
	
	/** オラクルシーケンス(申込明細番号)*/
	private static final String SEQ_MSKM_DTL_NO = "SEQ_MSKM_DTL_NO";
	
	/** シーケンス定義名(SEQ_PRG_NO)*/
	private static final String SEQ_PRG_NO = "SEQ_PRG_NO";
	
	/** オラクルシーケンス(異動理由番号) */
	private static final String SEQ_IDO_RSN_NO = "SEQ_IDO_RSN_NO";
	
	/** 申込番号 */
	private String mskmNo = "";
	
	/** 異動理由 異動年月日時分秒 */
	private String idoRsnIdoDtm = "";
	
	/** 中間ファイル.サービス契約番号 */
	private String kkife976_svcKeiNo = "";

	/** 中間ファイル.SYSID */
	private String kkife976_sysid = "";

	/** 中間ファイル.サービス開始年月日 */
	private String kkife976_svcStaYmd = "";

	/** 中間ファイル.申込明細番号 */
	private String kkife976_mskmDtlNo = "";
	
	/** 中間ファイル.進捗メモ */
	private String kkife976_prgMemo = "";
	
	/**
	 * 初期処理
	 * @param JBSbatCommonItem commonItem　バッチ共通パラメータ電文
	 * @throws Exception
	 */
	public void initial(JBSbatCommonItem commonItem) throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの初期処理を記述してください。▼▼▼▼▼▼*/
		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[S][initial]");
		/**▼▼▼▼▼▼ツールから生成した初期化のソースです 開始▼▼▼▼▼▼*/
		// 共通パラメータを設定します
		super.setCommonInfo(commonItem);
		//バッチ運用日付を取得
		this.opeDate = commonItem.getOpeDate();
		
		// DBアクセスクラスを生成します
		db_KK_T_SVC_KEI = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_SVC_KEI);
		db_KK_T_MSKM = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_MSKM);
		db_KK_T_MSKM_DTL = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_MSKM_DTL);
		db_KK_T_PRG = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_PRG);
		db_KK_T_IDO_RSN = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_IDO_RSN);
		
		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[E][initial]");
	/**▲▲▲▲▲▲業務サービスの初期処理を記述してください。▲▲▲▲▲▲*/
	}

	/**
	 * 主処理
	 * @param inMap 入力電文
	 * @return JBSbatOutputItem 出力情報
	 * @throws Exception
	 */
	public JBSbatOutputItem execute(JBSbatServiceInterfaceMap inMap) throws Exception {
		
		/**▼▼▼▼▼▼業務サービスの主処理を記述してください。▼▼▼▼▼▼*/
		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[S][execute]");
		assert inMap != null ? JACbatDebugLogUtil.printDebugLog(super.logPrint, "[S][execute][inMap=" + inMap.getMap().toString() + "]") : true;
		
		// 中間ファイルの読み込み
		getKKifm976(inMap);
		
		// サービス契約番号からサービス契約のカレントレコード取得
		Object[] paramSvcKeiUpd = {
				kkife976_svcStaYmd,		// サービス開始年月日
				kkife976_svcKeiNo,		// サービス契約番号
				super.opeDate,			// 運用日付
								};
		
		// サービス契約を更新
		executeKK_T_SVC_KEI_KK_UPDATE_018(paramSvcKeiUpd);
		
		//---------------------------
		//  内部スキーマ更新処理
		//---------------------------
		// 申込
		executeKK_T_MSKM_PKINSERT(setMskmParam());
		
		// 申込明細
		executeKK_T_MSKM_DTL_PKINSERT(setMskmDtlParam());
		
		// 進捗
		executeKK_T_PRG_PKINSERT(setPrgParam());
		
		// 異動理由
		executeKK_T_IDO_RSN_PKINSERT(setIdoRsnParam(inMap));
		
		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[E][execute]");
		
		return null;
		/**▲▲▲▲▲▲業務サービスの主処理を記述してください。▲▲▲▲▲▲*/
	}

	@Override
	public void terminal() throws Exception {
		
		/**▼▼▼▼▼▼業務サービスの終了処理を記述してください。▼▼▼▼▼▼*/
		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[S][terminal]");
		
		/**▼▼▼▼▼▼ツールから生成した終了処理のソースです 開始▼▼▼▼▼▼*/
		// DBアクセスクラスをクローズします
		db_KK_T_SVC_KEI.close();
		db_KK_T_MSKM.close();
		db_KK_T_MSKM_DTL.close();
		db_KK_T_PRG.close();
		db_KK_T_IDO_RSN.close();
		
		/**▲▲▲▲▲▲ツールから生成した終了処理のソースです 終了▲▲▲▲▲▲*/
		
		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[E][terminal]");
	/**▲▲▲▲▲▲業務サービスの終了処理を記述してください。▲▲▲▲▲▲*/
	}
	
	/**
	 * 
	 * 中間ファイルの読み込みを行います。
	 * 
	 * @param inMap 中間ファイルの値。
	 * @throws Exception メソッド内で発生した例外全般。
	 */
	private void getKKifm976(JBSbatServiceInterfaceMap inMap) throws Exception
	{
		/************/
		/** 初期化 **/
		/************/
		kkife976_svcKeiNo = "";
		kkife976_sysid = "";
		kkife976_svcStaYmd = "";
		kkife976_mskmDtlNo = "";
		kkife976_prgMemo = "";
		
		kkife976_svcKeiNo       = inMap.getString(JBSbatKKIFM976.SVC_KEI_NO);	// サービス契約番号
		kkife976_sysid          = inMap.getString(JBSbatKKIFM976.SYSID);		// ＳＹＳＩＤ
		kkife976_svcStaYmd      = inMap.getString(JBSbatKKIFM976.SVC_STAYMD);	// サービス開始年月日
		kkife976_mskmDtlNo      = inMap.getString(JBSbatKKIFM976.MSKM_DTL_NO);	// 申込明細番号
		kkife976_prgMemo        = inMap.getString(JBSbatKKIFM976.PRG_MEMO);		// 進捗メモ
	}
	
	/**
	 * SQLKEY(KK_UPDATE_018)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *			SVC_STA_YMD
	 *			SVC_KEI_NO
	 *			OPE_DATE
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_T_SVC_KEI_KK_UPDATE_018(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());
		paramList.setValue(param[2].toString());
		
		// DBアクセスを実行します
		db_KK_T_SVC_KEI.executeBySqlDefine(paramList, KK_T_SVC_KEI_KK_UPDATE_018);
	}
	
	/**
	 * 申込スキーマ登録用のパラメータを設定します<br>
	 * <p>
	 * <p>
	 * @param inMap　入力電文
	 * @return Object[] 申込スキーマ登録用のパラメータ
	 * @throws Exception 
	 */
	private Object[] setMskmParam() throws Exception
	{
		// 申込番号取得
		mskmNo = JCCBatCommon.getFormatedNextSeq(super.commonItem, SEQ_MSKM_NO, "", 12);
		
		// システム日時を取得
		String systemDateTimestamp = JCCBatCommon.getSysDateTimeStamp();
		
		// 申込テーブルを登録
		Object[] setParam = 
		{
			mskmNo,											// 申込番号
			JCCBatCommon.getSysDateTimeStamp(),				// 世代登録年月日時分秒
			JKKStrConst.CD00060_130,						// 申込ステータス
			kkife976_sysid,									// SYSID
			JKKStrConst.MSKM_SBT_CD_00027,					// 申込種別コード
			null,											// 申込書到着年月日
			JKKBatCommon.getOpeDateTimeStamp(commonItem),	// 申込受付年月日時分秒
			null,											// 申込受付担当ユーザーID
			super.opeDate,									// 申込年月日
			null,											// 総合営業センター受付番号
			null,											// 総合営業申込契機コード
			null,											// 申込連絡先電話番号
			null,											// 申込実施者種別コード
			null,											// お客様ご要望事項
			null,											// 電話連絡希望日種別コード
			null,											// 電話連絡希望時間帯コード
			null,											// 宅内調査希望日種別コード
			null,											// 宅内調査希望時間帯コード
			null,											// 申込保留年月日時分秒
			null,											// 申込保留理由コード
			null,											// 申込保留解除年月日
			null,											// 申込差戻し年月日
			null,											// 申込差戻し理由コード
			null,											// 仮申込フラグ
			null,											// 申込内容確認完了年月日
			null,											// 申込キャンセル年月日
			null,											// 申込キャンセル理由コード
			null,											// 申込キャンセル取消年月日
			null,											// リファラー
			null,											// 最終画面ID
			null,											// 申込内容承認申請年月日
			null,											// 申込内容承認年月日
			null,											// 関西電力お客様情報授受同意有無
			null,											// 代理店用集計項目コード
			null,											// 照査前連絡事項要否
			null,											// 照査前連絡事項
			null,											// 利用サービス継続種別コード
			null,											// アンテナレンタル希望有無
			null,											// 差戻し中申込破棄年月日時分秒
			JKKStrConst.CD00760_04,							// コンシューマ営業用申込状態識別コード
			null,											// 受付担当者識別コード
			null,											// 工事依頼情報連絡事項
			null,											// 申込経路識別コード
			null,											// 代理店申込取次有無
			systemDateTimestamp,							// 登録年月日時分秒
			super.batchUserId,								// 登録オペレータアカウント
			systemDateTimestamp,							// 更新年月日時分秒
			super.batchUserId,								// 更新オペレータアカウント
			null,											// 削除年月日時分秒
			null,											// 削除オペレータアカウント
			JKKBatConst.S_MK_FLG,							// 無効フラグ
			null,											// 登録運用年月日
			null,											// 登録処理ID
			null,											// 更新運用年月日
			null,											// 更新処理ID
			null,											// 削除運用年月日
			null											// 削除処理ID
		};
		
		return setParam;
	}
	
	/**
	 * PK(全項目登録)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数で設定項目マップを作ります。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		setParam:設定したい項目の(項目、値)を(key、value)として、setParamマップに入れます。項目キーは以下に説明します。
	 *		 	申込番号									MSKM_NO
	 *		 	世代登録年月日時分秒						GENE_ADD_DTM
	 *		 	申込ステータス								MSKM_STAT
	 *		 	ＳＹＳＩＤ									SYSID
	 *		 	申込種別コード								MSKM_SBT_CD
	 *		 	申込書到着年月日							MSKMSHO_ARIV_YMD
	 *		 	申込受付年月日時分秒						MSKM_UK_DTM
	 *		 	申込受付担当ユーザーＩＤ					MSKM_UK_TNT_USER_ID
	 *		 	申込年月日									MSKM_YMD
	 *		 	総合営業センター受付番号					TTL_BUSINESS_CENTER_UK_NO
	 *		 	総合営業申込契機コード						TTL_BUSINESS_MSKM_OPT_CD
	 *		 	申込連絡先電話番号							MSKM_RRKS_TELNO
	 *		 	申込実施者種別コード						MSKM_JSSIS_SBT_CD
	 *		 	お客様ご要望事項							CUST_YOBO_JIKO
	 *		 	電話連絡希望日種別コード					TEL_RRK_KIBOD_SBT_CD
	 *		 	電話連絡希望時間帯コード					TEL_RRK_KIBO_TIME_CD
	 *		 	宅内調査希望日種別コード					TAKCHO_KIBOD_SBT_CD
	 *		 	宅内調査希望時間帯コード					TAKCHO_KIBO_TIME_CD
	 *		 	申込保留年月日時分秒						MSKM_PDING_DTM
	 *		 	申込保留理由コード							MSKM_PDING_RSN_CD
	 *		 	申込保留解除年月日							MSKM_PDING_RLS_YMD
	 *		 	申込差戻し年月日							MSKM_RTRN_YMD
	 *		 	申込差戻し理由コード						MSKM_RTRN_RSN_CD
	 *		 	仮申込フラグ								KARI_MSKM_FLG
	 *		 	申込内容確認完了年月日						MSKM_NAIYO_CFM_FIN_YMD
	 *		 	申込キャンセル年月日						MSKM_CANCEL_YMD
	 *		 	申込キャンセル理由コード					MSKM_CANCEL_RSN_CD
	 *		 	申込キャンセル取消年月日					MSKM_CANCEL_CL_YMD
	 *		 	リファラー									REFERER
	 *		 	最終画面ＩＤ								LAST_SCREEN_ID
	 *		 	申込内容承認申請年月日						MSKM_NYO_SHONIN_SHIN_YMD
	 *		 	申込内容承認年月日							MSKM_NYO_SHONIN_YMD
	 *		 	関西電力お客様情報授受同意有無				KEPCO_CUSTINFO_JUJU_DOI_UM
	 *		 	代理店用集計項目コード						AGNT_SHUK_KMK_CD
	 *		 	照査前連絡事項要否							SHOSA_BF_RRK_JIKO_YH
	 *		 	照査前連絡事項								SHOSA_BF_RRK_JIKO
	 *		 	利用サービス継続種別コード					USE_SVC_KEIZK_SBT_CD
	 *		 	アンテナレンタル希望有無					ANTENNA_RENT_KIBO_UM
	 *		 	差戻し中申込破棄年月日時分秒				RTRN_CHU_MSKM_ABDMNT_DTM
	 *		 	コンシューマ営業用申込状態識別コード		CONSMBSN_MSKM_STAT_SKBT_CD
	 *		 	受付担当者識別コード						UK_TNTSHA_SKBT_CD
	 *		 	工事依頼情報連絡事項						KOJI_REQ_INFO_RRK_JIKO
	 *		 	申込経路識別コード							MSKM_ROUTE_SKBT_CD
	 *		 	代理店申込取次有無							AGNT_MSKM_TRTG_UM
	 *		 	登録年月日時分秒							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_MSKM_PKINSERT(Object[] setParam) throws Exception
	{
		// 設定値のマップを作成します
		JBSbatCommonDBInterface setMap = new JBSbatCommonDBInterface();
		setMap.setValue("MSKM_NO", setParam[0]);
		setMap.setValue("GENE_ADD_DTM", setParam[1]);
		setMap.setValue("MSKM_STAT", setParam[2]);
		setMap.setValue("SYSID", setParam[3]);
		setMap.setValue("MSKM_SBT_CD", setParam[4]);
		setMap.setValue("MSKMSHO_ARIV_YMD", setParam[5]);
		setMap.setValue("MSKM_UK_DTM", setParam[6]);
		setMap.setValue("MSKM_UK_TNT_USER_ID", setParam[7]);
		setMap.setValue("MSKM_YMD", setParam[8]);
		setMap.setValue("TTL_BUSINESS_CENTER_UK_NO", setParam[9]);
		setMap.setValue("TTL_BUSINESS_MSKM_OPT_CD", setParam[10]);
		setMap.setValue("MSKM_RRKS_TELNO", setParam[11]);
		setMap.setValue("MSKM_JSSIS_SBT_CD", setParam[12]);
		setMap.setValue("CUST_YOBO_JIKO", setParam[13]);
		setMap.setValue("TEL_RRK_KIBOD_SBT_CD", setParam[14]);
		setMap.setValue("TEL_RRK_KIBO_TIME_CD", setParam[15]);
		setMap.setValue("TAKCHO_KIBOD_SBT_CD", setParam[16]);
		setMap.setValue("TAKCHO_KIBO_TIME_CD", setParam[17]);
		setMap.setValue("MSKM_PDING_DTM", setParam[18]);
		setMap.setValue("MSKM_PDING_RSN_CD", setParam[19]);
		setMap.setValue("MSKM_PDING_RLS_YMD", setParam[20]);
		setMap.setValue("MSKM_RTRN_YMD", setParam[21]);
		setMap.setValue("MSKM_RTRN_RSN_CD", setParam[22]);
		setMap.setValue("KARI_MSKM_FLG", setParam[23]);
		setMap.setValue("MSKM_NAIYO_CFM_FIN_YMD", setParam[24]);
		setMap.setValue("MSKM_CANCEL_YMD", setParam[25]);
		setMap.setValue("MSKM_CANCEL_RSN_CD", setParam[26]);
		setMap.setValue("MSKM_CANCEL_CL_YMD", setParam[27]);
		setMap.setValue("REFERER", setParam[28]);
		setMap.setValue("LAST_SCREEN_ID", setParam[29]);
		setMap.setValue("MSKM_NYO_SHONIN_SHIN_YMD", setParam[30]);
		setMap.setValue("MSKM_NYO_SHONIN_YMD", setParam[31]);
		setMap.setValue("KEPCO_CUSTINFO_JUJU_DOI_UM", setParam[32]);
		setMap.setValue("AGNT_SHUK_KMK_CD", setParam[33]);
		setMap.setValue("SHOSA_BF_RRK_JIKO_YH", setParam[34]);
		setMap.setValue("SHOSA_BF_RRK_JIKO", setParam[35]);
		setMap.setValue("USE_SVC_KEIZK_SBT_CD", setParam[36]);
		setMap.setValue("ANTENNA_RENT_KIBO_UM", setParam[37]);
		setMap.setValue("RTRN_CHU_MSKM_ABDMNT_DTM", setParam[38]);
		setMap.setValue("CONSMBSN_MSKM_STAT_SKBT_CD", setParam[39]);
		setMap.setValue("UK_TNTSHA_SKBT_CD", setParam[40]);
		setMap.setValue("KOJI_REQ_INFO_RRK_JIKO", setParam[41]);
		setMap.setValue("MSKM_ROUTE_SKBT_CD", setParam[42]);
		setMap.setValue("AGNT_MSKM_TRTG_UM", setParam[43]);
		setMap.setValue("ADD_DTM", setParam[44]);
		setMap.setValue("ADD_OPEACNT", setParam[45]);
		setMap.setValue("UPD_DTM", setParam[46]);
		setMap.setValue("UPD_OPEACNT", setParam[47]);
		setMap.setValue("DEL_DTM", setParam[48]);
		setMap.setValue("DEL_OPEACNT", setParam[49]);
		setMap.setValue("MK_FLG", setParam[50]);
		setMap.setValue("ADD_UNYO_YMD", setParam[51]);
		setMap.setValue("ADD_TRN_ID", setParam[52]);
		setMap.setValue("UPD_UNYO_YMD", setParam[53]);
		setMap.setValue("UPD_TRN_ID", setParam[54]);
		setMap.setValue("DEL_UNYO_YMD", setParam[55]);
		setMap.setValue("DEL_TRN_ID", setParam[56]);
	
		// DBアクセスを実行します
		db_KK_T_MSKM.insertByPrimaryKeys(setMap);
	}
	
	/**
	 * 申込明細スキーマ登録用のパラメータを設定します
	 * 
	 * @return 申込明細スキーマ登録用のパラメータ
	 * @throws Exception 各種エラー
	 */
	private  Object[] setMskmDtlParam() throws Exception
	{
		
		// 申込明細番号の払い出し
		String sMskmDtlNo = JCCOracleSeqUtil.getFormatedNextSeq(
				super.commonItem.getConnection(), SEQ_MSKM_DTL_NO, "", 12);

		Object[] setParam = {
				sMskmDtlNo,													// 申込明細番号
				JCCBatCommon.getSysDateTimeStamp(),							// 世代登録年月日時分秒
				JKKStrConst.MSKM_DTL_STAT_UKETSUKEZUMI,						// 申込明細ステータス
				mskmNo,														// 申込番号
				null,														// 申込書番号
				null,														// 申込書明細番号
				super.opeDate,												// 申込年月日
				kkife976_sysid,												// SYSID
				null,														// WEB受付番号
				null,														// 申込形態コード
				null,														// 申込明細種別コード
				null,														// 連絡先携帯電話番号
				null,														// 連絡先勤務先名
				null,														// 昼間連絡先電話番号
				null,														// 新規申込種別コード
				null,														// 申込契機コード
				null,														// 宅内調査希望アポ期限年月日
				null,														// 工事アポ連絡先指定コード
				null,														// 工事アポ連絡先電話番号
				null,														// 連絡事項登録年月日時分秒
				null,														// 申込明細照査年月日時分秒
				null,														// 申込明細照査取消年月日
				null,														// 後続業務依頼年月日
				null,														// 申込明細キャンセル年月日
				null,														// 申込明細キャンセル理由コード
				null,														// 申込明細キャンセル理由メモ
				null,														// 申込明細キャンセル取消年月日
				null,														// 申込連絡先メールアドレス
				null,														// 工事進捗通知メールアドレス
				null,														// 連絡事項
				null,														// 最新照会年月日
				null,														// Web照会回数
				null,														// PC照会回数
				null,														// 携帯照会回数
				null,														// 工事進捗通知携帯メールアドレス
				null,														// 工事進捗通知PCメールアドレス変更年月日
				null,														// 工事進捗通知携帯メールアドレス変更年月日
				null,														// 進捗メール最終送信年月日時分秒
				null,														// メール送信除外フラグ
				null,														// メール送信除外理由メモ
				null,														// 番ポ申込連絡先電話番号
				JKKStrConst.CD00002_UMU_0,									// オプションサービス引継有無
				null,														// 解約書類送付希望有無
				null,														// 連絡手段補記
				null,														// 新築物件コード
				null,														// 復活案件フラグ
				null,														// 同一設備再申込コード
				null,														// 本人確認書類種別コード
				null,														// 本人確認書類名
				null,														// 申込書種別コード
				null,														// 契約付加コード
				null,														// 地図添付有無
				null,														// KCNSTB申込台数
				null,														// KCNSTB種類コード
				null,														// マンション設備システム連携用記事欄
				null,														// マンションID
				null,														// CAT-ID
				null,														// 申込受付種別コード
				null,														// 申込書取扱情報担当者名
				null,														// 申込書取扱情報電話番号
				JKKStrConst.TG_GAI_FLG_TG,									// 割引自動適用対象外フラグ
				JCCBatCommon.getSysDateTimeStamp(),							// 登録年月日時分秒
				super.batchUserId,											// 登録オペレータアカウント
				JCCBatCommon.getSysDateTimeStamp(),							// 更新年月日時分秒
				super.batchUserId,											// 更新オペレータアカウント
				null,														// 削除年月日時分秒
				null,														// 削除オペレータアカウント
				JKKBatConst.S_MK_FLG,										// 無効フラグ
				super.opeDate,												// 登録運用年月日
				super.batchUserId,											// 登録処理ID
				super.opeDate,												// 更新運用年月日
				super.batchUserId,											// 更新処理ID
				null,														// 削除運用年月日
				null,														// 削除処理ID
				null,														// 多機能ルーター交換希望有無
				null,														// 同時申込eo光申込書番号
				null,														// ファミリーパック解約希望有無
				null,														// ウイルスバスター解約希望有無
				null,														// 有害Webフィルター解約希望有無
				null,														// 他システム連携_宅内調査要否
				null,														// 他システム連携_工事連絡先氏名
				null,														// 他システム連携_工事連絡先電話番号
				null,														// 他システム連携_宅内調査時連絡先氏名
				null,														// 他システム連携_宅内調査時連絡先電話番号
				null,														// 他システム連携_連絡希望日時
				null,														// 他システム連携_地図有無
				null,														// 他システム連携_既存契約情報
				null,														// 他システム連携_不備解消年月日
				null,														// 設備流用有無
				null,														// 流用元工事案件番号
				null,														// 設備流用工事完了希望年月日
				null,														// 現在利用先契約回線区分
				null,														// 機器設置場所変更有無
				null,														// 同日実施希望有無
				null,														// 早期開通早期連絡希望有無
				null,														// 電子交付同意有無
				null,														// 宅内調査アポ架電希望有無(宅内調査予約形態)
				null,														// 引継オプションサービス契約リスト
		};
		
		return setParam;
	}
	
	/**
	 * PK(全項目登録)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数で設定項目マップを作ります。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		setParam:設定したい項目の(項目、値)を(key、value)として、setParamマップに入れます。項目キーは以下に説明します。
	 *		 	申込明細番号								MSKM_DTL_NO
	 *		 	世代登録年月日時分秒						GENE_ADD_DTM
	 *		 	申込明細ステータス							MSKM_DTL_STAT
	 *		 	申込番号									MSKM_NO
	 *		 	申込書番号									MSKMSHO_NO
	 *		 	申込書明細番号								MSKMSHO_DTL_NO
	 *		 	申込年月日									MSKM_YMD
	 *		 	ＳＹＳＩＤ									SYSID
	 *		 	ＷＥＢ受付番号								WEB_UK_NO
	 *		 	申込形態コード								MSKM_FORM_CD
	 *		 	申込明細種別コード							MSKM_DTL_SBT_CD
	 *		 	連絡先携帯電話番号							RRKS_KTAI_TELNO
	 *		 	連絡先勤務先名								RRKS_OFFC_NM
	 *		 	昼間連絡先電話番号							DT_RRKS_TELNO
	 *		 	新規申込種別コード							NEW_MSKM_SBT_CD
	 *		 	申込契機コード								MSKM_OPTNTY_CD
	 *		 	宅内調査希望アポ期限年月日					TAKCHO_KIBO_APO_KIGEN_YMD
	 *		 	工事アポ連絡先指定コード					KOJI_APO_RRKS_SHITEI_CD
	 *		 	工事アポ連絡先電話番号						KOJI_APO_RRKS_TELNO
	 *		 	連絡事項登録年月日時分秒					RRK_JIKO_ADD_DTM
	 *		 	申込明細照査年月日時分秒					MSKM_DTL_SHOSA_DTM
	 *		 	申込明細照査取消年月日						MSKM_DTL_SHOSA_CL_YMD
	 *		 	後続業務依頼年月日							KZKWRK_REQYMD
	 *		 	申込明細キャンセル年月日					MSKM_DTL_CANCEL_YMD
	 *		 	申込明細キャンセル理由コード				MSKM_DTL_CANCEL_RSN_CD
	 *		 	申込明細キャンセル理由メモ					MSKM_DTL_CANCEL_RSN_MEMO
	 *		 	申込明細キャンセル取消年月日				MSKM_DTL_CANCEL_CL_YMD
	 *		 	申込連絡先メールアドレス					MSKM_RRKS_MLAD
	 *		 	工事進捗通知メールアドレス					KOJI_PRG_TCHI_MLAD
	 *		 	連絡事項									RRK_JIKO
	 *		 	最新照会年月日								RCNT_SHOKAI_YMD
	 *		 	Ｗｅｂ照会回数								WEB_SHOKAI_CNT
	 *		 	ＰＣ照会回数								PC_SHOKAI_CNT
	 *		 	携帯照会回数								KTAI_SHOKAI_CNT
	 *		 	工事進捗通知携帯メールアドレス				KJSC_TCH_KTAI_MLAD
	 *		 	工事進捗通知ＰＣメールアドレス変更年月日	KJSC_TCH_PC_MLAD_CHG_YMD
	 *		 	工事進捗通知携帯メールアドレス変更年月日	KJSC_TCH_KTAI_MLAD_CHG_YMD
	 *		 	進捗メール最終送信年月日時分秒				PRG_ML_LAST_SEND_DTM
	 *		 	メール送信除外フラグ						ML_SEND_JGI_FLG
	 *		 	メール送信除外理由メモ						ML_SEND_JGI_RSN_MEMO
	 *		 	番ポ申込連絡先電話番号						BMP_MSKM_RRKS_TLN
	 *		 	オプションサービス引継有無					OP_SVC_HKTGI_UM
	 *		 	解約書類送付希望有無						DSL_ATICLE_SOHU_KIBO_UM
	 *		 	連絡手段補記								RRK_WAY_HOKI
	 *		 	新築物件コード								NEWCONST_BUKKEN_CD
	 *		 	復活案件フラグ								HUKKAT_ANKEN_FLG
	 *		 	同一設備再申込コード						SAME_EQUIP_RE_MSKM_CD
	 *		 	本人確認書類種別コード						HNIN_CFM_ATICLE_SBT_CD
	 *		 	本人確認書類名								HNIN_CFM_ATICLE_NM
	 *		 	申込書種別コード							MSKMSHO_SBT_CD
	 *		 	契約付加コード								KEI_HUKA_CD
	 *		 	地図添付有無								MAP_TEMP_UM
	 *		 	ＫＣＮＳＴＢ申込台数						KCN_STB_MSKM_CNT
	 *		 	ＫＣＮＳＴＢ種類コード						KCN_STB_KIND_CD
	 *		 	マンション設備システム連携用記事欄			MANSSBSYS_RNKI_YO_KIJIRAN
	 *		 	マンションＩＤ								MANSION_ID
	 *		 	ＣＡＴ−ＩＤ								CATID
	 *		 	申込受付種別コード							MKM_UK_SBT_CD
	 *		 	申込書取扱情報担当者名						MSKMSHO_TRAT_IF_TNTSHA_NM
	 *		 	申込書取扱情報電話番号						MSKMSHO_TRAT_IF_TELNO
	 *		 	割引自動適用対象外フラグ					WRIB_AUTO_APLY_TG_GAI_FLG
	 *		 	登録年月日時分秒							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
	 *		 	多機能ルーター交換希望有無					TAKINORT_KKN_KIBO_UM
	 *		 	同時申込eo光申込書番号						DOJI_MSKM_EOH_MSKMSHO_NO
	 *		 	ファミリーパック解約希望有無				FAMILY_PACK_DSL_KIBO_UM
	 *		 	ウイルスバスター解約希望有無				VIRUSBUSTER_DSL_KIBO_UM
	 *		 	有害Webフィルター解約希望有無				YUGAI_WEB_FLT_DSL_KIBO_UM
	 *		 	他システム連携_宅内調査要否					TSYRN_TAKCHO_YH
	 *		 	他システム連携_工事連絡先氏名				TSYRN_KJ_RRKS_NM
	 *		 	他システム連携_工事連絡先電話番号			TSYRN_KJ_RRKS_TLN
	 *		 	他システム連携_宅内調査時連絡先氏名			TSYRN_TAKCHO_JI_RRKS_NM
	 *		 	他システム連携_宅内調査時連絡先電話番号		TSYRN_TAKCHO_JI_RRKS_TLN
	 *		 	他システム連携_連絡希望日時					TSYRN_RRK_KIBO_DATE
	 *		 	他システム連携_地図有無						TSYRN_MAP_UM
	 *		 	他システム連携_既存契約情報					TSYRN_KZN_KEI_INF
	 *		 	他システム連携_不備解消年月日				TSYRN_HBI_KAISHOU_YMD
	 *		 	設備流用有無								EQUIP_RYUYO_UM
	 *		 	流用元工事案件番号							RYUYO_MOTO_KJAK_NO
	 *		 	設備流用工事完了希望年月日					SBRY_KJ_FIN_KIBOYMD
	 *		 	現在利用先契約回線区分						NOW_USE_SK_KEI_KISN_DIV
	 *		 	機器設置場所変更有無						KIKI_SETPLC_CHGUM
	 *		 	同日実施希望有無							DOJITU_JSSI_KBUM
	 *		 	早期開通早期連絡希望有無					EARLY_OPEN_EARLY_RRK_KBUM
	 *		 	電子交付同意有無							DNSKH_DOI_UM
	 *		 	宅内調査アポ架電希望有無(宅内調査予約形態)	TAKCHO_APO_KADEN_KIBO_UM
	 *		 	引継オプションサービス契約リスト			HKTGI_OPSVKEI_LIST
	 * </pre>
	 * <p>
	 * @param setParam 設定項目の値。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_T_MSKM_DTL_PKINSERT(Object[] setParam) throws Exception
	{
		// 設定値のマップを作成します
		JBSbatCommonDBInterface setMap = new JBSbatCommonDBInterface();
		setMap.setValue("MSKM_DTL_NO", setParam[0]);
		setMap.setValue("GENE_ADD_DTM", setParam[1]);
		setMap.setValue("MSKM_DTL_STAT", setParam[2]);
		setMap.setValue("MSKM_NO", setParam[3]);
		setMap.setValue("MSKMSHO_NO", setParam[4]);
		setMap.setValue("MSKMSHO_DTL_NO", setParam[5]);
		setMap.setValue("MSKM_YMD", setParam[6]);
		setMap.setValue("SYSID", setParam[7]);
		setMap.setValue("WEB_UK_NO", setParam[8]);
		setMap.setValue("MSKM_FORM_CD", setParam[9]);
		setMap.setValue("MSKM_DTL_SBT_CD", setParam[10]);
		setMap.setValue("RRKS_KTAI_TELNO", setParam[11]);
		setMap.setValue("RRKS_OFFC_NM", setParam[12]);
		setMap.setValue("DT_RRKS_TELNO", setParam[13]);
		setMap.setValue("NEW_MSKM_SBT_CD", setParam[14]);
		setMap.setValue("MSKM_OPTNTY_CD", setParam[15]);
		setMap.setValue("TAKCHO_KIBO_APO_KIGEN_YMD", setParam[16]);
		setMap.setValue("KOJI_APO_RRKS_SHITEI_CD", setParam[17]);
		setMap.setValue("KOJI_APO_RRKS_TELNO", setParam[18]);
		setMap.setValue("RRK_JIKO_ADD_DTM", setParam[19]);
		setMap.setValue("MSKM_DTL_SHOSA_DTM", setParam[20]);
		setMap.setValue("MSKM_DTL_SHOSA_CL_YMD", setParam[21]);
		setMap.setValue("KZKWRK_REQYMD", setParam[22]);
		setMap.setValue("MSKM_DTL_CANCEL_YMD", setParam[23]);
		setMap.setValue("MSKM_DTL_CANCEL_RSN_CD", setParam[24]);
		setMap.setValue("MSKM_DTL_CANCEL_RSN_MEMO", setParam[25]);
		setMap.setValue("MSKM_DTL_CANCEL_CL_YMD", setParam[26]);
		setMap.setValue("MSKM_RRKS_MLAD", setParam[27]);
		setMap.setValue("KOJI_PRG_TCHI_MLAD", setParam[28]);
		setMap.setValue("RRK_JIKO", setParam[29]);
		setMap.setValue("RCNT_SHOKAI_YMD", setParam[30]);
		setMap.setValue("WEB_SHOKAI_CNT", setParam[31]);
		setMap.setValue("PC_SHOKAI_CNT", setParam[32]);
		setMap.setValue("KTAI_SHOKAI_CNT", setParam[33]);
		setMap.setValue("KJSC_TCH_KTAI_MLAD", setParam[34]);
		setMap.setValue("KJSC_TCH_PC_MLAD_CHG_YMD", setParam[35]);
		setMap.setValue("KJSC_TCH_KTAI_MLAD_CHG_YMD", setParam[36]);
		setMap.setValue("PRG_ML_LAST_SEND_DTM", setParam[37]);
		setMap.setValue("ML_SEND_JGI_FLG", setParam[38]);
		setMap.setValue("ML_SEND_JGI_RSN_MEMO", setParam[39]);
		setMap.setValue("BMP_MSKM_RRKS_TLN", setParam[40]);
		setMap.setValue("OP_SVC_HKTGI_UM", setParam[41]);
		setMap.setValue("DSL_ATICLE_SOHU_KIBO_UM", setParam[42]);
		setMap.setValue("RRK_WAY_HOKI", setParam[43]);
		setMap.setValue("NEWCONST_BUKKEN_CD", setParam[44]);
		setMap.setValue("HUKKAT_ANKEN_FLG", setParam[45]);
		setMap.setValue("SAME_EQUIP_RE_MSKM_CD", setParam[46]);
		setMap.setValue("HNIN_CFM_ATICLE_SBT_CD", setParam[47]);
		setMap.setValue("HNIN_CFM_ATICLE_NM", setParam[48]);
		setMap.setValue("MSKMSHO_SBT_CD", setParam[49]);
		setMap.setValue("KEI_HUKA_CD", setParam[50]);
		setMap.setValue("MAP_TEMP_UM", setParam[51]);
		setMap.setValue("KCN_STB_MSKM_CNT", setParam[52]);
		setMap.setValue("KCN_STB_KIND_CD", setParam[53]);
		setMap.setValue("MANSSBSYS_RNKI_YO_KIJIRAN", setParam[54]);
		setMap.setValue("MANSION_ID", setParam[55]);
		setMap.setValue("CATID", setParam[56]);
		setMap.setValue("MKM_UK_SBT_CD", setParam[57]);
		setMap.setValue("MSKMSHO_TRAT_IF_TNTSHA_NM", setParam[58]);
		setMap.setValue("MSKMSHO_TRAT_IF_TELNO", setParam[59]);
		setMap.setValue("WRIB_AUTO_APLY_TG_GAI_FLG", setParam[60]);
		setMap.setValue("ADD_DTM", setParam[61]);
		setMap.setValue("ADD_OPEACNT", setParam[62]);
		setMap.setValue("UPD_DTM", setParam[63]);
		setMap.setValue("UPD_OPEACNT", setParam[64]);
		setMap.setValue("DEL_DTM", setParam[65]);
		setMap.setValue("DEL_OPEACNT", setParam[66]);
		setMap.setValue("MK_FLG", setParam[67]);
		setMap.setValue("ADD_UNYO_YMD", setParam[68]);
		setMap.setValue("ADD_TRN_ID", setParam[69]);
		setMap.setValue("UPD_UNYO_YMD", setParam[70]);
		setMap.setValue("UPD_TRN_ID", setParam[71]);
		setMap.setValue("DEL_UNYO_YMD", setParam[72]);
		setMap.setValue("DEL_TRN_ID", setParam[73]);
		setMap.setValue("TAKINORT_KKN_KIBO_UM", setParam[74]);
		setMap.setValue("DOJI_MSKM_EOH_MSKMSHO_NO", setParam[75]);
		setMap.setValue("FAMILY_PACK_DSL_KIBO_UM", setParam[76]);
		setMap.setValue("VIRUSBUSTER_DSL_KIBO_UM", setParam[77]);
		setMap.setValue("YUGAI_WEB_FLT_DSL_KIBO_UM", setParam[78]);
		setMap.setValue("TSYRN_TAKCHO_YH", setParam[79]);
		setMap.setValue("TSYRN_KJ_RRKS_NM", setParam[80]);
		setMap.setValue("TSYRN_KJ_RRKS_TLN", setParam[81]);
		setMap.setValue("TSYRN_TAKCHO_JI_RRKS_NM", setParam[82]);
		setMap.setValue("TSYRN_TAKCHO_JI_RRKS_TLN", setParam[83]);
		setMap.setValue("TSYRN_RRK_KIBO_DATE", setParam[84]);
		setMap.setValue("TSYRN_MAP_UM", setParam[85]);
		setMap.setValue("TSYRN_KZN_KEI_INF", setParam[86]);
		setMap.setValue("TSYRN_HBI_KAISHOU_YMD", setParam[87]);
		setMap.setValue("EQUIP_RYUYO_UM", setParam[88]);
		setMap.setValue("RYUYO_MOTO_KJAK_NO", setParam[89]);
		setMap.setValue("SBRY_KJ_FIN_KIBOYMD", setParam[90]);
		setMap.setValue("NOW_USE_SK_KEI_KISN_DIV", setParam[91]);
		setMap.setValue("KIKI_SETPLC_CHGUM", setParam[92]);
		setMap.setValue("DOJITU_JSSI_KBUM", setParam[93]);
		setMap.setValue("EARLY_OPEN_EARLY_RRK_KBUM", setParam[94]);
		setMap.setValue("DNSKH_DOI_UM", setParam[95]);
		setMap.setValue("TAKCHO_APO_KADEN_KIBO_UM", setParam[96]);
		setMap.setValue("HKTGI_OPSVKEI_LIST", setParam[97]);
	
		// DBアクセスを実行します
		db_KK_T_MSKM_DTL.insertByPrimaryKeys(setMap);
	}
	
	/**
	 * 進捗スキーマ登録用のパラメータを設定します<br>
	 * <p>
	 * <p>
	 * @param inMap　入力電文
	 * @return Object[] 進捗スキーマ登録用のパラメータ
	 * @throws Exception 
	 */
	private Object[] setPrgParam() throws Exception
	{
		// 進捗番号を取得
		String prgNo = JCCBatCommon.getFormatedNextSeq(super.commonItem, SEQ_PRG_NO, "", 12);
		
		// システム日時を取得
		String systemDateTimestamp = JCCBatCommon.getSysDateTimeStamp();
		
		// 異動年月日時分秒を設定
		idoRsnIdoDtm = systemDateTimestamp;
		
		// 進捗特記事項1を編集
		String prgTokki1 = editPrgMemo(kkife976_prgMemo);
		
		// 登録する進捗のパラメータを設定します
		String [] setParam = 
		{
				prgNo,												// 進捗番号 → 自動採番
				kkife976_mskmDtlNo,									// 申込明細番号 → サービス開始年月日補正対象抽出対象抽出.申込明細番号
				null,												// 請求契約番号
				null,												// 請求方法番号（口座）
				null,												// 請求方法番号（クレジットカード）
				kkife976_svcKeiNo,									// サービス契約番号 → サービス開始年月日補正対象抽出対象抽出.サービス契約番号
				null,												// サービス契約内訳番号
				null,												// サービス契約回線内訳番号
				null,												// 機器提供サービス契約番号
				null,												// オプションサービス契約番号
				null,												// 請求オプションサービス契約番号
				null,												// サブオプションサービス契約番号
				null,												// 割引サービス契約番号
				JKKStrConst.CD00576_ADCHG_STAD_HOSEI,				// 異動区分 → 00084：住所変更・開始日補正
				idoRsnIdoDtm,										// 異動年月日時分秒 → システム日付
				JKKStrConst.PRG_STAT_ADCHG_STAD_HOSEI_FIN,			// 進捗ステータス → "1007"：住所変更・開始日補正完了
				JKKBatCommon.getOpeDateTimeStamp(commonItem),		// 進捗年月日時分秒 → バッチ運用日時
				null,												// 進捗メモ
				prgTokki1,											// 進捗特記事項１ → サービス開始日：(修正前)YYYY/MM/DD (修正後)YYYY/MM/DD
				null,												// 進捗特記事項２
				systemDateTimestamp,								// 登録年月日時分秒
				super.batchUserId,									// 登録オペレータアカウント
				systemDateTimestamp,								// 更新年月日時分秒
				super.batchUserId,									// 更新オペレータアカウント
				null,												// 削除年月日時分秒
				null,												// 削除オペレータアカウント
				JKKBatConst.S_MK_FLG,								// 無効フラグ
				null,												// 登録運用年月日
				null,												// 登録処理ID
				null,												// 更新運用年月日
				null,												// 更新処理ID
				null,												// 削除運用年月日
				null												// 削除処理ID
		};
		
		return setParam;
	}
	
	/**
	 * PK(全項目登録)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数で設定項目マップを作ります。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		setParam:設定したい項目の(項目、値)を(key、value)として、setParamマップに入れます。項目キーは以下に説明します。
	 *		 	進捗番号							PRG_NO
	 *		 	申込明細番号						MSKM_DTL_NO
	 *		 	請求契約番号						SEIKY_KEI_NO
	 *		 	請求方法番号（口座）				SEIKY_WAY_NO_KOZA
	 *		 	請求方法番号（クレジットカード）	SEIKY_WAY_NO_CRECARD
	 *		 	サービス契約番号					SVC_KEI_NO
	 *		 	サービス契約内訳番号				SVC_KEI_UCWK_NO
	 *		 	サービス契約回線内訳番号			SVC_KEI_KAISEN_UCWK_NO
	 *		 	機器提供サービス契約番号			KKTK_SVC_KEI_NO
	 *		 	オプションサービス契約番号			OP_SVC_KEI_NO
	 *		 	請求オプションサービス契約番号		SEIOPSVC_KEI_NO
	 *		 	サブオプションサービス契約番号		SBOP_SVC_KEI_NO
	 *		 	割引サービス契約番号				WRIB_SVC_KEI_NO
	 *		 	異動区分							IDO_DIV
	 *		 	異動年月日時分秒					IDO_DTM
	 *		 	進捗ステータス						PRG_STAT
	 *		 	進捗年月日時分秒					PRG_DTM
	 *		 	進捗メモ							PRG_MEMO
	 *		 	進捗特記事項１						PRG_TKJK_1
	 *		 	進捗特記事項２						PRG_TKJK_2
	 *		 	登録年月日時分秒					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_PRG_PKINSERT(Object[] setParam) throws Exception
	{
		// 設定値のマップを作成します
		JBSbatCommonDBInterface setMap = new JBSbatCommonDBInterface();
		setMap.setValue("PRG_NO", setParam[0]);
		setMap.setValue("MSKM_DTL_NO", setParam[1]);
		setMap.setValue("SEIKY_KEI_NO", setParam[2]);
		setMap.setValue("SEIKY_WAY_NO_KOZA", setParam[3]);
		setMap.setValue("SEIKY_WAY_NO_CRECARD", setParam[4]);
		setMap.setValue("SVC_KEI_NO", setParam[5]);
		setMap.setValue("SVC_KEI_UCWK_NO", setParam[6]);
		setMap.setValue("SVC_KEI_KAISEN_UCWK_NO", setParam[7]);
		setMap.setValue("KKTK_SVC_KEI_NO", setParam[8]);
		setMap.setValue("OP_SVC_KEI_NO", setParam[9]);
		setMap.setValue("SEIOPSVC_KEI_NO", setParam[10]);
		setMap.setValue("SBOP_SVC_KEI_NO", setParam[11]);
		setMap.setValue("WRIB_SVC_KEI_NO", setParam[12]);
		setMap.setValue("IDO_DIV", setParam[13]);
		setMap.setValue("IDO_DTM", setParam[14]);
		setMap.setValue("PRG_STAT", setParam[15]);
		setMap.setValue("PRG_DTM", setParam[16]);
		setMap.setValue("PRG_MEMO", setParam[17]);
		setMap.setValue("PRG_TKJK_1", setParam[18]);
		setMap.setValue("PRG_TKJK_2", setParam[19]);
		setMap.setValue("ADD_DTM", setParam[20]);
		setMap.setValue("ADD_OPEACNT", setParam[21]);
		setMap.setValue("UPD_DTM", setParam[22]);
		setMap.setValue("UPD_OPEACNT", setParam[23]);
		setMap.setValue("DEL_DTM", setParam[24]);
		setMap.setValue("DEL_OPEACNT", setParam[25]);
		setMap.setValue("MK_FLG", setParam[26]);
		setMap.setValue("ADD_UNYO_YMD", setParam[27]);
		setMap.setValue("ADD_TRN_ID", setParam[28]);
		setMap.setValue("UPD_UNYO_YMD", setParam[29]);
		setMap.setValue("UPD_TRN_ID", setParam[30]);
		setMap.setValue("DEL_UNYO_YMD", setParam[31]);
		setMap.setValue("DEL_TRN_ID", setParam[32]);
	
		// DBアクセスを実行します
		db_KK_T_PRG.insertByPrimaryKeys(setMap);
	}
	
	/**
	 * 年月日（YYYYMMDD）を"YYYY/MM/DD"形式に編集します。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.年月日を"チェック日：YYYY/MM/DD"形式にします。<br>
	 *
	 * </pre>
	 * <p>
	 * @param data　編集する年月日。
	 * @return String　編集後年月日。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private String editPrgMemo(String prgMemo) throws Exception
	{
		StringBuffer value = new StringBuffer();
		
		if (JKKStringUtil.isNullBlank(prgMemo) || 49 < prgMemo.getBytes(JKKBatConst.SJIS).length
				|| 49 > prgMemo.getBytes(JKKBatConst.SJIS).length)
		{
			return "";
		}
		
		// サービス開始日：(修正前)
		value.append(prgMemo.subSequence(0, 13));
		// 修正前サービス開始年月日
		value.append(prgMemo.subSequence(13, 17));
		value.append("/");
		value.append(prgMemo.subSequence(17, 19));
		value.append("/");
		value.append(prgMemo.subSequence(19, 21));
		//  (修正後)
		value.append(prgMemo.subSequence(21, 27));
		// 修正後サービス開始年月日
		value.append(prgMemo.subSequence(27, 31));
		value.append("/");
		value.append(prgMemo.subSequence(31, 33));
		value.append("/");
		value.append(prgMemo.subSequence(33, 35));
		
		return value.toString();
		
	}
	
	/**
	 * 異動理由スキーマ登録用のパラメータを設定します<br>
	 * <p>
	 * <p>
	 * @param inMap　入力電文
	 * @return Object[] 異動理由スキーマ登録用のパラメータ
	 * @throws Exception 
	 */
	private Object[] setIdoRsnParam(JBSbatServiceInterfaceMap inMap) throws Exception
	{
		// 異動理由番号を採番
		String idoRsnNo = JCCBatCommon.getFormatedNextSeq(super.commonItem, SEQ_IDO_RSN_NO, "", 12);
		// システム日時を取得
		String systemDateTimestamp = JCCBatCommon.getSysDateTimeStamp();
		
		// 異動理由テーブルを登録
		Object[] setParam = 
		{
			JKKBatConst.IDO_DIV_ADCHG_STAD_HOSEI,				// 異動区分
			idoRsnIdoDtm,										// 異動年月日時分秒
			JKKStrConst.CD00846_OTHER,							// 異動理由コード
			idoRsnNo,											// 異動理由番号
			kkife976_svcKeiNo,									// サービス契約番号
			null,												// 異動理由メモ
			systemDateTimestamp,								// 登録年月日時分秒
			super.batchUserId,									// 登録オペレータアカウント
			systemDateTimestamp,								// 更新年月日時分秒
			super.batchUserId,									// 更新オペレータアカウント
			null,												// 削除年月日時分秒
			null,												// 削除オペレータアカウント
			JKKBatConst.S_MK_FLG,								// 無効フラグ
			null,												// 登録運用年月日
			null,												// 登録処理ID
			null,												// 更新運用年月日
			null,												// 更新処理ID
			null,												// 削除運用年月日
			null												// 削除処理ID
		};
		
		return setParam;
	}
	
	/**
	 * PK(全項目登録)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数で設定項目マップを作ります。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		setParam:設定したい項目の(項目、値)を(key、value)として、setParamマップに入れます。項目キーは以下に説明します。
	 *		 	異動区分					IDO_DIV
	 *		 	異動年月日時分秒			IDO_DTM
	 *		 	異動理由コード				IDO_RSN_CD
	 *		 	異動理由番号				IDO_RSN_NO
	 *		 	サービス契約番号			SVC_KEI_NO
	 *		 	異動理由メモ				IDO_RSN_MEMO
	 *		 	登録年月日時分秒			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_IDO_RSN_PKINSERT(Object[] setParam) throws Exception
	{
		// 設定値のマップを作成します
		JBSbatCommonDBInterface setMap = new JBSbatCommonDBInterface();
		setMap.setValue("IDO_DIV", setParam[0]);
		setMap.setValue("IDO_DTM", setParam[1]);
		setMap.setValue("IDO_RSN_CD", setParam[2]);
		setMap.setValue("IDO_RSN_NO", setParam[3]);
		setMap.setValue("SVC_KEI_NO", setParam[4]);
		setMap.setValue("IDO_RSN_MEMO", setParam[5]);
		setMap.setValue("ADD_DTM", setParam[6]);
		setMap.setValue("ADD_OPEACNT", setParam[7]);
		setMap.setValue("UPD_DTM", setParam[8]);
		setMap.setValue("UPD_OPEACNT", setParam[9]);
		setMap.setValue("DEL_DTM", setParam[10]);
		setMap.setValue("DEL_OPEACNT", setParam[11]);
		setMap.setValue("MK_FLG", setParam[12]);
		setMap.setValue("ADD_UNYO_YMD", setParam[13]);
		setMap.setValue("ADD_TRN_ID", setParam[14]);
		setMap.setValue("UPD_UNYO_YMD", setParam[15]);
		setMap.setValue("UPD_TRN_ID", setParam[16]);
		setMap.setValue("DEL_UNYO_YMD", setParam[17]);
		setMap.setValue("DEL_TRN_ID", setParam[18]);
	
		// DBアクセスを実行します
		db_KK_T_IDO_RSN.insertByPrimaryKeys(setMap);
	}
	
}
