/*********************************************************************
*  All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名			：eo顧客基幹システム
*	モジュール名		：JBSbatKKCrsChgSjishoAdd
*	ソースファイル名	：JBSbatKKCrsChgSjishoAdd.java
*	作成者				：富士通　
*	作成日				：2012年06月29日
*＜機能概要＞
*　コース変更指示書登録部品です。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v3.00.00	2012/06/29	FJ)神吉		新規作成(【ST1-2012-0000117】コース変更指示書登録対応)
*	v3.01.00	2012/07/12	FJ)神吉		【ANK-0545-00-00】サービスコード対応)
*	v4.00.00	2013/03/14	FJ)中作		【IT1-2013-0000498】品質強化対策
*	v4.01.00	2013/03/26	FJ)柳		【IT1-2013-0000498】品質強化対策
*	v4.02.00	2013/03/25	FJ)神吉		【IT1-2013-0000634】指示書登録値設定不具合対応
*	v5.00.00	2013/05/01	FJ)団		【IT1-2013-0001109】メッセージ引数不具合対応
*	v5.00.01	2013/05/02	FJ)中作		【IT1-2013-0001126】指示書ダミーデータ登録処理追加
*	v5.00.02	2013/05/22	FJ)中作		【SG1-2013-0000057】指示書登録時、判定処理追加
*	v9.00.00	2014/08/12	FJ)小野		【OM-2014-0002648】住所変更時コース変更の指示書連携対応
*	v20.00.00	2015/10/26	FJ)金本		【ANK-2732-00-00】プロジェクト正常化施策 ソースの可読性向上
*	v20.00.01	2015/12/03	FJ)余野木	【OM-2015-0003055】障害対応
*********************************************************************/
package eo.business.service;

import java.util.ArrayList;
import java.util.HashMap;

import eo.business.common.JBSbatBusinessService;
import eo.business.common.JBSbatKKConst;
import eo.business.util.file.JBSbatKKIFM217;
import eo.business.util.table.JBSbatKK_M_OLD_ICS_CD_CHG;
import eo.business.util.table.JBSbatKK_M_WRIB_SVC;
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_SVKEIUW_EOH_NET;
import eo.business.util.table.JBSbatKK_T_SVKEIUW_EOH_TEL;
import eo.common.constant.JPCBatchMessageConstant;
import eo.common.util.JKKStringUtil;
import eo.framework.application.JBSbatBusinessError;
import eo.framework.application.JBSbatBusinessException;
import eo.framework.db.JBSbatSQLAccess;
import eo.framework.item.JBSbatCommonDBInterface;
import eo.framework.item.JBSbatCommonItem;
import eo.framework.item.JBSbatOutputItem;
import eo.framework.item.JBSbatServiceInterfaceMap;
import eo.framework.log.JBSbatLogUtil;
import eo.framework.util.JBSbatDateUtil;
import eo.framework.util.JBSbatStringUtil;
import eo.framework.util.JCCBatchEsbInterface;

