/*********************************************************************
*  All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名			：eo顧客基幹システム
*	モジュール名		：JBSbatKKIdoRsvInfChsht
*	ソースファイル名	：JBSbatKKIdoRsvInfChsht.java
*	作成者				：富士通　
*	作成日				：2011年11月22日
*＜機能概要＞
*　異動予約情報抽出部品です。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v1.00.00	2011/11/22   富士通		新規作成
*
*	ST2-2012-0001307 2012.07.01 FJ)      休止課金開始年月日が異動予約に反映されない
*	v9.00.00	2014/04/30   FJ)北谷     ANK-2056-00-00対応
*	v9.01.00	2014/05/15   FJ)北谷     IT1-2014-0000137対応
*********************************************************************/
package eo.business.service;

import eo.business.common.JBSbatBusinessService;
import eo.business.util.file.JBSbatKKIFM157;
import eo.business.util.table.JBSbatKK_T_IDO_RSV;
import eo.business.util.table.JBSbatKK_T_KAISEN_TG_SVKEI;
import eo.business.util.table.JBSbatKK_T_KKTK_SVC_KEI;
import eo.business.util.table.JBSbatKK_T_OP_SVC_KEI;
import eo.business.util.table.JBSbatKK_T_SBOP_SVC_KEI;
import eo.business.util.table.JBSbatKK_T_SVC_KEI;
import eo.business.util.table.JBSbatKK_T_SVC_KEI_UCWK;
import eo.business.util.table.JBSbatKK_T_WRISVC_TG_KEI;
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;

/**
* (クラスの機能概要) <p>
*<BR>
* @author 富士通
*/
public class JBSbatKKIdoRsvInfChsht extends JBSbatBusinessService
{
	
	/** 異動区分　00003：オプション引継 */
	private static final String IDO_DIV_OP_HKTGI = "00003";
	
	/** 異動区分　00005：解約 */
	private static final String IDO_DIV_DSL = "00005";
	
	/** 異動区分　00006：撤去（解約） */
	private static final String IDO_DIV_TEKKYO_DSL = "00006";
	
	/** 異動区分　00024：休止受付 */
	private static final String IDO_DIV_PAUSE_UK = "00024";
	
	/** 異動区分　00026：機器契約変更 */
	public static final String IDO_DIV_KIKI_KEI_CHG = "00026";
	
	/** 異動区分　00031：オプション設定 */
	private static final String IDO_DIV_OP_SETTE = "00031";
	
	/** 異動区分　00043：光電話・番号解約 */
	private static final String IDO_DIV_HTELNODSL = "00043";
	
	// ADD START 住所変更リファクタリング対応
	/** 異動区分　00019：住所変更・登録 */
	public static final String IDO_DIV_ADDCHG_REG = "00019";
	
	/** 異動予約詳細コード　007：サービス解約 */
	public static final String IDO_RSV_DTL_CD_SVC_DSL = "007";
	/** 異動予約詳細コード　013：機器解約 */
	public static final String IDO_RSV_DTL_CD_KIKI_DSL = "013";
	/** 異動予約詳細コード　016：オプション解約 */
	public static final String IDO_RSV_DTL_CD_OP_DSL = "016";
	// ADD END   住所変更リファクタリング対応

	// OM-2014-0000032 非通知着信拒否オプションの開始予約が反映されない 2014/01/07 START
	/** 異動予約詳細コード　014：オプション開始 */
	public static final String IDO_RSV_DTL_CD_OP_STA = "014";
	/** 異動予約詳細コード　017：サブオプション開始 */
	public static final String IDO_RSV_DTL_CD_SBOP_STA = "017";
	/** 異動予約詳細コード　018：サブオプション解約 */
	public static final String IDO_RSV_DTL_CD_SBOP_DSL = "018";
	// OM-2014-0000032 非通知着信拒否オプションの開始予約が反映されない 2014/01/07 END
	// ANK-2056-00-00 2014/04/28 start
	/** 異動予約詳細コード　027：電話オプションパック割引開始 */
	public static final String IDO_RSV_DTL_CD_TL_OP_PACK_STA = "027";
	/** 異動予約詳細コード　028：電話オプションパック割引解約 */
	public static final String IDO_RSV_DTL_CD_TL_OP_PACK_DSL = "028";
	// ANK-2056-00-00 2014/04/28 end
	
	/**▼▼▼▼▼▼ツールから生成した宣言です 開始▼▼▼▼▼▼*/
	/** テーブル(サービス契約内訳)*/
	private static final String D_TBL_NAME_KK_T_SVC_KEI_UCWK = "KK_T_SVC_KEI_UCWK";

	/** テーブル(オプションサービス契約)*/
	private static final String D_TBL_NAME_KK_T_OP_SVC_KEI = "KK_T_OP_SVC_KEI";

	/** テーブル(機器提供サービス契約)*/
	private static final String D_TBL_NAME_KK_T_KKTK_SVC_KEI = "KK_T_KKTK_SVC_KEI";

	// 20120514 ST2-2012-0000894 START
	/** テーブル(回線対象サービス契約)*/
	private static final String D_TBL_NAME_KK_T_KAISEN_TG_SVKEI = "KK_T_KAISEN_TG_SVKEI";
	// 20120514 ST2-2012-0000894 END
// IT1-2013-0001149対応 20130505 星野 ADD START
	/** テーブル(サービス契約)*/
	private static final String D_TBL_NAME_KK_T_SVC_KEI = "KK_T_SVC_KEI";
// IT1-2013-0001149対応 20130505 星野 ADD END

