/*********************************************************************
*  All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名			：eo顧客基幹システム
*	モジュール名		：JBSbatKKWribCmpDataAdd
*	ソースファイル名	：JBSbatKKWribCmpDataAdd.java
*	作成者				：富士通
*	作成日				：2018年06月20日
*＜機能概要＞
*　割引ＣＰ登録用データ登録部品です。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v28.00.00	2018/06/20   FJ）森		新規作成
*	v53.00.00	2021/06/24   FJ）山地	【OM-2020-0001445】ＣＰは1契約分適用になるべきところ、倍額適用している
*	v54.00.00	2021/06/25   FJ）山地	【ANK-4050-00-00】セット割用キャンペーンコードの再適用対応
*********************************************************************/
package eo.business.service;

import java.util.ArrayList;
import java.util.HashMap;
import eo.business.common.JBSbatBusinessService;
import eo.business.common.JBSbatInterface;
import eo.business.common.JCCBatCommon;
import eo.business.common.JKKBatCommon;
import eo.business.common.JKKBatConst;
import eo.business.util.file.JBSbatKKIFM816;
import eo.business.util.table.JBSbatKK_M_WRIB_SVC;
import eo.business.util.table.JBSbatKK_M_WRIB_SVC_DTL;
import eo.business.util.table.JBSbatKK_M_WRISVC_TG_SVC;
import eo.business.util.table.JBSbatKK_T_MSKM_DTL;
import eo.business.util.table.JBSbatKK_T_SVC_KEI;
import eo.business.util.table.JBSbatKK_T_WRIB_SVC_KEI;
import eo.common.constant.JKKStrConst;
import eo.framework.item.JBSbatCommonItem;
import eo.framework.item.JBSbatServiceInterfaceMap;
import eo.framework.item.JBSbatOutputItem;
import eo.framework.item.JBSbatCommonDBInterface;
import eo.framework.application.JBSbatBusinessException;
import eo.framework.db.JBSbatSQLAccess;
import eo.framework.util.JBSbatDateUtil;