/**
* (クラスの機能概要) <p>
*<BR>
* @author 富士通
*/
public class JBSbatKKCrsChgSjishoAdd 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_M_OLD_ICS_CD_CHG = "KK_M_OLD_ICS_CD_CHG";

	/** テーブル(サービス契約内訳＜ｅｏ光ネット＞)*/
	private static final String D_TBL_NAME_KK_T_SVKEIUW_EOH_NET = "KK_T_SVKEIUW_EOH_NET";

	/** テーブル(サービス契約内訳)*/
	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_M_PCRS = "KK_M_PCRS";
	/* ++++++++++ v9.00.00 追加開始 ++++++++++ */
	/** テーブル(サービス契約内訳＜ｅｏ光電話＞)*/
	private static final String D_TBL_NAME_KK_T_SVKEIUW_EOH_TEL = "KK_T_SVKEIUW_EOH_TEL";
	/* ++++++++++ v9.00.00 追加終了 ++++++++++ */
	
	/** SQL定義キー(KK_SELECT_192)*/
	private static final String KK_T_SVC_KEI_KK_SELECT_192 = "KK_SELECT_192";

	/** SQL定義キー(KK_SELECT_006)*/
	private static final String KK_M_WRIB_SVC_KK_SELECT_006 = "KK_SELECT_006";

	/** SQL定義キー(KK_SELECT_003)*/
	private static final String KK_M_OLD_ICS_CD_CHG_KK_SELECT_003 = "KK_SELECT_003";

	/** SQL定義キー(KK_SELECT_004)*/
	private static final String KK_M_OLD_ICS_CD_CHG_KK_SELECT_004 = "KK_SELECT_004";
	
	/** SQL定義キー(KK_SELECT_005)*/
	private static final String KK_M_OLD_ICS_CD_CHG_KK_SELECT_005 = "KK_SELECT_005";

	/** SQL定義キー(KK_SELECT_006)*/
	private static final String KK_M_PCRS_KK_SELECT_006 = "KK_SELECT_006";
	/* ++++++++++ v9.00.00 追加開始 ++++++++++ */
	/** SQL定義キー(KK_SELECT_046)*/
	private static final String KK_T_SVKEIUW_EOH_TEL_KK_SELECT_046 = "KK_SELECT_046";
	/* ++++++++++ v9.00.00 追加終了 ++++++++++ */
	
	/** テーブルアクセスクラス(サービス契約)*/
	private JBSbatSQLAccess db_KK_T_SVC_KEI = null;
	
	/** テーブルアクセスクラス(サービス契約)*/
	private JBSbatSQLAccess db_KK_T_SVC_KEI_192 = null;

	/** テーブルアクセスクラス(割引サービス)*/
	private JBSbatSQLAccess db_KK_M_WRIB_SVC = null;

	/** テーブルアクセスクラス(旧ＩＣＳコード変換)*/
	private JBSbatSQLAccess db_KK_M_OLD_ICS_CD_CHG_003 = null;
	
	/** テーブルアクセスクラス(旧ＩＣＳコード変換)*/
	private JBSbatSQLAccess db_KK_M_OLD_ICS_CD_CHG_004 = null;
	
	/** テーブルアクセスクラス(旧ＩＣＳコード変換)*/
	private JBSbatSQLAccess db_KK_M_OLD_ICS_CD_CHG_005 = null;

	/** テーブルアクセスクラス(サービス契約内訳＜ｅｏ光ネット＞)*/
	private JBSbatSQLAccess db_KK_T_SVKEIUW_EOH_NET = null;

	/** テーブルアクセスクラス(サービス契約内訳＜ｅｏ光ネット＞)*/
	private JBSbatSQLAccess db_KK_T_SVKEIUW_EOH_NET2 = null;
	
	/** テーブルアクセスクラス(サービス契約内訳)*/
	private JBSbatSQLAccess db_KK_T_SVC_KEI_UCWK = null;
	
	/** テーブルアクセスクラス(料金コース)*/
	private JBSbatSQLAccess db_KK_M_PCRS = null;
	/* ++++++++++ v9.00.00 追加開始 ++++++++++ */
	/** テーブルアクセスクラス(サービス契約内訳＜ｅｏ光電話＞)*/
	private JBSbatSQLAccess db_KK_T_SVKEIUW_EOH_TEL = null;
	/* ++++++++++ v9.00.00 追加終了 ++++++++++ */
	
	// ++++++++++ v20.00.00 削除開始 ++++++++++
	// /** ステータス（解約済） */
	// private static final String STAT_910 = "910";
	//
	// /** ステータス（キャンセル済） */
	// private static final String STAT_920 = "920";
	// 
	// /** 料金コースコード（ｅｏ光テレビ再送信） */
	// private static final String PCRS_CD_A23 = "A23";
	// ++++++++++ v20.00.00 削除終了 ++++++++++
	
	/** MAX日付 */
	private static final String MAX_DATE = "20991231";
	/**▲▲▲▲▲▲ツールから生成した宣言です 終了▲▲▲▲▲▲*/

	/**
	 * 初期処理
	 * @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_T_SVC_KEI_192 = 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_M_OLD_ICS_CD_CHG_003 = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_M_OLD_ICS_CD_CHG);
		db_KK_M_OLD_ICS_CD_CHG_004 = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_M_OLD_ICS_CD_CHG);
		db_KK_M_OLD_ICS_CD_CHG_005 = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_M_OLD_ICS_CD_CHG);
		db_KK_T_SVKEIUW_EOH_NET = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_SVKEIUW_EOH_NET);
		db_KK_T_SVKEIUW_EOH_NET2 = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_SVKEIUW_EOH_NET);
		db_KK_T_SVC_KEI_UCWK = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_SVC_KEI_UCWK);
		db_KK_M_PCRS = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_M_PCRS);
		/* ++++++++++ v9.00.00 追加開始 ++++++++++ */
		db_KK_T_SVKEIUW_EOH_TEL = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_SVKEIUW_EOH_TEL);
		/* ++++++++++ v9.00.00 追加終了 ++++++++++ */
		/**▲▲▲▲▲▲ツールから生成した初期化のソースです 終了▲▲▲▲▲▲*/
	/**▲▲▲▲▲▲業務サービスの初期処理を記述してください。▲▲▲▲▲▲*/
	}

	/**
	 * 主処理
	 * @param inMap　入力電文
	 * @return JBSbatOutputItem　出力情報
	 * @throws Exception
	 */
	public JBSbatOutputItem execute(JBSbatServiceInterfaceMap inMap) throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの主処理を記述してください。▼▼▼▼▼▼*/
		super.logPrint.printDebugLog("execute_START");
		
		String newSvcKeiNo_217 = "";				// サービス契約番号（新規）
		String newSvcKeiGeneAddDtm_217 = "";		// サービス契約世代登録年月日（新規）
		String svcKeiNo_old = "";					// サービス契約番号（旧）
		String svcKeiGeneAddDtm_old = "";			// サービス契約世代登録年月日（旧）
		String newSvcKeiUwNo_217 = "";				// サービス契約内訳番号（新規）
		String newSvcKeiUwGeneAddDtm_217 = "";		// サービス契約内訳世代登録年月日（新規）
		String oldSvcKeiUwNo_217 = "";				// サービス契約内訳番号（旧）
		String oldSvcKeiUwGeneAddDtm_217 = "";		// サービス契約内訳世代登録年月日（旧）
		String newPrcGrpCd_217 = "";				// 料金グループコード（新規）
		String oldPrcGrpCd_217 = "";				// 料金グループコード（旧）
		String wribTypeCd = "";						// 割引タイプコード
		String newIspNinshoId = "";					// ISP認証ID（新コース）
		String oldIspNinshoId = "";					// ISP認証ID（旧コース）
		String sokuWariUm = "";						// 即割有無
		String oldIcsKeiSvcCd = "";					// 旧ICS契約サービスコード
		String oldIcsPplanCd = "";					// 旧ICS料金プランコード
		boolean svcIfCkFlg = false;				// サービスIF確認フラグ
		String svcKeiUcwkStat = "";					// サービス契約内訳ステータス
		String prcGrpCd = "";						// 料金グループコード（サービス契約）
		String prcGrpCd_old = "";					// 料金グループコード（旧サービス契約）
		String ucwkAplyEndymd = "";					// 適用終了年月日(サービス契約内訳)
		String svcAplyStaymd = "";					// 適用開始年月日(サービス契約)
		String svcAplyEndymd = "";					// 適用終了年月日(サービス契約)
		String shosaYmd = "";						// 照査年月日（サービス契約）
		String shosaYmd_old = "";					// 照査年月日（旧サービス契約）
		
		// ユースケースIDを格納するMAP
		HashMap<Object, Object>  paramMap = new HashMap<Object, Object>();
		paramMap.put(JCCBatchEsbInterface.TELEGRAM_INFO_USECASE_ID, "KKSV0600");
		paramMap.put(JCCBatchEsbInterface.TELEGRAM_INFO_OPERATION_ID, "KKSV0600OP");
		
		// サービスに渡す業務データを格納するMAP
		HashMap<Object, Object> inputShijishoMap = new HashMap<Object, Object>();
		
		// サービスに渡す業務データを格納するMAP
		HashMap<String, Object> inputMap = new HashMap<String, Object>();
		
		HashMap<Object, Object> ninshoIdMap = new HashMap<Object, Object>();
		
		HashMap<Object, Object> svcKeiMap_old = new HashMap<Object, Object>();
		
		HashMap<Object, Object> svcKeiMap = new HashMap<Object, Object>();
		
		HashMap<Object, Object> dummySvcKeiMap = new HashMap<Object, Object>();
		
		newSvcKeiNo_217 = inMap.getString(JBSbatKKIFM217.NEW_SVC_KEI_NO);								// サービス契約番号（新規）
		newSvcKeiGeneAddDtm_217 = inMap.getString(JBSbatKKIFM217.NEW_SVC_KEI_GENE_ADD_DTM);				// サービス契約世代登録年月日時分秒（新規）
		newSvcKeiUwNo_217 = inMap.getString(JBSbatKKIFM217.NEW_SVC_KEI_UCWK_NO);						// サービス契約内訳番号（新規）
		newSvcKeiUwGeneAddDtm_217 = inMap.getString(JBSbatKKIFM217.NEW_SVC_KEI_UCWK_GENE_ADD_DTM);		// サービス契約内訳世代登録年月日時分秒（新規）
		oldSvcKeiUwNo_217 = inMap.getString(JBSbatKKIFM217.OLD_SVC_KEI_UCWK_NO);						// サービス契約内訳番号（旧）
		oldSvcKeiUwGeneAddDtm_217 = inMap.getString(JBSbatKKIFM217.OLD_SVC_KEI_UCWK_GENE_ADD_DTM);		// サービス契約内訳世代登録年月日時分秒（旧）
		newPrcGrpCd_217 = inMap.getString(JBSbatKKIFM217.NEW_PCRS_CD);									// 料金コースコード（新規）
		oldPrcGrpCd_217 = inMap.getString(JBSbatKKIFM217.OLD_PCRS_CD);									// 料金コースコード（旧）
		
		// ログレベルがデバッグモードの場合
		if(super.logPrint.chkLogLevel(JBSbatLogUtil.MODE_DEBUG))
		{
			super.logPrint.printDebugLog("サービス契約番号（新規）：" +  newSvcKeiNo_217);
			super.logPrint.printDebugLog("サービス契約世代登録年月日時分秒（新規）：" +  newSvcKeiGeneAddDtm_217);
			super.logPrint.printDebugLog("サービス契約内訳番号（新規）：" +  newSvcKeiUwNo_217);
			super.logPrint.printDebugLog("サービス契約内訳世代登録年月日時分秒（新規）：" +  newSvcKeiUwGeneAddDtm_217);
			super.logPrint.printDebugLog("サービス契約内訳番号（旧）：" +  oldSvcKeiUwNo_217);
			super.logPrint.printDebugLog("サービス契約内訳世代登録年月日時分秒（旧）：" +  oldSvcKeiUwGeneAddDtm_217);
			super.logPrint.printDebugLog("料金コースコード（旧）：" +  oldPrcGrpCd_217);
			super.logPrint.printDebugLog("料金コースコード（新規）：" +  newPrcGrpCd_217);
		}
		
		// SQL実行結果取得用mapを生成（サービス契約スキーマ旧情報取得）
		JBSbatCommonDBInterface svcKeiMap_192 = new JBSbatCommonDBInterface(); 
		
		// サービス契約旧情報検索実行
		svcKeiMap_192 = selectSvcKei192(newSvcKeiNo_217, newSvcKeiGeneAddDtm_217);
		
		svcKeiNo_old = JBSbatStringUtil.Rtrim(svcKeiMap_192.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_NO));
		
		svcKeiGeneAddDtm_old = JBSbatStringUtil.Rtrim(svcKeiMap_192.getString(JBSbatKK_T_SVC_KEI.GENE_ADD_DTM));
		
		// サービス契約検索結果格納マップ
		JBSbatCommonDBInterface svcKei_map_old = null;
		
		// サービス契約PK検索実行
		svcKei_map_old = selectSvcKei(svcKeiNo_old, svcKeiGeneAddDtm_old);
		
		// サービス契約.照査年月日取得
		shosaYmd_old = JBSbatStringUtil.Rtrim(svcKei_map_old.getString(JBSbatKK_T_SVC_KEI.SHOSA_YMD));
		
		// 旧料金コースコードが「A23（eo光テレビ再送信）」且つ、新料金コースコードが「A23（eo光テレビ再送信）」以外の場合
		// ++++++++++ v20.00.00 変更開始 ++++++++++
		// if (PCRS_CD_A23.equals(oldPrcGrpCd_217) && !PCRS_CD_A23.equals(newPrcGrpCd_217))
		if (JBSbatKKConst.PCRS_CD_EOH_TV_SAISO.equals(oldPrcGrpCd_217) && !JBSbatKKConst.PCRS_CD_EOH_TV_SAISO.equals(newPrcGrpCd_217))
		// ++++++++++ v20.00.00 変更終了 ++++++++++
		{
			// 適用開始年月日へ「運用日」設定
			svcAplyStaymd = this.opeDate;
		}
		// 上記以外の場合
		else
		{
			// 適用開始年月日へ「サービス契約.照査年月日」設定
			svcAplyStaymd = shosaYmd_old;
		}
		
		// 旧料金コースコードが「A23（eo光テレビ再送信）」以外且つ、新料金コースコードが「A23（eo光テレビ再送信）」の場合
		// ++++++++++ v20.00.00 変更開始 ++++++++++
		// if (!PCRS_CD_A23.equals(oldPrcGrpCd_217) && PCRS_CD_A23.equals(newPrcGrpCd_217))
		if (!JBSbatKKConst.PCRS_CD_EOH_TV_SAISO.equals(oldPrcGrpCd_217) && JBSbatKKConst.PCRS_CD_EOH_TV_SAISO.equals(newPrcGrpCd_217))
		// ++++++++++ v20.00.00 変更終了 ++++++++++
		{
			// 適用終了年月日へ「運用日」設定
			svcAplyEndymd = this.opeDate;
		}
		// 上記以外の場合
		else
		{
			// 適用終了年月日へ「20991231」設定
			svcAplyEndymd = MAX_DATE;
		}
		
		// SYSID設定
		dummySvcKeiMap.put("tran_trgt_sysid", JBSbatStringUtil.Rtrim(svcKei_map_old.getString(JBSbatKK_T_SVC_KEI.SYSID)));
		// SYSID設定
		dummySvcKeiMap.put("sys_id", JBSbatStringUtil.Rtrim(svcKei_map_old.getString(JBSbatKK_T_SVC_KEI.SYSID)));
		// サービス契約番号設定
		dummySvcKeiMap.put("svc_kei_no", JBSbatStringUtil.Rtrim(svcKei_map_old.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_NO)));
		// 無効フラグ設定
		dummySvcKeiMap.put("mk_flg", JBSbatStringUtil.Rtrim(svcKei_map_old.getString(JBSbatKK_T_SVC_KEI.MK_FLG)));
		// 登録年月日時分秒設定
		dummySvcKeiMap.put("add_dtm", JBSbatStringUtil.Rtrim(svcKei_map_old.getString(JBSbatKK_T_SVC_KEI.ADD_DTM)));
		// 登録オペレータアカウント設定
		dummySvcKeiMap.put("add_opeacnt", JBSbatStringUtil.Rtrim(svcKei_map_old.getString(JBSbatKK_T_SVC_KEI.ADD_OPEACNT)));
		// 更新年月日時分秒設定
		dummySvcKeiMap.put("upd_dtm", JBSbatStringUtil.Rtrim(svcKei_map_old.getString(JBSbatKK_T_SVC_KEI.UPD_DTM)));
		// 更新オペレータアカウント設定
		dummySvcKeiMap.put("upd_opeacnt", JBSbatStringUtil.Rtrim(svcKei_map_old.getString(JBSbatKK_T_SVC_KEI.UPD_OPEACNT)));
		// サービスコード設定
		dummySvcKeiMap.put("svc_kei_cd", JBSbatStringUtil.Rtrim(svcKei_map_old.getString(JBSbatKK_T_SVC_KEI.SVC_CD)));
		
		// サービス契約検索結果．料金グループコード取得
		prcGrpCd_old = JBSbatStringUtil.Rtrim(svcKei_map_old.getString(JBSbatKK_T_SVC_KEI.PRC_GRP_CD));
		
		super.logPrint.printDebugLog("SYSID(旧svcKeiMap)：" +  JBSbatStringUtil.Rtrim(svcKei_map_old.getString(JBSbatKK_T_SVC_KEI.SYSID)));
		super.logPrint.printDebugLog("サービス契約番号(旧svcKeiMap)：" +  JBSbatStringUtil.Rtrim(svcKei_map_old.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_NO)));
		super.logPrint.printDebugLog("適用開始年月日(旧svcKeiMap)：" +  svcAplyStaymd);
		super.logPrint.printDebugLog("適用終了月日(旧svcKeiMap)：" +  svcAplyEndymd);
		super.logPrint.printDebugLog("無効フラグ(旧svcKeiMap)：" +  JBSbatStringUtil.Rtrim(svcKei_map_old.getString(JBSbatKK_T_SVC_KEI.MK_FLG)));
		super.logPrint.printDebugLog("登録年月日時分秒(旧svcKeiMap)：" +  JBSbatStringUtil.Rtrim(svcKei_map_old.getString(JBSbatKK_T_SVC_KEI.ADD_DTM)));
		super.logPrint.printDebugLog("登録オペレータアカウント(旧svcKeiMap)：" +  JBSbatStringUtil.Rtrim(svcKei_map_old.getString(JBSbatKK_T_SVC_KEI.ADD_OPEACNT)));
		super.logPrint.printDebugLog("更新年月日時分秒(旧svcKeiMap)：" +  JBSbatStringUtil.Rtrim(svcKei_map_old.getString(JBSbatKK_T_SVC_KEI.UPD_DTM)));
		super.logPrint.printDebugLog("更新オペレータアカウント(旧svcKeiMap)：" +  JBSbatStringUtil.Rtrim(svcKei_map_old.getString(JBSbatKK_T_SVC_KEI.UPD_OPEACNT)));
		super.logPrint.printDebugLog("サービスコード(旧svcKeiMap)：" +  JBSbatStringUtil.Rtrim(svcKei_map_old.getString(JBSbatKK_T_SVC_KEI.SVC_CD)));
		super.logPrint.printDebugLog("料金グループコード(旧svcKeiMap)：" +  prcGrpCd_old);
		
		// 旧料金コースコードより、【料金コース】を検索
		// ID通知書発行識別コード= "0:発行しない"は指示書登録対象外
		if(!checkIdTchishoHakSkbtCd(oldPrcGrpCd_217))
		{
			// 料金グループコード="02:ｅｏ光ネットホームタイプ","03:ｅｏ光ネットメゾンタイプ"
			// 旧の料金コースのダミーデータ作成
			// ++++++++++ v20.00.00 変更開始 ++++++++++
			// if("02".equals(prcGrpCd_old) || "03".equals(prcGrpCd_old))
			if (JBSbatKKConst.PGRP_NET_02.equals(prcGrpCd_old) || JBSbatKKConst.PGRP_NET_03.equals(prcGrpCd_old))
			// ++++++++++ v20.00.00 変更終了 ++++++++++
			{
				super.logPrint.printDebugLog("運用日の前日--->" + JBSbatDateUtil.adjustDate(opeDate, -1));
				
				// 適用開始年月日設定→運用日
				dummySvcKeiMap.put("aply_sta_ymd", opeDate);
				
				// 適用終了月日設定→運用日の前日
				dummySvcKeiMap.put("aply_end_ymd", JBSbatDateUtil.adjustDate(opeDate, -1));
				
				// 割引サービス検索実行
				wribTypeCd = selectWribSvc(svcKeiNo_old);
				
				// 実際の割引サービス契約の設定とは逆の状態で実行
				// 割引タイプコード='31:即割'
				// ++++++++++ v20.00.00 変更開始 ++++++++++
				// if("31".equals(wribTypeCd))
				if (JBSbatKKConst.CD00284_WRIB_TYPE_CD_31.equals(wribTypeCd))
				// ++++++++++ v20.00.00 変更終了 ++++++++++
				{
					// 旧ＩＣＳコード変換検索実行
					// 長割情報取得
					JBSbatCommonDBInterface oldIcsCdChgMap_005 = selectOldIcsCdChg005(svcKei_map_old);
					
					// 旧ICSコード変換検索結果マップにデータが有る場合
					if (null != oldIcsCdChgMap_005)
					{
						// 旧ICS契約サービスコード取得
						oldIcsKeiSvcCd = JBSbatStringUtil.Rtrim(oldIcsCdChgMap_005.getString(JBSbatKK_M_OLD_ICS_CD_CHG.OLD_ICS_KEI_SVC_CD));
						
						// 旧ICS料金プランコード取得
						oldIcsPplanCd = JBSbatStringUtil.Rtrim(oldIcsCdChgMap_005.getString(JBSbatKK_M_OLD_ICS_CD_CHG.OLD_ICS_PPLAN_CD));
						
						StringBuffer value = new StringBuffer();
						// 旧ICS契約サービスコード追加設定
						value.append(oldIcsKeiSvcCd);
						value.append(oldIcsPplanCd);
						
						// 旧ICS契約サービスコード設定
						dummySvcKeiMap.put("old_ics_svc_kei_cd", value.toString());
						
						String listTitle = "svcKeiMap";
						
						// inputMapにデータをサービス契約マップタイトルをキーとして設定する。
						inputMap.put(listTitle, dummySvcKeiMap);
						
						// サービスIF確認フラグへ「true」へ設定
						svcIfCkFlg = true;
					}
				}
				else
				{
					// 即割有を設定
					// ++++++++++ v20.00.00 変更開始 ++++++++++
					// sokuWariUm = "1";
					sokuWariUm = JBSbatKKConst.CD00002_UMU_1;
					// ++++++++++ v20.00.00 変更終了 ++++++++++
					
					// 旧ＩＣＳコード変換検索実行
					// 即割情報取得
					JBSbatCommonDBInterface oldIcsCdChgMap_003 = selectOldIcsCdChg003(svcKei_map_old, sokuWariUm);
					
					// 旧ICSコード変換検索結果マップにデータが有る場合
					if (null != oldIcsCdChgMap_003)
					{
						// 旧ICS契約サービスコード取得
						oldIcsKeiSvcCd = JBSbatStringUtil.Rtrim(oldIcsCdChgMap_003.getString(JBSbatKK_M_OLD_ICS_CD_CHG.OLD_ICS_KEI_SVC_CD));
						
						// 旧ICS料金プランコード取得
						oldIcsPplanCd = JBSbatStringUtil.Rtrim(oldIcsCdChgMap_003.getString(JBSbatKK_M_OLD_ICS_CD_CHG.OLD_ICS_PPLAN_CD));
						
						StringBuffer value = new StringBuffer();
						// 旧ICS契約サービスコード追加設定
						value.append(oldIcsKeiSvcCd);
						value.append(oldIcsPplanCd);
						
						// 旧ICS契約サービスコード設定
						dummySvcKeiMap.put("old_ics_svc_kei_cd", value.toString());
						
						String listTitle = "svcKeiMap";
						
						// inputMapにデータをサービス契約マップタイトルをキーとして設定する。
						inputMap.put(listTitle, dummySvcKeiMap);
						
						// サービスIF確認フラグへ「true」へ設定
						svcIfCkFlg = true;
					}
				}
				
				// サービスIF確認フラグが「true」(データ設定有)の場合
				if (svcIfCkFlg)
				{
					// サービスの処理結果が格納されるMAP
					HashMap<Object, Object> outputMap = new HashMap<Object, Object>();
					
					String listTitle = "KKSV060001CC";
					
					// inputShijishoMapにデータを""タイトルをキーとして設定する。
					inputShijishoMap.put(listTitle, inputMap);
					
					// サービス呼び出し
					JCCBatchEsbInterface.invokeService(super.commonItem, paramMap, inputShijishoMap, outputMap);
					
					// 部品からのリターンコードを取得します。
					String returnCode = (String)outputMap.get("RETURN_CODE");
					super.logPrint.printDebugLog("★RETURN_CODE：" + returnCode);
					
					// サービスインターフェースよりエラーが返却された場合
					if(!"0000".equals(returnCode))
					{
						StringBuffer sb = new StringBuffer();
						sb.append(" サービス契約番号：" +svcKeiMap.get("svc_kei_no"));
						sb.append("、サービス契約。SYSID：" +svcKeiMap.get("tran_trgt_sysid"));
						sb.append("、認証ID情報。SYSID：" +ninshoIdMap.get("tran_trgt_sysid"));
						
						// 「サービスインターフェイスエラーの場合は、下記のログ出力する。
						super.logPrint.printBusinessErrorLog(JPCBatchMessageConstant.EKKB0010CW, 
							new String[]{"コース変更指示書登録CCでエラーが発生しました(リターンコード):" + returnCode + sb.toString()});
						
						//スキップ
						throw new JBSbatBusinessError();
					}
				}
			}
			
			/* ++++++++++ v9.00.00 追加開始 ++++++++++ */
			// 電話の連携を追加することによる繰り返し対応（電話以外は旧・新ともに１件づつ）
			int outMaxCnt = 1;
			ArrayList<JBSbatCommonDBInterface> svcKeiUcwkList = new ArrayList<JBSbatCommonDBInterface>();
			String svcCd = JBSbatStringUtil.Rtrim(svcKei_map_old.getString(JBSbatKK_T_SVC_KEI.SVC_CD));
			// 電話の場合、サービス契約内訳の一覧を取得
			// ++++++++++ v20.00.00 変更開始 ++++++++++
			// if("02".equals(svcCd))
			if(JBSbatKKConst.SVC_CD_TEL_SVC.equals(svcCd))
			// ++++++++++ v20.00.00 変更終了 ++++++++++
			{
				svcKeiUcwkList = getSvcKeiUcwkTelIcrn(svcKei_map_old);
				outMaxCnt = svcKeiUcwkList.size();
			}
			
			for (int outCnt = 0; outCnt < outMaxCnt; outCnt++)
			{
			// 電話繰り返し対応のため、以下の既存処理をインデント１つ下げる
			/* ++++++++++ v9.00.00 追加終了 ++++++++++ */
				// 旧------------------------
				inputMap = new HashMap<String, Object>();
				
				// サービスIF確認フラグを初期化「false」(データ設定無)
				svcIfCkFlg = false;
				
				// SYSID設定
				svcKeiMap_old.put("tran_trgt_sysid", JBSbatStringUtil.Rtrim(svcKei_map_old.getString(JBSbatKK_T_SVC_KEI.SYSID)));
				// SYSID設定
				svcKeiMap_old.put("sys_id", JBSbatStringUtil.Rtrim(svcKei_map_old.getString(JBSbatKK_T_SVC_KEI.SYSID)));
				// サービス契約番号設定
				svcKeiMap_old.put("svc_kei_no", JBSbatStringUtil.Rtrim(svcKei_map_old.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_NO)));
				// 無効フラグ設定
				svcKeiMap_old.put("mk_flg", JBSbatStringUtil.Rtrim(svcKei_map_old.getString(JBSbatKK_T_SVC_KEI.MK_FLG)));
				// 登録年月日時分秒設定
				svcKeiMap_old.put("add_dtm", JBSbatStringUtil.Rtrim(svcKei_map_old.getString(JBSbatKK_T_SVC_KEI.ADD_DTM)));
				// 登録オペレータアカウント設定
				svcKeiMap_old.put("add_opeacnt", JBSbatStringUtil.Rtrim(svcKei_map_old.getString(JBSbatKK_T_SVC_KEI.ADD_OPEACNT)));
				// 更新年月日時分秒設定
				svcKeiMap_old.put("upd_dtm", JBSbatStringUtil.Rtrim(svcKei_map_old.getString(JBSbatKK_T_SVC_KEI.UPD_DTM)));
				// 更新オペレータアカウント設定
				svcKeiMap_old.put("upd_opeacnt", JBSbatStringUtil.Rtrim(svcKei_map_old.getString(JBSbatKK_T_SVC_KEI.UPD_OPEACNT)));
				// サービスコード設定
				svcKeiMap_old.put("svc_kei_cd", JBSbatStringUtil.Rtrim(svcKei_map_old.getString(JBSbatKK_T_SVC_KEI.SVC_CD)));
				
				// サービス契約（旧）検索結果．料金グループコードが「"02"（ｅｏ光ネットホームタイプ）、"03"（ｅｏ光ネットメゾンタイプ）、
				//         "07"（ｅｏモバイル（Ｗｉ−Ｆｉ））、"08"（ｅｏモバイル（ＥＭ））、"09"（ｅｏモバイル（ＵＱ−ＷｉＭＡＸ））の場合
				if (prcGrpCdCheck(prcGrpCd_old))
				{
					// 適用開始年月日設定
					svcKeiMap_old.put("aply_sta_ymd", svcAplyStaymd);
					
					// 適用終了月日設定(運用日)
					svcKeiMap_old.put("aply_end_ymd", this.opeDate);
					
					// 割引サービス検索実行
					wribTypeCd = selectWribSvc(svcKeiNo_old);
					
					// 割引タイプコードが「31(即割)」の場合
					// ++++++++++ v20.00.00 変更開始 ++++++++++
					// if("31".equals(wribTypeCd)))
					// {
					//	即割有を設定
					//	sokuWariUm = "1";
					if(JBSbatKKConst.CD00284_WRIB_TYPE_CD_31.equals(wribTypeCd))
					{
						sokuWariUm = JBSbatKKConst.CD00002_UMU_1;
					// ++++++++++ v20.00.00 変更終了 ++++++++++
						
						// SQL実行結果取得用mapを生成（旧ＩＣＳコード変換スキーマ取得）
						JBSbatCommonDBInterface oldIcsCdChgMap_003 = new JBSbatCommonDBInterface(); 
						
						// 旧ＩＣＳコード変換検索実行
						oldIcsCdChgMap_003 = selectOldIcsCdChg003(svcKei_map_old, sokuWariUm);
						
						// 旧ICSコード変換検索結果マップにデータが有る場合
						if (null != oldIcsCdChgMap_003)
						{
							// 旧ICS契約サービスコード取得
							oldIcsKeiSvcCd = JBSbatStringUtil.Rtrim(oldIcsCdChgMap_003.getString(JBSbatKK_M_OLD_ICS_CD_CHG.OLD_ICS_KEI_SVC_CD));
							
							// 旧ICS料金プランコード取得
							oldIcsPplanCd = JBSbatStringUtil.Rtrim(oldIcsCdChgMap_003.getString(JBSbatKK_M_OLD_ICS_CD_CHG.OLD_ICS_PPLAN_CD));
							
							StringBuffer value = new StringBuffer();
							// 旧ICS契約サービスコード追加設定
							value.append(oldIcsKeiSvcCd);
							value.append(oldIcsPplanCd);
							
							// 旧ICS契約サービスコード設定
							svcKeiMap_old.put("old_ics_svc_kei_cd", value.toString());
							
							String listTitle = "svcKeiMap";
							
							// inputMapにデータをサービス契約マップタイトルをキーとして設定する。
							inputMap.put(listTitle, svcKeiMap_old);
							
							// サービスIF確認フラグへ「true」へ設定
							svcIfCkFlg = true;
						}
					}
					// 上記以外の場合
					else
					{
						// SQL実行結果取得用mapを生成（旧ＩＣＳコード変換スキーマ取得）
						JBSbatCommonDBInterface oldIcsCdChgMap_005 = new JBSbatCommonDBInterface(); 
						
						// 旧ＩＣＳコード変換検索実行
						oldIcsCdChgMap_005 = selectOldIcsCdChg005(svcKei_map_old);
						
						// 旧ICSコード変換検索結果マップにデータが有る場合
						if (null != oldIcsCdChgMap_005)
						{
							// 旧ICS契約サービスコード取得
							oldIcsKeiSvcCd = JBSbatStringUtil.Rtrim(oldIcsCdChgMap_005.getString(JBSbatKK_M_OLD_ICS_CD_CHG.OLD_ICS_KEI_SVC_CD));
							
							// 旧ICS料金プランコード取得
							oldIcsPplanCd = JBSbatStringUtil.Rtrim(oldIcsCdChgMap_005.getString(JBSbatKK_M_OLD_ICS_CD_CHG.OLD_ICS_PPLAN_CD));
							
							StringBuffer value = new StringBuffer();
							// 旧ICS契約サービスコード追加設定
							value.append(oldIcsKeiSvcCd);
							value.append(oldIcsPplanCd);
							
							// 旧ICS契約サービスコード設定
							svcKeiMap_old.put("old_ics_svc_kei_cd", value.toString());
							
							String listTitle = "svcKeiMap";
							
							// inputMapにデータをサービス契約マップタイトルをキーとして設定する。
							inputMap.put(listTitle, svcKeiMap_old);
							
							// サービスIF確認フラグへ「true」へ設定
							svcIfCkFlg = true;
						}
					}
				}
				// 上記以外の場合
				else
				{	
					// 適用開始年月日設定
					svcKeiMap_old.put("aply_sta_ymd", svcAplyStaymd);
					
					// 適用終了月日設定
					/* ++++++++++ v9.00.00 修正開始 ++++++++++ */
					// 旧契約側の適用終了年月日を運用年月日に修正
//					svcKeiMap_old.put("aply_end_ymd", svcAplyEndymd);
					svcKeiMap_old.put("aply_end_ymd", this.opeDate);
					/* ++++++++++ v9.00.00 修正終了 ++++++++++ */
					
					/* ++++++++++ v9.00.00 追加開始 ++++++++++ */
					// 電話向け旧ICS契約サービスコード取得処理追加
					// ++++++++++ v20.00.00 変更開始 ++++++++++
					// if("02".equals(svcCd))
					if(JBSbatKKConst.SVC_CD_TEL_SVC.equals(svcCd))
					// ++++++++++ v20.00.00 変更終了 ++++++++++
					{
						// 電話の場合、料金コース、料金プランに対応する旧ICS付加サービス種別コードを取得
						// サービス契約内訳＜ｅｏ光電話＞検索結果から電話番号順を取得
						JBSbatCommonDBInterface svkeiUcwkTelMap = svcKeiUcwkList.get(outCnt);
						String telNoJun = JBSbatStringUtil.Rtrim(svkeiUcwkTelMap.getString(JBSbatKK_T_SVKEIUW_EOH_TEL.TELNO_JUN));
						
						// 旧ICS契約サービスコードを取得
						String telOldIcsSvcKeiCd = getTelOldIcsSvcKeiCd(svcKei_map_old, telNoJun);
						if(!"".equals(telOldIcsSvcKeiCd))
						{
							// 旧ICS契約サービスコード設定
							svcKeiMap_old.put("old_ics_svc_kei_cd", telOldIcsSvcKeiCd);
							
							String listTitle = "svcKeiMap";
							
							// inputMapにデータをサービス契約マップタイトルをキーとして設定する。
							inputMap.put(listTitle, svcKeiMap_old);
							
							// サービスIF確認フラグへ「true」へ設定
							svcIfCkFlg = true;
						}
					}
					else
					{
					// 電話以外（テレビ）の場合（既存処理のままだがインデント１つ下げているため修正差分あり）
					/* ++++++++++ v9.00.00 追加終了 ++++++++++ */
						
						// SQL実行結果取得用mapを生成（旧ＩＣＳコード変換スキーマ取得）
						JBSbatCommonDBInterface oldIcsCdChgMap_004 = new JBSbatCommonDBInterface(); 
						
						// 旧ＩＣＳコード変換検索実行
						oldIcsCdChgMap_004 = selectOldIcsCdChg004(svcKei_map_old);
						
						// サービス契約検索結果マップ且つ、旧ICSコード変換検索結果マップにデータが有る場合
						if (null != svcKei_map_old && null != oldIcsCdChgMap_004)
						{
							// 旧ICS契約サービスコード取得
							oldIcsKeiSvcCd = JBSbatStringUtil.Rtrim(oldIcsCdChgMap_004.getString(JBSbatKK_M_OLD_ICS_CD_CHG.OLD_ICS_KEI_SVC_CD));
							
							StringBuffer value = new StringBuffer();
							value.append(oldIcsKeiSvcCd);
							value.append("000");
								
							// 旧ICS契約サービスコード設定
							svcKeiMap_old.put("old_ics_svc_kei_cd", value.toString());
							
							String listTitle = "svcKeiMap";
							
							// inputMapにデータをサービス契約マップタイトルをキーとして設定する。
							inputMap.put(listTitle, svcKeiMap_old);
							
							// サービスIF確認フラグへ「true」へ設定
							svcIfCkFlg = true;
						}
					/* ++++++++++ v9.00.00 追加開始 ++++++++++ */
					}
					/* ++++++++++ v9.00.00 追加終了 ++++++++++ */
				}
				
				// サービスIF確認フラグが「true」(データ設定有)の場合
				if (svcIfCkFlg)
				{
					// サービスの処理結果が格納されるMAP
					HashMap<Object, Object> outputMap = new HashMap<Object, Object>();
					
					String listTitle = "KKSV060001CC";
					
					// inputShijishoMapにデータを""タイトルをキーとして設定する。
					inputShijishoMap.put(listTitle, inputMap);
					
					// サービス呼び出し
					JCCBatchEsbInterface.invokeService(super.commonItem, paramMap, inputShijishoMap, outputMap);
					
					// 部品からのリターンコードを取得します。
					String returnCode = (String)outputMap.get("RETURN_CODE");
					super.logPrint.printDebugLog("★RETURN_CODE：" + returnCode);
					
					// サービスインターフェースよりエラーが返却された場合
					if(!"0000".equals(returnCode))
					{
						StringBuffer sb = new StringBuffer();
						sb.append(" サービス契約番号：" +svcKeiMap.get("svc_kei_no"));
						sb.append("、サービス契約。SYSID：" +svcKeiMap.get("tran_trgt_sysid"));
						sb.append("、認証ID情報。SYSID：" +ninshoIdMap.get("tran_trgt_sysid"));
						
						// 「サービスインターフェイスエラーの場合は、下記のログ出力する。
						super.logPrint.printBusinessErrorLog(JPCBatchMessageConstant.EKKB0010CW, 
							new String[]{"コース変更指示書登録CCでエラーが発生しました(リターンコード):" + returnCode + sb.toString()});
						
						//スキップ
						throw new JBSbatBusinessError();
					}
				}
			/* ++++++++++ v9.00.00 追加開始 ++++++++++ */
			}
			/* ++++++++++ v9.00.00 追加終了 ++++++++++ */
		}
		
		// 新料金コースのサービス契約取得
		// サービス契約検索結果格納マップ
		JBSbatCommonDBInterface svcKei_map = null;
		
		// サービス契約PK検索実行
		svcKei_map = selectSvcKei(newSvcKeiNo_217, newSvcKeiGeneAddDtm_217);
		
		// 新料金コースコードより、【料金コース】を検索
		// ID通知書発行識別コード= "0:発行しない"は指示書登録対象外
		if(!checkIdTchishoHakSkbtCd(newPrcGrpCd_217))
		{
			/* ++++++++++ v9.00.00 追加開始 ++++++++++ */
			// 電話の連携を追加することによる繰り返し対応（電話以外は旧・新ともに１件づつ）
			int outMaxCnt = 1;
			ArrayList<JBSbatCommonDBInterface> svcKeiUcwkList = new ArrayList<JBSbatCommonDBInterface>();
			String svcCd = JBSbatStringUtil.Rtrim(svcKei_map.getString(JBSbatKK_T_SVC_KEI.SVC_CD));
			// 電話の場合、サービス契約内訳の一覧を取得
			// ++++++++++ v20.00.00 変更開始 ++++++++++
			// if("02".equals(svcCd))
			if(JBSbatKKConst.SVC_CD_TEL_SVC.equals(svcCd))
			// ++++++++++ v20.00.00 変更終了 ++++++++++
			{
				svcKeiUcwkList = getSvcKeiUcwkTelIcrn(svcKei_map);
				outMaxCnt = svcKeiUcwkList.size();
			}
			
			for (int outCnt = 0; outCnt < outMaxCnt; outCnt++)
			{
				// サービスIF確認フラグを初期化「false」(データ設定無)
				svcIfCkFlg = false;
			// 電話繰り返し対応のため、以下の既存処理をインデント１つ下げる
			/* ++++++++++ v9.00.00 追加終了 ++++++++++ */
			
				// 新------------------------
				inputMap = new HashMap<String, Object>();
				
				// サービス契約.照査年月日取得
				shosaYmd = JBSbatStringUtil.Rtrim(svcKei_map.getString(JBSbatKK_T_SVC_KEI.SHOSA_YMD));
				
				// SYSID設定
				svcKeiMap.put("tran_trgt_sysid", JBSbatStringUtil.Rtrim(svcKei_map.getString(JBSbatKK_T_SVC_KEI.SYSID)));
				// SYSID設定
				svcKeiMap.put("sys_id", JBSbatStringUtil.Rtrim(svcKei_map.getString(JBSbatKK_T_SVC_KEI.SYSID)));
				// サービス契約番号設定
				svcKeiMap.put("svc_kei_no", JBSbatStringUtil.Rtrim(svcKei_map.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_NO)));
				// 無効フラグ設定
				svcKeiMap.put("mk_flg", JBSbatStringUtil.Rtrim(svcKei_map.getString(JBSbatKK_T_SVC_KEI.MK_FLG)));
				// 登録年月日時分秒設定
				svcKeiMap.put("add_dtm", JBSbatStringUtil.Rtrim(svcKei_map.getString(JBSbatKK_T_SVC_KEI.ADD_DTM)));
				// 登録オペレータアカウント設定
				svcKeiMap.put("add_opeacnt", JBSbatStringUtil.Rtrim(svcKei_map.getString(JBSbatKK_T_SVC_KEI.ADD_OPEACNT)));
				// 更新年月日時分秒設定
				svcKeiMap.put("upd_dtm", JBSbatStringUtil.Rtrim(svcKei_map.getString(JBSbatKK_T_SVC_KEI.UPD_DTM)));
				// 更新オペレータアカウント設定
				svcKeiMap.put("upd_opeacnt", JBSbatStringUtil.Rtrim(svcKei_map.getString(JBSbatKK_T_SVC_KEI.UPD_OPEACNT)));
				// サービスコード設定
				svcKeiMap.put("svc_kei_cd", JBSbatStringUtil.Rtrim(svcKei_map.getString(JBSbatKK_T_SVC_KEI.SVC_CD)));
				
				// サービス契約検索結果．料金グループコード取得
				prcGrpCd = JBSbatStringUtil.Rtrim(svcKei_map.getString(JBSbatKK_T_SVC_KEI.PRC_GRP_CD));
				
				// 適用開始年月日へ「運用日+1日」設定
				svcAplyStaymd = JBSbatDateUtil.adjustDate(this.opeDate, 1);
				
				super.logPrint.printDebugLog("SYSID(新svcKeiMap)：" +  JBSbatStringUtil.Rtrim(svcKei_map.getString(JBSbatKK_T_SVC_KEI.SYSID)));
				super.logPrint.printDebugLog("サービス契約番号(新svcKeiMap)：" +  JBSbatStringUtil.Rtrim(svcKei_map.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_NO)));
				super.logPrint.printDebugLog("適用開始年月日(新svcKeiMap)：" +  svcAplyStaymd);
				super.logPrint.printDebugLog("適用終了月日(新svcKeiMap)：" +  svcAplyEndymd);
				super.logPrint.printDebugLog("無効フラグ(新svcKeiMap)：" +  JBSbatStringUtil.Rtrim(svcKei_map.getString(JBSbatKK_T_SVC_KEI.MK_FLG)));
				super.logPrint.printDebugLog("登録年月日時分秒(新svcKeiMap)：" +  JBSbatStringUtil.Rtrim(svcKei_map.getString(JBSbatKK_T_SVC_KEI.ADD_DTM)));
				super.logPrint.printDebugLog("登録オペレータアカウント(新svcKeiMap)：" +  JBSbatStringUtil.Rtrim(svcKei_map.getString(JBSbatKK_T_SVC_KEI.ADD_OPEACNT)));
				super.logPrint.printDebugLog("更新年月日時分秒(新svcKeiMap)：" +  JBSbatStringUtil.Rtrim(svcKei_map.getString(JBSbatKK_T_SVC_KEI.UPD_DTM)));
				super.logPrint.printDebugLog("更新オペレータアカウント(新svcKeiMap)：" +  JBSbatStringUtil.Rtrim(svcKei_map.getString(JBSbatKK_T_SVC_KEI.UPD_OPEACNT)));
				super.logPrint.printDebugLog("サービスコード(新svcKeiMap)：" +  JBSbatStringUtil.Rtrim(svcKei_map.getString(JBSbatKK_T_SVC_KEI.SVC_CD)));
				super.logPrint.printDebugLog("料金グループコード(新svcKeiMap)：" +  prcGrpCd);
				
				// サービス契約検索結果．料金グループコードが「"02"（ｅｏ光ネットホームタイプ）、"03"（ｅｏ光ネットメゾンタイプ）、
				//         "07"（ｅｏモバイル（Ｗｉ−Ｆｉ））、"08"（ｅｏモバイル（ＥＭ））、"09"（ｅｏモバイル（ＵＱ−ＷｉＭＡＸ））の場合
				if (prcGrpCdCheck(prcGrpCd))
				{
					
					// 適用開始年月日設定
					svcKeiMap.put("aply_sta_ymd", svcAplyStaymd);
					
					// 適用終了月日設定
					svcKeiMap.put("aply_end_ymd", svcAplyEndymd);
					
					// 割引サービス検索実行
					wribTypeCd = selectWribSvc(newSvcKeiNo_217);
					
					// 割引タイプコードが「31(即割)」の場合
					// ++++++++++ v20.00.00 変更開始 ++++++++++
					// if("31".equals(wribTypeCd)))
					// {
					//	// 即割有を設定
					//	sokuWariUm = "1";
					if(JBSbatKKConst.CD00284_WRIB_TYPE_CD_31.equals(wribTypeCd))
					{
						sokuWariUm = JBSbatKKConst.CD00002_UMU_1;
					// ++++++++++ v20.00.00 変更終了 ++++++++++
						
						// SQL実行結果取得用mapを生成（旧ＩＣＳコード変換スキーマ取得）
						JBSbatCommonDBInterface oldIcsCdChgMap_003 = new JBSbatCommonDBInterface(); 
						
						// 旧ＩＣＳコード変換検索実行
						oldIcsCdChgMap_003 = selectOldIcsCdChg003(svcKei_map, sokuWariUm);
						
						// 旧ICSコード変換検索結果マップにデータが有る場合
						if (null != oldIcsCdChgMap_003)
						{
							// 旧ICS契約サービスコード取得
							oldIcsKeiSvcCd = JBSbatStringUtil.Rtrim(oldIcsCdChgMap_003.getString(JBSbatKK_M_OLD_ICS_CD_CHG.OLD_ICS_KEI_SVC_CD));
							
							// 旧ICS料金プランコード取得
							oldIcsPplanCd = JBSbatStringUtil.Rtrim(oldIcsCdChgMap_003.getString(JBSbatKK_M_OLD_ICS_CD_CHG.OLD_ICS_PPLAN_CD));
							
							StringBuffer value = new StringBuffer();
							// 旧ICS契約サービスコード追加設定
							value.append(oldIcsKeiSvcCd);
							value.append(oldIcsPplanCd);
							
							// 旧ICS契約サービスコード設定
							svcKeiMap.put("old_ics_svc_kei_cd", value.toString());
							
							String listTitle = "svcKeiMap";
							
							// inputMapにデータをサービス契約マップタイトルをキーとして設定する。
							inputMap.put(listTitle, svcKeiMap);
							
							// サービスIF確認フラグへ「true」へ設定
							svcIfCkFlg = true;
						}
					}
					// 上記以外の場合
					else
					{
						// SQL実行結果取得用mapを生成（旧ＩＣＳコード変換スキーマ取得）
						JBSbatCommonDBInterface oldIcsCdChgMap_005 = new JBSbatCommonDBInterface(); 
						
						// 旧ＩＣＳコード変換検索実行
						oldIcsCdChgMap_005 = selectOldIcsCdChg005(svcKei_map);
						
						// 旧ICSコード変換検索結果マップにデータが有る場合
						if (null != oldIcsCdChgMap_005)
						{
							// 旧ICS契約サービスコード取得
							oldIcsKeiSvcCd = JBSbatStringUtil.Rtrim(oldIcsCdChgMap_005.getString(JBSbatKK_M_OLD_ICS_CD_CHG.OLD_ICS_KEI_SVC_CD));
							
							// 旧ICS料金プランコード取得
							oldIcsPplanCd = JBSbatStringUtil.Rtrim(oldIcsCdChgMap_005.getString(JBSbatKK_M_OLD_ICS_CD_CHG.OLD_ICS_PPLAN_CD));
							
							StringBuffer value = new StringBuffer();
							// 旧ICS契約サービスコード追加設定
							value.append(oldIcsKeiSvcCd);
							value.append(oldIcsPplanCd);
							
							// 旧ICS契約サービスコード設定
							svcKeiMap.put("old_ics_svc_kei_cd", value.toString());
							
							String listTitle = "svcKeiMap";
							
							// inputMapにデータをサービス契約マップタイトルをキーとして設定する。
							inputMap.put(listTitle, svcKeiMap);
							
							// サービスIF確認フラグへ「true」へ設定
							svcIfCkFlg = true;
						}
					}
				}
				// 上記以外の場合
				else
				{
					// 適用開始年月日設定
					svcKeiMap.put("aply_sta_ymd", svcAplyStaymd);
					
					// 適用終了月日設定
					svcKeiMap.put("aply_end_ymd", svcAplyEndymd);
					
					/* ++++++++++ v9.00.00 追加開始 ++++++++++ */
					// 電話向け旧ICS契約サービスコード取得処理追加
					// ++++++++++ v20.00.00 変更開始 ++++++++++
					// if("02".equals(svcCd))
					if(JBSbatKKConst.SVC_CD_TEL_SVC.equals(svcCd))
					// ++++++++++ v20.00.00 変更終了 ++++++++++
					{
						// 電話の場合、料金コース、料金プランに対応する旧ICS付加サービス種別コードを取得
						// サービス契約内訳＜ｅｏ光電話＞検索結果から電話番号順を取得
						JBSbatCommonDBInterface svkeiUcwkTelMap = svcKeiUcwkList.get(outCnt);
						String telNoJun = JBSbatStringUtil.Rtrim(svkeiUcwkTelMap.getString(JBSbatKK_T_SVKEIUW_EOH_TEL.TELNO_JUN));
						
						// 旧ICS契約サービスコードを取得
						String telOldIcsSvcKeiCd = getTelOldIcsSvcKeiCd(svcKei_map, telNoJun);
						if(!"".equals(telOldIcsSvcKeiCd))
						{
							// 旧ICS契約サービスコード設定
							svcKeiMap.put("old_ics_svc_kei_cd", telOldIcsSvcKeiCd);
							
							String listTitle = "svcKeiMap";
							
							// inputMapにデータをサービス契約マップタイトルをキーとして設定する。
							inputMap.put(listTitle, svcKeiMap);
							
							// サービスIF確認フラグへ「true」へ設定
							svcIfCkFlg = true;
						}
					}
					else
					{
					// 電話以外（テレビ）の場合（既存処理のままだがインデント１つ下げているため修正差分あり）
					/* ++++++++++ v9.00.00 追加終了 ++++++++++ */
					
						// SQL実行結果取得用mapを生成（旧ＩＣＳコード変換スキーマ取得）
						JBSbatCommonDBInterface oldIcsCdChgMap_004 = new JBSbatCommonDBInterface(); 
						
						// 旧ＩＣＳコード変換検索実行
						oldIcsCdChgMap_004 = selectOldIcsCdChg004(svcKei_map);
						
						// サービス契約検索結果マップ且つ、旧ICSコード変換検索結果マップにデータが有る場合
						if (null != svcKei_map && null != oldIcsCdChgMap_004)
						{
							// 旧ICS契約サービスコード取得
							oldIcsKeiSvcCd = JBSbatStringUtil.Rtrim(oldIcsCdChgMap_004.getString(JBSbatKK_M_OLD_ICS_CD_CHG.OLD_ICS_KEI_SVC_CD));
							
							StringBuffer value = new StringBuffer();
							value.append(oldIcsKeiSvcCd);
							value.append("000");
							
							// 旧ICS契約サービスコード設定
							svcKeiMap.put("old_ics_svc_kei_cd", value.toString());
							
							String listTitle = "svcKeiMap";
							
							// inputMapにデータをサービス契約マップタイトルをキーとして設定する。
							inputMap.put(listTitle, svcKeiMap);
							
							// サービスIF確認フラグへ「true」へ設定
							svcIfCkFlg = true;
						}
					/* ++++++++++ v9.00.00 追加開始 ++++++++++ */
					}
					/* ++++++++++ v9.00.00 追加終了 ++++++++++ */
				}
				// 入力ファイルのサービス契約内訳番号（新規）かつ、サービス契約内訳番号（旧）のデータが有る場合
				if (!isEmpty(newSvcKeiUwNo_217) && !isEmpty(oldSvcKeiUwNo_217))
				{
					// サービス契約内訳＜ｅｏ光ネット＞（新規コース分）PK検索実行
					newIspNinshoId = selectNewSvcKeiUwNet(newSvcKeiUwNo_217, newSvcKeiUwGeneAddDtm_217);
					
					// サービス契約内訳＜ｅｏ光ネット＞（旧コース分）PK検索実行
					oldIspNinshoId = selectOldSvcKeiUwNet(oldSvcKeiUwNo_217, oldSvcKeiUwGeneAddDtm_217);
					
					// ログレベルがデバッグモードの場合
					if(super.logPrint.chkLogLevel(JBSbatLogUtil.MODE_DEBUG))
					{
						super.logPrint.printDebugLog("ISP認証ID（新コース）：" +  newIspNinshoId);
						super.logPrint.printDebugLog("ISP認証ID（旧コース）：" +  oldIspNinshoId);
					}
					
					// ISP認証ID(新コースと旧コース)の相違が有る場合
					if(!newIspNinshoId.equals(oldIspNinshoId))
					{
						// サービス契約内訳検索結果格納マップ
						JBSbatCommonDBInterface svcKeiUw_map = null;
						
						// サービス契約内訳PK検索実行
						svcKeiUw_map = selectSvcKeiUw(newSvcKeiUwNo_217, newSvcKeiUwGeneAddDtm_217);
						
						// サービス契約検索PK結果且つ、サービス契約内訳PK検索結果が有る場合
						if (null != svcKei_map && null != svcKeiUw_map)
						{
							svcKeiUcwkStat = JBSbatStringUtil.Rtrim(svcKeiUw_map.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_KEI_UCWK_STAT));
							
							// サービス契約内訳ステータスが「910（解約済）」の場合
							// ++++++++++ v20.00.00 変更開始 ++++++++++
							// if (STAT_910.equals(svcKeiUcwkStat))
							if (JBSbatKKConst.SVC_KEI_STAT_DLS_ZM.equals(svcKeiUcwkStat))
							// ++++++++++ v20.00.00 変更終了 ++++++++++
							{
								// 適用終了年月日へ「サービス契約内訳.サービス終了年月日」設定
								ucwkAplyEndymd = JBSbatStringUtil.Rtrim(svcKeiUw_map.getString(JBSbatKK_T_SVC_KEI.SVC_ENDYMD));
							}
							// サービス契約内訳ステータスが「920（キャンセル済）」の場合
							// ++++++++++ v20.00.00 変更開始 ++++++++++
							// else if (STAT_920.equals(svcKeiUcwkStat))
							else if (JBSbatKKConst.SVC_KEI_STAT_CNCL_ZM.equals(svcKeiUcwkStat))
							// ++++++++++ v20.00.00 変更終了 ++++++++++
							{
								// 適用終了年月日へ「サービス契約内訳.サービスキャンセル年月日」設定
								ucwkAplyEndymd = JBSbatStringUtil.Rtrim(svcKeiUw_map.getString(JBSbatKK_T_SVC_KEI.SVC_CANCEL_YMD));
							}
							// 上記以外の場合
							else
							{
								// 適用終了年月日へ「20991231」設定
								ucwkAplyEndymd = MAX_DATE;
							}
							
							// SYSID設定
							ninshoIdMap.put("tran_trgt_sysid", JBSbatStringUtil.Rtrim(svcKei_map.getString(JBSbatKK_T_SVC_KEI.SYSID)));
							// サービス契約番号設定
							ninshoIdMap.put("svc_kei_no", JBSbatStringUtil.Rtrim(svcKeiUw_map.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_KEI_NO)));
							// ISP認証ID
							ninshoIdMap.put("isp_ninsho", newIspNinshoId);
							// 適用開始年月日（照査年月日）設定
							ninshoIdMap.put("aply_sta_ymd", JBSbatStringUtil.Rtrim(svcKeiUw_map.getString(JBSbatKK_T_SVC_KEI_UCWK.SHOSA_YMD)));
							// 適用終了月日設定
							ninshoIdMap.put("aply_end_ymd", ucwkAplyEndymd);
							// 無効フラグ設定
							ninshoIdMap.put("mk_flg", JBSbatStringUtil.Rtrim(svcKeiUw_map.getString(JBSbatKK_T_SVC_KEI_UCWK.MK_FLG)));
							// 登録年月日時分秒設定
							ninshoIdMap.put("add_dtm", JBSbatStringUtil.Rtrim(svcKeiUw_map.getString(JBSbatKK_T_SVC_KEI_UCWK.ADD_DTM)));
							// 登録オペレータアカウント設定
							ninshoIdMap.put("add_opeacnt", JBSbatStringUtil.Rtrim(svcKeiUw_map.getString(JBSbatKK_T_SVC_KEI_UCWK.ADD_OPEACNT)));
							// 更新年月日時分秒設定
							ninshoIdMap.put("upd_dtm", JBSbatStringUtil.Rtrim(svcKeiUw_map.getString(JBSbatKK_T_SVC_KEI_UCWK.UPD_DTM)));
							// 更新オペレータアカウント設定
							ninshoIdMap.put("upd_opeacnt", JBSbatStringUtil.Rtrim(svcKeiUw_map.getString(JBSbatKK_T_SVC_KEI_UCWK.UPD_OPEACNT)));
							
							// ログレベルがデバッグモードの場合
							if(super.logPrint.chkLogLevel(JBSbatLogUtil.MODE_DEBUG))
							{
								super.logPrint.printDebugLog("SYSID(ninshoIdMap)：" +  JBSbatStringUtil.Rtrim(svcKei_map.getString(JBSbatKK_T_SVC_KEI.SYSID)));
								super.logPrint.printDebugLog("サービス契約番号(ninshoIdMap)：" +  JBSbatStringUtil.Rtrim(svcKeiUw_map.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_KEI_NO)));
								super.logPrint.printDebugLog("ISP認証ID(ninshoIdMap)：" +  newIspNinshoId);
								super.logPrint.printDebugLog("適用開始年月日(ninshoIdMap)：" +  JBSbatStringUtil.Rtrim(svcKeiUw_map.getString(JBSbatKK_T_SVC_KEI_UCWK.SHOSA_YMD)));
								super.logPrint.printDebugLog("適用終了月日(ninshoIdMap)：" +  ucwkAplyEndymd);
								super.logPrint.printDebugLog("無効フラグ(ninshoIdMap)：" +  JBSbatStringUtil.Rtrim(svcKeiUw_map.getString(JBSbatKK_T_SVC_KEI_UCWK.MK_FLG)));
								super.logPrint.printDebugLog("登録年月日時分秒(ninshoIdMap)：" +  JBSbatStringUtil.Rtrim(svcKeiUw_map.getString(JBSbatKK_T_SVC_KEI_UCWK.ADD_DTM)));
								super.logPrint.printDebugLog("登録オペレータアカウント(ninshoIdMap)：" +  JBSbatStringUtil.Rtrim(svcKeiUw_map.getString(JBSbatKK_T_SVC_KEI_UCWK.ADD_OPEACNT)));
								super.logPrint.printDebugLog("更新年月日時分秒(ninshoIdMap)：" +  JBSbatStringUtil.Rtrim(svcKeiUw_map.getString(JBSbatKK_T_SVC_KEI_UCWK.UPD_DTM)));
								super.logPrint.printDebugLog("更新オペレータアカウント(ninshoIdMap)：" +  JBSbatStringUtil.Rtrim(svcKei_map.getString(JBSbatKK_T_SVC_KEI.UPD_OPEACNT)));
							}
							
							String listTitle = "ninshoIdMap";
							
							// inputMapにデータを認証IDマップタイトルをキーとして設定する。
							inputMap.put(listTitle, ninshoIdMap);
							
							// サービスIF確認フラグへ「true」へ設定
							svcIfCkFlg = true;
						}
					}
				}
				
				// サービスIF確認フラグが「true」(データ設定有)の場合
				if (svcIfCkFlg)
				{
					// サービスの処理結果が格納されるMAP
					HashMap<Object, Object> outputMap = new HashMap<Object, Object>();
					
					String listTitle = "KKSV060001CC";
					
					// inputShijishoMapにデータを""タイトルをキーとして設定する。
					inputShijishoMap.put(listTitle, inputMap);
					
					// サービス呼び出し
					JCCBatchEsbInterface.invokeService(super.commonItem, paramMap, inputShijishoMap, outputMap);
					
					// 部品からのリターンコードを取得します。
					String returnCode = (String)outputMap.get("RETURN_CODE");
					super.logPrint.printDebugLog("★RETURN_CODE：" + returnCode);
					
					// サービスインターフェースよりエラーが返却された場合
					if(!"0000".equals(returnCode))
					{
						StringBuffer sb = new StringBuffer();
						sb.append(" サービス契約番号：" +svcKeiMap.get("svc_kei_no"));
						sb.append("、サービス契約。SYSID：" +svcKeiMap.get("tran_trgt_sysid"));
						sb.append("、認証ID情報。SYSID：" +ninshoIdMap.get("tran_trgt_sysid"));
						
						// 「サービスインターフェイスエラーの場合は、下記のログ出力する。
						super.logPrint.printBusinessErrorLog(JPCBatchMessageConstant.EKKB0010CW, 
							new String[]{"コース変更指示書登録CCでエラーが発生しました(リターンコード):" + returnCode + sb.toString()});
						
						//スキップ
						throw new JBSbatBusinessError();
					}
				}
			/* ++++++++++ v9.00.00 追加開始 ++++++++++ */
			}
			/* ++++++++++ v9.00.00 追加終了 ++++++++++ */
		}
		
		// ++++++++++ v20.00.01 削除開始 ++++++++++