	/** テーブル(異動予約)*/
	private static final String D_TBL_NAME_KK_T_IDO_RSV = "KK_T_IDO_RSV";

	// OM-2014-0000032 非通知着信拒否オプションの開始予約が反映されない 2014/01/10 START
	/** テーブル(サブオプションサービス契約)*/
	private static final String D_TBL_NAME_KK_T_SBOP_SVC_KEI = "KK_T_SBOP_SVC_KEI";
	// OM-2014-0000032 非通知着信拒否オプションの開始予約が反映されない 2014/01/10 END

	// ANK-2056-00-00 2014/04/28 start
	/** テーブル(割引サービス対象契約)*/
	private static final String D_TBL_NAME_KK_T_WRISVC_TG_KEI = "KK_T_WRISVC_TG_KEI";
	// ANK-2056-00-00 2014/04/28 end
	
	/** SQL定義キー(KK_SELECT_054)*/
	private static final String KK_T_SVC_KEI_UCWK_KK_SELECT_054 = "KK_SELECT_054";

	/** SQL定義キー(KK_SELECT_037)*/
	private static final String KK_T_OP_SVC_KEI_KK_SELECT_037 = "KK_SELECT_037";

	/** SQL定義キー(KK_SELECT_046)*/
	private static final String KK_T_KKTK_SVC_KEI_KK_SELECT_046 = "KK_SELECT_046";

	// 20120514 ST2-2012-0000894 START
	/** SQL定義キー(KK_SELECT_016)*/
	private static final String KK_T_KAISEN_TG_SVKEI_KK_SELECT_016 = "KK_SELECT_016";
	// 20120514 ST2-2012-0000894 END

// IT1-2013-0001149対応 20130505 星野 ADD START
	/** SQL定義キー(KK_SELECT_263)*/
	private static final String KK_T_SVC_KEI_KK_SELECT_263 = "KK_SELECT_263";
// IT1-2013-0001149対応 20130505 星野 ADD END
	
	/** SQL定義キー(KK_SELECT_032)*/
	private static final String KK_T_IDO_RSV_KK_SELECT_032 = "KK_SELECT_032";

	// OM-2014-0000032 非通知着信拒否オプションの開始予約が反映されない 2014/01/10 START
	/** SQL定義キー(KK_SELECT_026)*/
	private static final String KK_T_SBOP_SVC_KEI_KK_SELECT_026 = "KK_SELECT_026";

	/** SQL定義キー(KK_SELECT_065)*/
	private static final String KK_T_IDO_RSV_KK_SELECT_065 = "KK_SELECT_065";
	// OM-2014-0000032 非通知着信拒否オプションの開始予約が反映されない 2014/01/10 END

	// ANK-2056-00-00 2014/04/28 start
	/** SQL定義キー(KK_SELECT_019)*/
	private static final String KK_T_WRISVC_TG_KEI_KK_SELECT_019 = "KK_SELECT_019";
	// ANK-2056-00-00 2014/04/28 end

	/** テーブルアクセスクラス(サービス契約内訳)*/
	private JBSbatSQLAccess db_KK_T_SVC_KEI_UCWK = null;

	/** テーブルアクセスクラス(オプションサービス契約)*/
	private JBSbatSQLAccess db_KK_T_OP_SVC_KEI = null;

	/** テーブルアクセスクラス(機器提供サービス契約)*/
	private JBSbatSQLAccess db_KK_T_KKTK_SVC_KEI = null;
	
	// 20120514 ST2-2012-0000894 START
	/** テーブルアクセスクラス(回線対象サービス契約)*/
	private JBSbatSQLAccess db_KK_T_KAISEN_TG_SVKEI = null;
	// 20120514 ST2-2012-0000894 END
// IT1-2013-0001149対応 20130505 星野 ADD START
	/** テーブルアクセスクラス(サービス契約)*/
	private JBSbatSQLAccess db_KK_T_SVC_KEI = null;
// IT1-2013-0001149対応 20130505 星野 ADD END

	/** テーブルアクセスクラス(異動予約)*/
	private JBSbatSQLAccess db_KK_T_IDO_RSV = null;

	// OM-2014-0000032 非通知着信拒否オプションの開始予約が反映されない 2014/01/10 START
	/** テーブルアクセスクラス(サブオプションサービス契約)*/
	private JBSbatSQLAccess db_KK_T_SBOP_SVC_KEI = null;
	// OM-2014-0000032 非通知着信拒否オプションの開始予約が反映されない 2014/01/10 END
	
	// ANK-2056-00-00 2014/04/28 start
	/** テーブルアクセスクラス(割引サービス契約)*/
	private JBSbatSQLAccess db_KK_T_WRISVC_TG_KEI = null;
	// ANK-2056-00-00 2014/04/28 end
	
	/**▲▲▲▲▲▲ツールから生成した宣言です 終了▲▲▲▲▲▲*/

	/**
	 * 初期処理
	 * @param JBSbatCommonItem commonItem　バッチ共通パラメータ電文
	 * @throws Exception
	 */
	public void initial(JBSbatCommonItem commonItem) throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの初期処理を記述してください。▼▼▼▼▼▼*/
		/**▼▼▼▼▼▼ツールから生成した初期化のソースです 開始▼▼▼▼▼▼*/
		// 共通パラメータを設定します
		super.setCommonInfo(commonItem);
		