/**
* (クラスの機能概要) <p>
*<BR>
* @author 富士通
*/
public class JBSbatKKWribCmpDataAdd 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_M_WRIB_SVC = "KK_M_WRIB_SVC";

	/** テーブル(割引サービス契約)*/
	private static final String D_TBL_NAME_KK_T_WRIB_SVC_KEI = "KK_T_WRIB_SVC_KEI";

	/** テーブル(割引サービス詳細)*/
	private static final String D_TBL_NAME_KK_M_WRIB_SVC_DTL = "KK_M_WRIB_SVC_DTL";

	/** テーブル(サービス契約排他制御)*/
	private static final String D_TBL_NAME_KK_T_SVKEI_EXC_CTRL = "KK_T_SVKEI_EXC_CTRL";

	/** テーブル(申込)*/
	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_WRISVC_TG_KEI = "KK_T_WRISVC_TG_KEI";

	/** テーブル(割引サービス契約内訳)*/
	private static final String D_TBL_NAME_KK_T_WRISVC_KEI_UCWK = "KK_T_WRISVC_KEI_UCWK";

	/** テーブル(進捗)*/
	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";

	/** SQL定義キー(KK_SELECT_330)*/
	private static final String KK_T_SVC_KEI_KK_SELECT_330 = "KK_SELECT_330";

	/** SQL定義キー(KK_SELECT_008)*/
	private static final String KK_M_WRIB_SVC_KK_SELECT_008 = "KK_SELECT_008";

	/** SQL定義キー(KK_SELECT_009)*/
	private static final String KK_M_WRIB_SVC_KK_SELECT_009 = "KK_SELECT_009";

	/** SQL定義キー(KK_SELECT_072)*/
	private static final String KK_T_WRIB_SVC_KEI_KK_SELECT_072 = "KK_SELECT_072";

	/** SQL定義キー(KK_SELECT_007)*/
	private static final String KK_M_WRIB_SVC_DTL_KK_SELECT_007 = "KK_SELECT_007";

	/** SQL定義キー(KK_SELECT_001)*/
	private static final String KK_T_SVKEI_EXC_CTRL_KK_SELECT_001 = "KK_SELECT_001";

	/** SQL定義キー(KK_INSERT_010)*/
	private static final String KK_T_WRIB_SVC_KEI_KK_INSERT_010 = "KK_INSERT_010";

	/** SQL定義キー(KK_INSERT_011)*/
	private static final String KK_T_WRIB_SVC_KEI_KK_INSERT_011 = "KK_INSERT_011";

	/** SQL定義キー(KK_INSERT_003)*/
	private static final String KK_T_WRISVC_KEI_UCWK_KK_INSERT_003 = "KK_INSERT_003";

	/** SQL定義キー(KK_UPDATE_002)*/
	private static final String KK_T_SVKEI_EXC_CTRL_KK_UPDATE_002 = "KK_UPDATE_002";

	/** テーブルアクセスクラス(サービス契約)*/
	private JBSbatSQLAccess db_KK_T_SVC_KEI = null;

	/** テーブルアクセスクラス(割引サービス)*/
	private JBSbatSQLAccess db_KK_M_WRIB_SVC = null;

	/** テーブルアクセスクラス(割引サービス契約)*/
	private JBSbatSQLAccess db_KK_T_WRIB_SVC_KEI = null;

	/** テーブルアクセスクラス(割引サービス詳細)*/
	private JBSbatSQLAccess db_KK_M_WRIB_SVC_DTL = null;

	/** テーブルアクセスクラス(サービス契約排他制御)*/
	private JBSbatSQLAccess db_KK_T_SVKEI_EXC_CTRL = null;

	/** テーブルアクセスクラス(申込)*/
	private JBSbatSQLAccess db_KK_T_MSKM = null;

	/** テーブルアクセスクラス(申込明細)*/
	private JBSbatSQLAccess db_KK_T_MSKM_DTL = null;

	/** テーブルアクセスクラス(割引サービス対象契約)*/
	private JBSbatSQLAccess db_KK_T_WRISVC_TG_KEI = null;

	/** テーブルアクセスクラス(割引サービス契約内訳)*/
	private JBSbatSQLAccess db_KK_T_WRISVC_KEI_UCWK = null;

	/** テーブルアクセスクラス(進捗)*/
	private JBSbatSQLAccess db_KK_T_PRG = null;

	/** テーブルアクセスクラス(異動理由)*/
	private JBSbatSQLAccess db_KK_T_IDO_RSN = null;

	/** オラクルシーケンス(申込番号)*/
	private static final String SEQ_MSKM_NO               = "SEQ_MSKM_NO";
	/** オラクルシーケンス(申込明細番号)*/
	private static final String SEQ_MSKM_DTL_NO           = "SEQ_MSKM_DTL_NO";
	/** オラクルシーケンス(割引サービス契約番号)*/
	private static final String SEQ_WRIB_SVC_KEI_NO       = "SEQ_WRIB_SVC_KEI_NO";
	/** オラクルシーケンス(割引サービス対象契約番号)*/
	private static final String  SEQ_WRIB_SVC_TRGT_KEI_NO = "SEQ_WRIB_SVC_TRGT_KEI_NO";
	/** オラクルシーケンス(割引サービス契約内訳番号)*/
	private static final String  SEQ_WRIB_SVC_KEI_UCWK_NO = "SEQ_WRIB_SVC_KEI_UCWK_NO";
	/** オラクルシーケンス(進捗番号)*/
	private static final String SEQ_PRG_NO                = "SEQ_PRG_NO";
	/** オラクルシーケンス(異動理由番号) */
	private static final String SEQ_IDO_RSN_NO            = "SEQ_IDO_RSN_NO";

	/** 進捗特記事項1 出力テンプレート（キャンペーン登録） */
	private static final String SET_TEMPLATE_PRG_TKJK_1_ADD  = "割引キャンペーン登録　ＣＰコード:";
	
	/** 進捗特記事項1 出力テンプレート（キャンペーン解除） */
	private static final String SET_TEMPLATE_PRG_TKJK_1_DEL  = "割引キャンペーン解除　ＣＰコード:";
	
	/** カウンタ */
	private int counter = 0;
	
	/** 変更区分（登録） */
	private static final String CHG_DIV_ADD = "1";
	
	/** 変更区分（削除） */
	private static final String CHG_DIV_DEL = "2";

	/**
	 * 初期処理
	 * @param JBSbatCommonItem commonItem　バッチ共通パラメータ電文
	 * @throws Exception
	 */
	public void initial(JBSbatCommonItem commonItem) throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの初期処理を記述してください。▼▼▼▼▼▼*/
		// 共通パラメータを設定します
		super.setCommonInfo(commonItem);

		// DBアクセスクラスを生成します
		db_KK_T_SVC_KEI = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_SVC_KEI);
		db_KK_M_WRIB_SVC = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_M_WRIB_SVC);
		db_KK_T_WRIB_SVC_KEI = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_WRIB_SVC_KEI);
		db_KK_M_WRIB_SVC_DTL = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_M_WRIB_SVC_DTL);
		db_KK_T_SVKEI_EXC_CTRL = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_SVKEI_EXC_CTRL);
		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_WRISVC_TG_KEI = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_WRISVC_TG_KEI);
		db_KK_T_WRISVC_KEI_UCWK = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_WRISVC_KEI_UCWK);
		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);
		
	/**▲▲▲▲▲▲業務サービスの初期処理を記述してください。▲▲▲▲▲▲*/
	}

	/**
	 * 主処理
	 * @param inMap　入力電文
	 * @return JBSbatOutputItem　出力情報
	 * @throws Exception
	 */
	public JBSbatOutputItem execute(JBSbatServiceInterfaceMap inMap) throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの主処理を記述してください。▼▼▼▼▼▼*/
		
		// カウンタを＋１
		counter++;
		// エラーメッセージ出力用カウンタ
		String cnt = String.valueOf(counter);
		
		// 入力ファイルの内容取得（サービス契約番号）
		String svcKeiNo   = inMap.getString(JBSbatKKIFM816.SVC_KEI_NO);
		// 入力ファイルの内容取得（キャンペーンコード）
		String cmpCd = inMap.getString(JBSbatKKIFM816.CMP_CD);
		// 入力ファイルの内容取得（変更区分）
		String chgDiv = inMap.getString(JBSbatKKIFM816.CHG_DIV);
		// 入力ファイルの内容取得（適用日）
		String aplyYmd = inMap.getString(JBSbatKKIFM816.APLY_YMD);

		//---------------------------------------------
		// 変更区分チェック
		//---------------------------------------------

		// 変更区分が"1"（登録）、"2"（削除）のいずれでもない場合
		if(!CHG_DIV_ADD.equals(chgDiv) && !CHG_DIV_DEL.equals(chgDiv))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB1790KW", new String[]{
					"変更区分",
					cnt
			});
			return null;
		}
		
		//---------------------------------------------
		// サービス契約番号存在チェック
		//---------------------------------------------
		
		// サービス契約情報取得
		JBSbatCommonDBInterface svcKeiInfo = getExistSvcKei(svcKeiNo);

		//サービス契約番号が存在しない場合
		if(svcKeiInfo == null)
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB1800KW", new String[]{
					"サービス契約にサービス契約番号 " + svcKeiNo + " ",
					cnt
			});
			return null;
		}
		
		//---------------------------------------------
		// サービス契約ステータスチェック@（登録）
		//---------------------------------------------
		
		// サービス契約ステータス
		String svcKeiStat = svcKeiInfo.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_STAT);
		
		// 変更区分が"1"（登録）かつサービス契約ステータスが適用対象外（受付済・解約済・キャンセル済）の場合
		if(CHG_DIV_ADD.equals(chgDiv) && (JKKBatConst.CD_SBT_SVC_KEI_STAT_010.equals(svcKeiStat)
				|| JKKBatConst.CD_SBT_SVC_KEI_STAT_910.equals(svcKeiStat) || JKKBatConst.CD_SBT_SVC_KEI_STAT_920.equals(svcKeiStat)))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB1810JW", new String[]{
					svcKeiStat,
					cnt,
					svcKeiNo
			});
			return null;
		}
		
		//---------------------------------------------
		// サービス契約ステータスチェックA（削除）
		//---------------------------------------------

		// 変更区分が"2"（削除）かつサービス契約ステータスが適用対象外（受付済）の場合
		if(CHG_DIV_DEL.equals(chgDiv) && JKKBatConst.CD_SBT_SVC_KEI_STAT_010.equals(svcKeiStat))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB1820JW", new String[]{
					svcKeiStat,
					cnt,
					svcKeiNo
			});
			return null;
		}
		
		//---------------------------------------------
		// 表示用キャンペーンコード存在チェック
		//---------------------------------------------

		// 表示用キャンペーンコードが存在しない場合
		if(!isExistWribSvc(cmpCd))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB1800KW", new String[]{
					"割引サービスに表示用キャンペーンコード " + cmpCd + " ",
					cnt
			});
			return null;
		}
		
		//---------------------------------------------
		// キャンペーン適用対象料金プランチェック（登録）
		//---------------------------------------------
		
		// 料金プランコード
		String pplanCd = svcKeiInfo.getString(JBSbatKK_T_SVC_KEI.PPLAN_CD);
		// 割引サービス情報取得
		JBSbatCommonDBInterface wrisvcTgsvcInfo = getWrisvcTgSvc(cmpCd, pplanCd);
		
		// 変更区分が"1"（登録）かつ該当サービスに対して適用可能なキャンペーンでない場合
		if(CHG_DIV_ADD.equals(chgDiv) && wrisvcTgsvcInfo == null)
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB1830KW", new String[]{
					cnt,
					svcKeiNo,
					cmpCd
			});
			return null;
		}
		
		//---------------------------------------------
		// 割引サービス契約存在チェック（削除）
		//---------------------------------------------
		
		// 割引サービス契約情報取得
		ArrayList<JBSbatCommonDBInterface> existsWribKeiList = getExistWribSvcKei(svcKeiNo, cmpCd);

		// 変更区分が"2"（削除）かつ割引サービス契約が存在しない場合
		if(CHG_DIV_DEL.equals(chgDiv) && existsWribKeiList.size() == 0)
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB1840KW", new String[]{
					cnt,
					svcKeiNo,
					cmpCd
			});
			return null;
		}
		
		//---------------------------------------------
		// 割引サービス契約ステータスチェック
		//---------------------------------------------
		String wribSvcKeiStat = null;
		String wribSvcKeiNo = null;
		
		// 変更区分が"1"（登録）の場合
		if(CHG_DIV_ADD.equals(chgDiv))
		{
			for(JBSbatCommonDBInterface wribSvcKeiInfo : existsWribKeiList)
			{
				// 割引サービス契約番号
				wribSvcKeiNo = wribSvcKeiInfo.getString(JBSbatKK_T_WRIB_SVC_KEI.WRIB_SVC_KEI_NO);
				// 割引サービス契約ステータス
				wribSvcKeiStat = wribSvcKeiInfo.getString(JBSbatKK_T_WRIB_SVC_KEI.WRIB_SVC_KEI_STAT);
				
				// ANK-4050-00-00 MOD START
				//// 割引サービス契約ステータスが受付済、サービス提供中、適用済のいずれかの場合
				//if((JKKBatConst.WRIB_SVC_KEI_STAT_UKETSUKE_ZUMI.equals(wribSvcKeiStat)
				//		|| JKKBatConst.WRIB_SVC_KEI_STAT_SVC_TEIKYOTYU.equals(wribSvcKeiStat) || JKKBatConst.WRIB_SVC_KEI_STAT_TEKIYO_ZUMI.equals(wribSvcKeiStat)))
				// 割引サービス契約ステータスが受付済、サービス提供中のいずれかの場合
				if((JKKBatConst.WRIB_SVC_KEI_STAT_UKETSUKE_ZUMI.equals(wribSvcKeiStat)
						|| JKKBatConst.WRIB_SVC_KEI_STAT_SVC_TEIKYOTYU.equals(wribSvcKeiStat)))
				// ANK-4050-00-00 MOD END
				{
					commonItem.getLogPrint().printBusinessErrorLog("EKKB1850JW", new String[]{
							wribSvcKeiStat,
							cnt,
							wribSvcKeiNo
					});
					return null;
				}
			}
		}
		// 変更区分が"2"（削除）の場合
		else if(CHG_DIV_DEL.equals(chgDiv))
		{
			// 割引サービス契約ステータスエラーフラグ
			boolean statErrFlag = false;
			for(JBSbatCommonDBInterface wribSvcKeiInfo : existsWribKeiList)
			{
				// 割引サービス契約番号
				wribSvcKeiNo = wribSvcKeiInfo.getString(JBSbatKK_T_WRIB_SVC_KEI.WRIB_SVC_KEI_NO);
				// 割引サービス契約ステータス
				wribSvcKeiStat = wribSvcKeiInfo.getString(JBSbatKK_T_WRIB_SVC_KEI.WRIB_SVC_KEI_STAT);
			
				// 割引サービス契約ステータスが受付済、サービス提供中、適用済のいずれかの場合
				if((JKKBatConst.WRIB_SVC_KEI_STAT_UKETSUKE_ZUMI.equals(wribSvcKeiStat) 
						|| JKKBatConst.WRIB_SVC_KEI_STAT_SVC_TEIKYOTYU.equals(wribSvcKeiStat) || JKKBatConst.WRIB_SVC_KEI_STAT_TEKIYO_ZUMI.equals(wribSvcKeiStat)))
				{
					statErrFlag = true;
					break;
				}
			
			}
			// 割引サービス契約ステータスの中に受付済、サービス提供中、適用済が存在しなかった場合
			if(!statErrFlag)
			{
				commonItem.getLogPrint().printBusinessErrorLog("EKKB1860JW", new String[]{
						cnt,
				});
				return null;
			}
		}
		
		String sysid          = svcKeiInfo.getString(JBSbatKK_T_SVC_KEI.SYSID);
		String wriSvcCd       = wrisvcTgsvcInfo.getString(JBSbatKK_M_WRIB_SVC.WRIB_SVC_CD);
		String mskmNo         = null;
		String mskmDtlNo      = null;
		String wribAddGeneDtm = JCCBatCommon.getSysDateTimeStamp();
		String wrisvcTgSvcCd  = wrisvcTgsvcInfo.getString(JBSbatKK_M_WRISVC_TG_SVC.WRIB_SVC_TRGT_SVC_CD);
		
		// 割引サービス詳細コード取得
		ArrayList<JBSbatCommonDBInterface> wrisvcDtlList = getWrisvcDtl(wriSvcCd);
		
		// 排他制御
		Object[] svcExcCtrlSel = {svcKeiNo};
		executeKK_T_SVKEI_EXC_CTRL_KK_SELECT_001(svcExcCtrlSel);
		
		//---------------------------------------------
		// ＤＢ登録
		//---------------------------------------------
		
		// 変更区分が"2"（削除）かつ割引サービス契約ステータスが"300"（適用済）の場合
		if(CHG_DIV_DEL.equals(chgDiv) && JKKBatConst.WRIB_SVC_KEI_STAT_TEKIYO_ZUMI.equals(wribSvcKeiStat))
		{
			return null;
		}
		
		// 申込（戻り値：申込番号）
		mskmNo    = insertMskm(sysid);
		// 申込明細（戻り値：申込明細番号）
		mskmDtlNo = insertMskmDtl(sysid, mskmNo);
		
		// 変更区分が"1"（登録）の場合
		if(CHG_DIV_ADD.equals(chgDiv))
		{
			// 割引サービス契約番号初期化
			wribSvcKeiNo = null;
			// 割引サービス契約（戻り値：割引サービス契約番号）
			wribSvcKeiNo = insertWribSvcKei(sysid, wriSvcCd, aplyYmd, mskmDtlNo, wribAddGeneDtm);
			// 割引サービス対象契約
			insertWrisvcTgKei(wribSvcKeiNo, svcKeiNo, wrisvcTgSvcCd, aplyYmd, wribAddGeneDtm);
			// 割引サービス契約内訳
			insertWrisvcKeiUcwk(wribSvcKeiNo, wrisvcDtlList, wribAddGeneDtm);
		}
		// 変更区分が"2"（削除）かつ割引サービス契約ステータスが"100"（サービス提供中）の場合
		else if(CHG_DIV_DEL.equals(chgDiv) && JKKBatConst.WRIB_SVC_KEI_STAT_SVC_TEIKYOTYU.equals(wribSvcKeiStat))
		{
			
			// 割引サービス契約
			insertWribSvcKeiDsl(wribSvcKeiNo, aplyYmd, mskmDtlNo, wribAddGeneDtm);
			// 割引サービス契約内訳
			insertWrisvcKeiUcwkDsl(wribSvcKeiNo, wrisvcDtlList, aplyYmd, wribAddGeneDtm);
		}
		// 変更区分が"2"（削除）かつ割引サービス契約ステータスが"010"（受付済）の場合
		else if(CHG_DIV_DEL.equals(chgDiv) && JKKBatConst.WRIB_SVC_KEI_STAT_UKETSUKE_ZUMI.equals(wribSvcKeiStat))
		{
			// 割引サービス契約
			insertWribSvcKeiCnsl(wribSvcKeiNo, aplyYmd, mskmDtlNo, wribAddGeneDtm);
		}
		
		// 進捗（戻り値：異動年月日時分秒）
		String idoDtm = insertPrg(svcKeiNo, mskmDtlNo, cmpCd, chgDiv);
		// 異動理由
		insertIdoRsn(svcKeiNo, idoDtm);
		
		// サービス契約排他制御の最終更新年月日時分秒を更新
		Object[] svcExcCtrlUpd = {JBSbatInterface.getSystemDateTimeStamp(), svcKeiNo,};
		executeKK_T_SVKEI_EXC_CTRL_KK_UPDATE_002(svcExcCtrlUpd);
		
		// コミット
		super.commit();
		
		return null;
	/**▲▲▲▲▲▲業務サービスの主処理を記述してください。▲▲▲▲▲▲*/
	}

	/**
	 * 業務サービス終了処理
	 * @throws Exception
	 */
	public void terminal() throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの終了処理を記述してください。▼▼▼▼▼▼*/
		// DBアクセスクラスをクローズします
		db_KK_T_SVC_KEI.close();
		db_KK_M_WRIB_SVC.close();
		db_KK_T_WRIB_SVC_KEI.close();
		db_KK_M_WRIB_SVC_DTL.close();
		db_KK_T_SVKEI_EXC_CTRL.close();
		db_KK_T_MSKM.close();
		db_KK_T_MSKM_DTL.close();
		db_KK_T_WRISVC_KEI_UCWK.close();
		db_KK_T_WRISVC_TG_KEI.close();
		db_KK_T_PRG.close();
		db_KK_T_IDO_RSN.close();
	/**▲▲▲▲▲▲業務サービスの終了処理を記述してください。▲▲▲▲▲▲*/
	}

	/**
	 * SQLKEY(KK_SELECT_330)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	サービス契約番号
	 *		 	バッチ運用日
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_T_SVC_KEI_KK_SELECT_330(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());

		// DBアクセスを実行します
		db_KK_T_SVC_KEI.selectBySqlDefine(paramList, KK_T_SVC_KEI_KK_SELECT_330);
	}

	/**
	 * SQLKEY(KK_SELECT_008)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	キャンペーンコード
	 *		 	バッチ運用日
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_M_WRIB_SVC_KK_SELECT_008(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());

		// DBアクセスを実行します
		db_KK_M_WRIB_SVC.selectBySqlDefine(paramList, KK_M_WRIB_SVC_KK_SELECT_008);
	}

	/**
	 * SQLKEY(KK_SELECT_009)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	料金プランコード
	 *		 	バッチ運用日
	 *		 	バッチ運用日
	 *		 	バッチ運用日
	 *		 	キャンペーンコード
	 *		 	バッチ運用日
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_M_WRIB_SVC_KK_SELECT_009(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());
		paramList.setValue(param[2].toString());
		paramList.setValue(param[3].toString());
		paramList.setValue(param[4].toString());
		paramList.setValue(param[5].toString());

		// DBアクセスを実行します
		db_KK_M_WRIB_SVC.selectBySqlDefine(paramList, KK_M_WRIB_SVC_KK_SELECT_009);
	}

	/**
	 * SQLKEY(KK_SELECT_072)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	バッチ運用日
	 *		 	バッチ運用日
	 *		 	サービス契約番号
	 *		 	キャンペーンコード
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_T_WRIB_SVC_KEI_KK_SELECT_072(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());
		paramList.setValue(param[2].toString());
		paramList.setValue(param[3].toString());

		// DBアクセスを実行します
		db_KK_T_WRIB_SVC_KEI.selectBySqlDefine(paramList, KK_T_WRIB_SVC_KEI_KK_SELECT_072);
	}

	/**
	 * SQLKEY(KK_SELECT_007)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	割引サービスコード
	 *		 	バッチ運用日
	 *		 	バッチ運用日
	 *		 	バッチ運用日
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_M_WRIB_SVC_DTL_KK_SELECT_007(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());
		paramList.setValue(param[2].toString());
		paramList.setValue(param[3].toString());

		// DBアクセスを実行します
		db_KK_M_WRIB_SVC_DTL.selectBySqlDefine(paramList, KK_M_WRIB_SVC_DTL_KK_SELECT_007);
	}

	/**
	 * SQLKEY(KK_SELECT_001)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	SEC.SVC_KEI_NO
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_T_SVKEI_EXC_CTRL_KK_SELECT_001(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());

		// DBアクセスを実行します
		db_KK_T_SVKEI_EXC_CTRL.selectBySqlDefine(paramList, KK_T_SVKEI_EXC_CTRL_KK_SELECT_001);
	}

	/**
	 * 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
	 *		 	提携住宅街者コード						TKJCP_CD
	 *		 	提携住宅会社名							TKJCP_NM
	 *		 	提携住宅会社支店・営業所名				TKJCP_STNEGS_NM
	 *		 	提携住宅会社担当者名					TKJCPTTS_NM
	 *		 	提携住宅会社職種名						TKJCPTTS_SHKSNM
	 *		 	提携住宅会社担当者電話番号				TKJCPTTS_TLN
	 *		 	分譲地名								BUNJOCHI_NM
	 *		 	分譲地区画番号メモ						BUNJOCHI_KKK_NO_MEMO
	 *		 	入居予定時期							NYUKYO_RSV_JK
	 *		 	代理店申込受付eoスタッフユーザーID		AGNT_MKM_UK_EOSTF_USER_ID
	 *		 	代理店申込受付量販店員カナ名(姓)		AGNT_MKM_UK_RHSTF_KANA_SEI
	 *		 	eo電気同時申込意思有無					EOELEC_DOJI_MSKM_ISHI_UM
	 *		 	サンキューコール実施年月日				THNX_CALL_JSSI_YMD
	 *		 	申込キャンセル除外承認申請年月日		MSKM_CNCL_JGI_SNN_SHIN_YMD
	 *		 	申込キャンセル除外承認年月日			MSKM_CNCL_JGI_SNN_YMD
	 *		 	申込キャンセル除外否認年月日			MSKM_CNCL_JGI_HNN_YMD
	 *			セット割申込識別区分					SET_WARI_MKM_SKBT_DIV
	 *			セット割申込識別番号					SET_WARI_MKM_SKBT_NO
	 * </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]);
		setMap.setValue("TKJCP_CD", setParam[57]);
		setMap.setValue("TKJCP_NM", setParam[58]);
		setMap.setValue("TKJCP_STNEGS_NM", setParam[59]);
		setMap.setValue("TKJCPTTS_NM", setParam[60]);
		setMap.setValue("TKJCPTTS_SHKSNM", setParam[61]);
		setMap.setValue("TKJCPTTS_TLN", setParam[62]);
		setMap.setValue("BUNJOCHI_NM", setParam[63]);
		setMap.setValue("BUNJOCHI_KKK_NO_MEMO", setParam[64]);
		setMap.setValue("NYUKYO_RSV_JK", setParam[65]);
		setMap.setValue("AGNT_MKM_UK_EOSTF_USER_ID", setParam[66]);
		setMap.setValue("AGNT_MKM_UK_RHSTF_KANA_SEI", setParam[67]);
		setMap.setValue("EOELEC_DOJI_MSKM_ISHI_UM", setParam[68]);
		setMap.setValue("THNX_CALL_JSSI_YMD", setParam[69]);
		setMap.setValue("MSKM_CNCL_JGI_SNN_SHIN_YMD", setParam[70]);
		setMap.setValue("MSKM_CNCL_JGI_SNN_YMD", setParam[71]);
		setMap.setValue("MSKM_CNCL_JGI_HNN_YMD", setParam[72]);
		setMap.setValue("SET_WARI_MKM_SKBT_DIV", setParam[73]);
		setMap.setValue("SET_WARI_MKM_SKBT_NO", setParam[74]);
		// DBアクセスを実行します
		db_KK_T_MSKM.insertByPrimaryKeys(setMap);
	}

	/**
	 * 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
	 *		 	登録年月日時分秒							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
	 * </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]);
	
		// DBアクセスを実行します
		db_KK_T_MSKM_DTL.insertByPrimaryKeys(setMap);
	}

	/**
	 * PK(全項目登録)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数で設定項目マップを作ります。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		setParam:設定したい項目の(項目、値)を(key、value)として、setParamマップに入れます。項目キーは以下に説明します。
	 *		 	割引サービス契約番号				WRIB_SVC_KEI_NO
	 *		 	世代登録年月日時分秒				GENE_ADD_DTM
	 *		 	割引サービス契約ステータス				WRIB_SVC_KEI_STAT
	 *		 	ＳＹＳＩＤ				SYSID
	 *		 	割引サービスコード				WRIB_SVC_CD
	 *		 	料金コースコード				PCRS_CD
	 *		 	料金プランコード				PPLAN_CD
	 *		 	サービス利用開始希望年月日				SVC_USE_STA_KIBO_YMD
	 *		 	予約適用開始希望年月日				RSV_TSTA_KIBO_YMD
	 *		 	申込明細番号				MSKM_DTL_NO
	 *		 	照査年月日				SHOSA_YMD
	 *		 	照査取消年月日				SHOSA_CL_YMD
	 *		 	予約適用年月日				RSV_APLY_YMD
	 *		 	予約取消年月日				RSV_CL_YMD
	 *		 	予約適用コード				RSV_APLY_CD
	 *		 	即時適用フラグ				APLY_JUN
	 *		 	プラン開始年月日				PLAN_STAYMD
	 *		 	プラン終了年月日				PLAN_ENDYMD
	 *		 	プラン課金開始年月日				PLAN_CHRG_STAYMD
	 *		 	プラン課金終了年月日				PLAN_CHRG_ENDYMD
	 *		 	プラン終了種別コード				PLAN_END_SBT_CD
	 *		 	サービスキャンセル年月日				SVC_CANCEL_YMD
	 *		 	サービスキャンセル理由コード				SVC_CANCEL_RSN_CD
	 *		 	サービス開始年月日				SVC_STA_YMD
	 *		 	サービス課金開始年月日				SVC_CHRG_STAYMD
	 *		 	サービス終了年月日				SVC_ENDYMD
	 *		 	サービス課金終了年月日				SVC_CHRG_ENDYMD
	 *		 	サービス解約年月日				SVC_DSL_YMD
	 *		 	サービス解約理由コード				SVC_DLRE_CD
	 *		 	サービス解約理由メモ				SVC_DLRE_MEMO
	 *		 	サービス解約手続完了フラグ				SVC_DSL_TTDKI_FIN_FLG
	 *		 	回復年月日				KAIHK_YMD
	 *		 	サービスキャンセル取消年月日				SVC_CANCEL_CL_YMD
	 *		 	サービス解約取消年月日				SVC_DSL_CL_YMD
	 *		 	課金開始年月日補正有無				CHRG_STA_YMD_HOSEI_UM
	 *		 	審査結果送信コード				SKEKKA_SEND_CD
	 *		 	違約金発生コード				PNLTY_HASSEI_CD
	 *		 	異動区分				IDO_DIV
	 *		 	照査解約完了コード				SHOSA_DSL_FIN_CD
	 *		 	契約締結年月日				KEI_CNC_YMD
	 *		 	グループコード				GRP_CD
	 *		 	紹介コード				INTR_CD
	 *		 	申込起算年月日				MSKM_KISAN_YMD
	 *		 	割引登録契機コード				WRIB_ADD_OPTY_CD
	 *		 	割引解約キャンセル契機コード				WRIB_DSL_CNCL_OPTY_CD
	 *		 	割引サービス契約自動継続識別コード				WRIB_SVC_KEI_AT_KEIZK_SKCD
	 *		 	割引額算出基準年月日				WRIB_AMNT_SNST_STDARDYMD
	 *		 	割引課金開始月指定コード				WRIB_CHRG_STA_MON_STI_CD
	 *		 	割引登録年月日				WRIB_ADD_YMD
	 *		 	割引対象契約サービス休止年月日				WRTGKEI_SVC_PAUSE_YMD
	 *		 	割引対象契約サービス休止解除年月日				WRTGKEI_SVC_PAUSE_RLS_YMD
	 *		 	登録年月日時分秒				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_WRIB_SVC_KEI_PKINSERT(Object[] setParam) throws Exception
	{
		// 設定値のマップを作成します
		JBSbatCommonDBInterface setMap = new JBSbatCommonDBInterface();
		setMap.setValue("WRIB_SVC_KEI_NO", setParam[0]);
		setMap.setValue("GENE_ADD_DTM", setParam[1]);
		setMap.setValue("WRIB_SVC_KEI_STAT", setParam[2]);
		setMap.setValue("SYSID", setParam[3]);
		setMap.setValue("WRIB_SVC_CD", setParam[4]);
		setMap.setValue("PCRS_CD", setParam[5]);
		setMap.setValue("PPLAN_CD", setParam[6]);
		setMap.setValue("SVC_USE_STA_KIBO_YMD", setParam[7]);
		setMap.setValue("RSV_TSTA_KIBO_YMD", setParam[8]);
		setMap.setValue("MSKM_DTL_NO", setParam[9]);
		setMap.setValue("SHOSA_YMD", setParam[10]);
		setMap.setValue("SHOSA_CL_YMD", setParam[11]);
		setMap.setValue("RSV_APLY_YMD", setParam[12]);
		setMap.setValue("RSV_CL_YMD", setParam[13]);
		setMap.setValue("RSV_APLY_CD", setParam[14]);
		setMap.setValue("APLY_JUN", setParam[15]);
		setMap.setValue("PLAN_STAYMD", setParam[16]);
		setMap.setValue("PLAN_ENDYMD", setParam[17]);
		setMap.setValue("PLAN_CHRG_STAYMD", setParam[18]);
		setMap.setValue("PLAN_CHRG_ENDYMD", setParam[19]);
		setMap.setValue("PLAN_END_SBT_CD", setParam[20]);
		setMap.setValue("SVC_CANCEL_YMD", setParam[21]);
		setMap.setValue("SVC_CANCEL_RSN_CD", setParam[22]);
		setMap.setValue("SVC_STA_YMD", setParam[23]);
		setMap.setValue("SVC_CHRG_STAYMD", setParam[24]);
		setMap.setValue("SVC_ENDYMD", setParam[25]);
		setMap.setValue("SVC_CHRG_ENDYMD", setParam[26]);
		setMap.setValue("SVC_DSL_YMD", setParam[27]);
		setMap.setValue("SVC_DLRE_CD", setParam[28]);
		setMap.setValue("SVC_DLRE_MEMO", setParam[29]);
		setMap.setValue("SVC_DSL_TTDKI_FIN_FLG", setParam[30]);
		setMap.setValue("KAIHK_YMD", setParam[31]);
		setMap.setValue("SVC_CANCEL_CL_YMD", setParam[32]);
		setMap.setValue("SVC_DSL_CL_YMD", setParam[33]);
		setMap.setValue("CHRG_STA_YMD_HOSEI_UM", setParam[34]);
		setMap.setValue("SKEKKA_SEND_CD", setParam[35]);
		setMap.setValue("PNLTY_HASSEI_CD", setParam[36]);
		setMap.setValue("IDO_DIV", setParam[37]);
		setMap.setValue("SHOSA_DSL_FIN_CD", setParam[38]);
		setMap.setValue("KEI_CNC_YMD", setParam[39]);
		setMap.setValue("GRP_CD", setParam[40]);
		setMap.setValue("INTR_CD", setParam[41]);
		setMap.setValue("MSKM_KISAN_YMD", setParam[42]);
		setMap.setValue("WRIB_ADD_OPTY_CD", setParam[43]);
		setMap.setValue("WRIB_DSL_CNCL_OPTY_CD", setParam[44]);
		setMap.setValue("WRIB_SVC_KEI_AT_KEIZK_SKCD", setParam[45]);
		setMap.setValue("WRIB_AMNT_SNST_STDARDYMD", setParam[46]);
		setMap.setValue("WRIB_CHRG_STA_MON_STI_CD", setParam[47]);
		setMap.setValue("WRIB_ADD_YMD", setParam[48]);
		setMap.setValue("WRTGKEI_SVC_PAUSE_YMD", setParam[49]);
		setMap.setValue("WRTGKEI_SVC_PAUSE_RLS_YMD", setParam[50]);
		setMap.setValue("ADD_DTM", setParam[51]);
		setMap.setValue("ADD_OPEACNT", setParam[52]);
		setMap.setValue("UPD_DTM", setParam[53]);
		setMap.setValue("UPD_OPEACNT", setParam[54]);
		setMap.setValue("DEL_DTM", setParam[55]);
		setMap.setValue("DEL_OPEACNT", setParam[56]);
		setMap.setValue("MK_FLG", setParam[57]);
		setMap.setValue("ADD_UNYO_YMD", setParam[58]);
		setMap.setValue("ADD_TRN_ID", setParam[59]);
		setMap.setValue("UPD_UNYO_YMD", setParam[60]);
		setMap.setValue("UPD_TRN_ID", setParam[61]);
		setMap.setValue("DEL_UNYO_YMD", setParam[62]);
		setMap.setValue("DEL_TRN_ID", setParam[63]);
	
		// DBアクセスを実行します
		db_KK_T_WRIB_SVC_KEI.insertByPrimaryKeys(setMap);
	}

	/**
	 * SQLKEY(KK_INSERT_010)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	世代登録年月日時分秒
	 *		 	割引サービス契約ステータス
	 *			申込明細番号
	 *			予約適用年月日
	 *		 	プラン終了年月日
	 *		 	プラン課金終了年月日
	 *		 	サービス終了年月日
	 *		 	サービス課金終了年月日
	 *			サービス解約年月日
	 *			サービス解約理由コード
	 *			異動区分
	 *			申込起算年月日
	 *			割引解約キャンセル契機コード
	 *		 	割引サービス契約番号
	 *		 	バッチ運用日
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_T_WRIB_SVC_KEI_KK_INSERT_010(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());
		paramList.setValue(param[2].toString());
		paramList.setValue(param[3].toString());
		paramList.setValue(param[4].toString());
		paramList.setValue(param[5].toString());
		paramList.setValue(param[6].toString());
		paramList.setValue(param[7].toString());
		paramList.setValue(param[8].toString());
		paramList.setValue(param[9].toString());
		paramList.setValue(param[10].toString());
		paramList.setValue(param[11].toString());
		paramList.setValue(param[12].toString());
		paramList.setValue(param[13].toString());
		paramList.setValue(param[14].toString());

		// DBアクセスを実行します
		db_KK_T_WRIB_SVC_KEI.executeBySqlDefine(paramList, KK_T_WRIB_SVC_KEI_KK_INSERT_010);
	}

	/**
	 * SQLKEY(KK_INSERT_011)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	世代登録年月日時分秒
	 *		 	割引サービス契約ステータス
	 *			申込明細番号
	 *			予約適用年月日
	 *		 	サービスキャンセル年月日
	 *		 	サービスキャンセル理由コード
	 *			異動区分
	 *			申込起算年月日
	 *			割引解約キャンセル契機コード
	 *		 	割引サービス契約番号
	 *		 	バッチ運用日
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_T_WRIB_SVC_KEI_KK_INSERT_011(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());
		paramList.setValue(param[2].toString());
		paramList.setValue(param[3].toString());
		paramList.setValue(param[4].toString());
		paramList.setValue(param[5].toString());
		paramList.setValue(param[6].toString());
		paramList.setValue(param[7].toString());
		paramList.setValue(param[8].toString());
		paramList.setValue(param[9].toString());
		paramList.setValue(param[10].toString());

		// DBアクセスを実行します
		db_KK_T_WRIB_SVC_KEI.executeBySqlDefine(paramList, KK_T_WRIB_SVC_KEI_KK_INSERT_011);
	}

	/**
	 * PK(全項目登録)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数で設定項目マップを作ります。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		setParam:設定したい項目の(項目、値)を(key、value)として、setParamマップに入れます。項目キーは以下に説明します。
	 *		 	割引サービス契約番号				WRIB_SVC_KEI_NO
	 *		 	割引サービス契約内訳番号			WRIB_SVC_KEI_UCWK_NO
	 *		 	世代登録年月日時分秒				GENE_ADD_DTM
	 *		 	割引サービス契約内訳ステータス		WRIB_SVC_KEI_UCWK_STAT
	 *		 	割引サービス詳細コード				WRIB_SVC_DTL_CD
	 *		 	割引適用回数						WRIB_APLY_CNT
	 *		 	サービス課金開始年月日				SVC_CHRG_STAYMD
	 *		 	サービス課金終了年月日				SVC_CHRG_ENDYMD
	 *		 	課金開始年月日補正有無				CHRG_STA_YMD_HOSEI_UM
	 *		 	初回割引適用年月日					FIRST_WRIB_APLY_YMD
	 *		 	登録年月日時分秒					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_WRISVC_KEI_UCWK_PKINSERT(Object[] setParam) throws Exception
	{
		// 設定値のマップを作成します
		JBSbatCommonDBInterface setMap = new JBSbatCommonDBInterface();
		setMap.setValue("WRIB_SVC_KEI_NO", setParam[0]);
		setMap.setValue("WRIB_SVC_KEI_UCWK_NO", setParam[1]);
		setMap.setValue("GENE_ADD_DTM", setParam[2]);
		setMap.setValue("WRIB_SVC_KEI_UCWK_STAT", setParam[3]);
		setMap.setValue("WRIB_SVC_DTL_CD", setParam[4]);
		setMap.setValue("WRIB_APLY_CNT", setParam[5]);
		setMap.setValue("SVC_CHRG_STAYMD", setParam[6]);
		setMap.setValue("SVC_CHRG_ENDYMD", setParam[7]);
		setMap.setValue("CHRG_STA_YMD_HOSEI_UM", setParam[8]);
		setMap.setValue("FIRST_WRIB_APLY_YMD", setParam[9]);
		setMap.setValue("ADD_DTM", setParam[10]);
		setMap.setValue("ADD_OPEACNT", setParam[11]);
		setMap.setValue("UPD_DTM", setParam[12]);
		setMap.setValue("UPD_OPEACNT", setParam[13]);
		setMap.setValue("DEL_DTM", setParam[14]);
		setMap.setValue("DEL_OPEACNT", setParam[15]);
		setMap.setValue("MK_FLG", setParam[16]);
		setMap.setValue("ADD_UNYO_YMD", setParam[17]);
		setMap.setValue("ADD_TRN_ID", setParam[18]);
		setMap.setValue("UPD_UNYO_YMD", setParam[19]);
		setMap.setValue("UPD_TRN_ID", setParam[20]);
		setMap.setValue("DEL_UNYO_YMD", setParam[21]);
		setMap.setValue("DEL_TRN_ID", setParam[22]);
	
		// DBアクセスを実行します
		db_KK_T_WRISVC_KEI_UCWK.insertByPrimaryKeys(setMap);
	}

	/**
	 * SQLKEY(KK_INSERT_003)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	世代登録年月日時分秒
	 *		 	割引サービス契約内訳ステータス
	 *			サービス課金終了年月日
	 *		 	割引サービス契約番号
	 *		 	割引サービス詳細コード
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	
	private void executeKK_T_WRISVC_KEI_UCWK_KK_INSERT_003(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());
		paramList.setValue(param[2].toString());
		paramList.setValue(param[3].toString());
		paramList.setValue(param[4].toString());

		// DBアクセスを実行します
		db_KK_T_WRISVC_KEI_UCWK.executeBySqlDefine(paramList, KK_T_WRISVC_KEI_UCWK_KK_INSERT_003);
	}

	/**
	 * PK(全項目登録)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数で設定項目マップを作ります。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		setParam:設定したい項目の(項目、値)を(key、value)として、setParamマップに入れます。項目キーは以下に説明します。
	 *		 	割引サービス契約番号					WRIB_SVC_KEI_NO
	 *		 	割引サービス対象契約番号				WRIB_SVC_TRGT_KEI_NO
	 *		 	世代登録年月日時分秒					GENE_ADD_DTM
	 *		 	対象契約識別コード						TG_KEI_SKBT_CD
	 *		 	サービス契約番号						SVC_KEI_NO
	 *		 	サービス契約内訳番号					SVC_KEI_UCWK_NO
	 *		 	オプションサービス契約番号				OP_SVC_KEI_NO
	 *		 	サブオプションサービス契約番号			SBOP_SVC_KEI_NO
	 *		 	機器提供サービス契約番号				KKTK_SVC_KEI_NO
	 *		 	請求オプションサービス契約番号			SEIOPSVC_KEI_NO
	 *		 	割引サービス対象サービスコード			WRIB_SVC_TRGT_SVC_CD
	 *		 	解除年月日								RLS_YMD
	 *		 	設定登録年月日							SET_ADD_YMD
	 *		 	割引サービス対象契約適用開始年月日		WRISVC_TG_KEI_TSTAYMD
	 *		 	割引サービス対象契約適用終了年月日		WRISVC_TG_KEI_TENDYMD
	 *		 	登録年月日時分秒						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
	 *			機器オプションサービス契約番号			KKOP_SVC_KEI_NO
	 * </pre>
	 * <p>
	 * @param setParam 設定項目の値。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_T_WRISVC_TG_KEI_PKINSERT(Object[] setParam) throws Exception
	{
		// 設定値のマップを作成します
		JBSbatCommonDBInterface setMap = new JBSbatCommonDBInterface();
		setMap.setValue("WRIB_SVC_KEI_NO", setParam[0]);
		setMap.setValue("WRIB_SVC_TRGT_KEI_NO", setParam[1]);
		setMap.setValue("GENE_ADD_DTM", setParam[2]);
		setMap.setValue("TG_KEI_SKBT_CD", setParam[3]);
		setMap.setValue("SVC_KEI_NO", setParam[4]);
		setMap.setValue("SVC_KEI_UCWK_NO", setParam[5]);
		setMap.setValue("OP_SVC_KEI_NO", setParam[6]);
		setMap.setValue("SBOP_SVC_KEI_NO", setParam[7]);
		setMap.setValue("KKTK_SVC_KEI_NO", setParam[8]);
		setMap.setValue("SEIOPSVC_KEI_NO", setParam[9]);
		setMap.setValue("WRIB_SVC_TRGT_SVC_CD", setParam[10]);
		setMap.setValue("RLS_YMD", setParam[11]);
		setMap.setValue("SET_ADD_YMD", setParam[12]);
		setMap.setValue("WRISVC_TG_KEI_TSTAYMD", setParam[13]);
		setMap.setValue("WRISVC_TG_KEI_TENDYMD", setParam[14]);
		setMap.setValue("ADD_DTM", setParam[15]);
		setMap.setValue("ADD_OPEACNT", setParam[16]);
		setMap.setValue("UPD_DTM", setParam[17]);
		setMap.setValue("UPD_OPEACNT", setParam[18]);
		setMap.setValue("DEL_DTM", setParam[19]);
		setMap.setValue("DEL_OPEACNT", setParam[20]);
		setMap.setValue("MK_FLG", setParam[21]);
		setMap.setValue("ADD_UNYO_YMD", setParam[22]);
		setMap.setValue("ADD_TRN_ID", setParam[23]);
		setMap.setValue("UPD_UNYO_YMD", setParam[24]);
		setMap.setValue("UPD_TRN_ID", setParam[25]);
		setMap.setValue("DEL_UNYO_YMD", setParam[26]);
		setMap.setValue("DEL_TRN_ID", setParam[27]);
		setMap.setValue("KKOP_SVC_KEI_NO", setParam[28]);
	
		// DBアクセスを実行します
		db_KK_T_WRISVC_TG_KEI.insertByPrimaryKeys(setMap);
	}

	/**
	 * 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);
	}

	/**
	 * 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);
	}

	/**
	 * SQLKEY(KK_UPDATE_002)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	LAST_UPD_DTM
	 *		 	SVC_KEI_NO
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_T_SVKEI_EXC_CTRL_KK_UPDATE_002(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());

		// DBアクセスを実行します
		db_KK_T_SVKEI_EXC_CTRL.executeBySqlDefine(paramList, KK_T_SVKEI_EXC_CTRL_KK_UPDATE_002);
	}

	/**
	 * サービス契約番号をもとにサービス契約スキーマを検索する.
	 * 取得項目：SYSID
	 *           サービス契約ステータス
	 *           料金プランコード
	 * @param  svcKeiNo
	 * @return JBSbatCommonDBInterface
	 * @throws Exception
	 */
	private JBSbatCommonDBInterface getExistSvcKei(String svcKeiNo) throws Exception
	{
		Object[] param = {
				svcKeiNo,			// サービス契約．サービス契約番号  = [サービス契約番号]
				super.opeDate		// サービス契約．予約適用年月日   <= 運用日
		};
		executeKK_T_SVC_KEI_KK_SELECT_330(param);
		JBSbatCommonDBInterface svcKeiInfo = new JBSbatCommonDBInterface();
		ArrayList<JBSbatCommonDBInterface> svcKeiList = new ArrayList<JBSbatCommonDBInterface>();
		
		while((svcKeiInfo = db_KK_T_SVC_KEI.selectNext()) != null)
		{
			svcKeiList.add(svcKeiInfo);
		}
		// サービス契約番号を条件にカレントレコードを抽出するSQLのため、2件以上取れることはない
		// データが取得出来た場合はリストの0番目、データが取得できなかった場合には、nullを返却
		return (svcKeiList.size() > 0 ? svcKeiList.get(0) : null);
	}

	/**
	 * キャンペーンコードをもとに割引サービスマスタを検索する.
	 * @param  cmpCd
	 * @return returnFlg true:データあり／false:データなし
	 * @throws Exception
	 */
	private boolean isExistWribSvc(String cmpCd) throws Exception
	{
		Object[] param = {
				cmpCd,				// 割引サービス．表示用キャンペーンコード  = [キャンペーンコード]
				super.opeDate		// 割引サービス．予約適用年月日           <= 運用日
		};
		executeKK_M_WRIB_SVC_KK_SELECT_008(param);
		JBSbatCommonDBInterface wribSvcInfo = new JBSbatCommonDBInterface();
		
		boolean returnFlg = false;
		while((wribSvcInfo = db_KK_M_WRIB_SVC.selectNext()) != null)
		{
			returnFlg = true;
		}
		return returnFlg;
	}

	/**
	 * キャンペーンコードと料金プランコードをもとに割引サービスマスタ・割引サービス対象サービスマスタを検索する.
	 * 取得項目：割引サービスコード
	 *           割引サービス対象サービスコード
	 *           受付開始年月日時分
	 *           受付終了年月日時分
	 * @param  cmpCd
	 * @param  pplanCd
	 * @return JBSbatCommonDBInterface
	 * @throws Exception
	 */
	private JBSbatCommonDBInterface getWrisvcTgSvc(String cmpCd, String pplanCd) throws Exception
	{
		// キャンペーンコードと料金プランコードをもとに割引サービスマスタ・割引サービス対象サービスマスタを検索、その結果を返却する。
		Object[] param = {
				pplanCd,			// 割引サービス対象サービス．料金プランコード                        = [料金プランコード]
				super.opeDate,		// 割引サービス対象サービス．割引サービス対象サービス適用開始年月日 <= [運用日]
				super.opeDate,		// 割引サービス対象サービス．割引サービス対象サービス適用終了年月日 >= [運用日]
				super.opeDate,		// 割引サービス対象サービス．予約適用年月日                         <= [運用日]
				cmpCd,				// 割引サービス．表示用キャンペーンコード                            = [キャンペーンコード]
				super.opeDate		// 割引サービス．予約適用年月日                                     <= [運用日]
		};
		executeKK_M_WRIB_SVC_KK_SELECT_009(param);
		JBSbatCommonDBInterface wriSvcTgSvcInfo = new JBSbatCommonDBInterface();
		ArrayList<JBSbatCommonDBInterface> wriSvcList = new ArrayList<JBSbatCommonDBInterface>();
		
		while((wriSvcTgSvcInfo = db_KK_M_WRIB_SVC.selectNext()) != null)
		{
			wriSvcList.add(wriSvcTgSvcInfo);
		}
		
		// キャンペーンコードと料金プランコードを条件にカレントレコードを取得しているため2件以上取れることはない
		// データが取得出来た場合はリストの0番目、データが取得できなかった場合には、nullを返却
		return (wriSvcList.size() > 0 ? wriSvcList.get(0) : null);
	}

	/**
	 * サービス契約番号・キャンペーンコードをもとに割引サービス契約スキーマ・割引サービス対象契約スキーマを検索する.
	 * 取得項目：割引サービス契約番号
	 *           割引サービス契約ステータス
	 * @param  svcKeiNo
	 * @param  cmpCd
	 * @return ArrayList
	 * @throws Exception
	 */
	private ArrayList<JBSbatCommonDBInterface> getExistWribSvcKei(String svcKeiNo, String cmpCd) throws Exception
	{
		Object[] param = {
				super.opeDate,		// 割引サービス契約．予約適用年月日       <= [運用日]
				super.opeDate,		// 割引サービス．予約適用年月日           <= [運用日]
				svcKeiNo,			// 割引サービス対象契約．サービス契約番号  = [サービス契約番号]
				cmpCd				// 割引サービス．表示用キャンペーンコード  = [キャンペーンコード]
		};
		executeKK_T_WRIB_SVC_KEI_KK_SELECT_072(param);
		JBSbatCommonDBInterface wribSvcKeiInfo = new JBSbatCommonDBInterface();
		ArrayList<JBSbatCommonDBInterface> existWribSvcKeiList = new ArrayList<JBSbatCommonDBInterface>();
		
		while((wribSvcKeiInfo = db_KK_T_WRIB_SVC_KEI.selectNext()) != null)
		{
			existWribSvcKeiList.add(wribSvcKeiInfo);
		}
		return existWribSvcKeiList;
	}

	/**
	 * 割引サービスコードをもとに割引サービス詳細マスタを検索する.
	 * 取得項目：割引サービス詳細コード
	 *           キャンペーン開始コード
	 * @param  wribSvcCd
	 * @return ArrayList
	 * @throws Exception
	 */
	private ArrayList<JBSbatCommonDBInterface> getWrisvcDtl(String wribSvcCd) throws Exception
	{
		Object[] param = {
				wribSvcCd,			// 割引サービス詳細．割引サービスコード              = [割引サービスコード]
				super.opeDate,		// 割引サービス詳細．割引サービス詳細適用開始年月日 <= [運用日]
				super.opeDate,		// 割引サービス詳細．割引サービス詳細適用終了年月日 >= [運用日]
				super.opeDate		// 割引サービス詳細．予約適用年月日                 <= [運用日]
		};
		executeKK_M_WRIB_SVC_DTL_KK_SELECT_007(param);
		JBSbatCommonDBInterface wrisvcDtlInfo = null;
		
		ArrayList<JBSbatCommonDBInterface> wrisvcDtlList = new ArrayList<JBSbatCommonDBInterface>();
		while((wrisvcDtlInfo = db_KK_M_WRIB_SVC_DTL.selectNext()) != null)
		{
			wrisvcDtlList.add(wrisvcDtlInfo);
		}
		return wrisvcDtlList;
	}

	/**
	 * 申込スキーマの登録を行う<br>
	 * @param  sysid  SYSID
	 * @return mskmNo 採番した申込番号
	 * @throws Exception 
	 * @exception JBSbatBusinessException 業務サービス内で発生した例外全般。
	 */
	private String insertMskm(String sysid) throws Exception
	{
		// 申込番号の採番
		String mskmNo = JCCBatCommon.getFormatedNextSeq(super.commonItem, SEQ_MSKM_NO, "", 12);
		
		// 申込スキーマの設定値
		Object[] setParam = 
		{
			mskmNo,											// 申込番号
			JCCBatCommon.getSysDateTimeStamp(),				// 世代登録年月日時分秒
			JKKStrConst.CD00060_130,						// 申込ステータス
			sysid,											// SYSID
			JKKStrConst.MSKM_SBT_CD_WARIB_MSKM,				// 申込種別コード
			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,											// 代理店申込取次有無
			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,											// 提携住宅会社名
			null,											// 提携住宅会社支店・営業所名
			null,											// 提携住宅会社担当者名
			null,											// 提携住宅会社担当者職種名
			null,											// 提携住宅会社担当者電話番号
			null,											// 分譲地名
			null,											// 分譲地区画番号メモ
			null,											// 入居予定時期
			null,											// 代理店申込受付eoスタッフユーザーID
			null,											// 代理店申込受付量販店員カナ名(姓)
			null,											// eo電気同時申込意思有無
			null,											// サンキューコール実施年月日
			null,											// 申込キャンセル除外承認申請年月日
			null,											// 申込キャンセル除外承認年月日
			null,											// 申込キャンセル除外否認年月日
			null,											// セット割申込識別区分
			null											// セット割申込識別番号
		};
		
		// 申込スキーマ登録
		executeKK_T_MSKM_PKINSERT(setParam);
		
		return mskmNo;
	}

	/**
	 * 申込明細スキーマの登録（申込内容承認登録）を行う<br>
	 * @param  sysid     SYSID
	 * @param  mskmNo    申込番号
	 * @return mskmDtlNo 採番した申込明細番号
	 * @throws Exception 
	 * @exception JBSbatBusinessException 業務サービス内で発生した例外全般。
	 */
	private String insertMskmDtl(String sysid, String mskmNo) throws Exception
	{
		// 申込明細番号の採番
		String mskmDtlNo = JCCBatCommon.getFormatedNextSeq(super.commonItem, SEQ_MSKM_DTL_NO, "", 12);
		
		// 世代登録年月日
		String geneAddDtm1 = JCCBatCommon.getSysDateTimeStamp();
		Long geneAddLong = new Long(geneAddDtm1);
		geneAddLong += 1;
		String geneAddDtm2 = geneAddLong.toString();
		
		// 申込明細（申込内容承認登録）
		HashMap<String, String> paramMap = null;
		paramMap = new HashMap<String, String>();
		paramMap.put(JBSbatKK_T_MSKM_DTL.MSKM_DTL_NO,					mskmDtlNo);											// 申込明細番号
		paramMap.put(JBSbatKK_T_MSKM_DTL.GENE_ADD_DTM,					geneAddDtm1);										// 世代登録年月日
		paramMap.put(JBSbatKK_T_MSKM_DTL.MSKM_DTL_STAT,					JKKStrConst.MSKM_DTL_STAT_UKETSUKEZUMI);			// 申込明細ステータス
		paramMap.put(JBSbatKK_T_MSKM_DTL.MSKM_NO,						mskmNo);											// 申込番号
		paramMap.put(JBSbatKK_T_MSKM_DTL.MSKM_YMD,						super.opeDate);										// 申込年月日
		paramMap.put(JBSbatKK_T_MSKM_DTL.SYSID,							sysid);												// SYSID
		paramMap.put(JBSbatKK_T_MSKM_DTL.MSKM_DTL_SHOSA_DTM,			null);												// 申込明細照査年月日時分秒
		paramMap.put(JBSbatKK_T_MSKM_DTL.KZKWRK_REQYMD,					null);   											// 後続業務依頼年月日
		paramMap.put(JBSbatKK_T_MSKM_DTL.OP_SVC_HKTGI_UM,				JKKStrConst.CD_DIV_UM_NASHI);						// オプションサービス引継有無
		paramMap.put(JBSbatKK_T_MSKM_DTL.WRIB_AUTO_APLY_TG_GAI_FLG,		JKKStrConst.TG_GAI_FLG_TG);							// 割引自動適用対象外フラグ
		executeKK_T_MSKM_DTL_PKINSERT(setMskmDtlParam(paramMap));
		
		// 申込明細（申込明細照査・後続業務依頼）
		paramMap = new HashMap<String, String>();
		paramMap.put(JBSbatKK_T_MSKM_DTL.MSKM_DTL_NO,					mskmDtlNo);											// 申込明細番号
		paramMap.put(JBSbatKK_T_MSKM_DTL.GENE_ADD_DTM,					geneAddDtm2);										// 世代登録年月日
		paramMap.put(JBSbatKK_T_MSKM_DTL.MSKM_DTL_STAT,					JKKStrConst.MSKM_DTL_STAT_KOUGYM_IRAIZUMI);			// 申込明細ステータス
		paramMap.put(JBSbatKK_T_MSKM_DTL.MSKM_NO,						mskmNo);											// 申込番号
		paramMap.put(JBSbatKK_T_MSKM_DTL.MSKM_YMD,						super.opeDate);										// 申込年月日
		paramMap.put(JBSbatKK_T_MSKM_DTL.SYSID,							sysid);												// SYSID
		paramMap.put(JBSbatKK_T_MSKM_DTL.MSKM_DTL_SHOSA_DTM,			JKKBatCommon.getOpeDateTimeStamp(commonItem));		// 申込明細照査年月日時分秒
		paramMap.put(JBSbatKK_T_MSKM_DTL.KZKWRK_REQYMD,					super.opeDate);   									// 後続業務依頼年月日
		paramMap.put(JBSbatKK_T_MSKM_DTL.OP_SVC_HKTGI_UM,				JKKStrConst.CD_DIV_UM_NASHI);						// オプションサービス引継有無
		paramMap.put(JBSbatKK_T_MSKM_DTL.WRIB_AUTO_APLY_TG_GAI_FLG,		JKKStrConst.TG_GAI_FLG_TG);							// 割引自動適用対象外フラグ
		executeKK_T_MSKM_DTL_PKINSERT(setMskmDtlParam(paramMap));
		
		return mskmDtlNo;
	}

	/**
	 * 申込明細スキーマ登録用のパラメータを設定する<br>
	 * <p>
	 * <p>
	 * @param paramMap  パラメータ設定用のマップ
	 * @return Object[] 申込明細スキーマ登録用のパラメータ
	 * @throws Exception 
	 * @exception JBSbatBusinessException 業務サービス内で発生した例外全般。
	 */
	private Object[] setMskmDtlParam(HashMap<String, String> paramMap) throws Exception
	{
		// パラメータを設定
		Object[] setParam = 
		{
			paramMap.get(JBSbatKK_T_MSKM_DTL.MSKM_DTL_NO),						// 申込明細番号
			paramMap.get(JBSbatKK_T_MSKM_DTL.GENE_ADD_DTM),						// 世代登録年月日時分秒
			paramMap.get(JBSbatKK_T_MSKM_DTL.MSKM_DTL_STAT),					// 申込明細ステータス
			paramMap.get(JBSbatKK_T_MSKM_DTL.MSKM_NO),							// 申込番号
			null,																// 申込書番号
			null,																// 申込書明細番号
			paramMap.get(JBSbatKK_T_MSKM_DTL.MSKM_YMD),							// 申込年月日
			paramMap.get(JBSbatKK_T_MSKM_DTL.SYSID),							// SYSID 
			null,																// WEB受付番号
			null,																// 申込形態コード
			null,																// 申込明細種別コード
			null,																// 連絡先携帯電話番号
			null,																// 連絡先勤務先名
			null,																// 昼間連絡先電話番号
			null,																// 新規申込種別コード
			null,																// 申込契機コード
			null,																// 宅内調査希望アポ期限年月日
			null,																// 工事アポ連絡先指定コード
			null,																// 工事アポ連絡先電話番号
			null,																// 連絡事項登録年月日時分秒
			paramMap.get(JBSbatKK_T_MSKM_DTL.MSKM_DTL_SHOSA_DTM),				// 申込明細照査年月日時分秒
			null,																// 申込明細照査取消年月日
			paramMap.get(JBSbatKK_T_MSKM_DTL.KZKWRK_REQYMD),					// 後続業務依頼年月日
			null,																// 申込明細キャンセル年月日
			null,																// 申込明細キャンセル理由コード
			null,																// 申込明細キャンセル理由メモ
			null,																// 申込明細キャンセル取消年月日
			null,																// 申込連絡先メールアドレス
			null,																// 工事進捗通知メールアドレス
			null,																// 連絡事項
			null,																// 最新照会年月日
			null,																// Web照会回数
			null,																// PC照会回数
			null,																// 携帯照会回数
			null,																// 工事進捗通知携帯メールアドレス
			null,																// 工事進捗通知PCメールアドレス変更年月日
			null,																// 工事進捗通知携帯メールアドレス変更年月日
			null,																// 進捗メール最終送信年月日時分秒
			null,																// メール送信除外フラグ
			null,																// メール送信除外理由メモ
			null,																// 番ポ申込連絡先電話番号
			paramMap.get(JBSbatKK_T_MSKM_DTL.OP_SVC_HKTGI_UM),					// オプションサービス引継有無
			null,																// 解約書類送付希望有無
			null,																// 連絡手段補記
			null,																// 新築物件コード
			null,																// 復活案件フラグ
			null,																// 同一設備再申込コード
			null,																// 本人確認書類種別コード
			null,																// 本人確認書類名
			null,																// 申込書種別コード
			null,																// 契約付加コード
			null,																// 地図添付有無
			null,																// KCNSTB申込台数
			null,																// KCNSTB種類コード
			null,																// マンション設備システム連携用記事欄
			null,																// マンションID
			null,																// CAT-ID
			null,																// 申込受付種別コード
			null,																// 申込書取扱情報担当者名
			null,																// 申込書取扱情報電話番号
			paramMap.get(JBSbatKK_T_MSKM_DTL.WRIB_AUTO_APLY_TG_GAI_FLG),		// 割引自動適用対象外フラグ
			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フィルター解約希望有無
		};
		
		return setParam;
	}

	/**
	 * 割引サービス契約スキーマの登録を行う（新規登録）<br>
	 * @param  sysid        SYSID
	 * @param  wribSvcCd    割引サービスコード
	 * @param  aplyYmd      適用日
	 * @param  mskmDtlNo    申込明細番号
	 * @param  geneAddDtm   世代登録年月日時分秒
	 * @return String 採番した割引サービス契約番号
	 * @throws Exception 
	 * @exception JBSbatBusinessException 業務サービス内で発生した例外全般。
	 */
	private String insertWribSvcKei(String sysid, String wribSvcCd, String aplyYmd, String mskmDtlNo, String geneAddDtm) throws Exception
	{
		// 割引サービス契約番号の採番
		String wribSvcKeiNo = JCCBatCommon.getFormatedNextSeq(super.commonItem, SEQ_WRIB_SVC_KEI_NO, "", 12);
		
		// 割引サービス契約スキーマの設定値
		Object[] setParam = 
		{
			wribSvcKeiNo,											// 割引サービス契約番号
			geneAddDtm,												// 世代登録年月日時分秒
			JKKBatConst.WRIB_SVC_KEI_STAT_UKETSUKE_ZUMI,			// 割引サービス契約ステータス
			sysid,													// SYSID
			wribSvcCd,												// 割引サービスコード
			null,													// 料金コースコード
			null,													// 料金プランコード
			null,													// サービス利用開始希望年月日
			null,													// 予約適用開始希望年月日
			mskmDtlNo,												// 申込明細番号
			null,													// 照査年月日
			null,													// 照査取消年月日
			// OM-2020-0001445 MOD START
			// aplyYmd,												// 予約適用年月日
			super.opeDate,											// 予約適用年月日
			// OM-2020-0001445 MOD END
			null,													// 予約取消年月日
			JKKBatConst.RSV_APLY_CD_RSV_FIX,						// 予約適用コード
			JKKBatConst.IS_NOT_SOKUJI,								// 即時適用フラグ
			null,													// プラン開始年月日
			null,													// プラン終了年月日
			null,													// プラン課金開始年月日
			null,													// プラン課金終了年月日
			null,													// プラン終了種別コード
			null,													// サービスキャンセル年月日
			null,													// サービスキャンセル理由コード
			null,													// サービス開始年月日
			null,													// サービス課金開始年月日
			null,													// サービス終了年月日
			null,													// サービス課金終了年月日
			null,													// サービス解約年月日
			null,													// サービス解約理由コード
			null,													// サービス解約理由メモ
			null,													// サービス解約手続完了フラグ
			null,													// 回復年月日
			null,													// サービスキャンセル取消年月日
			null,													// サービス解約取消年月日
			null,													// 課金開始年月日補正有無
			null,													// 審査結果送信コード
			null,													// 違約金発生コード
			JKKStrConst.CD00576_WRIB_INF_ADD,						// 異動区分
			null,													// 照査解約完了コード
			null,													// 契約締結年月日
			null,													// グループコード
			null,													// 紹介コード
			aplyYmd,												// 申込起算年月日
			JKKStrConst.CD00874_AUTO_SET,							// 割引登録契機コード
			null,													// 割引解約キャンセル契機コード
			null,													// 割引サービス契約自動継続識別コード
			null,													// 割引額算出基準年月日
			null,													// 割引課金開始月指定コード
			aplyYmd,												// 割引登録年月日
			null,													// 割引対象契約サービス休止年月日
			null,													// 割引対象契約サービス休止解除年月日
			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
		};
		
		// 割引サービス契約スキーマ登録
		executeKK_T_WRIB_SVC_KEI_PKINSERT(setParam);
		
		return wribSvcKeiNo;
	}

	/**
	 * 割引サービス契約スキーマの登録を行う（解約）<br>
	 * @param  wribSvcKeiNo 割引サービス契約番号
	 * @param  aplyYmd      適用日
	 * @param  mskmDtlNo    申込明細番号
	 * @param  geneAddDtm   世代登録年月日時分秒
	 * @throws Exception 
	 * @exception JBSbatBusinessException 業務サービス内で発生した例外全般。
	 */
	private void insertWribSvcKeiDsl(String wribSvcKeiNo, String aplyYmd, String mskmDtlNo, String geneAddDtm) throws Exception
	{
		// 適用日の前月末日を取得
		String prevMonth = JBSbatDateUtil.adjustMonth(aplyYmd, -1).substring(0, 6);
		String prevMonthLastDate = prevMonth + JBSbatDateUtil.getEndOfMonth(prevMonth);
		
		// 割引サービス契約スキーマの設定値
		Object[] setParam = 
		{
			geneAddDtm,												// 世代登録年月日時分秒
			JKKBatConst.WRIB_SVC_KEI_STAT_KAIYAKU_ZUMI,				// 割引サービス契約ステータス
			mskmDtlNo,												// 申込明細番号
			// OM-2020-0001445 MOD START
			// aplyYmd,												// 予約適用年月日
			super.opeDate,											// 予約適用年月日
			// OM-2020-0001445 MOD END
			aplyYmd,												// プラン終了年月日
			prevMonthLastDate,										// プラン課金終了年月日
			aplyYmd,												// サービス終了年月日
			prevMonthLastDate,										// サービス課金終了年月日
			aplyYmd,												// サービス解約年月日
			JKKStrConst.CD00879_TUJYO_DSL,							// サービス解約理由コード
			JKKStrConst.CD00576_WRIB_INF_ADD,						// 異動区分
			aplyYmd,												// 申込起算年月日
			JKKStrConst.DSL_CNCL_AUTO_SET,							// 割引解約キャンセル契機コード
			wribSvcKeiNo,											// 割引サービス契約番号（条件）
			this.opeDate											// バッチ運用日（条件）
		};
		
		// 割引サービス契約スキーマ登録
		executeKK_T_WRIB_SVC_KEI_KK_INSERT_010(setParam);
	}

	/**
	 * 割引サービス契約スキーマの登録を行う（キャンセル）<br>
	 * @param  wribSvcKeiNo 割引サービス契約番号
	 * @param  aplyYmd      適用日
	 * @param  mskmDtlNo    申込明細番号
	 * @param  geneAddDtm   世代登録年月日時分秒
	 * @throws Exception 
	 * @exception JBSbatBusinessException 業務サービス内で発生した例外全般。
	 */
	private void insertWribSvcKeiCnsl(String wribSvcKeiNo, String aplyYmd, String mskmDtlNo, String geneAddDtm) throws Exception
	{
		// 割引サービス契約スキーマの設定値
		Object[] setParam = 
		{
			geneAddDtm,												// 世代登録年月日時分秒
			JKKBatConst.WRIB_SVC_KEI_STAT_CANCEL_ZUMI,				// 割引サービス契約ステータス
			mskmDtlNo,												// 申込明細番号
			// OM-2020-0001445 MOD START
			// aplyYmd,												// 予約適用年月日
			super.opeDate,											// 予約適用年月日
			// OM-2020-0001445 MOD END
			aplyYmd,												// サービスキャンセル年月日
			JKKStrConst.CD01390_CL_OTHER,							// サービスキャンセル理由コード
			JKKStrConst.CD00576_WRIB_INF_ADD,						// 異動区分
			aplyYmd,												// 申込起算年月日
			JKKStrConst.DSL_CNCL_AUTO_SET,							// 割引解約キャンセル契機コード
			wribSvcKeiNo,											// 割引サービス契約番号（条件）
			this.opeDate											// バッチ運用日（条件）
		};
		
		// 割引サービス契約スキーマ登録
		executeKK_T_WRIB_SVC_KEI_KK_INSERT_011(setParam);
	}

	/**
	 * 割引サービス対象契約スキーマの登録を行う<br>
	 * @param  wribSvcKeiNo    割引サービス契約番号
	 * @param  svcKeiNo        サービス契約番号
	 * @param  wribSvcTgSvcCd  割引サービス対象サービスコード
	 * @param  aplyYmd         適用日
	 * @param  geneAddDtm      世代登録年月日時分秒
	 * @throws Exception 
	 * @exception JBSbatBusinessException 業務サービス内で発生した例外全般。
	 */
	private void insertWrisvcTgKei(String wribSvcKeiNo, String svcKeiNo, String wribSvcTgSvcCd, String aplyYmd, String geneAddDtm) throws Exception
	{
		// 割引サービス対象契約番号の採番
		String wribSvcTrgtKeiNo = JCCBatCommon.getFormatedNextSeq(super.commonItem,	SEQ_WRIB_SVC_TRGT_KEI_NO, "", 12);
		
		// 割引サービス対象契約スキーマの設定値
		Object[] setParam = 
		{
			wribSvcKeiNo,											// 割引サービス契約番号
			wribSvcTrgtKeiNo,										// 割引サービス対象契約番号
			geneAddDtm,												// 世代登録年月日時分秒
			JKKBatConst.TG_KEI_SKBT_CD_01,							// 対象契約識別コード
			svcKeiNo,												// サービス契約番号
			null,													// サービス契約内訳番号
			null,													// オプションサービス契約番号
			null,													// サブオプションサービス契約番号
			null,													// 機器提供サービス契約番号
			null,													// 請求オプションサービス契約番号
			wribSvcTgSvcCd,											// 割引サービス対象サービスコード
			null,													// 解除年月日
			aplyYmd,												// 設定登録年月日
			aplyYmd,												// 割引サービス対象契約適用開始年月日
			JKKBatConst.S_MAX_DATE,									// 割引サービス対象契約適用終了年月日
			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,													// 機器オプションサービス契約番号
		};
		
		// 割引サービス対象契約スキーマ登録
		executeKK_T_WRISVC_TG_KEI_PKINSERT(setParam);
	}

	/**
	 * 割引サービス契約内訳スキーマの登録を行う<br>
	 * @param  wribSvcKeiNo	  割引サービス契約番号
	 * @param  wrisvcDtlList 割引サービス詳細リスト
	 * @param  geneAddDtm    世代登録年月日時分秒
	 * @throws Exception 
	 * @exception JBSbatBusinessException 業務サービス内で発生した例外全般。
	 */
	private void insertWrisvcKeiUcwk(String wribSvcKeiNo, ArrayList<JBSbatCommonDBInterface> wrisvcDtlList, String geneAddDtm) throws Exception
	{
		String wribSvcKeiUcwkNo = null;
		
		for(JBSbatCommonDBInterface wrisvcDtl : wrisvcDtlList)
		{
			// 割引サービス契約内訳番号の採番
			wribSvcKeiUcwkNo = JCCBatCommon.getFormatedNextSeq(super.commonItem,	SEQ_WRIB_SVC_KEI_UCWK_NO, "", 12);
			
			// 割引サービス契約内訳スキーマの設定値
			Object[] param = 
			{
				wribSvcKeiNo,													// 割引サービス契約番号
				wribSvcKeiUcwkNo,												// 割引サービス契約内訳番号
				geneAddDtm,														// 世代登録年月日時分秒
				JKKBatConst.WRISVC_KEI_UCWK_STAT_TOUROKU_ZUMI,					// 割引サービス契約内訳ステータス
				wrisvcDtl.getString(JBSbatKK_M_WRIB_SVC_DTL.WRIB_SVC_DTL_CD),	// 割引サービス詳細コード
				"0",															// 割引適用回数
				null,															// サービス課金開始年月日
				null,															// サービス課金終了年月日
				JKKStrConst.CD_DIV_UM_NASHI,									// 課金開始年月日補正有無
				null,															// 初回割引適用年月日
				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
			};
			// 割引サービス契約内訳スキーマ登録
			executeKK_T_WRISVC_KEI_UCWK_PKINSERT(param);
		}
	}

	/**
	 * 割引サービス契約内訳スキーマの登録を行う（解約）<br>
	 * @param  wribSvcKeiNo  割引サービス契約番号
	 * @param  wrisvcDtlList 割引サービス詳細リスト
	 * @param  aplyYmd       適用日
	 * @param  geneAddDtm    世代登録年月日時分秒
	 * @throws Exception 
	 * @exception JBSbatBusinessException 業務サービス内で発生した例外全般。
	 */
	private void insertWrisvcKeiUcwkDsl(String wribSvcKeiNo, ArrayList<JBSbatCommonDBInterface> wrisvcDtlList, String aplyYmd, String geneAddDtm) throws Exception
	{
		// 適用日の前月末日を取得
		String prevMonth = JBSbatDateUtil.adjustMonth(aplyYmd, -1).substring(0, 6);
		String prevMonthLastDate = prevMonth + JBSbatDateUtil.getEndOfMonth(prevMonth);
		
		for(JBSbatCommonDBInterface wrisvcDtl : wrisvcDtlList)
		{
			// 割引サービス契約内訳スキーマの設定値
			Object[] setParam = 
			{
				geneAddDtm,														// 世代登録年月日時分秒
				JKKBatConst.WRISVC_KEI_UCWK_STAT_KAIYAKU_ZUMI,					// 割引サービス契約内訳ステータス
				prevMonthLastDate,												// サービス課金終了年月日
				wribSvcKeiNo,													// 割引サービス契約番号
				wrisvcDtl.getString(JBSbatKK_M_WRIB_SVC_DTL.WRIB_SVC_DTL_CD)	// 割引サービス詳細コード
			};
			
			// 割引サービス契約内訳スキーマ登録
			executeKK_T_WRISVC_KEI_UCWK_KK_INSERT_003(setParam);
		}
	}

	/**
	 * 進捗スキーマ登録用スキーマの登録を行う<br>
	 * @param svcKeiNo
	 * @param mskmDtlNo
	 * @param cmpCd
	 * @param chgDiv
	 * @return idoDtm
	 * @throws Exception 
	 * @exception JBSbatBusinessException 業務サービス内で発生した例外全般。
	 */
	private String insertPrg(String svcKeiNo, String mskmDtlNo, String cmpCd, String chgDiv) throws Exception
	{
		// 進捗番号を取得
		String prgNo    = JCCBatCommon.getFormatedNextSeq(super.commonItem, SEQ_PRG_NO, "", 12);
		// 進捗ステータス
		String prgStat = null;
		// 進捗特記事項1
		String prgTkjk1 = null;
		// 異動年月日時分秒
		String idoDtm   = JCCBatCommon.getSysDateTimeStamp();
		
		// 変更区分が"1"（登録）の場合
		if(CHG_DIV_ADD.equals(chgDiv))
		{
			prgStat  = JKKStrConst.CD00647_CAMPAIGN_FIN;
			prgTkjk1 = SET_TEMPLATE_PRG_TKJK_1_ADD + cmpCd;
		}
		// 変更区分が"2"（削除）の場合
		else if(CHG_DIV_DEL.equals(chgDiv))
		{
			prgStat  = JKKStrConst.CD00647_CAMPAIGN_CSL;
			prgTkjk1 = SET_TEMPLATE_PRG_TKJK_1_DEL + cmpCd;
		}
		
		// 進捗スキーマの設定値
		Object[] setParam = 
		{
			prgNo,												// 進捗番号
			mskmDtlNo,											// 申込明細番号
			null,												// 請求契約番号
			null,												// 請求方法番号（口座）
			null,												// 請求方法番号（クレジットカード）
			svcKeiNo,											// サービス契約番号
			null,												// サービス契約内訳番号
			null,												// サービス契約回線内訳番号
			null,												// 機器提供サービス契約番号
			null,												// オプションサービス契約番号
			null,												// 請求オプションサービス契約番号
			null,												// サブオプションサービス契約番号
			null,												// 割引サービス契約番号
			JKKStrConst.CD00576_WRIB_INF_ADD,					// 異動区分
			idoDtm,												// 異動年月日時分秒
			prgStat,											// 進捗ステータス
			JKKBatCommon.getOpeDateTimeStamp(commonItem),		// 進捗年月日時分秒
			null,												// 進捗メモ
			prgTkjk1,											// 進捗特記事項1
			null,												// 進捗特記事項2
			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
		};
		// 進捗スキーマ登録
		executeKK_T_PRG_PKINSERT(setParam);
		
		return idoDtm;
	}

	/**
	 * 異動理由スキーマの登録を行う<br>
	 * @param svcKeiNo サービス契約番号
	 * @param idoDtm 異動理由年月日時分秒
	 * @throws Exception 
	 * @exception JBSbatBusinessException 業務サービス内で発生した例外全般。
	 */
	private void insertIdoRsn(String svcKeiNo, String idoDtm) throws Exception
	{
		// 異動理由番号を採番
		String idoRsnNo = JCCBatCommon.getFormatedNextSeq(super.commonItem, SEQ_IDO_RSN_NO, "", 12);
		
		// 異動理由スキーマの設定値
		Object[] setParam = 
		{
			JKKStrConst.CD00576_WRIB_INF_ADD,					// 異動区分
			idoDtm,												// 異動年月日時分秒
			JKKStrConst.CD00846_OTHER,							// 異動理由コード
			idoRsnNo,											// 異動理由番号
			svcKeiNo,											// サービス契約番号
			null,												// 異動理由メモ
			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
		};
		// 異動理由スキーマ登録
		executeKK_T_IDO_RSN_PKINSERT(setParam);
	}

}