//		// 指示書登録されている場合、AxM連携サービスの呼出
//		if(svcIfCkFlg)
//		{
//			// サービスインターフェイス名：AXM連携用サービスの呼び出し
//			// サービス呼び出しの際の引数を生成
//			HashMap<Object, Object> paramMapOpn2 = new HashMap<Object, Object>();
//			HashMap<Object, Object> inputMapOpn2 = new HashMap<Object, Object>();
//			HashMap<Object, Object> outputMapOpn2 = new HashMap<Object, Object>();
//			
//			// サービスIDのセット
//			paramMapOpn2.put(JCCBatchEsbInterface.TELEGRAM_INFO_USECASE_ID, "CKSV9001");
//			paramMapOpn2.put(JCCBatchEsbInterface.TELEGRAM_INFO_OPERATION_ID, "CKSV9001OP");
//			
//			// サービスへのデータセット
//			HashMap<Object, Object> mapRenkeiCCOpn = new HashMap<Object, Object>();
//			inputMapOpn2.put("CKSV900101CC", mapRenkeiCCOpn);
//			mapRenkeiCCOpn.put("upd_trgt_sysid", JBSbatStringUtil.Rtrim(svcKei_map.getString(JBSbatKK_T_SVC_KEI.SYSID)));
//			
//			// AxM連携サービスの呼出
//			JCCBatchEsbInterface.invokeService(super.commonItem, paramMapOpn2, inputMapOpn2, outputMapOpn2);
//			
//			// 部品からのリターンコードを取得します。
//			String returnCode1 = (String)outputMapOpn2.get("RETURN_CODE");
//			super.logPrint.printDebugLog("★RETURN_CODE：" + returnCode1);
//			
//			// サービスインターフェースよりエラーが返却された場合
//			if(!"0000".equals(returnCode1))
//			{
//				String key1 = JBSbatStringUtil.Rtrim(svcKei_map.getString(JBSbatKK_T_SVC_KEI.SYSID));
//				StringBuffer sb = new StringBuffer();
//				sb.append(" SYSID：" +key1);
//				// 「サービスインターフェイスエラーの場合は、下記のログ出力する。
//				super.logPrint.printBusinessErrorLog(JPCBatchMessageConstant.EKKB0010CW, 
//					new String[]{"AxMに対して会員情報更新依頼CCでエラーが発生しました(リターンコード):" + returnCode1 + sb.toString()});
//			}
//		}
		// ++++++++++ v20.00.01 削除終了 ++++++++++
		
		super.logPrint.printDebugLog("execute_END");
		return null;
	/**▲▲▲▲▲▲業務サービスの主処理を記述してください。▲▲▲▲▲▲*/
	}



	/**
	 * 業務サービス終了処理
	 * @throws Exception
	 */
	public void terminal() throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの終了処理を記述してください。▼▼▼▼▼▼*/
		/**▼▼▼▼▼▼ツールから生成した終了処理のソースです 開始▼▼▼▼▼▼*/
		// DBアクセスクラスをクローズします
		db_KK_T_SVC_KEI.close();
		db_KK_T_SVC_KEI_192.close();
		db_KK_M_WRIB_SVC.close();
		db_KK_M_OLD_ICS_CD_CHG_003.close();
		db_KK_M_OLD_ICS_CD_CHG_004.close();
		db_KK_M_OLD_ICS_CD_CHG_005.close();
		db_KK_T_SVKEIUW_EOH_NET.close();
		db_KK_T_SVKEIUW_EOH_NET2.close();
		db_KK_T_SVC_KEI_UCWK.close();
		db_KK_M_PCRS.close();
		/* ++++++++++ v9.00.00 追加開始 ++++++++++ */
		db_KK_T_SVKEIUW_EOH_TEL.close();
		/* ++++++++++ v9.00.00 追加終了 ++++++++++ */
		/**▲▲▲▲▲▲ツールから生成した終了処理のソースです 終了▲▲▲▲▲▲*/
	/**▲▲▲▲▲▲業務サービスの終了処理を記述してください。▲▲▲▲▲▲*/
	}

	/**▼▼▼▼▼▼ツールから生成したメソッドです 開始▼▼▼▼▼▼*/

	/**
	 * SQLKEY(KK_SELECT_192)で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_192(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());
		paramList.setValue(param[2].toString());

		// DBアクセスを実行します
		db_KK_T_SVC_KEI_192.selectBySqlDefine(paramList, KK_T_SVC_KEI_KK_SELECT_192);
	}

	/**
	 * PK(ＰＫ　検索)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数で条件マップを作ります。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		whereParam:PK項目の(項目、値)を(key、value)として,格納された配列です。PK項目は以下に説明します。
	 *		 	SVC_KEI_NO
	 *		 	GENE_ADD_DTM
	 * </pre>
	 * <p>
	 * @param whereParam 条件項目の値。
	 * @return JBSbatCommonDBInterface 検索の結果。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private JBSbatCommonDBInterface executeKK_T_SVC_KEI_PKSELECT(Object[] whereParam) throws Exception
	{
		// 条件のマップを作成します
		JBSbatCommonDBInterface whereMap = new JBSbatCommonDBInterface();
		whereMap.setValue("SVC_KEI_NO", whereParam[0]);
		whereMap.setValue("GENE_ADD_DTM", whereParam[1]);

		// DBアクセスを実行します
		return db_KK_T_SVC_KEI.selectByPrimaryKeys(whereMap);
	}

	/**
	 * SQLKEY(KK_SELECT_006)で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_006(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.selectBySqlDefine(paramList, KK_M_WRIB_SVC_KK_SELECT_006);
	}

	/**
	 * SQLKEY(KK_SELECT_003)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	料金グループコード
	 *		 	料金コースコード
	 *		 	料金プランコード
	 *		 	即割有無
	 *		 	旧ICSコード変換適用開始年月日
	 *		 	旧ICSコード変換適用終了年月日
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_M_OLD_ICS_CD_CHG_KK_SELECT_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());
		paramList.setValue(param[5].toString());

		// DBアクセスを実行します
		db_KK_M_OLD_ICS_CD_CHG_003.selectBySqlDefine(paramList, KK_M_OLD_ICS_CD_CHG_KK_SELECT_003);
	}

	/**
	 * SQLKEY(KK_SELECT_005)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	料金グループコード
	 *		 	料金コースコード
	 *		 	料金プランコード
	 *		 	旧ICSコード変換適用開始年月日
	 *		 	旧ICSコード変換適用終了年月日
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_M_OLD_ICS_CD_CHG_KK_SELECT_005(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_M_OLD_ICS_CD_CHG_005.selectBySqlDefine(paramList, KK_M_OLD_ICS_CD_CHG_KK_SELECT_005);
	}

	/**
	 * SQLKEY(KK_SELECT_004)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	料金グループコード
	 *		 	旧ICSコード変換適用開始年月日
	 *		 	旧ICSコード変換適用終了年月日
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_M_OLD_ICS_CD_CHG_KK_SELECT_004(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_M_OLD_ICS_CD_CHG_004.selectBySqlDefine(paramList, KK_M_OLD_ICS_CD_CHG_KK_SELECT_004);
	}

	/**
	 * PK(ＰＫ　検索)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数で条件マップを作ります。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		whereParam:PK項目の(項目、値)を(key、value)として,格納された配列です。PK項目は以下に説明します。
	 *		 	SVC_KEI_UCWK_NO
	 *		 	GENE_ADD_DTM
	 * </pre>
	 * <p>
	 * @param whereParam 条件項目の値。
	 * @return JBSbatCommonDBInterface 検索の結果。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private JBSbatCommonDBInterface executeKK_T_SVKEIUW_EOH_NET_PKSELECT(Object[] whereParam) throws Exception
	{
		// 条件のマップを作成します
		JBSbatCommonDBInterface whereMap = new JBSbatCommonDBInterface();
		whereMap.setValue("SVC_KEI_UCWK_NO", whereParam[0]);
		whereMap.setValue("GENE_ADD_DTM", whereParam[1]);

		// DBアクセスを実行します
		return db_KK_T_SVKEIUW_EOH_NET.selectByPrimaryKeys(whereMap);
	}
	
	/**
	 * PK(ＰＫ　検索)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数で条件マップを作ります。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		whereParam:PK項目の(項目、値)を(key、value)として,格納された配列です。PK項目は以下に説明します。
	 *		 	SVC_KEI_UCWK_NO
	 *		 	GENE_ADD_DTM
	 * </pre>
	 * <p>
	 * @param whereParam 条件項目の値。
	 * @return JBSbatCommonDBInterface 検索の結果。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private JBSbatCommonDBInterface executeKK_T_SVKEIUW_EOH_NET_PKSELECT2(Object[] whereParam) throws Exception
	{
		// 条件のマップを作成します
		JBSbatCommonDBInterface whereMap = new JBSbatCommonDBInterface();
		whereMap.setValue("SVC_KEI_UCWK_NO", whereParam[0]);
		whereMap.setValue("GENE_ADD_DTM", whereParam[1]);

		// DBアクセスを実行します
		return db_KK_T_SVKEIUW_EOH_NET2.selectByPrimaryKeys(whereMap);
	}

	/**
	 * PK(ＰＫ　検索)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数で条件マップを作ります。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		whereParam:PK項目の(項目、値)を(key、value)として,格納された配列です。PK項目は以下に説明します。
	 *		 	SVC_KEI_UCWK_NO
	 *		 	GENE_ADD_DTM
	 * </pre>
	 * <p>
	 * @param whereParam 条件項目の値。
	 * @return JBSbatCommonDBInterface 検索の結果。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private JBSbatCommonDBInterface executeKK_T_SVC_KEI_UCWK_PKSELECT(Object[] whereParam) throws Exception
	{
		// 条件のマップを作成します
		JBSbatCommonDBInterface whereMap = new JBSbatCommonDBInterface();
		whereMap.setValue("SVC_KEI_UCWK_NO", whereParam[0]);
		whereMap.setValue("GENE_ADD_DTM", whereParam[1]);

		// DBアクセスを実行します
		return db_KK_T_SVC_KEI_UCWK.selectByPrimaryKeys(whereMap);
	}
	
	/**
	 * SQLKEY(KK_SELECT_006)で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_PCRS_KK_SELECT_006(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());

		// DBアクセスを実行します
		db_KK_M_PCRS.selectBySqlDefine(paramList, KK_M_PCRS_KK_SELECT_006);
	}
	/**▲▲▲▲▲▲ツールから生成したメソッドです 終了▲▲▲▲▲▲*/
	
	/**
	 * 
	 * サービス契約PK検索処理を行います。
	 * 
	 * @param svcKeiNo_217    入力ファイルのサービス契約番号
	 * @param geneAddDtm_217  入力ファイルの世代登録年月日時分秒
	 *
	 * @return svcKei_map  サービス契約検索結果格納マップ
	 * 
	 * 
	 * @throws Exception メソッド内で発生した例外全般。
	 */
	private JBSbatCommonDBInterface selectSvcKei(String svcKeiNo_217, String geneAddDtm_217) throws Exception
	{
		// サービス契約内訳検索結果格納マップ
		JBSbatCommonDBInterface svcKei_map = null;
		
		String[] svcKei_param = new String[2];
		
		// サービス契約検索キー設定
		svcKei_param[0] = svcKeiNo_217;			// サービス契約番号
		svcKei_param[1] = geneAddDtm_217;			// 世代登録年月日
		
		// サービス契約のPK検索を行います
		svcKei_map = executeKK_T_SVC_KEI_PKSELECT(svcKei_param);

		// サービス契約のPK検索結果なしの場合、エラーとし処理中断します
		if (svcKei_map == null)
		{
			throw new JBSbatBusinessException(JPCBatchMessageConstant.EKKB0210CE, 
					new String[]{"サービス契約（PK検索）", "サービス契約番号：" + svcKeiNo_217});
		}
		
		return svcKei_map;

	}
	
	/**
	 * 
	 * サービス契約内訳＜eo光ネット＞PK検索処理を行います。
	 * 
	 * @param newSvcKeiUwNo_217    サービス契約内訳番号
	 * @param newSvcKeiUwGeneAddDtm_217  サービス契約内訳世代登録年月日時分秒
	 *
	 * @return svcKeiUwNet_map  サービス契約内訳＜eo光ネット＞検索結果格納マップ
	 * 
	 * 
	 * @throws Exception メソッド内で発生した例外全般。
	 */
	private String selectNewSvcKeiUwNet(String newSvcKeiUwNo_217, String newSvcKeiUwGeneAddDtm_217) throws Exception
	{
		String newIspNinshoId = "";					// ISP認証ID（新コース）
		
		// サービス契約内訳検索結果格納マップ
		JBSbatCommonDBInterface svcKeiUwNet_map = null;
		
		String[] svcKeiUwNet_param = new String[2];
		
		// サービス契約内訳＜eo光ネット＞検索キー設定
		svcKeiUwNet_param[0] = newSvcKeiUwNo_217;			// サービス契約内訳番号
		svcKeiUwNet_param[1] = newSvcKeiUwGeneAddDtm_217;	// 世代登録年月日
		
		// サービス契約内訳＜eo光ネット＞のPK検索を行います
		svcKeiUwNet_map = executeKK_T_SVKEIUW_EOH_NET_PKSELECT(svcKeiUwNet_param);

		// サービス契約内訳＜eo光ネット＞のPK検索結果なしの場合、エラーとし処理中断します
		if (svcKeiUwNet_map == null)
		{
			throw new JBSbatBusinessException(JPCBatchMessageConstant.EKKB0210CE, 
					new String[]{"サービス契約内訳＜eo光ネット＞（新コース）（PK検索）", "サービス契約内訳番号：" + newSvcKeiUwNo_217});
		}
		// サービス契約内訳＜eo光ネット＞のPK検索結果が有る場合
		else
		{
			// ISP認証ID取得
			newIspNinshoId = JBSbatStringUtil.Rtrim(svcKeiUwNet_map.getString(JBSbatKK_T_SVKEIUW_EOH_NET.ISP_NINSHO_ID));
		}
		
		return newIspNinshoId;
	}
	
	/**
	 * 
	 * サービス契約内訳＜eo光ネット＞（旧コース）PK検索処理を行います。
	 * 
	 * @param oldSvcKeiUwNo_217    サービス契約内訳番号
	 * @param oldSvcKeiUwGeneAddDtm_217  サービス契約内訳世代登録年月日時分秒
	 *
	 * @return oldIspNinshoId  ISP認証ID
	 * 
	 * 
	 * @throws Exception メソッド内で発生した例外全般。
	 */
	private String selectOldSvcKeiUwNet(String oldSvcKeiUwNo_217, String oldSvcKeiUwGeneAddDtm_217) throws Exception
	{
		String oldIspNinshoId = "";					// ISP認証ID（旧コース）
		
		// サービス契約内訳検索結果格納マップ
		JBSbatCommonDBInterface svcKeiUwNet_map = null;
		
		String[] svcKeiUwNet_param = new String[2];
		
		// サービス契約内訳＜eo光ネット＞検索キー設定
		svcKeiUwNet_param[0] = oldSvcKeiUwNo_217;			// サービス契約内訳番号
		svcKeiUwNet_param[1] = oldSvcKeiUwGeneAddDtm_217;	// 世代登録年月日
		
		// サービス契約内訳＜eo光ネット＞のPK検索を行います
		svcKeiUwNet_map = executeKK_T_SVKEIUW_EOH_NET_PKSELECT2(svcKeiUwNet_param);

		// サービス契約内訳＜eo光ネット＞のPK検索結果なしの場合、エラーとし処理中断します
		if (svcKeiUwNet_map == null)
		{
			throw new JBSbatBusinessException(JPCBatchMessageConstant.EKKB0210CE, 
					new String[]{"サービス契約内訳＜eo光ネット＞（旧コース）（PK検索）", "サービス契約内訳番号：" + oldSvcKeiUwNo_217});
		}
		// サービス契約内訳＜eo光ネット＞のPK検索結果が有る場合
		else
		{
			// ISP認証ID取得
			oldIspNinshoId = JBSbatStringUtil.Rtrim(svcKeiUwNet_map.getString(JBSbatKK_T_SVKEIUW_EOH_NET.ISP_NINSHO_ID));
		}
		
		return oldIspNinshoId;
	}
	
	/**
	 * 
	 * 割引サービスの検索処理を行います。
	 * 
	 * @param  svcKeiNo    サービス契約番号の値
	 * 
	 * @return wribTypeCd 割引タイプコード
	 * @throws Exception   業務サービス内で発生した例外全般。
	 */
	private String selectWribSvc(String svcKeiNo) throws Exception
	{
		// 割引タイプコード
		String wribTypeCd = "";
		
		// SQL実行結果取得値格納用（割引サービス取得）
		JBSbatCommonDBInterface wribSvcMap_006 = null; 
		
		String [] whereParam = {this.opeDate, this.opeDate, svcKeiNo, this.opeDate};
		
		// 割引サービス検索実行
		executeKK_M_WRIB_SVC_KK_SELECT_006(whereParam);
		
		// 割引サービス検索結果の次レコード取得
		wribSvcMap_006 = db_KK_M_WRIB_SVC.selectNext();
					
		// 割引サービス検索結果が「null」の場合
		if(wribSvcMap_006 == null)
		{
			wribTypeCd = "";
		}
		// 割引サービス検索結果数が有る場合
		else
		{
			// 割引サービス検索結果が「null」でない間の繰り返し
			while (wribSvcMap_006 != null)
			{
				wribTypeCd = JBSbatStringUtil.Rtrim(
						wribSvcMap_006.getString(JBSbatKK_M_WRIB_SVC.WRIB_TYPE_CD));		// 割引タイプコード
				
				
				wribSvcMap_006 = db_KK_M_WRIB_SVC.selectNext();
			}
		}
		
		
		// ログレベルがデバッグモードの場合
		if(super.logPrint.chkLogLevel(JBSbatLogUtil.MODE_DEBUG))
		{
			super.logPrint.printDebugLog("割引サービス検索（割引タイプコード）：" +  wribTypeCd);
		}
		return wribTypeCd;
	}
	
	/**
	 * 
	 * 旧ＩＣＳコード変換の検索処理を行います。
	 * 
	 * @param  svcKei_map    サービス契約検索結果格納マップ
	 * @param  sokuWariUm    即割有無
	 * 
	 * @return oldIcsCdChgMap_003 旧ＩＣＳコード変換マップ
	 * 
	 * @throws Exception   業務サービス内で発生した例外全般。
	 */
	private JBSbatCommonDBInterface selectOldIcsCdChg003(JBSbatCommonDBInterface svcKei_map, String sokuWariUm) throws Exception
	{
		//料金グループコード
		String prcGrpCd = "";
		
		//料金コースコード
		String pcrsCd = "";
		
		//料金プランコード
		String pplanCd = "";
		
		prcGrpCd = JBSbatStringUtil.Rtrim(svcKei_map.getString(JBSbatKK_T_SVC_KEI.PRC_GRP_CD));
		
		pcrsCd = JBSbatStringUtil.Rtrim(svcKei_map.getString(JBSbatKK_T_SVC_KEI.PCRS_CD));
		
		pplanCd = JBSbatStringUtil.Rtrim(svcKei_map.getString(JBSbatKK_T_SVC_KEI.PPLAN_CD));
		
		// ログレベルがデバッグモードの場合
		if(super.logPrint.chkLogLevel(JBSbatLogUtil.MODE_DEBUG))
		{
			super.logPrint.printDebugLog("★★★旧ＩＣＳコード変換検索003パラメータ★★★");
			super.logPrint.printDebugLog("料金グループコード：" +  prcGrpCd);
			super.logPrint.printDebugLog("料金コースコード：" +  pcrsCd);
			super.logPrint.printDebugLog("料金プランコード：" +  pplanCd);
			super.logPrint.printDebugLog("即割有無：" +  sokuWariUm);
			super.logPrint.printDebugLog("運用日：" +  this.opeDate);
		}
		
		// SQL実行結果取得用mapを生成（旧ＩＣＳコード変換スキーマ取得）
		JBSbatCommonDBInterface oldIcsCdChgMap_003 = new JBSbatCommonDBInterface(); 
		
		String [] whereParam = {prcGrpCd, pcrsCd, pplanCd, sokuWariUm, this.opeDate, this.opeDate};
		
		// 旧ＩＣＳコード変換検索実行
		executeKK_M_OLD_ICS_CD_CHG_KK_SELECT_003(whereParam);
		
		// 旧ＩＣＳコード変換検索結果の次レコード取得
		oldIcsCdChgMap_003 = db_KK_M_OLD_ICS_CD_CHG_003.selectNext();
					
		// 旧ＩＣＳコード変換検索結果が「null」の場合
		if(oldIcsCdChgMap_003 == null)
		{
			// 検索結果が無い場合は「指示書登録」処理無しで、エラーとし処理中断します
			String noDataMsg = "検索結果（SQL定義キー[KK_SELECT_003]、料金グループコード["
				+ prcGrpCd + "]、料金コースコード[" +  pcrsCd + "]、料金プランコード[" 
				+  pplanCd + "]、即割有無[" +  sokuWariUm + "]、運用日[" +  this.opeDate + "]）";
			throw new JBSbatBusinessException(JPCBatchMessageConstant.EKKB0210CE, 
					new String[]{"旧ＩＣＳコード変換（KK_M_OLD_ICS_CD_CHG）", noDataMsg});
		}
		// 旧ＩＣＳコード変換検索結果数が有る場合
		else
		{
			super.logPrint.printDebugLog("旧ＩＣＳコード変換検索003結果有");
		}
		
		return oldIcsCdChgMap_003;
	}
	
	/**
	 * 
	 * 旧ＩＣＳコード変換の検索処理を行います。
	 * 
	 * @param  svcKei_map    サービス契約検索結果格納マップ
	 * 
	 * @return oldIcsCdChgMap_005 旧ＩＣＳコード変換マップ
	 * 
	 * @throws Exception   業務サービス内で発生した例外全般。
	 */
	private JBSbatCommonDBInterface selectOldIcsCdChg005(JBSbatCommonDBInterface svcKei_map) throws Exception
	{
		//料金グループコード
		String prcGrpCd = "";
		
		//料金コースコード
		String pcrsCd = "";
		
		//料金プランコード
		String pplanCd = "";
		
		prcGrpCd = JBSbatStringUtil.Rtrim(svcKei_map.getString(JBSbatKK_T_SVC_KEI.PRC_GRP_CD));
		
		pcrsCd = JBSbatStringUtil.Rtrim(svcKei_map.getString(JBSbatKK_T_SVC_KEI.PCRS_CD));
		
		pplanCd = JBSbatStringUtil.Rtrim(svcKei_map.getString(JBSbatKK_T_SVC_KEI.PPLAN_CD));
		
		// ログレベルがデバッグモードの場合
		if(super.logPrint.chkLogLevel(JBSbatLogUtil.MODE_DEBUG))
		{
			super.logPrint.printDebugLog("★★★旧ＩＣＳコード変換検索005パラメータ★★★");
			super.logPrint.printDebugLog("料金グループコード：" +  prcGrpCd);
			super.logPrint.printDebugLog("料金コースコード：" +  pcrsCd);
			super.logPrint.printDebugLog("料金プランコード：" +  pplanCd);
			super.logPrint.printDebugLog("運用日：" +  this.opeDate);
		}
		
		// SQL実行結果取得用mapを生成（旧ＩＣＳコード変換スキーマ取得）
		JBSbatCommonDBInterface oldIcsCdChgMap_005 = new JBSbatCommonDBInterface(); 
		
		String [] whereParam = {prcGrpCd, pcrsCd, pplanCd, this.opeDate, this.opeDate};
		
		// 旧ＩＣＳコード変換検索実行
		executeKK_M_OLD_ICS_CD_CHG_KK_SELECT_005(whereParam);
		
		// 旧ＩＣＳコード変換検索結果の次レコード取得
		oldIcsCdChgMap_005 = db_KK_M_OLD_ICS_CD_CHG_005.selectNext();
					
		// 旧ＩＣＳコード変換検索結果が「null」の場合
		if(oldIcsCdChgMap_005 == null)
		{
			// 検索結果が無い場合は「指示書登録」処理無しで、エラーとし処理中断します
			String noDataMsg ="検索結果（SQL定義キー[KK_SELECT_005]、料金グループコード["
			+ prcGrpCd + "]、 料金コースコード[" +  pcrsCd + "]、料金プランコード[" 
			+  pplanCd + "]、運用日[" +  this.opeDate + "]）";
			throw new JBSbatBusinessException(JPCBatchMessageConstant.EKKB0210CE, 
					new String[]{"旧ＩＣＳコード変換（KK_M_OLD_ICS_CD_CHG）", noDataMsg});
		}
		// 旧ＩＣＳコード変換検索結果数が有る場合
		else
		{
			super.logPrint.printDebugLog("旧ＩＣＳコード変換検索005結果有");
		}
		
		return oldIcsCdChgMap_005;
	}
	
	/**
	 * 
	 * 旧ＩＣＳコード変換の検索処理を行います。
	 * 
	 * @param  svcKei_map    サービス契約検索結果格納マップ
	 * 
	 * @return oldIcsCdChgMap_004 旧ＩＣＳコード変換マップ
	 * 
	 * @throws Exception   業務サービス内で発生した例外全般。
	 */
	private JBSbatCommonDBInterface selectOldIcsCdChg004(JBSbatCommonDBInterface svcKei_map) throws Exception
	{
		//料金グループコード
		String prcGrpCd = "";
		
		prcGrpCd = JBSbatStringUtil.Rtrim(svcKei_map.getString(JBSbatKK_T_SVC_KEI.PRC_GRP_CD));
		
		// ログレベルがデバッグモードの場合
		if(super.logPrint.chkLogLevel(JBSbatLogUtil.MODE_DEBUG))
		{
			super.logPrint.printDebugLog("★★★旧ＩＣＳコード変換検索004パラメータ★★★");
			super.logPrint.printDebugLog("料金グループコード：" +  prcGrpCd);
			super.logPrint.printDebugLog("運用日：" +  this.opeDate);
		}
		
		// SQL実行結果取得用mapを生成（旧ＩＣＳコード変換スキーマ取得）
		JBSbatCommonDBInterface oldIcsCdChgMap_004 = new JBSbatCommonDBInterface(); 
		
		String [] whereParam = {prcGrpCd, this.opeDate, this.opeDate};
		
		// 旧ＩＣＳコード変換検索実行
		executeKK_M_OLD_ICS_CD_CHG_KK_SELECT_004(whereParam);
		
		// 旧ＩＣＳコード変換検索結果の次レコード取得
		oldIcsCdChgMap_004 = db_KK_M_OLD_ICS_CD_CHG_004.selectNext();
					
		// 旧ＩＣＳコード変換検索結果が「null」の場合
		if(oldIcsCdChgMap_004 == null)
		{
			// 検索結果が無い場合は「指示書登録」処理無しで、エラーとし処理中断します
			String noDataMsg = "検索結果（SQL定義キー[KK_SELECT_004]、料金グループコード["
			+ prcGrpCd + "]、運用日[" +  this.opeDate + "]）";
			throw new JBSbatBusinessException(JPCBatchMessageConstant.EKKB0210CE, 
					new String[]{"旧ＩＣＳコード変換（KK_M_OLD_ICS_CD_CHG）", noDataMsg});
		}
		// 旧ＩＣＳコード変換検索結果数が有る場合
		else
		{
			super.logPrint.printDebugLog("旧ＩＣＳコード変換検索004結果有");
		}
		
		return oldIcsCdChgMap_004;
	}
	
	/**
	 * 
	 * サービス契約内訳PK検索処理を行います。
	 * 
	 * @param newSvcKeiUwNo_217    サービス契約内訳番号
	 * @param newSvcKeiUwGeneAddDtm_217  サービス契約内訳の世代登録年月日時分秒
	 *
	 * @return svcKeiUw_map  サービス契約内訳検索結果格納マップ
	 * 
	 * 
	 * @throws Exception メソッド内で発生した例外全般。
	 */
	private JBSbatCommonDBInterface selectSvcKeiUw(String newSvcKeiUwNo_217, String newSvcKeiUwGeneAddDtm_217) throws Exception
	{
		// サービス契約内訳検索結果格納マップ
		JBSbatCommonDBInterface svcKeiUw_map = null;
		
		String[] svcKeiUw_param = new String[2];
		
		// サービス契約内訳検索キー設定
		svcKeiUw_param[0] = newSvcKeiUwNo_217;					// サービス契約内訳番号
		svcKeiUw_param[1] = newSvcKeiUwGeneAddDtm_217;			// 世代登録年月日
		
		// サービス契約内訳のPK検索を行います
		svcKeiUw_map = executeKK_T_SVC_KEI_UCWK_PKSELECT(svcKeiUw_param);

		// サービス契約内訳のPK検索結果なしの場合、エラーとし処理中断します
		if (svcKeiUw_map == null)
		{
			throw new JBSbatBusinessException(JPCBatchMessageConstant.EKKB0210CE, 
					new String[]{"サービス契約内訳（PK検索）", "サービス契約内訳番号：" + newSvcKeiUwNo_217});
		}
		
		return svcKeiUw_map;

	}
	
	/**
	 * サービス契約テーブルの検索を行います。(KK_SELECT_192)
	 * <br>
	 * @param svcKeiNo_217  サービス契約番号
	 * @param geneAddDtm_217    世代年月日時分秒
	 * 
	 * @return JBSbatCommonDBInterface 入出力インターフェースオブジェクト。
	 * @throws Exception 
	 */
	private JBSbatCommonDBInterface selectSvcKei192(String svcKeiNo_217, String geneAddDtm_217) throws Exception
	{
		// サービス契約を検索して住所変更新設情報を取得します。
		// サービス契約情報検索条件項目を設定します。
		Object[] paramList = new Object[3];
		
		paramList[0] = svcKeiNo_217;		// サービス契約番号
		paramList[1] = geneAddDtm_217;		// 世代登録年月日自分秒
		paramList[2] = super.opeDate;		// 運用日
		
		super.logPrint.printDebugLog("paramList[0]：" + paramList[0]);
		super.logPrint.printDebugLog("paramList[1]：" + paramList[1]);
		super.logPrint.printDebugLog("paramList[2]：" + paramList[2]);
		
		// サービス契約情報検索処理を実行します。
		executeKK_T_SVC_KEI_KK_SELECT_192(paramList);
		
		// 検索結果を取得します。
		JBSbatCommonDBInterface outDbMap = db_KK_T_SVC_KEI_192.selectNext();
		
		return outDbMap;
	}
	
	/**                                                                                                     
	 * 文字列がnullか判定する
	 * <br>
	 * @param arg0 判定する文字列
	 * @return 文字列がNullか空文字のときtrue
	 */
	private static boolean isEmpty(String arg0) 
	{
		if (arg0 == null || "".equals(arg0)) 
		{
			return true;
		}
		return false;
	}
	
	/**
	 * 料金コースコードより、ID通知書発行識別コードが
	 * "0:発行しない"の情報を取得します。
	 * <br>
	 * @param pcrsCd 料金コースコード
	 * @throws Exception 
	 */
	private boolean checkIdTchishoHakSkbtCd(String pcrsCd) throws Exception
	{
		executeKK_M_PCRS_KK_SELECT_006(new Object[]{pcrsCd, opeDate});
		
		JBSbatCommonDBInterface dbMap = db_KK_M_PCRS.selectNext();
		
		// 検索結果あり
		if(null != dbMap)
		{
			return true;
		}
		
		return false;
	}
	
	/**                                                                                                     
	 * 指定の料金グループコードか判定する
	 * <br>
	 * @param prcGrpCd 判定する文字列
	 * @return 指定の文字列の場合は、「true」、それ以外は「false」
	 */
	private static boolean prcGrpCdCheck(String prcGrpCd) 
	{
		boolean flg = false;
		
		if (prcGrpCd == null || "".equals(prcGrpCd)) 
		{
			return false;
		}
		
		// サービス契約検索結果．料金グループコードが「"02"（ｅｏ光ネットホームタイプ）、"03"（ｅｏ光ネットメゾンタイプ）の場合
		// ++++++++++ v20.00.00 変更開始 ++++++++++
		// if ("02".equals(prcGrpCd) || ("03".equals(prcGrpCd)))
		if (JBSbatKKConst.PGRP_NET_02.equals(prcGrpCd) || (JBSbatKKConst.PGRP_NET_03.equals(prcGrpCd)))
		// ++++++++++ v20.00.00 変更終了 ++++++++++
		{
			flg = true;
		}
		//  "07"（ｅｏモバイル（Ｗｉ−Ｆｉ））、"08"（ｅｏモバイル（ＥＭ））、"09"（ｅｏモバイル（ＵＱ−ＷｉＭＡＸ））の場合
		// ++++++++++ v20.00.00 変更開始 ++++++++++
		// else if ("07".equals(prcGrpCd) || "08".equals(prcGrpCd) || "09".equals(prcGrpCd))
		else if (JBSbatKKConst.PGRP_MOB_07.equals(prcGrpCd) || JBSbatKKConst.PGRP_MOB_08.equals(prcGrpCd) || JBSbatKKConst.PGRP_MOB_09.equals(prcGrpCd))
		// ++++++++++ v20.00.00 変更終了 ++++++++++
		{
			flg = true;
		}
		// 上記以外の場合
		else
		{
			flg = false;
		}
		
		return flg;
	}
	/* ++++++++++ v9.00.00 追加開始 ++++++++++ */
	/** 
	 * 電話の旧ＩＣＳサービス契約コードを取得
	 * <br>
	 * @param svcKeiMap サービス契約検索結果
	 * @param telNoJun 電話番号順番
	 * @return 旧ICS不可サービス種別コード
	 */
	private String getTelOldIcsSvcKeiCd(JBSbatCommonDBInterface svcKeiMap, String telNoJun) throws Exception
	{
		JBSbatCommonDBInterface oldIcsCdChgMap_005 = selectOldIcsCdChg005(svcKeiMap);
		// サービス契約検索結果マップ且つ、旧ICSコード変換検索結果マップにデータが有る場合
		if (null != oldIcsCdChgMap_005)
		{
			// 旧ICS付加サービス種別コード取得
			String oldIcsHukaSvcSbtCd = JBSbatStringUtil.Rtrim(oldIcsCdChgMap_005.getString(JBSbatKK_M_OLD_ICS_CD_CHG.OLD_ICS_HUKA_SVC_SBT_CD));
			
			StringBuffer value = new StringBuffer();
			value.append(oldIcsHukaSvcSbtCd); // 旧ICS付加サービス種別コード
			value.append(modTelNoJun(telNoJun)); // 電話番号順
			return value.toString();
		}
		// 結果なしは空文字
		return "";
	}
	
	/**
	 * 引数の下3桁（0埋め）を返却する
	 * 
	 * @param telNoJun
	 * @return
	 */
	private String modTelNoJun(String telNoJun)
	{
		int wk = 0;
		if (!JKKStringUtil.isNullBlank(telNoJun))
		{
			wk = Integer.parseInt(telNoJun);
		}
		return String.format("%09d", wk).substring(6, 9);
	}
	
	/**
	 * サービス契約内訳＜ｅｏ光電話＞一覧検索結果取得
	 * @param svcKeiMap サービス契約検索結果
	 * @return サービス契約内訳＜ｅｏ光電話＞一覧検索結果
	 * @throws Exception
	 */
	private ArrayList<JBSbatCommonDBInterface> getSvcKeiUcwkTelIcrn(JBSbatCommonDBInterface svcKeiMap) throws Exception
	{
		
		String svcKeiNo = JBSbatStringUtil.Rtrim(svcKeiMap.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_NO));
		
		// ログレベルがデバッグモードの場合
		if(super.logPrint.chkLogLevel(JBSbatLogUtil.MODE_DEBUG))
		{
			super.logPrint.printDebugLog("★★★KK_T_SVKEIUW_EOH_TEL_KK_SELECT_046パラメータ★★★");
			super.logPrint.printDebugLog("サービス契約番号：" +  svcKeiNo);
			super.logPrint.printDebugLog("運用日：" +  this.opeDate);
		}
		
		// SQL実行結果取得用mapを生成（サービス契約内訳＜ｅｏ光電話＞スキーマ取得）
		String [] whereParam = {svcKeiNo, this.opeDate};
		
		// サービス契約内訳＜ｅｏ光電話＞検索実行
		executeKK_T_SVKEIUW_EOH_TEL_KK_SELECT_046(whereParam);
		
		// 旧ＩＣＳコード変換検索結果の次レコード取得
		JBSbatCommonDBInterface svkeiUcwkTelMap_046 = db_KK_T_SVKEIUW_EOH_TEL.selectNext();
		
		// 検索結果をArrayListに格納して返却
		ArrayList<JBSbatCommonDBInterface> rtnList = new ArrayList<JBSbatCommonDBInterface>();
		while(null != svkeiUcwkTelMap_046)
		{
			rtnList.add(svkeiUcwkTelMap_046);
			svkeiUcwkTelMap_046 = db_KK_T_SVKEIUW_EOH_TEL.selectNext();
		}
		return rtnList;
	}
	
	/**
	 * 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_SVKEIUW_EOH_TEL_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_SVKEIUW_EOH_TEL.selectBySqlDefine(paramList, KK_T_SVKEIUW_EOH_TEL_KK_SELECT_046);
	}
	/* ++++++++++ v9.00.00 追加終了 ++++++++++ */
}