		// DBアクセスクラスを生成します
		db_KK_T_SVC_KEI_UCWK = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_SVC_KEI_UCWK);
		db_KK_T_OP_SVC_KEI = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_OP_SVC_KEI);
		db_KK_T_KKTK_SVC_KEI = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_KKTK_SVC_KEI);
		// 20120514 ST2-2012-0000894 START
		db_KK_T_KAISEN_TG_SVKEI = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_KAISEN_TG_SVKEI);
		// 20120514 ST2-2012-0000894 END
// IT1-2013-0001149対応 20130505 星野 ADD START
		db_KK_T_SVC_KEI = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_SVC_KEI);
// IT1-2013-0001149対応 20130505 星野 ADD END
		db_KK_T_IDO_RSV = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_IDO_RSV);
		// OM-2014-0000032 非通知着信拒否オプションの開始予約が反映されない 2014/01/10 START
		db_KK_T_SBOP_SVC_KEI = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_SBOP_SVC_KEI);
		// OM-2014-0000032 非通知着信拒否オプションの開始予約が反映されない 2014/01/10 END
		// ANK-2056-00-00 2014/04/28 start
		db_KK_T_WRISVC_TG_KEI = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_WRISVC_TG_KEI);
		// ANK-2056-00-00 2014/04/28 end
		/**▲▲▲▲▲▲ツールから生成した初期化のソースです 終了▲▲▲▲▲▲*/
	/**▲▲▲▲▲▲業務サービスの初期処理を記述してください。▲▲▲▲▲▲*/
	}

	/**
	 * 主処理
	 * @param inMap　入力電文
	 * @return JBSbatOutputItem　出力情報
	 * @throws Exception
	 */
	public JBSbatOutputItem execute(JBSbatServiceInterfaceMap inMap) throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの主処理を記述してください。▼▼▼▼▼▼*/
		// 出力共通電文を生成する。
		JBSbatOutputItem outputBean = new JBSbatOutputItem();

		// OM-2014-0000032 非通知着信拒否オプションの開始予約が反映されない 2014/01/10 START
		// サブオプションの親オプションサービス契約番号を補完
		// ※親オプションの開始・解約に伴って登録されたサブオプションの予約は補完せず、処理対象外とする
		String opSvcKeiNo = getOyaOpSvcKeiNo(inMap);
		inMap.setString(JBSbatKK_T_IDO_RSV.OP_SVC_KEI_NO, opSvcKeiNo);
		// OM-2014-0000032 非通知着信拒否オプションの開始予約が反映されない 2014/01/10 END

		if (isPassIdoRsv(inMap))
		{
			return outputBean;
		}
		
		// 入出力インターフェースオブジェクトを生成
		JBSbatServiceInterfaceMap outmap = new JBSbatServiceInterfaceMap();
		
		// 項目を設定
		String[] oyaKeiNo = getOyaKeiNo(inMap);
		outmap.setString(JBSbatKKIFM157.SVC_KEI_NO, oyaKeiNo[0]);
		outmap.setString(JBSbatKKIFM157.IDO_RSV_NO, inMap.getString(JBSbatKK_T_IDO_RSV.IDO_RSV_NO));
		outmap.setString(JBSbatKKIFM157.IDO_DIV, inMap.getString(JBSbatKK_T_IDO_RSV.IDO_DIV));
		outmap.setString(JBSbatKKIFM157.IDO_RSV_DTL_CD, inMap.getString(JBSbatKK_T_IDO_RSV.IDO_RSV_DTL_CD));
		outmap.setString(JBSbatKKIFM157.RSV_APLY_YMD, inMap.getString(JBSbatKK_T_IDO_RSV.RSV_APLY_YMD));
		outmap.setString(JBSbatKKIFM157.IDO_RSV_HANEI_YMD, inMap.getString(JBSbatKK_T_IDO_RSV.IDO_RSV_HANEI_YMD));
		outmap.setString(JBSbatKKIFM157.IDO_RSV_CL_YMD, inMap.getString(JBSbatKK_T_IDO_RSV.IDO_RSV_CL_YMD));
		outmap.setString(JBSbatKKIFM157.IDO_RSV_STAT_CD, inMap.getString(JBSbatKK_T_IDO_RSV.IDO_RSV_STAT_CD));
		outmap.setString(JBSbatKKIFM157.MSKM_DTL_NO, inMap.getString(JBSbatKK_T_IDO_RSV.MSKM_DTL_NO));
		// ST1-2013-0000104 2013/01/15 start
		String sysid = inMap.getString(JBSbatKK_T_IDO_RSV.SYSID);
		if(sysid == null || "".equals(sysid)){
			sysid = inMap.getString(JBSbatKK_T_IDO_RSV.KK0021_SYSID);
		}
		outmap.setString(JBSbatKKIFM157.SYSID, sysid);
		// ST1-2013-0000104 2013/01/15 end
		outmap.setString(JBSbatKKIFM157.SEIKY_KEI_NO, inMap.getString(JBSbatKK_T_IDO_RSV.SEIKY_KEI_NO));
		outmap.setString(JBSbatKKIFM157.SVC_KEI_UCWK_NO, inMap.getString(JBSbatKK_T_IDO_RSV.SVC_KEI_UCWK_NO));
		outmap.setString(JBSbatKKIFM157.OP_SVC_KEI_NO, inMap.getString(JBSbatKK_T_IDO_RSV.OP_SVC_KEI_NO));
		outmap.setString(JBSbatKKIFM157.SBOP_SVC_KEI_NO, inMap.getString(JBSbatKK_T_IDO_RSV.SBOP_SVC_KEI_NO));
		outmap.setString(JBSbatKKIFM157.KKTK_SVC_KEI_NO, inMap.getString(JBSbatKK_T_IDO_RSV.KKTK_SVC_KEI_NO));
		outmap.setString(JBSbatKKIFM157.WRIB_SVC_KEI_NO, inMap.getString(JBSbatKK_T_IDO_RSV.WRIB_SVC_KEI_NO));
		outmap.setString(JBSbatKKIFM157.SVC_KEI_KAISEN_UCWK_NO, oyaKeiNo[1]);
		//処理年月日
		outmap.setString(JBSbatKKIFM157.TRAN_YMD, inMap.getString(JBSbatKKIFM157.TRAN_YMD));
		super.logPrint.printDebugLog("サービス契約番号["+ inMap.getString(JBSbatKK_T_IDO_RSV.SVC_KEI_NO) + "]" 
				+ "運用日[" + inMap.getString(JBSbatKKIFM157.TRAN_YMD) +"]" );
		
		outmap.setString(JBSbatKKIFM157.UPD_DTM, inMap.getString(JBSbatKK_T_IDO_RSV.UPD_DTM));
		outmap.setString(JBSbatKKIFM157.HEIGO_SK_SYSID, inMap.getString(JBSbatKK_T_IDO_RSV.HEIGO_SK_SYSID));
		outmap.setString(JBSbatKKIFM157.BUNKATSU_SK_SYSID, inMap.getString(JBSbatKK_T_IDO_RSV.BUNKATSU_SK_SYSID));
		outmap.setString(JBSbatKKIFM157.HEIGO_SK_SEIKY_KEI_NO, inMap.getString(JBSbatKK_T_IDO_RSV.HEIGO_SK_SEIKY_KEI_NO));
		outmap.setString(JBSbatKKIFM157.BUNKATSU_SK_SEIKY_KEI_NO, inMap.getString(JBSbatKK_T_IDO_RSV.BUNKATSU_SK_SEIKY_KEI_NO));
		outmap.setString(JBSbatKKIFM157.NEW_PRC_GRP_CD, inMap.getString(JBSbatKK_T_IDO_RSV.NEW_PRC_GRP_CD));
		outmap.setString(JBSbatKKIFM157.NEW_PCRS_CD, inMap.getString(JBSbatKK_T_IDO_RSV.NEW_PCRS_CD));
		outmap.setString(JBSbatKKIFM157.NEW_PPLAN_CD, inMap.getString(JBSbatKK_T_IDO_RSV.NEW_PPLAN_CD));
		outmap.setString(JBSbatKKIFM157.NEW_TK_HOSHIKI_KEI_NO, inMap.getString(JBSbatKK_T_IDO_RSV.NEW_TK_HOSHIKI_KEI_NO));
		outmap.setString(JBSbatKKIFM157.NEW_DMPS_ANKEN_NO, inMap.getString(JBSbatKK_T_IDO_RSV.NEW_DMPS_ANKEN_NO));
		outmap.setString(JBSbatKKIFM157.OLD_PRC_GRP_CD, inMap.getString(JBSbatKK_T_IDO_RSV.OLD_PRC_GRP_CD));
		outmap.setString(JBSbatKKIFM157.OLD_PCRS_CD, inMap.getString(JBSbatKK_T_IDO_RSV.OLD_PCRS_CD));
		outmap.setString(JBSbatKKIFM157.OLD_PPLAN_CD, inMap.getString(JBSbatKK_T_IDO_RSV.OLD_PPLAN_CD));
		outmap.setString(JBSbatKKIFM157.OLD_TK_HOSHIKI_KEI_NO, inMap.getString(JBSbatKK_T_IDO_RSV.OLD_TK_HOSHIKI_KEI_NO));
		outmap.setString(JBSbatKKIFM157.OLD_DMPS_ANKEN_NO, inMap.getString(JBSbatKK_T_IDO_RSV.OLD_DMPS_ANKEN_NO));
		outmap.setString(JBSbatKKIFM157.KOJIAK_NO, inMap.getString(JBSbatKK_T_IDO_RSV.KOJIAK_NO));
		outmap.setString(JBSbatKKIFM157.PNLTY_HASSEI_CD, inMap.getString(JBSbatKK_T_IDO_RSV.PNLTY_HASSEI_CD));
		outmap.setString(JBSbatKKIFM157.OP_HKTGI_SK_SVC_KEI_NO, inMap.getString(JBSbatKK_T_IDO_RSV.OP_HKTGI_SK_SVC_KEI_NO));
		// ST2-2012-0001307 2012.07.01休止課金開始年月日が異動予約に反映されない ADD START
		outmap.setString(JBSbatKKIFM157.SVC_PAUSE_CHRG_STA_YMD, inMap.getString(JBSbatKK_T_IDO_RSV.SVC_PAUSE_CHRG_STA_YMD));
		// ST2-2012-0001307 2012.07.01 ADD END
		// ANK-1256-00-00 2012/10/24 ADD START
		outmap.setString(JBSbatKKIFM157.SVC_CHRG_ENDYMD, inMap.getString(JBSbatKK_T_IDO_RSV.SVC_CHRG_ENDYMD));
		// ANK-1256-00-00 2012/10/24 ADD END
		// IT1-2012-0002378 2012/12/27 start
		outmap.setString(JBSbatKKIFM157.IDO_RSV_RSN_MEMO, inMap.getString(JBSbatKK_T_IDO_RSV.IDO_RSV_RSN_MEMO));
		// IT1-2012-0002378 2012/12/27 start
		
		// レコード出力判定フラグを設定
		outmap.setOutFlg(true);

		// 出力共通電文に入出力インターフェースを設定する。
		outputBean.addOutMapList(outmap);
		
		// 出力共通電文を返却
		return outputBean;
	/**▲▲▲▲▲▲業務サービスの主処理を記述してください。▲▲▲▲▲▲*/
	}

	/**
	 * 業務サービス終了処理
	 * @throws Exception
	 */
	public void terminal() throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの終了処理を記述してください。▼▼▼▼▼▼*/
		/**▼▼▼▼▼▼ツールから生成した終了処理のソースです 開始▼▼▼▼▼▼*/
		// DBアクセスクラスをクローズします
		db_KK_T_SVC_KEI_UCWK.close();
		db_KK_T_OP_SVC_KEI.close();
		db_KK_T_KKTK_SVC_KEI.close();
		// 20120514 ST2-2012-0000894 START
		db_KK_T_KAISEN_TG_SVKEI.close();
		// 20120514 ST2-2012-0000894 END
// IT1-2013-0001149対応 20130505 星野 ADD START
		db_KK_T_SVC_KEI.close();
// IT1-2013-0001149対応 20130505 星野 ADD END
		db_KK_T_IDO_RSV.close();
		// OM-2014-0000032 非通知着信拒否オプションの開始予約が反映されない 2014/01/10 START
		db_KK_T_SBOP_SVC_KEI.close();
		// OM-2014-0000032 非通知着信拒否オプションの開始予約が反映されない 2014/01/10 END
		/**▲▲▲▲▲▲ツールから生成した終了処理のソースです 終了▲▲▲▲▲▲*/
	/**▲▲▲▲▲▲業務サービスの終了処理を記述してください。▲▲▲▲▲▲*/
	}

	/**▼▼▼▼▼▼ツールから生成したメソッドです 開始▼▼▼▼▼▼*/
	/**
	 * SQLKEY(KK_SELECT_054)で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_UCWK_KK_SELECT_054(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());

		// DBアクセスを実行します
		db_KK_T_SVC_KEI_UCWK.selectBySqlDefine(paramList, KK_T_SVC_KEI_UCWK_KK_SELECT_054);
	}

	/**
	 * SQLKEY(KK_SELECT_037)で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_OP_SVC_KEI_KK_SELECT_037(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());

		// DBアクセスを実行します
		db_KK_T_OP_SVC_KEI.selectBySqlDefine(paramList, KK_T_OP_SVC_KEI_KK_SELECT_037);
	}

	/**
	 * SQLKEY(KK_SELECT_046)で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_KKTK_SVC_KEI_KK_SELECT_046(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());

		// DBアクセスを実行します
		db_KK_T_KKTK_SVC_KEI.selectBySqlDefine(paramList, KK_T_KKTK_SVC_KEI_KK_SELECT_046);
	}
	
	// 20120514 ST2-2012-0000894 START
	/**
	 * SQLKEY(KK_SELECT_016)で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_KAISEN_TG_SVKEI_KK_SELECT_016(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_KAISEN_TG_SVKEI.selectBySqlDefine(paramList, KK_T_KAISEN_TG_SVKEI_KK_SELECT_016);
	}
	// 20120514 ST2-2012-0000894 END

// IT1-2013-0001149対応 20130505 星野 ADD START
	/**
	 * SQLKEY(KK_SELECT_263)で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_263(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());

		// DBアクセスを実行します
		db_KK_T_SVC_KEI.selectBySqlDefine(paramList, KK_T_SVC_KEI_KK_SELECT_263);
	}
// IT1-2013-0001149対応 20130505 星野 ADD END
	
	/**
	 * SQLKEY(KK_SELECT_032)で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_IDO_RSV_KK_SELECT_032(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_IDO_RSV.selectBySqlDefine(paramList, KK_T_IDO_RSV_KK_SELECT_032);
	}

	// OM-2014-0000032 非通知着信拒否オプションの開始予約が反映されない 2014/01/10 START
	/**
	 * SQLKEY(KK_SELECT_026)で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_SBOP_SVC_KEI_KK_SELECT_026(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());

		// DBアクセスを実行します
		db_KK_T_SBOP_SVC_KEI.selectBySqlDefine(paramList, KK_T_SBOP_SVC_KEI_KK_SELECT_026);
	}

	/**
	 * SQLKEY(KK_SELECT_065)で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_IDO_RSV_KK_SELECT_065(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());

		// DBアクセスを実行します
		db_KK_T_IDO_RSV.selectBySqlDefine(paramList, KK_T_IDO_RSV_KK_SELECT_065);
	}
	// OM-2014-0000032 非通知着信拒否オプションの開始予約が反映されない 2014/01/10 END
	
	// ANK-2056-00-00 2014/04/28 start
	/**
	 * SQLKEY(KK_SELECT_019)で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_TG_KEI_KK_SELECT_019(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());

		// DBアクセスを実行します
		db_KK_T_WRISVC_TG_KEI.selectBySqlDefine(paramList, KK_T_WRISVC_TG_KEI_KK_SELECT_019);
	}
	// ANK-2056-00-00 2014/04/28 end
	
	/**▲▲▲▲▲▲ツールから生成したメソッドです 終了▲▲▲▲▲▲*/
	
	/**
	 * 異動予約反映対象外判定処理
	 * @param inMap 入力電文
	 * @return 判定結果(true：対象外、false：対象)
	 */
	private boolean isPassIdoRsv(JBSbatServiceInterfaceMap inMap) throws Exception
	{
		boolean passFlg = false;
		
		String idoDiv = inMap.getString(JBSbatKK_T_IDO_RSV.IDO_DIV);
		String svcKeiNo = inMap.getString(JBSbatKK_T_IDO_RSV.SVC_KEI_NO);
		String svcKeiUcwkNo = inMap.getString(JBSbatKK_T_IDO_RSV.SVC_KEI_UCWK_NO);
		String opSvcKeiNo = inMap.getString(JBSbatKK_T_IDO_RSV.OP_SVC_KEI_NO);
		String kktkSvcKeiNo = inMap.getString(JBSbatKK_T_IDO_RSV.KKTK_SVC_KEI_NO);
		String idoRsvDtlCd = (String)inMap.get(JBSbatKK_T_IDO_RSV.IDO_RSV_DTL_CD);
		
		if (IDO_DIV_DSL.equals(idoDiv)
					|| IDO_DIV_TEKKYO_DSL.equals(idoDiv)
					|| IDO_DIV_PAUSE_UK.equals(idoDiv)
					|| (IDO_DIV_ADDCHG_REG.equals(idoDiv) && IDO_RSV_DTL_CD_SVC_DSL.equals(idoRsvDtlCd) && isSvcKeiRel(svcKeiUcwkNo)))
		{
			// 解約・撤去（解約）・休止受付の場合
			
			if (isNull(svcKeiNo))
			{
				passFlg = true;
			}
		}
		else if (IDO_DIV_HTELNODSL.equals(idoDiv))
		{
			// 光電話・番号解約の場合
			
			if (isNull(svcKeiUcwkNo))
			{
				passFlg = true;
			}
		}
		else if (IDO_DIV_OP_HKTGI.equals(idoDiv)
				|| IDO_DIV_OP_SETTE.equals(idoDiv))
		{
			// オプション引継・オプション設定の場合
			
			if (isNull(opSvcKeiNo))
			{
				passFlg = true;
			}
		}
		else if (IDO_DIV_KIKI_KEI_CHG.equals(idoDiv))
		{
			// 機器契約変更の場合
			
			if (isNull(kktkSvcKeiNo))
			{
				passFlg = true;
			}
		}
		
		return passFlg;
	}
	
	/**
	 * 親契約番号取得処理
	 * @param inMap 入力電文
	 * @return 親契約番号(1：サービス契約番号、2；サービス契約回線内訳番号)
	 */
	private String[] getOyaKeiNo(JBSbatServiceInterfaceMap inMap) throws Exception
	{
		String idoDiv = inMap.getString(JBSbatKK_T_IDO_RSV.IDO_DIV);
		String svcKeiNo = inMap.getString(JBSbatKK_T_IDO_RSV.SVC_KEI_NO);
		String svcKeiUcwkNo = inMap.getString(JBSbatKK_T_IDO_RSV.SVC_KEI_UCWK_NO);
		String opSvcKeiNo = inMap.getString(JBSbatKK_T_IDO_RSV.OP_SVC_KEI_NO);
		String kktkSvcKeiNo = inMap.getString(JBSbatKK_T_IDO_RSV.KKTK_SVC_KEI_NO);
		String svcKeiKaisenUcwkNo = inMap.getString(JBSbatKK_T_IDO_RSV.SVC_KEI_KAISEN_UCWK_NO);
		String tranYmd = inMap.getString(JBSbatKKIFM157.TRAN_YMD);
		String idoRsvDtlCd = (String)inMap.get(JBSbatKK_T_IDO_RSV.IDO_RSV_DTL_CD);
// IT1-2013-0001149対応 20130505 星野 ADD START
		String mskmDtlNo = (String)inMap.get(JBSbatKK_T_IDO_RSV.MSKM_DTL_NO);
// IT1-2013-0001149対応 20130505 星野 ADD END
// ANK-2056-00-00 2014/04/28 start
		String wribSvcKeiNo = (String)inMap.get(JBSbatKK_T_IDO_RSV.WRIB_SVC_KEI_NO);
// ANK-2056-00-00 2014/04/28 end
		
		String[] oyaKeiNo = {svcKeiNo, svcKeiKaisenUcwkNo};
		
		if (isNull(svcKeiNo))
		{
			if (IDO_DIV_HTELNODSL.equals(idoDiv)
			// ADD START 住所変更リファクタリング対応
			|| (IDO_DIV_ADDCHG_REG.equals(idoDiv) && IDO_RSV_DTL_CD_SVC_DSL.equals(idoRsvDtlCd))
			// ADD END   住所変更リファクタリング対応
			)
			{
				// 光電話・番号解約の場合
				
				Object[] param = {
						svcKeiUcwkNo,
						tranYmd
					};
				executeKK_T_SVC_KEI_UCWK_KK_SELECT_054(param);
				
				JBSbatCommonDBInterface rstMap = db_KK_T_SVC_KEI_UCWK.selectNext();
				
				if (rstMap != null)
				{
					oyaKeiNo[0] = rstMap.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_KEI_NO);
				}
			}
			else if (IDO_DIV_OP_HKTGI.equals(idoDiv)
					|| IDO_DIV_OP_SETTE.equals(idoDiv)
					// ADD START 住所変更リファクタリング対応
					|| (IDO_DIV_ADDCHG_REG.equals(idoDiv) && IDO_RSV_DTL_CD_OP_DSL.equals(idoRsvDtlCd))
					// ADD END   住所変更リファクタリング対応
					)
			{
				// オプション引継・オプション設定の場合
				
				Object[] param1 = {
						opSvcKeiNo,
						tranYmd
					};
				executeKK_T_OP_SVC_KEI_KK_SELECT_037(param1);
				
				JBSbatCommonDBInterface rstMap1 = db_KK_T_OP_SVC_KEI.selectNext();
				
				if (rstMap1 != null)
				{
					oyaKeiNo[0] = rstMap1.getString(JBSbatKK_T_OP_SVC_KEI.SVC_KEI_NO);
					String tmpSvcKeiUcwkNo = rstMap1.getString(JBSbatKK_T_OP_SVC_KEI.SVC_KEI_UCWK_NO);
					
					if (isNull(oyaKeiNo[0]) && !isNull(tmpSvcKeiUcwkNo))
					{
						Object[] param2 = {
								tmpSvcKeiUcwkNo,
								tranYmd
							};
						executeKK_T_SVC_KEI_UCWK_KK_SELECT_054(param2);
						
						JBSbatCommonDBInterface rstMap2 = db_KK_T_SVC_KEI_UCWK.selectNext();
						
						if (rstMap2 != null)
						{
							oyaKeiNo[0] = rstMap2.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_KEI_NO);
						}
					}
				}
			}
			else if (IDO_DIV_KIKI_KEI_CHG.equals(idoDiv)
					// ADD START 住所変更リファクタリング対応
					|| (IDO_DIV_ADDCHG_REG.equals(idoDiv) && IDO_RSV_DTL_CD_KIKI_DSL.equals(idoRsvDtlCd))
					// ADD END   住所変更リファクタリング対応
				)
			{
				// 機器契約変更の場合
				
				Object[] param = {
						kktkSvcKeiNo,
						tranYmd
					};
				executeKK_T_KKTK_SVC_KEI_KK_SELECT_046(param);
				
				JBSbatCommonDBInterface rstMap = db_KK_T_KKTK_SVC_KEI.selectNext();
				
				if (rstMap != null)
				{
					oyaKeiNo[0] = rstMap.getString(JBSbatKK_T_KKTK_SVC_KEI.SVC_KEI_NO);
					oyaKeiNo[1] = rstMap.getString(JBSbatKK_T_KKTK_SVC_KEI.SVC_KEI_KAISEN_UCWK_NO);
				}
				
// IT1-2013-0001149対応 20130505 星野 ADD START
				// 住所変更での機器解約
				if( IDO_DIV_ADDCHG_REG.equals(idoDiv) && IDO_RSV_DTL_CD_KIKI_DSL.equals(idoRsvDtlCd) ){
					
					// サービス契約番号未設定（回線にひもづく機器）の場合
					if( isNull(oyaKeiNo[0]) && !isNull(mskmDtlNo) ){
						
						// 申込明細番号を元にサービス契約番号を取得
						Object[] param2 = {
							mskmDtlNo
						};
						executeKK_T_SVC_KEI_KK_SELECT_263(param2);
						
						JBSbatCommonDBInterface rstMap2 = db_KK_T_SVC_KEI.selectNext();
						
						if (rstMap2 != null)
						{
							oyaKeiNo[0] = rstMap2.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_NO);
						}
					}
				}
// IT1-2013-0001149対応 20130505 星野 ADD END
				
			}
			// ANK-2056-00-00 2014/04/28 start
			// 住所変更での電話オプションパック割引開始/解約
			else if (IDO_DIV_ADDCHG_REG.equals(idoDiv)
					&& (IDO_RSV_DTL_CD_TL_OP_PACK_STA.equals(idoRsvDtlCd) || IDO_RSV_DTL_CD_TL_OP_PACK_DSL.equals(idoRsvDtlCd))
					)
			{
				// サービス契約番号未設定（内訳にひもづく割引）の場合
				if( isNull(oyaKeiNo[0]) && !isNull(wribSvcKeiNo) ){
					// IT1-2014-0000137 2014/05/15 start
					// 割引サービス契約番号を元にサービス契約番号を取得
					Object[] param = {
						wribSvcKeiNo
					};
					executeKK_T_WRISVC_TG_KEI_KK_SELECT_019(param);
					
					JBSbatCommonDBInterface rstMap = null;
					while(null != (rstMap = db_KK_T_WRISVC_TG_KEI.selectNext())){
						String tmpSvcKeiNo = rstMap.getString(JBSbatKK_T_WRISVC_TG_KEI.SVC_KEI_NO);
						if (tmpSvcKeiNo != null && !"".equals(tmpSvcKeiNo))
						{
							oyaKeiNo[0] = tmpSvcKeiNo;
							break;
						}
					}
					// IT1-2014-0000137 2014/05/15 end
				}
			}
			// ANK-2056-00-00 2014/04/28 end
		}
		
		// 20120514 ST2-2012-0000894 START
		if(!isNull(oyaKeiNo[0]) && isNull(oyaKeiNo[1]))
		{
			Object[] param = {
					oyaKeiNo[0],
					tranYmd,
					tranYmd
				};
			executeKK_T_KAISEN_TG_SVKEI_KK_SELECT_016(param);
			
			JBSbatCommonDBInterface rstMap = db_KK_T_KAISEN_TG_SVKEI.selectNext();
			
			if (rstMap != null)
			{
				oyaKeiNo[1] = rstMap.getString(JBSbatKK_T_KAISEN_TG_SVKEI.SVC_KEI_KAISEN_UCWK_NO);
			}
		}
		// 20120514 ST2-2012-0000894 END
		
		return oyaKeiNo;
	}

	// OM-2014-0000032 非通知着信拒否オプションの開始予約が反映されない 2014/01/10 START
	/**
	 * 親オプションサービス契約番号取得処理<br>
	 * サブオプションのみの異動である（親オプションの異動に伴っていない）場合は、オプションサービス契約番号を補完する。
	 * <br>
	 * @param inMap 入力電文
	 * @return オプションサービス契約番号
	 * @throws Exception 例外が発生した場合
	 */
	private String getOyaOpSvcKeiNo(JBSbatServiceInterfaceMap inMap) throws Exception
	{
		String idoDiv = inMap.getString(JBSbatKK_T_IDO_RSV.IDO_DIV);
		String idoRsvDtlCd = (String)inMap.get(JBSbatKK_T_IDO_RSV.IDO_RSV_DTL_CD);
		String opSvcKeiNo = inMap.getString(JBSbatKK_T_IDO_RSV.OP_SVC_KEI_NO);
		String sbopSvcKeiNo = inMap.getString(JBSbatKK_T_IDO_RSV.SBOP_SVC_KEI_NO);
		String mskmDtlNo = inMap.getString(JBSbatKK_T_IDO_RSV.MSKM_DTL_NO);
		String tranYmd = inMap.getString(JBSbatKKIFM157.TRAN_YMD);

		// 異動区分がオプション設定、異動予約詳細コードがサブオプション開始、またはサブオプション解約の場合
		if (IDO_DIV_OP_SETTE.equals(idoDiv)
			&& (IDO_RSV_DTL_CD_SBOP_STA.equals(idoRsvDtlCd) || IDO_RSV_DTL_CD_SBOP_DSL.equals(idoRsvDtlCd))
			&& !isNull(sbopSvcKeiNo) && isNull(opSvcKeiNo))
		{
			// オプションサービス契約番号を取得する
			String tmpOpSvcKeiNo = "";
			Object[] param =
			{
				sbopSvcKeiNo,
				tranYmd
			};
			executeKK_T_SBOP_SVC_KEI_KK_SELECT_026(param);

			JBSbatCommonDBInterface rstMap = db_KK_T_SBOP_SVC_KEI.selectNext();
			if (null != rstMap)
			{
				tmpOpSvcKeiNo = rstMap.getString(JBSbatKK_T_SBOP_SVC_KEI.OP_SVC_KEI_NO);
			}

			// サブオプションのみの異動かどうかを判定する
			boolean isSbopOnly = true;

			// 同一申込明細番号の親オプションの異動予約を取得
			Object[] paramIdoRsv =
			{
				tmpOpSvcKeiNo,
				mskmDtlNo
			};
			executeKK_T_IDO_RSV_KK_SELECT_065(paramIdoRsv);
			JBSbatCommonDBInterface rstIdoRsvMap = db_KK_T_IDO_RSV.selectNext();
			while (null != rstIdoRsvMap)
			{
				// 親オプションの開始／解約予約が存在する場合
				String tmpIdoRsvDtlCd = rstIdoRsvMap.getString(JBSbatKK_T_IDO_RSV.IDO_RSV_DTL_CD);
				if (IDO_RSV_DTL_CD_OP_STA.equals(tmpIdoRsvDtlCd) || IDO_RSV_DTL_CD_OP_DSL.equals(tmpIdoRsvDtlCd))
				{
					// サブオプションのみの異動ではない
					isSbopOnly = false;
					break;
				}
			}

			// サブオプションのみの異動の場合
			if (isSbopOnly)
			{
				opSvcKeiNo = tmpOpSvcKeiNo;
			}
		}

		return opSvcKeiNo;
	}
	// OM-2014-0000032 非通知着信拒否オプションの開始予約が反映されない 2014/01/10 END

	/**
	 * オブジェクトに値が設定されているか判定する
	 * 
	 * @param arg0 判定するオブジェクト
	 * @return オブジェクトに値が設定されていない場合はtrue
	 */
	private boolean isNull(Object arg0) 
	{
		if (arg0 == null) 
		{
			return true;
		}

		return 0 == arg0.toString().length();
	}
	
	private boolean isSvcKeiRel(String svcKeiUcwkNo) throws Exception
	{
		if (svcKeiUcwkNo != null && !svcKeiUcwkNo.equals(""))
		{
			Object[] param = {svcKeiUcwkNo, opeDate, opeDate};

			executeKK_T_IDO_RSV_KK_SELECT_032(param);
			JBSbatCommonDBInterface rstMap = db_KK_T_IDO_RSV.selectNext();
			
			if (rstMap != null)
			{
				return true;
			}
		}
		return false;
	}
}
