/********************************************************************
 *  All Rights reserved,Copyright (c) K-Opticom
 ********************************************************************
 *＜プログラム内容＞
 *  システム名      ：eo顧客基幹システム
 *  モジュール名    ：住所変更登録コモンコンポーネント共通ロジッククラス
 *  ソースファイル名：JKKAdchgCmnLogicCC.java
 *  作成者          ：FJ
 *  日付            ：2011年11月05日
 *＜機能概要＞
 *  住所変更登録コモンコンポーネント部品における共通ロジッククラス。
 *＜修正履歴＞
 *  バージョン  修正日      修正者      修正内容
 *  v1.00.00    2011/11/11  FJ          新規作成
 * v23.00.00    2015/12/16  FJ) 澤田   【ANK-2612-00-00】１０Ｇコース導入対応
 * v25.00.00	2016/02/23	FJ) 澤田	ANK-2530-00-00 TV新コースおよびVOD導入
 * v55.00.00	2021/10/21	FJ) 西窪	ANK-4146-00-00 【eo定期】多機能ルーター枯渇対応 STEP2
 * v71.00.00	2024/06/19	GDC)JN.Franco	【ANK-4590-00-00：【eo】 HGW導入フォロー対応 ３】
 * v73.00.00	2024/10/04	FJ)柴田		【ANK-4493-00-00】光配線マンションのコースアップ対応
 ********************************************************************/
package com.fujitsu.futurity.bp.custom.common;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;

import com.fujitsu.futurity.bp.custom.constant.JKKAdchgConstCC;
import com.fujitsu.futurity.bp.custom.constant.JKKKojiAnkenConstCC;
import com.fujitsu.futurity.bp.custom.constant.KKSV0098_KKSV0098OP;
import com.fujitsu.futurity.bp.custom.constant.JKKAdchgConstCC.PCRS_CD;
import com.fujitsu.futurity.bp.custom.constant.JKKAdchgConstCC.PPLAN_CD;
import com.fujitsu.futurity.bp.custom.constant.JKKAdchgConstCC.TAKNKIKI_SBT;
import com.fujitsu.futurity.bp.custom.constant.JKKAdchgConstCC.TK_MDL_CD;
import com.fujitsu.futurity.bp.x21.bpm.ServiceComponentRequestInvoker;
import com.fujitsu.futurity.bp.x21.bpm.db.SessionHandle;
import com.fujitsu.futurity.bp.x21.bpm.exception.RequestParameterException;
import com.fujitsu.futurity.bp.x21.bpm.parameter.IRequestParameterReadWrite;
import com.fujitsu.futurity.bp.x21.cc.exception.CCException;
import com.fujitsu.futurity.bp.x21.sc.exception.SCException;
import com.fujitsu.futurity.model.ejb.common.JSYejbLog;
import com.sun.enterprise.tools.common.util.StringUtils;

import eo.ejb.cbs.cbsmsg.EKK0081A010CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0081C040CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0081C110CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0091C040CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0101C040CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0111C040CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0161A010CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0161B004CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0161C080CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0161C110CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0161C111CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0161C180CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0171A010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0171A010CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0171C040CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0171C050CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0171D010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0181A010CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0181C050CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0181C051CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0181D010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0191C060CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0241A010CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0251A010CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0251B003CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0251C030CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0251D010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0251D010CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0341A010CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0341B501CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0341C191CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0341C200CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0341C220CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0341C230CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0341C290CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0341C320CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0341C340CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0341C350CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0341D010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0351A010CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0351B002CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0351C030CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0351C050CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0351C240CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0361A010CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0361C050CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0361D010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0371A010CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0371C050CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0381A010CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0381C050CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0401A010CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0401B001CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0401C030CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0401C170CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0411A010CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0411C010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0411D010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0421A010CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0421C050CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0431A010CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0431C050CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0441A010CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0441B001CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0441C130CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0451A010CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0451B002CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0451D010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0451D010CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0491A010CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0491B005CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0491C060CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0791B003CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0801B001CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0841A010CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0851B001CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0851B001CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK1651B001CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK2041B501CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EZM0411A010CBSMsg1List;

//●● 巻@-２ 対応 END

/**
 * 住所変更登録コモンコンポーネント共通ロジッククラス.
 * <br>
 * @author FJ
 */
public class JKKAdchgCmnLogicCC {

	/** セッションハンドル保持域 */
	SessionHandle keepSesHandle = null;

// ●● UI残 仕様整理対応 START
	/** 設置ルーターコード ベーシックルータ */
	public static final String ROUTER_BASIC = "0";
	/** 設置ルーターコード 無線ルータ */
	public static final String ROUTER_MUSEN = "1";
	/** 設置ルーターコード なし */
	public static final String ROUTER_NONE = "2";
	
	/** 宅内機器型式コード ベーシックルータ(100M) */
	public static final String TAKNKIKI_MODEL_CD_BBR_100M = "BAR100M01";
	/** 宅内機器型式コード ベーシックルータ(1G) */
	public static final String TAKNKIKI_MODEL_CD_BBR_1G = "BAR1G01";
	/** 宅内機器型式コード 無線ルータ(100M) */
	public static final String TAKNKIKI_MODEL_CD_WLR_100M = "WR8150NEO";
	/** 宅内機器型式コード 無線ルータ(1G) */
	public static final String TAKNKIKI_MODEL_CD_WLR_1G = "WR8300NEO";
// ●● UI残 仕様整理対応 END
	
// ●● 巻@-1 対応 START
	/** 料金コースコード（A03） */
	private static final String PCRS_CD_A03 = "A03";
	/** 料金コースコード（A04） */
	private static final String PCRS_CD_A04 = "A04";
	/** 料金コースコード（A05） */
	private static final String PCRS_CD_A05 = "A05";
	/** 料金コースコード（A06） */
	private static final String PCRS_CD_A06 = "A06";
	/** 料金コースコード（A07） */
	private static final String PCRS_CD_A07 = "A07";
	/** 料金コースコード（A08） */
	private static final String PCRS_CD_A08 = "A08";
	/** 料金コースコード（A09） */
	private static final String PCRS_CD_A09 = "A09";
	/** 料金コースコード（A10） */
	private static final String PCRS_CD_A10 = "A10";
	/** 料金コースコード（A11） */
	private static final String PCRS_CD_A11 = "A11";
	/** 料金コースコード (A47) */
	private static final String PCRS_CD_A47 = "A47";
	/** 料金コースコード (A48) */
	private static final String PCRS_CD_A48 = "A48";
	/** 料金コースコード (A49) */
	private static final String PCRS_CD_A49 = "A49";
	/** 料金コースコード (A50) */
	private static final String PCRS_CD_A50 = "A50";
	/** 料金コースコード (A51) */
	private static final String PCRS_CD_A51 = "A51";
	/** 料金コースコード (A52) */
	private static final String PCRS_CD_A52 = "A52";
	/** 料金コースコード (A53) */
	private static final String PCRS_CD_A53 = "A53";
	/** 料金コースコード (A54) */
	private static final String PCRS_CD_A54 = "A54";
	/** 料金コースコード (A55) */
	private static final String PCRS_CD_A55 = "A55";
	/** 料金コースコード (A56) */
	private static final String PCRS_CD_A56 = "A56";
	/** 料金コースコード (A57) */
	private static final String PCRS_CD_A57 = "A57";
// IT1-2013-0001291対応 20130627 OKU ADD START
	/** 料金コースコード (A67) */
	private static final String PCRS_CD_A67 = "A67";
	/** 料金コースコード (A68) */
	private static final String PCRS_CD_A68 = "A68";
	/** 料金コースコード (A69) */
	private static final String PCRS_CD_A69 = "A69";
	/** 料金コースコード (A70) */
	private static final String PCRS_CD_A70 = "A70";
	/** 料金コースコード (A71) */
	private static final String PCRS_CD_A71 = "A71";
	// ANK-4493-00-00 ADD START
	/** 料金コースコード (A74) */
	private static final String PCRS_CD_A74 = "A74";
	// ANK-4493-00-00 ADD END
	/** 料金コースコード (A79) */
	private static final String PCRS_CD_A79 = "A79";
	/** 料金コースコード (A80) */
	private static final String PCRS_CD_A80 = "A80";
// IT1-2013-0001291対応 20130627 OKU ADD END
	
	// ANK-2612-00-00 2015/12/22 ADD START
	/** 料金コースコード (A83) １０ギガコース*/
	private static final String PCRS_CD_A83 = "A83";
	/** 料金コースコード (A84) メゾンタイプ１０ギガ*/
	private static final String PCRS_CD_A84 = "A84";
	// ANK-2612-00-00 2015/12/22 ADD START

/* ★★★ ロット@−IT1テスト 障害No.10 ADD 2012.06.25 H.MORITA START ★★★ */
	private static final String[] PCRS_CD_100M_ARRAY = new String[]{PCRS_CD_A03, PCRS_CD_A04, PCRS_CD_A06, PCRS_CD_A08, PCRS_CD_A09};
/* ★★★ ロット@−IT1テスト 障害No.10 ADD 2012.06.25 H.MORITA END ★★★ */

	/** 機器提供料金サービスコード (C22) */
	private static final String PCRS_CD_C22 = "C22";
	/** 機器提供料金サービスコード (C23) */
	private static final String PCRS_CD_C23 = "C23";
	/** 機器提供料金サービスコード (C24) */
	private static final String PCRS_CD_C24 = "C24";
	/** 機器提供料金サービスコード (C25) */
	private static final String PCRS_CD_C25 = "C25";
// IT1-2013-0001133対応 20130505 星野 ADD START
	/** 機器提供料金サービスコード (C42) */
	private static final String PCRS_CD_C42 = "C42";
// IT1-2013-0001133対応 20130505 星野 ADD END
	// ANK-4146-00-00 ADD START
	/** 機器提供料金サービスコード (CA6) */
	private static final String PCRS_CD_CA6 = "CA6";
	// ANK-4146-00-00 ADD END

	/** 料金コース速度コード（100M） */
	private static final String PCRS_SPEED_CD_100M = "01";
	/** 料金コース速度コード（200M） */
	private static final String PCRS_SPEED_CD_200M = "03";
	/** 料金コース速度コード（1G） */
	private static final String PCRS_SPEED_CD_1G = "04";

	/** 宅内機器種別コード（ルーター） */
	public static final String TAKNKIKI_SBT_CD_F0 = "F0";
	/** 宅内機器種別コード（ＶＡ） */
	public static final String TAKNKIKI_SBT_CD_50 = "50";
// ●● 巻@-1 対応 END

	/**
	 * コンストラクタ.
	 *   引数無しコンストラクタは例外を送出
	 * <br>
	 */
	public JKKAdchgCmnLogicCC() throws Exception {
		throw new CCException( JKKAdchgConstCC.ERR_STR_RESULT_CD, new Exception() );
	}

	/**
	 * コンストラクタ.
	 * @param handle   セッションマネージャなどを持ったハンドル情報
	 * <br>
	 */
	public JKKAdchgCmnLogicCC( SessionHandle handle ) {

		/** リソース保持 */
		// セッションハンドルをローカル変数に保持
		keepSesHandle = handle;
	}

	/**
	 * リソース解放処理.
	 * <dd>本クラスに保持しているリソースを解放する.
	 */
	public void destroy() {
		/** リソース解放 */
		// セッションハンドル保持域へnullを設定
		keepSesHandle = null;
	}

	// ▼▼▼ 2012-02-21 IT1-2012-0000297 ADD ▼▼▼
	/** 住所項目_契約者 */
	private static final String[] AD_KMK_KSH = {
		"keisha_state_nm",
		"keisha_city_nm",
		"keisha_oaztsu_nm",
		"keisha_azcho_nm",
		"keisha_bnchigo",
		"keisha_adrttm",
		"keisha_adrrm"
	};
	
// IT1-2012-0000866 2012/06/28 T.SAKAMOTO ADD START
	/** 住所項目_請求所送付先（EKK0491A010CBSMsg1List） */
	private static final String[] AD_SOHUS = {
		// 送付先_都道府県名
		EKK0491A010CBSMsg1List.SOHUS_STATE_NM,
		// 送付先_市区町村名
		EKK0491A010CBSMsg1List.SOHUS_CITY_NM,
		// 送付先_大字通称名
		EKK0491A010CBSMsg1List.SOHUS_OAZTSU_NM,
		// 送付先_字丁目名
		EKK0491A010CBSMsg1List.SOHUS_AZCHO_NM,
		// 送付先_番地・号
		EKK0491A010CBSMsg1List.SOHUS_BNCHIGO,
		// 送付先_建物名
		EKK0491A010CBSMsg1List.SOHUS_ADRTTM,
		// 送付先_部屋番号
		EKK0491A010CBSMsg1List.SOHUS_ADRRM,
	};
	
	/** 住所項目_移転先（paramMap） */
	private static final String[] AD_ITNS = {
		// 移転先_都道府県
		JKKAdchgConstCC.PARAM_KEY_ITENS_AD_STATE,
		// 移転先_市区町村
		JKKAdchgConstCC.PARAM_KEY_ITENS_AD_CITY,
		// 移転先_大字通称名
		JKKAdchgConstCC.PARAM_KEY_ITENS_AD_OAZTSU,
		// 移転先_字丁目
		JKKAdchgConstCC.PARAM_KEY_ITENS_AD_AZCHO,
		// 移転先_番地・号
		JKKAdchgConstCC.PARAM_KEY_ITENS_AD_BNCHIGO,
		// 移転先_建物名
		JKKAdchgConstCC.PARAM_KEY_ITENS_AD_ADRTTM,
		// 移転先_部屋番号
		JKKAdchgConstCC.PARAM_KEY_ITENS_AD_ADRRM,
	};
// IT1-2012-0000866 2012/06/28 T.SAKAMOTO ADD END
	
// ST1-2012-0000760 未使用変数を削除 2012/06/22 T.SAKAMOTO DEL START
//	/** 住所項目_(機器)送付先 */
//	private static final String[] AD_KMK_SHS = {
//		"kiki_sohus_state_nm",
//		"kiki_sohus_city_nm",
//		"kiki_sohus_oaztsu_nm",
//		"kiki_sohus_azcho_nm",
//		"kiki_sohus_bnchigo",
//		"kiki_sohus_adrttm",
//		"kiki_sohus_adrrm"
//	};
//	/** 住所項目_(機器)設置先 */
//	private static final String[] AD_KMK_STC = {
//		"kiki_stc_saki_state_nm",
//		"kiki_stc_saki_city_nm",
//		"kiki_stc_saki_oaztsu_nm",
//		"kiki_stc_saki_azcho_nm",
//		"kiki_stc_saki_bnchigo",
//		"kiki_stc_saki_adrttm",
//		"kiki_stc_saki_adrrm"
//	};
// ST1-2012-0000760 未使用変数を削除 2012/06/22 T.SAKAMOTO DEL START
	// ▲▲▲ 2012-02-21 IT1-2012-0000297 ADD ▲▲▲

	/**
	 * 請求契約番号取得処理.
	 * <dd>サービス追加時に紐付ける請求契約番号を取得する.
	 * <dd>※既設のeo光ネット,eo光電話,eo光テレビサービスの最若番号を取得.
	 * @param   param      モデルグループ、コントロールマップを含むリクエストパラメータ
	 * @param   fixedText  ユーザ任意文字列
	 * @throws  Exception  例外が発生した場合
	 * @return  紐付ける請求契約番号
	 */
	public String getSeikyKeiNo( IRequestParameterReadWrite param, String fixedText ) throws Exception {

		/** 事前準備 */
		HashMap<String, String> condMap;
		HashMap<String, Object> paramMap = (HashMap<String, Object>)param.getData(fixedText);
		HashMap<String, Object> reqMap;
		Map<?, ?> resMap;

		// 住所変更登録コモンコンポーネントマッピングクラスインスタンスを取得
		JKKAdchgMapperCC mapper = JKKAdchgMapperCC.getInstance();

		// SCリクエストInvokerを取得
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();


		/** 指定されたお客様に紐づく全ての請求契約を取得 */
		// ・EKK0491B005  請求契約一覧照会(SYSID)
		condMap = new HashMap<String, String>();
		condMap.put( JKKAdchgMapperCC.COND_KEY_SYSID, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_SYSID ) );
		condMap.put( JKKAdchgMapperCC.COND_KEY_OPEDATE, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_OPE_DATE ) );
		reqMap = mapper.setEKK0491B005( param, fixedText, condMap );
		resMap = scCall.run( reqMap, keepSesHandle );
		ArrayList<HashMap<String, Object>> kk0491_b005_map_lst = mapper.getEKK0491B005( param, fixedText, resMap );
		mapper.scResultCheck( param );

		/** 既設のeo光ネット,eo光電話,eo光TVの請求契約から、最若番号を取得 */
		Iterator<HashMap<String, Object>> kk0491_b005_lst_ite = kk0491_b005_map_lst.iterator();
		while( kk0491_b005_lst_ite.hasNext() ){

			HashMap<String, Object> cur_kk0491_b005 = kk0491_b005_lst_ite.next();

			// 料金グループコードを取得
			String prc_grp_cd = (String)cur_kk0491_b005.get( EKK0491B005CBSMsg1List.PRC_GRP_CD );

			// 既設のeo光ネット,eo光電話,eo光TVの請求契約であるかを判定
			if( JKKAdchgConstCC.CD00133_NET_HOME.equals( prc_grp_cd ) ||
				JKKAdchgConstCC.CD00133_NET_MEZON.equals( prc_grp_cd ) ||
				JKKAdchgConstCC.CD00133_NET_MANTION.equals( prc_grp_cd ) ||
				JKKAdchgConstCC.CD00133_TEL.equals( prc_grp_cd ) ||
				JKKAdchgConstCC.CD00133_TV_KCAT.equals( prc_grp_cd ) ||
				JKKAdchgConstCC.CD00133_TV_KCN.equals( prc_grp_cd ) ||
				JKKAdchgConstCC.CD00133_TV_RESND.equals( prc_grp_cd ) ){

				// 請求契約番号を呼び元へ返却
				return (String)cur_kk0491_b005.get( EKK0491B005CBSMsg1List.SEIKY_KEI_NO );
			}
		}

		// 追加不可(Elligal-Case)の為、例外を送出
		throw new CCException( JKKAdchgConstCC.ERR_STR_RESULT_CD, new Exception() );
	}

	/**
	 * 更新前更新年月日 取得処理.
	 * <dd>以下の振る舞いで更新前更新年月日を呼び元へ返却する.
	 * <dd><dd>
	 * <table border="1">
	 * <th>条件</th><th>返却値</th>
	 * <tr><td>比較元更新年月日＝Empty</td><td>比較先更新年月日</td></tr>
	 * <tr><td>比較先更新年月日＝Empty</td><td>比較元更新年月日</td></tr>
	 * <tr><td>比較元更新年月日＞比較先更新年月日</td><td>比較元更新年月日</td></tr>
	 * <tr><td>比較元更新年月日≦比較先更新年月日</td><td>比較先更新年月日</td></tr>
	 * </table>
	 * @param   srcUpdDtm  比較元更新年月日
	 * @param   dstUpdDtm  比較先更新年月日
	 * @throws  Exception  例外が発生した場合
	 * @return  更新前更新年月日
	 */
	public String getUpdDtmBef( String srcUpdDtm, String dstUpdDtm ) throws Exception {

		/** 比較元更新年月日 Emptyチェック */
		if( StringUtils.isEmpty( srcUpdDtm ) ){
			return dstUpdDtm;
		}

		/** 比較先更新年月日 Emptyチェック */
		if( StringUtils.isEmpty( dstUpdDtm ) ){
			return srcUpdDtm;
		}


		/** 比較元更新年月日＞比較先更新年月日 判定 */
// ●● IT故障対応(No100) START
//		int srcUpdDtmInt = Integer.parseInt( srcUpdDtm );
//		int dstUpdDtmInt = Integer.parseInt( dstUpdDtm );
//		if( srcUpdDtmInt > dstUpdDtmInt ){
		if( srcUpdDtm.compareTo(dstUpdDtm) > 0 ){
// ●● IT故障対応(No100) END
			return srcUpdDtm;

		} else {

			return dstUpdDtm;

		}
	}

	/**
	 * プラン変更有無判定処理.
	 * <br>
	 * @param   param      モデルグループ、コントロールマップを含むリクエストパラメータ
	 * @param   fixedText  ユーザ任意文字列
	 * @throws  Exception  例外が発生した場合
	 * @return  プラン変更有りの場合はtrueを返却
	 */
	public boolean isChgPlan(  IRequestParameterReadWrite param, String fixedText ) throws Exception {

		/** 事前準備 */
		HashMap<String, String> condMap;
		HashMap<String, Object> paramMap = (HashMap<String, Object>)param.getData(fixedText);
		HashMap<String, Object> reqMap;
		Map<?, ?> resMap;

// IT1-2012-0000691 2012/06/15 T.SAKAMOTO ADD START
		// サービス契約番号が未設定の場合、転居元契約なしと判断する。
		String svckeiNo = (String) paramMap.get( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_NO );
		if (StringUtils.isEmpty(svckeiNo)) {
			return false;
		}
// IT1-2012-0000691 2012/06/15 T.SAKAMOTO ADD END
		
		// 住所変更登録コモンコンポーネントマッピングクラスインスタンスを取得
		JKKAdchgMapperCC mapper = JKKAdchgMapperCC.getInstance();

		// SCリクエストInvokerを取得
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();


		/** 転居元でのサービス契約を取得 */
		// ・EKK0081A010  サービス契約一意照会
		condMap = new HashMap<String, String>();
		condMap.put( JKKAdchgMapperCC.COND_KEY_SVC_KEI_NO, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_NO ) );
		condMap.put( JKKAdchgMapperCC.COND_KEY_OPEDATE, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_OPE_DATE ) );
		reqMap = mapper.setEKK0081A010( param, fixedText, condMap );
		resMap = scCall.run( reqMap, keepSesHandle );
		HashMap<String, Object> kk0081_a010_map = mapper.getEKK0081A010( param, fixedText, resMap );
		mapper.scResultCheck( param );


		/** 転居元及び転居先の料金グループ，料金コース，料金プランを取得 */
		String pcr_grp_cd_bef = (String)kk0081_a010_map.get( EKK0081A010CBSMsg1List.PRC_GRP_CD );
		String pcr_grp_cd_aft = (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_PGRP );
		String pcrs_cd_bef = (String)kk0081_a010_map.get( EKK0081A010CBSMsg1List.PCRS_CD );
		String pcrs_cd_aft = (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_KEI_SVC );
		String pplan_cd_bef = (String)kk0081_a010_map.get( EKK0081A010CBSMsg1List.PPLAN_CD );
		String pplan_cd_aft = (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_PPLAN );
//▼▼▼ IT2-2012-0001241 新城　▼▼▼
		String tkhoshiki_no_bef = (String) kk0081_a010_map.get( EKK0081A010CBSMsg1List.TK_HOSHIKI_KEI_NO );
		String tkhoshiki_no_aft = (String) paramMap.get( JKKAdchgConstCC.PARAM_KEY_TK_HOSHIKI_KEI_NO );
//▲▲▲ IT2-2012-0001241 新城 新城　▲▲▲


		/** 転居元及び転居先の料金グループ，料金コース，料金プランの完全一致判定 */
		if( pcr_grp_cd_aft.equals( pcr_grp_cd_bef ) &&
			pcrs_cd_aft.equals( pcrs_cd_bef ) &&
			pplan_cd_aft.equals( pplan_cd_bef ) &&
//▼▼▼ IT2-2012-0001241 新城　▼▼▼
			tkhoshiki_no_aft.equals( tkhoshiki_no_bef )
//▲▲▲ IT2-2012-0001241 新城 新城　▲▲▲

			){

			// 完全一致の為、falseを返却
			return false;
		}

		return true;
	}

//	/**
//	 * サービス契約回線内訳登録処理.
//	 * <br>
//	 * @param   param      モデルグループ、コントロールマップを含むリクエストパラメータ
//	 * @param   fixedText  ユーザ任意文字列
//	 * @throws  Exception  例外が発生した場合
//	 */
	public void svcKeiKaisUcwkIns( IRequestParameterReadWrite param, String fixedText ) throws Exception {
		// 仮復活
		return;
	}
//
//		/** 事前準備 */
//		HashMap<String, Object> reqMap;
//		HashMap<String, Object> paramMap = (HashMap<String, Object>)param.getData(fixedText);
//		Map<?, ?> resMap;
//
//		// 住所変更登録コモンコンポーネントマッピングクラスインスタンスを取得
//		JKKAdchgMapperCC mapper = JKKAdchgMapperCC.getInstance();
//
//		// SCリクエストInvokerを取得
//		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
//
//		// ▼▼▼ 2012-03-13 HINKO.KIKI DEL ▼▼▼
//		// ネット・テレビ・電話 の住所変更CCより先に実施する必要がある
////		/** 場所登録 生成 */
////		// place_map生成
////		HashMap<String, Object> place_map = new HashMap<String, Object>();
////		// 場所ステータス
////		place_map.put( ETN0011D010CBSMsg.PLACE_STAT, null );
////		// 場所種別コード
////		place_map.put( ETN0011D010CBSMsg.PLACE_SBT_CD, null );
////// ●● マンション対応 START
////		// tn0011_d010_map.住所形態コードへparam.移転先_住所形態コードを設定
//////		place_map.put( ETN0011D010CBSMsg.AD_FORM_CD, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_ITENS_MANSION_BUKKEN_NO ) );
////		place_map.put( ETN0011D010CBSMsg.AD_FORM_CD, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_ITENS_AD_FORM_CD ) );
////// ●● マンション対応 END
////		// 固定値を設定
////		// tn0011_d010_map.マンション物件番号へparam.移転先_マンション物件番号を設定
////		place_map.put( ETN0011D010CBSMsg.MANSION_BUKKEN_NO, "MANSION00001" );
////		// tn0011_d010_map.場所住所コードへparam.移転先_場所住所コードを設定
////		place_map.put( ETN0011D010CBSMsg.PLACE_AD_CD, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_ITENS_AD_CD ) );
////		// tn0011_d010_map.場所郵便番号へparam.移転先_場所郵便番号を設定
////		place_map.put( ETN0011D010CBSMsg.PLACE_PCD, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_ITENS_POST_CD ) );
////		// tn0011_d010_map.場所都道府県名へparam.移転先_場所都道府県名を設定
////		place_map.put( ETN0011D010CBSMsg.PLACE_STATE_NM, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_ITENS_AD_STATE ) );
////		// tn0011_d010_map.場所市区町村名へparam.移転先_場所市区町村名を設定
////		place_map.put( ETN0011D010CBSMsg.PLACE_CITY_NM, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_ITENS_AD_CITY ) );
////		// tn0011_d010_map.場所大字通称名へparam.移転先_場所大字通称名を設定
////		place_map.put( ETN0011D010CBSMsg.PLACE_OAZTSU_NM, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_ITENS_AD_OAZTSU ) );
////		// tn0011_d010_map.場所字丁目名へparam.移転先_場所字丁目名を設定
////		place_map.put( ETN0011D010CBSMsg.PLACE_AZCHO_NM, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_ITENS_AD_AZCHO ) );
////		// tn0011_d010_map.場所番地号へparam.移転先_場所番地号を設定
////		place_map.put( ETN0011D010CBSMsg.PLACE_BNCHIGO, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_ITENS_AD_BNCHIGO ) );
////		// tn0011_d010_map.場所住所補記・建物名へparam.移転先_場所住所補記・建物名を設定
////		place_map.put( ETN0011D010CBSMsg.PLACE_ADRTTM, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_ITENS_AD_ADRTTM ) );
////		// tn0011_d010_map.場所住所補記・部屋番号へparam.移転先_場所住所補記・部屋番号を設定
////		place_map.put( ETN0011D010CBSMsg.PLACE_ADRRM, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_ITENS_AD_ADRRM ) );
////		// tn0011_d010_map.場所登録年月日へ運用年月日を設定
////		place_map.put( ETN0011D010CBSMsg.PLACE_ADD_YMD, JCCBPCommon.getOpeDate( null ) );
////		// tn0011_d010_map.場所照査年月日へ運用年月日を設定
////		place_map.put( ETN0011D010CBSMsg.PLACE_SHOSA_YMD, JCCBPCommon.getOpeDate( null ) );
////		// tn0011_d010_map.残置開始年月日へ運用年月日を設定
////		place_map.put( ETN0011D010CBSMsg.ZANCHI_STAYMD, JCCBPCommon.getOpeDate( null ) );
////		// tn0011_d010_map.残置終了年月日へ運用年月日を設定
////		place_map.put( ETN0011D010CBSMsg.ZANCHI_ENDYMD, JCCBPCommon.getOpeDate( null ) );
////
////		/** 場所登録 */
////		// ・ETN0011D010  場所登録
////		reqMap = mapper.setETN0011D010( param, fixedText, place_map );
////		resMap = scCall.run( reqMap, keepSesHandle );
////		HashMap<String, Object> tn0011_d010_res_map = mapper.getETN0011D010( param, fixedText, resMap );
////		mapper.scResultCheck( param );
////
////		// 場所番号を設定
////		paramMap.put(JKKAdchgConstCC.PARAM_KEY_ITENS_PLACE_NO , tn0011_d010_res_map.get( ETN0011D010CBSMsg.PLACE_NO ) );
//		// ▲▲▲ 2012-03-13 HINKO.KIKI DEL ▲▲▲
//
//		/** サービス契約回線内訳登録 生成 */
//		// parent_map生成
//		HashMap<String, Object> parent_map = new HashMap<String, Object>();
//		// kk0251_d010_map.申込明細番号へparam.申込明細番号を設定
//		parent_map.put( EKK0251D010CBSMsg.MSKM_DTL_NO, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_MSKM_DTL_NO ) );
//		// param.移転先_住所未確定を元に、kk0251_d010_map.回線場所住所未確定フラグを設定
//		boolean itens_ad_mi_fix_flg = Boolean.parseBoolean( (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_ITENS_AD_MI_FIX_FLG ) );
//		if( itens_ad_mi_fix_flg ){
//			// 「未確定」を示す値を設定
//			parent_map.put( EKK0251D010CBSMsg.KISN_PLC_AD_MI_FIX_FLG, JKKAdchgConstCC.CD00002_ARI );
//		} else {
//			// 「確定」を示す値を設定
//			parent_map.put( EKK0251D010CBSMsg.KISN_PLC_AD_MI_FIX_FLG, JKKAdchgConstCC.CD00002_NASHI );
//		}
//		// param.契約者住所同時変更有無を元に、kk0251_d010_map.回線場所_契約者住所差異フラグを設定
//		boolean ksh_ad_chg_flg = Boolean.parseBoolean( (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_KSH_AD_CHG_FLG ) );
//		if( ksh_ad_chg_flg ){
//			// 「差異無し」を示す値を設定
//			parent_map.put( EKK0251D010CBSMsg.KAISEN_PLC_KSH_AD_SAI_FLG, JKKAdchgConstCC.CD00002_NASHI );
//		} else {
//			// 「差異有り」を示す値を設定
//			parent_map.put( EKK0251D010CBSMsg.KAISEN_PLC_KSH_AD_SAI_FLG, JKKAdchgConstCC.CD00002_ARI );
//		}
//
//// ●●巻@−２ 対応 start
//		// kk0251_d010_map.お客様申告住所未確定フラグへparam.お客様申告住所未確定フラグを設定
//		parent_map.put( EKK0251D010CBSMsg.CUST_SKK_AD_MI_FIX_FLG, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_CUST_SKK_AD_MI_FIX_FLG ) );
//// ●●巻@−２ 対応 end
//		
//		// kk0251_d010_map.マンション物件番号へparam.移転先_マンション物件番号を設定
//		parent_map.put( EKK0251D010CBSMsg.MANSION_BUKKEN_NO, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_ITENS_MANSION_BUKKEN_NO ) );
//		// kk0251_d010_map.回線場所電話番号へparam.移転先_電話番号を設定
//		parent_map.put( EKK0251D010CBSMsg.KAISEN_PLACE_TELNO, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_ITENS_TLN ) );
//		// kk0251_d010_map.回線場所住所コードへparam.移転先_住所コードを設定
//		parent_map.put( EKK0251D010CBSMsg.KAISEN_PLACE_AD_CD, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_ITENS_AD_CD ) );
//		// kk0251_d010_map.回線場所郵便番号へparam.移転先_郵便番号を設定
//		parent_map.put( EKK0251D010CBSMsg.KAISEN_PLACE_PCD, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_ITENS_POST_CD ) );
//		// kk0251_d010_map.回線場所都道府県名へparam.移転先_都道府県を設定
//		parent_map.put( EKK0251D010CBSMsg.KAISEN_PLACE_STATE_NM, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_ITENS_AD_STATE ) );
//		// kk0251_d010_map.回線場所市区町村名へparam.移転先_市区町村を設定
//		parent_map.put( EKK0251D010CBSMsg.KAISEN_PLACE_CITY_NM, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_ITENS_AD_CITY ) );
//		// kk0251_d010_map.回線場所大字通称名へparam.移転先_大字通称名を設定
//		parent_map.put( EKK0251D010CBSMsg.KAISEN_PLACE_OAZTSU_NM, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_ITENS_AD_OAZTSU ) );
//		// kk0251_d010_map.回線場所字丁目名へparam.移転先_字丁目を設定
//		parent_map.put( EKK0251D010CBSMsg.KAISEN_PLACE_AZCHO_NM, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_ITENS_AD_AZCHO ) );
//		// kk0251_d010_map.回線場所番地号へparam.移転先_番地・号を設定
//		parent_map.put( EKK0251D010CBSMsg.KAISEN_PLACE_BNCHIGO, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_ITENS_AD_BNCHIGO ) );
//		// kk0251_d010_map.回線場所住所補記・建物名へparam.移転先_建物名を設定
//		parent_map.put( EKK0251D010CBSMsg.KAISEN_PLACE_ADRTTM, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_ITENS_AD_ADRTTM ) );
//		// kk0251_d010_map.回線場所住所補記・部屋番号へparam.移転先_部屋番号を設定
//		parent_map.put( EKK0251D010CBSMsg.KAISEN_PLACE_ADRRM, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_ITENS_AD_ADRRM ) );
//		
//// ●●巻@−２ 対応 start
//		// kk0251_d010_map.回線場所番号 へparam.回線場所番号を設定
//		parent_map.put( EKK0251D010CBSMsg.KAISEN_PLACE_NO, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_KAISEN_PLACE_NO ) );
//// ●●巻@−２ 対応 end
//		
//		
//		// kk0251_d010_map.回線場所住所確定後変更可否へ「否」を示す値を設定
//		// ▼▼▼ 2012-02-18 #SUB2-6 CHG ▼▼▼
//		parent_map.put( EKK0251D010CBSMsg.KISN_PLC_AD_FIX_AF_CHGE_KH, JKKAdchgConstCC.CD00003_HI );
////		parent_map.put( EKK0251D010CBSMsg.KISN_PLC_AD_FIX_AF_CHGE_KH, JKKAdchgConstCC.CD00002_ARI );
//		// ▲▲▲ 2012-02-18 #SUB2-6 CHG ▲▲▲
//		// kk0251_d010_map.住所形態コードへparam.移転先_住所形態を設定
//		parent_map.put( EKK0251D010CBSMsg.AD_FORM_CD, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_ITENS_AD_FORM ) );
//		// kk0251_d010_map.竣工予定年月日へparam.移転先_竣工予定年月日を設定
//		parent_map.put( EKK0251D010CBSMsg.SHUNKO_RSV_YMD, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_ITENS_SHUNKO_RSV_YMD ) );
//		// kk0251_d010_map.入居予定年月日へparam.入居予定年月日を設定
//		parent_map.put( EKK0251D010CBSMsg.NYUKYO_RSV_YMD, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_ITENS_NYUKYO_RSV_YMD ) );
//		// kk0251_d010_map.X座標へparam.移転先_X座標を設定
//		parent_map.put( EKK0251D010CBSMsg.XZAHYO, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_ITENS_XZAHYO ) );
//		// kk0251_d010_map.Y座標へparam.移転先_Y座標を設定
//		parent_map.put( EKK0251D010CBSMsg.YZAHYO, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_ITENS_YZAHYO ) );
//		// kk0251_d010_map.経度へparam.移転先_経度を設定
//		parent_map.put( EKK0251D010CBSMsg.LGTD, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_ITENS_LGTD ) );
//		// kk0251_d010_map.緯度へparam.を移転先_緯度設定
//		parent_map.put( EKK0251D010CBSMsg.LTTD, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_ITENS_LTTD ) );
//		// kk0251_d010_map.座標補正有無へparam.移転先_座標補正有無を設定
//		parent_map.put( EKK0251D010CBSMsg.ZAHYO_HOSEI_UM, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_ITENS_ZAHYO_HOSEI_UM ) );
//		// kk0251_d010_map.集合住宅入居階数コードへparam.移転先_利用場所階数を設定
//		parent_map.put( EKK0251D010CBSMsg.SHUGJ_NYUKYO_FLR_CNT_CD, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_ITENS_FLR_CNT ) );
//		// kk0251_d010_map.回線提供会社コードへ「K-OPT」を示すコード値を設定
//		parent_map.put( EKK0251D010CBSMsg.KAISEN_TK_COMP_CD, JKKAdchgConstCC.CD00092_KOPT );
//
//		// ▼▼マッピングを追加 START
//		// kk0251_d010_map.お客様SOS利用有無を設定
//		parent_map.put( EKK0251D010CBSMsg.CUST_SOS_USE_UM, null );
//		// kk0251_d010_map.方角コード1を設定
//		parent_map.put( EKK0251D010CBSMsg.DIRECTION_CD_1, null );
//		// kk0251_d010_map.方角コード2を設定
//		parent_map.put( EKK0251D010CBSMsg.DIRECTION_CD_2, null );
//		// kk0251_d010_map.電力送電予定年月日を設定
//		parent_map.put( EKK0251D010CBSMsg.EPOWER_SODEN_RSV_YMD, null );
//		// kk0251_d010_map.該当エリアサービス開始年月日を設定
//		parent_map.put( EKK0251D010CBSMsg.GAITO_AREA_SVC_STAYMD, null );
//		// kk0251_d010_map.引渡し予定年月日を設定
//		parent_map.put( EKK0251D010CBSMsg.HIKIWATASHI_RSV_YMD, null );
//		// kk0251_d010_map.引越し予定年月日を設定
//		parent_map.put( EKK0251D010CBSMsg.HIKKOSHI_RSV_YMD, null );
//		// kk0251_d010_map.回線コードを設定
//		parent_map.put( EKK0251D010CBSMsg.KAISEN_CD, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_ITENS_KAISEN_CD ) );
//		// kk0251_d010_map.回線場所番号を設定
//		// ▼▼▼ 2012-03-13 HINKO.KIKI CHG ▼▼▼
////		parent_map.put( EKK0251D010CBSMsg.KAISEN_PLACE_NO, tn0011_d010_res_map.get( ETN0011D010CBSMsg.PLACE_NO ) );
//		HashMap<String, Object> kksv_9800_map = (HashMap<String, Object>)( param.getData( KKSV0098_KKSV0098OP.KKSV009800CC ) );
//		parent_map.put( EKK0251D010CBSMsg.KAISEN_PLACE_NO, kksv_9800_map.get( (String) JKKAdchgConstCC.PARAM_KEY_ITENS_PLACE_NO ) );
//		// ▲▲▲ 2012-03-13 HINKO.KIKI CHG ▲▲▲
//		// kk0251_d010_map.回線場所カナ名を設定
//		parent_map.put( EKK0251D010CBSMsg.KAISEN_PLC_KANA, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_ITENS_KANA ) );
//		// kk0251_d010_map.回線場所住所未確定解除年月日を設定
//		parent_map.put( EKK0251D010CBSMsg.KISN_PLC_AD_MI_FIX_RLS_YMD, null );
//		// kk0251_d010_map.回線場所補足コード1を設定
//		parent_map.put( EKK0251D010CBSMsg.KISN_PLC_HSK_CD_1, null );
//		// kk0251_d010_map.回線場所補足コード2を設定
//		parent_map.put( EKK0251D010CBSMsg.KISN_PLC_HSK_CD_2, null );
//		// kk0251_d010_map.回線場所補足メモを設定
//		parent_map.put( EKK0251D010CBSMsg.KISN_PLC_HSK_MEMO, null );
//		// kk0251_d010_map.回線場所区画整理中フラグを設定
//		parent_map.put( EKK0251D010CBSMsg.KISN_PLC_KKK_SEIRI_CHU_FLG, JKKAdchgConstCC.DM00022_FALSE );
//		// kk0251_d010_map.起点変電所コードを設定
//		parent_map.put( EKK0251D010CBSMsg.KITEN_HDSHO_CD, null );
//		// kk0251_d010_map.戸建建築階数コードを設定
//		parent_map.put( EKK0251D010CBSMsg.KODATE_KCKU_FLR_CNT_CD, null );
//		// kk0251_d010_map.PON種別コードを設定
//		parent_map.put( EKK0251D010CBSMsg.PON_SBT_CD, null );
//		// kk0251_d010_map.竣工予定年月日を設定
//		parent_map.put( EKK0251D010CBSMsg.SHUNKO_RSV_YMD, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_ITENS_SHUNKO_RSV_YMD ) );
//		// kk0251_d010_map.集約局コードを設定
//		parent_map.put( EKK0251D010CBSMsg.SHYAKK_CD, null );
//		
//// ●●巻@−２ 対応 start
//		// kk0251_d010_map.関電営業所コードへparam.関電営業所コードを設定
//		parent_map.put( EKK0251D010CBSMsg.KEPCO_BUSIOFFICE_CD, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_KEPCO_BUSIOFFICE_CD ) );
//// ●●巻@−２ 対応 end
//		
//		// kk0251_d010_map.TVアンテナ有無を設定
//		parent_map.put( EKK0251D010CBSMsg.TV_ANTENNA_UM, null );
//		// kk0251_d010_map.テレビ個別対応コードを設定
//		parent_map.put( EKK0251D010CBSMsg.TV_KOBET_TAIO_CD, null );
//		// kk0251_d010_map.VDSL利用電話回線切替予定年月日を設定
//		parent_map.put( EKK0251D010CBSMsg.VDSL_USE_DKSN_SWCH_RSV_YMD, null );
//		// kk0251_d010_map.VDSL利用電話回線種別コードを設定
//		parent_map.put( EKK0251D010CBSMsg.VDSL_USE_TEL_KISN_SBT_CD, null );
//		// kk0251_d010_map.VDSL利用対象電話番号回線種別コードを設定
//		parent_map.put( EKK0251D010CBSMsg.VDSL_USE_TG_DBKSN_SBT_CD, null );
//		// kk0251_d010_map.VDSL利用対象電話番号を設定
//		parent_map.put( EKK0251D010CBSMsg.VDSL_USE_TG_TELNO, null );
//		// ▲▲ マッピングを追加 END
//
//		// dtl_map生成
//		// dtl_mapをリスト化
//		ArrayList<HashMap<String, Object>> dtl_list = new ArrayList<HashMap<String, Object>>();
//		HashMap<String, Object> dtl_map = null;
//		ArrayList<HashMap<String, Object>> svcKeiNoList = (ArrayList<HashMap<String, Object>>)paramMap.get( JKKAdchgConstCC.PARAM_KEY_ADCHG_DTL_SVC_KEI_INFO );
//		for(int i = 0; i < svcKeiNoList.size(); i++ )
//		{
//			dtl_map = new HashMap<String, Object>();
//			HashMap<String, Object> svcKeiNoMap = svcKeiNoList.get(i);
//			String svcKeiNo = (String)svcKeiNoMap.get(JKKAdchgConstCC.PARAM_KEY_NEW_SVC_KEI_NO);
//			if(svcKeiNo != null && !"".equals(svcKeiNo))
//			{
//				// dtl_map.サービス契約番号へparam.サービス契約番号を設定
//				dtl_map.put( EKK0251D010CBSMsg1List.SVC_KEI_NO, svcKeiNo );
//				dtl_list.add( dtl_map );
//			}
//		}
//
//		/** サービス契約回線内訳登録 */
//		// ・EKK0251D010  サービス契約回線内訳登録
//		reqMap = mapper.setEKK0251D010( param, fixedText, parent_map, dtl_list );
//		resMap = scCall.run( reqMap, keepSesHandle );
//		HashMap<String, Object> kk0251_d010_res_map = mapper.getEKK0251D010( param, fixedText, resMap );
//		mapper.scResultCheck( param );
//
//		/** 作成された転居先の回線対象サービス契約スキーマの回線使用開始年月日を 2099/12/31へ変更（福永） **/
//		/** 事前準備 */
//		HashMap<String, String> condMap;
//		
//		// ・EKK0241A010  回線対象サービス契約一意照会
//		condMap = new HashMap<String, String>();
//		
//		for(int i = 0; i < dtl_list.size(); i++ )
//		{
//			dtl_map = new HashMap<String, Object>();
//			dtl_map = dtl_list.get(i);
//			
//			condMap.put( JKKAdchgMapperCC.COND_KEY_SVC_KEI_NO, (String)dtl_map.get( EKK0251D010CBSMsg1List.SVC_KEI_NO ) );
//			condMap.put( JKKAdchgMapperCC.COND_KEY_SVC_KEI_KAIS_UCWK_NO, (String)kk0251_d010_res_map.get( EKK0251D010CBSMsg.SVC_KEI_KAISEN_UCWK_NO )  );
//			reqMap = mapper.setEKK0241A010( param, fixedText, condMap );
//			resMap = scCall.run( reqMap, keepSesHandle );
//			HashMap<String, Object> ekk0241_a101_map = mapper.getEKK0241A010( param, fixedText, resMap );
//			mapper.scResultCheck( param );
//
//			//回線使用開始年月日をデフォルト値(2099/12/31)に変更
//			ekk0241_a101_map.put( EKK0241A010CBSMsg1List.KAISEN_UCWK_USE_STAYMD , JKKAdchgConstCC.DEFAULT_RSV_APLY_YMD);
//			
//			reqMap = mapper.setEKK0241C010( param, fixedText, ekk0241_a101_map );
//			resMap = scCall.run( reqMap, keepSesHandle );
//			mapper.getEKK0241C010(param, fixedText, resMap);
//			mapper.scResultCheck( param );
//		}
//		
//		/** 福永対応終了*/
//
//		// サービス契約回線内訳情報リストを生成
//		ArrayList<HashMap<String, Object>> kei_kais_ucwk_list = new ArrayList<HashMap<String,Object>>();
//		HashMap<String, Object> kei_kais_ucwk = new HashMap<String, Object>();
//
//		// 払い出されたサービス契約回線内訳番号をparamへ設定
//		kei_kais_ucwk.put( JKKAdchgConstCC.PARAM_KEY_NEW_KEI_KAIS_UCWK_NO, (String)kk0251_d010_res_map.get( EKK0251D010CBSMsg.SVC_KEI_KAISEN_UCWK_NO ) );
//
//		// 登録後の更新年月日時分秒をparamへ設定
//		kei_kais_ucwk.put( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UPD_DTM_AFT, (String)kk0251_d010_res_map.get( EKK0251D010CBSMsg.UPD_DTM ) );
//
//		// 生成したサービス契約回線内訳情報リストをparamへ設定
//		kei_kais_ucwk_list.add( kei_kais_ucwk );
//		paramMap.put( JKKAdchgConstCC.PARAM_KEY_KEI_KAIS_UCWK_LIST, kei_kais_ucwk_list );
//	}
	
	/**
	 * サービス契約回線内訳登録処理.
	 * <br>
	 * @param   param      モデルグループ、コントロールマップを含むリクエストパラメータ
	 * @param   fixedText  ユーザ任意文字列
	 * @param   newSvcKeiNoMapList  払出サービス契約番号マップリスト
	 * @return   EKK0251D010 サービス契約回線内訳登録 下りマッピング結果
	 * @throws  Exception  例外が発生した場合
	 */
	public HashMap<String, Object> svcKeiKaisUcwkIns( IRequestParameterReadWrite param, 
																							String fixedText ,
																							ArrayList<HashMap<String, Object>> newSvcKeiNoMapList ) throws Exception {

		/** 事前準備 */
		HashMap<String, Object> reqMap;
		HashMap<String, Object> paramMap = (HashMap<String, Object>)param.getData(fixedText);
		Map<?, ?> resMap;

		// 住所変更登録コモンコンポーネントマッピングクラスインスタンスを取得
		JKKAdchgMapperCC mapper = JKKAdchgMapperCC.getInstance();

		// SCリクエストInvokerを取得
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();

		/** サービス契約回線内訳登録 生成 */
		// parent_map生成
		HashMap<String, Object> parent_map = new HashMap<String, Object>();
		
		// kk0251_d010_map.申込明細番号へparam.申込明細番号を設定
		parent_map.put( EKK0251D010CBSMsg.MSKM_DTL_NO, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_MSKM_DTL_NO ) );
		// kk0251_d010_map.回線場所住所未確定フラグへparam.移転先_住所未確定を元に設定
		// 移転先_住所未確定を取得  true（住所未確定）／ false(住所確定)
		boolean itens_ad_mi_fix_flg = Boolean.parseBoolean( (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_ITENS_AD_MI_FIX_FLG ) );
		if( itens_ad_mi_fix_flg ){
			// 「未確定」を示す値を設定
			parent_map.put( EKK0251D010CBSMsg.KISN_PLC_AD_MI_FIX_FLG, JKKAdchgConstCC.CD00002_ARI );
		} else {
			// 「確定」を示す値を設定
			parent_map.put( EKK0251D010CBSMsg.KISN_PLC_AD_MI_FIX_FLG, JKKAdchgConstCC.CD00002_NASHI );
		}
		// kk0251_d010_map.回線場所_契約者住所差異フラグにparam.契約者住所同時変更有無を元に設定
		// 契約者住所同時変更有無を取得  true（契約者住所同時変更有り）／ false(契約者住所同時変更無し)
		boolean ksh_ad_chg_flg = Boolean.parseBoolean( (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_KSH_AD_CHG_FLG ) );
		if( ksh_ad_chg_flg ){
			// 「差異無し」を示す値を設定
			parent_map.put( EKK0251D010CBSMsg.KAISEN_PLC_KSH_AD_SAI_FLG, JKKAdchgConstCC.CD00002_NASHI );
		} else {
			// 「差異有り」を示す値を設定
			parent_map.put( EKK0251D010CBSMsg.KAISEN_PLC_KSH_AD_SAI_FLG, JKKAdchgConstCC.CD00002_ARI );
		}
		// kk0251_d010_map.お客様申告住所未確定フラグへparam.お客様申告住所未確定フラグを設定
		parent_map.put( EKK0251D010CBSMsg.CUST_SKK_AD_MI_FIX_FLG, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_CUST_SKK_AD_MI_FIX_FLG ) );
		// kk0251_d010_map.マンション物件番号へparam.移転先_マンション物件番号を設定
		parent_map.put( EKK0251D010CBSMsg.MANSION_BUKKEN_NO, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_ITENS_MANSION_BUKKEN_NO ) );
		// kk0251_d010_map.回線場所電話番号へparam.移転先_電話番号を設定
		parent_map.put( EKK0251D010CBSMsg.KAISEN_PLACE_TELNO, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_ITENS_TLN ) );
		// kk0251_d010_map.回線場所住所コードへparam.移転先_住所コードを設定
		parent_map.put( EKK0251D010CBSMsg.KAISEN_PLACE_AD_CD, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_ITENS_AD_CD ) );
		// kk0251_d010_map.回線場所郵便番号へparam.移転先_郵便番号を設定
		parent_map.put( EKK0251D010CBSMsg.KAISEN_PLACE_PCD, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_ITENS_POST_CD ) );
		// kk0251_d010_map.回線場所都道府県名へparam.移転先_都道府県を設定
		parent_map.put( EKK0251D010CBSMsg.KAISEN_PLACE_STATE_NM, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_ITENS_AD_STATE ) );
		// kk0251_d010_map.回線場所市区町村名へparam.移転先_市区町村を設定
		parent_map.put( EKK0251D010CBSMsg.KAISEN_PLACE_CITY_NM, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_ITENS_AD_CITY ) );
		// kk0251_d010_map.回線場所大字通称名へparam.移転先_大字通称名を設定
		parent_map.put( EKK0251D010CBSMsg.KAISEN_PLACE_OAZTSU_NM, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_ITENS_AD_OAZTSU ) );
		// kk0251_d010_map.回線場所字丁目名へparam.移転先_字丁目を設定
		parent_map.put( EKK0251D010CBSMsg.KAISEN_PLACE_AZCHO_NM, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_ITENS_AD_AZCHO ) );
		// kk0251_d010_map.回線場所番地号へparam.移転先_番地・号を設定
		parent_map.put( EKK0251D010CBSMsg.KAISEN_PLACE_BNCHIGO, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_ITENS_AD_BNCHIGO ) );
		// kk0251_d010_map.回線場所住所補記・建物名へparam.移転先_建物名を設定
		parent_map.put( EKK0251D010CBSMsg.KAISEN_PLACE_ADRTTM, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_ITENS_AD_ADRTTM ) );
		// kk0251_d010_map.回線場所住所補記・部屋番号へparam.移転先_部屋番号を設定
		parent_map.put( EKK0251D010CBSMsg.KAISEN_PLACE_ADRRM, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_ITENS_AD_ADRRM ) );
		// kk0251_d010_map.回線場所番号 へparam.回線場所番号を設定
		parent_map.put( EKK0251D010CBSMsg.KAISEN_PLACE_NO, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_KAISEN_PLACE_NO ) );
		// kk0251_d010_map.回線場所住所確定後変更可否へ「否」を示す値を設定
// MODEL対応
//		parent_map.put( EKK0251D010CBSMsg.KISN_PLC_AD_FIX_AF_CHGE_KH, JKKAdchgConstCC.CD00003_HI );
// MODEL対応
		// kk0251_d010_map.住所形態コードへparam.移転先_住所形態を設定
		parent_map.put( EKK0251D010CBSMsg.AD_FORM_CD, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_ITENS_AD_FORM ) );
		// kk0251_d010_map.竣工予定年月日へparam.移転先_竣工予定年月日を設定
		parent_map.put( EKK0251D010CBSMsg.SHUNKO_RSV_YMD, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_ITENS_SHUNKO_RSV_YMD ) );
		// kk0251_d010_map.入居予定年月日へparam.入居予定年月日を設定
		parent_map.put( EKK0251D010CBSMsg.NYUKYO_RSV_YMD, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_ITENS_NYUKYO_RSV_YMD ) );
		// kk0251_d010_map.X座標へparam.移転先_X座標を設定
		parent_map.put( EKK0251D010CBSMsg.XZAHYO, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_ITENS_XZAHYO ) );
		// kk0251_d010_map.Y座標へparam.移転先_Y座標を設定
		parent_map.put( EKK0251D010CBSMsg.YZAHYO, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_ITENS_YZAHYO ) );
		// kk0251_d010_map.経度へparam.移転先_経度を設定
		parent_map.put( EKK0251D010CBSMsg.LGTD, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_ITENS_LGTD ) );
		// kk0251_d010_map.緯度へparam.を移転先_緯度設定
		parent_map.put( EKK0251D010CBSMsg.LTTD, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_ITENS_LTTD ) );
		// kk0251_d010_map.座標補正有無へparam.移転先_座標補正有無を設定
		parent_map.put( EKK0251D010CBSMsg.ZAHYO_HOSEI_UM, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_ITENS_ZAHYO_HOSEI_UM ) );
		// kk0251_d010_map.集合住宅入居階数コードへparam.移転先_利用場所階数を設定
		parent_map.put( EKK0251D010CBSMsg.SHUGJ_NYUKYO_FLR_CNT_CD, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_ITENS_FLR_CNT ) );
		// kk0251_d010_map.回線提供会社コードへ「K-OPT」を示すコード値を設定
		parent_map.put( EKK0251D010CBSMsg.KAISEN_TK_COMP_CD, JKKAdchgConstCC.CD00092_KOPT );
		// kk0251_d010_map.お客様SOS利用有無を設定
		parent_map.put( EKK0251D010CBSMsg.CUST_SOS_USE_UM, null );
		// kk0251_d010_map.方角コード1を設定
		parent_map.put( EKK0251D010CBSMsg.DIRECTION_CD_1, null );
		// kk0251_d010_map.方角コード2を設定
		parent_map.put( EKK0251D010CBSMsg.DIRECTION_CD_2, null );
		// kk0251_d010_map.電力送電予定年月日を設定
		parent_map.put( EKK0251D010CBSMsg.EPOWER_SODEN_RSV_YMD, null );
		// kk0251_d010_map.該当エリアサービス開始年月日を設定
		parent_map.put( EKK0251D010CBSMsg.GAITO_AREA_SVC_STAYMD, null );
		// kk0251_d010_map.引渡し予定年月日を設定
		parent_map.put( EKK0251D010CBSMsg.HIKIWATASHI_RSV_YMD, null );
		// kk0251_d010_map.引越し予定年月日を設定
		parent_map.put( EKK0251D010CBSMsg.HIKKOSHI_RSV_YMD, null );
		// kk0251_d010_map.回線コードを設定
		parent_map.put( EKK0251D010CBSMsg.KAISEN_CD, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_ITENS_KAISEN_CD ) );
		// kk0251_d010_map.回線場所番号を設定
		HashMap<String, Object> kksv_9800_map = (HashMap<String, Object>)( param.getData( KKSV0098_KKSV0098OP.KKSV009800CC ) );
		parent_map.put( EKK0251D010CBSMsg.KAISEN_PLACE_NO, kksv_9800_map.get( (String) JKKAdchgConstCC.PARAM_KEY_ITENS_PLACE_NO ) );
		// kk0251_d010_map.回線場所カナ名を設定
		parent_map.put( EKK0251D010CBSMsg.KAISEN_PLC_KANA, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_ITENS_KANA ) );
		// kk0251_d010_map.回線場所住所未確定解除年月日を設定
		parent_map.put( EKK0251D010CBSMsg.KISN_PLC_AD_MI_FIX_RLS_YMD, null );
		// kk0251_d010_map.回線場所補足コード1を設定
		parent_map.put( EKK0251D010CBSMsg.KISN_PLC_HSK_CD_1, null );
		// kk0251_d010_map.回線場所補足コード2を設定
		parent_map.put( EKK0251D010CBSMsg.KISN_PLC_HSK_CD_2, null );
		// kk0251_d010_map.回線場所補足メモを設定
		parent_map.put( EKK0251D010CBSMsg.KISN_PLC_HSK_MEMO, null );
		// kk0251_d010_map.回線場所区画整理中フラグを設定
		parent_map.put( EKK0251D010CBSMsg.KISN_PLC_KKK_SEIRI_CHU_FLG, JKKAdchgConstCC.DM00022_FALSE );
		// kk0251_d010_map.起点変電所コードを設定
		parent_map.put( EKK0251D010CBSMsg.KITEN_HDSHO_CD, null );
		// kk0251_d010_map.戸建建築階数コードを設定
		parent_map.put( EKK0251D010CBSMsg.KODATE_KCKU_FLR_CNT_CD, null );
		// kk0251_d010_map.PON種別コードを設定
		parent_map.put( EKK0251D010CBSMsg.PON_SBT_CD, null );
		// kk0251_d010_map.竣工予定年月日を設定
		parent_map.put( EKK0251D010CBSMsg.SHUNKO_RSV_YMD, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_ITENS_SHUNKO_RSV_YMD ) );
		// kk0251_d010_map.集約局コードを設定
		parent_map.put( EKK0251D010CBSMsg.SHYAKK_CD, null );
		// kk0251_d010_map.関電営業所コードへparam.関電営業所コードを設定
		parent_map.put( EKK0251D010CBSMsg.KEPCO_BUSIOFFICE_CD, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_KEPCO_BUSIOFFICE_CD ) );
		// kk0251_d010_map.TVアンテナ有無を設定
		parent_map.put( EKK0251D010CBSMsg.TV_ANTENNA_UM, null );
		// kk0251_d010_map.テレビ個別対応コードを設定
		parent_map.put( EKK0251D010CBSMsg.TV_KOBET_TAIO_CD, null );
		// kk0251_d010_map.VDSL利用電話回線切替予定年月日を設定
		parent_map.put( EKK0251D010CBSMsg.VDSL_USE_DKSN_SWCH_RSV_YMD, null );
		// kk0251_d010_map.VDSL利用電話回線種別コードを設定
		parent_map.put( EKK0251D010CBSMsg.VDSL_USE_TEL_KISN_SBT_CD, null );
		// kk0251_d010_map.VDSL利用対象電話番号回線種別コードを設定
		parent_map.put( EKK0251D010CBSMsg.VDSL_USE_TG_DBKSN_SBT_CD, null );
		// kk0251_d010_map.VDSL利用対象電話番号を設定
		parent_map.put( EKK0251D010CBSMsg.VDSL_USE_TG_TELNO, null );

		/** サービス契約回線内訳登録 */
		// ・EKK0251D010  サービス契約回線内訳登録
		reqMap = mapper.setEKK0251D010( param, fixedText, parent_map, newSvcKeiNoMapList );
		resMap = scCall.run( reqMap, keepSesHandle );
		HashMap<String, Object> kk0251_d010_res_map = mapper.getEKK0251D010( param, fixedText, resMap );
		mapper.scResultCheck( param );
		
		 // EKK0251D010 サービス契約回線内訳登録 下りマッピング結果を返却
		return kk0251_d010_res_map;
	}
	
	/**
	 * 回線対象サービス契約スキーマ.回線使用開始年月日デフォルト値（ 2099/12/31）設定処理.
	 * <br>
	 * @param   param      モデルグループ、コントロールマップを含むリクエストパラメータ
	 * @param   fixedText  ユーザ任意文字列
	 * @param   newSvcKeiNoMapList  払出サービス契約番号マップリスト
	 * @param   kk0251_d010_res_map  EKK0251D010 サービス契約回線内訳登録 下りマッピング結果
	 * @throws  Exception  例外が発生した場合
	 */
	public void svcKeiKaisenUcwkUpdWithDefRsvApYmd(IRequestParameterReadWrite param, 
																							String fixedText,
																							ArrayList<HashMap<String, Object>> newSvcKeiNoMapList,
																							HashMap<String, Object> kk0251_d010_res_map) throws Exception {
		
		/** 事前準備 */
		HashMap<String, Object> reqMap;
		Map<?, ?> resMap;

		// 住所変更登録コモンコンポーネントマッピングクラスインスタンスを取得
		JKKAdchgMapperCC mapper = JKKAdchgMapperCC.getInstance();
		// SCリクエストInvokerを取得
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		
		/** 作成された転居先の回線対象サービス契約スキーマの回線使用開始年月日を 2099/12/31へ変更（福永） **/
		/** 事前準備 */
		HashMap<String, String> condMap;
		
		condMap = new HashMap<String, String>();
		
		// 
		for(int i = 0; i < newSvcKeiNoMapList.size(); i++ )
		{
			/** EKK0241A010 回線対象サービス契約一意照会 */
			HashMap<String, Object> newSvcKeiNoMap = new HashMap<String, Object>();
			newSvcKeiNoMap = newSvcKeiNoMapList.get(i);
			condMap.put( JKKAdchgMapperCC.COND_KEY_SVC_KEI_NO, (String)newSvcKeiNoMap.get( EKK0251D010CBSMsg1List.SVC_KEI_NO ) );
			condMap.put( JKKAdchgMapperCC.COND_KEY_SVC_KEI_KAIS_UCWK_NO, (String)kk0251_d010_res_map.get( EKK0251D010CBSMsg.SVC_KEI_KAISEN_UCWK_NO )  );
			reqMap = mapper.setEKK0241A010( param, fixedText, condMap );
			resMap = scCall.run( reqMap, keepSesHandle );
			HashMap<String, Object> ekk0241_a101_map = mapper.getEKK0241A010( param, fixedText, resMap );
			mapper.scResultCheck( param );

			// 回線使用開始年月日をデフォルト値(2099/12/31)に変更
			ekk0241_a101_map.put( EKK0241A010CBSMsg1List.KAISEN_UCWK_USE_STAYMD , JKKAdchgConstCC.DEFAULT_RSV_APLY_YMD);
			
			/** EKK0241C010 回線対象サービス契約変更 */
			reqMap = mapper.setEKK0241C010( param, fixedText, ekk0241_a101_map );
			resMap = scCall.run( reqMap, keepSesHandle );
			mapper.getEKK0241C010(param, fixedText, resMap);
			mapper.scResultCheck( param );
		}
	}

	/**
	 * サービス契約 全更新処理.
	 * <dd>サービス契約及びサービス契約に紐づく全てのサービス契約内訳を更新する.
	 * @param   param      モデルグループ、コントロールマップを含むリクエストパラメータ
	 * @param   fixedText  ユーザ任意文字列
	 * @throws  Exception  例外が発生した場合
	 */
	public void svcKeiAllUpd( IRequestParameterReadWrite param, String fixedText ) throws Exception {

		/** 事前準備 */
		HashMap<String, Object> paramMap = (HashMap<String, Object>)param.getData(fixedText);


		/** サービス契約料金プラン変更  */
		svcKeiUpd( param, fixedText );

// DB結果検証障害対応 No.32,35,40,57 OIJI DEL START -------------------------------
// サービス契約内訳の料金プラン変更はTVのみのため、別箇所にて対応
//		// ●● 品向対応 No147 START
//		/** 事前準備 */
//		HashMap<String, String> condMap;
//		HashMap<String, Object> reqMap;
//		Map<?, ?> resMap;
//
//		// 住所変更登録コモンコンポーネントマッピングクラスインスタンスを取得
//		JKKAdchgMapperCC mapper = JKKAdchgMapperCC.getInstance();
//
//		// SCリクエストInvokerを取得
//		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
//		/** 料金コース情報（料金コース種別コードがサービス契約内訳）を取得 */
//		// ・EKK0791B003 料金コース一覧照会2
//		condMap = new HashMap<String, String>();
//		condMap.put( JKKAdchgMapperCC.COND_KEY_PRC_GRP_CD, null );
//		condMap.put( JKKAdchgMapperCC.COND_KEY_PCRS_SBT_CD, "2" );
//		reqMap = mapper.setEKK0791B003( param, fixedText, condMap );
//		resMap = scCall.run( reqMap, keepSesHandle );
//		ArrayList<HashMap<String, Object>> kk0791_b003_map_list = mapper.getEKK0791B003( param, fixedText, resMap );
//		mapper.scResultCheck( param );
//		// 料金コース種別コードが"２"：サービス契約内訳の料金コースコードを設定
//		ArrayList<String> pcrsInfoList = new ArrayList<String>();
//		for(HashMap<String, Object> kk0791_b003_map : kk0791_b003_map_list) {
//			pcrsInfoList.add( (String)kk0791_b003_map.get( EKK0791B003CBSMsg1List.PCRS_CD ) );
//		}
//// ●● 品向対応 No147 END
//
//		/** パラメータからの展開 */
//		// param.サービス契約内訳情報リスト を抽出
//		ArrayList<HashMap<String, Object>> svc_kei_ucwk_list = (ArrayList<HashMap<String, Object>>)paramMap.get( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UCWK_LIST );
//
//		/** サービス契約内訳料金プラン変更ループ */
//		Iterator<HashMap<String, Object>> svc_kei_ucwk_list_ite = svc_kei_ucwk_list.iterator();
//		while( svc_kei_ucwk_list_ite.hasNext() ){
//
//			/** サービス契約内訳料金プラン変更 */
//			HashMap<String, Object> cur_svc_kei_ucwk = svc_kei_ucwk_list_ite.next();
//// ●● 品向対応 No147 START
//			if(!pcrsInfoList.contains( (String)cur_svc_kei_ucwk.get( "svc_kei_ucwk_pcrs_cd" ) ) ) {
//				continue;
//			}
//// ●● 品向対応 No147 END
//			svcKeiUcwkCmnUpd( param, cur_svc_kei_ucwk, fixedText );
//		}
// DB結果検証障害対応 No.32,35,40,57 OIJI DEL END ---------------------------------
	}

	/**
	 * サービス契約 更新処理.
	 * @param   param      モデルグループ、コントロールマップを含むリクエストパラメータ
	 * @param   fixedText  ユーザ任意文字列
	 * @throws  Exception  例外が発生した場合
	 */
	public void svcKeiUpd( IRequestParameterReadWrite param, String fixedText ) throws Exception {

		/** 事前準備 */
		HashMap<String, String> condMap;
		HashMap<String, Object> paramMap = (HashMap<String, Object>)param.getData(fixedText);
		HashMap<String, Object> reqMap;
		Map<?, ?> resMap;

		// 住所変更登録コモンコンポーネントマッピングクラスインスタンスを取得
		JKKAdchgMapperCC mapper = JKKAdchgMapperCC.getInstance();

		// SCリクエストInvokerを取得
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();


		/** プラン変更有無判定 */
		if( !isChgPlan( param, fixedText ) ){
// ●● IT1-2012-0000369 START
			/** 転居元でのサービス契約を取得 */
			// ・EKK0081A010  サービス契約一意照会
			condMap = new HashMap<String, String>();
			condMap.put( JKKAdchgMapperCC.COND_KEY_SVC_KEI_NO, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_NO ) );
			condMap.put( JKKAdchgMapperCC.COND_KEY_OPEDATE, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_OPE_DATE ) );
			reqMap = mapper.setEKK0081A010( param, fixedText, condMap );
			resMap = scCall.run( reqMap, keepSesHandle );
			HashMap<String, Object> kk0081_a010_map = mapper.getEKK0081A010( param, fixedText, resMap );
			mapper.scResultCheck( param );

			// サービスコード
			String svc_cd = (String)kk0081_a010_map.get( EKK0081A010CBSMsg1List.SVC_CD );
			// 異動区分
			kk0081_a010_map.put( EKK0081A010CBSMsg1List.IDO_DIV , paramMap.get( JKKAdchgConstCC.PARAM_KEY_IDO_DIV ) );
			// 提供方式契約番号
			kk0081_a010_map.put( EKK0081A010CBSMsg1List.TK_HOSHIKI_KEI_NO , paramMap.get( JKKAdchgConstCC.PARAM_KEY_TK_HOSHIKI_KEI_NO ) );
			// 更新年月日時分秒
			kk0081_a010_map.put( JKKAdchgMapperCC.UPD_DT_SVC_KEI_UPD_DTM_BEF, getUpdDtmBef( (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UPD_DTM_BEF )
					, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UPD_DTM_AFT ) ) );
// ▼▼▼ ST2-2012-0000853対応 ADD 住変登録時の申込明細番号を設定 ▼▼▼
			// kk0081_a010_map.申込明細番号をparam.申込明細番号に差替
			kk0081_a010_map.put( EKK0081A010CBSMsg1List.MSKM_DTL_NO, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_MSKM_DTL_NO ) );
// ▲▲▲ ST2-2012-0000853対応 ADD 住変登録時の申込明細番号を設定 ▲▲▲
			// サービスコードが電話の場合
			if( JKKAdchgConstCC.CD00130_TEL_SVC.equals( svc_cd ) ) {
				// サービス契約＜eo光電話＞情報変更
				upd_EKK0111C040(param, fixedText, kk0081_a010_map);
			// サービスコードがテレビの場合
			} else if( JKKAdchgConstCC.CD00130_TV_SVC.equals( svc_cd ) ) {
				// サービス契約＜eo光TV＞情報変更
				upd_EKK0101C040(param, fixedText, kk0081_a010_map);
			}
// ●● IT1-2012-0000369 END
// ●● IT故障対応(No97) START
			// 現在のサービス契約番号を払出_サービス契約番号へ設定
			paramMap.put( JKKAdchgConstCC.PARAM_KEY_NEW_SVC_KEI_NO, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_NO ) );
			String befUpdDtm = (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UPD_DTM_BEF );
			String aftUpdDtm = (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UPD_DTM_AFT );
			// 更新後の更新年月日時分秒をparamへ設定
			paramMap.put( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UPD_DTM_AFT, getUpdDtmBef( befUpdDtm, aftUpdDtm ) );
// ●● IT故障対応(No97) END
			// プラン変更有無判定がfalseの場合、後続の処理は不要の為、処理終了
			return;
		}


		/** サービス契約料金プラン変更  */

		// ・EKK0081A010  サービス契約一意照会
		condMap = new HashMap<String, String>();
		condMap.put( JKKAdchgMapperCC.COND_KEY_SVC_KEI_NO, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_NO ) );
		condMap.put( JKKAdchgMapperCC.COND_KEY_OPEDATE, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_OPE_DATE ) );
		reqMap = mapper.setEKK0081A010( param, fixedText, condMap );
		resMap = scCall.run( reqMap, keepSesHandle );
		HashMap<String, Object> kk0081_a010_map = mapper.getEKK0081A010( param, fixedText, resMap );
		mapper.scResultCheck( param );


		// kk0081_a010_map.申込明細番号をparam.申込明細番号に差替
		kk0081_a010_map.put( EKK0081A010CBSMsg1List.MSKM_DTL_NO, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_MSKM_DTL_NO ) );
		// kk0081_a010_map.料金グループコードをparam.料金グループに差替
		kk0081_a010_map.put( EKK0081A010CBSMsg1List.PRC_GRP_CD, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_PGRP ) );
		// kk0081_a010_map.料金コースコードをparam.契約サービスに差替
		kk0081_a010_map.put( EKK0081A010CBSMsg1List.PCRS_CD, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_KEI_SVC ) );
		// kk0081_a010_map.料金プランコードをparam.料金プランに差替
		kk0081_a010_map.put( EKK0081A010CBSMsg1List.PPLAN_CD, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_PPLAN ) );
		// kk0081_a010_map.異動区分をparam.異動区分に差替
		kk0081_a010_map.put( EKK0081A010CBSMsg1List.IDO_DIV, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_IDO_DIV ) );
// ●● マンション対応 START
		// kk0081_a010_map.提供方式契約番号をparam.提供方式契約番号に差替
		kk0081_a010_map.put( EKK0081A010CBSMsg1List.TK_HOSHIKI_KEI_NO, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_TK_HOSHIKI_KEI_NO ) );
// ●● マンション対応 END
// ●● IT1-2012-0000397 照査対応 START
		kk0081_a010_map.put( EKK0081A010CBSMsg1List.RSV_APLY_YMD, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_CHG_RSV_YMD ) );
// ●● IT1-2012-0000397 照査対応 END

// ●●IT2 2012-03-14 住変機器障害対応 START
		// kk0081_a010_mapへ更新年月日時分秒(更新前)を設定
		//String befUpdDtm = (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UPD_DTM_BEF );
		//String aftUpdDtm = (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UPD_DTM_AFT );
		//kk0081_a010_map.put( JKKAdchgMapperCC.UPD_DT_SVC_KEI_UPD_DTM_BEF, getUpdDtmBef( befUpdDtm, aftUpdDtm ) );
		kk0081_a010_map.put( JKKAdchgMapperCC.UPD_DT_SVC_KEI_UPD_DTM_BEF, (String) kk0081_a010_map.get(EKK0081A010CBSMsg1List.LAST_UPD_DTM) );
// ●●IT2 2012-03-14 住変機器障害対応 END
		
		// ・EKK0081C110  サービス契約料金プラン変更
		reqMap = mapper.setEKK0081C110( param, fixedText, kk0081_a010_map );
		resMap = scCall.run( reqMap, keepSesHandle );
		HashMap<String, Object> kk0081_c110_map = mapper.getEKK0081C110( param, fixedText, resMap );
		mapper.scResultCheck( param );

		// 現在のサービス契約番号を払出_サービス契約番号へ設定
		paramMap.put( JKKAdchgConstCC.PARAM_KEY_NEW_SVC_KEI_NO, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_NO ) );

		// 更新後の更新年月日時分秒をparamへ設定
		paramMap.put( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UPD_DTM_AFT, (String)kk0081_c110_map.get( EKK0081C110CBSMsg.UPD_DTM ) );
	}

	// ▼▼▼ 2012-02-18 #SUB2-6 ADD ▼▼▼
	/**
	 * サービス契約内訳継続処理.
	 * <br>
	 * @param   param          モデルグループ、コントロールマップを含むリクエストパラメータ
	 * @param   svcKeiUcwkMap  登録対象となるサービス契約内訳情報マップ
	 * @param   fixedText      ユーザ任意文字列
	 * @throws  Exception      例外が発生した場合
	 */
	public void svcKeiUcwkCmnKeep( IRequestParameterReadWrite param, HashMap<String, Object> svcKeiUcwkMap, String fixedText ) throws Exception {

		/** 事前準備 */
		HashMap<String, String> condMap;
		HashMap<String, Object> paramMap = (HashMap<String, Object>)param.getData(fixedText);
		HashMap<String, Object> reqMap;
		Map<?, ?> resMap;

		// 住所変更登録コモンコンポーネントマッピングクラスインスタンスを取得
		JKKAdchgMapperCC mapper = JKKAdchgMapperCC.getInstance();

		// SCリクエストInvokerを取得
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();

		/********************************************************
		 * EKK0161A010 サービス契約内訳一意照会
		 ********************************************************/
		condMap = new HashMap<String, String>();
		condMap.put( JKKAdchgMapperCC.COND_KEY_SVC_KEI_UCWK_NO, svcKeiUcwkMap.get( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UCWK_NO ).toString() );
		condMap.put( JKKAdchgMapperCC.COND_KEY_OPEDATE, paramMap.get( JKKAdchgConstCC.PARAM_KEY_OPE_DATE ).toString() );
		reqMap = mapper.setEKK0161A010( param, fixedText, condMap );
		resMap = scCall.run( reqMap, keepSesHandle );
		HashMap<String, Object> kk0161_a010_map = mapper.getEKK0161A010( param, fixedText, resMap );
		mapper.scResultCheck( param );

		/** サービス契約内訳 サービス契約変更 */
		// kk0161_d010_map.異動区分 ⇒ パラメータ.異動区分
		kk0161_a010_map.put( EKK0161A010CBSMsg1List.IDO_DIV, paramMap.get( JKKAdchgConstCC.PARAM_KEY_IDO_DIV ).toString() );
		// 更新年月日時分秒(更新前)
		kk0161_a010_map.put( "upd_dtm_bf", getUpdDtm(paramMap, svcKeiUcwkMap) );
//// ●● IT1-2012-0000397 照査対応 START
//		kk0161_a010_map.put( EKK0161C080CBSMsg.RSV_APLY_YMD, paramMap.get( JKKAdchgConstCC.PARAM_KEY_CHG_RSV_YMD ).toString() );
//// ●● IT1-2012-0000397 照査対応 END
		kk0161_a010_map.put( EKK0161C080CBSMsg.RSV_APLY_YMD, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_OPE_DATE ) );
		

// 障害対応 IT1-2012-0000636 T.SAKAMOTO MOD START ----------
//		// EKK0161C080 サービス契約内訳サービス契約変更
//		reqMap = mapper.setEKK0161C080( param, fixedText, kk0161_a010_map );
//		resMap = scCall.run( reqMap, keepSesHandle );
//		HashMap<String, Object> kk0161_c080_map = mapper.getEKK0161C080( param, fixedText, resMap );
//		mapper.scResultCheck( param );
//
//		// 更新年月日時分秒(更新後)
//		svcKeiUcwkMap.put( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UCWK_UPD_DTM_AFT, kk0161_c080_map.get( EKK0161C110CBSMsg.UPD_DTM ).toString() );
//		// 更新年月日時分秒(更新後) ⇒ パラメータ.サービス契約更新年月日時分秒(更新後) … 親レコードの反映
//		paramMap.put( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UPD_DTM_AFT, kk0161_c080_map.get( EKK0161C110CBSMsg.UPD_DTM ).toString() );
//		// 変更後識別番号を設定
//		svcKeiUcwkMap.put( JKKAdchgConstCC.PARAM_KEY_ADCHG_DTL_CHAF_SKBT_NO, svcKeiUcwkMap.get( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UCWK_NO ) );
		
		/********************************************************
		 * EKK0171A010　サービス契約内訳＜eo光ネット＞一意照会
		 ********************************************************/
		condMap = new HashMap<String, String>();
		condMap.put( JKKAdchgMapperCC.COND_KEY_SVC_KEI_UCWK_NO, (String) svcKeiUcwkMap.get( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UCWK_NO ) );
		reqMap = mapper.setEKK0171A010( param, fixedText, condMap );
		resMap = scCall.run( reqMap, keepSesHandle );
		HashMap<String, Object> kk0171_a010_map = mapper.getEKK0171A010( param, fixedText, resMap );
		mapper.scResultCheck( param );


// 住所変更専用SIF差替 OIJI MOD START -------------------------------
//		/********************************************************
//		 * EKK0171C040  サービス契約内訳＜eo光ネット＞情報変更
//		 ********************************************************/
//		// 更新年月日時分秒を設定
//		kk0171_a010_map.put(JKKAdchgMapperCC.UPD_DT_SVC_KEI_UCWK_UPD_DTM_BEF, kk0171_a010_map.get(EKK0171A010CBSMsg1List.LAST_UPD_DTM));
//		reqMap = mapper.setEKK0171C050( param, fixedText, kk0161_a010_map, kk0171_a010_map );
//		resMap = scCall.run( reqMap, keepSesHandle );
//		HashMap<String, Object> kk0171_c050_map = mapper.getEKK0171C050( param, fixedText, resMap );
//		mapper.scResultCheck( param );
//
//		// 更新年月日時分秒(更新後)
//		svcKeiUcwkMap.put( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UCWK_UPD_DTM_AFT, (String) kk0171_c050_map.get( EKK0171C050CBSMsg.UPD_DTM ));
//		// 更新年月日時分秒(更新後) ⇒ パラメータ.サービス契約更新年月日時分秒(更新後) … 親レコードの反映
//		paramMap.put( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UPD_DTM_AFT, (String) kk0171_c050_map.get( EKK0171C050CBSMsg.UPD_DTM ));
//		// 変更後識別番号を設定
//		svcKeiUcwkMap.put( JKKAdchgConstCC.PARAM_KEY_ADCHG_DTL_CHAF_SKBT_NO, svcKeiUcwkMap.get( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UCWK_NO ) );
		/********************************************************
		 * EKK0171C041  サービス契約内訳＜eo光ネット＞情報変更（住所変更）
		 ********************************************************/
// 住所変更専用SIF差替 OIJI MOD START -------------------------------
		kk0161_a010_map.put(EKK0161A010CBSMsg1List.MSKM_DTL_NO, (String) paramMap.get( JKKAdchgConstCC.PARAM_KEY_MSKM_DTL_NO ));
// 住所変更専用SIF差替 OIJI MOD END ---------------------------------
		// 更新年月日時分秒を設定
		kk0171_a010_map.put(JKKAdchgMapperCC.UPD_DT_SVC_KEI_UCWK_UPD_DTM_BEF, kk0171_a010_map.get(EKK0171A010CBSMsg1List.LAST_UPD_DTM));
		reqMap = mapper.setEKK0171C051( param, fixedText, kk0161_a010_map, kk0171_a010_map );
		resMap = scCall.run( reqMap, keepSesHandle );
		HashMap<String, Object> kk0171_c051_map = mapper.getEKK0171C051( param, fixedText, resMap );
		mapper.scResultCheck( param );

		// 更新年月日時分秒(更新後)
		svcKeiUcwkMap.put( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UCWK_UPD_DTM_AFT, (String) kk0171_c051_map.get( EKK0171C050CBSMsg.UPD_DTM ));
		// 更新年月日時分秒(更新後) ⇒ パラメータ.サービス契約更新年月日時分秒(更新後) … 親レコードの反映
		paramMap.put( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UPD_DTM_AFT, (String) kk0171_c051_map.get( EKK0171C050CBSMsg.UPD_DTM ));
		// 変更後識別番号を設定
		svcKeiUcwkMap.put( JKKAdchgConstCC.PARAM_KEY_ADCHG_DTL_CHAF_SKBT_NO, svcKeiUcwkMap.get( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UCWK_NO ) );
// 住所変更専用SIF差替 OIJI MOD END ---------------------------------
// 障害対応 IT1-2012-0000636 T.SAKAMOTO MOD START ----------
	}
	// ▲▲▲ 2012-02-18 #SUB2-6 ADD ▲▲▲

// DB結果検証障害対応 No.32,35,40,57 OIJI DEL START -------------------------------
//	/**
//	 * サービス契約内訳更新処理.
//	 * <br>
//	 * @param   param          モデルグループ、コントロールマップを含むリクエストパラメータ
//	 * @param   svcKeiUcwkMap  登録対象となるサービス契約内訳情報マップ
//	 * @param   fixedText      ユーザ任意文字列
//	 * @throws  Exception      例外が発生した場合
//	 */
//	public void svcKeiUcwkCmnUpd( IRequestParameterReadWrite param, HashMap<String, Object> svcKeiUcwkMap, String fixedText ) throws Exception {
//
//		/** 事前準備 */
//		HashMap<String, String> condMap;
//		HashMap<String, Object> paramMap = (HashMap<String, Object>)param.getData(fixedText);
//		HashMap<String, Object> reqMap;
//		Map<?, ?> resMap;
//
//		// 住所変更登録コモンコンポーネントマッピングクラスインスタンスを取得
//		JKKAdchgMapperCC mapper = JKKAdchgMapperCC.getInstance();
//
//		// SCリクエストInvokerを取得
//		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
//
//// ●● 品向 No.131 対応 START
//		// 仕様的に契約サービス内訳番号がない場合があるため
//		if (StringUtils.isEmpty((String)svcKeiUcwkMap.get( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UCWK_NO ))) {
//			return;
//		}
//// ●● 品向 No.131 対応 END
//
//		/** プラン変更有無判定 */
//		if( !isChgPlan( param, fixedText ) ){
//
//			// プラン変更有無判定がfalseの場合、後続の処理は不要の為、処理終了
//			return;
//		}
//
//
//		/** サービス契約内訳 一意照会 */
//		// ・EKK0161A010  サービス契約内訳一意照会
//		condMap = new HashMap<String, String>();
//		condMap.put( JKKAdchgMapperCC.COND_KEY_SVC_KEI_UCWK_NO, (String)svcKeiUcwkMap.get( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UCWK_NO ) );
//		condMap.put( JKKAdchgMapperCC.COND_KEY_OPEDATE, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_OPE_DATE ) );
//		reqMap = mapper.setEKK0161A010( param, fixedText, condMap );
//		resMap = scCall.run( reqMap, keepSesHandle );
//		HashMap<String, Object> kk0161_a010_map = mapper.getEKK0161A010( param, fixedText, resMap );
//		mapper.scResultCheck( param );
//
//
//		/** サービス契約内訳料金プラン変更 */
//		// kk0161_a010_map.申込明細番号をparam.申込明細番号に差替
//		kk0161_a010_map.put( EKK0161A010CBSMsg1List.MSKM_DTL_NO, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_MSKM_DTL_NO ) );
//		// kk0161_a010_map.サービス利用開始希望年月日をparam.サービス利用開始希望年月日に差替
//		kk0161_a010_map.put( EKK0161A010CBSMsg1List.SVC_USE_STA_KIBO_YMD, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_SVC_USE_STA_KIBO_YMD ) );
//		// kk0161_a010_map.予約適用開始希望年月日をparam.変更予定年月日に差替
//		kk0161_a010_map.put( EKK0161A010CBSMsg1List.RSV_TSTA_KIBO_YMD, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_CHG_RSV_YMD ) );
//		// kk0161_a010_map.料金グループコードをparam.料金グループに差替
//		kk0161_a010_map.put( EKK0081A010CBSMsg1List.PRC_GRP_CD, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_PGRP ) );
//		// ▼▼▼ 2012-03-07 HINKO.#120 CHG ▼▼▼
//		// テレビに紐づくコードを設定する
//		if ( "11".equals( paramMap.get( JKKAdchgConstCC.PARAM_KEY_PGRP ).toString() ) ) {
//			// 料金コースコード
//			kk0161_a010_map.put( EKK0081A010CBSMsg1List.PCRS_CD, svcKeiUcwkMap.get( "svc_kei_ucwk_pcrs_cd" ).toString() );
//			// 料金プランコード
//			kk0161_a010_map.put( EKK0081A010CBSMsg1List.PPLAN_CD, svcKeiUcwkMap.get( "svc_kei_ucwk_pplan_cd" ).toString() );
//		} else {
//			// kk0161_a010_map.料金コースコードをparam.契約サービスに差替
//			kk0161_a010_map.put( EKK0081A010CBSMsg1List.PCRS_CD, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_KEI_SVC ) );
//			// kk0161_a010_map.料金プランコードをparam.料金プランに差替
//			kk0161_a010_map.put( EKK0081A010CBSMsg1List.PPLAN_CD, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_PPLAN ) );
//		}
////		// kk0161_a010_map.料金コースコードをparam.契約サービスに差替
////		kk0161_a010_map.put( EKK0081A010CBSMsg1List.PCRS_CD, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_KEI_SVC ) );
////		// kk0161_a010_map.料金プランコードをparam.料金プランに差替
////		kk0161_a010_map.put( EKK0081A010CBSMsg1List.PPLAN_CD, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_PPLAN ) );
//		// ▲▲▲ 2012-03-07 HINKO.#120 CHG ▲▲▲
//		// kk0161_d010_map.異動区分をparam.異動区分に差替
//		kk0161_a010_map.put( EKK0161A010CBSMsg1List.IDO_DIV, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_IDO_DIV ) );
//// ●● マンション対応 START
//		// kk0161_a010_map.提供方式契約番号をparam.提供方式契約番号に差替
//		kk0161_a010_map.put( EKK0161A010CBSMsg1List.TK_HOSHIKI_KEI_NO, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_TK_HOSHIKI_KEI_NO ) );
//// ●● マンション対応 END
////// ●● IT1-2012-0000397 照査対応 START
////		kk0161_a010_map.put( EKK0161A010CBSMsg1List.RSV_APLY_YMD, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_CHG_RSV_YMD ) );
////// ●● IT1-2012-0000397 照査対応 END
//// 障害対応 IT1-2012-0000636 start ----------
//		kk0161_a010_map.put( EKK0161A010CBSMsg1List.RSV_APLY_YMD, JKKAdchgConstCC.DEFAULT_RSV_APLY_YMD );
//// 障害対応 IT1-2012-0000636 end ----------
//
//// ●● IT故障対応(No100) START
//		// kk0161_d010_mapへ更新年月日時分秒(更新前)を設定
////		String befUpdDtm = (String)svcKeiUcwkMap.get( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UCWK_UPD_DTM_BEF );
////		String aftUpdDtm = (String)svcKeiUcwkMap.get( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UCWK_UPD_DTM_AFT );
////		kk0161_a010_map.put( JKKAdchgMapperCC.UPD_DT_SVC_KEI_UCWK_UPD_DTM_BEF, getUpdDtmBef( befUpdDtm, aftUpdDtm ) );
//		kk0161_a010_map.put( JKKAdchgMapperCC.UPD_DT_SVC_KEI_UCWK_UPD_DTM_BEF, getUpdDtm(paramMap, svcKeiUcwkMap) );
//// ●● IT故障対応(No100) END
//
//		// ・EKK0161C110  サービス契約内訳料金プラン変更
//		reqMap = mapper.setEKK0161C110( param, fixedText, kk0161_a010_map );
//		resMap = scCall.run( reqMap, keepSesHandle );
//		HashMap<String, Object> kk0161_c110_map = mapper.getEKK0161C110( param, fixedText, resMap );
//		mapper.scResultCheck( param );
//
//
//		// 更新後の更新年月日時分秒をparamへ設定
//		svcKeiUcwkMap.put( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UCWK_UPD_DTM_AFT, (String)kk0161_c110_map.get( EKK0161C110CBSMsg.UPD_DTM ) );
//// ●● IT故障対応(No116) START
//		//   親レコードの更新年月日を更新
//		paramMap.put( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UPD_DTM_AFT, (String)kk0161_c110_map.get( EKK0161C110CBSMsg.UPD_DTM ));
//// ●● IT故障対応(No116) END
//	}
// DB結果検証障害対応 No.32,35,40,57 OIJI DEL END ---------------------------------

	/**
	 * サービス契約回線内訳更新処理.
	 * <br>
	 * @param   param      モデルグループ、コントロールマップを含むリクエストパラメータ
	 * @param   fixedText  ユーザ任意文字列
	 * @throws  Exception  例外が発生した場合
	 */
	public void svcKeiKaisUcwkUpd( IRequestParameterReadWrite param, String fixedText ) throws Exception {

		/** 事前準備 */
		HashMap<String, String> condMap;
		HashMap<String, Object> paramMap = (HashMap<String, Object>)param.getData(fixedText);
		HashMap<String, Object> reqMap;
		Map<?, ?> resMap;

		// 住所変更登録コモンコンポーネントマッピングクラスインスタンスを取得
		JKKAdchgMapperCC mapper = JKKAdchgMapperCC.getInstance();

		// SCリクエストInvokerを取得
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();


		// ・EKK0251B003  サービス契約回線内訳一覧照会（現在利用中）
		condMap = new HashMap<String, String>();
		condMap.put( JKKAdchgMapperCC.COND_KEY_SVC_KEI_NO, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_NO ) );
		condMap.put( JKKAdchgMapperCC.COND_KEY_OPEDATE, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_OPE_DATE ) );
		reqMap = mapper.setEKK0251B003( param, fixedText, condMap );
		resMap = scCall.run( reqMap, keepSesHandle );
		ArrayList<HashMap<String, Object>> kk0251_b003_map_lst = mapper.getEKK0251B003( param, fixedText, resMap );
		mapper.scResultCheck( param );


		// param.サービス契約回線情報リスト へ設定する領域を生成
		ArrayList<HashMap<String, Object>> kei_kais_ucwk_list = new ArrayList<HashMap<String, Object>>();

		/** サービス契約回線内訳更新ループ */
		Iterator<HashMap<String, Object>> kk0251_b003_map_lst_ite = kk0251_b003_map_lst.iterator();
		while( kk0251_b003_map_lst_ite.hasNext() ){

			HashMap<String, Object> cur_kk0251_b003 = kk0251_b003_map_lst_ite.next();

			// cur_kk0251_b003.申込明細番号をparam.申込明細番号に差替
			cur_kk0251_b003.put( EKK0251B003CBSMsg1List.MSKM_DTL_NO, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_MSKM_DTL_NO ) );
			// param.移転先_住所未確定を元に、cur_kk0251_b003.回線場所住所未確定フラグを設定
			boolean itens_ad_mi_fix_flg = Boolean.getBoolean( (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_ITENS_AD_MI_FIX_FLG ) );
			if( itens_ad_mi_fix_flg ){
				// 「未確定」を示す値を設定
				cur_kk0251_b003.put( EKK0251B003CBSMsg1List.KISN_PLC_AD_MI_FIX_FLG, JKKAdchgConstCC.CD00002_ARI );
			} else {
				// 「確定」を示す値を設定
				cur_kk0251_b003.put( EKK0251B003CBSMsg1List.KISN_PLC_AD_MI_FIX_FLG, JKKAdchgConstCC.CD00002_NASHI );
			}
			// cur_kk0251_b003.住所未確定解除年月日にnullを設定
			cur_kk0251_b003.put( EKK0251B003CBSMsg1List.KISN_PLC_AD_MI_FIX_RLS_YMD, null );
			// param.契約者住所同時変更有無を元に、cur_kk0251_b003.回線場所_契約者住所差異フラグを設定
			boolean ksh_ad_chg_flg = Boolean.getBoolean( (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_KSH_AD_CHG_FLG ) );
			if( ksh_ad_chg_flg ){
				// 「差異なし」を示す値を設定
				cur_kk0251_b003.put( EKK0251B003CBSMsg1List.KAISEN_PLC_KSH_AD_SAI_FLG, JKKAdchgConstCC.CD00002_NASHI );
			} else {
				// 「差異あり」を示す値を設定
				cur_kk0251_b003.put( EKK0251B003CBSMsg1List.KAISEN_PLC_KSH_AD_SAI_FLG, JKKAdchgConstCC.CD00002_ARI );
			}
			// cur_kk0251_b003.マンション物件番号をparam.移転先_マンション物件番号に差替
			cur_kk0251_b003.put( EKK0251B003CBSMsg1List.MANSION_BUKKEN_NO, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_ITENS_MANSION_BUKKEN_NO ) );
			// cur_kk0251_b003.回線場所電話番号をparam.移転先_電話番号に差替
			cur_kk0251_b003.put( EKK0251B003CBSMsg1List.KAISEN_PLACE_TELNO, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_ITENS_TLN ) );
			// cur_kk0251_b003.回線場所カナ名をparam.移転先_カナ名に差替
			cur_kk0251_b003.put( EKK0251B003CBSMsg1List.KAISEN_PLC_KANA, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_ITENS_KANA ) );
			// cur_kk0251_b003.回線場所住所コードをparam.移転先_住所コードに差替
			cur_kk0251_b003.put( EKK0251B003CBSMsg1List.KAISEN_PLACE_AD_CD, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_ITENS_AD_CD ) );
			// cur_kk0251_b003.回線場所郵便番号をparam.移転先_郵便番号に差替
			cur_kk0251_b003.put( EKK0251B003CBSMsg1List.KAISEN_PLACE_PCD, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_ITENS_POST_CD ) );
			// cur_kk0251_b003.回線場所都道府県名をparam.移転先_都道府県に差替
			cur_kk0251_b003.put( EKK0251B003CBSMsg1List.KAISEN_PLACE_STATE_NM, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_ITENS_AD_STATE ) );
			// cur_kk0251_b003.回線場所市区町村名をparam.移転先_市区町村に差替
			cur_kk0251_b003.put( EKK0251B003CBSMsg1List.KAISEN_PLACE_CITY_NM, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_ITENS_AD_CITY ) );
			// cur_kk0251_b003.回線場所大字通称名をparam.移転先_大字通称名に差替
			cur_kk0251_b003.put( EKK0251B003CBSMsg1List.KAISEN_PLACE_OAZTSU_NM, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_ITENS_AD_OAZTSU ) );
			// cur_kk0251_b003.回線場所字丁目名をparam.移転先_字丁目に差替
			cur_kk0251_b003.put( EKK0251B003CBSMsg1List.KAISEN_PLACE_AZCHO_NM, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_ITENS_AD_AZCHO ) );
			// cur_kk0251_b003.回線場所番地号をparam.移転先_番地・号に差替
			cur_kk0251_b003.put( EKK0251B003CBSMsg1List.KAISEN_PLACE_BNCHIGO, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_ITENS_AD_BNCHIGO ) );
			// cur_kk0251_b003.回線場所住所補記・建物名をparam.移転先_建物名に差替
			cur_kk0251_b003.put( EKK0251B003CBSMsg1List.KAISEN_PLACE_ADRTTM, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_ITENS_AD_ADRTTM ) );
			// cur_kk0251_b003.回線場所住所補記・部屋番号をparam.移転先_部屋番号に差替
			cur_kk0251_b003.put( EKK0251B003CBSMsg1List.KAISEN_PLACE_ADRRM, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_ITENS_AD_ADRRM ) );
// ※※回線場所番号は宅内機器で使用する場所番号をそのまま使用
			// cur_kk0251_b003.回線場所区画整理中フラグへ「整理無し」を示す値を設定
			cur_kk0251_b003.put( EKK0251B003CBSMsg1List.KISN_PLC_KKK_SEIRI_CHU_FLG, JKKAdchgConstCC.DM00022_FALSE );
			// cur_kk0251_b003.回線場所補足コード1へnullを設定
			cur_kk0251_b003.put( EKK0251B003CBSMsg1List.KISN_PLC_HSK_CD_1, null );
			// cur_kk0251_b003.回線場所補足コード2へnullを設定
			cur_kk0251_b003.put( EKK0251B003CBSMsg1List.KISN_PLC_HSK_CD_2, null );
			// cur_kk0251_b003.回線場所補足メモへnullを設定
			cur_kk0251_b003.put( EKK0251B003CBSMsg1List.KISN_PLC_HSK_MEMO, null );
			// param.移転先_住所未確定を元に、cur_kk0251_b003.回線場所住所確定フラグを設定
			if( itens_ad_mi_fix_flg ){
				// 「未確定」を示す値を設定
				cur_kk0251_b003.put( EKK0251B003CBSMsg1List.KISN_PLC_AD_FIX_FLG, JKKAdchgConstCC.CD00002_NASHI );
			} else {
				// 「確定」を示す値を設定
				cur_kk0251_b003.put( EKK0251B003CBSMsg1List.KISN_PLC_AD_FIX_FLG, JKKAdchgConstCC.CD00002_ARI );
			}
			// cur_kk0251_b003.回線場所住所確定後変更可否へ「可」を示す値を設定
// MODEL対応
//			cur_kk0251_b003.put( EKK0251B003CBSMsg1List.KISN_PLC_AD_FIX_AF_CHGE_KH, JKKAdchgConstCC.CD00002_ARI );
// MODEL対応
			// cur_kk0251_b003.住所形態コードをparam.移転先_住所形態に差替
			cur_kk0251_b003.put( EKK0251B003CBSMsg1List.AD_FORM_CD, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_ITENS_AD_FORM ) );
			// cur_kk0251_b003.竣工予定年月日をparam.移転先_竣工予定年月日に差替
			cur_kk0251_b003.put( EKK0251B003CBSMsg1List.SHUNKO_RSV_YMD, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_ITENS_SHUNKO_RSV_YMD ) );
			// cur_kk0251_b003.電力送電予定年月日にnullを設定
			cur_kk0251_b003.put( EKK0251B003CBSMsg1List.EPOWER_SODEN_RSV_YMD, null );
			// cur_kk0251_b003.入居予定年月日をparam.変更予定年月日に差替
			cur_kk0251_b003.put( EKK0251B003CBSMsg1List.NYUKYO_RSV_YMD, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_CHG_RSV_YMD ) );
			// cur_kk0251_b003.引渡し予定年月日にnullを設定
			cur_kk0251_b003.put( EKK0251B003CBSMsg1List.HIKIWATASHI_RSV_YMD, null );
			// cur_kk0251_b003.引越し予定年月日にnullを設定
			cur_kk0251_b003.put( EKK0251B003CBSMsg1List.HIKKOSHI_RSV_YMD, null );
			// cur_kk0251_b003.X座標をparam.移転先_X座標に差替
			cur_kk0251_b003.put( EKK0251B003CBSMsg1List.XZAHYO, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_ITENS_XZAHYO ) );
			// cur_kk0251_b003.Y座標をparam.移転先_Y座標に差替
			cur_kk0251_b003.put( EKK0251B003CBSMsg1List.YZAHYO, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_ITENS_YZAHYO ) );
			// cur_kk0251_b003.経度をparam.移転先_緯度に差替
			cur_kk0251_b003.put( EKK0251B003CBSMsg1List.LGTD, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_ITENS_LGTD ) );
			// cur_kk0251_b003.緯度をparam.移転先_経度に差替
			cur_kk0251_b003.put( EKK0251B003CBSMsg1List.LTTD, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_ITENS_LTTD ) );
			// cur_kk0251_b003.座標補正有無をparam.移転先_座標補正有無に差替
			cur_kk0251_b003.put( EKK0251B003CBSMsg1List.ZAHYO_HOSEI_UM, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_ITENS_ZAHYO_HOSEI_UM ) );
			// cur_kk0251_b003.テレビ個別対応コードにnullを設定
			cur_kk0251_b003.put( EKK0251B003CBSMsg1List.TV_KOBET_TAIO_CD, null );
			// cur_kk0251_b003.TVアンテナ有無にnullを設定
			cur_kk0251_b003.put( EKK0251B003CBSMsg1List.TV_ANTENNA_UM, null );
			// cur_kk0251_b003.方角コード1にnullを設定
			cur_kk0251_b003.put( EKK0251B003CBSMsg1List.DIRECTION_CD_1, null );
			// cur_kk0251_b003.方角コード2にnullを設定
			cur_kk0251_b003.put( EKK0251B003CBSMsg1List.DIRECTION_CD_2, null );
			// cur_kk0251_b003.戸建建築階数コードにnullを設定
			cur_kk0251_b003.put( EKK0251B003CBSMsg1List.KODATE_KCKU_FLR_CNT_CD, null );
			// cur_kk0251_b003.集合住宅入居階数コードをparam.移転先_利用場所階数に差替
			cur_kk0251_b003.put( EKK0251B003CBSMsg1List.SHUGJ_NYUKYO_FLR_CNT_CD, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_ITENS_FLR_CNT ) );
			// cur_kk0251_b003.PON種別コードにnullを設定
			cur_kk0251_b003.put( EKK0251B003CBSMsg1List.PON_SBT_CD, null );
			// cur_kk0251_b003.回線提供会社コードを「K-OPT」を示すコード値に差替
			cur_kk0251_b003.put( EKK0251B003CBSMsg1List.KAISEN_TK_COMP_CD, JKKAdchgConstCC.CD00092_KOPT );
			// cur_kk0251_b003.VDSL利用電話回線種別コードにnullを設定
			cur_kk0251_b003.put( EKK0251B003CBSMsg1List.VDSL_USE_TEL_KISN_SBT_CD, null );
			// cur_kk0251_b003.VDSL利用電話回線切替予定年月日にnullを設定
			cur_kk0251_b003.put( EKK0251B003CBSMsg1List.VDSL_USE_DKSN_SWCH_RSV_YMD, null );
			// cur_kk0251_b003.VDSL利用対象電話番号回線種別コードにnullを設定
			cur_kk0251_b003.put( EKK0251B003CBSMsg1List.VDSL_USE_TG_DBKSN_SBT_CD, null );
			// cur_kk0251_b003.VDSL利用対象電話番号にnullを設定
			cur_kk0251_b003.put( EKK0251B003CBSMsg1List.VDSL_USE_TG_TELNO, null );
			// cur_kk0251_b003.引越し年月日にnullを設定
			cur_kk0251_b003.put( EKK0251B003CBSMsg1List.HIKKOSHI_YMD, null );
			// cur_kk0251_b003.該当エリアサービス開始年月日にnullを設定
			cur_kk0251_b003.put( EKK0251B003CBSMsg1List.GAITO_AREA_SVC_STAYMD, null );
			// cur_kk0251_b003.撤去工事希望年月日をparam.工事希望年月日に差替
			cur_kk0251_b003.put( EKK0251B003CBSMsg1List.TEKKYO_KOJI_KIBO_YMD, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_KJ_KIBO_YMD ) );
			// cur_kk0251_b003.起点変電所コードにnullを設定
			cur_kk0251_b003.put( EKK0251B003CBSMsg1List.KITEN_HDSHO_CD, null );
			// cur_kk0251_b003.集約局コードにnullを設定
			cur_kk0251_b003.put( EKK0251B003CBSMsg1List.SHYAKK_CD, null );

			// cur_kk0251_b003.更新年月日時分秒(更新前)に更新年月日を設定
			cur_kk0251_b003.put( JKKAdchgMapperCC.UPD_DT_KEI_KAIS_UCWK_UPD_DTM_BEF, (String)cur_kk0251_b003.get( EKK0251B003CBSMsg1List.UPD_DTM ) );


			// ・EKK0251C030  サービス契約回線内訳内容変更
			reqMap = mapper.setEKK0251C030( param, fixedText, cur_kk0251_b003 );
			resMap = scCall.run( reqMap, keepSesHandle );
			HashMap<String, Object> kk0251_c030_map = mapper.getEKK0251C030( param, fixedText, resMap );
			mapper.scResultCheck( param );


			/** 返却するサービス契約回線情報を生成 */
			HashMap<String, Object> kei_kais_ucwk_inf = new HashMap<String, Object>();

			// 更新対象となったサービス回契約回線内訳番号を返却域へ設定
			kei_kais_ucwk_inf.put( JKKAdchgConstCC.PARAM_KEY_NEW_KEI_KAIS_UCWK_NO, (String)cur_kk0251_b003.get( EKK0251B003CBSMsg1List.SVC_KEI_KAISEN_UCWK_NO ) );

			// 更新後の更新年月日時分秒を返却域へ設定
			kei_kais_ucwk_inf.put( JKKAdchgConstCC.PARAM_KEY_KEI_KAIS_UCWK_UPD_DTM_AFT, (String)kk0251_c030_map.get( EKK0251C030CBSMsg.UPD_DTM ) );

			// param.サービス契約回線情報リスト への設定
			kei_kais_ucwk_list.add( kei_kais_ucwk_inf );
		}

		/** パラメータへの展開 */
		// param.サービス契約回線情報リスト への設定
		paramMap.put( JKKAdchgConstCC.PARAM_KEY_KEI_KAIS_UCWK_LIST, kei_kais_ucwk_list );
	}

	/**
	 * 請求書送付先変更処理.
	 * <br>
	 * @param   param      モデルグループ、コントロールマップを含むリクエストパラメータ
	 * @param   fixedText  ユーザ任意文字列
	 * @throws  Exception  例外が発生した場合
	 */
	public void shsUpd( IRequestParameterReadWrite param, String fixedText ) throws Exception {

		/** 事前準備 */
		HashMap<String, String> condMap;
		HashMap<String, Object> paramMap = (HashMap<String, Object>)param.getData(fixedText);
		HashMap<String, Object> reqMap;
		Map<?, ?> resMap;

		// 住所変更登録コモンコンポーネントマッピングクラスインスタンスを取得
		JKKAdchgMapperCC mapper = JKKAdchgMapperCC.getInstance();

		// SCリクエストInvokerを取得
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();


		/** パラメータからの展開 */
		// param.請求書送付先住所変更対象リスト を抽出
		ArrayList<HashMap<String, Object>> seiky_shs_list = (ArrayList<HashMap<String, Object>>)paramMap.get( JKKAdchgConstCC.PARAM_KEY_SEIKY_SHS_CHG_TGT_LIST );

		/** 請求書送付先住所変更ループ */
		Iterator<HashMap<String, Object>> seiky_shs_list_ite = seiky_shs_list.iterator();
		while( seiky_shs_list_ite.hasNext() ){

			HashMap<String, Object> cur_seiky_shs = seiky_shs_list_ite.next();

			// ・EKK0491A010  請求契約一意照会
			condMap = new HashMap<String, String>();
			condMap.put( JKKAdchgMapperCC.COND_KEY_SEIKY_KEI_NO, (String)cur_seiky_shs.get( JKKAdchgConstCC.PARAM_KEY_SEIKY_SHS_CHG_SEIKY_KEI_NO ) );
			condMap.put( JKKAdchgMapperCC.COND_KEY_OPEDATE, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_OPE_DATE ) );
			reqMap = mapper.setEKK0491A010( param, fixedText, condMap );
			resMap = scCall.run( reqMap, keepSesHandle );
			HashMap<String, Object> kk0491_a010_map = mapper.getEKK0491A010( param, fixedText, resMap );
			mapper.scResultCheck( param );


			// kk0491_a010_map.送付先住所コードをparam.移転先_住所コードに差替
			kk0491_a010_map.put( EKK0491A010CBSMsg1List.SOHUS_AD_CD, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_ITENS_AD_CD ) );
			// kk0491_a010_map.送付先郵便番号をparam.移転先_郵便番号に差替
			kk0491_a010_map.put( EKK0491A010CBSMsg1List.SOHUS_PCD, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_ITENS_POST_CD ) );
			// kk0491_a010_map.送付先都道府県名をparam.移転先_都道府県に差替
			kk0491_a010_map.put( EKK0491A010CBSMsg1List.SOHUS_STATE_NM, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_ITENS_AD_STATE ) );
			// kk0491_a010_map.送付先市区町村名をparam.移転先_市区町村に差替
			kk0491_a010_map.put( EKK0491A010CBSMsg1List.SOHUS_CITY_NM, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_ITENS_AD_CITY ) );
			// kk0491_a010_map.送付先大字通称名をparam.移転先_大字通称名に差替
			kk0491_a010_map.put( EKK0491A010CBSMsg1List.SOHUS_OAZTSU_NM, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_ITENS_AD_OAZTSU ) );
			// kk0491_a010_map.送付先字丁目名をparam.移転先_字丁目に差替
			kk0491_a010_map.put( EKK0491A010CBSMsg1List.SOHUS_AZCHO_NM, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_ITENS_AD_AZCHO ) );
			// kk0491_a010_map.送付先住所補記・建物名をparam.移転先_番地・号に差替
			kk0491_a010_map.put( EKK0491A010CBSMsg1List.SOHUS_BNCHIGO, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_ITENS_AD_BNCHIGO ) );
			// kk0491_a010_map.送付先住所補記・部屋番号をparam.移転先_建物名に差替
			kk0491_a010_map.put( EKK0491A010CBSMsg1List.SOHUS_ADRTTM, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_ITENS_AD_ADRTTM ) );
			// kk0491_a010_map.送付先番地号をparam.移転先_部屋番号に差替
			kk0491_a010_map.put( EKK0491A010CBSMsg1List.SOHUS_ADRRM, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_ITENS_AD_ADRRM ) );
			// kk0491_a010_map.送付先電話番号をparam.移転先_電話番号に差替
			kk0491_a010_map.put( EKK0491A010CBSMsg1List.SOHUS_TELNO, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_ITENS_TLN ) );
			// kk0491_a010_map.予約適用開始予定年月日をparam.変更予定年月日に差替
			kk0491_a010_map.put( EKK0491A010CBSMsg1List.RSV_TSTA_KIBO_YMD, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_CHG_RSV_YMD ) );
			// kk0491_a010_map.異動区分をparam.異動区分に差替
			kk0491_a010_map.put( EKK0491A010CBSMsg1List.IDO_DIV, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_IDO_DIV ) );
			// ▼▼▼ 2012-02-20 IT1-2012-0000297 ADD ▼▼▼
			// kk0491_a010_map.申込明細番号をparam.申込明細番号に差替
			kk0491_a010_map.put( EKK0491A010CBSMsg1List.MSKM_DTL_NO, paramMap.get( JKKAdchgConstCC.PARAM_KEY_MSKM_DTL_NO ).toString() );
			// ▲▲▲ 2012-02-20 IT1-2012-0000297 ADD ▲▲▲
// ●● IT1-2012-0000397 照査対応 START
			// kk0491_a010_map.予約適用年月日をparam.変更予定年月日に差替
			kk0491_a010_map.put( EKK0491A010CBSMsg1List.RSV_APLY_YMD, paramMap.get( JKKAdchgConstCC.PARAM_KEY_CHG_RSV_YMD ).toString() );
// ●● IT1-2012-0000397 照査対応 END

// IT1-2012-0000866 2012/06/28 T.SAKAMOTO ADD START
			// kk0491_a010_mapへ請求書送付先_契約者住所差異フラグを設定
			kk0491_a010_map.put(EKK0491A010CBSMsg1List.SKS_SHS_KSH_AD_SAI_FLG,  getAdchgSksShsChgUm(param, paramMap, kk0491_a010_map));
// IT1-2012-0000866 2012/06/28 T.SAKAMOTO ADD START

			// kk0491_a010_mapへ更新年月日時分秒(更新前)を設定
			String befUpdDtm = (String)cur_seiky_shs.get( JKKAdchgConstCC.PARAM_KEY_SEIKY_SHS_CHG_UPD_DTM_BEF );
			String aftUpdDtm = (String)cur_seiky_shs.get( JKKAdchgConstCC.PARAM_KEY_SEIKY_SHS_CHG_UPD_DTM_AFT );
			kk0491_a010_map.put( JKKAdchgMapperCC.UPD_DT_SEIKY_KEI_UPD_DTM_BEF, getUpdDtmBef( befUpdDtm, aftUpdDtm ) );


			// ・EKK0491C060  請求契約内容変更
			reqMap = mapper.setEKK0491C060( param, fixedText, kk0491_a010_map );
			resMap = scCall.run( reqMap, keepSesHandle );
			HashMap<String, Object> kk0491_c060_map = mapper.getEKK0491C060( param, fixedText, resMap );
			mapper.scResultCheck( param );


			// 更新後の更新年月日時分秒をparamへ設定
			cur_seiky_shs.put( JKKAdchgConstCC.PARAM_KEY_SEIKY_SHS_CHG_UPD_DTM_AFT, (String)kk0491_c060_map.get( EKK0491C060CBSMsg.UPD_DTM ) );
		}
	}

// 障害対応 IT1-2012-0000636 start ----------
// 未使用メソッドのためコメントアウト（誤使用防止）
//	/**
//	 * 機器提供サービス契約変更処理.
//	 * <br>
//	 * @param   param         モデルグループ、コントロールマップを含むリクエストパラメータ
//	 * @param   fixedText     ユーザ任意文字列
//	 * @throws  Exception     例外が発生した場合
//	 */
//	public void kktkSvcKeiUpd( IRequestParameterReadWrite param, String fixedText ) throws Exception {
//
//		/** 事前準備 */
//		HashMap<String, String> condMap;
//		HashMap<String, Object> paramMap = (HashMap<String, Object>)param.getData(fixedText);
//		HashMap<String, Object> reqMap;
//		Map<?, ?> resMap;
//
//		// 住所変更登録コモンコンポーネントマッピングクラスインスタンスを取得
//		JKKAdchgMapperCC mapper = JKKAdchgMapperCC.getInstance();
//
//		// SCリクエストInvokerを取得
//		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
//
//
//		/** パラメータからの展開 */
//		// param.機器提供サービス契約情報リスト を抽出
//		ArrayList<HashMap<String, Object>> kktk_svc_list = (ArrayList<HashMap<String, Object>>)paramMap.get( JKKAdchgConstCC.PARAM_KEY_KKTK_SVC_LIST );
//
//		/** 機器提供サービス契約変更ループ */
//		Iterator<HashMap<String, Object>> kktk_svc_list_ite = kktk_svc_list.iterator();
//		while( kktk_svc_list_ite.hasNext() ){
//
//			HashMap<String, Object> cur_kktk_svc = kktk_svc_list_ite.next();
//
//			/** 変更方法 判定 */
//			// param.機器提供サービス契約情報リスト.利用サービス変更区分を取得し、条件分岐
//			String use_kktk_svc_chg_div = (String)cur_kktk_svc.get( JKKAdchgConstCC.PARAM_KEY_USE_KKTK_SVC_CHG_DIV );
//			if( JKKAdchgConstCC.CD00851_ZANCHI.equals( use_kktk_svc_chg_div ) ){
//
//				/** 「残置」の場合、次の機器提供サービス契約を読み出す */
//				continue;
//
//			} else {
//				
//				// ・EKK0341A010  機器提供サービス契約一意照会
//				condMap = new HashMap<String, String>();
//				condMap.put( JKKAdchgMapperCC.COND_KEY_KKTK_SVC_KEI_NO, (String)cur_kktk_svc.get( JKKAdchgConstCC.PARAM_KEY_KKTK_SVC_KEI_NO ) );
//				condMap.put( JKKAdchgMapperCC.COND_KEY_OPEDATE, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_OPE_DATE ) );
//				reqMap = mapper.setEKK0341A010( param, fixedText, condMap );
//				resMap = scCall.run( reqMap, keepSesHandle );
//				HashMap<String, Object> kk0341_a010_map = mapper.getEKK0341A010( param, fixedText, resMap );
//				mapper.scResultCheck( param );
//
//
//				if( JKKAdchgConstCC.CD00851_TEKKYO.equals( use_kktk_svc_chg_div ) ||
//						JKKAdchgConstCC.CD00851_SLRE.equals( use_kktk_svc_chg_div )){
//
//					/** 「撤去」または「解約」の場合、該当契約を解約 */
//
//					// kk0341_a010_map.予約適用開始希望年月日をparam.変更予定年月日に差替
//					kk0341_a010_map.put( EKK0341A010CBSMsg1List.RSV_TSTA_KIBO_YMD, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_CHG_RSV_YMD ) );
//					// kk0341_a010_map.サービス終了年月日をparam.解約年月日に差替
//					kk0341_a010_map.put( EKK0341A010CBSMsg1List.SVC_ENDYMD, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_KJ_DSL_YMD ) );
//					// kk0341_a010_map.サービス課金終了年月日へnullを設定
//					kk0341_a010_map.put( EKK0341A010CBSMsg1List.SVC_CHRG_ENDYMD, null );
//					// kk0341_a010_map.サービス解約理由コードへnullを設定
//					kk0341_a010_map.put( EKK0341A010CBSMsg1List.SVC_DLRE_CD, null );
//					// kk0341_a010_map.サービス解約理由メモへnullを設定
//					kk0341_a010_map.put( EKK0341A010CBSMsg1List.SVC_DLRE_MEMO, null );
//					// kk0341_a010_map.残置フラグへ「無」を設定
//					kk0341_a010_map.put( EKK0341A010CBSMsg1List.ZANCHI_FLG, JKKAdchgConstCC.CD00002_NASHI );
//					// kk0341_a010_map.異動区分をparam.異動区分に差替
//					kk0341_a010_map.put( EKK0341A010CBSMsg1List.IDO_DIV, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_IDO_DIV ) );
//					// kk0341_a010_map.宅内機器異動コードをparam.STB異動区分に差替
//					kk0341_a010_map.put( EKK0341A010CBSMsg1List.TAKNKIKI_IDO_CD, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_STB_IDO_DIV ) );
//
//					// kk0341_a010_mapへ更新年月日時分秒(更新前)を設定
//					String befUpdDtm = (String)cur_kktk_svc.get( JKKAdchgConstCC.PARAM_KEY_KKTK_SVC_KEI_UPD_DTM_BEF );
//					String aftUpdDtm = (String)cur_kktk_svc.get( JKKAdchgConstCC.PARAM_KEY_KKTK_SVC_KEI_UPD_DTM_AFT );
//					kk0341_a010_map.put( JKKAdchgMapperCC.UPD_DT_KKTK_SVC_KEI_UPD_DTM_BEF, getUpdDtmBef( befUpdDtm, aftUpdDtm ) );
//
//
//					// ・EKK0341C340  機器提供サービス契約解約
//					reqMap = mapper.setEKK0341C340( param, fixedText, kk0341_a010_map );
//					resMap = scCall.run( reqMap, keepSesHandle );
//					HashMap<String, Object> kk0341_c340_map = mapper.getEKK0341C340( param, fixedText, resMap );
//					mapper.scResultCheck( param );
//
//
//					// 更新後の更新年月日時分秒をparamへ設定
//					cur_kktk_svc.put( JKKAdchgConstCC.PARAM_KEY_KKTK_SVC_KEI_UPD_DTM_AFT, (String)kk0341_c340_map.get( EKK0341C340CBSMsg.UPD_DTM ) );
//
//				} else {
//
//					/** 「撤去」または「解約」以外の場合、該当契約の情報更新 */
//
//					// 更新後の機器提供サービス契約_更新年月日字分秒 保持域を準備
//					String upd_dtm_now = getUpdDtmBef( (String)cur_kktk_svc.get( JKKAdchgConstCC.PARAM_KEY_KKTK_SVC_KEI_UPD_DTM_BEF ),
//													   (String)cur_kktk_svc.get( JKKAdchgConstCC.PARAM_KEY_KKTK_SVC_KEI_UPD_DTM_AFT ) );
//
//					// 変更手続開始直後の機器提供サービス契約_世代登録年月日時分秒 保持域を準備
//					String gene_add_dtm_now = (String)kk0341_a010_map.get( EKK0341A010CBSMsg1List.GENE_ADD_DTM );
//
//
//					// kk0341_a010_map.予約適用年月日をparam.変更予定年月日に差替
//					kk0341_a010_map.put( EKK0341A010CBSMsg1List.RSV_APLY_YMD, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_CHG_RSV_YMD ) );
//// ◎◎ 20120131 マッピング精査に伴う修正 DEL START
////					// kk0341_a010_map.予約適用コードへ「予約手続中」を設定
////					//   ※※設定すべき予約適用コード値が不明  暫定的に「予約手続中」を設定
////					kk0341_a010_map.put( EKK0341A010CBSMsg1List.RSV_APLY_CD, JKKAdchgConstCC.CD00343_RSV_TTDKCHU );
//// ◎◎ 20120131 マッピング精査に伴う修正 DEL END
//
//					// kk0341_a010_mapへ更新年月日時分秒(更新前)を設定
//					kk0341_a010_map.put( JKKAdchgMapperCC.UPD_DT_KKTK_SVC_KEI_UPD_DTM_BEF, upd_dtm_now );
//
//
//					// ・EKK0341C530  機器提供サービス契約機器変更手続開始
//					reqMap = mapper.setEKK0341C530( param, fixedText, kk0341_a010_map );
//					resMap = scCall.run( reqMap, keepSesHandle );
//					HashMap<String, Object> kk0341_c530_map = mapper.getEKK0341C530( param, fixedText, resMap );
//					mapper.scResultCheck( param );
//
//
//					// 更新後の機器提供サービス契約_更新年月日字分秒 保持域を更新
//					upd_dtm_now = (String)kk0341_c530_map.get( EKK0341C530CBSMsg.UPD_DTM );
//
//					// 変更手続開始直後の機器提供サービス契約_世代登録年月日時分秒 保持域を更新
//					gene_add_dtm_now = (String)kk0341_c530_map.get( EKK0341C530CBSMsg.GENE_ADD_DTM );
//
//
//					// kk0341_a010_map.機器送付先_住所コードをparam.機器送付先住所コードに差替
//					kk0341_a010_map.put( EKK0341A010CBSMsg1List.KIKI_SOHUS_AD_CD, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_KIKI_SHS_AD_CD ) );
//					// kk0341_a010_map.機器送付先_郵便番号をparam.機器送付先郵便番号に差替
//					kk0341_a010_map.put( EKK0341A010CBSMsg1List.KIKI_SOHUS_PCD, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_KIKI_SHS_POST_CD ) );
//					// kk0341_a010_map.機器送付先_都道府県をparam.機器送付先都道府県名に差替
//					kk0341_a010_map.put( EKK0341A010CBSMsg1List.KIKI_SOHUS_STATE_NM, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_KIKI_SHS_AD_STATE ) );
//					// kk0341_a010_map.機器送付先_市区町村をparam.機器送付先市区町村名に差替
//					kk0341_a010_map.put( EKK0341A010CBSMsg1List.KIKI_SOHUS_CITY_NM, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_KIKI_SHS_AD_CITY ) );
//					// kk0341_a010_map.機器送付先_大字通称名をparam.機器送付先大字通称名に差替
//					kk0341_a010_map.put( EKK0341A010CBSMsg1List.KIKI_SOHUS_OAZTSU_NM, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_KIKI_SHS_AD_OAZTSU ) );
//					// kk0341_a010_map.機器送付先_字丁目をparam.機器送付先字丁目名に差替
//					kk0341_a010_map.put( EKK0341A010CBSMsg1List.KIKI_SOHUS_AZCHO_NM, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_KIKI_SHS_AD_AZCHO ) );
//					// kk0341_a010_map.機器送付先_番地・号をparam.機器送付先番地号に差替
//					kk0341_a010_map.put( EKK0341A010CBSMsg1List.KIKI_SOHUS_BNCHIGO, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_KIKI_SHS_AD_BNCHIGO ) );
//					// kk0341_a010_map.機器送付先_建物名をparam.機器送付先住所補記・建物名に差替
//					kk0341_a010_map.put( EKK0341A010CBSMsg1List.KIKI_SOHUS_ADRTTM, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_KIKI_SHS_AD_ADRTTM ) );
//					// kk0341_a010_map.機器送付先_部屋番号をparam.機器送付先住所補記・部屋番号に差替
//					kk0341_a010_map.put( EKK0341A010CBSMsg1List.KIKI_SOHUS_ADRRM, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_KIKI_SHS_AD_ADRRM ) );
//					// kk0341_a010_map.機器送付先_電話番号をparam.機器送付先電話番号に差替
//					kk0341_a010_map.put( EKK0341A010CBSMsg1List.KIKI_SOHUS_TELNO, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_KIKI_SHS_TLN ) );
//					// kk0341_a010_map.異動区分をparam.異動区分に差替
//					kk0341_a010_map.put( EKK0341A010CBSMsg1List.IDO_DIV, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_IDO_DIV ) );
//					// kk0341_a010_mapへ更新年月日時分秒(更新前)を設定
//					kk0341_a010_map.put( JKKAdchgMapperCC.UPD_DT_KKTK_SVC_KEI_UPD_DTM_BEF, upd_dtm_now );
//
//					// ・EKK0341C230  機器提供サービス契約情報変更
//					reqMap = mapper.setEKK0341C230( param, fixedText, kk0341_a010_map );
//					resMap = scCall.run( reqMap, keepSesHandle );
//					HashMap<String, Object> kk0341_c230_map = mapper.getEKK0341C230( param, fixedText, resMap );
//					mapper.scResultCheck( param );
//
//					// 更新後の機器提供サービス契約_更新年月日字分秒 保持域を更新
//					upd_dtm_now = (String)kk0341_c230_map.get( EKK0341C230CBSMsg.UPD_DTM );
//
//
//					// kk0341_a010_map.世代登録年月日時分秒を手続開始直後に退避した世代登録年月日時分秒に差替
//					kk0341_a010_map.put( EKK0341A010CBSMsg1List.GENE_ADD_DTM, gene_add_dtm_now );
//					// kk0341_a010_map.予約適用年月日をparam.変更予定年月日に差替
//					kk0341_a010_map.put( EKK0341A010CBSMsg1List.RSV_APLY_YMD, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_CHG_RSV_YMD ) );
//// ◎◎ 20120131 マッピング精査に伴う修正 DEL START
////					// kk0341_a010_map.予約適用コードへ「予約手続中」を設定
////					//   ※※設定すべき予約適用コード値が不明  暫定的に「予約手続中」を設定
////					kk0341_a010_map.put( EKK0341A010CBSMsg1List.RSV_APLY_CD, JKKAdchgConstCC.CD00343_RSV_TTDKCHU );
//// ◎◎ 20120131 マッピング精査に伴う修正 DEL END
//					// kk0341_a010_mapへ更新年月日時分秒(更新前)を設定
//					kk0341_a010_map.put( JKKAdchgMapperCC.UPD_DT_KKTK_SVC_KEI_UPD_DTM_BEF, upd_dtm_now );
//
//					// ・EKK0341C550  機器提供サービス契約機器変更手続完了
//					reqMap = mapper.setEKK0341C550( param, fixedText, kk0341_a010_map );
//					resMap = scCall.run( reqMap, keepSesHandle );
//					HashMap<String, Object> kk0341_c550_map = mapper.getEKK0341C550( param, fixedText, resMap );
//					mapper.scResultCheck( param );
//
//
//					// 更新後の更新年月日時分秒をparamへ設定
//					cur_kktk_svc.put( JKKAdchgConstCC.PARAM_KEY_KKTK_SVC_KEI_UPD_DTM_AFT, (String)kk0341_c550_map.get( EKK0341C550CBSMsg.UPD_DTM ) );
//				}
//			}
//		}
//	}
// 障害対応 IT1-2012-0000636 end ----------

// ST1-2012-0000760　2012/06/22 T.SAKAMOTO　DEL　START　未使用処理を削除
//// 障害対応 IT1-2012-0000636 start ----------
//	/**
//	 * 機器提供サービス契約変更処理.
//	 * <br>
//	 * @param   param         モデルグループ、コントロールマップを含むリクエストパラメータ
//	 * @param   fixedText     ユーザ任意文字列
//	 * @throws  Exception     例外が発生した場合
//	 */
//	public void kktkSvcKeiUpd( IRequestParameterReadWrite param, String fixedText ) throws Exception {
//
//		/** 事前準備 */
//		HashMap<String, String> condMap;
//		HashMap<String, Object> paramMap = (HashMap<String, Object>)param.getData(fixedText);
//		HashMap<String, Object> reqMap;
//		Map<?, ?> resMap;
//
//		// 住所変更登録コモンコンポーネントマッピングクラスインスタンスを取得
//		JKKAdchgMapperCC mapper = JKKAdchgMapperCC.getInstance();
//
//		// SCリクエストInvokerを取得
//		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
//
//
//		/** パラメータからの展開 */
//		// param.機器提供サービス契約情報リスト を抽出
//		ArrayList<HashMap<String, Object>> kktk_svc_list = (ArrayList<HashMap<String, Object>>)paramMap.get( JKKAdchgConstCC.PARAM_KEY_KKTK_SVC_LIST );
//
//		/** 機器提供サービス契約変更ループ */
//		Iterator<HashMap<String, Object>> kktk_svc_list_ite = kktk_svc_list.iterator();
//		while( kktk_svc_list_ite.hasNext() ){
//
//			HashMap<String, Object> cur_kktk_svc = kktk_svc_list_ite.next();
//
//			/** 変更方法 判定 */
//			// param.機器提供サービス契約情報リスト.利用サービス変更区分を取得し、条件分岐
//			String use_kktk_svc_chg_div = (String)cur_kktk_svc.get( JKKAdchgConstCC.PARAM_KEY_USE_KKTK_SVC_CHG_DIV );
//			if( JKKAdchgConstCC.CD00851_ZANCHI.equals( use_kktk_svc_chg_div ) ){
//
//				/** 「残置」の場合、次の機器提供サービス契約を読み出す */
//				continue;
//
//			} else {
//				
//				// ・EKK0341A010  機器提供サービス契約一意照会
//				condMap = new HashMap<String, String>();
//				condMap.put( JKKAdchgMapperCC.COND_KEY_KKTK_SVC_KEI_NO, (String)cur_kktk_svc.get( JKKAdchgConstCC.PARAM_KEY_KKTK_SVC_KEI_NO ) );
//				condMap.put( JKKAdchgMapperCC.COND_KEY_OPEDATE, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_OPE_DATE ) );
//				reqMap = mapper.setEKK0341A010( param, fixedText, condMap );
//				resMap = scCall.run( reqMap, keepSesHandle );
//				HashMap<String, Object> kk0341_a010_map = mapper.getEKK0341A010( param, fixedText, resMap );
//				mapper.scResultCheck( param );
//
//
//				if( JKKAdchgConstCC.CD00851_TEKKYO.equals( use_kktk_svc_chg_div ) ||
//						JKKAdchgConstCC.CD00851_SLRE.equals( use_kktk_svc_chg_div )){
//
//					/** 「撤去」または「解約」の場合、該当契約を解約 */
//
//					// kk0341_a010_map.予約適用開始希望年月日をparam.変更予定年月日に差替
//					kk0341_a010_map.put( EKK0341A010CBSMsg1List.RSV_TSTA_KIBO_YMD, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_CHG_RSV_YMD ) );
//					// kk0341_a010_map.サービス終了年月日をparam.解約年月日に差替
//					kk0341_a010_map.put( EKK0341A010CBSMsg1List.SVC_ENDYMD, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_KJ_DSL_YMD ) );
//					// kk0341_a010_map.サービス課金終了年月日へnullを設定
//					kk0341_a010_map.put( EKK0341A010CBSMsg1List.SVC_CHRG_ENDYMD, null );
//					// kk0341_a010_map.サービス解約理由コードへnullを設定
//					kk0341_a010_map.put( EKK0341A010CBSMsg1List.SVC_DLRE_CD, null );
//					// kk0341_a010_map.サービス解約理由メモへnullを設定
//					kk0341_a010_map.put( EKK0341A010CBSMsg1List.SVC_DLRE_MEMO, null );
//					// kk0341_a010_map.残置フラグへ「無」を設定
//					kk0341_a010_map.put( EKK0341A010CBSMsg1List.ZANCHI_FLG, JKKAdchgConstCC.CD00002_NASHI );
//					// kk0341_a010_map.異動区分をparam.異動区分に差替
//					kk0341_a010_map.put( EKK0341A010CBSMsg1List.IDO_DIV, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_IDO_DIV ) );
//					// kk0341_a010_map.宅内機器異動コードをparam.STB異動区分に差替
//					kk0341_a010_map.put( EKK0341A010CBSMsg1List.TAKNKIKI_IDO_CD, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_STB_IDO_DIV ) );
//
//					// kk0341_a010_mapへ更新年月日時分秒(更新前)を設定
//					String befUpdDtm = (String)cur_kktk_svc.get( JKKAdchgConstCC.PARAM_KEY_KKTK_SVC_KEI_UPD_DTM_BEF );
//					String aftUpdDtm = (String)cur_kktk_svc.get( JKKAdchgConstCC.PARAM_KEY_KKTK_SVC_KEI_UPD_DTM_AFT );
//					kk0341_a010_map.put( JKKAdchgMapperCC.UPD_DT_KKTK_SVC_KEI_UPD_DTM_BEF, getUpdDtmBef( befUpdDtm, aftUpdDtm ) );
//
//
//					// ・EKK0341C340  機器提供サービス契約解約
//					reqMap = mapper.setEKK0341C340( param, fixedText, kk0341_a010_map );
//					resMap = scCall.run( reqMap, keepSesHandle );
//					HashMap<String, Object> kk0341_c340_map = mapper.getEKK0341C340( param, fixedText, resMap );
//					mapper.scResultCheck( param );
//
//
//					// 更新後の更新年月日時分秒をparamへ設定
//					cur_kktk_svc.put( JKKAdchgConstCC.PARAM_KEY_KKTK_SVC_KEI_UPD_DTM_AFT, (String)kk0341_c340_map.get( EKK0341C340CBSMsg.UPD_DTM ) );
//
//				} else {
//
//					/** 「撤去」または「解約」以外の場合、該当契約の情報更新 */
//
//					// 更新後の機器提供サービス契約_更新年月日字分秒 保持域を準備
//					String upd_dtm_now = getUpdDtmBef( (String)cur_kktk_svc.get( JKKAdchgConstCC.PARAM_KEY_KKTK_SVC_KEI_UPD_DTM_BEF ),
//													   (String)cur_kktk_svc.get( JKKAdchgConstCC.PARAM_KEY_KKTK_SVC_KEI_UPD_DTM_AFT ) );
//
//					// 変更手続開始直後の機器提供サービス契約_世代登録年月日時分秒 保持域を準備
//					String gene_add_dtm_now = (String)kk0341_a010_map.get( EKK0341A010CBSMsg1List.GENE_ADD_DTM );
//
//
//					// kk0341_a010_map.予約適用年月日をparam.変更予定年月日に差替
//					kk0341_a010_map.put( EKK0341A010CBSMsg1List.RSV_APLY_YMD, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_CHG_RSV_YMD ) );
//// ◎◎ 20120131 マッピング精査に伴う修正 DEL START
////					// kk0341_a010_map.予約適用コードへ「予約手続中」を設定
////					//   ※※設定すべき予約適用コード値が不明  暫定的に「予約手続中」を設定
////					kk0341_a010_map.put( EKK0341A010CBSMsg1List.RSV_APLY_CD, JKKAdchgConstCC.CD00343_RSV_TTDKCHU );
//// ◎◎ 20120131 マッピング精査に伴う修正 DEL END
//
//					// kk0341_a010_mapへ更新年月日時分秒(更新前)を設定
//					kk0341_a010_map.put( JKKAdchgMapperCC.UPD_DT_KKTK_SVC_KEI_UPD_DTM_BEF, upd_dtm_now );
//
//
//					// ・EKK0341C530  機器提供サービス契約機器変更手続開始
//					reqMap = mapper.setEKK0341C530( param, fixedText, kk0341_a010_map );
//					resMap = scCall.run( reqMap, keepSesHandle );
//					HashMap<String, Object> kk0341_c530_map = mapper.getEKK0341C530( param, fixedText, resMap );
//					mapper.scResultCheck( param );
//
//
//					// 更新後の機器提供サービス契約_更新年月日字分秒 保持域を更新
//					upd_dtm_now = (String)kk0341_c530_map.get( EKK0341C530CBSMsg.UPD_DTM );
//
//					// 変更手続開始直後の機器提供サービス契約_世代登録年月日時分秒 保持域を更新
//					gene_add_dtm_now = (String)kk0341_c530_map.get( EKK0341C530CBSMsg.GENE_ADD_DTM );
//
//					// 申込明細番号
////				kk0341_a010_map.put( EKK0341A010CBSMsg1List.MSKM_DTL_NO, (String)kk0081_a010_map.get( EKK0081A010CBSMsg1List.MSKM_DTL_NO ) );
//
//					// kk0341_a010_map.機器送付先_住所コードをparam.機器送付先住所コードに差替
//					kk0341_a010_map.put( EKK0341A010CBSMsg1List.KIKI_SOHUS_AD_CD, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_KIKI_SHS_AD_CD ) );
//					// kk0341_a010_map.機器送付先_郵便番号をparam.機器送付先郵便番号に差替
//					kk0341_a010_map.put( EKK0341A010CBSMsg1List.KIKI_SOHUS_PCD, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_KIKI_SHS_POST_CD ) );
//					// kk0341_a010_map.機器送付先_都道府県をparam.機器送付先都道府県名に差替
//					kk0341_a010_map.put( EKK0341A010CBSMsg1List.KIKI_SOHUS_STATE_NM, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_KIKI_SHS_AD_STATE ) );
//					// kk0341_a010_map.機器送付先_市区町村をparam.機器送付先市区町村名に差替
//					kk0341_a010_map.put( EKK0341A010CBSMsg1List.KIKI_SOHUS_CITY_NM, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_KIKI_SHS_AD_CITY ) );
//					// kk0341_a010_map.機器送付先_大字通称名をparam.機器送付先大字通称名に差替
//					kk0341_a010_map.put( EKK0341A010CBSMsg1List.KIKI_SOHUS_OAZTSU_NM, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_KIKI_SHS_AD_OAZTSU ) );
//					// kk0341_a010_map.機器送付先_字丁目をparam.機器送付先字丁目名に差替
//					kk0341_a010_map.put( EKK0341A010CBSMsg1List.KIKI_SOHUS_AZCHO_NM, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_KIKI_SHS_AD_AZCHO ) );
//					// kk0341_a010_map.機器送付先_番地・号をparam.機器送付先番地号に差替
//					kk0341_a010_map.put( EKK0341A010CBSMsg1List.KIKI_SOHUS_BNCHIGO, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_KIKI_SHS_AD_BNCHIGO ) );
//					// kk0341_a010_map.機器送付先_建物名をparam.機器送付先住所補記・建物名に差替
//					kk0341_a010_map.put( EKK0341A010CBSMsg1List.KIKI_SOHUS_ADRTTM, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_KIKI_SHS_AD_ADRTTM ) );
//					// kk0341_a010_map.機器送付先_部屋番号をparam.機器送付先住所補記・部屋番号に差替
//					kk0341_a010_map.put( EKK0341A010CBSMsg1List.KIKI_SOHUS_ADRRM, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_KIKI_SHS_AD_ADRRM ) );
//					// kk0341_a010_map.機器送付先_電話番号をparam.機器送付先電話番号に差替
//					kk0341_a010_map.put( EKK0341A010CBSMsg1List.KIKI_SOHUS_TELNO, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_KIKI_SHS_TLN ) );
//					// kk0341_a010_map.異動区分をparam.異動区分に差替
//					kk0341_a010_map.put( EKK0341A010CBSMsg1List.IDO_DIV, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_IDO_DIV ) );
//					// kk0341_a010_mapへ更新年月日時分秒(更新前)を設定
//					kk0341_a010_map.put( JKKAdchgMapperCC.UPD_DT_KKTK_SVC_KEI_UPD_DTM_BEF, upd_dtm_now );
//
//					// ・EKK0341C230  機器提供サービス契約情報変更
//					reqMap = mapper.setEKK0341C230( param, fixedText, kk0341_a010_map );
//					resMap = scCall.run( reqMap, keepSesHandle );
//					HashMap<String, Object> kk0341_c230_map = mapper.getEKK0341C230( param, fixedText, resMap );
//					mapper.scResultCheck( param );
//
//					// 更新後の機器提供サービス契約_更新年月日字分秒 保持域を更新
//					upd_dtm_now = (String)kk0341_c230_map.get( EKK0341C230CBSMsg.UPD_DTM );
//
//
//					// kk0341_a010_map.世代登録年月日時分秒を手続開始直後に退避した世代登録年月日時分秒に差替
//					kk0341_a010_map.put( EKK0341A010CBSMsg1List.GENE_ADD_DTM, gene_add_dtm_now );
//					// kk0341_a010_map.予約適用年月日をparam.変更予定年月日に差替
//					kk0341_a010_map.put( EKK0341A010CBSMsg1List.RSV_APLY_YMD, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_CHG_RSV_YMD ) );
//// ◎◎ 20120131 マッピング精査に伴う修正 DEL START
////					// kk0341_a010_map.予約適用コードへ「予約手続中」を設定
////					//   ※※設定すべき予約適用コード値が不明  暫定的に「予約手続中」を設定
////					kk0341_a010_map.put( EKK0341A010CBSMsg1List.RSV_APLY_CD, JKKAdchgConstCC.CD00343_RSV_TTDKCHU );
//// ◎◎ 20120131 マッピング精査に伴う修正 DEL END
//					// kk0341_a010_mapへ更新年月日時分秒(更新前)を設定
//					kk0341_a010_map.put( JKKAdchgMapperCC.UPD_DT_KKTK_SVC_KEI_UPD_DTM_BEF, upd_dtm_now );
//
//					// ・EKK0341C550  機器提供サービス契約機器変更手続完了
//					reqMap = mapper.setEKK0341C550( param, fixedText, kk0341_a010_map );
//					resMap = scCall.run( reqMap, keepSesHandle );
//					HashMap<String, Object> kk0341_c550_map = mapper.getEKK0341C550( param, fixedText, resMap );
//					mapper.scResultCheck( param );
//
//
//					// 更新後の更新年月日時分秒をparamへ設定
//					cur_kktk_svc.put( JKKAdchgConstCC.PARAM_KEY_KKTK_SVC_KEI_UPD_DTM_AFT, (String)kk0341_c550_map.get( EKK0341C550CBSMsg.UPD_DTM ) );
//				}
//			}
//		}
//	}
//// 障害対応 IT1-2012-0000636 end ----------
// ST1-2012-0000760　2012/06/22 T.SAKAMOTO　DEL　START　未使用処理を削除

	/**
	 * オプションサービス契約解約処理.
	 * <br>
	 * @param   param         モデルグループ、コントロールマップを含むリクエストパラメータ
	 * @param   fixedText     ユーザ任意文字列
	 * @throws  Exception     例外が発生した場合
	 */
	public void opSvcSlre( IRequestParameterReadWrite param, String fixedText ) throws Exception {

		/** 事前準備 */
		HashMap<String, String> condMap;
		HashMap<String, Object> paramMap = (HashMap<String, Object>)param.getData(fixedText);
		HashMap<String, Object> reqMap;
		Map<?, ?> resMap;

		// 住所変更登録コモンコンポーネントマッピングクラスインスタンスを取得
		JKKAdchgMapperCC mapper = JKKAdchgMapperCC.getInstance();

		// SCリクエストInvokerを取得
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();


		/** パラメータからの展開 */
		// param.オプションサービス契約情報リスト を抽出
		ArrayList<HashMap<String, Object>> op_svc_kei_list = (ArrayList<HashMap<String, Object>>)paramMap.get( JKKAdchgConstCC.PARAM_KEY_OP_SVC_KEI_LIST );

		
		// ガイド誌送付先住所変更対象リストを生成
		ArrayList<String> guide_shs_chg_tgt_lst = new ArrayList<String>();

		// param.ガイド誌送付先住所変更対象リスト を抽出し、
		// 変更対象のオプションサービス契約番号を
		// 生成したリストへ設定
		ArrayList<HashMap<String, Object>> param_guide_shs_chg_tgt_lst = (ArrayList<HashMap<String, Object>>)paramMap.get( JKKAdchgConstCC.PARAM_KEY_GUIDE_SHS_CHG_TGT_LIST );
		if( param_guide_shs_chg_tgt_lst != null ){
			Iterator<HashMap<String, Object>> tgt_lst_Ite = param_guide_shs_chg_tgt_lst.iterator();
			while( tgt_lst_Ite.hasNext() ){

				HashMap<String, Object> cur_tgt = tgt_lst_Ite.next();

/* ★★★ IT2-2012-0001222 UPDATE 2012.07.13 H.MORITA START ★★★ */
				if (cur_tgt == null) {
					continue;
				}

				String choice_div_cd = null;
				choice_div_cd = (String) cur_tgt.get(JKKAdchgConstCC.PARAM_KEY_GUIDE_SHS_OP_CHOICE_DIV_CD);

				if (choice_div_cd == null) {
					continue;
				}
				if ("0".equals(choice_div_cd)) {
					continue;
				}
/* ★★★ IT2-2012-0001222 UPDATE 2012.07.13 H.MORITA START ★★★ */

				guide_shs_chg_tgt_lst.add( (String)cur_tgt.get( JKKAdchgConstCC.PARAM_KEY_GUIDE_SHS_OP_SVC_KEI_NO ) );
			}
		}


		/** オプションサービス契約解約ループ */
		Iterator<HashMap<String, Object>> op_svc_kei_list_ite = op_svc_kei_list.iterator();
// ●● 品向 No.100 対応 START
		String opSvcKeiUpdDtm = "";
// ●● 品行 No.100 対応 END
// DB更新障害対応 No.16,39,58 FUKUNAGA START ---------------------------------
		String opSvcKeiNo = "";
// DB更新障害対応 No.16,39,58 FUKUNAGA END -----------------------------------
		while( op_svc_kei_list_ite.hasNext() ){

			// cur_op_svc_kei.利用サービス変更区分を取得
			HashMap<String, Object> cur_op_svc_kei = op_svc_kei_list_ite.next();
			String use_op_svc_chg_div = (String)cur_op_svc_kei.get( JKKAdchgConstCC.PARAM_KEY_USE_OP_SVC_CHG_DIV );

			// 「引継」であるかを判定
			if( JKKAdchgConstCC.CD00852_KEEP.equals( use_op_svc_chg_div ) ) {

// DB更新障害対応 No.16,39,58 FUKUNAGA START -----------------------------------
				// ・EKK0351A010  オプションサービス契約一意照会
				condMap = new HashMap<String, String>();
				condMap.put( JKKAdchgMapperCC.COND_KEY_OP_SVC_KEI_NO, (String)cur_op_svc_kei.get( JKKAdchgConstCC.PARAM_KEY_OP_SVC_KEI_NO ) );
				condMap.put( JKKAdchgMapperCC.COND_KEY_OPEDATE, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_OPE_DATE ) );
				reqMap = mapper.setEKK0351A010( param, fixedText, condMap );
				resMap = scCall.run( reqMap, keepSesHandle );
				HashMap<String, Object> kk0351_a010_map = mapper.getEKK0351A010( param, fixedText, resMap );
				mapper.scResultCheck( param );

				// kk0351_a010_map.申込明細番号をparam.申込明細番号に差替
				kk0351_a010_map.put( EKK0351A010CBSMsg1List.MSKM_DTL_NO, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_MSKM_DTL_NO ) );
				// kk0351_a010_map.異動区分をparam.異動区分に差替
				kk0351_a010_map.put( EKK0351A010CBSMsg1List.IDO_DIV, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_IDO_DIV ) );

				// kk0351_a010_mapへ更新年月日時分秒(更新前)を設定
				String befUpdDtm = (String)cur_op_svc_kei.get( JKKAdchgConstCC.PARAM_KEY_OP_SVC_KEI_UPD_DTM_BEF );
				String aftUpdDtm = (String)cur_op_svc_kei.get( JKKAdchgConstCC.PARAM_KEY_OP_SVC_KEI_UPD_DTM_AFT );
//●● 品向対応 No121 START
//				kk0351_a010_map.put( JKKAdchgMapperCC.UPD_DT_OP_SVC_KEI_UPD_DTM_BEF, getUpdDtmBef( befUpdDtm, aftUpdDtm) );
				kk0351_a010_map.put( JKKAdchgMapperCC.UPD_DT_OP_SVC_KEI_UPD_DTM_BEF, getUpdDtmBef( getUpdDtmBef( befUpdDtm, aftUpdDtm),
						(String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UPD_DTM_AFT ) ) );
//●● 品向対応 No121 END

				// EKK0361A010  オプションサービス契約＜ISP＞一意照会
				condMap = new HashMap<String, String>();
				condMap.put( JKKAdchgMapperCC.COND_KEY_OP_SVC_KEI_NO, (String)cur_op_svc_kei.get( JKKAdchgConstCC.PARAM_KEY_OP_SVC_KEI_NO ) );
				reqMap = mapper.setEKK0361A010( param, fixedText, condMap );
				resMap = scCall.run( reqMap, keepSesHandle );
				HashMap<String, Object> kk0361_a010_map = mapper.getEKK0361A010( param, fixedText, resMap );
				mapper.scResultCheck( param );
				
				opSvcKeiNo = (String)kk0361_a010_map.get(EKK0361A010CBSMsg1List.OP_SVC_KEI_NO);
				// オプションサービス契約＜ISP＞一意照会で取得できた場合
				if(opSvcKeiNo != null && !"".equals(opSvcKeiNo))
				{
					
					// ●● 品行対応 No114 START
//					kk0361_a010_map.put( JKKAdchgMapperCC.UPD_DT_OP_SVC_KEI_UPD_DTM_BEF, getUpdDtmBef( befUpdDtm, aftUpdDtm) );
					kk0361_a010_map.put( JKKAdchgMapperCC.UPD_DT_OP_SVC_KEI_UPD_DTM_BEF, getUpdDtmBef( getUpdDtmBef( befUpdDtm, aftUpdDtm), 
																					(String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UPD_DTM_AFT) ) );
					// ●● 品行対応 No114 END

					// EKK0361C050  オプションサービス契約＜ISP＞情報変更
					reqMap = mapper.setEKK0361C050( param, fixedText, kk0351_a010_map, kk0361_a010_map );
					resMap = scCall.run( reqMap, keepSesHandle );
					HashMap<String, Object> kk0361_c050_map = mapper.getEKK0361C050( param, fixedText, resMap );
					mapper.scResultCheck( param );

					// 更新後の更新年月日時分秒をparamへ設定
					cur_op_svc_kei.put( JKKAdchgConstCC.PARAM_KEY_OP_SVC_KEI_UPD_DTM_AFT, (String)kk0361_c050_map.get( EKK0361C050CBSMsg.UPD_DTM ) );

					// ●● 品行対応 No114 START
					// サービス契約に対する更新後更新年月日時分秒も更新する
					paramMap.put( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UPD_DTM_AFT , kk0361_c050_map.get(EKK0361C050CBSMsg.UPD_DTM));
					// ●● 品行対応 No114 END

					// サブオプションサービス契約の更新
					updIdoDivForSubOp(param, fixedText, cur_op_svc_kei);

					continue;
				}
				
				// ・EKK0381A010  オプションサービス契約＜TV＞一意照会
				condMap = new HashMap<String, String>();
				condMap.put( JKKAdchgMapperCC.COND_KEY_OP_SVC_KEI_NO, (String)cur_op_svc_kei.get( JKKAdchgConstCC.PARAM_KEY_OP_SVC_KEI_NO ) );
				reqMap = mapper.setEKK0381A010( param, fixedText, condMap );
				resMap = scCall.run( reqMap, keepSesHandle );
				HashMap<String, Object> kk0381_a010_map = mapper.getEKK0381A010( param, fixedText, resMap );
				mapper.scResultCheck( param );
				
				opSvcKeiNo = (String)kk0381_a010_map.get(EKK0381A010CBSMsg1List.OP_SVC_KEI_NO);
				// オプションサービス契約＜TV＞一意照会で取得できた場合
				if(opSvcKeiNo != null && !"".equals(opSvcKeiNo))
				{
					
					// ガイド誌送付先住所変更対象であるかを判定
					String op_svc_kei_no = (String)cur_op_svc_kei.get( JKKAdchgConstCC.PARAM_KEY_OP_SVC_KEI_NO );
					if( guide_shs_chg_tgt_lst.contains( op_svc_kei_no ) ){
	
						/** ガイド誌送付先住所変更 */
						
						// kk0381_a010_map.ガイド誌送付先住所コードへparam.移転先_住所コードを設定
						kk0381_a010_map.put( EKK0381A010CBSMsg1List.GUIDEMG_SOHUS_AD_CD, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_ITENS_AD_CD ) );
						// kk0381_a010_map.ガイド誌送付先郵便番号へparam.移転先_郵便番号を設定
						kk0381_a010_map.put( EKK0381A010CBSMsg1List.GUIDEMG_SOHUS_PCD, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_ITENS_POST_CD ) );
						// kk0381_a010_map.ガイド誌送付先都道府県名へparam.移転先_都道府県を設定
						kk0381_a010_map.put( EKK0381A010CBSMsg1List.GUIDEMG_SOHUS_STATE_NM, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_ITENS_AD_STATE ) );
						// kk0381_a010_map.ガイド誌送付先市区町村名へparam.移転先_市区町村を設定
						kk0381_a010_map.put( EKK0381A010CBSMsg1List.GUIDEMG_SOHUS_CITY_NM, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_ITENS_AD_CITY ) );
						// kk0381_a010_map.ガイド誌送付先大字通称名へparam.移転先_大字通称名を設定
						kk0381_a010_map.put( EKK0381A010CBSMsg1List.GUIDEMG_SOHUS_OAZTSU_NM, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_ITENS_AD_OAZTSU ) );
						// kk0381_a010_map.ガイド誌送付先字丁目名へparam.移転先_字丁目を設定
						kk0381_a010_map.put( EKK0381A010CBSMsg1List.GUIDEMG_SOHUS_AZCHO_NM, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_ITENS_AD_AZCHO ) );
						// kk0381_a010_map.ガイド誌送付先番地号へparam.移転先_番地・号を設定
						kk0381_a010_map.put( EKK0381A010CBSMsg1List.GUIDEMG_SOHUS_BNCHIGO, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_ITENS_AD_BNCHIGO ) );
						// kk0381_a010_map.ガイド誌送付先住所補記・建物名へparam.移転先_建物名を設定
						kk0381_a010_map.put( EKK0381A010CBSMsg1List.GUIDEMG_SOHUS_ADRTTM, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_ITENS_AD_ADRTTM ) );
						// kk0381_a010_map.ガイド誌送付先住所補記・部屋番号へparam.移転先_部屋番号を設定
						kk0381_a010_map.put( EKK0381A010CBSMsg1List.GUIDEMG_SOHUS_ADRRM, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_ITENS_AD_ADRRM ) );
						// kk0381_a010_map.ガイド誌送付先電話番号へparam.移転先_電話番号を設定
						kk0381_a010_map.put( EKK0381A010CBSMsg1List.GUIDEMG_SOHUS_TELNO, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_ITENS_TLN ) );
					}


					// ・EKK0381C050  オプションサービス契約<TV>情報変更
					reqMap = mapper.setEKK0381C050( param, fixedText, kk0351_a010_map, kk0381_a010_map );
					resMap = scCall.run( reqMap, keepSesHandle );
					HashMap<String, Object> kk0381_c050_map = mapper.getEKK0381C050( param, fixedText, resMap );
					mapper.scResultCheck( param );

/* ★★★ IT2-2012-0001222 UPDATE 2012.07.13 H.MORITA START ★★★ */
					String updDtm = null;

					if (guide_shs_chg_tgt_lst.contains(op_svc_kei_no)) {

						// ・EKK0351A010  オプションサービス契約一意照会
						condMap = new HashMap<String, String>();
						condMap.put( JKKAdchgMapperCC.COND_KEY_OP_SVC_KEI_NO, (String)cur_op_svc_kei.get( JKKAdchgConstCC.PARAM_KEY_OP_SVC_KEI_NO ) );
						condMap.put( JKKAdchgMapperCC.COND_KEY_OPEDATE, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_OPE_DATE ) );
						reqMap = mapper.setEKK0351A010( param, fixedText, condMap );
						resMap = scCall.run( reqMap, keepSesHandle );
						kk0351_a010_map = mapper.getEKK0351A010( param, fixedText, resMap );
						mapper.scResultCheck( param );

						/** オプションサービス予約適用年月日入力 */
						HashMap<String, Object> kk0351_c030_inmap = new HashMap<String, Object>();
						kk0351_c030_inmap.put( EKK0351C030CBSMsg.OP_SVC_KEI_NO, (String)kk0351_a010_map.get(EKK0351C030CBSMsg.OP_SVC_KEI_NO));
						kk0351_c030_inmap.put( EKK0351C030CBSMsg.GENE_ADD_DTM, (String)kk0351_a010_map.get(EKK0351C030CBSMsg.GENE_ADD_DTM));
						kk0351_c030_inmap.put( EKK0351C030CBSMsg.MSKM_DTL_NO, (String)kk0351_a010_map.get(EKK0351C030CBSMsg.MSKM_DTL_NO));
						kk0351_c030_inmap.put( EKK0351C030CBSMsg.RSV_APLY_YMD, (String)paramMap.get( "svc_use_sta_kibo_ymd" ));
						kk0351_c030_inmap.put( EKK0351C030CBSMsg.RSV_APLY_CD, "2");
						kk0351_c030_inmap.put( EKK0351C030CBSMsg.IDO_DIV, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_IDO_DIV ) );
						kk0351_c030_inmap.put( JKKAdchgMapperCC.UPD_DT_SVC_KEI_UPD_DTM_BEF, (String)kk0351_a010_map.get(EKK0361D010CBSMsg.ADD_DTM));
						reqMap = mapper.setEKK0351C030( param, fixedText, kk0351_c030_inmap );
						resMap = scCall.run( reqMap, keepSesHandle );
						HashMap<String, Object> kk0351_c010_res_map = mapper.getEKK0351C030( param, fixedText, resMap );
						mapper.scResultCheck( param );

						updDtm = (String)kk0351_c010_res_map.get( EKK0351C050CBSMsg.UPD_DTM );
					} else {
						updDtm = (String)kk0381_c050_map.get( EKK0351C050CBSMsg.UPD_DTM );
					}
/* ★★★ IT2-2012-0001222 UPDATE 2012.07.13 H.MORITA END ★★★ */

					// 更新後の更新年月日時分秒をparamへ設定
/* ★★★ IT2-2012-0001222 UPDATE 2012.07.13 H.MORITA START ★★★ */
//					cur_op_svc_kei.put( JKKAdchgConstCC.PARAM_KEY_OP_SVC_KEI_UPD_DTM_AFT, (String)kk0381_c050_map.get( EKK0351C050CBSMsg.UPD_DTM ) );
					cur_op_svc_kei.put( JKKAdchgConstCC.PARAM_KEY_OP_SVC_KEI_UPD_DTM_AFT, updDtm );
/* ★★★ IT2-2012-0001222 UPDATE 2012.07.13 H.MORITA END ★★★ */

// ●● 品向対応 No121 START
					// 更新後の更新年月日時分秒をサービス契約の更新年月日時分秒にparamへ設定
/* ★★★ IT2-2012-0001222 UPDATE 2012.07.13 H.MORITA START ★★★ */
//					paramMap.put( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UPD_DTM_AFT, (String)kk0381_c050_map.get( EKK0351C050CBSMsg.UPD_DTM )  );
					paramMap.put( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UPD_DTM_AFT, updDtm  );
/* ★★★ IT2-2012-0001222 UPDATE 2012.07.13 H.MORITA END ★★★ */
// ●● 品向対応 No121 END
						
					// サブオプションサービス契約の更新
					updIdoDivForSubOp(param, fixedText, cur_op_svc_kei);
						
					// 次のオプションサービス契約情報を読み出す
					continue;
				}

				// EKK0371A010  オプションサービス契約＜電話＞一意照会
				condMap = new HashMap<String, String>();
				condMap.put( JKKAdchgMapperCC.COND_KEY_OP_SVC_KEI_NO, (String)cur_op_svc_kei.get( JKKAdchgConstCC.PARAM_KEY_OP_SVC_KEI_NO ) );
				reqMap = mapper.setEKK0371A010( param, fixedText, condMap );
				resMap = scCall.run( reqMap, keepSesHandle );
				HashMap<String, Object> kk0371_a010_map = mapper.getEKK0371A010( param, fixedText, resMap );
				mapper.scResultCheck( param );

				opSvcKeiNo = (String)kk0371_a010_map.get(EKK0371A010CBSMsg1List.OP_SVC_KEI_NO);
				// オプションサービス契約＜TV＞一意照会で取得できた場合
				if(opSvcKeiNo != null && !"".equals(opSvcKeiNo))
				{
					// ●● 品行対応 No114 START
//					kk0371_a010_map.put( JKKAdchgMapperCC.UPD_DT_OP_SVC_KEI_UPD_DTM_BEF, getUpdDtmBef( befUpdDtm, aftUpdDtm) );
					kk0371_a010_map.put( JKKAdchgMapperCC.UPD_DT_OP_SVC_KEI_UPD_DTM_BEF, getUpdDtmBef( getUpdDtmBef( befUpdDtm, aftUpdDtm), 
																					(String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UPD_DTM_AFT) ) );
					// ●● 品行対応 No114 END

					// EKK0371C050  オプションサービス契約＜電話＞情報変更
					reqMap = mapper.setEKK0371C050( param, fixedText, kk0351_a010_map, kk0371_a010_map );
					resMap = scCall.run( reqMap, keepSesHandle );
					HashMap<String, Object> kk0371_c050_map = mapper.getEKK0371C050( param, fixedText, resMap );
					mapper.scResultCheck( param );

					// 更新後の更新年月日時分秒をparamへ設定
					cur_op_svc_kei.put( JKKAdchgConstCC.PARAM_KEY_OP_SVC_KEI_UPD_DTM_AFT, (String)kk0371_c050_map.get( EKK0371C050CBSMsg.UPD_DTM ) );

					// ●● 品行対応 No114 START
					// サービス契約に対する更新後更新年月日時分秒も更新する
					paramMap.put( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UPD_DTM_AFT , kk0371_c050_map.get(EKK0371C050CBSMsg.UPD_DTM));
					// ●● 品行対応 No114 END

					// サブオプションサービス契約の更新
					updIdoDivForSubOp(param, fixedText, cur_op_svc_kei);
					continue;
				}

// DB更新障害対応 No.16,39,58 FUKUNAGA END -----------------------------------

			}

			/** 紐づくサブオプションサービス契約を抽出 */

			// ・EKK0401B001  サブオプションサービス契約一覧照会
			condMap = new HashMap<String, String>();
			condMap.put( JKKAdchgMapperCC.COND_KEY_OP_SVC_KEI_NO, (String)cur_op_svc_kei.get( JKKAdchgConstCC.PARAM_KEY_OP_SVC_KEI_NO ) );
			reqMap = mapper.setEKK0401B001( param, fixedText, condMap );
			resMap = scCall.run( reqMap, keepSesHandle );
			ArrayList<HashMap<String, Object>> kk0401_b001_map = mapper.getEKK0401B001( param, fixedText, resMap );
			mapper.scResultCheck( param );


			/** 取得した全てのサブオプションサービス契約を解約 */
			Iterator<HashMap<String, Object>> sb_op_list_ite = kk0401_b001_map.iterator();
			while( sb_op_list_ite.hasNext() ) {

				HashMap<String, Object> cur_sb_op_svc_kei = sb_op_list_ite.next();

				// ・EKK0401A010  サブオプションサービス契約一意照会
				condMap = new HashMap<String, String>();
				condMap.put( JKKAdchgMapperCC.COND_KEY_OP_SVC_KEI_NO, (String)cur_op_svc_kei.get( JKKAdchgConstCC.PARAM_KEY_OP_SVC_KEI_NO ) );
				condMap.put( JKKAdchgMapperCC.COND_KEY_SBOP_SVC_KEI_NO, (String)cur_sb_op_svc_kei.get( EKK0401B001CBSMsg1List.SBOP_SVC_KEI_NO ) );
				condMap.put( JKKAdchgMapperCC.COND_KEY_OPEDATE, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_OPE_DATE ) );
				reqMap = mapper.setEKK0401A010( param, fixedText, condMap );
				resMap = scCall.run( reqMap, keepSesHandle );
				HashMap<String, Object> kk0401_a010_map = mapper.getEKK0401A010( param, fixedText, resMap );
				mapper.scResultCheck( param );


				// kk0401_a010_map.予約適用開始予定年月日をparam.変更予定年月日に差替
				kk0401_a010_map.put( EKK0401A010CBSMsg1List.RSV_TSTA_KIBO_YMD, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_CHG_RSV_YMD ) );
				// kk0401_a010_map.異動区分をparam.異動区分に差替
				kk0401_a010_map.put( EKK0401A010CBSMsg1List.IDO_DIV, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_IDO_DIV ) );

				// kk0401_a010_mapへ更新年月日時分秒(更新前)を設定
				kk0401_a010_map.put( JKKAdchgMapperCC.UPD_DT_SBOP_SVC_KEI_UPD_DTM_BEF, (String)kk0401_a010_map.get( EKK0401A010CBSMsg1List.LAST_UPD_DTM ) );

				// ・EKK0401C170  サブオプションサービス契約解約
				reqMap = mapper.setEKK0401C170( param, fixedText, kk0401_a010_map );
				resMap = scCall.run( reqMap, keepSesHandle );
				HashMap<String, Object> kk0401_c170_map = mapper.getEKK0401C170( param, fixedText, resMap );
				mapper.scResultCheck( param );

// ●● 品向対応 No121 START
				// 更新後の更新年月日時分秒をサービス契約の更新年月日時分秒にparamへ設定
				paramMap.put( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UPD_DTM_AFT, (String)kk0401_c170_map.get( EKK0401C170CBSMsg.UPD_DTM )  );
// ●● 品向対応 No121 END
			}

			// ・EKK0351A010  オプションサービス契約一意照会
			condMap = new HashMap<String, String>();
			condMap.put( JKKAdchgMapperCC.COND_KEY_OP_SVC_KEI_NO, (String)cur_op_svc_kei.get( JKKAdchgConstCC.PARAM_KEY_OP_SVC_KEI_NO ) );
			condMap.put( JKKAdchgMapperCC.COND_KEY_OPEDATE, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_OPE_DATE ) );
			reqMap = mapper.setEKK0351A010( param, fixedText, condMap );
			resMap = scCall.run( reqMap, keepSesHandle );
			HashMap<String, Object> kk0351_a010_map = mapper.getEKK0351A010( param, fixedText, resMap );
			mapper.scResultCheck( param );


			// kk0351_a010_map.予約適用開始予定年月日をparam.変更予定年月日に差替
			kk0351_a010_map.put( EKK0351A010CBSMsg1List.RSV_TSTA_KIBO_YMD, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_CHG_RSV_YMD ) );
			// kk0351_a010_map.解約担当ユーザーIDをparam.申込受付担当ユーザーidに差替
			kk0351_a010_map.put( EKK0351A010CBSMsg1List.DSL_TNT_USER_ID, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_MSKM_UK_TNT_USER_ID ) );
			// kk0351_a010_map.異動区分をparam.異動区分に差替
			kk0351_a010_map.put( EKK0351A010CBSMsg1List.IDO_DIV, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_IDO_DIV ) );

			// kk0351_a010_mapへ更新年月日時分秒(更新前)を設定
// ●● 品向 No.100 対応 START
			//String befUpdDtm = (String)cur_op_svc_kei.get( JKKAdchgConstCC.PARAM_KEY_OP_SVC_KEI_UPD_DTM_BEF );
			String befUpdDtm = "";
			if ("".equals(opSvcKeiUpdDtm)) {
				befUpdDtm = (String)cur_op_svc_kei.get( JKKAdchgConstCC.PARAM_KEY_OP_SVC_KEI_UPD_DTM_BEF );
			} else {
				befUpdDtm = opSvcKeiUpdDtm;
			}
// ●● 品行 No.100 対応 END
			String aftUpdDtm = (String)cur_op_svc_kei.get( JKKAdchgConstCC.PARAM_KEY_OP_SVC_KEI_UPD_DTM_AFT );
// ●● 品向対応 No121 START
//			kk0351_a010_map.put( JKKAdchgMapperCC.UPD_DT_OP_SVC_KEI_UPD_DTM_BEF, getUpdDtmBef( befUpdDtm, aftUpdDtm) );
			kk0351_a010_map.put( JKKAdchgMapperCC.UPD_DT_OP_SVC_KEI_UPD_DTM_BEF, getUpdDtmBef( getUpdDtmBef( befUpdDtm, aftUpdDtm),
				(String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UPD_DTM_AFT ) ) );
// ●● 品向対応 No121 END

			// ・EKK0351C240  オプションサービス契約解約
			reqMap = mapper.setEKK0351C240( param, fixedText, kk0351_a010_map );
			resMap = scCall.run( reqMap, keepSesHandle );
			HashMap<String, Object> kk0351_c240_map = mapper.getEKK0351C240( param, fixedText, resMap );
			mapper.scResultCheck( param );


			// 更新後の更新年月日時分秒をparamへ設定
			cur_op_svc_kei.put( JKKAdchgConstCC.PARAM_KEY_OP_SVC_KEI_UPD_DTM_AFT, (String)kk0351_c240_map.get( EKK0351C240CBSMsg.UPD_DTM ) );
			
// ●● 品向 No.100 対応 START
			opSvcKeiUpdDtm = (String)kk0351_c240_map.get( EKK0351C240CBSMsg.UPD_DTM );
			paramMap.put( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UPD_DTM_AFT, opSvcKeiUpdDtm );
// ●● 品行 No.100 対応 END
		}
	}

// ST1-2012-0000760　2012/06/22 T.SAKAMOTO　DEL　START　未使用変数、処理を削除
//	/**
//	 * サービス契約内訳 全差替処理.
//	 * <br>
//	 * @param   param      モデルグループ、コントロールマップを含むリクエストパラメータ
//	 * @param   fixedText  ユーザ任意文字列
//	 * @throws  Exception  例外が発生した場合
//	 */
//	public void svcKeiUcwkAllSlide( IRequestParameterReadWrite param, String fixedText ) throws Exception {
//
//		/** 事前準備 */
//		HashMap<String, Object> paramMap = (HashMap<String, Object>)param.getData(fixedText);
//
//
//		/** パラメータからの展開 */
//		// param.サービス契約内訳情報リスト を抽出
//		ArrayList<HashMap<String, Object>> svc_kei_ucwk_list = (ArrayList<HashMap<String, Object>>)paramMap.get( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UCWK_LIST );
//
//
//		/** サービス契約内訳サービス契約変更ループ */
//		Iterator<HashMap<String, Object>> svc_kei_ucwk_list_ite = svc_kei_ucwk_list.iterator();
//		while( svc_kei_ucwk_list_ite.hasNext() ){
//
//			HashMap<String, Object> cur_svc_kei_ucwk = svc_kei_ucwk_list_ite.next();
//
//			/** サービス契約内訳サービス契約変更 */
//			svcKeiUcwkSlide( param, cur_svc_kei_ucwk, fixedText );
//		}
//	}

	/**
	 * サービス契約内訳差替処理.
	 * <br>
	 * @param   param          モデルグループ、コントロールマップを含むリクエストパラメータ
	 * @param   svcKeiUcwkMap  差替対象となるサービス契約内訳情報マップ
	 * @param   fixedText      ユーザ任意文字列
	 * @throws  Exception      例外が発生した場合
	 */
	public void svcKeiUcwkSlide( IRequestParameterReadWrite param, HashMap<String, Object> svcKeiUcwkMap, String fixedText ) throws Exception {

		/** 事前準備 */
		HashMap<String, Object> reqMap;
		HashMap<String, Object> paramMap = (HashMap<String, Object>) param.getData(fixedText);
		Map<?, ?> resMap;

		// 住所変更登録コモンコンポーネントマッピングクラスインスタンスを取得
		JKKAdchgMapperCC mapper = JKKAdchgMapperCC.getInstance();

		// SCリクエストInvokerを取得
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();


		/** パラメータからの展開 */
		// 払出_サービス契約番号を抽出
		String new_svc_kei_no = (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_NEW_SVC_KEI_NO );

		// 更新年月日(更新前)を抽出
		String befUpdDtm = (String)svcKeiUcwkMap.get( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UCWK_UPD_DTM_BEF );

		// 更新年月日(更新後)を抽出
		String aftUpdDtm = (String)svcKeiUcwkMap.get( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UCWK_UPD_DTM_AFT );


		/** サービス契約内訳サービス契約変更 */
		// ・EKK0161C080  サービス契約内訳サービス契約変更
		HashMap<String, Object> kk0161_c080_map = new HashMap<String, Object>();
		kk0161_c080_map.put( EKK0161C080CBSMsg.SVC_KEI_UCWK_NO, (String)svcKeiUcwkMap.get( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UCWK_NO ) );
		kk0161_c080_map.put( EKK0161C080CBSMsg.SVC_KEI_NO, new_svc_kei_no );
//		kk0161_c080_map.put( EKK0161C080CBSMsg.RSV_APLY_YMD, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_CHG_RSV_YMD ) );
		kk0161_c080_map.put( EKK0161C080CBSMsg.RSV_APLY_YMD, JKKAdchgConstCC.DEFAULT_RSV_APLY_YMD );
		kk0161_c080_map.put( EKK0161C080CBSMsg.IDO_DIV, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_IDO_DIV ) );
		kk0161_c080_map.put( EKK0161C080CBSMsg.UPD_DTM_BF, getUpdDtmBef( befUpdDtm, aftUpdDtm) );
		reqMap = mapper.setEKK0161C080( param, fixedText, kk0161_c080_map );
		resMap = scCall.run( reqMap, keepSesHandle );
		HashMap<String, Object> kk0161_c080_res_map = mapper.getEKK0161C080( param, fixedText, resMap );
		mapper.scResultCheck( param );


		// 更新後の更新年月日時分秒をparamへ設定
		svcKeiUcwkMap.put( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UCWK_UPD_DTM_AFT, (String)kk0161_c080_res_map.get( EKK0161C080CBSMsg.UPD_DTM ) );
	}

// ST1-2012-0000760　2012/06/22 T.SAKAMOTO　DEL　START　未使用変数、処理を削除
//	/**
//	 * サービス契約回線内訳差替処理.
//	 * <br>
//	 * @param   param      モデルグループ、コントロールマップを含むリクエストパラメータ
//	 * @param   fixedText  ユーザ任意文字列
//	 * @throws  Exception  例外が発生した場合
//	 */
//	public void svcKeiKaisUcwkSlide( IRequestParameterReadWrite param, String fixedText ) throws Exception {
//
//		/** 事前準備 */
//		HashMap<String, String> condMap;
//		HashMap<String, Object> paramMap = (HashMap<String, Object>)param.getData(fixedText);
//		HashMap<String, Object> reqMap;
//		Map<?, ?> resMap;
//
//		// 住所変更登録コモンコンポーネントマッピングクラスインスタンスを取得
//		JKKAdchgMapperCC mapper = JKKAdchgMapperCC.getInstance();
//
//		// SCリクエストInvokerを取得
//		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
//
//
//		// ・EKK0251B003  サービス契約回線内訳一覧照会（現在利用中）
//		condMap = new HashMap<String, String>();
//		condMap.put( JKKAdchgMapperCC.COND_KEY_SVC_KEI_NO, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_NO ) );
//		condMap.put( JKKAdchgMapperCC.COND_KEY_OPEDATE, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_OPE_DATE ) );
//		reqMap = mapper.setEKK0251B003( param, fixedText, condMap );
//		resMap = scCall.run( reqMap, keepSesHandle );
//		ArrayList<HashMap<String, Object>> kk0251_b003_map_lst = mapper.getEKK0251B003( param, fixedText, resMap );
//		mapper.scResultCheck( param );
//
//
//		// param.サービス契約回線情報リスト へ設定する領域を生成
//		ArrayList<HashMap<String, Object>> kei_kais_ucwk_list = new ArrayList<HashMap<String,Object>>();
//
//		/** サービス契約内訳サービス契約変更ループ */
//		Iterator<HashMap<String, Object>> kk0251_b003_map_lst_ite = kk0251_b003_map_lst.iterator();
//		while( kk0251_b003_map_lst_ite.hasNext() ){
//
//			HashMap<String, Object> cur_kk0251_b003 = kk0251_b003_map_lst_ite.next();
//
//			// ・EKK0251C020  サービス契約回線内訳申込情報変更
//			HashMap<String, Object> kk0251_c020_map = new HashMap<String, Object>();
//			String svc_kei_kaisen_ucwk_no = (String)cur_kk0251_b003.get( EKK0251B003CBSMsg1List.SVC_KEI_KAISEN_UCWK_NO );
//			kk0251_c020_map.put( EKK0251C020CBSMsg.SVC_KEI_KAISEN_UCWK_NO, svc_kei_kaisen_ucwk_no );
//			kk0251_c020_map.put( EKK0251C020CBSMsg.GENE_ADD_DTM, (String)cur_kk0251_b003.get( EKK0251B003CBSMsg1List.GENE_ADD_DTM ) );
//			kk0251_c020_map.put( EKK0251C020CBSMsg.MSKM_DTL_NO, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_MSKM_DTL_NO ) );
//			kk0251_c020_map.put( EKK0251C020CBSMsg.UPD_DTM_BF, (String)cur_kk0251_b003.get( EKK0251B003CBSMsg1List.UPD_DTM ) );
//			reqMap = mapper.setEKK0251C020( param, fixedText, kk0251_c020_map );
//			resMap = scCall.run( reqMap, keepSesHandle );
//			HashMap<String, Object> kk0251_c020_res_map = mapper.getEKK0251C020( param, fixedText, resMap );
//			mapper.scResultCheck( param );
//
//
//			/** 返却するサービス契約回線情報を生成 */
//			HashMap<String, Object> kei_kais_ucwk_inf = new HashMap<String, Object>();
//
//			// 更新対象となったサービス回契約回線内訳番号を返却域へ設定
//			kei_kais_ucwk_inf.put( JKKAdchgConstCC.PARAM_KEY_NEW_KEI_KAIS_UCWK_NO, svc_kei_kaisen_ucwk_no );
//
//			// 更新後の更新年月日時分秒を返却域へ設定
//			kei_kais_ucwk_inf.put( JKKAdchgConstCC.PARAM_KEY_KEI_KAIS_UCWK_UPD_DTM_AFT, (String)kk0251_c020_res_map.get( EKK0251C020CBSMsg.UPD_DTM ) );
//
//			// param.サービス契約回線情報リスト への設定
//			kei_kais_ucwk_list.add( kei_kais_ucwk_inf );
//		}
//
//		/** パラメータへの展開 */
//		// param.サービス契約回線情報リスト への設定
//		paramMap.put( JKKAdchgConstCC.PARAM_KEY_KEI_KAIS_UCWK_LIST, kei_kais_ucwk_list );
//	}

// ●● 2012-06-08 解約／新規時のオプション引継考慮追加 START
	/**
	 * オプションサービス契約差替処理.
	 * <br>
	 * @param   param      モデルグループ、コントロールマップを含むリクエストパラメータ
	 * @param   fixedText  ユーザ任意文字列
	 * @throws  Exception  例外が発生した場合
	 */
	public void opSvcKeiSlide( IRequestParameterReadWrite param, String fixedText ) throws Exception {

		/** 事前準備 */
		HashMap<String, String> condMap;
		HashMap<String, Object> reqMap;
		HashMap<String, Object> paramMap = (HashMap<String, Object>)param.getData(fixedText);
		Map<?, ?> resMap;

		// 住所変更登録コモンコンポーネントマッピングクラスインスタンスを取得
		JKKAdchgMapperCC mapper = JKKAdchgMapperCC.getInstance();

		// SCリクエストInvokerを取得		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();


		/** パラメータからの展開 */
		// param.オプションサービス契約情報リスト を抽出
		ArrayList<HashMap<String, Object>> op_svc_kei_list = (ArrayList<HashMap<String, Object>>)paramMap.get( JKKAdchgConstCC.PARAM_KEY_OP_SVC_KEI_LIST );

		// 住所変更（オプション明細）
		HashMap<String, Object> kksv_9800_map = (HashMap<String, Object>)( param.getData( KKSV0098_KKSV0098OP.KKSV009800CC ) );
		ArrayList<HashMap<String, Object>> adchg_dtl_list_op_svc_list = (ArrayList<HashMap<String, Object>>)( kksv_9800_map.get( "adchg_dtl_list_op_svc_kei" ) );

		/** オプションサービス契約差替ループ */
		Iterator<HashMap<String, Object>> op_svc_kei_list_ite = op_svc_kei_list.iterator();
		while( op_svc_kei_list_ite.hasNext() ){

			// 住所変更明細追加情報
			String new_op_svc_kei = null;

			// cur_op_svc_kei.利用サービス変更区分を取得
			HashMap<String, Object> cur_op_svc_kei = op_svc_kei_list_ite.next();
			String use_op_svc_chg_div = (String)cur_op_svc_kei.get( JKKAdchgConstCC.PARAM_KEY_USE_OP_SVC_CHG_DIV );

			// 「引継」であるかを判定
			if( JKKAdchgConstCC.CD00852_KEEP.equals( use_op_svc_chg_div ) ) {

				// EKK0351A010  オプションサービス契約一意照会
				condMap = new HashMap<String, String>();
				condMap.put( JKKAdchgMapperCC.COND_KEY_OP_SVC_KEI_NO, (String)cur_op_svc_kei.get( JKKAdchgConstCC.PARAM_KEY_OP_SVC_KEI_NO ) );
				condMap.put( JKKAdchgMapperCC.COND_KEY_OPEDATE, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_OPE_DATE ) );
				reqMap = mapper.setEKK0351A010( param, fixedText, condMap );
				resMap = scCall.run( reqMap, keepSesHandle );
				HashMap<String, Object> kk0351_a010_map = mapper.getEKK0351A010( param, fixedText, resMap );
				mapper.scResultCheck( param );

				// EKK0361A010  オプションサービス契約＜ISP＞一意照会
				condMap = new HashMap<String, String>();
				condMap.put( JKKAdchgMapperCC.COND_KEY_OP_SVC_KEI_NO, (String)cur_op_svc_kei.get( JKKAdchgConstCC.PARAM_KEY_OP_SVC_KEI_NO ) );
				reqMap = mapper.setEKK0361A010( param, fixedText, condMap );
				resMap = scCall.run( reqMap, keepSesHandle );
				HashMap<String, Object> kk0361_a010_map = mapper.getEKK0361A010( param, fixedText, resMap );
				mapper.scResultCheck( param );

				// オプションサービスコード判定
				String opSvcCd = (String) kk0351_a010_map.get(EKK0351A010CBSMsg1List.OP_SVC_CD);
				if ("B001".equals(opSvcCd) || "B002".equals(opSvcCd)) {
					// Ｅメール or Ｍｙホームページ

					String opSvcKeiNo = (String)kk0361_a010_map.get(EKK0361A010CBSMsg1List.OP_SVC_KEI_NO);
					// オプションサービス契約＜ISP＞一意照会で取得できた場合
					if(opSvcKeiNo != null && !"".equals(opSvcKeiNo))
					{
						/** オプションサービス契約の登録 */
						// サービス契約番号
						kk0351_a010_map.put( EKK0361D010CBSMsg.SVC_KEI_NO, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_NEW_SVC_KEI_NO ));
						// サービス契約内訳番号
						kk0351_a010_map.put( EKK0361D010CBSMsg.SVC_KEI_UCWK_NO, getMapString( paramMap, JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UCWK_LIST, 0, JKKAdchgConstCC.PARAM_KEY_NEW_SVC_KEI_UCWK_NO ));
						// SYSID
						kk0351_a010_map.put( EKK0361D010CBSMsg.SYSID, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_SYSID ));
						// 申込明細番号
						kk0351_a010_map.put( EKK0361D010CBSMsg.MSKM_DTL_NO,  (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_MSKM_DTL_NO ) );
						// 予約適用開始希望年月日
						kk0351_a010_map.put( EKK0361D010CBSMsg.RSV_TSTA_KIBO_YMD, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_CHG_RSV_YMD ) );
						// 異動区分
						kk0351_a010_map.put( EKK0361D010CBSMsg.IDO_DIV, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_IDO_DIV ) );
						// 請求契約番号
						kk0351_a010_map.put( EKK0361D010CBSMsg.SEIKY_KEI_NO, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_NEW_SEIKY_KEI_NO ) );
						// 更新年月日時分秒(更新前)
						kk0351_a010_map.put( EKK0361D010CBSMsg.UPD_DTM_BF, (String)kk0351_a010_map.get( EKK0351A010CBSMsg1List.LAST_UPD_DTM ) );
	
						reqMap = mapper.setEKK0361D010( param, fixedText, kk0351_a010_map, kk0361_a010_map );
						resMap = scCall.run( reqMap, keepSesHandle );
						HashMap<String, Object> kk0361_d010_res_map = mapper.getEKK0361D010( param, fixedText, resMap );
						mapper.scResultCheck( param );

						/** サブオプションサービス契約の登録 */
						// EKK0401B001  サブオプションサービス契約一覧照会
						condMap = new HashMap<String, String>();
						condMap.put( JKKAdchgMapperCC.COND_KEY_OP_SVC_KEI_NO, (String)cur_op_svc_kei.get( JKKAdchgConstCC.PARAM_KEY_OP_SVC_KEI_NO ) );
						reqMap = mapper.setEKK0401B001( param, fixedText, condMap );
						resMap = scCall.run( reqMap, keepSesHandle );
						ArrayList<HashMap<String, Object>> kk0401_b001_map_list = mapper.getEKK0401B001( param, fixedText, resMap );
						mapper.scResultCheck( param );

						for(int i = 0; i < kk0401_b001_map_list.size(); i++)
						{
							HashMap<String, Object> kk0401_b001_map = kk0401_b001_map_list.get(i);

							// EKK0401A010  サブオプションサービス契約一意照会
							condMap = new HashMap<String, String>();
							condMap.put( JKKAdchgMapperCC.COND_KEY_OP_SVC_KEI_NO, (String)kk0401_b001_map.get( EKK0401B001CBSMsg1List.OP_SVC_KEI_NO ) );
							condMap.put( JKKAdchgMapperCC.COND_KEY_SBOP_SVC_KEI_NO, (String)kk0401_b001_map.get( EKK0401B001CBSMsg1List.SBOP_SVC_KEI_NO ) );
							condMap.put( JKKAdchgMapperCC.COND_KEY_OPEDATE, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_OPE_DATE ) );
							reqMap = mapper.setEKK0401A010( param, fixedText, condMap );
							resMap = scCall.run( reqMap, keepSesHandle );
							HashMap<String, Object> kk0401_a010_map = mapper.getEKK0401A010( param, fixedText, resMap );
							mapper.scResultCheck( param );

							// EKK0411A010  サブオプションサービス契約＜ISP＞一意照会
							condMap = new HashMap<String, String>();
							condMap.put( JKKAdchgMapperCC.COND_KEY_OP_SVC_KEI_NO, (String)kk0401_b001_map.get( EKK0401B001CBSMsg1List.OP_SVC_KEI_NO ) );
							condMap.put( JKKAdchgMapperCC.COND_KEY_SBOP_SVC_KEI_NO, (String)kk0401_b001_map.get( EKK0401B001CBSMsg1List.SBOP_SVC_KEI_NO ) );
							reqMap = mapper.setEKK0411A010( param, fixedText, condMap );
							resMap = scCall.run( reqMap, keepSesHandle );
							HashMap<String, Object> kk0411_a010_map = mapper.getEKK0411A010( param, fixedText, resMap );
							mapper.scResultCheck( param );

							opSvcKeiNo = (String)kk0411_a010_map.get(EKK0411A010CBSMsg1List.OP_SVC_KEI_NO);
							// サブオプションサービス契約＜ISP＞一意照会で取得できた場合
							if(opSvcKeiNo != null && !"".equals(opSvcKeiNo))
							{
								// オプションサービス契約番号
								kk0401_a010_map.put( EKK0411D010CBSMsg.OP_SVC_KEI_NO, kk0361_d010_res_map.get( EKK0361D010CBSMsg.OP_SVC_KEI_NO ) );
								// 申込明細番号
								kk0401_a010_map.put( EKK0411D010CBSMsg.MSKM_DTL_NO,  (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_MSKM_DTL_NO ) );
								// 予約適用開始希望年月日
								kk0401_a010_map.put( EKK0411D010CBSMsg.RSV_TSTA_KIBO_YMD, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_CHG_RSV_YMD ) );
								// 異動区分
								kk0401_a010_map.put( EKK0411D010CBSMsg.IDO_DIV, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_IDO_DIV ) );
								// 請求契約番号
								kk0401_a010_map.put( EKK0411D010CBSMsg.SEIKY_KEI_NO, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_NEW_SEIKY_KEI_NO ) );
								// 更新年月日時分秒(更新前)
								kk0401_a010_map.put( EKK0411D010CBSMsg.UPD_DTM_BF, (String)kk0361_d010_res_map.get(EKK0361D010CBSMsg.ADD_DTM) );
	
								reqMap = mapper.setEKK0411D010( param, fixedText, kk0401_a010_map, kk0411_a010_map );
								resMap = scCall.run( reqMap, keepSesHandle );
								HashMap<String, Object> kk0411_d010_res_map = mapper.getEKK0411D010( param, fixedText, resMap );
								mapper.scResultCheck( param );

								/** サブオプションサービス予約適用年月日入力 */
								HashMap<String, Object> kk0401_c030_inmap = new HashMap<String, Object>();
								kk0401_c030_inmap.put( EKK0401C030CBSMsg.OP_SVC_KEI_NO, (String)kk0411_d010_res_map.get(EKK0361D010CBSMsg.OP_SVC_KEI_NO));
								kk0401_c030_inmap.put( EKK0401C030CBSMsg.SBOP_SVC_KEI_NO, (String)kk0411_d010_res_map.get(EKK0411D010CBSMsg.SBOP_SVC_KEI_NO));
								kk0401_c030_inmap.put( EKK0401C030CBSMsg.GENE_ADD_DTM, (String)kk0411_d010_res_map.get(EKK0411D010CBSMsg.KK0401_GENE_ADD_DTM));
								kk0401_c030_inmap.put( EKK0401C030CBSMsg.MSKM_DTL_NO, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_MSKM_DTL_NO ));
// DB結果検証障害対応 No.62 OIJI MOD START -------------------------------
//								kk0401_c030_inmap.put( EKK0401C030CBSMsg.RSV_APLY_YMD, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_CHG_RSV_YMD ));
								kk0401_c030_inmap.put( EKK0401C030CBSMsg.RSV_APLY_YMD, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_OPE_DATE ));
// DB結果検証障害対応 No.62 OIJI MOD END ---------------------------------
								kk0401_c030_inmap.put( EKK0401C030CBSMsg.RSV_APLY_CD, "2");
								kk0401_c030_inmap.put( JKKAdchgMapperCC.UPD_DT_SVC_KEI_UPD_DTM_BEF, (String)kk0411_d010_res_map.get(EKK0411D010CBSMsg.ADD_DTM));
								reqMap = mapper.setEKK0401C030( param, fixedText, kk0401_c030_inmap );
								resMap = scCall.run( reqMap, keepSesHandle );
								HashMap<String, Object> kk0401_c030_res_map = mapper.getEKK0401C030( param, fixedText, resMap );
								mapper.scResultCheck( param );
							}
						}

						/** オプションサービス予約適用年月日入力 */
						HashMap<String, Object> kk0351_c030_inmap = new HashMap<String, Object>();
						kk0351_c030_inmap.put( EKK0351C030CBSMsg.OP_SVC_KEI_NO, (String)kk0361_d010_res_map.get(EKK0361D010CBSMsg.OP_SVC_KEI_NO));
						kk0351_c030_inmap.put( EKK0351C030CBSMsg.GENE_ADD_DTM, (String)kk0361_d010_res_map.get(EKK0361D010CBSMsg.KK0361_GENE_ADD_DTM));
						kk0351_c030_inmap.put( EKK0351C030CBSMsg.MSKM_DTL_NO, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_MSKM_DTL_NO ));
// DB結果検証障害対応 No.62 OIJI MOD START -------------------------------
//						kk0351_c030_inmap.put( EKK0351C030CBSMsg.RSV_APLY_YMD, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_CHG_RSV_YMD ));
						kk0351_c030_inmap.put( EKK0351C030CBSMsg.RSV_APLY_YMD, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_OPE_DATE ));
// DB結果検証障害対応 No.62 OIJI MOD END ---------------------------------
						kk0351_c030_inmap.put( EKK0351C030CBSMsg.RSV_APLY_CD, "2");
						kk0351_c030_inmap.put( EKK0351C030CBSMsg.IDO_DIV, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_IDO_DIV ) );
						kk0351_c030_inmap.put( JKKAdchgMapperCC.UPD_DT_SVC_KEI_UPD_DTM_BEF, (String)kk0361_d010_res_map.get(EKK0361D010CBSMsg.ADD_DTM));
						reqMap = mapper.setEKK0351C030( param, fixedText, kk0351_c030_inmap );
						resMap = scCall.run( reqMap, keepSesHandle );
						HashMap<String, Object> kk0351_c010_res_map = mapper.getEKK0351C030( param, fixedText, resMap );
						mapper.scResultCheck( param );

// 20120608 解約／新規時のオプション引継考慮追加 NARUSE MOD START
						// 新設側新規登録オプション契約番号
						new_op_svc_kei = (String)kk0361_d010_res_map.get(EKK0361D010CBSMsg.OP_SVC_KEI_NO);
// 20120608 解約／新規時のオプション引継考慮追加 NARUSE MOD END

					}
				}
			}

// 20120608 解約／新規時のオプション引継考慮追加 NARUSE MOD START
			// 旧側は解約を行う
			/** 住所変更明細情報(オプションサービス契約)ループ */
			Iterator<HashMap<String, Object>> adchg_dtl_list_op_svc_list_ite = adchg_dtl_list_op_svc_list.iterator();
			while( adchg_dtl_list_op_svc_list_ite.hasNext() ){

				// オプションサービス契約番号を取得
				HashMap<String, Object> cur_adchg_dtl_list_op_svc = adchg_dtl_list_op_svc_list_ite.next();
				String adchg_dtl_chbf_skbt_no = (String)cur_adchg_dtl_list_op_svc.get( "adchg_dtl_chbf_skbt_no" );

				if (((String)cur_op_svc_kei.get( JKKAdchgConstCC.PARAM_KEY_OP_SVC_KEI_NO )).equals(adchg_dtl_chbf_skbt_no)) {

					if (new_op_svc_kei != null) {
						// 新設側に登録する場合には、新規オプションを登録
						cur_adchg_dtl_list_op_svc.put( "adchg_dtl_chaf_skbt_no", new_op_svc_kei );
					} else {
						// 新設側に自動登録しない場合には強制的に解約(空)
						cur_adchg_dtl_list_op_svc.put( "adchg_dtl_chaf_skbt_no", "" );
					}
					break;
				}

			}
// 20120608 解約／新規時のオプション引継考慮追加 NARUSE MOD END
		}
	}
// ST1-2012-0000760 20120622 異動可否判定チェック対応　解約／新規時　T.SAKAMOTO DEL START
//			/** 紐づくサブオプションサービス契約を抽出 */
//			// ・EKK0401B001  サブオプションサービス契約一覧照会
//			condMap = new HashMap<String, String>();
//			condMap.put( JKKAdchgMapperCC.COND_KEY_OP_SVC_KEI_NO, (String)cur_op_svc_kei.get( JKKAdchgConstCC.PARAM_KEY_OP_SVC_KEI_NO ) );
//			reqMap = mapper.setEKK0401B001( param, fixedText, condMap );
//			resMap = scCall.run( reqMap, keepSesHandle );
//			ArrayList<HashMap<String, Object>> kk0401_b001_map = mapper.getEKK0401B001( param, fixedText, resMap );
//			mapper.scResultCheck( param );
//
//			/** 取得した全てのサブオプションサービス契約を解約 */
//			Iterator<HashMap<String, Object>> sb_op_list_ite = kk0401_b001_map.iterator();
//			String opSvcKeiUpdDtm = "";
//			while( sb_op_list_ite.hasNext() ) {
//
//				HashMap<String, Object> cur_sb_op_svc_kei = sb_op_list_ite.next();
//
//				// ・EKK0401A010  サブオプションサービス契約一意照会
//				condMap = new HashMap<String, String>();
//				condMap.put( JKKAdchgMapperCC.COND_KEY_OP_SVC_KEI_NO, (String)cur_op_svc_kei.get( JKKAdchgConstCC.PARAM_KEY_OP_SVC_KEI_NO ) );
//				condMap.put( JKKAdchgMapperCC.COND_KEY_SBOP_SVC_KEI_NO, (String)cur_sb_op_svc_kei.get( EKK0401B001CBSMsg1List.SBOP_SVC_KEI_NO ) );
//				condMap.put( JKKAdchgMapperCC.COND_KEY_OPEDATE, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_OPE_DATE ) );
//				reqMap = mapper.setEKK0401A010( param, fixedText, condMap );
//				resMap = scCall.run( reqMap, keepSesHandle );
//				HashMap<String, Object> kk0401_a010_map = mapper.getEKK0401A010( param, fixedText, resMap );
//				mapper.scResultCheck( param );
//
//
//				// kk0401_a010_map.予約適用開始予定年月日をparam.変更予定年月日に差替
//				kk0401_a010_map.put( EKK0401A010CBSMsg1List.RSV_TSTA_KIBO_YMD, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_CHG_RSV_YMD ) );
//				// kk0401_a010_map.異動区分をparam.異動区分に差替
//				kk0401_a010_map.put( EKK0401A010CBSMsg1List.IDO_DIV, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_IDO_DIV ) );
//
//				// kk0401_a010_mapへ更新年月日時分秒(更新前)を設定
//				kk0401_a010_map.put( JKKAdchgMapperCC.UPD_DT_SBOP_SVC_KEI_UPD_DTM_BEF, (String)kk0401_a010_map.get( EKK0401A010CBSMsg1List.LAST_UPD_DTM ) );
//
//				// ・EKK0401C170  サブオプションサービス契約解約
//				reqMap = mapper.setEKK0401C170( param, fixedText, kk0401_a010_map );
//				resMap = scCall.run( reqMap, keepSesHandle );
//				HashMap<String, Object> kk0401_c170_map = mapper.getEKK0401C170( param, fixedText, resMap );
//				mapper.scResultCheck( param );
//
//				// 更新後の更新年月日時分秒をサービス契約の更新年月日時分秒にparamへ設定
//				paramMap.put( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UPD_DTM_AFT, (String)kk0401_c170_map.get( EKK0401C170CBSMsg.UPD_DTM )  );
//			}
//
//			// ・EKK0351A010  オプションサービス契約一意照会
//			condMap = new HashMap<String, String>();
//			condMap.put( JKKAdchgMapperCC.COND_KEY_OP_SVC_KEI_NO, (String)cur_op_svc_kei.get( JKKAdchgConstCC.PARAM_KEY_OP_SVC_KEI_NO ) );
//			condMap.put( JKKAdchgMapperCC.COND_KEY_OPEDATE, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_OPE_DATE ) );
//			reqMap = mapper.setEKK0351A010( param, fixedText, condMap );
//			resMap = scCall.run( reqMap, keepSesHandle );
//			HashMap<String, Object> kk0351_a010_map = mapper.getEKK0351A010( param, fixedText, resMap );
//			mapper.scResultCheck( param );
//
//			// kk0351_a010_map.予約適用開始予定年月日をparam.変更予定年月日に差替
//			kk0351_a010_map.put( EKK0351A010CBSMsg1List.RSV_TSTA_KIBO_YMD, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_CHG_RSV_YMD ) );
//			// kk0351_a010_map.解約担当ユーザーIDをparam.申込受付担当ユーザーidに差替
//			kk0351_a010_map.put( EKK0351A010CBSMsg1List.DSL_TNT_USER_ID, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_MSKM_UK_TNT_USER_ID ) );
//			// kk0351_a010_map.異動区分をparam.異動区分に差替
//			kk0351_a010_map.put( EKK0351A010CBSMsg1List.IDO_DIV, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_IDO_DIV ) );
//
//			// kk0351_a010_mapへ更新年月日時分秒(更新前)を設定
//			String befUpdDtm = "";
//			if ("".equals(opSvcKeiUpdDtm)) {
//				befUpdDtm = (String)cur_op_svc_kei.get( JKKAdchgConstCC.PARAM_KEY_OP_SVC_KEI_UPD_DTM_BEF );
//			} else {
//				befUpdDtm = opSvcKeiUpdDtm;
//			}
//
//			String aftUpdDtm = (String)cur_op_svc_kei.get( JKKAdchgConstCC.PARAM_KEY_OP_SVC_KEI_UPD_DTM_AFT );
//			kk0351_a010_map.put( JKKAdchgMapperCC.UPD_DT_OP_SVC_KEI_UPD_DTM_BEF, getUpdDtmBef( getUpdDtmBef( befUpdDtm, aftUpdDtm),
//				(String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UPD_DTM_AFT ) ) );
//
//			// ・EKK0351C240  オプションサービス契約解約
//			reqMap = mapper.setEKK0351C240( param, fixedText, kk0351_a010_map );
//			resMap = scCall.run( reqMap, keepSesHandle );
//			HashMap<String, Object> kk0351_c240_map = mapper.getEKK0351C240( param, fixedText, resMap );
//			mapper.scResultCheck( param );
//
//
//			// 更新後の更新年月日時分秒をparamへ設定
//			cur_op_svc_kei.put( JKKAdchgConstCC.PARAM_KEY_OP_SVC_KEI_UPD_DTM_AFT, (String)kk0351_c240_map.get( EKK0351C240CBSMsg.UPD_DTM ) );
//			
//			opSvcKeiUpdDtm = (String)kk0351_c240_map.get( EKK0351C240CBSMsg.UPD_DTM );
//			paramMap.put( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UPD_DTM_AFT, opSvcKeiUpdDtm );
//
//		}
//	}
//// ●● 2012-06-08 解約／新規時のオプション引継考慮追加 END
// 20120622  T.SAKAMOTO MOD END

// 障害対応 IT1-2012-0000636 start ----------
// 未使用メソッドのためコメントアウト（誤使用防止）
//	/**
//	 * 機器提供サービス契約差替処理.
//	 * <br>
//	 * @param   param      モデルグループ、コントロールマップを含むリクエストパラメータ
//	 * @param   fixedText  ユーザ任意文字列
//	 * @throws  Exception  例外が発生した場合
//	 */
//	public void kktkSvcKeiSlide( IRequestParameterReadWrite param, String fixedText ) throws Exception {
//
//		/** 事前準備 */
//		HashMap<String, String> condMap;
//		HashMap<String, Object> paramMap = (HashMap<String, Object>)param.getData(fixedText);
//		HashMap<String, Object> reqMap;
//		Map<?, ?> resMap;
//
//		// 住所変更登録コモンコンポーネントマッピングクラスインスタンスを取得
//		JKKAdchgMapperCC mapper = JKKAdchgMapperCC.getInstance();
//
//		// SCリクエストInvokerを取得
//		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
//
//
//		/** パラメータからの展開 */
//		// param.機器提供サービス契約情報リスト を抽出
//		ArrayList<HashMap<String, Object>> kktk_svc_list = (ArrayList<HashMap<String, Object>>)paramMap.get( JKKAdchgConstCC.PARAM_KEY_KKTK_SVC_LIST );
//
//		/** 機器提供サービス契約変更ループ */
//		Iterator<HashMap<String, Object>> kktk_svc_list_ite = kktk_svc_list.iterator();
//		while( kktk_svc_list_ite.hasNext() ){
//
//			HashMap<String, Object> cur_kktk_svc = kktk_svc_list_ite.next();
//
//			/** 変更方法 判定 */
//			// param.機器提供サービス契約情報リスト.利用サービス変更区分を取得し、条件分岐
//			String use_kktk_svc_chg_div = (String)cur_kktk_svc.get( JKKAdchgConstCC.PARAM_KEY_USE_KKTK_SVC_CHG_DIV );
//			if( JKKAdchgConstCC.CD00851_TEKKYO.equals( use_kktk_svc_chg_div ) ||
//					JKKAdchgConstCC.CD00851_SLRE.equals( use_kktk_svc_chg_div )){
//
//				/** 「撤去」または「解約」の場合、次の機器提供サービス契約を読み出す */
//				continue;
//			}
//
//			// ・EKK0341A010  機器提供サービス契約一意照会
//			condMap = new HashMap<String, String>();
//			condMap.put( JKKAdchgMapperCC.COND_KEY_KKTK_SVC_KEI_NO, (String)cur_kktk_svc.get( JKKAdchgConstCC.PARAM_KEY_KKTK_SVC_KEI_NO ) );
//			condMap.put( JKKAdchgMapperCC.COND_KEY_OPEDATE, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_OPE_DATE ) );
//			reqMap = mapper.setEKK0341A010( param, fixedText, condMap );
//			resMap = scCall.run( reqMap, keepSesHandle );
//			HashMap<String, Object> kk0341_a010_map = mapper.getEKK0341A010( param, fixedText, resMap );
//			mapper.scResultCheck( param );
//
//
//			// 更新後の機器提供サービス契約_更新年月日字分秒 保持域を準備
//			String upd_dtm_now = getUpdDtmBef( (String)cur_kktk_svc.get( JKKAdchgConstCC.PARAM_KEY_KKTK_SVC_KEI_UPD_DTM_BEF ),
//											   (String)cur_kktk_svc.get( JKKAdchgConstCC.PARAM_KEY_KKTK_SVC_KEI_UPD_DTM_AFT ) );
//
//			// 変更手続開始直後の機器提供サービス契約_世代登録年月日時分秒 保持域を準備
//			String gene_add_dtm_now = (String)kk0341_a010_map.get( EKK0341A010CBSMsg1List.GENE_ADD_DTM );
//
//
//			// kk0341_a010_map.予約適用年月日をparam.変更予定年月日に差替
//			kk0341_a010_map.put( EKK0341A010CBSMsg1List.RSV_APLY_YMD, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_CHG_RSV_YMD ) );
//			// kk0341_a010_map.予約適用コードへ「予約手続中」を設定
//			//   ※※設定すべき予約適用コード値が不明  暫定的に「予約手続中」を設定
//			kk0341_a010_map.put( EKK0341A010CBSMsg1List.RSV_APLY_CD, JKKAdchgConstCC.CD00343_RSV_TTDKCHU );
//			// kk0341_a010_mapへ更新年月日時分秒(更新前)を設定
//			kk0341_a010_map.put( JKKAdchgMapperCC.UPD_DT_KKTK_SVC_KEI_UPD_DTM_BEF, upd_dtm_now );
//
//			// ・EKK0341C530  機器提供サービス契約機器変更手続開始
//			reqMap = mapper.setEKK0341C530( param, fixedText, kk0341_a010_map );
//			resMap = scCall.run( reqMap, keepSesHandle );
//			HashMap<String, Object> kk0341_c530_map = mapper.getEKK0341C530( param, fixedText, resMap );
//			mapper.scResultCheck( param );
//
//
//
//			// 更新後の機器提供サービス契約_更新年月日字分秒 保持域を更新
//			upd_dtm_now = (String)kk0341_c530_map.get( EKK0341C530CBSMsg.UPD_DTM );
//
//			// 変更手続開始直後の機器提供サービス契約_世代登録年月日時分秒 保持域を更新
//			gene_add_dtm_now = (String)kk0341_c530_map.get( EKK0341C530CBSMsg.GENE_ADD_DTM );
//
//
//			// ・EKK0341C290  機器提供サービス契約サービス契約変更
//			HashMap<String, Object> kk0341_c290_map = new HashMap<String, Object>();
//			kk0341_c290_map.put( EKK0341C290CBSMsg.KKTK_SVC_KEI_NO, (String)cur_kktk_svc.get( JKKAdchgConstCC.PARAM_KEY_KKTK_SVC_KEI_NO ) );
//			kk0341_c290_map.put( EKK0341C290CBSMsg.SVC_KEI_NO, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_NEW_SVC_KEI_NO ) );
//			kk0341_c290_map.put( EKK0341C290CBSMsg.MSKM_DTL_NO, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_MSKM_DTL_NO ) );
//			kk0341_c290_map.put( EKK0341C290CBSMsg.RSV_APLY_YMD, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_CHG_RSV_YMD ) );
//			kk0341_c290_map.put( EKK0341C290CBSMsg.IDO_DIV, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_IDO_DIV ) );
//			kk0341_c290_map.put( EKK0341C290CBSMsg.UPD_DTM_BF, upd_dtm_now );
//			reqMap = mapper.setEKK0341C290( param, fixedText, kk0341_c290_map );
//			resMap = scCall.run( reqMap, keepSesHandle );
//			HashMap<String, Object> kk0341_c290_res_map = mapper.getEKK0341C290( param, fixedText, resMap );
//			mapper.scResultCheck( param );
//
//
//			// 更新後の機器提供サービス契約_更新年月日字分秒 保持域を更新
//			upd_dtm_now = (String)kk0341_c290_res_map.get( EKK0341C290CBSMsg.UPD_DTM );
//
//
//			// kk0341_a010_map.世代登録年月日時分秒を手続開始直後に退避した世代登録年月日時分秒に差替
//			kk0341_a010_map.put( EKK0341A010CBSMsg1List.GENE_ADD_DTM, gene_add_dtm_now );
//			// kk0341_a010_map.予約適用年月日をparam.変更予定年月日に差替
//			kk0341_a010_map.put( EKK0341A010CBSMsg1List.RSV_APLY_YMD, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_CHG_RSV_YMD ) );
//			// kk0341_a010_map.予約適用コードへ「予約手続中」を設定
//			//    ※※設定すべき予約適用コード値が不明  暫定的に「予約手続中」を設定
//			kk0341_a010_map.put( EKK0341A010CBSMsg1List.RSV_APLY_CD, JKKAdchgConstCC.CD00343_RSV_TTDKCHU );
//			// kk0341_a010_mapへ更新年月日時分秒(更新前)を設定
//			kk0341_a010_map.put( JKKAdchgMapperCC.UPD_DT_KKTK_SVC_KEI_UPD_DTM_BEF, upd_dtm_now );
//
//			// ・EKK0341C550  機器提供サービス契約機器変更手続完了
//			reqMap = mapper.setEKK0341C550( param, fixedText, kk0341_a010_map );
//			resMap = scCall.run( reqMap, keepSesHandle );
//			HashMap<String, Object> kk0341_c550_map = mapper.getEKK0341C550( param, fixedText, resMap );
//			mapper.scResultCheck( param );
//
//
//			// 更新後の更新年月日時分秒をparamへ設定
//			cur_kktk_svc.put( JKKAdchgConstCC.PARAM_KEY_KKTK_SVC_KEI_UPD_DTM_AFT, (String)kk0341_c550_map.get( EKK0341C550CBSMsg.UPD_DTM ) );
//		}
//	}
// 障害対応 IT1-2012-0000636 end ----------
// 20120622 異動可否判定チェック対応　解約／新規時　T.SAKAMOTO DEL END

	/**
	 * 請求オプションサービス契約差替処理.
	 * <br>
	 * @param   param      モデルグループ、コントロールマップを含むリクエストパラメータ
	 * @param   fixedText  ユーザ任意文字列
	 * @throws  Exception  例外が発生した場合
	 */
	public void seiOpSvcKeiSlide( IRequestParameterReadWrite param, String fixedText ) throws Exception {

		/** 事前準備 */
		HashMap<String, String> condMap;
		HashMap<String, Object> paramMap = (HashMap<String, Object>)param.getData(fixedText);
		HashMap<String, Object> reqMap;
		Map<?, ?> resMap;

		// 住所変更登録コモンコンポーネントマッピングクラスインスタンスを取得
		JKKAdchgMapperCC mapper = JKKAdchgMapperCC.getInstance();

		// SCリクエストInvokerを取得
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();


		/** 差替対象の抽出 */
		// ・EKK0441B001  請求オプションサービス契約一覧照会
		condMap = new HashMap<String, String>();
		condMap.put( JKKAdchgMapperCC.COND_KEY_SVC_KEI_NO, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_NO ) );
		condMap.put( JKKAdchgMapperCC.COND_KEY_OPEDATE, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_OPE_DATE ) );
		reqMap = mapper.setEKK0441B001( param, fixedText, condMap );
		resMap = scCall.run( reqMap, keepSesHandle );
		ArrayList<HashMap<String, Object>> kk0441_b001_map_lst = mapper.getEKK0441B001( param, fixedText, resMap );
		mapper.scResultCheck( param );


		/** 請求オプションサービス契約サービス契約変更ループ */
		Iterator<HashMap<String, Object>> seiky_kei_list_ite = kk0441_b001_map_lst.iterator();
		while( seiky_kei_list_ite.hasNext() ){

			HashMap<String, Object> cur_seiky_kei = seiky_kei_list_ite.next();

			// ・EKK0441A010  請求オプションサービス契約一意照会
			condMap = new HashMap<String, String>();
			condMap.put( JKKAdchgMapperCC.COND_KEY_SEIOPSVC_KEI_NO, (String)cur_seiky_kei.get( EKK0441B001CBSMsg1List.SEIOPSVC_KEI_NO ) );
			condMap.put( JKKAdchgMapperCC.COND_KEY_OPEDATE, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_OPE_DATE ) );
			reqMap = mapper.setEKK0441A010( param, fixedText, condMap );
			resMap = scCall.run( reqMap, keepSesHandle );
			HashMap<String, Object> kk0441_a010_map = mapper.getEKK0441A010( param, fixedText, resMap );
			mapper.scResultCheck( param );


			// ・EKK0441C130  請求オプションサービス契約サービス契約変更
			HashMap<String, Object> kk0441_c130_map = new HashMap<String, Object>();
// ST2-2012-0001330対応 OIJI MOD START -------------------------------
//			kk0441_c130_map.put( EKK0441C130CBSMsg.SEIOPSVC_KEI_NO, (String)kk0441_a010_map.get( EKK0441A010CBSMsg1List.SEIKY_KEI_NO ) );
			kk0441_c130_map.put( EKK0441C130CBSMsg.SEIOPSVC_KEI_NO, (String)kk0441_a010_map.get( EKK0441A010CBSMsg1List.SEIOPSVC_KEI_NO ) );
// ST2-2012-0001330対応 OIJI MOD END ---------------------------------
			kk0441_c130_map.put( EKK0441C130CBSMsg.MSKM_DTL_NO, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_MSKM_DTL_NO ) );
			kk0441_c130_map.put( EKK0441C130CBSMsg.SVC_KEI_NO, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_NEW_SVC_KEI_NO ) );
			kk0441_c130_map.put( EKK0441C130CBSMsg.RSV_APLY_YMD, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_CHG_RSV_YMD ) );
			kk0441_c130_map.put( EKK0441C130CBSMsg.IDO_DIV, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_IDO_DIV ) );
			kk0441_c130_map.put( EKK0441C130CBSMsg.UPD_DTM_BF, (String)kk0441_a010_map.get( EKK0441A010CBSMsg1List.UPD_DTM ) );
			reqMap = mapper.setEKK0441C130( param, fixedText, kk0441_c130_map );
			resMap = scCall.run( reqMap, keepSesHandle );
			HashMap<String, Object> kk0441_c130_res_map = mapper.getEKK0441C130( param, fixedText, resMap );
			mapper.scResultCheck( param );
		}
	}

// ●● IT故障対応(No100) START
	/**
	 * 更新年月日時分秒を取得.
	 * <br>サービス契約とサービス契約内訳の更新後更新年月日を比較し、最新の更新年月日を取得する
	 * <br>
	 * @param   paramMap  入力情報マップ
	 * @param   svcKeiUcwkMap  サービス契約内訳情報マップ
	 * @throws  Exception  例外が発生した場合
	 * @return  設定を行う更新年月日時分秒を返却
	 */
	public String getUpdDtm( HashMap<String, Object> paramMap, HashMap<String, Object> svcKeiUcwkMap ) throws Exception {

// ●● IT故障対応(No116) START
//		/** サービス契約内訳の更新年月日時分秒 */
//		String svcKeiUcwkUpdDtm = (String)svcKeiUcwkMap.get( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UCWK_DTL_UPD_DTM_AFT );
//		/** サービス契約の更新年月日時分秒 */
//		String svcKeiUpdDtm = getUpdDtmBef( 
//				(String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UPD_DTM_BEF ), 
//				(String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UPD_DTM_AFT ) );
//		if(svcKeiUpdDtm == null || "".equals(svcKeiUpdDtm))
//		{
//			return svcKeiUcwkUpdDtm;
//		}
//		if(svcKeiUcwkUpdDtm == null || "".equals(svcKeiUcwkUpdDtm))
//		{
//			return svcKeiUpdDtm;
//		}
//		/** 比較元更新年月日＞比較先更新年月日 判定 */
//		if( svcKeiUcwkUpdDtm.compareTo(svcKeiUpdDtm) > 0 ){
//
//			return svcKeiUcwkUpdDtm;
//
//		} else {
//
//			return svcKeiUpdDtm;
//
//		}
// ●● IT故障対応(No116) END
		/** サービス契約更新後の更新年月日時分秒 取得 */
		String svcKeiUpdDtm = getUpdDtmBef((String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UPD_DTM_BEF ),
										   (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UPD_DTM_AFT ));

		/** サービス契約内訳更新後の更新年月日時分秒 取得 */
		String svcKeiUcwkUpdDtm = getUpdDtmBef((String)svcKeiUcwkMap.get( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UCWK_UPD_DTM_BEF ),
											   (String)svcKeiUcwkMap.get( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UCWK_UPD_DTM_AFT ));

		/** 比較実施 */
		return getUpdDtmBef(svcKeiUcwkUpdDtm, svcKeiUpdDtm);
	}
// ●● IT故障対応(No100) END

// ●● 異動区分が「住所変更・確定」時の対応 START
	/**
	 * サービス契約番号に紐づくスキーマの異動区分を更新する.
	 * <br>
	 * @param   param      モデルグループ、コントロールマップを含むリクエストパラメータ
	 * @param   fixedText  ユーザ任意文字列
	 * @param   svcCd      サービスコード
	 * @throws  Exception  例外が発生した場合
	 */
	public void updIdoDiv( IRequestParameterReadWrite param, String fixedText, String svcCd ) throws Exception {

		/** 事前準備 */
		HashMap<String, String> condMap;
		HashMap<String, Object> paramMap = (HashMap<String, Object>)param.getData(fixedText);
		HashMap<String, Object> reqMap;
		Map<?, ?> resMap;

		// 住所変更登録コモンコンポーネントマッピングクラスインスタンスを取得
		JKKAdchgMapperCC mapper = JKKAdchgMapperCC.getInstance();

		// SCリクエストInvokerを取得
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();

		// 異動区分を取得
		String idoDiv = (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_IDO_DIV );

		/** サービス契約の更新 */
		// ・EKK0081A010  サービス契約一意照会
		condMap = new HashMap<String, String>();
		condMap.put( JKKAdchgMapperCC.COND_KEY_SVC_KEI_NO, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_NO ) );
		// ▼▼▼ 住所変更後のレコードを取得する必要がある
//		condMap.put( JKKAdchgMapperCC.COND_KEY_OPEDATE, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_OPE_DATE ) );
// 障害対応 IT1-2012-0000636 start ----------
//		condMap.put( JKKAdchgMapperCC.COND_KEY_OPEDATE, "20991231" );
		condMap.put( JKKAdchgMapperCC.COND_KEY_OPEDATE, JKKAdchgConstCC.DEFAULT_RSV_APLY_YMD );
// 障害対応 IT1-2012-0000636 end ----------
		// ▲▲▲ 住所変更後のレコードを取得する必要がある
		reqMap = mapper.setEKK0081A010( param, fixedText, condMap );
		resMap = scCall.run( reqMap, keepSesHandle );
		HashMap<String, Object> kk0081_a010_map = mapper.getEKK0081A010( param, fixedText, resMap );
		mapper.scResultCheck( param );
//★★ 品向不具合対応(No74) START
// ●●●●●住所変更登録解析用ログ　ＳＴＡＲＴ●●●●●
JSYejbLog.println(JSYejbLog.DEBUG, getClass(), "★★updIdoDiv   サービス契約番号=【"+(String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_NO )+"】", null, null, null);
JSYejbLog.println(JSYejbLog.DEBUG, getClass(), "★★updIdoDiv     DB ::更新年月日     =【"+(String)kk0081_a010_map.get( EKK0081A010CBSMsg1List.UPD_DTM )+"】", null, null, null);
JSYejbLog.println(JSYejbLog.DEBUG, getClass(), "★★updIdoDiv     Map::更新年月日(前) =【"+(String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UPD_DTM_BEF )+"】", null, null, null);
JSYejbLog.println(JSYejbLog.DEBUG, getClass(), "★★updIdoDiv     Map::更新年月日(後) =【"+(String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UPD_DTM_AFT )+"】", null, null, null);
// ●●●●●住所変更登録解析用ログ　ＥＮＤ●●●●●
//★★ 品向不具合対応(No74) END

		// 異動区分を設定
		kk0081_a010_map.put( EKK0081A010CBSMsg1List.IDO_DIV , idoDiv );
// ●● 品向 No.148 対応 START
		// 更新年月日時分秒
		//String svcKeiUpdDtm = getUpdDtmBef((String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UPD_DTM_BEF ),
		//							(String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UPD_DTM_AFT ));
		String svcKeiUpdDtm = getUpdDtmBef(
									getUpdDtmBef((String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UPD_DTM_BEF ),
												 (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UPD_DTM_AFT )
									),
									(String)kk0081_a010_map.get( EKK0081A010CBSMsg1List.LAST_UPD_DTM )
							  );
// ●● 品向 No.148 対応 END
		kk0081_a010_map.put( JKKAdchgMapperCC.UPD_DT_SVC_KEI_UPD_DTM_BEF , svcKeiUpdDtm );
//★★ 品向不具合対応(No74) START
// ●●●●●住所変更登録解析用ログ　ＳＴＡＲＴ●●●●●
JSYejbLog.println(JSYejbLog.DEBUG, getClass(), "★★updIdoDiv     →更新前更新年月日  =【"+(String)kk0081_a010_map.get( JKKAdchgMapperCC.UPD_DT_SVC_KEI_UPD_DTM_BEF )+"】", null, null, null);
// ●●●●●住所変更登録解析用ログ　ＥＮＤ●●●●●
//★★ 品向不具合対応(No74) END

		// サービスコードがネットの場合
		if(JKKAdchgConstCC.CD00130_INET_SVC.equals(svcCd))
		{
			// ・EKK0091A010  サービス契約＜eo光ネット＞一意照会
			condMap = new HashMap<String, String>();
			condMap.put( JKKAdchgMapperCC.COND_KEY_SVC_KEI_NO, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_NO ) );
			reqMap = mapper.setEKK0091A010( param, fixedText, condMap );
			resMap = scCall.run( reqMap, keepSesHandle );
			HashMap<String, Object> kk0091_a010_map = mapper.getEKK0091A010( param, fixedText, resMap );
			mapper.scResultCheck( param );

// 住所変更専用SIF差替 OIJI MOD START -------------------------------
//			// ・EKK0091C040  サービス契約＜eo光ネット＞情報変更
//			reqMap = mapper.setEKK0091C040( param, fixedText, kk0081_a010_map, kk0091_a010_map );
//			resMap = scCall.run( reqMap, keepSesHandle );
//			HashMap<String, Object> kk0091_c040_map = mapper.getEKK0091C040( param, fixedText, resMap );
//			mapper.scResultCheck( param );
//			paramMap.put( JKKAdchgConstCC.PARAM_KEY_NEW_SVC_KEI_NO , (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_NO ));
//			paramMap.put( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UPD_DTM_AFT , kk0091_c040_map.get(EKK0091C040CBSMsg.UPD_DTM));
			// ・EKK0091C041  サービス契約＜eo光ネット＞情報変更
			reqMap = mapper.setEKK0091C041( param, fixedText, kk0081_a010_map, kk0091_a010_map );
			resMap = scCall.run( reqMap, keepSesHandle );
			HashMap<String, Object> kk0091_c041_map = mapper.getEKK0091C041( param, fixedText, resMap );
			mapper.scResultCheck( param );
			paramMap.put( JKKAdchgConstCC.PARAM_KEY_NEW_SVC_KEI_NO , (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_NO ));
			paramMap.put( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UPD_DTM_AFT , kk0091_c041_map.get(EKK0091C040CBSMsg.UPD_DTM));
// 住所変更専用SIF差替 OIJI MOD END ---------------------------------
		}
		// サービスコードが電話の場合
		else if(JKKAdchgConstCC.CD00130_TEL_SVC.equals(svcCd))
		{
			// ・EKK0111A010  サービス契約＜eo光電話＞一意照会
			condMap = new HashMap<String, String>();
			condMap.put( JKKAdchgMapperCC.COND_KEY_SVC_KEI_NO, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_NO ) );
			reqMap = mapper.setEKK0111A010( param, fixedText, condMap );
			resMap = scCall.run( reqMap, keepSesHandle );
			HashMap<String, Object> kk0111_a010_map = mapper.getEKK0111A010( param, fixedText, resMap );
			mapper.scResultCheck( param );

// 住所変更専用SIF差替 OIJI MOD START -------------------------------
//			// ・EKK0111C040  サービス契約＜eo光電話＞情報変更
//			reqMap = mapper.setEKK0111C040( param, fixedText, kk0081_a010_map, kk0111_a010_map );
//			resMap = scCall.run( reqMap, keepSesHandle );
//			HashMap<String, Object> kk0111_c040_map = mapper.getEKK0111C040( param, fixedText, resMap );
//			mapper.scResultCheck( param );
//			paramMap.put( JKKAdchgConstCC.PARAM_KEY_NEW_SVC_KEI_NO , (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_NO ));
//			paramMap.put( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UPD_DTM_AFT , kk0111_c040_map.get(EKK0111C040CBSMsg.UPD_DTM));
			// ・EKK0111C041  サービス契約＜eo光電話＞情報変更
			reqMap = mapper.setEKK0111C041( param, fixedText, kk0081_a010_map, kk0111_a010_map );
			resMap = scCall.run( reqMap, keepSesHandle );
			HashMap<String, Object> kk0111_c041_map = mapper.getEKK0111C041( param, fixedText, resMap );
			mapper.scResultCheck( param );
			paramMap.put( JKKAdchgConstCC.PARAM_KEY_NEW_SVC_KEI_NO , (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_NO ));
			paramMap.put( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UPD_DTM_AFT , kk0111_c041_map.get(EKK0111C040CBSMsg.UPD_DTM));
// 住所変更専用SIF差替 OIJI MOD END ---------------------------------
		}
		// サービスコードがＴＶの場合
		else if(JKKAdchgConstCC.CD00130_TV_SVC.equals(svcCd))
		{
			// ・EKK0101A010  サービス契約＜eo光ＴＶ＞一意照会
			condMap = new HashMap<String, String>();
			condMap.put( JKKAdchgMapperCC.COND_KEY_SVC_KEI_NO, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_NO ) );
			reqMap = mapper.setEKK0101A010( param, fixedText, condMap );
			resMap = scCall.run( reqMap, keepSesHandle );
			HashMap<String, Object> kk0101_a010_map = mapper.getEKK0101A010( param, fixedText, resMap );
			mapper.scResultCheck( param );

// 住所変更専用SIF差替 OIJI MOD START -------------------------------
//			// ・EKK0101C040  サービス契約＜eo光ＴＶ＞情報変更
//			reqMap = mapper.setEKK0101C040( param, fixedText, kk0081_a010_map, kk0101_a010_map );
//			resMap = scCall.run( reqMap, keepSesHandle );
//			HashMap<String, Object> kk0101_c040_map = mapper.getEKK0101C040( param, fixedText, resMap );
//			mapper.scResultCheck( param );
//			paramMap.put( JKKAdchgConstCC.PARAM_KEY_NEW_SVC_KEI_NO , (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_NO ));
//			paramMap.put( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UPD_DTM_AFT , kk0101_c040_map.get(EKK0101C040CBSMsg.UPD_DTM));
			// ・EKK0101C041  サービス契約＜eo光ＴＶ＞情報変更
			reqMap = mapper.setEKK0101C041( param, fixedText, kk0081_a010_map, kk0101_a010_map );
			resMap = scCall.run( reqMap, keepSesHandle );
			HashMap<String, Object> kk0101_c041_map = mapper.getEKK0101C041( param, fixedText, resMap );
			mapper.scResultCheck( param );
			paramMap.put( JKKAdchgConstCC.PARAM_KEY_NEW_SVC_KEI_NO , (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_NO ));
			paramMap.put( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UPD_DTM_AFT , kk0101_c041_map.get(EKK0101C040CBSMsg.UPD_DTM));
// 住所変更専用SIF差替 OIJI MOD END ---------------------------------
		}

		/** サービス契約内訳の更新 */
		ArrayList<HashMap<String, Object>> svc_kei_ucwk_list = (ArrayList<HashMap<String, Object>>)paramMap.get( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UCWK_LIST );

		Iterator<HashMap<String, Object>> svc_kei_ucwk_list_ite = svc_kei_ucwk_list.iterator();
		while( svc_kei_ucwk_list_ite.hasNext() ){

			/** サービス契約内訳情報変更 */
			HashMap<String, Object> cur_svc_kei_ucwk = svc_kei_ucwk_list_ite.next();
			// ・EKK0161A010  サービス契約内訳一意照会
			condMap = new HashMap<String, String>();
			condMap.put( JKKAdchgMapperCC.COND_KEY_SVC_KEI_UCWK_NO, (String)cur_svc_kei_ucwk.get( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UCWK_NO ) );
			if (StringUtils.isEmpty((String)cur_svc_kei_ucwk.get( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UCWK_NO )))
			{
				continue;
			}
			// ▼▼▼ 住所変更後のレコードを取得する必要がある
//			condMap.put( JKKAdchgMapperCC.COND_KEY_OPEDATE, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_OPE_DATE ) );
// 障害対応 IT1-2012-0000636 start ----------
//			condMap.put( JKKAdchgMapperCC.COND_KEY_OPEDATE, "20991231" );
			condMap.put( JKKAdchgMapperCC.COND_KEY_OPEDATE, JKKAdchgConstCC.DEFAULT_RSV_APLY_YMD );
// 障害対応 IT1-2012-0000636 end ----------
			// ▲▲▲ 住所変更後のレコードを取得する必要がある
			reqMap = mapper.setEKK0161A010( param, fixedText, condMap );
			resMap = scCall.run( reqMap, keepSesHandle );
			HashMap<String, Object> kk0161_a010_map = mapper.getEKK0161A010( param, fixedText, resMap );
			mapper.scResultCheck( param );

			// 異動区分を設定
			kk0161_a010_map.put( EKK0161A010CBSMsg1List.IDO_DIV , idoDiv );
			// 更新年月日時分秒を設定
			kk0161_a010_map.put( EKK0161A010CBSMsg1List.UPD_DTM , getUpdDtm(paramMap, cur_svc_kei_ucwk) );

			// サービスコードがネットの場合
			if(JKKAdchgConstCC.CD00130_INET_SVC.equals(svcCd))
			{
				// ・EKK0171A010  サービス契約内訳＜eo光ネット＞一意照会
				condMap = new HashMap<String, String>();
				condMap.put( JKKAdchgMapperCC.COND_KEY_SVC_KEI_UCWK_NO, (String)cur_svc_kei_ucwk.get( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UCWK_NO ) );
				reqMap = mapper.setEKK0171A010( param, fixedText, condMap );
				resMap = scCall.run( reqMap, keepSesHandle );
				HashMap<String, Object> kk0171_a010_map = mapper.getEKK0171A010( param, fixedText, resMap );
				mapper.scResultCheck( param );

				// 更新年月日時分秒を設定
// ●● 品向 No.148 対応 START
				//kk0171_a010_map.put(JKKAdchgMapperCC.UPD_DT_SVC_KEI_UCWK_UPD_DTM_BEF, getUpdDtm(paramMap, cur_svc_kei_ucwk));
				//kk0171_a010_map.put(JKKAdchgMapperCC.UPD_DT_SVC_KEI_UCWK_UPD_DTM_BEF, getUpdDtmBef(getUpdDtm(paramMap, cur_svc_kei_ucwk), svcKeiUpdDtm));
// ●● 2012-06-08 解約／新規時のオプション引継考慮追加 START
				kk0171_a010_map.put(JKKAdchgMapperCC.UPD_DT_SVC_KEI_UCWK_UPD_DTM_BEF, kk0171_a010_map.get(EKK0171A010CBSMsg1List.LAST_UPD_DTM));
				kk0171_a010_map.put(EKK0171C040CBSMsg.RSV_APLY_YMD, JKKAdchgConstCC.DEFAULT_RSV_APLY_YMD );
// ●● 2012-06-08 解約／新規時のオプション引継考慮追加 END
// ●● 品向 No.148 対応 END

// 住所変更専用SIF差替 OIJI MOD START -------------------------------
//				// ・EKK0171C040  サービス契約内訳＜eo光ネット＞情報変更
//				reqMap = mapper.setEKK0171C050( param, fixedText, kk0161_a010_map, kk0171_a010_map );
//				resMap = scCall.run( reqMap, keepSesHandle );
//				HashMap<String, Object> kk0171_c050_map = mapper.getEKK0171C050( param, fixedText, resMap );
//				mapper.scResultCheck( param );
//				cur_svc_kei_ucwk.put( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UCWK_UPD_DTM_AFT, kk0171_c050_map.get(EKK0171C050CBSMsg.UPD_DTM) );
//
//				// サービス契約に対する更新後更新年月日時分秒も更新する
//				paramMap.put( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UPD_DTM_AFT , kk0171_c050_map.get(EKK0171C050CBSMsg.UPD_DTM));
				// ・EKK0171C051  サービス契約内訳＜eo光ネット＞情報変更（住所変更）
				reqMap = mapper.setEKK0171C051( param, fixedText, kk0161_a010_map, kk0171_a010_map );
				resMap = scCall.run( reqMap, keepSesHandle );
				HashMap<String, Object> kk0171_c051_map = mapper.getEKK0171C051( param, fixedText, resMap );
				mapper.scResultCheck( param );
				cur_svc_kei_ucwk.put( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UCWK_UPD_DTM_AFT, kk0171_c051_map.get(EKK0171C050CBSMsg.UPD_DTM) );

				// サービス契約に対する更新後更新年月日時分秒も更新する
				paramMap.put( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UPD_DTM_AFT , kk0171_c051_map.get(EKK0171C050CBSMsg.UPD_DTM));
// 住所変更専用SIF差替 OIJI MOD END ---------------------------------
			}
			// サービスコードが電話の場合
			else if(JKKAdchgConstCC.CD00130_TEL_SVC.equals(svcCd))
			{
				// ・EKK0191A010  サービス契約内訳＜eo光ネット＞一意照会
				condMap = new HashMap<String, String>();
				condMap.put( JKKAdchgMapperCC.COND_KEY_SVC_KEI_UCWK_NO, (String)cur_svc_kei_ucwk.get( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UCWK_NO ) );
				reqMap = mapper.setEKK0191A010( param, fixedText, condMap );
				resMap = scCall.run( reqMap, keepSesHandle );
				HashMap<String, Object> kk0191_a010_map = mapper.getEKK0191A010( param, fixedText, resMap );
				mapper.scResultCheck( param );

				// 更新年月日時分秒を設定
// ●● 品向 No.148 対応 START
				//kk0191_a010_map.put(JKKAdchgMapperCC.UPD_DT_SVC_KEI_UCWK_UPD_DTM_BEF, getUpdDtm(paramMap, cur_svc_kei_ucwk));
				kk0191_a010_map.put(JKKAdchgMapperCC.UPD_DT_SVC_KEI_UCWK_UPD_DTM_BEF, getUpdDtmBef(getUpdDtm(paramMap, cur_svc_kei_ucwk), svcKeiUpdDtm));
				kk0191_a010_map.put(EKK0191C060CBSMsg.RSV_APLY_YMD, JKKAdchgConstCC.DEFAULT_RSV_APLY_YMD );
// ●● 品向 No.148 対応 END

// 住所変更専用SIF差替 OIJI MOD START -------------------------------
//				// ・EKK0191C060  サービス契約内訳＜eo光ネット＞情報変更
//				reqMap = mapper.setEKK0191C060( param, fixedText, kk0161_a010_map, kk0191_a010_map );
//				resMap = scCall.run( reqMap, keepSesHandle );
//				HashMap<String, Object> kk0191_c060_map = mapper.getEKK0191C060( param, fixedText, resMap );
//				mapper.scResultCheck( param );
//				cur_svc_kei_ucwk.put( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UCWK_UPD_DTM_AFT, kk0191_c060_map.get(EKK0191C060CBSMsg.UPD_DTM) );
//
//				// サービス契約に対する更新後更新年月日時分秒も更新する
//				paramMap.put( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UPD_DTM_AFT , kk0191_c060_map.get(EKK0191C060CBSMsg.UPD_DTM));
				// ・EKK0191C061  サービス契約内訳＜eo光ネット＞情報変更
				reqMap = mapper.setEKK0191C061( param, fixedText, kk0161_a010_map, kk0191_a010_map );
				resMap = scCall.run( reqMap, keepSesHandle );
				HashMap<String, Object> kk0191_c061_map = mapper.getEKK0191C061( param, fixedText, resMap );
				mapper.scResultCheck( param );
				cur_svc_kei_ucwk.put( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UCWK_UPD_DTM_AFT, kk0191_c061_map.get(EKK0191C060CBSMsg.UPD_DTM) );

				// サービス契約に対する更新後更新年月日時分秒も更新する
				paramMap.put( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UPD_DTM_AFT , kk0191_c061_map.get(EKK0191C060CBSMsg.UPD_DTM));
// 住所変更専用SIF差替 OIJI MOD END ---------------------------------
			}
			// サービスコードがＴＶの場合
			else if(JKKAdchgConstCC.CD00130_TV_SVC.equals(svcCd))
			{
				// ・EKK0181A010  サービス契約内訳＜eo光ネット＞一意照会
				condMap = new HashMap<String, String>();
				condMap.put( JKKAdchgMapperCC.COND_KEY_SVC_KEI_UCWK_NO, (String)cur_svc_kei_ucwk.get( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UCWK_NO ) );
				reqMap = mapper.setEKK0181A010( param, fixedText, condMap );
				resMap = scCall.run( reqMap, keepSesHandle );
				HashMap<String, Object> kk0181_a010_map = mapper.getEKK0181A010( param, fixedText, resMap );
				mapper.scResultCheck( param );

				// 更新年月日時分秒を設定
// ●● 品向 No.148 対応 START
				//kk0181_a010_map.put(JKKAdchgMapperCC.UPD_DT_SVC_KEI_UCWK_UPD_DTM_BEF, getUpdDtm(paramMap, cur_svc_kei_ucwk));
				kk0181_a010_map.put(JKKAdchgMapperCC.UPD_DT_SVC_KEI_UCWK_UPD_DTM_BEF, getUpdDtmBef(getUpdDtm(paramMap, cur_svc_kei_ucwk), svcKeiUpdDtm));
				kk0181_a010_map.put(EKK0181C050CBSMsg.RSV_APLY_YMD, JKKAdchgConstCC.DEFAULT_RSV_APLY_YMD );
// ●● 品向 No.148 対応 END
// 住所変更専用SIF差替 OIJI MOD START -------------------------------
//				// ・EKK0181C050  サービス契約内訳＜eo光ネット＞情報変更
//				reqMap = mapper.setEKK0181C050( param, fixedText, kk0161_a010_map, kk0181_a010_map );
//				resMap = scCall.run( reqMap, keepSesHandle );
//				HashMap<String, Object> kk0181_c050_map = mapper.getEKK0181C050( param, fixedText, resMap );
//				mapper.scResultCheck( param );
//				cur_svc_kei_ucwk.put( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UCWK_UPD_DTM_AFT, kk0181_c050_map.get(EKK0181C050CBSMsg.UPD_DTM) );
//
//				// サービス契約に対する更新後更新年月日時分秒も更新する
//				paramMap.put( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UPD_DTM_AFT , kk0181_c050_map.get(EKK0181C050CBSMsg.UPD_DTM));
				// ・EKK0181C051  サービス契約内訳＜eo光ネット＞情報変更
				reqMap = mapper.setEKK0181C051( param, fixedText, kk0161_a010_map, kk0181_a010_map );
				resMap = scCall.run( reqMap, keepSesHandle );
				HashMap<String, Object> kk0181_c051_map = mapper.getEKK0181C051( param, fixedText, resMap );
				mapper.scResultCheck( param );
				cur_svc_kei_ucwk.put( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UCWK_UPD_DTM_AFT, kk0181_c051_map.get(EKK0181C050CBSMsg.UPD_DTM) );

				// サービス契約に対する更新後更新年月日時分秒も更新する
				paramMap.put( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UPD_DTM_AFT , kk0181_c051_map.get(EKK0181C050CBSMsg.UPD_DTM));
// 住所変更専用SIF差替 OIJI MOD END ---------------------------------
			}
		}

		/** 機器提供サービス契約の更新 */
		ArrayList<HashMap<String, Object>> kktk_svc_list = (ArrayList<HashMap<String, Object>>)paramMap.get( JKKAdchgConstCC.PARAM_KEY_KKTK_SVC_LIST );

		/** 機器提供サービス契約変更ループ */
		Iterator<HashMap<String, Object>> kktk_svc_list_ite = kktk_svc_list.iterator();
		while( kktk_svc_list_ite.hasNext() ){

			HashMap<String, Object> cur_kktk_svc = kktk_svc_list_ite.next();

			// EKK0341A010  機器提供サービス契約一意照会
			condMap = new HashMap<String, String>();
			condMap.put( JKKAdchgMapperCC.COND_KEY_KKTK_SVC_KEI_NO, (String)cur_kktk_svc.get( JKKAdchgConstCC.PARAM_KEY_KKTK_SVC_KEI_NO ) );
			// ▼▼▼ 住所変更後のレコードを取得する必要がある
//			condMap.put( JKKAdchgMapperCC.COND_KEY_OPEDATE, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_OPE_DATE ) );
// 障害対応 IT1-2012-0000636 start ----------
//			condMap.put( JKKAdchgMapperCC.COND_KEY_OPEDATE, "20991231" );
			condMap.put( JKKAdchgMapperCC.COND_KEY_OPEDATE, JKKAdchgConstCC.DEFAULT_RSV_APLY_YMD );
// 障害対応 IT1-2012-0000636 end ----------
			// ▲▲▲ 住所変更後のレコードを取得する必要がある
			reqMap = mapper.setEKK0341A010( param, fixedText, condMap );
			resMap = scCall.run( reqMap, keepSesHandle );
			HashMap<String, Object> kk0341_a010_map = mapper.getEKK0341A010( param, fixedText, resMap );
			mapper.scResultCheck( param );

			// 異動区分を設定
			kk0341_a010_map.put( EKK0341A010CBSMsg1List.RSV_APLY_CD, idoDiv );
// IT1-2012-0000691 2012/04/15 T.SAKAMOTO ADD START
			// 申込明細番号
			kk0341_a010_map.put( EKK0341A010CBSMsg1List.MSKM_DTL_NO, (String) paramMap.get( JKKAdchgConstCC.PARAM_KEY_MSKM_DTL_NO ) );
//IT1-2012-0000691 2012/04/15 T.SAKAMOTO ADD START


			// 更新後の機器提供サービス契約_更新年月日字分秒 保持域を準備
			String upd_dtm_now = getUpdDtmBef( (String)cur_kktk_svc.get( JKKAdchgConstCC.PARAM_KEY_KKTK_SVC_KEI_UPD_DTM_BEF ),
											   (String)cur_kktk_svc.get( JKKAdchgConstCC.PARAM_KEY_KKTK_SVC_KEI_UPD_DTM_AFT ) );
			// ●● 品行対応 No114 START
			upd_dtm_now = getUpdDtmBef(upd_dtm_now, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UPD_DTM_AFT));
			// ●● 品行対応 No114 END
			// kk0341_a010_mapへ更新年月日時分秒(更新前)を設定
			kk0341_a010_map.put( JKKAdchgMapperCC.UPD_DT_KKTK_SVC_KEI_UPD_DTM_BEF, upd_dtm_now );

// 障害対応 IT1-2012-0000636 start ----------
//			// EKK0341C230  機器提供サービス契約情報変更
//			reqMap = mapper.setEKK0341C230( param, fixedText, kk0341_a010_map );
//			resMap = scCall.run( reqMap, keepSesHandle );
//			HashMap<String, Object> kk0341_c230_map = mapper.getEKK0341C230( param, fixedText, resMap );
//			mapper.scResultCheck( param );

			// EKK0341C232  機器提供サービス契約情報変更
			reqMap = mapper.setEKK0341C232( param, fixedText, kk0341_a010_map );
			resMap = scCall.run( reqMap, keepSesHandle );
			HashMap<String, Object> kk0341_c232_map = mapper.getEKK0341C232( param, fixedText, resMap );
			mapper.scResultCheck( param );
// 障害対応 IT1-2012-0000636 end ----------

			cur_kktk_svc.put( JKKAdchgConstCC.PARAM_KEY_KKTK_SVC_KEI_UPD_DTM_AFT, kk0341_c232_map.get(EKK0341C230CBSMsg.UPD_DTM) );

			// ●● 品行対応 No114 START
			// サービス契約に対する更新後更新年月日時分秒も更新する
			paramMap.put( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UPD_DTM_AFT , kk0341_c232_map.get(EKK0341C230CBSMsg.UPD_DTM));
			// ●● 品行対応 No114 END
		}

		/** オプションサービス契約の更新 */
		// param.オプションサービス契約情報リスト を抽出
		ArrayList<HashMap<String, Object>> op_svc_kei_list = (ArrayList<HashMap<String, Object>>)paramMap.get( JKKAdchgConstCC.PARAM_KEY_OP_SVC_KEI_LIST );

		// オプションサービス契約番号
		String opSvcKeiNo = "";

		/** オプションサービス契約変更ループ */
		Iterator<HashMap<String, Object>> op_svc_kei_list_ite = op_svc_kei_list.iterator();
		while( op_svc_kei_list_ite.hasNext() ){

			HashMap<String, Object> cur_op_svc_kei = op_svc_kei_list_ite.next();

// ●● 2012-06-08 解約／新規時のオプション引継考慮追加 START
			if (StringUtils.isEmpty((String)cur_op_svc_kei.get( JKKAdchgConstCC.PARAM_KEY_OP_SVC_KEI_NO ))) {
				continue;
			}
// ●● 2012-06-08 解約／新規時のオプション引継考慮追加 END

			// EKK0351A010  オプションサービス契約一意照会
			condMap = new HashMap<String, String>();
			condMap.put( JKKAdchgMapperCC.COND_KEY_OP_SVC_KEI_NO, (String)cur_op_svc_kei.get( JKKAdchgConstCC.PARAM_KEY_OP_SVC_KEI_NO ) );
			// ▼▼▼ 住所変更後のレコードを取得する必要がある
//			condMap.put( JKKAdchgMapperCC.COND_KEY_OPEDATE, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_OPE_DATE ) );
// 障害対応 IT1-2012-0000636 start ----------
//			condMap.put( JKKAdchgMapperCC.COND_KEY_OPEDATE, "20991231" );
			condMap.put( JKKAdchgMapperCC.COND_KEY_OPEDATE, JKKAdchgConstCC.DEFAULT_RSV_APLY_YMD );
// 障害対応 IT1-2012-0000636 end ----------
			// ▲▲▲ 住所変更後のレコードを取得する必要がある
			reqMap = mapper.setEKK0351A010( param, fixedText, condMap );
			resMap = scCall.run( reqMap, keepSesHandle );
			HashMap<String, Object> kk0351_a010_map = mapper.getEKK0351A010( param, fixedText, resMap );
			mapper.scResultCheck( param );

			// EKK0361A010  オプションサービス契約＜ISP＞一意照会
			condMap = new HashMap<String, String>();
			condMap.put( JKKAdchgMapperCC.COND_KEY_OP_SVC_KEI_NO, (String)cur_op_svc_kei.get( JKKAdchgConstCC.PARAM_KEY_OP_SVC_KEI_NO ) );
			reqMap = mapper.setEKK0361A010( param, fixedText, condMap );
			resMap = scCall.run( reqMap, keepSesHandle );
			HashMap<String, Object> kk0361_a010_map = mapper.getEKK0361A010( param, fixedText, resMap );
			mapper.scResultCheck( param );

			opSvcKeiNo = (String)kk0361_a010_map.get(EKK0361A010CBSMsg1List.OP_SVC_KEI_NO);
			// オプションサービス契約＜ISP＞一意照会で取得できた場合
			if(opSvcKeiNo != null && !"".equals(opSvcKeiNo))
			{
				// kk0351_a010_map.異動区分をparam.異動区分に差替
				kk0351_a010_map.put( EKK0401A010CBSMsg1List.IDO_DIV, idoDiv );

				// kk0351_a010_mapへ更新年月日時分秒(更新前)を設定
				String befUpdDtm = (String)cur_op_svc_kei.get( JKKAdchgConstCC.PARAM_KEY_OP_SVC_KEI_UPD_DTM_BEF );
				String aftUpdDtm = (String)cur_op_svc_kei.get( JKKAdchgConstCC.PARAM_KEY_OP_SVC_KEI_UPD_DTM_AFT );
				// ●● 品行対応 No114 START
//				kk0361_a010_map.put( JKKAdchgMapperCC.UPD_DT_OP_SVC_KEI_UPD_DTM_BEF, getUpdDtmBef( befUpdDtm, aftUpdDtm) );
				kk0361_a010_map.put( JKKAdchgMapperCC.UPD_DT_OP_SVC_KEI_UPD_DTM_BEF, getUpdDtmBef( getUpdDtmBef( befUpdDtm, aftUpdDtm), 
																				(String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UPD_DTM_AFT) ) );
				// ●● 品行対応 No114 END

				// EKK0361C050  オプションサービス契約＜ISP＞情報変更
				reqMap = mapper.setEKK0361C050( param, fixedText, kk0351_a010_map, kk0361_a010_map );
				resMap = scCall.run( reqMap, keepSesHandle );
				HashMap<String, Object> kk0361_c050_map = mapper.getEKK0361C050( param, fixedText, resMap );
				mapper.scResultCheck( param );

				// 更新後の更新年月日時分秒をparamへ設定
				cur_op_svc_kei.put( JKKAdchgConstCC.PARAM_KEY_OP_SVC_KEI_UPD_DTM_AFT, (String)kk0361_c050_map.get( EKK0361C050CBSMsg.UPD_DTM ) );

				// ●● 品行対応 No114 START
				// サービス契約に対する更新後更新年月日時分秒も更新する
				paramMap.put( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UPD_DTM_AFT , kk0361_c050_map.get(EKK0361C050CBSMsg.UPD_DTM));
				// ●● 品行対応 No114 END

				// サブオプションサービス契約の更新
				updIdoDivForSubOp(param, fixedText, cur_op_svc_kei);

				continue;
			}

			// EKK0371A010  オプションサービス契約＜電話＞一意照会
			condMap = new HashMap<String, String>();
			condMap.put( JKKAdchgMapperCC.COND_KEY_OP_SVC_KEI_NO, (String)cur_op_svc_kei.get( JKKAdchgConstCC.PARAM_KEY_OP_SVC_KEI_NO ) );
			reqMap = mapper.setEKK0371A010( param, fixedText, condMap );
			resMap = scCall.run( reqMap, keepSesHandle );
			HashMap<String, Object> kk0371_a010_map = mapper.getEKK0371A010( param, fixedText, resMap );
			mapper.scResultCheck( param );

			opSvcKeiNo = (String)kk0371_a010_map.get(EKK0371A010CBSMsg1List.OP_SVC_KEI_NO);
			// オプションサービス契約＜TV＞一意照会で取得できた場合
			if(opSvcKeiNo != null && !"".equals(opSvcKeiNo))
			{
				// kk0351_a010_map.異動区分をparam.異動区分に差替
				kk0351_a010_map.put( EKK0401A010CBSMsg1List.IDO_DIV, idoDiv );

				// kk0351_a010_mapへ更新年月日時分秒(更新前)を設定
				String befUpdDtm = (String)cur_op_svc_kei.get( JKKAdchgConstCC.PARAM_KEY_OP_SVC_KEI_UPD_DTM_BEF );
				String aftUpdDtm = (String)cur_op_svc_kei.get( JKKAdchgConstCC.PARAM_KEY_OP_SVC_KEI_UPD_DTM_AFT );
				// ●● 品行対応 No114 START
//				kk0371_a010_map.put( JKKAdchgMapperCC.UPD_DT_OP_SVC_KEI_UPD_DTM_BEF, getUpdDtmBef( befUpdDtm, aftUpdDtm) );
				kk0371_a010_map.put( JKKAdchgMapperCC.UPD_DT_OP_SVC_KEI_UPD_DTM_BEF, getUpdDtmBef( getUpdDtmBef( befUpdDtm, aftUpdDtm), 
																				(String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UPD_DTM_AFT) ) );
				// ●● 品行対応 No114 END

				// EKK0371C050  オプションサービス契約＜電話＞情報変更
				reqMap = mapper.setEKK0371C050( param, fixedText, kk0351_a010_map, kk0371_a010_map );
				resMap = scCall.run( reqMap, keepSesHandle );
				HashMap<String, Object> kk0371_c050_map = mapper.getEKK0371C050( param, fixedText, resMap );
				mapper.scResultCheck( param );

				// 更新後の更新年月日時分秒をparamへ設定
				cur_op_svc_kei.put( JKKAdchgConstCC.PARAM_KEY_OP_SVC_KEI_UPD_DTM_AFT, (String)kk0371_c050_map.get( EKK0371C050CBSMsg.UPD_DTM ) );

				// ●● 品行対応 No114 START
				// サービス契約に対する更新後更新年月日時分秒も更新する
				paramMap.put( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UPD_DTM_AFT , kk0371_c050_map.get(EKK0371C050CBSMsg.UPD_DTM));
				// ●● 品行対応 No114 END

				// サブオプションサービス契約の更新
				updIdoDivForSubOp(param, fixedText, cur_op_svc_kei);
				continue;
			}

			// EKK0381A010  オプションサービス契約＜TV＞一意照会
			condMap = new HashMap<String, String>();
			condMap.put( JKKAdchgMapperCC.COND_KEY_OP_SVC_KEI_NO, (String)cur_op_svc_kei.get( JKKAdchgConstCC.PARAM_KEY_OP_SVC_KEI_NO ) );
			reqMap = mapper.setEKK0381A010( param, fixedText, condMap );
			resMap = scCall.run( reqMap, keepSesHandle );
			HashMap<String, Object> kk0381_a010_map = mapper.getEKK0381A010( param, fixedText, resMap );
			mapper.scResultCheck( param );

			opSvcKeiNo = (String)kk0381_a010_map.get(EKK0381A010CBSMsg1List.OP_SVC_KEI_NO);
			// オプションサービス契約＜TV＞一意照会で取得できた場合
			if(opSvcKeiNo != null && !"".equals(opSvcKeiNo))
			{
				// kk0351_a010_map.異動区分をparam.異動区分に差替
				kk0351_a010_map.put( EKK0401A010CBSMsg1List.IDO_DIV, idoDiv );

				// kk0351_a010_mapへ更新年月日時分秒(更新前)を設定
				String befUpdDtm = (String)cur_op_svc_kei.get( JKKAdchgConstCC.PARAM_KEY_OP_SVC_KEI_UPD_DTM_BEF );
				String aftUpdDtm = (String)cur_op_svc_kei.get( JKKAdchgConstCC.PARAM_KEY_OP_SVC_KEI_UPD_DTM_AFT );
				// ●● 品行対応 No114 START
//				kk0381_a010_map.put( JKKAdchgMapperCC.UPD_DT_OP_SVC_KEI_UPD_DTM_BEF, getUpdDtmBef( befUpdDtm, aftUpdDtm) );
				kk0381_a010_map.put( JKKAdchgMapperCC.UPD_DT_OP_SVC_KEI_UPD_DTM_BEF, getUpdDtmBef( getUpdDtmBef( befUpdDtm, aftUpdDtm), 
																				(String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UPD_DTM_AFT) ) );
				// ●● 品行対応 No114 END

				// ・EKK0381C050  オプションサービス契約<TV>情報変更
				reqMap = mapper.setEKK0381C050( param, fixedText, kk0351_a010_map, kk0381_a010_map );
				resMap = scCall.run( reqMap, keepSesHandle );
				HashMap<String, Object> kk0381_c050_map = mapper.getEKK0381C050( param, fixedText, resMap );
				mapper.scResultCheck( param );

				// 更新後の更新年月日時分秒をparamへ設定
				cur_op_svc_kei.put( JKKAdchgConstCC.PARAM_KEY_OP_SVC_KEI_UPD_DTM_AFT, (String)kk0381_c050_map.get( EKK0351C050CBSMsg.UPD_DTM ) );

				// ●● 品行対応 No114 START
				// サービス契約に対する更新後更新年月日時分秒も更新する
				paramMap.put( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UPD_DTM_AFT , kk0381_c050_map.get(EKK0381C050CBSMsg.UPD_DTM));
				// ●● 品行対応 No114 END

				// サブオプションサービス契約の更新
				updIdoDivForSubOp(param, fixedText, cur_op_svc_kei);
				continue;
			}
		}

// ●●巻@−２対応 start
//		/** 割引サービス契約の更新 */
//		String wribSvcKeiNo = "";
//
//		// EKK0451B002 割引サービス契約一覧照会（サービス契約番号）
//		condMap = new HashMap<String, String>();
//		condMap.put( JKKAdchgMapperCC.COND_KEY_SVC_KEI_NO, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_NO ) );
//		reqMap = mapper.setEKK0451B002( param, fixedText, condMap );
//		resMap = scCall.run( reqMap, keepSesHandle );
//		ArrayList<HashMap<String, Object>> kk0451_b002_map_list = mapper.getEKK0451B002( param, fixedText, resMap );
//		mapper.scResultCheck( param );
//
//		for(int i = 0; i < kk0451_b002_map_list.size(); i++ )
//		{
//			HashMap<String, Object> kk0451_b002_map = kk0451_b002_map_list.get(i);
//
//			// EKK0451A010  割引サービス契約一意照会
//			condMap = new HashMap<String, String>();
//			condMap.put( JKKAdchgMapperCC.COND_KEY_WRIB_SVC_KEI_NO, (String)kk0451_b002_map.get( EKK0451B002CBSMsg1List.WRIB_SVC_KEI_NO ) );
//			// ▼▼▼ 住所変更後のレコードを取得する必要がある
////			condMap.put( JKKAdchgMapperCC.COND_KEY_OPEDATE, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_OPE_DATE ) );
//			condMap.put( JKKAdchgMapperCC.COND_KEY_OPEDATE, "20991231" );
//			// ▲▲▲ 住所変更後のレコードを取得する必要がある
//			reqMap = mapper.setEKK0451A010( param, fixedText, condMap );
//			resMap = scCall.run( reqMap, keepSesHandle );
//			HashMap<String, Object> kk0451_a010_map = mapper.getEKK0451A010( param, fixedText, resMap );
//			mapper.scResultCheck( param );
//
//			// EKK0461A010  割引サービス契約＜一時費用割引＞一意照会
//			condMap = new HashMap<String, String>();
//			condMap.put( JKKAdchgMapperCC.COND_KEY_WRIB_SVC_KEI_NO, (String)kk0451_b002_map.get( EKK0451B002CBSMsg1List.WRIB_SVC_KEI_NO ) );
//			reqMap = mapper.setEKK0461A010( param, fixedText, condMap );
//			resMap = scCall.run( reqMap, keepSesHandle );
//			HashMap<String, Object> kk0461_a010_map = mapper.getEKK0461A010( param, fixedText, resMap );
//			mapper.scResultCheck( param );
//
//			wribSvcKeiNo = (String)kk0461_a010_map.get(EKK0461A010CBSMsg1List.WRIB_SVC_KEI_NO);
//			// 割引サービス契約＜一時費用割引＞一意照会で取得できる場合
//			if(wribSvcKeiNo != null && !"".equals(wribSvcKeiNo))
//			{
//				// kk0451_a010_map.異動区分をparam.異動区分に差替
//				kk0451_a010_map.put( EKK0451A010CBSMsg1List.IDO_DIV, idoDiv );
//
//				// kk0461_a010_mapへ更新年月日時分秒(更新前)を設定
//				kk0461_a010_map.put( JKKAdchgMapperCC.UPD_DT_WRIB_SVC_KEI_UPD_DTM_BEF, kk0461_a010_map.get(EKK0461A010CBSMsg1List.LAST_UPD_DTM) );
//
//				// EKK0461C030  割引サービス契約＜一時費用割引＞変更
//				reqMap = mapper.setEKK0461C030( param, fixedText, kk0451_a010_map, kk0461_a010_map );
//				resMap = scCall.run( reqMap, keepSesHandle );
//				// ●● 品行対応 No114 START
////				mapper.getEKK0461C030( param, fixedText, resMap );
//				HashMap<String, Object> kk0461_c030_map = mapper.getEKK0461C030( param, fixedText, resMap );
//				// ●● 品行対応 No114 END
//				mapper.scResultCheck( param );
//
//				// ●● 品行対応 No114 START
//				// サービス契約に対する更新後更新年月日時分秒も更新する
//				paramMap.put( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UPD_DTM_AFT , kk0461_c030_map.get(EKK0461C030CBSMsg.UPD_DTM));
//				// ●● 品行対応 No114 END
//				continue;
//			}
//
//			// EKK0471A010  割引サービス契約＜月額費用割引＞一意照会
//			condMap = new HashMap<String, String>();
//			condMap.put( JKKAdchgMapperCC.COND_KEY_WRIB_SVC_KEI_NO, (String)kk0451_b002_map.get( EKK0451B002CBSMsg1List.WRIB_SVC_KEI_NO ) );
//			reqMap = mapper.setEKK0471A010( param, fixedText, condMap );
//			resMap = scCall.run( reqMap, keepSesHandle );
//			HashMap<String, Object> kk0471_a010_map = mapper.getEKK0471A010( param, fixedText, resMap );
//			mapper.scResultCheck( param );
//
//			wribSvcKeiNo = (String)kk0471_a010_map.get(EKK0471A010CBSMsg1List.WRIB_SVC_KEI_NO);
//			// 割引サービス契約＜一時費用割引＞一意照会で取得できる場合
//			if(wribSvcKeiNo != null && !"".equals(wribSvcKeiNo))
//			{
//				// kk0451_a010_map.異動区分をparam.異動区分に差替
//				kk0451_a010_map.put( EKK0451A010CBSMsg1List.IDO_DIV, idoDiv );
//
//				// kk0471_a010_mapへ更新年月日時分秒(更新前)を設定
//				kk0471_a010_map.put( JKKAdchgMapperCC.UPD_DT_WRIB_SVC_KEI_UPD_DTM_BEF, kk0471_a010_map.get(EKK0461A010CBSMsg1List.LAST_UPD_DTM) );
//
//				// EKK0471C030  割引サービス契約＜月額費用割引＞変更
//				reqMap = mapper.setEKK0471C030( param, fixedText, kk0451_a010_map, kk0471_a010_map );
//				resMap = scCall.run( reqMap, keepSesHandle );
//				// ●● 品行対応 No114 START
////				mapper.getEKK0471C030( param, fixedText, resMap );
//				HashMap<String, Object> kk0471_c030_map = mapper.getEKK0471C030( param, fixedText, resMap );
//				// ●● 品行対応 No114 END
//				mapper.scResultCheck( param );
//
//				// ●● 品行対応 No114 START
//				// サービス契約に対する更新後更新年月日時分秒も更新する
//				paramMap.put( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UPD_DTM_AFT , kk0471_c030_map.get(EKK0471C030CBSMsg.UPD_DTM));
//				// ●● 品行対応 No114 END
//				continue;
//			}
//		}
// ●●巻@−２対応 end

		/** 請求契約の更新 */
		// param.請求書送付先住所変更対象リスト を抽出
		ArrayList<HashMap<String, Object>> seiky_shs_list = (ArrayList<HashMap<String, Object>>)paramMap.get( JKKAdchgConstCC.PARAM_KEY_SEIKY_SHS_CHG_TGT_LIST );

		/** 請求書送付先住所変更ループ */
		Iterator<HashMap<String, Object>> seiky_shs_list_ite = seiky_shs_list.iterator();
		while( seiky_shs_list_ite.hasNext() ){

			HashMap<String, Object> cur_seiky_shs = seiky_shs_list_ite.next();

			// ・EKK0491A010  請求契約一意照会
			condMap = new HashMap<String, String>();
			condMap.put( JKKAdchgMapperCC.COND_KEY_SEIKY_KEI_NO, (String)cur_seiky_shs.get( JKKAdchgConstCC.PARAM_KEY_SEIKY_SHS_CHG_SEIKY_KEI_NO ) );
			// ▼▼▼ 住所変更後のレコードを取得する必要がある
//			condMap.put( JKKAdchgMapperCC.COND_KEY_OPEDATE, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_OPE_DATE ) );
// 障害対応 IT1-2012-0000636 start ----------
//			condMap.put( JKKAdchgMapperCC.COND_KEY_OPEDATE, "20991231" );
			condMap.put( JKKAdchgMapperCC.COND_KEY_OPEDATE, JKKAdchgConstCC.DEFAULT_RSV_APLY_YMD );
// 障害対応 IT1-2012-0000636 end ----------
			// ▲▲▲ 住所変更後のレコードを取得する必要がある
			reqMap = mapper.setEKK0491A010( param, fixedText, condMap );
			resMap = scCall.run( reqMap, keepSesHandle );
			HashMap<String, Object> kk0491_a010_map = mapper.getEKK0491A010( param, fixedText, resMap );
			mapper.scResultCheck( param );

			// kk0491_a010_map.異動区分をparam.異動区分に差替
			kk0491_a010_map.put( EKK0491A010CBSMsg1List.IDO_DIV, idoDiv );

			// kk0491_a010_mapへ更新年月日時分秒(更新前)を設定
			String befUpdDtm = (String)cur_seiky_shs.get( JKKAdchgConstCC.PARAM_KEY_SEIKY_SHS_CHG_UPD_DTM_BEF );
			String aftUpdDtm = (String)cur_seiky_shs.get( JKKAdchgConstCC.PARAM_KEY_SEIKY_SHS_CHG_UPD_DTM_AFT );
			kk0491_a010_map.put( JKKAdchgMapperCC.UPD_DT_SEIKY_KEI_UPD_DTM_BEF, getUpdDtmBef( befUpdDtm, aftUpdDtm ) );


			// ・EKK0491C060  請求契約内容変更
			reqMap = mapper.setEKK0491C060( param, fixedText, kk0491_a010_map );
			resMap = scCall.run( reqMap, keepSesHandle );
			HashMap<String, Object> kk0491_c060_map = mapper.getEKK0491C060( param, fixedText, resMap );
			mapper.scResultCheck( param );

			// 更新後の更新年月日時分秒をparamへ設定
			cur_seiky_shs.put( JKKAdchgConstCC.PARAM_KEY_SEIKY_SHS_CHG_UPD_DTM_AFT, (String)kk0491_c060_map.get( EKK0491C060CBSMsg.UPD_DTM ) );
		}

		/** 請求オプションサービス契約の抽出 */
		// ・EKK0441B001  請求オプションサービス契約一覧照会
		condMap = new HashMap<String, String>();
		condMap.put( JKKAdchgMapperCC.COND_KEY_SVC_KEI_NO, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_NO ) );
		// ▼▼▼ 住所変更後のレコードを取得する必要がある
//		condMap.put( JKKAdchgMapperCC.COND_KEY_OPEDATE, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_OPE_DATE ) );
// 障害対応 IT1-2012-0000636 start ----------
//		condMap.put( JKKAdchgMapperCC.COND_KEY_OPEDATE, "20991231" );
		condMap.put( JKKAdchgMapperCC.COND_KEY_OPEDATE, JKKAdchgConstCC.DEFAULT_RSV_APLY_YMD );
// 障害対応 IT1-2012-0000636 end ----------
		// ▲▲▲ 住所変更後のレコードを取得する必要がある
		reqMap = mapper.setEKK0441B001( param, fixedText, condMap );
		resMap = scCall.run( reqMap, keepSesHandle );
		ArrayList<HashMap<String, Object>> kk0441_b001_map_lst = mapper.getEKK0441B001( param, fixedText, resMap );
		mapper.scResultCheck( param );


		/** 請求オプションサービス契約サービス契約変更ループ */
		Iterator<HashMap<String, Object>> seiky_kei_list_ite = kk0441_b001_map_lst.iterator();
		while( seiky_kei_list_ite.hasNext() ){

			HashMap<String, Object> cur_seiky_kei = seiky_kei_list_ite.next();

			// ・EKK0441A010  請求オプションサービス契約一意照会
			condMap = new HashMap<String, String>();
			condMap.put( JKKAdchgMapperCC.COND_KEY_SEIOPSVC_KEI_NO, (String)cur_seiky_kei.get( EKK0441B001CBSMsg1List.SEIOPSVC_KEI_NO ) );
			// ▼▼▼ 住所変更後のレコードを取得する必要がある
//			condMap.put( JKKAdchgMapperCC.COND_KEY_OPEDATE, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_OPE_DATE ) );
// 障害対応 IT1-2012-0000636 start ----------
//			condMap.put( JKKAdchgMapperCC.COND_KEY_OPEDATE, "20991231" );
			condMap.put( JKKAdchgMapperCC.COND_KEY_OPEDATE, JKKAdchgConstCC.DEFAULT_RSV_APLY_YMD );
// 障害対応 IT1-2012-0000636 end ----------
			// ▲▲▲ 住所変更後のレコードを取得する必要がある
			reqMap = mapper.setEKK0441A010( param, fixedText, condMap );
			resMap = scCall.run( reqMap, keepSesHandle );
			HashMap<String, Object> kk0441_a010_map = mapper.getEKK0441A010( param, fixedText, resMap );
			mapper.scResultCheck( param );


			// ・EKK0441C130  請求オプションサービス契約サービス契約変更
			HashMap<String, Object> kk0441_c130_map = new HashMap<String, Object>();
			kk0441_c130_map.put( EKK0441C130CBSMsg.SEIOPSVC_KEI_NO, (String)kk0441_a010_map.get( EKK0441A010CBSMsg1List.SEIKY_KEI_NO ) );
			kk0441_c130_map.put( EKK0441C130CBSMsg.IDO_DIV, idoDiv );
			kk0441_c130_map.put( EKK0441C130CBSMsg.UPD_DTM_BF, (String)kk0441_a010_map.get( EKK0441A010CBSMsg1List.LAST_UPD_DTM ) );
			reqMap = mapper.setEKK0441C130( param, fixedText, kk0441_c130_map );
			resMap = scCall.run( reqMap, keepSesHandle );
			mapper.getEKK0441C130( param, fixedText, resMap );
			mapper.scResultCheck( param );
		}
	}

	/**
	 * サービス契約番号に紐づくサブオプションサービス契約の異動区分を更新する.
	 * <br>
	 * @param   param         モデルグループ、コントロールマップを含むリクエストパラメータ
	 * @param   fixedText     ユーザ任意文字列
	 * @param   opSvcKeiMap   オプションサービス契約情報
	 * @throws  Exception  例外が発生した場合
	 */
	public void updIdoDivForSubOp( IRequestParameterReadWrite param, String fixedText, HashMap<String, Object> opSvcKeiMap ) throws Exception {

		/** 事前準備 */
		HashMap<String, String> condMap;
		HashMap<String, Object> paramMap = (HashMap<String, Object>)param.getData(fixedText);
		HashMap<String, Object> reqMap;
		Map<?, ?> resMap;

		// 住所変更登録コモンコンポーネントマッピングクラスインスタンスを取得
		JKKAdchgMapperCC mapper = JKKAdchgMapperCC.getInstance();

		// SCリクエストInvokerを取得
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();

		// 異動区分を取得
		String idoDiv = (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_IDO_DIV );

		// オプションサービス契約番号
		String opSvcKeiNo = "";

		/** サブオプションサービス契約の更新 */
		// EKK0401B001  サブオプションサービス契約一覧照会
		condMap = new HashMap<String, String>();
		condMap.put( JKKAdchgMapperCC.COND_KEY_OP_SVC_KEI_NO, (String)opSvcKeiMap.get( JKKAdchgConstCC.PARAM_KEY_OP_SVC_KEI_NO ) );
		reqMap = mapper.setEKK0401B001( param, fixedText, condMap );
		resMap = scCall.run( reqMap, keepSesHandle );
		ArrayList<HashMap<String, Object>> kk0401_b001_map_list = mapper.getEKK0401B001( param, fixedText, resMap );
		mapper.scResultCheck( param );

		for(int i = 0; i < kk0401_b001_map_list.size(); i++)
		{
			HashMap<String, Object> kk0401_b001_map = kk0401_b001_map_list.get(i);

			// EKK0401A010  サブオプションサービス契約一意照会
			condMap = new HashMap<String, String>();
			condMap.put( JKKAdchgMapperCC.COND_KEY_OP_SVC_KEI_NO, (String)kk0401_b001_map.get( EKK0401B001CBSMsg1List.OP_SVC_KEI_NO ) );
			condMap.put( JKKAdchgMapperCC.COND_KEY_SBOP_SVC_KEI_NO, (String)kk0401_b001_map.get( EKK0401B001CBSMsg1List.SBOP_SVC_KEI_NO ) );
// 障害対応 IT1-2012-0000636 start ----------
//			condMap.put( JKKAdchgMapperCC.COND_KEY_OPEDATE, "20991231" );
			condMap.put( JKKAdchgMapperCC.COND_KEY_OPEDATE, JKKAdchgConstCC.DEFAULT_RSV_APLY_YMD );
// 障害対応 IT1-2012-0000636 end ----------
			reqMap = mapper.setEKK0401A010( param, fixedText, condMap );
			resMap = scCall.run( reqMap, keepSesHandle );
			HashMap<String, Object> kk0401_a010_map = mapper.getEKK0401A010( param, fixedText, resMap );
			mapper.scResultCheck( param );

			// EKK0411A010  サブオプションサービス契約＜ISP＞一意照会
			condMap = new HashMap<String, String>();
			condMap.put( JKKAdchgMapperCC.COND_KEY_OP_SVC_KEI_NO, (String)kk0401_b001_map.get( EKK0401B001CBSMsg1List.OP_SVC_KEI_NO ) );
			condMap.put( JKKAdchgMapperCC.COND_KEY_SBOP_SVC_KEI_NO, (String)kk0401_b001_map.get( EKK0401B001CBSMsg1List.SBOP_SVC_KEI_NO ) );
			reqMap = mapper.setEKK0411A010( param, fixedText, condMap );
			resMap = scCall.run( reqMap, keepSesHandle );
			HashMap<String, Object> kk0411_a010_map = mapper.getEKK0411A010( param, fixedText, resMap );
			mapper.scResultCheck( param );

			opSvcKeiNo = (String)kk0411_a010_map.get(EKK0411A010CBSMsg1List.OP_SVC_KEI_NO);
			// サブオプションサービス契約＜ISP＞一意照会で取得できた場合
			if(opSvcKeiNo != null && !"".equals(opSvcKeiNo))
			{
// DB更新障害対応 No.16,39,58 FUKUNAGA START ---------------------------------
				// kk0401_a010_map.申込明細番号をparam.申込明細番号に差替
				kk0401_a010_map.put( EKK0401A010CBSMsg1List.MSKM_DTL_NO, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_MSKM_DTL_NO ) );
// DB更新障害対応 No.16,39,58 FUKUNAGA END -----------------------------------
				// 異動区分を設定
				kk0401_a010_map.put( EKK0401A010CBSMsg1List.IDO_DIV , idoDiv );
				// 更新年月日時分秒
				String opSvcKeiUpdDtm = (String)opSvcKeiMap.get( JKKAdchgConstCC.PARAM_KEY_OP_SVC_KEI_UPD_DTM_AFT );
				// ●● 品行対応 No114 START
//				kk0411_a010_map.put( JKKAdchgMapperCC.UPD_DT_SVC_KEI_UPD_DTM_BEF , opSvcKeiUpdDtm );
				kk0411_a010_map.put( JKKAdchgMapperCC.UPD_DT_SVC_KEI_UPD_DTM_BEF , getUpdDtmBef(opSvcKeiUpdDtm,
																				(String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UPD_DTM_AFT) ) );
				// ●● 品行対応 No114 END

				// EKK0411C010  サブオプションサービス契約＜ISP＞変更
				reqMap = mapper.setEKK0411C010( param, fixedText, kk0401_a010_map, kk0411_a010_map );
				resMap = scCall.run( reqMap, keepSesHandle );
				HashMap<String, Object> kk0411_c010_map = mapper.getEKK0411C010( param, fixedText, resMap );
				mapper.scResultCheck( param );

				opSvcKeiMap.put( JKKAdchgConstCC.PARAM_KEY_OP_SVC_KEI_UPD_DTM_AFT , kk0411_c010_map.get(EKK0411C010CBSMsg.UPD_DTM) );

				// ●● 品行対応 No114 START
				// サービス契約に対する更新後更新年月日時分秒も更新する
				paramMap.put( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UPD_DTM_AFT , kk0411_c010_map.get(EKK0411C010CBSMsg.UPD_DTM));
				// ●● 品行対応 No114 END
				continue;
			}

			// EKK0421A010  サブオプションサービス契約＜TV＞一意照会
			condMap = new HashMap<String, String>();
			condMap.put( JKKAdchgMapperCC.COND_KEY_OP_SVC_KEI_NO, (String)kk0401_b001_map.get( EKK0401B001CBSMsg1List.OP_SVC_KEI_NO ) );
			condMap.put( JKKAdchgMapperCC.COND_KEY_SBOP_SVC_KEI_NO, (String)kk0401_b001_map.get( EKK0401B001CBSMsg1List.SBOP_SVC_KEI_NO ) );
			reqMap = mapper.setEKK0421A010( param, fixedText, condMap );
			resMap = scCall.run( reqMap, keepSesHandle );
			HashMap<String, Object> kk0421_a010_map = mapper.getEKK0421A010( param, fixedText, resMap );
			mapper.scResultCheck( param );

			opSvcKeiNo = (String)kk0421_a010_map.get(EKK0421A010CBSMsg1List.OP_SVC_KEI_NO);
			// サブオプションサービス契約＜TV＞一意照会で取得できた場合
			if(opSvcKeiNo != null && !"".equals(opSvcKeiNo))
			{
// DB更新障害対応 No.16,39,58 FUKUNAGA START ---------------------------------
				// kk0401_a010_map.申込明細番号をparam.申込明細番号に差替
				kk0401_a010_map.put( EKK0401A010CBSMsg1List.MSKM_DTL_NO, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_MSKM_DTL_NO ) );
// DB更新障害対応 No.16,39,58 FUKUNAGA END -----------------------------------
				// 異動区分を設定
				kk0401_a010_map.put( EKK0401A010CBSMsg1List.IDO_DIV , idoDiv );
				// 更新年月日時分秒
				String opSvcKeiUpdDtm = (String)opSvcKeiMap.get( JKKAdchgConstCC.PARAM_KEY_OP_SVC_KEI_UPD_DTM_AFT );
				// ●● 品行対応 No114 START
//				kk0421_a010_map.put( JKKAdchgMapperCC.UPD_DT_SVC_KEI_UPD_DTM_BEF , opSvcKeiUpdDtm );
				kk0421_a010_map.put( JKKAdchgMapperCC.UPD_DT_SVC_KEI_UPD_DTM_BEF , getUpdDtmBef(opSvcKeiUpdDtm,
																				(String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UPD_DTM_AFT) ) );
				// ●● 品行対応 No114 END

				// EKK0421C050  サブオプションサービス契約＜TV＞変更
				reqMap = mapper.setEKK0421C050( param, fixedText, kk0401_a010_map, kk0421_a010_map );
				resMap = scCall.run( reqMap, keepSesHandle );
				HashMap<String, Object> kk0421_c050_map = mapper.getEKK0421C050( param, fixedText, resMap );
				mapper.scResultCheck( param );

				opSvcKeiMap.put( JKKAdchgConstCC.PARAM_KEY_OP_SVC_KEI_UPD_DTM_AFT , kk0421_c050_map.get(EKK0421C050CBSMsg.UPD_DTM) );

				// ●● 品行対応 No114 START
				// サービス契約に対する更新後更新年月日時分秒も更新する
				paramMap.put( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UPD_DTM_AFT , kk0421_c050_map.get(EKK0421C050CBSMsg.UPD_DTM));
				// ●● 品行対応 No114 END
				continue;
			}

			// EKK0431A010  サブオプションサービス契約＜電話＞一意照会
			condMap = new HashMap<String, String>();
			condMap.put( JKKAdchgMapperCC.COND_KEY_OP_SVC_KEI_NO, (String)kk0401_b001_map.get( EKK0401B001CBSMsg1List.OP_SVC_KEI_NO ) );
			condMap.put( JKKAdchgMapperCC.COND_KEY_SBOP_SVC_KEI_NO, (String)kk0401_b001_map.get( EKK0401B001CBSMsg1List.SBOP_SVC_KEI_NO ) );
			reqMap = mapper.setEKK0431A010( param, fixedText, condMap );
			resMap = scCall.run( reqMap, keepSesHandle );
			HashMap<String, Object> kk0431_a010_map = mapper.getEKK0431A010( param, fixedText, resMap );
			mapper.scResultCheck( param );

			opSvcKeiNo = (String)kk0431_a010_map.get(EKK0431A010CBSMsg1List.OP_SVC_KEI_NO);
			// サブオプションサービス契約＜電話＞一意照会で取得できた場合
			if(opSvcKeiNo != null && !"".equals(opSvcKeiNo))
			{
// DB更新障害対応 No.16,39,58 FUKUNAGA START ---------------------------------
				// kk0401_a010_map.申込明細番号をparam.申込明細番号に差替
				kk0401_a010_map.put( EKK0401A010CBSMsg1List.MSKM_DTL_NO, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_MSKM_DTL_NO ) );
// DB更新障害対応 No.16,39,58 FUKUNAGA END -----------------------------------
				// 異動区分を設定
				kk0401_a010_map.put( EKK0401A010CBSMsg1List.IDO_DIV , idoDiv );
				// 更新年月日時分秒
				String opSvcKeiUpdDtm = (String)opSvcKeiMap.get( JKKAdchgConstCC.PARAM_KEY_OP_SVC_KEI_UPD_DTM_AFT );
				// ●● 品行対応 No114 START
//				kk0431_a010_map.put( JKKAdchgMapperCC.UPD_DT_SVC_KEI_UPD_DTM_BEF , opSvcKeiUpdDtm );
				kk0431_a010_map.put( JKKAdchgMapperCC.UPD_DT_SVC_KEI_UPD_DTM_BEF , getUpdDtmBef(opSvcKeiUpdDtm,
																				(String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UPD_DTM_AFT) ) );
				// ●● 品行対応 No114 END

				// EKK0431C050  サブオプションサービス契約＜電話＞変更
				reqMap = mapper.setEKK0431C050( param, fixedText, kk0401_a010_map, kk0431_a010_map );
				resMap = scCall.run( reqMap, keepSesHandle );
				HashMap<String, Object> kk0431_c050_map = mapper.getEKK0431C050( param, fixedText, resMap );
				mapper.scResultCheck( param );

				opSvcKeiMap.put( JKKAdchgConstCC.PARAM_KEY_OP_SVC_KEI_UPD_DTM_AFT , kk0431_c050_map.get(EKK0431C050CBSMsg.UPD_DTM) );

				// ●● 品行対応 No114 START
				// サービス契約に対する更新後更新年月日時分秒も更新する
				paramMap.put( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UPD_DTM_AFT , kk0431_c050_map.get(EKK0431C050CBSMsg.UPD_DTM));
				// ●● 品行対応 No114 END
				continue;
			}
		}
	}
// ●● 異動区分が「住所変更・確定」時の対応 END

// UI/SS突合せ差異修正 M.OIJI MOD START ----------------------------
//	// ▼▼▼ 2012-02-21 IT1-2012-0000297 ADD ▼▼▼
//	/**
//	 * 機器提供サービス契約登録変更.
//	 * @param  param      モデルグループ、コントロールマップを含むリクエストパラメータ
//	 * @param  fixedText  ユーザ任意文字列
//	 * @throws Exception  例外が発生した場合
//	 */
//	public void kktkSvcKeiInsUpd( IRequestParameterReadWrite param, String fixedText ) throws Exception {
//
//		/** 前準備 **/
//		HashMap<String, String> condMap;
//		HashMap<String, Object> paramMap = (HashMap<String, Object>)( param.getData(fixedText) );
//		HashMap<String, Object> reqMap;
//		Map<?, ?> resMap;
//
//		// 住所変更登録コモンコンポーネントマッピングクラスインスタンス
//		JKKAdchgMapperCC mapper = JKKAdchgMapperCC.getInstance();
//		// SCリクエストInvoker
//		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
//
//		// 移転先がホームの時のみ実施
//		if ( !StringUtils.isEmpty( paramMap.get( "itens_mans_id_p_id" ).toString() ) ) {
//			return;
//		}
//
//		// サービス契約変更区分
//		HashMap<String, Object> kksv_9800_map = (HashMap<String, Object>)( param.getData( KKSV0098_KKSV0098OP.KKSV009800CC ) );
//		String svc_chg_div_nt = getMapString( kksv_9800_map, KKSV0098_KKSV0098OP.EOH_NT_USE_SVC_CHG_DIV );
//		String svc_chg_div_tl = getMapString( kksv_9800_map, KKSV0098_KKSV0098OP.EOH_TL_USE_SVC_CHG_DIV );
//		String svc_chg_div_tv = getMapString( kksv_9800_map, KKSV0098_KKSV0098OP.EOH_TV_USE_SVC_CHG_DIV );
//
//		// 処理済判定 : ONU
//		boolean end_flg_onu = false;
//		// 処理済判定 : V-ONU
//		boolean end_flg_vonu = false;
//
//		// ▼▼▼ 2012-03-13 HINKO.KIKI DEL ▼▼▼
////		// ▼▼▼ 2012-03-08 HINKO.#143 ADD ▼▼▼
////		int count = -1;
////		// ▲▲▲ 2012-03-08 HINKO.#143 ADD ▲▲▲
//		// ▲▲▲ 2012-03-13 HINKO.KIKI DEL ▲▲▲
//// ●●IT2 2012-03-14 住変機器障害対応 START
//
//		// 不要判定 : ONU, V-ONU
//		boolean huyo_flg = false;
//
//// ●● 巻対応 START
////// ●● IT2-2012-0000371 START
////		boolean isKikiChg = false;
////// ●● IT2-2012-0000371 END
//// ●● 巻対応 END
//		// 移転元＿マンション物件コード
//		String itenm_mansion_bukken_cd = (String) paramMap.get(JKKAdchgConstCC.PARAM_KEY_ITENM_MANSION_BUKKEN_CD);
//		// 移転元＿回線コード
//		String itenm_kaisen_cd = (String) paramMap.get(JKKAdchgConstCC.PARAM_KEY_ITENM_KAISEN_CD);
//		// 移転先＿マンション物件コード
//		String itens_mansion_bukken_cd = (String) paramMap.get(JKKAdchgConstCC.PARAM_KEY_ITENS_MANSION_BUKKEN_CD);
//		// 移転先＿回線コード
//		String itens_kaisen_cd = (String) paramMap.get(JKKAdchgConstCC.PARAM_KEY_ITENS_KAISEN_CD);
//		
//		if (JKKAdchgConstCC.MANSION_BUKKEN_CD_MANSION.equals(itens_mansion_bukken_cd) && !JKKAdchgConstCC.KAISEN_CD_HAISEN.equals(itens_kaisen_cd)) {
//			
//			// 移転先がマンション光配線以外の場合には転居先には不要
//			huyo_flg = true;
//			
//		}
//
//// ●●IT2 2012-03-14 住変機器障害対応 END
//
//		// 対象リスト
//		ArrayList<HashMap<String, Object>> trgt_list = (ArrayList<HashMap<String, Object>>)( paramMap.get( JKKAdchgConstCC.PARAM_KEY_ADCHG_DTL_LIST_KKTK_SVC_KEI ) );
//		// 対象リスト.イテレータ
//		Iterator<HashMap<String, Object>> trgt_iterator = trgt_list.iterator();
//		while ( trgt_iterator.hasNext() ) {
//			// 対象リスト.次要素
//			HashMap<String, Object> trgt_map = trgt_iterator.next();
//
//			// ▼▼▼ 2012-03-13 HINKO.KIKI DEL ▼▼▼
////			// ▼▼▼ 2012-03-08 HINKO.#143 ADD ▼▼▼
////			if ( trgt_map.containsKey( "adchg_dtl_taknkiki_sbt_cd" ) && "A0".equals( trgt_map.get( "adchg_dtl_taknkiki_sbt_cd" ).toString() ) ) {
////				count ++;
////			}
//			// ▲▲▲ 2012-03-13 HINKO.KIKI DEL ▲▲▲
//			// STB追加になる場合
//			if ( trgt_map.containsKey( JKKAdchgConstCC.PARAM_KEY_ADCHG_DTL_SBT_IDO_DIV ) && "01".equals( trgt_map.get( JKKAdchgConstCC.PARAM_KEY_ADCHG_DTL_SBT_IDO_DIV ).toString() ) ) {
//				// ▼▼▼ 2012-03-13 HINKO.KIKI DEL ▼▼▼
////				// STB追加時は内訳情報が存在しないため追加する必要がある。(暫定対応)
////				// EKK0181D010_サービス契約内訳＜eo光TV＞登録
////				call_EKK0181D010( param, fixedText, trgt_map, count );
////
////				// EKK0341D010_機器提供サービス契約登録 (STB・B-CAS・C-CAS)
////				addStbKiki_EKK0341D010( param, fixedText, trgt_map, count );
//				// ▲▲▲ 2012-03-13 HINKO.KIKI DEL ▲▲▲
//				continue;
//			}
//			// ▲▲▲ 2012-03-08 HINKO.#143 ADD ▲▲▲
//			
//// ●● 品向 2012-04-13 対応 START
//			if (StringUtils.isEmpty((String) trgt_map.get( JKKAdchgConstCC.PARAM_KEY_ADCHG_DTL_CHG_TG_KEI_NO ))) {
//				// B-CAS, C-CASの場合, 機器提供サービス番号がパラメータとしてないため一意照会しない
//				continue;
//			}
//// ●● 品向 2012-04-13 対応 END
//
//			// EKK0341A010_機器提供サービス契約一意照会
//			condMap = new HashMap<String, String>();
//			condMap.put( JKKAdchgMapperCC.COND_KEY_KKTK_SVC_KEI_NO, trgt_map.get( JKKAdchgConstCC.PARAM_KEY_ADCHG_DTL_CHG_TG_KEI_NO ).toString() );
//			// ▼▼▼ 住所変更後のレコードを取得する必要がある
////			condMap.put( JKKAdchgMapperCC.COND_KEY_OPEDATE, paramMap.get( JKKAdchgConstCC.PARAM_KEY_OPE_DATE ).toString() );
//// 障害対応 IT1-2012-0000636 start ----------
////			condMap.put( JKKAdchgMapperCC.COND_KEY_OPEDATE, "20991231" );
//			condMap.put( JKKAdchgMapperCC.COND_KEY_OPEDATE, JKKAdchgConstCC.DEFAULT_RSV_APLY_YMD );
//// 障害対応 IT1-2012-0000636 end ----------
//			// ▲▲▲ 住所変更後のレコードを取得する必要がある
//			reqMap = mapper.setEKK0341A010( param, fixedText, condMap );
//			resMap = scCall.run( reqMap, keepSesHandle );
//			HashMap<String, Object> kk0341_a010_map = mapper.getEKK0341A010( param, fixedText, resMap );
//			mapper.scResultCheck( param );
//
//			// 対象機器が ONU・V-ONU 以外の場合は対象外とする
//			String kiki_sbt_cd = kk0341_a010_map.get( EKK0341A010CBSMsg1List.TAKNKIKI_SBT_CD ).toString();
//// ●● 巻対応 START
//			// 画面側でなくTelの自動更新処理に移します。
////			// ●● IT2-2012-0000371 START
////			if ( "50".equals( kiki_sbt_cd ) && "1".equals( kksv_9800_map.get( "adchg_dtl_va_port_bf" ).toString() ) && "2".equals( kksv_9800_map.get( "adchg_dtl_va_port_af" ).toString() ) ) {
////				isKikiChg = true;
////			}
////			// ●● IT2-2012-0000371 END
//// ●● 巻対応 END
//// ●●IT2 2012-03-14 住変機器障害対応 START
//			if ( !"D0".equals( kiki_sbt_cd ) && !"E0".equals( kiki_sbt_cd ) ) {
//				continue;
//			}
//
//			if (JKKAdchgConstCC.MANSION_BUKKEN_CD_MANSION.equals(itenm_mansion_bukken_cd) && !JKKAdchgConstCC.KAISEN_CD_HAISEN.equals(itenm_kaisen_cd)) {
//
//				// 移転元がマンションで光配線以外は元々ONU,VONUはないため処理の最後に追加処理で行う
//
//			} else {
//
//				// 移転元にONU, V-ONUは存在しえる場合
//
//				if (JKKAdchgConstCC.MANSION_BUKKEN_CD_MANSION.equals(itens_mansion_bukken_cd) && !JKKAdchgConstCC.KAISEN_CD_HAISEN.equals(itens_kaisen_cd)) {
//		
//					// 移転先がマンション光配線以外の場合
//					
//					// EKK0341C340_機器提供サービス契約解約 (転居元)
//					dslItnm_EKK0341C340( param, fixedText, kk0341_a010_map );
//
//				} else {
//					
//					// それ以外の場合には機器変更、場所変更を行う。
//					
//					// 親契約識別コードより転居元のサービス契約内訳を取得する
//					HashMap<String, Object> kk0081_a010_map = itenmSvcKei( param, fixedText, kk0341_a010_map );
//
//					// ONU
//					if ( "D0".equals( kiki_sbt_cd ) ) {
//						// 機器提供サービス契約を更新
//						if ( itensSvkeiUm( svc_chg_div_nt ) || itensSvkeiUm( svc_chg_div_tl ) ) {
//
//							// ▼▼▼ 2012-03-31 ADD ▼▼▼
//							// ONU・V-ONU の機器提供サービス契約に対し申込明細番号は不要
//							kk0081_a010_map.put( EKK0081A010CBSMsg1List.MSKM_DTL_NO, "" );
//							// ▲▲▲ 2012-03-31 ADD ▲▲▲
//							kk0341_a010_map.put(EKK0341A010CBSMsg1List.TAKNKIKI_MODEL_CD, "");
//							kk0341_a010_map.put(EKK0341A010CBSMsg1List.KIKI_SEIZO_NO, "");
//
//							// 機器の場所変更を行う
//							chgIdodivChgKiki_EKK0341C200( param, fixedText, kk0341_a010_map, kk0081_a010_map );
//							
//// ●● 巻@-2 対応 START
//							// 巻@-2 対象外のため
//							// EKKA0020004_機器場所番号変更(宅内連携).
//							//chgIdodiv_EKKA00200004( param, fixedText, kk0341_a010_map, kk0081_a010_map, JKKAdchgConstCC.CD00130_INET_SVC );
//// ●● 巻@-2 対応 END
//							// 契約回線内訳変更を行う
//							chgItens_EKK0341C320( param, fixedText, kk0341_a010_map, kk0081_a010_map );
//							
//							end_flg_onu = true;
//						}
//						
//					// V-ONU
//					} else if ( "E0".equals( kiki_sbt_cd ) ) {
//						// 機器提供サービス契約を更新
//						if ( itensSvkeiUm( svc_chg_div_tv ) ) {
//
//							// ▼▼▼ 2012-03-31 ADD ▼▼▼
//							// ONU・V-ONU の機器提供サービス契約に対し申込明細番号は不要
//							kk0081_a010_map.put( EKK0081A010CBSMsg1List.MSKM_DTL_NO, "" );
//							// ▲▲▲ 2012-03-31 ADD ▲▲▲
//							kk0341_a010_map.put(EKK0341A010CBSMsg1List.TAKNKIKI_MODEL_CD, "");
//							kk0341_a010_map.put(EKK0341A010CBSMsg1List.KIKI_SEIZO_NO, "");
//
//							// 機器の場所変更を行う
//							chgIdodivChgKiki_EKK0341C200( param, fixedText, kk0341_a010_map, kk0081_a010_map );
//
//// ●● 巻@-2 対応 START
//							// 巻@-2 対象外のため
//							// EKKA0020004_機器場所番号変更(宅内連携).
//							//chgIdodiv_EKKA00200004( param, fixedText, kk0341_a010_map, kk0081_a010_map, JKKAdchgConstCC.CD00130_TV_SVC );
//// ●● 巻@-2 対応 END
//
//							// 契約回線内訳変更を行う
//							chgItens_EKK0341C320( param, fixedText, kk0341_a010_map, kk0081_a010_map );
//
//							end_flg_vonu = true;
//						}
//					}
//				}
//			}
//
//// ●●IT2 2012-03-14 ▼▼▼ 住変機器障害対応 DEL ▼▼▼ 
////			// ONU
////			if ( "D0".equals( kiki_sbt_cd ) ) {
////				// 転居先の機器提供サービス契約を登録
////				if ( itensSvkeiUm( svc_chg_div_nt ) || itensSvkeiUm( svc_chg_div_tl ) ) {
////					// EKK0341D010_機器提供サービス契約登録 (転居先)
////					addItns_EKK0341D010( param, fixedText, kk0341_a010_map );
////
////					end_flg_onu = true;
////				}
////			// V-ONU
////			} else if ( "E0".equals( kiki_sbt_cd ) ) {
////				// 転居先の機器提供サービス契約を登録
////				if ( itensSvkeiUm( svc_chg_div_tv ) ) {
////					// EKK0341D010_機器提供サービス契約登録 (転居先)
////					addItns_EKK0341D010( param, fixedText, kk0341_a010_map );
////
////					end_flg_vonu = true;
////				}
//// ●●IT2 2012-03-14 ▲▲▲ 住変機器障害対応 DEL ▲▲▲
//			
//			// ▼▼▼ 2012-03-13 HINKO.KIKI DEL ▼▼▼
////			// ▼▼▼ 2012-02-28 IT2-2012-0000182 ADD ▼▼▼
////			// eo電話用VA は１ポート⇒２ポートとなる場合に転居先の機器提供サービス契約を登録
////			} else if ( "50".equals( kiki_sbt_cd ) && "1".equals( getMapString( kksv_9800_map, "adchg_dtl_va_port_bf" ) ) && "2".equals( getMapString( kksv_9800_map, "adchg_dtl_va_port_af" ) ) ) {
////				// 解約(異動区分のエラー)・追加(機器個数制限のエラー)・変更(変更を識別する機器変更番号の対応は巻取) ⇒ どうしませう？
//////				// 宅内機器型式コード
//////				kk0341_a010_map.put( EKK0341A010CBSMsg1List.TAKNKIKI_MODEL_CD, getMapString( kksv_9800_map, "adchg_dtl_va_model_cd" ) );
//////				// 機器製造番号
//////				kk0341_a010_map.put( EKK0341A010CBSMsg1List.KIKI_SEIZO_NO, getMapString( kksv_9800_map, "adchg_dtl_va_seizo_no" ) );
//////				// EKK0341D010_機器提供サービス契約登録 (転居先)
//////				addItns_EKK0341D010( param, fixedText, kk0341_a010_map );
////			} else {
////				// 親契約識別コードより転居元のサービス契約を取得する
////				HashMap<String, Object> kk0081_a010_map = itenmSvcKei( param, fixedText, kk0341_a010_map );
////
////				// サービスコードより転居先のサービス契約変更区分を判定する
////				String svc_chg_div = "";
////				String svc_cd = getMapString( kk0081_a010_map, EKK0081A010CBSMsg1List.SVC_CD );
////				if ( "01".equals( svc_cd ) ) {
////					svc_chg_div = svc_chg_div_nt;
////				} else if ( "02".equals( svc_cd ) ) {
////					svc_chg_div = svc_chg_div_tl;
////				} else if ( "03".equals( svc_cd ) ) {
////					svc_chg_div = svc_chg_div_tv;
////				}
////
////				// ●● STB機器の更新内容対応 START
//////				// 転居先の機器提供サービス契約を登録
//////				// ( STB・B-CAS・C-CAS に関しては必ず出力する )
//////				if ( itensSvkeiUmNonAdd( svc_chg_div ) && ( "A0".equals( kiki_sbt_cd ) || "B0".equals( kiki_sbt_cd ) || "C0".equals( kiki_sbt_cd ) ) ) {
//////					// EKK0341C320_機器提供サービス契約サービス契約回線内訳変更
//////					chgItens_EKK0341C320( param, fixedText, kk0341_a010_map );
//////				}
////				// 宅内機器撤去種別が撤去以外の場合
////				String tkkikiTekkyoSbtCd = (String)trgt_map.get( JKKAdchgConstCC.PARAM_KEY_ADCHG_DTL_TKKIKI_TEKKYO_SBT_CD );
////				String stbIdoDiv = (String)trgt_map.get( JKKAdchgConstCC.PARAM_KEY_ADCHG_DTL_SBT_IDO_DIV );
////				if( "0".equals( tkkikiTekkyoSbtCd ) || 
////					"3".equals( tkkikiTekkyoSbtCd ) ||
////					 "02".equals(stbIdoDiv) ||
////					 "04".equals(stbIdoDiv) )
////				{
////					// 転居先の機器情報を変更
////					chgIdodiv_EKK0341C200( param, fixedText, kk0341_a010_map, kk0081_a010_map );
////				}
////				// ●● STB機器の更新内容対応 END
////			// ▲▲▲ 2012-02-28 IT2-2012-0000182 ADD ▲▲▲
////
////// 品向 No.145 対応 START
////				// 引継の場合、変更後機器提供サービス契約番号に変更前機器提供サービス契約番号を設定する。
////				if( "0".equals( tkkikiTekkyoSbtCd )) {
////					trgt_map.put(JKKAdchgConstCC.PARAM_KEY_ADCHG_DTL_CHAF_SKBT_NO, getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.KKTK_SVC_KEI_NO ));
////				}
////// 品向 No.145 対応 END
//			// ▲▲▲ 2012-03-13 HINKO.KIKI DEL ▲▲▲
////			}
//// ●●IT2 2012-03-14 住変機器障害対応 END
//		}
//
//		// ONU が作成されておらず、ネット・電話のいずれかが追加 : 転居先にONUを追加
//// ●●IT2 2012-03-14 住変機器障害対応 START
//		//if ( !end_flg_onu && ( JKKAdchgConstCC.CD00849_ADD.equals( svc_chg_div_nt ) || JKKAdchgConstCC.CD00849_ADD.equals( svc_chg_div_tl ) ) ) {
//		if ( !huyo_flg && !end_flg_onu && ( JKKAdchgConstCC.CD00849_ADD.equals( svc_chg_div_nt ) || JKKAdchgConstCC.CD00849_ADD.equals( svc_chg_div_tl ) ) ) {
//// ●●IT2 住変機器障害対応 END
//			// EKK0341D010_機器提供サービス契約登録 (ONU)
//			HashMap<String, Object> onu_kiki_map = addKiki_EKK0341D010( param, fixedText, "1" );
//
//			// ▼▼▼ 2012-03-13 HINKO.KIKI ADD ▼▼▼
//			// EKK2101D010_住所変更明細登録
//			addKiki_EKK2101D010( param, fixedText, paramMap, onu_kiki_map );
//			// ▲▲▲ 2012-03-13 HINKO.KIKI ADD ▲▲▲
//		}
//		// V-ONU が作成されておらず、テレビが追加 : 転居先にV-ONUを追加
//// ●●IT2 2012-03-14 住変機器障害対応 START
//		//if ( !end_flg_vonu && JKKAdchgConstCC.CD00849_ADD.equals( svc_chg_div_tv ) ) {
//		if ( !huyo_flg && !end_flg_vonu && JKKAdchgConstCC.CD00849_ADD.equals( svc_chg_div_tv ) ) {
//// ●●IT2 2012-03-14 住変機器障害対応 END
//			// EKK0341D010_機器提供サービス契約登録 (V-ONU)
//			HashMap<String, Object> vonu_kiki_map = addKiki_EKK0341D010( param, fixedText, "2" );
//
//			// ▼▼▼ 2012-03-13 HINKO.KIKI ADD ▼▼▼
//			// EKK2101D010_住所変更明細登録
//			addKiki_EKK2101D010( param, fixedText, paramMap, vonu_kiki_map );
//			// ▲▲▲ 2012-03-13 HINKO.KIKI ADD ▲▲▲
//		}
//// ●● 巻対応 START
////// ●● IT2-2012-0000371 START
////		// １ポートから２ポートへの変更が発生した場合
////		if(isKikiChg) {
////			// 工事機器情報の作成
////			make_kjtg_kiki_list(param, fixedText);
////		}
////// ●● IT2-2012-0000371 END
//// ●● 巻対応 END
//	}
	/**
	 * 機器提供サービス契約登録変更(サービス契約回線内訳（ONU、V-ONU）).
	 * @param  param      モデルグループ、コントロールマップを含むリクエストパラメータ
	 * @param  fixedText  ユーザ任意文字列
	 * @throws Exception  例外が発生した場合
	 */
	public void kktkSvcKeiInsUpd( IRequestParameterReadWrite param, String fixedText ) throws Exception {

		/** 前準備 **/
		HashMap<String, Object> paramMap = (HashMap<String, Object>)( param.getData(fixedText) );

		// 住所変更登録コモンコンポーネントマッピングクラスインスタンス
		JKKAdchgMapperCC mapper = JKKAdchgMapperCC.getInstance();
		// SCリクエストInvoker
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();

		// サービス契約変更区分
		HashMap<String, Object> kksv_9800_map = (HashMap<String, Object>)( param.getData( KKSV0098_KKSV0098OP.KKSV009800CC ) );
		String svc_chg_div_nt = getMapString( kksv_9800_map, KKSV0098_KKSV0098OP.EOH_NT_USE_SVC_CHG_DIV );
		String svc_chg_div_tl = getMapString( kksv_9800_map, KKSV0098_KKSV0098OP.EOH_TL_USE_SVC_CHG_DIV );
		String svc_chg_div_tv = getMapString( kksv_9800_map, KKSV0098_KKSV0098OP.EOH_TV_USE_SVC_CHG_DIV );

		// 処理済判定 : ONU
		boolean end_flg_onu = false;
		// 処理済判定 : V-ONU
		boolean end_flg_vonu = false;
		// 不要判定 : ONU, V-ONU
		boolean huyo_flg = false;

		// 移転先＿マンション物件コード
		String itens_mansion_bukken_cd = (String) paramMap.get(JKKAdchgConstCC.PARAM_KEY_ITENS_MANSION_BUKKEN_CD);
		// 移転先＿回線コード
		String itens_kaisen_cd = (String) paramMap.get(JKKAdchgConstCC.PARAM_KEY_ITENS_KAISEN_CD);
		
		if (JKKAdchgConstCC.MANSION_BUKKEN_CD_MANSION.equals(itens_mansion_bukken_cd) && !JKKAdchgConstCC.KAISEN_CD_HAISEN.equals(itens_kaisen_cd)) {
			
			// 移転先がマンションかつ回線が光配線でない場合には転居先には不要
			huyo_flg = true;
		}

		// 対象機器リスト
		ArrayList<HashMap<String, Object>> trgt_list = (ArrayList<HashMap<String, Object>>)( paramMap.get( JKKAdchgConstCC.PARAM_KEY_ADCHG_DTL_LIST_KKTK_SVC_KEI ) );
		for (HashMap<String, Object> trgt_map : trgt_list) {

			if (StringUtils.isEmpty((String) trgt_map.get( JKKAdchgConstCC.PARAM_KEY_ADCHG_DTL_CHG_TG_KEI_NO ))) {
				// B-CAS, C-CASの場合, 機器提供サービス番号がパラメータとしてないため一意照会しない
				continue;
			}

			// EKK0341A010_機器提供サービス契約一意照会
			HashMap<String, Object> kk0341_a010_map = getEKK0341A010(param, mapper, fixedText, scCall, 
					(String) trgt_map.get( JKKAdchgConstCC.PARAM_KEY_ADCHG_DTL_CHG_TG_KEI_NO ), JKKAdchgConstCC.DEFAULT_RSV_APLY_YMD);

			// 親契約識別コードより転居元のサービス契約を取得する
			HashMap<String, Object> kk0081_a010_map = itenmSvcKei( param, fixedText, kk0341_a010_map );
			// 親契約識別コードより転居先のサービス契約を取得する
			HashMap<String, Object> kk0081_a010_map_new = itensSvcKei( param, fixedText, kk0341_a010_map );

			// 機器種別
			String kiki_sbt_cd = (String) kk0341_a010_map.get( EKK0341A010CBSMsg1List.TAKNKIKI_SBT_CD );
			
			// ルータ/VA/STB/B-CAS/C-CASの場合
			if (JKKAdchgConstCC.TAKNKIKI_SBT.CODE_F0.equals(kiki_sbt_cd)
					|| JKKAdchgConstCC.TAKNKIKI_SBT.CODE_50.equals(kiki_sbt_cd)
					|| JKKAdchgConstCC.TAKNKIKI_SBT.CODE_A0.equals(kiki_sbt_cd)
					|| JKKAdchgConstCC.TAKNKIKI_SBT.CODE_B0.equals(kiki_sbt_cd)
					|| JKKAdchgConstCC.TAKNKIKI_SBT.CODE_C0.equals(kiki_sbt_cd)) {
				// 処理対象外（各個別処理にて対応済み）
				continue;
				
			// 宅内機器種別がONU・宅内機器種別がV-ONU
			} else if (JKKAdchgConstCC.TAKNKIKI_SBT.CODE_D0.equals(kiki_sbt_cd)
						|| JKKAdchgConstCC.TAKNKIKI_SBT.CODE_E0.equals(kiki_sbt_cd)) {
				
// DB結果検証障害対応 No.62 OIJI ADD START -------------------------------
				// TODO サービス保留の場合の暫定対応（残置の機器の扱いについては要UI確認）
				// 撤去種別
				String svc_tk_sbt_div = (String) trgt_map.get(JKKAdchgConstCC.PARAM_KEY_ADCHG_DTL_TKKIKI_TEKKYO_SBT_CD);
				if (JKKAdchgConstCC.CD00851_ZANCHI.equals(svc_tk_sbt_div)) {
					// 残置の場合は処理を行わない
					continue;
				}
// DB結果検証障害対応 No.62 OIJI ADD END ---------------------------------
				
				boolean delFlg = false;
				// 移転先がマンションかつ光配線以外の場合
				if (JKKAdchgConstCC.MANSION_BUKKEN_CD_MANSION.equals(itens_mansion_bukken_cd) 
						&& !JKKAdchgConstCC.KAISEN_CD_HAISEN.equals(itens_kaisen_cd)) {
					// 解約対象とする
					delFlg = true;
					
				// 上記以外
				} else {
					// 対象機器がONUの時、移転先にネット/電話の契約がどちらもない場合
					if (JKKAdchgConstCC.TAKNKIKI_SBT.CODE_D0.equals(kiki_sbt_cd) 
							&& !itensSvkeiUm(svc_chg_div_nt) && !itensSvkeiUm(svc_chg_div_tl)) {
						// 解約対象とする
						delFlg = true;
						
					// 対象機器がV-ONUの時、移転先にTVの契約が無い場合
					} else if (JKKAdchgConstCC.TAKNKIKI_SBT.CODE_E0.equals(kiki_sbt_cd)
							&& !itensSvkeiUm(svc_chg_div_tv)) {
						// 解約対象とする
						delFlg = true;
					}
				}
				
				// 解約対象の場合
				if (delFlg) {

// ●● ActionPlan No.7 付随対応 2012/07/04 START
					// 保留の考慮追加
					if (JKKAdchgConstCC.TAKNKIKI_SBT.CODE_D0.equals(kiki_sbt_cd) && (isSvkeiHold(svc_chg_div_nt) || isSvkeiHold(svc_chg_div_tl))) {
						// ただしONUで保留の場合に、ネットもしくは電話が保留の場合、転居元に残すため解約しない
						continue;
					} else if (JKKAdchgConstCC.TAKNKIKI_SBT.CODE_E0.equals(kiki_sbt_cd) && isSvkeiHold(svc_chg_div_tv)) {
						// ただしV-ONUで保留の場合に、TVが保留の場合、転居元に残すため解約しない
						continue;
					}
//●● ActionPlan No.7 付随対応 2012/07/04 END

					// EKK0341C340_機器提供サービス契約解約 (転居元)
					dslItnm_EKK0341C340( param, fixedText, kk0081_a010_map, kk0341_a010_map );
					
				// 解約対象で無い場合
				} else {

					// 機器の場所変更を行う
					chgIdodivChgKiki_EKK0341C200( param, fixedText, kk0341_a010_map, kk0081_a010_map_new );
					// 契約回線内訳変更を行う
					chgItens_EKK0341C320( param, fixedText, kk0341_a010_map, kk0081_a010_map_new );
					
					// フラグの設定
					if (JKKAdchgConstCC.TAKNKIKI_SBT.CODE_D0.equals(kiki_sbt_cd)) {
						end_flg_onu = true;
					} else {
						end_flg_vonu = true;
					}
				}

			// その他の機器
			} else {
				// 親契約識別コードを取得する
				String oya_kei_skbt_cd = getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.OYA_KEI_SKBT_CD );
				
// IT2-2012-0001116 2012/07/04 T.SAKAMOTO ADD START
				// サービス契約回線内訳以外の場合
				if (!JKKAdchgConstCC.OYA_KEI_SKBT_CD.SVC_KEI_KAISEN_UCWK.equals(oya_kei_skbt_cd)) {
					// 処理対象外
					continue;
				}
// IT2-2012-0001116 2012/07/04 T.SAKAMOTO ADD END
				
				// 撤去種別
				String svc_tk_sbt_div = (String) trgt_map.get(JKKAdchgConstCC.PARAM_KEY_ADCHG_DTL_TKKIKI_TEKKYO_SBT_CD);
				
				// 撤去種別が「撤去」・「解約」の場合
				if (JKKAdchgConstCC.CD00851_TEKKYO.equals(svc_tk_sbt_div)
						|| JKKAdchgConstCC.CD00851_SLRE.equals(svc_tk_sbt_div)) {
					// EKK0341C340_機器提供サービス契約解約 (転居元)
					dslItnm_EKK0341C340( param, fixedText, kk0081_a010_map, kk0341_a010_map );
					
				// 撤去・解約以外
				} else {
					// ■ EKK0341C200 機器提供サービス契約場所変更
					chgIdodiv_EKK0341C200( param, fixedText, kk0341_a010_map, kk0081_a010_map_new );
					
					// 親契約種別が契約回線内訳の場合
// IT2-2012-0001116 2012/07/04 T.SAKAMOTO ADD START
//					if ("02".equals(kk0341_a010_map.get(EKK0341A010CBSMsg1List.OYA_KEI_SKBT_CD))) {
						// 契約回線内訳変更を行う
					chgItens_EKK0341C320( param, fixedText, kk0341_a010_map, kk0081_a010_map_new );
//					}
// IT2-2012-0001116 2012/07/04 T.SAKAMOTO ADD START
				}
			}
		}

		// ONU が作成されておらず、ネット・電話のいずれかが追加 : 転居先にONUを追加
		if (!huyo_flg && !end_flg_onu 
					&& (JKKAdchgConstCC.CD00849_ADD.equals(svc_chg_div_nt)
							|| JKKAdchgConstCC.CD00849_ADD.equals(svc_chg_div_tl))) {
			// EKK0341D010_機器提供サービス契約登録 (ONU)
			HashMap<String, Object> onu_kiki_map = addKiki_EKK0341D010( param, fixedText, "1" );
			// EKK2101D010_住所変更明細登録
			addKiki_EKK2101D010( param, fixedText, paramMap, onu_kiki_map );
		}
		// V-ONU が作成されておらず、テレビが追加 : 転居先にV-ONUを追加
		if (!huyo_flg && !end_flg_vonu && JKKAdchgConstCC.CD00849_ADD.equals(svc_chg_div_tv)) {
			// EKK0341D010_機器提供サービス契約登録 (V-ONU)
			HashMap<String, Object> vonu_kiki_map = addKiki_EKK0341D010( param, fixedText, "2" );
			// EKK2101D010_住所変更明細登録
			addKiki_EKK2101D010( param, fixedText, paramMap, vonu_kiki_map );
		}
	}
// UI/SS突合せ差異修正 M.OIJI MOD END ----------------------------
// IT2-2012-0001116 2012/07/04 T.SAKAMOTO ADD START
	/**
	 * 機器提供サービス契約登録変更(サービス契約回線内訳に紐付かないもの).
	 * @param  param      モデルグループ、コントロールマップを含むリクエストパラメータ
	 * @param  fixedText  ユーザ任意文字列
	 * @throws Exception  例外が発生した場合
	 */
	public void kktkSvcKeiInsUpdWithSvsKeiKaisenUcwk( IRequestParameterReadWrite param, String fixedText ) throws Exception {

		/** 前準備 **/
		HashMap<String, Object> paramMap = (HashMap<String, Object>)( param.getData(fixedText) );

		// 住所変更登録コモンコンポーネントマッピングクラスインスタンス
		JKKAdchgMapperCC mapper = JKKAdchgMapperCC.getInstance();
		// SCリクエストInvoker
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		
		// 対象機器リスト
		ArrayList<HashMap<String, Object>> trgt_list = (ArrayList<HashMap<String, Object>>)( paramMap.get( JKKAdchgConstCC.PARAM_KEY_ADCHG_DTL_LIST_KKTK_SVC_KEI ) );
		for (HashMap<String, Object> trgt_map : trgt_list) {

			if (StringUtils.isEmpty((String) trgt_map.get( JKKAdchgConstCC.PARAM_KEY_ADCHG_DTL_CHG_TG_KEI_NO ))) {
				// B-CAS, C-CASの場合, 機器提供サービス番号がパラメータとしてないため一意照会しない
				continue;
			}

			// EKK0341A010_機器提供サービス契約一意照会
			HashMap<String, Object> kk0341_a010_map = getEKK0341A010(param, mapper, fixedText, scCall, 
					(String) trgt_map.get( JKKAdchgConstCC.PARAM_KEY_ADCHG_DTL_CHG_TG_KEI_NO ), JKKAdchgConstCC.DEFAULT_RSV_APLY_YMD);

			// 機器種別
			String kiki_sbt_cd = (String) kk0341_a010_map.get( EKK0341A010CBSMsg1List.TAKNKIKI_SBT_CD );
			// 親契約識別コードを取得する
			String oya_kei_skbt_cd = getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.OYA_KEI_SKBT_CD );
			
			// ルータ/VA/STB/B-CAS/C-CAS/ONU/V-ONU/親契約識別コードが"02"(サービス契約回線内訳)の場合
			if (JKKAdchgConstCC.TAKNKIKI_SBT.CODE_F0.equals(kiki_sbt_cd)
					|| JKKAdchgConstCC.TAKNKIKI_SBT.CODE_50.equals(kiki_sbt_cd)
					|| JKKAdchgConstCC.TAKNKIKI_SBT.CODE_A0.equals(kiki_sbt_cd)
					|| JKKAdchgConstCC.TAKNKIKI_SBT.CODE_B0.equals(kiki_sbt_cd)
					|| JKKAdchgConstCC.TAKNKIKI_SBT.CODE_C0.equals(kiki_sbt_cd)
					|| JKKAdchgConstCC.TAKNKIKI_SBT.CODE_D0.equals(kiki_sbt_cd)
					|| JKKAdchgConstCC.TAKNKIKI_SBT.CODE_E0.equals(kiki_sbt_cd)
					|| JKKAdchgConstCC.OYA_KEI_SKBT_CD.SVC_KEI_KAISEN_UCWK.equals(oya_kei_skbt_cd)) {
				// 処理対象外（各個別処理にて対応済み）
				continue;
				
			// その他の機器
			} else {
				
				// 撤去種別
				String svc_tk_sbt_div = (String) trgt_map.get(JKKAdchgConstCC.PARAM_KEY_ADCHG_DTL_TKKIKI_TEKKYO_SBT_CD);
				
				// 撤去種別が「撤去」・「解約」の場合
				if (JKKAdchgConstCC.CD00851_TEKKYO.equals(svc_tk_sbt_div)
						|| JKKAdchgConstCC.CD00851_SLRE.equals(svc_tk_sbt_div)) {
					
					// 親契約識別コードより転居元のサービス契約を取得する
					HashMap<String, Object> kk0081_a010_map = itenmSvcKei( param, fixedText, kk0341_a010_map );
					// EKK0341C340_機器提供サービス契約解約 (転居元)
					dslItnm_EKK0341C340( param, fixedText, kk0081_a010_map, kk0341_a010_map );
					
				// 撤去・解約以外
				} else {
					
					// 親契約識別コードより転居先のサービス契約を取得する
					HashMap<String, Object> kk0081_a010_map_new = itensSvcKei( param, fixedText, kk0341_a010_map );
					if (!((String) kk0081_a010_map_new.get(EKK0081A010CBSMsg1List.SVC_KEI_NO)).equals(kk0341_a010_map.get(EKK0341A010CBSMsg1List.SVC_KEI_NO))) {
						// 契約番号が異なる場合はサービス契約番号を差し替え
						executeEKK0341C290(param, fixedText, kk0341_a010_map, kk0081_a010_map_new);
					}
					// ■ EKK0341C200 機器提供サービス契約場所変更
					chgIdodiv_EKK0341C200( param, fixedText, kk0341_a010_map, kk0081_a010_map_new );
				}
			}
		}
	}
// IT2-2012-0001116 2012/07/04 T.SAKAMOTO ADD END

	/**
	 * 転居先で対象のサービス契約が存在するか判定する.
	 * <br>
	 * @param  svc_chg_div  サービス契約変更区分
	 * @return 判定結果 ( true:あり、false:なし )
	 */
	private boolean itensSvkeiUm( String svc_chg_div ) {
// ●● 品向 No.115 対応 START
		// 継続・変更・保留・追加
		//if ( JKKAdchgConstCC.CD00849_KEEP.equals( svc_chg_div ) || JKKAdchgConstCC.CD00849_CHG.equals( svc_chg_div ) || JKKAdchgConstCC.CD00849_HOLD.equals( svc_chg_div ) || JKKAdchgConstCC.CD00849_ADD.equals( svc_chg_div ) ) {
		// 継続・変更・追加
		if ( JKKAdchgConstCC.CD00849_KEEP.equals( svc_chg_div ) || JKKAdchgConstCC.CD00849_CHG.equals( svc_chg_div ) || JKKAdchgConstCC.CD00849_ADD.equals( svc_chg_div ) ) {
// ●● 品向 No.115 対応 END
			return true;
		}
		return false;
	}

// ST1-2012-0000760　2012/06/22 T.SAKAMOTO　DEL　START　未使用変数、処理を削除
//	/**
//	 * 転居先で対象のサービス契約が存在するか判定する(追加を含まない).
//	 * <br>
//	 * @param  svc_chg_div  サービス契約変更区分
//	 * @return 判定結果 ( true:あり、false:なし )
//	 */
//	private boolean itensSvkeiUmNonAdd( String svc_chg_div ) {
//		// 継続・変更・保留
//		if ( JKKAdchgConstCC.CD00849_KEEP.equals( svc_chg_div ) || JKKAdchgConstCC.CD00849_CHG.equals( svc_chg_div ) || JKKAdchgConstCC.CD00849_HOLD.equals( svc_chg_div ) ) {
//			return true;
//		}
//		return false;
//	}

// ST1-2012-0000760　2012/06/22 T.SAKAMOTO　DEL　START　未使用変数、処理を削除
//	/**
//	 * 転居先で対象のサービス契約が変更されるか判定する.
//	 * <br>
//	 * @param  svc_chg_div  サービス契約変更区分
//	 * @return 判定結果 ( true:あり、false:なし )
//	 */
//	private boolean itensSvkeiChgUm( String svc_chg_div ) {
//		// 変更・保留
//		if ( JKKAdchgConstCC.CD00849_CHG.equals( svc_chg_div ) || JKKAdchgConstCC.CD00849_ADD.equals( svc_chg_div ) ) {
//			return true;
//		}
//		return false;
//	}

//	/**
//	 * EKK0341D010_機器提供サービス契約登録 (転居先機器の追加)
//	 * <br>
//	 * @param  param            モデルグループ、コントロールマップを含むリクエストパラメータ
//	 * @param  fixedText        ユーザ任意文字列
//	 * @param  kk0341_a010_map  機器提供サービス契約一意照会マップ
//	 * @throws 例外が発生した場合
//	 */
//	public HashMap<String, Object> addItns_EKK0341D010( IRequestParameterReadWrite param, String fixedText, HashMap<String, Object> kk0341_a010_map ) throws Exception {
//
//		/** 前準備 **/
//		HashMap<String, String> condMap;
//		HashMap<String, Object> paramMap = (HashMap<String, Object>)( param.getData(fixedText) );
//		HashMap<String, Object> reqMap;
//		Map<?, ?> resMap;
//
//		// 住所変更登録コモンコンポーネントマッピングクラスインスタンス
//		JKKAdchgMapperCC mapper = JKKAdchgMapperCC.getInstance();
//		// SCリクエストInvoker
//		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
//
//		HashMap<String, Object> kksv_work_map = null;
//		HashMap<String, Object> kksv_9800_map = (HashMap<String, Object>)( param.getData( KKSV0098_KKSV0098OP.KKSV009800CC ) );
//
//		String kei_trn_div = "";
//
//		/** EKK0341D010_機器提供サービス契約登録 */
//		condMap = new HashMap<String, String>();
//
//		// 機器提供サービスコード
//		condMap.put( "kktk_svc_cd", getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.KKTK_SVC_CD ) );
//		// 料金コースコード
//		condMap.put( "pcrs_cd", getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.PCRS_CD ) );
//		// 料金プランコード
//		condMap.put( "pplan_cd", getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.PPLAN_CD ) );
//		// 機器提供種別コード
//		condMap.put( "kktk_sbt_cd", getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.KKTK_SBT_CD ) );
//		// HDD容量コード
//		condMap.put( "hdd_capa_cd", getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.HDD_CAPA_CD ) );
//		// 機器提供サービス契約登録.開始希望年月日
//		// サービス利用開始希望年月日
//		condMap.put( "svc_use_sta_kibo_ymd", "" );
//		// 予約適用開始希望年月日
//		condMap.put( "rsv_tsta_kibo_ymd", "" );
//		// 希望メーカーコード
//		condMap.put( "kibo_maker_cd", getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.KIBO_MAKER_CD ) );
//		// 販売種別コード
//		condMap.put( "hambai_sbt_cd", getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.HAMBAI_SBT_CD ) );
//		// 通信機器セットコード
//		condMap.put( "tsushin_kiki_set_cd", getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.TSUSHIN_KIKI_SET_CD ) );
//		// 宅内機器種別コード
//		condMap.put( "taknkiki_sbt_cd", getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.TAKNKIKI_SBT_CD ) );
//		// 宅内機器型式コード
//		condMap.put( "taknkiki_model_cd", getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.TAKNKIKI_MODEL_CD ) );
//		// 機器製造番号
//		condMap.put( "kiki_seizo_no", getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.KIKI_SEIZO_NO ) );
//		// 宅内機器セット品型コード
//		condMap.put( "taknkiki_sethin_model_cd", getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.TAKNKIKI_SETHIN_MODEL_CD ) );
//		// 付属品種別コード
//		condMap.put( "huzokuhin_sbt_cd", getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.HUZOKUHIN_SBT_CD ) );
//		// 機器設置先場所番号
//		condMap.put( "kiki_stc_saki_place_no", "" );
//		// 親契約識別コード
//		condMap.put( "oya_kei_skbt_cd", getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.OYA_KEI_SKBT_CD ) );
//		// サービス契約番号
//		condMap.put( "svc_kei_no", getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.SVC_KEI_NO ) );
//		// サービス契約内訳番号
//		condMap.put( "svc_kei_ucwk_no", getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.SVC_KEI_UCWK_NO ) );
//		// サービス契約回線内訳番号
//		condMap.put( "svc_kei_kaisen_ucwk_no", getMapString( paramMap, JKKAdchgConstCC.PARAM_KEY_KEI_KAIS_UCWK_LIST, 0, JKKAdchgConstCC.PARAM_KEY_NEW_KEI_KAIS_UCWK_NO ) );
//		// オプションサービス契約番号
//		condMap.put( "op_svc_kei_no", getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.OP_SVC_KEI_NO ) );
//		// SYSID
//		condMap.put( "sysid", getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.SYSID ) );
//		// 申込明細番号
//		condMap.put( "mskm_dtl_no", getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.MSKM_DTL_NO ) );
//		// リンクSTBフラグ
//		condMap.put( "link_stb_flg", getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.LINK_STB_FLG ) );
//		// 機器引当指定倉庫コード
//		condMap.put( "kiki_hkat_shitei_soko_cd", getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.KIKI_HKAT_SHITEI_SOKO_CD ) );
//		// 機器引当指定倉庫棚コード
//		condMap.put( "kiki_hkat_shitei_skdn_cd", getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.KIKI_HKAT_SHITEI_SKDN_CD ) );
//		// 機器送料有無
//		condMap.put( "kiki_soryo_um", getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.KIKI_SORYO_UM ) );
//		// 機器送料作成年月日
//		condMap.put( "kiki_soryo_saksei_ymd", getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.KIKI_SORYO_SAKSEI_YMD ) );
//
//		if ( kksv_9800_map.containsKey( "tppv_map" ) ) {
//			kksv_work_map = (HashMap<String,Object>)( kksv_9800_map.get( "tppv_map" ) );
//
//			// 機器送付先
//			condMap.put( "kiki_sohus_ad_cd", getMapString( kksv_work_map, "tppv_itens_ad_cd" ) );
//			condMap.put( "kiki_sohus_pcd", getMapString( kksv_work_map, "tppv_itens_pcd" ) );
//			condMap.put( "kiki_sohus_state_nm", getMapString( kksv_work_map, "tppv_itens_state_nm" ) );
//			condMap.put( "kiki_sohus_city_nm", getMapString( kksv_work_map, "tppv_itens_city_nm" ) );
//			condMap.put( "kiki_sohus_oaztsu_nm", getMapString( kksv_work_map, "tppv_itens_oaztsu_nm" ) );
//			condMap.put( "kiki_sohus_azcho_nm", getMapString( kksv_work_map, "tppv_itens_azcho_nm" ) );
//			condMap.put( "kiki_sohus_bnchigo", getMapString( kksv_work_map, "tppv_itens_bnchigo" ) );
//			condMap.put( "kiki_sohus_adrttm", getMapString( kksv_work_map, "tppv_itens_adrttm" ) );
//			condMap.put( "kiki_sohus_adrrm", getMapString( kksv_work_map, "tppv_itens_adrrm" ) );
//			condMap.put( "kiki_sohus_telno", getMapString( kksv_work_map, "tppv_itens_telno" ) );
//
//			condMap.put( "mansion_bukken_no", "" );
//			// 機器送付先_契約者住所差異フラグ
//			condMap.put( "kiki_sohus_ksh_ad_sai_flg", "0" );
//
//			// 機器設置先
//			condMap.put( "kiki_stc_saki_ad_cd", getMapString( kksv_work_map, "tppv_itens_ad_cd" ) );
//			condMap.put( "kiki_stc_saki_pcd", getMapString( kksv_work_map, "tppv_itens_pcd" ) );
//			condMap.put( "kiki_stc_saki_state_nm", getMapString( kksv_work_map, "tppv_itens_state_nm" ) );
//			condMap.put( "kiki_stc_saki_city_nm", getMapString( kksv_work_map, "tppv_itens_city_nm" ) );
//			condMap.put( "kiki_stc_saki_oaztsu_nm", getMapString( kksv_work_map, "tppv_itens_oaztsu_nm" ) );
//			condMap.put( "kiki_stc_saki_azcho_nm", getMapString( kksv_work_map, "tppv_itens_azcho_nm" ) );
//			condMap.put( "kiki_stc_saki_bnchigo", getMapString( kksv_work_map, "tppv_itens_bnchigo" ) );
//			condMap.put( "kiki_stc_saki_adrttm", getMapString( kksv_work_map, "tppv_itens_adrttm" ) );
//			condMap.put( "kiki_stc_saki_adrrm", getMapString( kksv_work_map, "tppv_itens_adrrm" ) );
//			condMap.put( "kiki_stc_sk_telno", getMapString( kksv_work_map, "tppv_itens_telno" ) );
//
//			// 機器設置先_契約者住所差異フラグ
//			condMap.put( "kiki_stc_sk_ksh_ad_sai_flg", "0" );
//			// 住所未確定フラグ
//			condMap.put( "ad_mi_fix_flg", getMapString( kksv_work_map, "tppv_itnsad_mi_fix_flg" ) );
//		} else {
//			// 機器送付先名
//			condMap.put( "kiki_sohus_nm", getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.KIKI_SOHUS_NM ) );
//			// 機器送付先カナ名
//			condMap.put( "kiki_sohus_kana", getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.KIKI_SOHUS_KANA ) );
//			// 機器送付先住所コード
//			condMap.put( "kiki_sohus_ad_cd", getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.KIKI_SOHUS_AD_CD ) );
//			// 機器送付先郵便番号
//			condMap.put( "kiki_sohus_pcd", getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.KIKI_SOHUS_PCD ) );
//			// 機器送付先都道府県名
//			condMap.put( "kiki_sohus_state_nm", getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.KIKI_SOHUS_STATE_NM ) );
//			// 機器送付先市区町村名
//			condMap.put( "kiki_sohus_city_nm", getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.KIKI_SOHUS_CITY_NM ) );
//			// 機器送付先大字通称名
//			condMap.put( "kiki_sohus_oaztsu_nm", getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.KIKI_SOHUS_OAZTSU_NM ) );
//			// 機器送付先字丁目名
//			condMap.put( "kiki_sohus_azcho_nm", getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.KIKI_SOHUS_AZCHO_NM ) );
//			// 機器送付先番地号
//			condMap.put( "kiki_sohus_bnchigo", getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.KIKI_SOHUS_BNCHIGO ) );
//			// 機器送付先住所補記・建物名
//			condMap.put( "kiki_sohus_adrttm", getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.KIKI_SOHUS_ADRTTM ) );
//			// 機器送付先住所補記・部屋番号
//			condMap.put( "kiki_sohus_adrrm", getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.KIKI_SOHUS_ADRRM ) );
//			// 機器送付先電話番号
//			condMap.put( "kiki_sohus_telno", getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.KIKI_SOHUS_TELNO ) );
//			// マンション物件番号
//			condMap.put( "mansion_bukken_no", getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.MANSION_BUKKEN_NO ) );
//			// 機器送付先_契約者住所差異フラグ
//			condMap.put( "kiki_sohus_ksh_ad_sai_flg", getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.KIKI_SOHUS_KSH_AD_SAI_FLG ) );
//			// 機器設置先名
//			condMap.put( "kiki_stc_saki_nm", getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.KIKI_STC_SAKI_NM ) );
//			// 機器設置先カナ名
//			condMap.put( "kiki_stc_saki_kana", getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.KIKI_STC_SAKI_KANA ) );
//			// 機器設置先住所コード
//			condMap.put( "kiki_stc_saki_ad_cd", getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.KIKI_STC_SAKI_AD_CD ) );
//			// 機器設置先郵便番号
//			condMap.put( "kiki_stc_saki_pcd", getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.KIKI_STC_SAKI_PCD ) );
//			// 機器設置先都道府県名
//			condMap.put( "kiki_stc_saki_state_nm", getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.KIKI_STC_SAKI_STATE_NM ) );
//			// 機器設置先市区町村名
//			condMap.put( "kiki_stc_saki_city_nm", getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.KIKI_STC_SAKI_CITY_NM ) );
//			// 機器設置先大字通称名
//			condMap.put( "kiki_stc_saki_oaztsu_nm", getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.KIKI_STC_SAKI_OAZTSU_NM ) );
//			// 機器設置先字丁目名
//			condMap.put( "kiki_stc_saki_azcho_nm", getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.KIKI_STC_SAKI_AZCHO_NM ) );
//			// 機器設置先番地号
//			condMap.put( "kiki_stc_saki_bnchigo", getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.KIKI_STC_SAKI_BNCHIGO ) );
//			// 機器設置先住所補記・建物名
//			condMap.put( "kiki_stc_saki_adrttm", getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.KIKI_STC_SAKI_ADRTTM ) );
//			// 機器設置先住所補記・部屋番号
//			condMap.put( "kiki_stc_saki_adrrm", getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.KIKI_STC_SAKI_ADRRM ) );
//			// 機器設置先_契約者住所差異フラグ
//			condMap.put( "kiki_stc_sk_ksh_ad_sai_flg", getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.KIKI_STC_SK_KSH_AD_SAI_FLG ) );
//			// 機器設置先電話番号
//			condMap.put( "kiki_stc_sk_telno", getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.KIKI_STC_SK_TELNO ) );
//		}
//		// 機器送付先住所確定後変更可否
//		condMap.put( "kiki_shs_ad_fix_af_chge_kh", getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.KIKI_SHS_AD_FIX_AF_CHGE_KH ) );
//		// 機器送付先個別指定フラグ
//		condMap.put( "kiki_shs_kbt_shitei_flg", getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.KIKI_SHS_KBT_SHITEI_FLG ) );
//		// 機器送付先補足コード1
//		condMap.put( "kiki_shs_hsk_cd_1", getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.KIKI_SHS_HSK_CD_1 ) );
//		// 機器送付先補足コード2
//		condMap.put( "kiki_shs_hsk_cd_2", getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.KIKI_SHS_HSK_CD_2 ) );
//		// 機器送付先補足メモ
//		condMap.put( "kiki_shs_hsk_memo", getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.KIKI_SHS_HSK_MEMO ) );
//		// 機器設置先住所確定後変更可否
//		condMap.put( "kiki_sts_ad_fix_af_chge_kh", getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.KIKI_STS_AD_FIX_AF_CHGE_KH ) );
//		// 機器設置先区画整理中フラグ
//		condMap.put( "kiki_sts_kkk_seiri_chu_flg", getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.KIKI_STS_KKK_SEIRI_CHU_FLG ) );
//		// 住所未確定フラグ
//		condMap.put( "ad_mi_fix_flg", getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.AD_MI_FIX_FLG ) );
//		// 機器設置先補足コード1
//		condMap.put( "kiki_sts_hsk_cd_1", getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.KIKI_STS_HSK_CD_1 ) );
//		// 機器設置先補足コード2
//		condMap.put( "kiki_sts_hsk_cd_2", getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.KIKI_STS_HSK_CD_2 ) );
//		// 機器設置先補足メモ
//		condMap.put( "kiki_sts_hsk_memo", getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.KIKI_STS_HSK_MEMO ) );
//		// 配送区分
//		condMap.put( "haiso_div", getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.HAISO_DIV ) );
//		// 試用加入年月日
//		condMap.put( "ftrial_kanyu_ymd", getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.FTRIAL_KANYU_YMD ) );
//		// 試用期間終了年月日
//		condMap.put( "ftrial_prd_endymd", getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.FTRIAL_PRD_ENDYMD ) );
//		// 本加入年月日
//		condMap.put( "honkanyu_ymd", getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.HONKANYU_YMD ) );
//		// 本加入移行期限年月日
//		condMap.put( "honkanyu_iko_kigen_ymd", getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.HONKANYU_IKO_KIGEN_YMD ) );
//		// 保証コード
//		condMap.put( "hosho_cd", getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.HOSHO_CD ) );
//		// 保証開始年月日
//		condMap.put( "hosho_staymd", getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.HOSHO_STAYMD ) );
//		// 違約金発生コード
//		condMap.put( "pnlty_hassei_cd", "" );
//		// 異動区分
//		condMap.put( "ido_div", getMapString( kksv_9800_map, KKSV0098_KKSV0098OP.IDO_DIV ) );
//		// 宅内機器異動コード
//		condMap.put( "taknkiki_ido_cd", getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.TAKNKIKI_IDO_CD ) );
//		// CASカード使用許諾年月日
//		condMap.put( "cas_card_use_kyodak_ymd", getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.CAS_CARD_USE_KYODAK_YMD ) );
//		// 機器付加情報コード
//		condMap.put( "kiki_huka_info_cd", getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.KIKI_HUKA_INFO_CD ) );
//		// 配送方法コード
//		condMap.put( "haiso_way_cd", getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.HAISO_WAY_CD ) );
//		// 請求契約番号
//		HashMap<String, Object> adchg_dtl_map_sei_kei = (HashMap<String, Object>)( paramMap.get( "adchg_dtl_map_sei_kei" ) );
//		condMap.put( "seiky_kei_no", getMapString( adchg_dtl_map_sei_kei, "adchg_dtl_chaf_skbt_no" ) );
//		// 料金項目コード
//		condMap.put( "prc_kmk_cd", "" );
//
//		// 更新年月日時分秒(更新前)
//		if ( "D0".equals( getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.TAKNKIKI_SBT_CD ) ) ) {
//			// ONU
//			kksv_work_map = (HashMap<String, Object>)( param.getData( KKSV0098_KKSV0098OP.KKSV009821CC ) );
//			kei_trn_div = getMapString( kksv_9800_map, "eoh_nt_kei_trn_div" );
//			if ( kksv_work_map == null ) {
//				kksv_work_map = (HashMap<String, Object>)( param.getData( KKSV0098_KKSV0098OP.KKSV009822CC ) );
//				kei_trn_div = getMapString( kksv_9800_map, "eoh_tl_kei_trn_div" );
//			}
//// ●● 品向対応 No121 START
//			kksv_work_map.put("svc_div", "1");
//// ●● 品向対応 No121 END
//		} else if ( "E0".equals( getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.TAKNKIKI_SBT_CD ) ) ) {
//			// V-ONU
//			kksv_work_map = (HashMap<String, Object>)( param.getData( KKSV0098_KKSV0098OP.KKSV009823CC ) );
//			kei_trn_div = getMapString( kksv_9800_map, "eoh_tv_kei_trn_div" );
//			kksv_work_map.put("svc_div", "1");
//		// ▼▼▼ 2012-02-28 IT2-2012-0000182 ADD ▼▼▼
//		} else {
//			// 上記以外の機器
//			HashMap<String, Object> kk0081_a010_map = itenmSvcKei( param, fixedText, kk0341_a010_map );
//
//			String svc_cd = getMapString( kk0081_a010_map, EKK0081A010CBSMsg1List.SVC_CD );
//			if ( "01".equals( svc_cd ) ) {
//				kksv_work_map = (HashMap<String, Object>)( param.getData( KKSV0098_KKSV0098OP.KKSV009821CC ) );
//				kei_trn_div = getMapString( kksv_9800_map, "eoh_nt_kei_trn_div" );
//			} else if ( "02".equals( svc_cd ) ) {
//				kksv_work_map = (HashMap<String, Object>)( param.getData( KKSV0098_KKSV0098OP.KKSV009822CC ) );
//				kei_trn_div = getMapString( kksv_9800_map, "eoh_tl_kei_trn_div" );
//			} else if ( "03".equals( svc_cd ) ) {
//				kksv_work_map = (HashMap<String, Object>)( param.getData( KKSV0098_KKSV0098OP.KKSV009823CC ) );
//				kei_trn_div = getMapString( kksv_9800_map, "eoh_tv_kei_trn_div" );
//			}
//			kksv_work_map.put("svc_div", "");
//		// ▲▲▲ 2012-02-28 IT2-2012-0000182 ADD ▲▲▲
//		}
//		condMap.put( "upd_dtm_bf", getUpdDtm( param, fixedText, kksv_work_map ) );
//		condMap.put( "kiki_sohus_nm", getMapString( kksv_work_map, "cust_nm" ) );
//		condMap.put( "kiki_sohus_kana", getMapString( kksv_work_map, "cust_kana" ) );
//		condMap.put( "kiki_stc_saki_nm", getMapString( kksv_work_map, "cust_nm" ) );
//		condMap.put( "kiki_stc_saki_kana", getMapString( kksv_work_map, "cust_kana" ) );
//
//		// EKK0341D010_機器提供サービス契約登録
//		reqMap = mapper.setEKK0341D010( param, fixedText, condMap );
//		resMap = scCall.run( reqMap, keepSesHandle );
//		HashMap<String, Object> kk0341_d010_map = mapper.getEKK0341D010( param, fixedText, resMap );
//		mapper.scResultCheck( param );
//
//		/** EKK0341C030_機器提供サービス契約照査 */
//		// 照査の実施条件に該当しない場合、任意的に照査を実施する必要がある
//		if ( StringUtils.isEmpty( kei_trn_div ) || "3".equals( kei_trn_div ) || "5".equals( kei_trn_div ) ) {
//			return kk0341_d010_map;
//		}
//
//		// EKK0341C030_機器提供サービス契約照査
//		condMap = new HashMap<String, String>();
//		condMap.put( "kktk_svc_kei_no", getMapString( kk0341_d010_map, "kktk_svc_kei_no" ) );
//		condMap.put( "kiki_ninsho_id", "" );
//		condMap.put( "kiki_ninsho_id_pwd", "" );
//		condMap.put( "ido_div", getMapString( kksv_9800_map, KKSV0098_KKSV0098OP.IDO_DIV ) );
//		condMap.put( "shosa_dsl_fin_cd", "" );
//		condMap.put( "upd_dtm_bf", getMapString( kk0341_d010_map, "upd_dtm" ) );
//
//		reqMap = mapper.setEKK0341C030( param, fixedText, condMap );
//		resMap = scCall.run( reqMap, keepSesHandle );
//		HashMap<String, Object> kk0341_c030_map = mapper.getEKK0341C030( param, fixedText, resMap );
//		mapper.scResultCheck( param );
//
//		return kk0341_d010_map;
//	}

	/**
	 * EKK0341D010_機器提供サービス契約登録 (ONU・V-ONUの追加)
	 * <br>
	 * @param  param      モデルグループ、コントロールマップを含むリクエストパラメータ
	 * @param  fixedText  ユーザ任意文字列
	 * @param  kikiDiv    機器種別 … "1"(ONU)、"2"(V-ONU)
	 * @throws 例外が発生した場合
	 */
	private HashMap<String, Object> addKiki_EKK0341D010( IRequestParameterReadWrite param, String fixedText, String kikiDiv ) throws Exception {

		/** 前準備 **/
		HashMap<String, String> condMap;
		HashMap<String, Object> paramMap = (HashMap<String, Object>)( param.getData(fixedText) );
		HashMap<String, Object> reqMap;
		Map<?, ?> resMap;

		// 住所変更登録コモンコンポーネントマッピングクラスインスタンス
		JKKAdchgMapperCC mapper = JKKAdchgMapperCC.getInstance();
		// SCリクエストInvoker
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();

		HashMap<String, Object> kksv_work_map = null;
		HashMap<String, Object> kksv_9800_map = (HashMap<String, Object>)( param.getData( KKSV0098_KKSV0098OP.KKSV009800CC ) );
// UI/SS突合せ差異修正 M.OIJI MOD START ----------------------------
		HashMap<String, Object> kksv_98XX_map = null;
// UI/SS突合せ差異修正 M.OIJI MOD END ----------------------------

		/** EKK0341D010_機器提供サービス契約登録 */
		condMap = new HashMap<String, String>();

		if ( "1".equals( kikiDiv ) ) {
			// "C012"(ONU) ⇒ 機器提供サービスコード
			condMap.put( "kktk_svc_cd", "C012" );
			// "C18"(ONU) ⇒ 料金コースコード
			condMap.put( "pcrs_cd", "C18" );
			// "PC1801"(ONU 定額プラン) ⇒ 料金プランコード
			condMap.put( "pplan_cd", "PC1801" );
			// "D0"(ONU) ⇒ 宅内機器種別コード
			condMap.put( "taknkiki_sbt_cd", "D0" );
// UI/SS突合せ差異修正 M.OIJI MOD START ----------------------------
			kksv_98XX_map = (HashMap<String, Object>) param.getData( KKSV0098_KKSV0098OP.KKSV009821CC);
			if ( kksv_98XX_map == null ) {
				kksv_98XX_map = (HashMap<String, Object>) param.getData( KKSV0098_KKSV0098OP.KKSV009822CC);
			}
// UI/SS突合せ差異修正 M.OIJI MOD END ----------------------------
		} else if ( "2".equals( kikiDiv ) ) {
			// "C013"(V-ONU) ⇒ 機器提供サービスコード
			condMap.put( "kktk_svc_cd", "C013" );
			// "C20"(V-ONU) ⇒ 料金コースコード
			condMap.put( "pcrs_cd", "C20" );
			// "PC2001"(V-ONU 定額プラン) ⇒ 料金プランコード
			condMap.put( "pplan_cd", "PC2001" );
			// "E0"(V-ONU) ⇒ 宅内機器種別コード
			condMap.put( "taknkiki_sbt_cd", "E0" );
// UI/SS突合せ差異修正 M.OIJI MOD START ----------------------------
			kksv_98XX_map = (HashMap<String, Object>)( param.getData( KKSV0098_KKSV0098OP.KKSV009823CC ) );
// UI/SS突合せ差異修正 M.OIJI MOD END ----------------------------
		}
		// "02"(レンタル) ⇒ 機器提供種別コード
		condMap.put( "kktk_sbt_cd", "02" );
		condMap.put( "hdd_capa_cd", "" );
		condMap.put( "svc_use_sta_kibo_ymd", "" );
		condMap.put( "rsv_tsta_kibo_ymd", "" );
		condMap.put( "kibo_maker_cd", "" );
		// "10"(新品) ⇒ 販売種別コード
		condMap.put( "hambai_sbt_cd", "10" );
		condMap.put( "tsushin_kiki_set_cd", "" );
		condMap.put( "taknkiki_model_cd", "" );
		condMap.put( "kiki_seizo_no", "" );
		condMap.put( "taknkiki_sethin_model_cd", "" );
		condMap.put( "huzokuhin_sbt_cd", "" );
		condMap.put( "kiki_stc_saki_place_no", "" );
		// "02"(サービス契約回線内訳) ⇒ 親契約識別コード
		condMap.put( "oya_kei_skbt_cd", "02" );
		condMap.put( "svc_kei_no", "" );
		condMap.put( "svc_kei_ucwk_no", "" );
		// サービス契約回線内訳番号
		condMap.put( "svc_kei_kaisen_ucwk_no", getMapString( paramMap, JKKAdchgConstCC.PARAM_KEY_KEI_KAIS_UCWK_LIST, 0, JKKAdchgConstCC.PARAM_KEY_NEW_KEI_KAIS_UCWK_NO ) );
		condMap.put( "op_svc_kei_no", "" );
		// SYSID
		condMap.put( "sysid", getMapString( kksv_9800_map, KKSV0098_KKSV0098OP.SYSID ) );
		// 申込明細番号
// UI/SS突合せ差異修正 M.OIJI MOD START ----------------------------
		// condMap.put( "mskm_dtl_no", getMapString( kksv_9800_map, KKSV0098_KKSV0098OP.MSKM_DTL_NO ) );
		condMap.put("mskm_dtl_no", getMapString(kksv_98XX_map, JKKAdchgConstCC.PARAM_KEY_MSKM_DTL_NO));
// UI/SS突合せ差異修正 M.OIJI MOD END ----------------------------
		condMap.put( "link_stb_flg", "" );
		// "000001"(みなと倉庫コード) ⇒ 機器引当指定倉庫コード
		condMap.put( "kiki_hkat_shitei_soko_cd", "000001" );
		// "000"(通常棚) ⇒ 機器引当指定倉庫棚コード
		condMap.put( "kiki_hkat_shitei_skdn_cd", "000" );
		condMap.put( "kiki_soryo_um", "" );
		condMap.put( "kiki_soryo_saksei_ymd", "" );

		if ( kksv_9800_map.containsKey( "tppv_map" ) ) {
			kksv_work_map = (HashMap<String,Object>)( kksv_9800_map.get( "tppv_map" ) );

			// 機器送付先
			condMap.put( "kiki_sohus_ad_cd", getMapString( kksv_work_map, "tppv_itens_ad_cd" ) );
			condMap.put( "kiki_sohus_pcd", getMapString( kksv_work_map, "tppv_itens_pcd" ) );
			condMap.put( "kiki_sohus_state_nm", getMapString( kksv_work_map, "tppv_itens_state_nm" ) );
			condMap.put( "kiki_sohus_city_nm", getMapString( kksv_work_map, "tppv_itens_city_nm" ) );
			condMap.put( "kiki_sohus_oaztsu_nm", getMapString( kksv_work_map, "tppv_itens_oaztsu_nm" ) );
			condMap.put( "kiki_sohus_azcho_nm", getMapString( kksv_work_map, "tppv_itens_azcho_nm" ) );
			condMap.put( "kiki_sohus_bnchigo", getMapString( kksv_work_map, "tppv_itens_bnchigo" ) );
			condMap.put( "kiki_sohus_adrttm", getMapString( kksv_work_map, "tppv_itens_adrttm" ) );
			condMap.put( "kiki_sohus_adrrm", getMapString( kksv_work_map, "tppv_itens_adrrm" ) );
			condMap.put( "kiki_sohus_telno", getMapString( kksv_work_map, "tppv_itens_telno" ) );

			condMap.put( "mansion_bukken_no", "" );
			// 機器送付先_契約者住所差異フラグ
			condMap.put( "kiki_sohus_ksh_ad_sai_flg", "0" );

			// 機器設置先
			condMap.put( "kiki_stc_saki_ad_cd", getMapString( kksv_work_map, "tppv_itens_ad_cd" ) );
			condMap.put( "kiki_stc_saki_pcd", getMapString( kksv_work_map, "tppv_itens_pcd" ) );
			condMap.put( "kiki_stc_saki_state_nm", getMapString( kksv_work_map, "tppv_itens_state_nm" ) );
			condMap.put( "kiki_stc_saki_city_nm", getMapString( kksv_work_map, "tppv_itens_city_nm" ) );
			condMap.put( "kiki_stc_saki_oaztsu_nm", getMapString( kksv_work_map, "tppv_itens_oaztsu_nm" ) );
			condMap.put( "kiki_stc_saki_azcho_nm", getMapString( kksv_work_map, "tppv_itens_azcho_nm" ) );
			condMap.put( "kiki_stc_saki_bnchigo", getMapString( kksv_work_map, "tppv_itens_bnchigo" ) );
			condMap.put( "kiki_stc_saki_adrttm", getMapString( kksv_work_map, "tppv_itens_adrttm" ) );
			condMap.put( "kiki_stc_saki_adrrm", getMapString( kksv_work_map, "tppv_itens_adrrm" ) );
			condMap.put( "kiki_stc_sk_telno", getMapString( kksv_work_map, "tppv_itens_telno" ) );

			// 機器設置先_契約者住所差異フラグ
			condMap.put( "kiki_stc_sk_ksh_ad_sai_flg", "0" );
			// 住所未確定フラグ
			condMap.put( "ad_mi_fix_flg", getMapString( kksv_work_map, "tppv_itnsad_mi_fix_flg" ) );
		} else {
			// 機器送付先
			condMap.put( "kiki_sohus_nm", "" );
			condMap.put( "kiki_sohus_kana", "" );
			condMap.put( "kiki_sohus_ad_cd", "" );
			condMap.put( "kiki_sohus_pcd", "" );
			condMap.put( "kiki_sohus_state_nm", "" );
			condMap.put( "kiki_sohus_city_nm", "" );
			condMap.put( "kiki_sohus_oaztsu_nm", "" );
			condMap.put( "kiki_sohus_azcho_nm", "" );
			condMap.put( "kiki_sohus_bnchigo", "" );
			condMap.put( "kiki_sohus_adrttm", "" );
			condMap.put( "kiki_sohus_adrrm", "" );
			condMap.put( "kiki_sohus_telno", "" );

			condMap.put( "mansion_bukken_no", "" );
			// 機器送付先_契約者住所差異フラグ
			condMap.put( "kiki_sohus_ksh_ad_sai_flg", "" );

			// 機器設置先
			condMap.put( "kiki_stc_saki_nm", "" );
			condMap.put( "kiki_stc_saki_kana", "" );
			condMap.put( "kiki_stc_saki_ad_cd", "" );
			condMap.put( "kiki_stc_saki_pcd", "" );
			condMap.put( "kiki_stc_saki_state_nm", "" );
			condMap.put( "kiki_stc_saki_city_nm", "" );
			condMap.put( "kiki_stc_saki_oaztsu_nm", "" );
			condMap.put( "kiki_stc_saki_azcho_nm", "" );
			condMap.put( "kiki_stc_saki_bnchigo", "" );
			condMap.put( "kiki_stc_saki_adrttm", "" );
			condMap.put( "kiki_stc_saki_adrrm", "" );
			condMap.put( "kiki_stc_sk_telno", "" );

			// 機器設置先_契約者住所差異フラグ
			condMap.put( "kiki_stc_sk_ksh_ad_sai_flg", "" );
			condMap.put( "ad_mi_fix_flg", "" );
		}
		condMap.put( "kiki_shs_ad_fix_af_chge_kh", "" );
		// "1" ⇒ 機器送付先個別指定フラグ
		condMap.put( "kiki_shs_kbt_shitei_flg", "1" );
		condMap.put( "kiki_shs_hsk_cd_1", "" );
		condMap.put( "kiki_shs_hsk_cd_2", "" );
		condMap.put( "kiki_shs_hsk_memo", "" );

		condMap.put( "kiki_sts_ad_fix_af_chge_kh", "" );
		// "0"(整理中でない) ⇒ 機器設置先区画整理中フラグ
		condMap.put( "kiki_sts_kkk_seiri_chu_flg", "0" );

		condMap.put( "kiki_sts_hsk_cd_1", "" );
		condMap.put( "kiki_sts_hsk_cd_2", "" );
		condMap.put( "kiki_sts_hsk_memo", "" );
		// "00"(直送) ⇒ 配送区分
		condMap.put( "haiso_div", "00" );
		condMap.put( "ftrial_kanyu_ymd", "" );
		condMap.put( "ftrial_prd_endymd", "" );
		condMap.put( "honkanyu_ymd", "" );
		condMap.put( "honkanyu_iko_kigen_ymd", "" );
		condMap.put( "hosho_cd", "" );
		condMap.put( "hosho_staymd", "" );

		// 違約金発生コード
		condMap.put( "pnlty_hassei_cd", "" );
		// 住所変更の異動区分 ⇒ 異動区分
		condMap.put( "ido_div", getMapString( kksv_9800_map, KKSV0098_KKSV0098OP.IDO_DIV ) );
		// "01"(STB追加) ⇒ 宅内機器異動コード
		condMap.put( "taknkiki_ido_cd", "01" );
		condMap.put( "cas_card_use_kyodak_ymd", "" );
		// "000"(０００) ⇒ 機器付加情報コード
		condMap.put( "kiki_huka_info_cd", "000" );
		condMap.put( "haiso_way_cd", "" );
// DB更新障害対応 No.17 FUKUNAGA START ---------------------------------
//		// 請求契約番号
//		HashMap<String, Object> adchg_dtl_map_sei_kei = (HashMap<String, Object>)( paramMap.get( "adchg_dtl_map_sei_kei" ) );
//		condMap.put( "seiky_kei_no", getMapString( adchg_dtl_map_sei_kei, "adchg_dtl_chaf_skbt_no" ) );
// DB更新障害対応 No.17 FUKUNAGA END -----------------------------------
		condMap.put( "prc_kmk_cd", "" );

		// 更新年月日時分秒(更新前)
		if ( "1".equals( kikiDiv ) ) {
			// ONU
			kksv_work_map = (HashMap<String, Object>)( param.getData( KKSV0098_KKSV0098OP.KKSV009821CC ) );
			if ( kksv_work_map == null ) {
				kksv_work_map = (HashMap<String, Object>)( param.getData( KKSV0098_KKSV0098OP.KKSV009822CC ) );
			}
			kksv_work_map.put("svc_div", "1");
		} else {
			// V-ONU
			kksv_work_map = (HashMap<String, Object>)( param.getData( KKSV0098_KKSV0098OP.KKSV009823CC ) );
			kksv_work_map.put("svc_div", "1");
		}
		condMap.put( "upd_dtm_bf", getUpdDtm( param, fixedText, kksv_work_map ) );
		condMap.put( "kiki_sohus_nm", getMapString( kksv_work_map, "cust_nm" ) );
		condMap.put( "kiki_sohus_kana", getMapString( kksv_work_map, "cust_kana" ) );
		condMap.put( "kiki_stc_saki_nm", getMapString( kksv_work_map, "cust_nm" ) );
		condMap.put( "kiki_stc_saki_kana", getMapString( kksv_work_map, "cust_kana" ) );

// DB更新障害対応 No.17 FUKUNAGA START ---------------------------------
		// 請求契約番号
		condMap.put( "seiky_kei_no", getMapString( kksv_work_map, JKKAdchgConstCC.PARAM_KEY_NEW_SEIKY_KEI_NO ) );
// DB更新障害対応 No.17 FUKUNAGA END -----------------------------------

		// EKK0341D010_機器提供サービス契約登録
		reqMap = mapper.setEKK0341D010( param, fixedText, condMap );
		resMap = scCall.run( reqMap, keepSesHandle );
		HashMap<String, Object> kk0341_d010_map = mapper.getEKK0341D010( param, fixedText, resMap );
		mapper.scResultCheck( param );

// ●● IT1-2012-0000397 照査対応 START
		/** EKK0341C320 機器提供サービス契約サービス契約変更(予約適用年月日の入力) */ 
		HashMap<String, Object> kk0341_c320_inmap = new HashMap<String, Object>();
		String rsv_aply_ymd = "";
		if ( "1".equals( kikiDiv ) ) {
			rsv_aply_ymd = (String)kksv_9800_map.get(KKSV0098_KKSV0098OP.RSV_APLY_YMD_NT);
			if(rsv_aply_ymd == null || "".equals(rsv_aply_ymd)) {
				rsv_aply_ymd = (String)kksv_9800_map.get(KKSV0098_KKSV0098OP.RSV_APLY_YMD_TL);
			}
		} else if ( "2".equals( kikiDiv ) ) {
			rsv_aply_ymd = (String)kksv_9800_map.get(KKSV0098_KKSV0098OP.RSV_APLY_YMD_TV);
		}

		kk0341_c320_inmap.put(EKK0341C320CBSMsg.KKTK_SVC_KEI_NO, kk0341_d010_map.get(EKK0341D010CBSMsg.KKTK_SVC_KEI_NO));
		kk0341_c320_inmap.put(EKK0341C320CBSMsg.SVC_KEI_KAISEN_UCWK_NO, getMapString( paramMap, JKKAdchgConstCC.PARAM_KEY_KEI_KAIS_UCWK_LIST, 0, JKKAdchgConstCC.PARAM_KEY_NEW_KEI_KAIS_UCWK_NO ));
		kk0341_c320_inmap.put(EKK0341C320CBSMsg.RSV_APLY_YMD, rsv_aply_ymd);
		kk0341_c320_inmap.put(EKK0341C320CBSMsg.IDO_DIV, getMapString( kksv_9800_map, KKSV0098_KKSV0098OP.IDO_DIV ));
		// ▼▼▼ ST2-2012-0000807 対応 ▼▼▼
// UI/SS突合せ差異修正 M.OIJI MOD START ----------------------------
		//kk0341_c320_inmap.put(EKK0341C320CBSMsg.MSKM_DTL_NO, "");
// DB障害No.139 FUKUNAGA START ---------------------------------
		//condMap.put("mskm_dtl_no", getMapString(kksv_98XX_map, JKKAdchgConstCC.PARAM_KEY_MSKM_DTL_NO));
		kk0341_c320_inmap.put("mskm_dtl_no", getMapString(kksv_98XX_map, JKKAdchgConstCC.PARAM_KEY_MSKM_DTL_NO));
// DB障害No.139 FUKUNAGA END -----------------------------------
// UI/SS突合せ差異修正 M.OIJI MOD END ----------------------------
		kk0341_c320_inmap.put(EKK0341C320CBSMsg.KKTK_SVC_KEI_HKHASYMD, "");
		kk0341_c320_inmap.put(EKK0341C320CBSMsg.UPD_DTM_BF, kk0341_d010_map.get(EKK0341D010CBSMsg.UPD_DTM));
		// ▲▲▲ ST2-2012-0000807 対応 ▲▲▲
		
		// 回線内訳変更
		reqMap = mapper.setEKK0341C320( param, fixedText, kk0341_c320_inmap );
		resMap = scCall.run( reqMap, keepSesHandle );
		HashMap<String, Object> kk0341_c320_map = mapper.getEKK0341C320( param, fixedText, resMap );
		mapper.scResultCheck( param );
// ●● IT1-2012-0000397 照査対応 END
		return kk0341_d010_map;
	}

	/**
	 * 更新年月日時分秒(変更前)の取得.
	 * <br>
	 * @param  param      モデルグループ、コントロールマップを含むリクエストパラメータ
	 * @param  fixedText  ユーザ任意文字列
	 * @param  adchgMap   機器提供サービス契約一意照会マップ
	 * @throws 例外が発生した場合
	 */
	private String getUpdDtm( IRequestParameterReadWrite param, String fixedText, HashMap<String, Object> adchgMap ) throws Exception {

		/** 前準備 **/
		HashMap<String, String> condMap;
		HashMap<String, Object> paramMap = (HashMap<String, Object>)( param.getData(fixedText) );
		HashMap<String, Object> reqMap;
		Map<?, ?> resMap;

		// 住所変更登録コモンコンポーネントマッピングクラスインスタンス
		JKKAdchgMapperCC mapper = JKKAdchgMapperCC.getInstance();
		// SCリクエストInvoker
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();

// ●● 品向対応 No121 START
		if( "1".equals(adchgMap.get( "svc_div") ) ) {
			/** EKK0251A010_サービス契約回線内訳一意照会 */
			condMap = new HashMap<String, String>();
// ●●IT2 2012-03-14 住変機器障害対応 START
			if (StringUtils.isEmpty(getMapString( paramMap, JKKAdchgConstCC.PARAM_KEY_KEI_KAIS_UCWK_LIST, 0, JKKAdchgConstCC.PARAM_KEY_NEW_KEI_KAIS_UCWK_NO ))) {
				condMap.put( JKKAdchgMapperCC.COND_KEY_SVC_KEI_KAIS_UCWK_NO, getMapString( adchgMap, JKKAdchgConstCC.PARAM_KEY_NEW_KEI_KAIS_UCWK_NO ) );
			} else {
// ●●IT2 2012-03-14 住変機器障害対応 END
				condMap.put( JKKAdchgMapperCC.COND_KEY_SVC_KEI_KAIS_UCWK_NO, 
						getMapString( paramMap, JKKAdchgConstCC.PARAM_KEY_KEI_KAIS_UCWK_LIST, 0, JKKAdchgConstCC.PARAM_KEY_NEW_KEI_KAIS_UCWK_NO ) );
// ●●IT2 2012-03-14 住変機器障害対応 START
			}
// ●●IT2 2012-03-14 住変機器障害対応 END
			reqMap = mapper.setEKK0251A010( param, fixedText, condMap );
			resMap = scCall.run( reqMap, keepSesHandle );
			HashMap<String, Object> kk0251_a010_map = mapper.getEKK0251A010( param, fixedText, resMap );
			mapper.scResultCheck( param );

// DB障害No.139 FUKUNAGA START ---------------------------------
			//return getMapString( kk0251_a010_map, "last_upd_dtm" );
			if (StringUtils.isEmpty(getMapString( kk0251_a010_map, "last_upd_dtm" ))) {
				return getMapString( kk0251_a010_map, "add_dtm" );
			} else {
				return getMapString( kk0251_a010_map, "last_upd_dtm" );
			}
// DB障害No.139 FUKUNAGA END -----------------------------------

		} else {
			/** EKK0081A010_サービス契約一意照会 */
			condMap = new HashMap<String, String>();
			condMap.put( JKKAdchgMapperCC.COND_KEY_SVC_KEI_NO, getMapString( adchgMap, JKKAdchgConstCC.PARAM_KEY_NEW_SVC_KEI_NO ) );
			condMap.put( JKKAdchgMapperCC.COND_KEY_OPEDATE, getMapString( paramMap, JKKAdchgConstCC.PARAM_KEY_OPE_DATE ) );
			reqMap = mapper.setEKK0081A010( param, fixedText, condMap );
			resMap = scCall.run( reqMap, keepSesHandle );
			HashMap<String, Object> kk0081_a010_map = mapper.getEKK0081A010( param, fixedText, resMap );
			mapper.scResultCheck( param );

			return getMapString( kk0081_a010_map, "last_upd_dtm" );
		}
// ●● 品向対応 No121 END
	}
	
// IT1-2012-0000866 2012/06/28 T.SAKAMOTO MOD START
	/**
	 * 契約者住所差異判定.
	 * <br>
	 * @param  param     パラメータリクエスト
	 * @param  jadgmentMap  判定情報が格納されているマップ
	 * @param  checkList 判定項目が格納されているマップ
	 * @return "0"(差異なし)、"1"(差異あり)、""(判定失敗)
	 */
	private String checkKshAd( IRequestParameterReadWrite param, HashMap<String, Object> jadgmentMap, String[] checkList ) {
		try {
			if ( jadgmentMap == null ) {
				return "";
			}

			HashMap<String, Object> kksv_9803_map = (HashMap<String, Object>)( param.getData( KKSV0098_KKSV0098OP.KKSV009803SC ) );
			if ( kksv_9803_map == null ) {
				throw new RequestParameterException();
			}

			for ( int i = 0; i < AD_KMK_KSH.length; i ++ ) {
				if ( getMapString( kksv_9803_map, AD_KMK_KSH[i] ).equals( getMapString( jadgmentMap, checkList[i] ) ) ) {
					return "1";
				}
			}
		} catch ( RequestParameterException e ) {
			return "";
		}
		return "0";
	}
// IT1-2012-0000866 2012/06/28 T.SAKAMOTO MOD END


	/**
	 * パラメータ取得(HashMap).
	 * <br>
	 * @param  targetMap  取得元マップ
	 * @param  targetKey  取得元キー項目
	 * @return 取得文字列
	 */
	private String getMapString( HashMap targetMap, String targetKey ) {
		String resultStr = new String();

		if ( targetMap != null ) {
			if ( ( targetKey != null ) && ( !"".equals( targetKey ) ) ) {
				if ( targetMap.containsKey( targetKey ) ) {
// DB結果検証障害対応 No.62 OIJI ADD START -------------------------------
//					resultStr = targetMap.get( targetKey ).toString();
					resultStr = (String) targetMap.get(targetKey);
// DB結果検証障害対応 No.62 OIJI ADD END ---------------------------------
				}
			}
		}

		return resultStr;
	}

	/**
	 * パラメータ取得(ArrayList).
	 * <br>
	 * @param  targetMap   取得元マップ
	 * @param  targetList  取得元リスト名
	 * @param  targetIdx   取得元リスト添え字
	 * @param  targetKey   取得元キー項目
	 * @return 取得文字列
	 */
	private String getMapString( HashMap<String, Object> targetMap, String targetList, int targetIdx, String targetKey ) {
		String resultStr = new String();

		if ( ( targetMap != null )  && ( targetList != null ) && ( !"".equals( targetList ) ) && ( targetMap.containsKey( targetList ) ) ) {
			ArrayList<HashMap> targetDatList = (ArrayList<HashMap>)( targetMap.get( targetList ) );
			if ( ( targetDatList != null ) && ( targetDatList.size() > targetIdx ) ) {
				HashMap<String, Object> targetDat = (HashMap<String, Object>)( targetDatList.get(targetIdx) );
				if ( ( targetDat != null ) && ( targetDat.containsKey( targetKey ) ) ) {
					resultStr = targetDat.get( targetKey ).toString();
				}
			}
		}

		return resultStr;
	}

	/**
	 * パラメータ設定(HashMap).
	 * <br>
	 * @param  trgtMtMap   取得元マップ
	 * @param  trgtMtKey   取得元キー項目
	 * @param  targetMap   設定先マップ
	 * @param  targetList  設定先リスト名
	 * @param  targetIdx   設定先リスト添え字
	 * @param  targetKey   設定先キー項目
	 */
	private void setMapString( HashMap trgtMtMap, String trgtMtKey, HashMap<String, Object> targetMap, String targetList, int targetIdx, String targetKey ) {
		if ( ( targetMap != null )  && ( targetList != null ) && ( !"".equals( targetList ) ) && ( targetMap.containsKey( targetList ) ) ) {
			ArrayList<HashMap> targetDatList = (ArrayList<HashMap>)( targetMap.get( targetList ) );
			if ( ( targetDatList != null ) && ( targetDatList.size() > targetIdx ) ) {
				HashMap<String, Object> targetDat = (HashMap<String, Object>)( targetDatList.get(targetIdx) );
				// ▼▼▼ 2012-03-08 HINKO.#143 CHG ▼▼▼
//				if ( ( targetDat != null ) && ( targetDat.containsKey( targetKey ) ) ) {
				if ( targetDat != null ) {
				// ▲▲▲ 2012-03-08 HINKO.#143 CHG ▲▲▲
					targetDat.put( targetKey, getMapString( trgtMtMap, trgtMtKey ) );
				}
			}
		}
	}
	// ▲▲▲ 2012-02-21 IT1-2012-0000297 ADD ▲▲▲
// UI/SS突合せ差異修正 M.OIJI MOD START ----------------------------
//	// ▼▼▼ 2012-02-28 IT2-2012-0000182 ADD ▼▼▼
//	/**
//	 * EKK0341C320_機器提供サービス契約サービス契約回線内訳変更.
//	 * <br>
//	 * @param  param            モデルグループ、コントロールマップを含むリクエストパラメータ
//	 * @param  fixedText        ユーザ任意文字列
//	 * @param  kk0341_a010_map  機器提供サービス契約一意照会マップ
//	 * @throws 例外が発生した場合
//	 */
//	private void chgItens_EKK0341C320( IRequestParameterReadWrite param, String fixedText, HashMap<String, Object> kk0341_a010_map, HashMap<String, Object> kk0081_a010_map ) throws Exception {
//
//		/** 前準備 **/
//		HashMap<String, Object> condMap;
//// ST1-2012-0000760　2012/06/22 T.SAKAMOTO　DEL　START　未使用変数、処理を削除
////		HashMap<String, String> condMap2;
//// ST1-2012-0000760　2012/06/22 T.SAKAMOTO　DEL　END　未使用変数、処理を削除
//		HashMap<String, Object> paramMap = (HashMap<String, Object>)( param.getData(fixedText) );
//		HashMap<String, Object> reqMap;
//		Map<?, ?> resMap;
//
//		// 住所変更登録コモンコンポーネントマッピングクラスインスタンス
//		JKKAdchgMapperCC mapper = JKKAdchgMapperCC.getInstance();
//		// SCリクエストInvoker
//		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
//
//		HashMap<String, Object> kksv_work_map = null;
//		HashMap<String, Object> kksv_9800_map = (HashMap<String, Object>)( param.getData( KKSV0098_KKSV0098OP.KKSV009800CC ) );
//
//		// ▼▼▼ 2012-03-31 DEL ▼▼▼
////// ●●IT2 住変機器障害対応 START
////		// EKK0251A010_サービス契約回線内訳一意照会
////		condMap2 = new HashMap<String, String>();
////		condMap2.put( JKKAdchgMapperCC.COND_KEY_SVC_KEI_KAIS_UCWK_NO, getMapString( paramMap, JKKAdchgConstCC.PARAM_KEY_KEI_KAIS_UCWK_LIST, 0, JKKAdchgConstCC.PARAM_KEY_NEW_KEI_KAIS_UCWK_NO ));
////		condMap2.put( JKKAdchgMapperCC.COND_KEY_OPEDATE, paramMap.get( JKKAdchgConstCC.PARAM_KEY_OPE_DATE ).toString() );
////		reqMap = mapper.setEKK0251A010( param, fixedText, condMap2 );
////		resMap = scCall.run( reqMap, keepSesHandle );
////		HashMap<String, Object> kk0251_a010_map = mapper.getEKK0251A010( param, fixedText, resMap );
////		mapper.scResultCheck( param );
////// ●●IT2 住変機器障害対応 END
//		// ▲▲▲ 2012-03-31 DEL ▲▲▲
//
//		/** EKK0341C320_機器提供サービス契約サービス契約回線内訳変更 */
//// ●● IT1-2012-0000397 照査対応 START
////		String rsv_aply_ymd = "";
////		String svc_cd = getMapString( kk0081_a010_map, EKK0081A010CBSMsg1List.SVC_CD );
////		if( JKKAdchgConstCC.CD00130_INET_SVC.equals( svc_cd ) ) {
////			rsv_aply_ymd = getMapString( kksv_9800_map, KKSV0098_KKSV0098OP.RSV_APLY_YMD_NT );
////		} else if( JKKAdchgConstCC.CD00130_TEL_SVC.equals( svc_cd ) ) {
////			rsv_aply_ymd = getMapString( kksv_9800_map, KKSV0098_KKSV0098OP.RSV_APLY_YMD_TL );
////		} else if( JKKAdchgConstCC.CD00130_TV_SVC.equals( svc_cd ) ) {
////			rsv_aply_ymd = getMapString( kksv_9800_map, KKSV0098_KKSV0098OP.RSV_APLY_YMD_TV );
////		}
////
////		if("".equals( rsv_aply_ymd ) ) {
////			String taknkiki_sbt_cd = getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.TAKNKIKI_SBT_CD );
////			if("D0".equals(taknkiki_sbt_cd)) {
////				rsv_aply_ymd = getMapString( kksv_9800_map, KKSV0098_KKSV0098OP.RSV_APLY_YMD_NT );
////				if("".equals( rsv_aply_ymd ) ) {
////					rsv_aply_ymd = getMapString( kksv_9800_map, KKSV0098_KKSV0098OP.RSV_APLY_YMD_TL );
////				}
////			} else if("E0".equals(taknkiki_sbt_cd)) {
////				rsv_aply_ymd = getMapString( kksv_9800_map, KKSV0098_KKSV0098OP.RSV_APLY_YMD_TV );
////			}
////		}
//// ●● IT1-2012-0000397 照査対応 END
//		condMap = new HashMap<String, Object>();
//		// 機器提供サービス契約番号
//		condMap.put( "kktk_svc_kei_no", getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.KKTK_SVC_KEI_NO ) );
//		// サービス契約回線内訳番号
//		condMap.put( "svc_kei_kaisen_ucwk_no", getMapString( paramMap, JKKAdchgConstCC.PARAM_KEY_KEI_KAIS_UCWK_LIST, 0, JKKAdchgConstCC.PARAM_KEY_NEW_KEI_KAIS_UCWK_NO ) );
//// ●●IT2 住変機器障害対応 START
//		// 申込明細番号
//		// ▼▼▼ 2012-03-31 CHG ▼▼▼
////		//condMap.put( "mskm_dtl_no", getMapString( kk0081_a010_map, EKK0081A010CBSMsg1List.MSKM_DTL_NO ) );
////		condMap.put( "mskm_dtl_no", getMapString( kk0251_a010_map, EKK0081A010CBSMsg1List.MSKM_DTL_NO ) );
//		// ONU・V-ONU の機器提供サービス契約に対し申込明細番号は不要
//		condMap.put( "mskm_dtl_no", "" );
//		// ▲▲▲ 2012-03-31 CHG ▲▲▲
//// ●●IT2 住変機器障害対応 END
//		// 機器提供サービス契約引継発生年月日
//		condMap.put( "kktk_svc_kei_hkhasymd", "" );
//		// 予約適用年月日
//// ●● IT1-2012-0000397 照査対応 START
////		condMap.put( "rsv_aply_ymd", JCCBPCommon.getOpeDate(null) );
//// 障害対応 IT1-2012-0000636 start ----------
////		condMap.put( "rsv_aply_ymd", rsv_aply_ymd );
//		condMap.put( "rsv_aply_ymd", JKKAdchgConstCC.DEFAULT_RSV_APLY_YMD );
//// 障害対応 IT1-2012-0000636 end ----------
//// ●● IT1-2012-0000397 照査対応 END
//		// 異動区分
//		condMap.put( "ido_div", getMapString( kksv_9800_map, KKSV0098_KKSV0098OP.IDO_DIV ) );
//		// 更新年月日時分秒 (更新前)
//		if ( "D0".equals( getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.TAKNKIKI_SBT_CD ) ) ) {
//			// ONU
//			//kksv_work_map = (HashMap<String, Object>)( param.getData( KKSV0098_KKSV0098OP.KKSV009821CC ) );
//			//if ( kksv_work_map == null ) {
//			//	kksv_work_map = (HashMap<String, Object>)( param.getData( KKSV0098_KKSV0098OP.KKSV009822CC ) );
//			//}
//			condMap.put( "upd_dtm_bf", getMapString(kk0341_a010_map, EKK0341A010CBSMsg1List.LAST_UPD_DTM) );
//		} else if ( "E0".equals( getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.TAKNKIKI_SBT_CD ) ) ) {
//			// V-ONU
//			//kksv_work_map = (HashMap<String, Object>)( param.getData( KKSV0098_KKSV0098OP.KKSV009823CC ) );
//			condMap.put( "upd_dtm_bf", getMapString(kk0341_a010_map, EKK0341A010CBSMsg1List.LAST_UPD_DTM) );
//		} else {
//			// 上記以外の機器
//			kksv_work_map = itenmSvcKei( param, fixedText, kk0341_a010_map );
//			kksv_work_map.put( JKKAdchgConstCC.PARAM_KEY_NEW_SVC_KEI_NO, getMapString( kksv_work_map, EKK0081A010CBSMsg1List.SVC_KEI_NO ) );
//			kksv_work_map.put("svc_div", "");
//			condMap.put( "upd_dtm_bf", getUpdDtm( param, fixedText, kksv_work_map ) );
//		}
//
//		// EKK0341C320_機器提供サービス契約サービス契約回線内訳変更
//		reqMap = mapper.setEKK0341C320( param, fixedText, condMap );
//		resMap = scCall.run( reqMap, keepSesHandle );
//		HashMap<String, Object> kk0341_c320_map = mapper.getEKK0341C320( param, fixedText, resMap );
//		mapper.scResultCheck( param );
//	}
	/**
	 * EKK0341C320_機器提供サービス契約サービス契約回線内訳変更.
	 * <br>
	 * @param  param            モデルグループ、コントロールマップを含むリクエストパラメータ
	 * @param  fixedText        ユーザ任意文字列
	 * @param  kk0341_a010_map  機器提供サービス契約一意照会マップ
	 * @throws 例外が発生した場合
	 */
	private void chgItens_EKK0341C320( IRequestParameterReadWrite param, String fixedText, HashMap<String, Object> kk0341_a010_map, HashMap<String, Object> kk0081_a010_map ) throws Exception {

		/** 前準備 **/
		HashMap<String, Object> condMap;
		HashMap<String, Object> paramMap = (HashMap<String, Object>)( param.getData(fixedText) );
		HashMap<String, Object> reqMap;
		Map<?, ?> resMap;

		// 住所変更登録コモンコンポーネントマッピングクラスインスタンス
		JKKAdchgMapperCC mapper = JKKAdchgMapperCC.getInstance();
		// SCリクエストInvoker
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();

		HashMap<String, Object> kksv_work_map = null;
		HashMap<String, Object> kksv_9800_map = (HashMap<String, Object>)( param.getData( KKSV0098_KKSV0098OP.KKSV009800CC ) );

		/** EKK0341C320_機器提供サービス契約サービス契約回線内訳変更 */
		condMap = new HashMap<String, Object>();
		// 機器提供サービス契約番号
		condMap.put(EKK0341C320CBSMsg.KKTK_SVC_KEI_NO, getMapString(kk0341_a010_map, EKK0341A010CBSMsg1List.KKTK_SVC_KEI_NO));
		// サービス契約回線内訳番号
		condMap.put(EKK0341C320CBSMsg.SVC_KEI_KAISEN_UCWK_NO, getMapString( paramMap, JKKAdchgConstCC.PARAM_KEY_KEI_KAIS_UCWK_LIST, 0, JKKAdchgConstCC.PARAM_KEY_NEW_KEI_KAIS_UCWK_NO ) );
		// 申込明細番号
		condMap.put(EKK0341C320CBSMsg.MSKM_DTL_NO, getMapString( kk0081_a010_map, EKK0081A010CBSMsg1List.MSKM_DTL_NO ) );
		// 機器提供サービス契約引継発生年月日
		condMap.put(EKK0341C320CBSMsg.KKTK_SVC_KEI_HKHASYMD, "" );
		// 予約適用年月日
		condMap.put(EKK0341C320CBSMsg.RSV_APLY_YMD, JKKAdchgConstCC.DEFAULT_RSV_APLY_YMD );
		// 異動区分
		condMap.put(EKK0341C320CBSMsg.IDO_DIV, getMapString( kksv_9800_map, KKSV0098_KKSV0098OP.IDO_DIV ) );
		// 更新年月日時分秒 (更新前)
// IT2-2012-0001225　2012/07/08 T.SAKAMOTO　MOD　START
//		if (JKKAdchgConstCC.TAKNKIKI_SBT.CODE_D0.equals( getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.TAKNKIKI_SBT_CD ) ) ) {
//			// ONU
//			condMap.put(EKK0341C320CBSMsg.UPD_DTM_BF, getMapString(kk0341_a010_map, EKK0341A010CBSMsg1List.LAST_UPD_DTM) );
//		} else if (JKKAdchgConstCC.TAKNKIKI_SBT.CODE_E0.equals( getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.TAKNKIKI_SBT_CD ) ) ) {
//			// V-ONU
//			condMap.put(EKK0341C320CBSMsg.UPD_DTM_BF, getMapString(kk0341_a010_map, EKK0341A010CBSMsg1List.LAST_UPD_DTM) );
//		} else {
		//  親契約識別コードが「サービス契約回線内訳」の場合
		if (JKKAdchgConstCC.OYA_KEI_SKBT_CD.SVC_KEI_KAISEN_UCWK.equals(kk0341_a010_map.get(EKK0341A010CBSMsg1List.OYA_KEI_SKBT_CD))) {
			// 機器提供サービス契約一意照会結果．更新年月日時分秒を設定
			condMap.put(EKK0341C320CBSMsg.UPD_DTM_BF, getMapString(kk0341_a010_map, EKK0341A010CBSMsg1List.LAST_UPD_DTM) );
		} else {
			// 上記以外の親契約識別コードの場合
			kksv_work_map = itenmSvcKei( param, fixedText, kk0341_a010_map );
			kksv_work_map.put("svc_div", "");
			kksv_work_map.put( JKKAdchgConstCC.PARAM_KEY_NEW_SVC_KEI_NO, getMapString( kksv_work_map, EKK0081A010CBSMsg1List.SVC_KEI_NO ) );
			// サービス契約一意照会結果．更新年月日時分秒を設定
			condMap.put(EKK0341C320CBSMsg.UPD_DTM_BF, getUpdDtm( param, fixedText, kksv_work_map ) );
		}
// IT2-2012-0001225　2012/07/08 T.SAKAMOTO　MOD　END
//		}

		// EKK0341C320_機器提供サービス契約サービス契約回線内訳変更
		reqMap = mapper.setEKK0341C320( param, fixedText, condMap );
		resMap = scCall.run( reqMap, keepSesHandle );
		mapper.getEKK0341C320( param, fixedText, resMap );
		mapper.scResultCheck( param );
	}
// UI/SS突合せ差異修正 M.OIJI MOD END ----------------------------

	/**
	 * EKK0341C340_機器提供サービス契約解約 (転居元)(STB/B-CAS/C-CAS)
	 * <br>
	 * @param  param            モデルグループ、コントロールマップを含むリクエストパラメータ
	 * @param  fixedText        ユーザ任意文字列
	 * @param  kk0341_a010_map  機器提供サービス契約一意照会マップ
	 * @throws 例外が発生した場合
	 */
// ●● UI残 仕様整理対応 START
//	private void dslItnm_EKK0341C340( IRequestParameterReadWrite param, String fixedText, HashMap<String, Object> kk0341_a010_map ) throws Exception {
	public void dslItnm_EKK0341C340( IRequestParameterReadWrite param, String fixedText, HashMap<String, Object> kk0341_a010_map ) throws Exception {
// ●● UI残 仕様整理対応 END

		/** 前準備 **/
		HashMap<String, Object> condMap;
		HashMap<String, Object> paramMap = (HashMap<String, Object>)( param.getData(fixedText) );
		HashMap<String, Object> reqMap;
		Map<?, ?> resMap;

		// 住所変更登録コモンコンポーネントマッピングクラスインスタンス
		JKKAdchgMapperCC mapper = JKKAdchgMapperCC.getInstance();
		// SCリクエストInvoker
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();

		HashMap<String, Object> kksv_work_map = null;
		HashMap<String, Object> kksv_9800_map = (HashMap<String, Object>)( param.getData( KKSV0098_KKSV0098OP.KKSV009800CC ) );

		/** EKK0341C340_機器提供サービス契約解約 */
		condMap = new HashMap<String, Object>();
		// 機器提供サービス契約番号
		condMap.put( "kktk_svc_kei_no", getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.KKTK_SVC_KEI_NO ) );
// 障害対応 IT1-2012-0000636 start ---------- 
		// 申込明細番号
//		condMap.put( "mskm_dtl_no", getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.MSKM_DTL_NO ) );
		condMap.put( "mskm_dtl_no", paramMap.get( JKKAdchgConstCC.PARAM_KEY_MSKM_DTL_NO ));
// 障害対応 IT1-2012-0000636 end ---------- 

		// 予約適用開始希望年月日
		condMap.put( "rsv_tsta_kibo_ymd", getMapString( kksv_9800_map, JKKAdchgConstCC.PARAM_KEY_CHG_RSV_YMD ) );

// ●●IT2 2012-03-14 住変機器障害対応 START
		// 移転元＿マンション物件コード
		String kj_dsl_ymd = "";
		String itenmMansionBukkenCd = getMapString( kksv_9800_map, KKSV0098_KKSV0098OP.ITENM_MANSION_BUKKEN_CD );
		// 移転元のマンション物件コードがマンションの場合
		if(KKSV0098_KKSV0098OP.MANSION_BUKKEN_CD_MANSION.equals(itenmMansionBukkenCd)) {
			// 解約希望年月日
			kj_dsl_ymd = getMapString( kksv_9800_map, KKSV0098_KKSV0098OP.KJ_DSL_YMD );
		} else {
			// 工事希望年月日
			kj_dsl_ymd = getMapString( kksv_9800_map, KKSV0098_KKSV0098OP.KJ_KIBO_YMD );
		}
		// サービス終了年月日
		//condMap.put( "svc_endymd", getMapString( kksv_9800_map, JKKAdchgConstCC.PARAM_KEY_KJ_DSL_YMD ) );
		// サービス終了年月日
		condMap.put( "svc_endymd", kj_dsl_ymd );
// ●●IT2 2012-03-14 住変機器障害対応 END

		// サービス課金終了年月日
		condMap.put( "svc_chrg_endymd", "" );
		// サービス解約理由コード
		condMap.put( "svc_dlre_cd", "" );
		// サービス解約理由メモ
		condMap.put( "svc_dlre_memo", "" );
		// "0"(無) ⇒ 残置フラグ
		condMap.put( "zanchi_flg", JKKAdchgConstCC.CD00002_NASHI );
		// 違約金発生コード
		condMap.put( "pnlty_hassei_cd", "" );
		// 異動区分
		condMap.put( "ido_div", getMapString( kksv_9800_map, KKSV0098_KKSV0098OP.IDO_DIV ) );
// DB結果検証障害対応 No.121 OIJI MOD START -------------------------------
//		// "03"(STB一部撤去) ⇒ 宅内機器異動コード
//		condMap.put( "taknkiki_ido_cd", "03" );
		condMap.put("taknkiki_ido_cd", getMapString(kk0341_a010_map, EKK0341A010CBSMsg1List.TAKNKIKI_IDO_CD));
// DB結果検証障害対応 No.121 OIJI MOD END ---------------------------------
		// 更新年月日時分秒 (更新前)
		if ( "D0".equals( getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.TAKNKIKI_SBT_CD ) ) ) {
			// ONU
			kksv_work_map = (HashMap<String, Object>)( param.getData( KKSV0098_KKSV0098OP.KKSV009821CC ) );
			if ( kksv_work_map == null ) {
				kksv_work_map = (HashMap<String, Object>)( param.getData( KKSV0098_KKSV0098OP.KKSV009822CC ) );
			}
			kksv_work_map.put("svc_div", "1");
		} else if ( "E0".equals( getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.TAKNKIKI_SBT_CD ) ) ) {
			// V-ONU
			kksv_work_map = (HashMap<String, Object>)( param.getData( KKSV0098_KKSV0098OP.KKSV009823CC ) );
			kksv_work_map.put("svc_div", "1");
		} else {
			// 上記以外の機器
			kksv_work_map = itenmSvcKei( param, fixedText, kk0341_a010_map );
			kksv_work_map.put( JKKAdchgConstCC.PARAM_KEY_NEW_SVC_KEI_NO, getMapString( kksv_work_map, EKK0081A010CBSMsg1List.SVC_KEI_NO ) );
			kksv_work_map.put("svc_div", "");
		}
// ●● IT1-2012-0000397 照査対応 START
//		condMap.put( "upd_dt_kktk_svc_kei_upd_dtm_bef", getUpdDtm( param, fixedText, kksv_work_map ) );
		condMap.put( "upd_dt_kktk_svc_kei_upd_dtm_bef", getUpdDtmBf( param, fixedText, kksv_work_map ) );
// ●● IT1-2012-0000397 照査対応 END

		// EKK0341C340_機器提供サービス契約解約
		reqMap = mapper.setEKK0341C340( param, fixedText, condMap );
		resMap = scCall.run( reqMap, keepSesHandle );
		HashMap<String, Object> kk0341_c340_map = mapper.getEKK0341C340( param, fixedText, resMap );
		mapper.scResultCheck( param );

		/** EKK0341C350_機器提供サービス契約解約確定 */
		condMap = new HashMap<String, Object>();
		// 機器提供サービス契約番号
		condMap.put( "kktk_svc_kei_no", getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.KKTK_SVC_KEI_NO ) );

// ●●IT2 2012-03-14 住変機器障害対応 START
		// サービス終了年月日
		//condMap.put( "svc_endymd", getMapString( kksv_9800_map, JKKAdchgConstCC.PARAM_KEY_KJ_DSL_YMD ) );
		// サービス課金終了年月日
		//condMap.put( "svc_chrg_endykmd", getMapString( kksv_9800_map, JKKAdchgConstCC.PARAM_KEY_KJ_DSL_YMD ) );
		// サービス終了年月日
		condMap.put( "svc_endymd", kj_dsl_ymd );
		// サービス課金終了年月日
		condMap.put( "svc_chrg_endymd", kj_dsl_ymd );
// ●●IT2 2012-03-14 住変機器障害対応 END

		// 更新年月日時分秒 (更新前)
		condMap.put( "upd_dt_kktk_svc_kei_upd_dtm_bef", kk0341_c340_map.get(EKK0341C340CBSMsg.UPD_DTM) );
		reqMap = mapper.setEKK0341C350( param, fixedText, condMap );
		resMap = scCall.run( reqMap, keepSesHandle );
		HashMap<String, Object> kk0341_c350_map = mapper.getEKK0341C350( param, fixedText, resMap );
		mapper.scResultCheck( param );
	}

// UI/SS突合せ差異修正 M.OIJI MOD START ----------------------------
	/**
	 * EKK0341C340_機器提供サービス契約解約 (転居元)
	 * <br>
	 * @param  param            モデルグループ、コントロールマップを含むリクエストパラメータ
	 * @param  fixedText        ユーザ任意文字列
	 * @param  kk0081_a010_map  サービス契約一意照会マップ
	 * @param  kk0341_a010_map  機器提供サービス契約一意照会マップ
	 * @throws 例外が発生した場合
	 */
	public void dslItnm_EKK0341C340( IRequestParameterReadWrite param, String fixedText, HashMap<String, Object> kk0081_a010_map, HashMap<String, Object> kk0341_a010_map ) throws Exception {

		/** 前準備 **/
		HashMap<String, Object> condMap;
		HashMap<String, Object> reqMap;
		Map<?, ?> resMap;

		// 住所変更登録コモンコンポーネントマッピングクラスインスタンス
		JKKAdchgMapperCC mapper = JKKAdchgMapperCC.getInstance();
		// SCリクエストInvoker
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();

		HashMap<String, Object> kksv_work_map = null;
		HashMap<String, Object> kksv_9800_map = (HashMap<String, Object>) param.getData(KKSV0098_KKSV0098OP.KKSV009800CC);

		/** EKK0341C340_機器提供サービス契約解約 */
		condMap = new HashMap<String, Object>();
		// 機器提供サービス契約番号
		condMap.put(EKK0341C340CBSMsg.KKTK_SVC_KEI_NO, getMapString(kk0341_a010_map, EKK0341A010CBSMsg1List.KKTK_SVC_KEI_NO));
		condMap.put(EKK0341C340CBSMsg.MSKM_DTL_NO, kk0081_a010_map.get(EKK0081A010CBSMsg1List.MSKM_DTL_NO));
		// 予約適用開始希望年月日
		condMap.put(EKK0341C340CBSMsg.RSV_TSTA_KIBO_YMD, getMapString(kksv_9800_map, JKKAdchgConstCC.PARAM_KEY_CHG_RSV_YMD));

		// 移転元＿マンション物件コード
		String kj_dsl_ymd = "";
		String itenmMansionBukkenCd = getMapString( kksv_9800_map, KKSV0098_KKSV0098OP.ITENM_MANSION_BUKKEN_CD );
		// 移転元のマンション物件コードがマンションの場合
		if(KKSV0098_KKSV0098OP.MANSION_BUKKEN_CD_MANSION.equals(itenmMansionBukkenCd)) {
			// 解約希望年月日
			kj_dsl_ymd = getMapString(kksv_9800_map, KKSV0098_KKSV0098OP.KJ_DSL_YMD);
		} else {
			// 工事希望年月日
			kj_dsl_ymd = getMapString(kksv_9800_map, KKSV0098_KKSV0098OP.KJ_KIBO_YMD);
		}
		// サービス終了年月日
		condMap.put(EKK0341C340CBSMsg.SVC_ENDYMD, kj_dsl_ymd);

		// サービス課金終了年月日
		condMap.put(EKK0341C340CBSMsg.SVC_CHRG_ENDYMD, JKKAdchgConstCC.CHARACTER.BLANK);
		// サービス解約理由コード
		condMap.put(EKK0341C340CBSMsg.SVC_DLRE_CD, JKKAdchgConstCC.CHARACTER.BLANK);
		// サービス解約理由メモ
		condMap.put(EKK0341C340CBSMsg.SVC_DLRE_MEMO, JKKAdchgConstCC.CHARACTER.BLANK);
		// "0"(無) ⇒ 残置フラグ
		condMap.put(EKK0341C340CBSMsg.ZANCHI_FLG, JKKAdchgConstCC.CD00002_NASHI);
		// 違約金発生コード
		condMap.put(EKK0341C340CBSMsg.PNLTY_HASSEI_CD, JKKAdchgConstCC.CHARACTER.BLANK);
		// 異動区分
		condMap.put(EKK0341C340CBSMsg.IDO_DIV, getMapString(kksv_9800_map, KKSV0098_KKSV0098OP.IDO_DIV));
		// "03"(STB一部撤去) ⇒ 宅内機器異動コード
		condMap.put(EKK0341C340CBSMsg.TAKNKIKI_IDO_CD, JKKAdchgConstCC.TAKNKIKI_IDO.REMOVE);
		// 更新年月日時分秒 (更新前)
		if (JKKAdchgConstCC.TAKNKIKI_SBT.CODE_D0.equals(getMapString(kk0341_a010_map, EKK0341A010CBSMsg1List.TAKNKIKI_SBT_CD))) {
			// ONU
			kksv_work_map = (HashMap<String, Object>) param.getData( KKSV0098_KKSV0098OP.KKSV009821CC);
			if ( kksv_work_map == null ) {
				kksv_work_map = (HashMap<String, Object>) param.getData( KKSV0098_KKSV0098OP.KKSV009822CC);
			}
			kksv_work_map.put("svc_div", "1");
		} else if (JKKAdchgConstCC.TAKNKIKI_SBT.CODE_E0.equals(getMapString(kk0341_a010_map, EKK0341A010CBSMsg1List.TAKNKIKI_SBT_CD))) {
			// V-ONU
			kksv_work_map = (HashMap<String, Object>)( param.getData( KKSV0098_KKSV0098OP.KKSV009823CC ) );
			kksv_work_map.put("svc_div", "1");
		} else {
			// 上記以外の機器
			kksv_work_map = itenmSvcKei(param, fixedText, kk0341_a010_map);
			kksv_work_map.put( JKKAdchgConstCC.PARAM_KEY_NEW_SVC_KEI_NO, getMapString(kksv_work_map, EKK0081A010CBSMsg1List.SVC_KEI_NO));
			kksv_work_map.put("svc_div", "");
		}
		condMap.put(JKKAdchgMapperCC.UPD_DT_KKTK_SVC_KEI_UPD_DTM_BEF, getUpdDtmBf(param, fixedText, kksv_work_map));

		// EKK0341C340_機器提供サービス契約解約
		reqMap = mapper.setEKK0341C340(param, fixedText, condMap);
		resMap = scCall.run(reqMap, keepSesHandle);
		HashMap<String, Object> kk0341_c340_map = mapper.getEKK0341C340(param, fixedText, resMap);
		mapper.scResultCheck( param );

		/** EKK0341C350_機器提供サービス契約解約確定 */
		condMap = new HashMap<String, Object>();
		// 機器提供サービス契約番号
		condMap.put(EKK0341C350CBSMsg.KKTK_SVC_KEI_NO, getMapString(kk0341_a010_map, EKK0341A010CBSMsg1List.KKTK_SVC_KEI_NO));
		// サービス終了年月日
		condMap.put(EKK0341C350CBSMsg.SVC_ENDYMD, kj_dsl_ymd);
		// サービス課金終了年月日
		condMap.put(EKK0341C350CBSMsg.SVC_CHRG_ENDYMD, kj_dsl_ymd);

		// 更新年月日時分秒 (更新前)
		condMap.put(JKKAdchgMapperCC.UPD_DT_KKTK_SVC_KEI_UPD_DTM_BEF, kk0341_c340_map.get(EKK0341C340CBSMsg.UPD_DTM));
		
		// EKK0341C350_機器提供サービス契約解約確定
		reqMap = mapper.setEKK0341C350( param, fixedText, condMap);
		resMap = scCall.run( reqMap, keepSesHandle );
		mapper.getEKK0341C350(param, fixedText, resMap);
		mapper.scResultCheck( param );
	}
// UI/SS突合せ差異修正 M.OIJI MOD END ----------------------------

	/**
	 * 親契約識別コードより転居元のサービス契約を取得する.
	 * <br>
	 * @param  param            モデルグループ、コントロールマップを含むリクエストパラメータ
	 * @param  fixedText        ユーザ任意文字列
	 * @param  kk0341_a010_map  機器提供サービス契約一意照会マップ
	 * @return 転居元のサービス契約情報
	 * @throws 例外が発生した場合
	 */
	private HashMap<String, Object> itenmSvcKei( IRequestParameterReadWrite param, String fixedText, HashMap<String, Object> kk0341_a010_map ) throws Exception {

		/** 前準備 **/
		HashMap<String, String> condMap;
		HashMap<String, Object> paramMap = (HashMap<String, Object>)( param.getData(fixedText) );
		HashMap<String, Object> reqMap;
		Map<?, ?> resMap;

		// 住所変更登録コモンコンポーネントマッピングクラスインスタンス
		JKKAdchgMapperCC mapper = JKKAdchgMapperCC.getInstance();
		// SCリクエストInvoker
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();

		String svc_kei_no = "";

		// 親契約識別コード
		String oya_kei_skbt_cd = getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.OYA_KEI_SKBT_CD );
		if ( "01".equals( oya_kei_skbt_cd ) ) {
			// サービス契約番号
			svc_kei_no = getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.SVC_KEI_NO );

// ●●IT2 住変機器障害対応 START
		} else if ( "02".equals( oya_kei_skbt_cd ) ) {

			// ONU, V-ONUの場合
			// サービス契約内訳番号
			// EKK0251A010_サービス契約回線内訳一意照会
			condMap = new HashMap<String, String>();
			condMap.put( JKKAdchgMapperCC.COND_KEY_SVC_KEI_KAIS_UCWK_NO, getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.SVC_KEI_KAISEN_UCWK_NO ) );
			condMap.put( JKKAdchgMapperCC.COND_KEY_OPEDATE, paramMap.get( JKKAdchgConstCC.PARAM_KEY_OPE_DATE ).toString() );
			reqMap = mapper.setEKK0251A010( param, fixedText, condMap );
			resMap = scCall.run( reqMap, keepSesHandle );
			HashMap<String, Object> kk0251_a010_map = mapper.getEKK0251A010( param, fixedText, resMap );
			mapper.scResultCheck( param );

			HashMap<String, Object> kk0081_a010_map = new HashMap<String, Object>();
			kk0081_a010_map.put("svc_div", "1");
			// 場所変更で利用する申込明細番号を設定
			kk0081_a010_map.put(EKK0081A010CBSMsg1List.MSKM_DTL_NO, (String)kk0251_a010_map.get(EKK0251A010CBSMsg1List.MSKM_DTL_NO));
			return kk0081_a010_map;

// ●●IT2 住変機器障害対応 END
	
		} else if ( "03".equals( oya_kei_skbt_cd ) ) {
			// サービス契約内訳番号
			// EKK0161A010_サービス契約内訳一意照会
			condMap = new HashMap<String, String>();
			condMap.put( JKKAdchgMapperCC.COND_KEY_SVC_KEI_UCWK_NO, getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.SVC_KEI_UCWK_NO ) );
			condMap.put( JKKAdchgMapperCC.COND_KEY_OPEDATE, paramMap.get( JKKAdchgConstCC.PARAM_KEY_OPE_DATE ).toString() );
			reqMap = mapper.setEKK0161A010( param, fixedText, condMap );
			resMap = scCall.run( reqMap, keepSesHandle );
			HashMap<String, Object> kk0161_a010_map = mapper.getEKK0161A010( param, fixedText, resMap );
			mapper.scResultCheck( param );

			svc_kei_no = getMapString( kk0161_a010_map, EKK0161A010CBSMsg1List.SVC_KEI_NO );
		} else {
			// 上記以外は対象外とする
			return new HashMap<String, Object>();
		}

// UI/SS突合せ差異修正 M.OIJI MOD START ----------------------------
		// EKK0081A010_サービス契約一意照会
		HashMap<String, Object> kk0081_a010_map = getEKK0081A010(param, mapper, fixedText, scCall, svc_kei_no, getMapString( paramMap, JKKAdchgConstCC.PARAM_KEY_OPE_DATE ));
//		condMap = new HashMap<String, String>();
//		condMap.put( JKKAdchgMapperCC.COND_KEY_SVC_KEI_NO, svc_kei_no );
//		condMap.put( JKKAdchgMapperCC.COND_KEY_OPEDATE, getMapString( paramMap, JKKAdchgConstCC.PARAM_KEY_OPE_DATE ) );
//		reqMap = mapper.setEKK0081A010( param, fixedText, condMap );
//		resMap = scCall.run( reqMap, keepSesHandle );
//		HashMap<String, Object> kk0081_a010_map = mapper.getEKK0081A010( param, fixedText, resMap );
//		mapper.scResultCheck( param );
// UI/SS突合せ差異修正 M.OIJI MOD END ----------------------------

		return kk0081_a010_map;
	}
	// ▲▲▲ 2012-02-28 IT2-2012-0000182 ADD ▲▲▲
// 住所変更専用SIF差替 OIJI ADD START -------------------------------
	/**
	 * 親契約識別コードより転居先のサービス契約を取得する.
	 * <br>
	 * @param  param            モデルグループ、コントロールマップを含むリクエストパラメータ
	 * @param  fixedText        ユーザ任意文字列
	 * @param  kk0341_a010_map  機器提供サービス契約一意照会マップ
	 * @return 転居元のサービス契約情報
	 * @throws 例外が発生した場合
	 */
	private HashMap<String, Object> itensSvcKei( IRequestParameterReadWrite param, String fixedText, HashMap<String, Object> kk0341_a010_map ) throws Exception {

		/** 前準備 **/
		HashMap<String, String> condMap;
		HashMap<String, Object> paramMap = (HashMap<String, Object>)( param.getData(fixedText) );
		HashMap<String, Object> reqMap;
		Map<?, ?> resMap;

		// 住所変更登録コモンコンポーネントマッピングクラスインスタンス
		JKKAdchgMapperCC mapper = JKKAdchgMapperCC.getInstance();
		// SCリクエストInvoker
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();

		String svc_kei_no = "";

		// 親契約識別コード
		String oya_kei_skbt_cd = getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.OYA_KEI_SKBT_CD );
		if ( "01".equals( oya_kei_skbt_cd ) ) {
			// サービス契約番号
			svc_kei_no = getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.SVC_KEI_NO );

		} else if ( "02".equals( oya_kei_skbt_cd ) ) {

			HashMap<String, Object> kksv_98XX_map = null;
			HashMap<String, Object> kk0081_a010_map = new HashMap<String, Object>();
			kk0081_a010_map.put("svc_div", "1");
			// ONUの場合
			if (JKKAdchgConstCC.TAKNKIKI_SBT.CODE_D0.equals((String) kk0341_a010_map.get(EKK0341A010CBSMsg1List.TAKNKIKI_SBT_CD))) {
				kksv_98XX_map = (HashMap<String, Object>) param.getData( KKSV0098_KKSV0098OP.KKSV009821CC);
// DB結果検証障害対応 No.62 OIJI ADD START -------------------------------
//				if ( kksv_98XX_map == null ) {
				if ( kksv_98XX_map == null || StringUtils.isEmpty(getMapString(kksv_98XX_map, JKKAdchgConstCC.PARAM_KEY_MSKM_DTL_NO))) {
// DB結果検証障害対応 No.62 OIJI ADD END ---------------------------------
					kksv_98XX_map = (HashMap<String, Object>) param.getData( KKSV0098_KKSV0098OP.KKSV009822CC);
				}
				kk0081_a010_map.put(EKK0081A010CBSMsg1List.MSKM_DTL_NO, getMapString(kksv_98XX_map, JKKAdchgConstCC.PARAM_KEY_MSKM_DTL_NO));
				
			// V-ONUの場合
			} else if (JKKAdchgConstCC.TAKNKIKI_SBT.CODE_E0.equals((String) kk0341_a010_map.get(EKK0341A010CBSMsg1List.TAKNKIKI_SBT_CD))) {
				kksv_98XX_map = (HashMap<String, Object>) param.getData( KKSV0098_KKSV0098OP.KKSV009823CC);
				kk0081_a010_map.put(EKK0081A010CBSMsg1List.MSKM_DTL_NO, getMapString(kksv_98XX_map, JKKAdchgConstCC.PARAM_KEY_MSKM_DTL_NO));
				
			} else {
				// サービス契約内訳番号
				// EKK0251A010_サービス契約回線内訳一意照会
				condMap = new HashMap<String, String>();
				condMap.put( JKKAdchgMapperCC.COND_KEY_SVC_KEI_KAIS_UCWK_NO, getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.SVC_KEI_KAISEN_UCWK_NO ) );
				condMap.put( JKKAdchgMapperCC.COND_KEY_OPEDATE, JKKAdchgConstCC.DEFAULT_RSV_APLY_YMD);
				reqMap = mapper.setEKK0251A010( param, fixedText, condMap );
				resMap = scCall.run( reqMap, keepSesHandle );
				HashMap<String, Object> kk0251_a010_map = mapper.getEKK0251A010( param, fixedText, resMap );
				mapper.scResultCheck( param );

				// 場所変更で利用する申込明細番号を設定
				kk0081_a010_map.put(EKK0081A010CBSMsg1List.MSKM_DTL_NO, (String)kk0251_a010_map.get(EKK0251A010CBSMsg1List.MSKM_DTL_NO));
			}
			return kk0081_a010_map;

		} else if ( "03".equals( oya_kei_skbt_cd ) ) {
			// サービス契約内訳番号
			// EKK0161A010_サービス契約内訳一意照会
			condMap = new HashMap<String, String>();
			condMap.put( JKKAdchgMapperCC.COND_KEY_SVC_KEI_UCWK_NO, getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.SVC_KEI_UCWK_NO ) );
			condMap.put( JKKAdchgMapperCC.COND_KEY_OPEDATE, JKKAdchgConstCC.DEFAULT_RSV_APLY_YMD );
			reqMap = mapper.setEKK0161A010( param, fixedText, condMap );
			resMap = scCall.run( reqMap, keepSesHandle );
			HashMap<String, Object> kk0161_a010_map = mapper.getEKK0161A010( param, fixedText, resMap );
			mapper.scResultCheck( param );

			svc_kei_no = getMapString( kk0161_a010_map, EKK0161A010CBSMsg1List.SVC_KEI_NO );
		} else {
			// 上記以外は対象外とする
			return new HashMap<String, Object>();
		}
		// EKK0081A010_サービス契約一意照会
		HashMap<String, Object> kk0081_a010_map = getEKK0081A010(param, mapper, fixedText, scCall, svc_kei_no, JKKAdchgConstCC.DEFAULT_RSV_APLY_YMD);
// DB結果検証障害対応 No.177 OIJI ADD START -------------------------------
		String svcCd = (String) kk0081_a010_map.get(EKK0081A010CBSMsg1List.SVC_CD);
		HashMap<String, Object> kksv_98XX_map = null;
		if (JKKAdchgConstCC.CD00130_INET_SVC.equals(svcCd)) {
			kksv_98XX_map = (HashMap<String, Object>) param.getData( KKSV0098_KKSV0098OP.KKSV009821CC);
		} else if (JKKAdchgConstCC.CD00130_TEL_SVC.equals(svcCd)) {
			kksv_98XX_map = (HashMap<String, Object>) param.getData( KKSV0098_KKSV0098OP.KKSV009822CC);
		} else if (JKKAdchgConstCC.CD00130_TV_SVC.equals(svcCd)) {
			kksv_98XX_map = (HashMap<String, Object>) param.getData( KKSV0098_KKSV0098OP.KKSV009823CC);
		}
		if (kksv_98XX_map == null) {
			return kk0081_a010_map;
		}
		// サービス契約番号取得
		String newSvcKeiNo = (String) kksv_98XX_map.get(JKKAdchgConstCC.PARAM_KEY_NEW_SVC_KEI_NO);
		if (!StringUtils.isEmpty(newSvcKeiNo) && !newSvcKeiNo.equals(kk0341_a010_map.get(EKK0341A010CBSMsg1List.SVC_KEI_NO))) {
			// 機器提供サービス契約と新しいサービス契約番号が一致しない場合
			kk0081_a010_map = getEKK0081A010(param, mapper, fixedText, scCall, newSvcKeiNo, JKKAdchgConstCC.DEFAULT_RSV_APLY_YMD);
		}
// DB結果検証障害対応 No.177 OIJI ADD END ---------------------------------

		return kk0081_a010_map;
	}
// 住所変更専用SIF差替 OIJI ADD END ---------------------------------

	// 障害対応 IT1-2012-0000636 start ----------
//	// ●● 品行対応 No119 START
//	/**
//	 * EKK0341C200_機器提供サービス契約場所変更.
//	 * <br>
//	 * @param  param            モデルグループ、コントロールマップを含むリクエストパラメータ
//	 * @param  fixedText        ユーザ任意文字列
//	 * @param  kk0341_a010_map  機器提供サービス契約一意照会マップ
//	 * @throws 例外が発生した場合
//	 */
//	public void chgIdodiv_EKK0341C200( IRequestParameterReadWrite param, String fixedText, 
//			HashMap<String, Object> kk0341_a010_map, HashMap<String, Object> kk0081_a010_map ) throws Exception {
//
//		/** 前準備 **/
//		HashMap<String, Object> condMap;
//		HashMap<String, Object> paramMap = (HashMap<String, Object>)( param.getData(fixedText) );
//		HashMap<String, Object> reqMap;
//		Map<?, ?> resMap;
//
//		// 住所変更登録コモンコンポーネントマッピングクラスインスタンス
//		JKKAdchgMapperCC mapper = JKKAdchgMapperCC.getInstance();
//		// SCリクエストInvoker
//		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
//
//		HashMap<String, Object> kksv_work_map = null;
//		HashMap<String, Object> kksv_9800_map = (HashMap<String, Object>)( param.getData( KKSV0098_KKSV0098OP.KKSV009800CC ) );
//
//// ●● IT1-2012-0000397 照査対応 START
//		String rsv_aply_ymd = "";
//		String svc_cd = getMapString( kk0081_a010_map, EKK0081A010CBSMsg1List.SVC_CD );
//		if( JKKAdchgConstCC.CD00130_INET_SVC.equals( svc_cd ) ) {
//			rsv_aply_ymd = getMapString( kksv_9800_map, KKSV0098_KKSV0098OP.RSV_APLY_YMD_NT );
//		} else if( JKKAdchgConstCC.CD00130_TEL_SVC.equals( svc_cd ) ) {
//			rsv_aply_ymd = getMapString( kksv_9800_map, KKSV0098_KKSV0098OP.RSV_APLY_YMD_TL );
//		} else if( JKKAdchgConstCC.CD00130_TV_SVC.equals( svc_cd ) ) {
//			rsv_aply_ymd = getMapString( kksv_9800_map, KKSV0098_KKSV0098OP.RSV_APLY_YMD_TV );
//		}
//
//		if("".equals( rsv_aply_ymd ) ) {
//			String taknkiki_sbt_cd = getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.TAKNKIKI_SBT_CD );
//			if("D0".equals(taknkiki_sbt_cd)) {
//				rsv_aply_ymd = getMapString( kksv_9800_map, KKSV0098_KKSV0098OP.RSV_APLY_YMD_NT );
//				if("".equals( rsv_aply_ymd ) ) {
//					rsv_aply_ymd = getMapString( kksv_9800_map, KKSV0098_KKSV0098OP.RSV_APLY_YMD_TL );
//				}
//			} else if("E0".equals(taknkiki_sbt_cd)) {
//				rsv_aply_ymd = getMapString( kksv_9800_map, KKSV0098_KKSV0098OP.RSV_APLY_YMD_TV );
//			}
//		}
//		kksv_work_map = itenmSvcKei( param, fixedText, kk0341_a010_map );
//		kksv_work_map.put( JKKAdchgConstCC.PARAM_KEY_NEW_SVC_KEI_NO, getMapString( kksv_work_map, EKK0081A010CBSMsg1List.SVC_KEI_NO ) );
//		kksv_work_map.put( JKKAdchgConstCC.PARAM_KEY_NEW_KEI_KAIS_UCWK_NO, getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.SVC_KEI_KAISEN_UCWK_NO ) );
//// ●● 処理の制御は共通の外で設定するためコメントアウト START
//		//kksv_work_map.put("svc_div", "");
//// ●● 処理の制御は共通の外で設定するためコメントアウト END
//		/** EKK0341C230_機器提供サービス契約情報変更 */
//		// 異動区分
//		kk0341_a010_map.put( EKK0341A010CBSMsg1List.IDO_DIV, getMapString( kksv_9800_map, KKSV0098_KKSV0098OP.IDO_DIV ) );
//		// 機器送付先住所コード
//		kk0341_a010_map.put( EKK0341A010CBSMsg1List.KIKI_SOHUS_AD_CD, getMapString( kksv_9800_map, KKSV0098_KKSV0098OP.ITENS_AD_CD ) );
//		// 機器送付先郵便番号
//		kk0341_a010_map.put( EKK0341A010CBSMsg1List.KIKI_SOHUS_PCD, getMapString( kksv_9800_map, KKSV0098_KKSV0098OP.ITENS_AD_PCD ) );
//		// 機器送付先都道府県名
//		kk0341_a010_map.put( EKK0341A010CBSMsg1List.KIKI_SOHUS_STATE_NM, getMapString( kksv_9800_map, KKSV0098_KKSV0098OP.ITENS_AD_STATE ) );
//		// 機器送付先市区町村名
//		kk0341_a010_map.put( EKK0341A010CBSMsg1List.KIKI_SOHUS_CITY_NM, getMapString( kksv_9800_map, KKSV0098_KKSV0098OP.ITENS_AD_CITY ) );
//		// 機器送付先大字通称名
//		kk0341_a010_map.put( EKK0341A010CBSMsg1List.KIKI_SOHUS_OAZTSU_NM, getMapString( kksv_9800_map, KKSV0098_KKSV0098OP.ITENS_AD_OAZTSU ) );
//		// 機器送付先字丁目名
//		kk0341_a010_map.put( EKK0341A010CBSMsg1List.KIKI_SOHUS_AZCHO_NM, getMapString( kksv_9800_map, KKSV0098_KKSV0098OP.ITENS_AD_AZCHO ) );
//		// 機器送付先番地号
//		kk0341_a010_map.put( EKK0341A010CBSMsg1List.KIKI_SOHUS_BNCHIGO, getMapString( kksv_9800_map, KKSV0098_KKSV0098OP.ITENS_AD_BNCHIGO ) );
//		// 機器送付先住所補記・建物名
//		kk0341_a010_map.put( EKK0341A010CBSMsg1List.KIKI_SOHUS_ADRTTM, getMapString( kksv_9800_map, KKSV0098_KKSV0098OP.ITENS_AD_ADRTTM ) );
//		// 機器送付先住所補記・部屋番号
//		kk0341_a010_map.put( EKK0341A010CBSMsg1List.KIKI_SOHUS_ADRRM, getMapString( kksv_9800_map, KKSV0098_KKSV0098OP.ITENS_AD_ADRRM ) );
//		// 機器送付先電話番号
//		kk0341_a010_map.put( EKK0341A010CBSMsg1List.KIKI_SOHUS_TELNO, getMapString( kksv_9800_map, KKSV0098_KKSV0098OP.ITENS_TLN ) );
//		// 更新年月日時分秒(更新前)
//		kk0341_a010_map.put( JKKAdchgMapperCC.UPD_DT_KKTK_SVC_KEI_UPD_DTM_BEF, getUpdDtm( param, fixedText, kksv_work_map ) );
//		// 対象機器が ONU・V-ONU の場合は機器製造番号と宅内機器型式コードをクリアする
//		String kiki_sbt_cd = getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.TAKNKIKI_SBT_CD );
//		if ( "D0".equals( kiki_sbt_cd ) || "E0".equals( kiki_sbt_cd ) ) {
//			kk0341_a010_map.put( EKK0341A010CBSMsg1List.TAKNKIKI_MODEL_CD, "" );
//			kk0341_a010_map.put( EKK0341A010CBSMsg1List.KIKI_SEIZO_NO, "" );
//		}
//
//		// EKK0341C230 機器提供サービス契約情報変更
//		reqMap = mapper.setEKK0341C230( param, fixedText, kk0341_a010_map );
//		resMap = scCall.run( reqMap, keepSesHandle );
//		HashMap<String, Object> kk0341_c230_map = mapper.getEKK0341C230( param, fixedText, resMap );
//		mapper.scResultCheck( param );
//
//// ●● IT1-2012-0000397 照査対応 END
//		
//		/** EKK0341C200_機器提供サービス契約場所変更 */
//		condMap = new HashMap<String, Object>();
//		// 機器提供サービス契約番号
//		condMap.put( EKK0341A010CBSMsg1List.KKTK_SVC_KEI_NO, getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.KKTK_SVC_KEI_NO ) );
//		// 機器設置先場所番号
//		// ▼▼▼ 2012-03-13 HINKO.KIKI ADD ▼▼▼
////		condMap.put( EKK0341A010CBSMsg1List.KIKI_STC_SAKI_PLACE_NO, paramMap.get( JKKAdchgConstCC.PARAM_KEY_ITENS_PLACE_NO ) );
//		condMap.put( EKK0341A010CBSMsg1List.KIKI_STC_SAKI_PLACE_NO, getMapString( kksv_9800_map, JKKAdchgConstCC.PARAM_KEY_ITENS_PLACE_NO ) );
//		// ▲▲▲ 2012-03-13 HINKO.KIKI CHG ▲▲▲
//		// 申込明細番号
//		condMap.put( EKK0341A010CBSMsg1List.MSKM_DTL_NO, getMapString( kk0081_a010_map, EKK0081A010CBSMsg1List.MSKM_DTL_NO ) );
//		// 予約適用年月日
//// ●● IT1-2012-0000397 照査対応 START
////		condMap.put( EKK0341A010CBSMsg1List.RSV_APLY_YMD, JCCBPCommon.getOpeDate(null) );
//		condMap.put( EKK0341A010CBSMsg1List.RSV_APLY_YMD, rsv_aply_ymd );
//// ●● IT1-2012-0000397 照査対応 START
//		// 異動区分
//		condMap.put( EKK0341A010CBSMsg1List.IDO_DIV, getMapString( kksv_9800_map, KKSV0098_KKSV0098OP.IDO_DIV ) );
//
//		// 上記以外の機器
//		kksv_work_map = itenmSvcKei( param, fixedText, kk0341_a010_map );
//		kksv_work_map.put( JKKAdchgConstCC.PARAM_KEY_NEW_SVC_KEI_NO, getMapString( kksv_work_map, EKK0081A010CBSMsg1List.SVC_KEI_NO ) );
//// ●●IT2 住変機器障害対応 START
//		kksv_work_map.put( JKKAdchgConstCC.PARAM_KEY_NEW_KEI_KAIS_UCWK_NO, getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.SVC_KEI_KAISEN_UCWK_NO ) );
//// ●●IT2 住変機器障害対応 END
//// ●● 処理の制御は共通の外で設定するためコメントアウト START
//		//kksv_work_map.put("svc_div", "");
//// ●● 処理の制御は共通の外で設定するためコメントアウト END
//		condMap.put( JKKAdchgMapperCC.UPD_DT_KKTK_SVC_KEI_UPD_DTM_BEF, getMapString( kk0341_c230_map, EKK0341C230CBSMsg.UPD_DTM ) );
//
//		// EKK0341C200_機器提供サービス契約場所変更
//		reqMap = mapper.setEKK0341C200( param, fixedText, condMap );
//		resMap = scCall.run( reqMap, keepSesHandle );
//		HashMap<String, Object> kk0341_c320_map = mapper.getEKK0341C200( param, fixedText, resMap );
//		mapper.scResultCheck( param );
//
//		// ▼▼▼ 2012-03-27 IT1-2012-0000372 CHG ▼▼▼
////// ●●IT2 住変機器障害対応 START
////		condMap.clear();
////		// 機器提供サービス契約番号
////		condMap.put( EKK0341A010CBSMsg1List.KKTK_SVC_KEI_NO, getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.KKTK_SVC_KEI_NO ) );
////		// 機器設置先場所番号
////		condMap.put( EKK0341A010CBSMsg1List.KIKI_STC_SAKI_PLACE_NO, getMapString( kksv_9800_map, JKKAdchgConstCC.PARAM_KEY_ITENS_PLACE_NO ) );
////		// 更新年月日時分秒 (更新前)
////		condMap.put( JKKAdchgMapperCC.UPD_DT_KKTK_SVC_KEI_UPD_DTM_BEF, getMapString(kk0341_c320_map, EKK0341C200CBSMsg.UPD_DTM ) );
////
////		// EKK0341C450 機器設置先場所反映
////		reqMap = mapper.setEKK0341C450( param, fixedText, condMap );
////		resMap = scCall.run( reqMap, keepSesHandle );
////		HashMap<String, Object> kk0341_c450_map = mapper.getEKK0341C450( param, fixedText, resMap );
////		mapper.scResultCheck( param );
////		
////		// 更新日を保存
////		kk0341_a010_map.put(EKK0341A010CBSMsg1List.LAST_UPD_DTM, getMapString(kk0341_c450_map, EKK0341C450CBSMsg.UPD_DTM));
////
////// ●●IT2 住変機器障害対応 END
//		
//		/** EKK0341C220_機器提供サービス契約場所変更確定 */
//		condMap.clear();
//		// 機器提供サービス契約番号
//		condMap.put( EKK0341C220CBSMsg.KKTK_SVC_KEI_NO, getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.KKTK_SVC_KEI_NO ) );
//		// 世代登録年月日時分秒
//		condMap.put( EKK0341C220CBSMsg.GENE_ADD_DTM, getMapString( kk0341_c320_map, EKK0341C200CBSMsg.GENE_ADD_DTM ) );
//		// 予約適用年月日
//// ●● IT1-2012-0000397 照査対応 START
////		condMap.put( EKK0341C220CBSMsg.RSV_APLY_YMD, JCCBPCommon.getOpeDate(null) );
//		condMap.put( EKK0341C220CBSMsg.RSV_APLY_YMD, rsv_aply_ymd );
//// ●● IT1-2012-0000397 照査対応 END
//		// 異動区分
//		condMap.put( EKK0341C220CBSMsg.IDO_DIV, getMapString( kksv_9800_map, KKSV0098_KKSV0098OP.IDO_DIV ) );
//		// 更新年月日時分秒(更新前)
//		condMap.put( EKK0341C220CBSMsg.UPD_DTM_BF, getMapString( kk0341_c320_map, EKK0341C200CBSMsg.UPD_DTM ) );
//
//		// EKK0341C220 機器提供サービス契約場所変更確定
//		reqMap = mapper.setEKK0341C220( param, fixedText, condMap );
//		resMap = scCall.run( reqMap, keepSesHandle );
//		HashMap<String, Object> kk0341_c220_map = mapper.getEKK0341C220( param, fixedText, resMap );
//		mapper.scResultCheck( param );
//
//		// 排他情報の引継
//		kk0341_a010_map.put( EKK0341A010CBSMsg1List.LAST_UPD_DTM, getMapString( kk0341_c220_map, EKK0341C220CBSMsg.UPD_DTM ) );
//// ●● IT1-2012-0000397 照査対応 START
////		/** EKK0341C230_機器提供サービス契約情報変更 */
////		// 異動区分
////		kk0341_a010_map.put( EKK0341A010CBSMsg1List.IDO_DIV, getMapString( kksv_9800_map, KKSV0098_KKSV0098OP.IDO_DIV ) );
////		// 機器送付先住所コード
////		kk0341_a010_map.put( EKK0341A010CBSMsg1List.KIKI_SOHUS_AD_CD, getMapString( kksv_9800_map, KKSV0098_KKSV0098OP.ITENS_AD_CD ) );
////		// 機器送付先郵便番号
////		kk0341_a010_map.put( EKK0341A010CBSMsg1List.KIKI_SOHUS_PCD, getMapString( kksv_9800_map, KKSV0098_KKSV0098OP.ITENS_AD_PCD ) );
////		// 機器送付先都道府県名
////		kk0341_a010_map.put( EKK0341A010CBSMsg1List.KIKI_SOHUS_STATE_NM, getMapString( kksv_9800_map, KKSV0098_KKSV0098OP.ITENS_AD_STATE ) );
////		// 機器送付先市区町村名
////		kk0341_a010_map.put( EKK0341A010CBSMsg1List.KIKI_SOHUS_CITY_NM, getMapString( kksv_9800_map, KKSV0098_KKSV0098OP.ITENS_AD_CITY ) );
////		// 機器送付先大字通称名
////		kk0341_a010_map.put( EKK0341A010CBSMsg1List.KIKI_SOHUS_OAZTSU_NM, getMapString( kksv_9800_map, KKSV0098_KKSV0098OP.ITENS_AD_OAZTSU ) );
////		// 機器送付先字丁目名
////		kk0341_a010_map.put( EKK0341A010CBSMsg1List.KIKI_SOHUS_AZCHO_NM, getMapString( kksv_9800_map, KKSV0098_KKSV0098OP.ITENS_AD_AZCHO ) );
////		// 機器送付先番地号
////		kk0341_a010_map.put( EKK0341A010CBSMsg1List.KIKI_SOHUS_BNCHIGO, getMapString( kksv_9800_map, KKSV0098_KKSV0098OP.ITENS_AD_BNCHIGO ) );
////		// 機器送付先住所補記・建物名
////		kk0341_a010_map.put( EKK0341A010CBSMsg1List.KIKI_SOHUS_ADRTTM, getMapString( kksv_9800_map, KKSV0098_KKSV0098OP.ITENS_AD_ADRTTM ) );
////		// 機器送付先住所補記・部屋番号
////		kk0341_a010_map.put( EKK0341A010CBSMsg1List.KIKI_SOHUS_ADRRM, getMapString( kksv_9800_map, KKSV0098_KKSV0098OP.ITENS_AD_ADRRM ) );
////		// 機器送付先電話番号
////		kk0341_a010_map.put( EKK0341A010CBSMsg1List.KIKI_SOHUS_TELNO, getMapString( kksv_9800_map, KKSV0098_KKSV0098OP.ITENS_TLN ) );
////		// 更新年月日時分秒(更新前)
////		kk0341_a010_map.put( JKKAdchgMapperCC.UPD_DT_KKTK_SVC_KEI_UPD_DTM_BEF, getMapString( kk0341_c220_map, EKK0341C220CBSMsg.UPD_DTM ) );
////		// 対象機器が ONU・V-ONU の場合は機器製造番号と宅内機器型式コードをクリアする
////		String kiki_sbt_cd = getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.TAKNKIKI_SBT_CD );
////		if ( "D0".equals( kiki_sbt_cd ) || "E0".equals( kiki_sbt_cd ) ) {
////			kk0341_a010_map.put( EKK0341A010CBSMsg1List.TAKNKIKI_MODEL_CD, "" );
////			kk0341_a010_map.put( EKK0341A010CBSMsg1List.KIKI_SEIZO_NO, "" );
////		}
////
////		// EKK0341C230 機器提供サービス契約情報変更
////		reqMap = mapper.setEKK0341C230( param, fixedText, kk0341_a010_map );
////		resMap = scCall.run( reqMap, keepSesHandle );
////		HashMap<String, Object> kk0341_c230_map = mapper.getEKK0341C230( param, fixedText, resMap );
////		mapper.scResultCheck( param );
////
////		// 排他情報の引継
////		kk0341_a010_map.put( EKK0341A010CBSMsg1List.LAST_UPD_DTM, getMapString( kk0341_c230_map, EKK0341C230CBSMsg.UPD_DTM ) );
//		// ▲▲▲ 2012-03-27 IT1-2012-0000372 CHG ▲▲▲
//// ●● IT1-2012-0000397 照査対応 END
//		
//// ●● 巻@-2 対応 START
//// 巻@-2 対象外のため
////		// ■ EKKA0020004 機器場所番号変更（宅内連携）
////		// place_map生成
////		HashMap<String, Object> kka002_0004_map = new HashMap<String, Object>();
////		
////		ArrayList<HashMap<String, Object>> kka002_0004_map_list = new ArrayList<HashMap<String, Object>>();
////		HashMap<String, Object> kka002_0004_meisai_map = new HashMap<String, Object>();
////
////		// ＫＥＹ＿宅内機器型式コード
////		kka002_0004_meisai_map.put( EKKA0020004CBSMsg1List.KEY_TK_MDL_CD, kk0341_a010_map.get( EKK0341A010CBSMsg1List.TAKNKIKI_MODEL_CD ) );
////		// ＫＥＹ＿機器製造番号
////		kka002_0004_meisai_map.put( EKKA0020004CBSMsg1List.KEY_KK_SEIZO_NO, kk0341_a010_map.get( EKK0341A010CBSMsg1List.KIKI_SEIZO_NO ) );
////		// ＫＥＹ＿変更理由コード
////		kka002_0004_meisai_map.put( EKKA0020004CBSMsg1List.KEY_CHG_RSN_CD, "" );
////		// ＫＥＹ＿宅内機器基本Ｔ更新日付
////		kka002_0004_meisai_map.put( EKKA0020004CBSMsg1List.KEY_BTRY_UPD_DTTM, paramMap.get( JKKAdchgConstCC.PARAM_KEY_OPE_DATE ).toString() );
////		// 設置場所番号
////		kka002_0004_meisai_map.put( EKKA0020004CBSMsg1List.SETPLACE_NO, getMapString( kksv_9800_map, JKKAdchgConstCC.PARAM_KEY_ITENS_PLACE_NO ) );
////		// サービス契約番号
////		kka002_0004_meisai_map.put( EKKA0020004CBSMsg1List.SVC_KEI_NO, getMapString( kksv_work_map, EKK0081A010CBSMsg1List.SVC_KEI_NO ) );
////		kka002_0004_map_list.add(kka002_0004_meisai_map);
////		kka002_0004_map.put(EKKA0020004CBSMsg.EKKA0020004CBSMSG1LIST, new ArrayList<HashMap<String, Object>>());
////
////		// 機器場所番号変更(宅内連携）
////		reqMap = mapper.setEKKA0020004( param, fixedText, kka002_0004_map, kka002_0004_map_list );
////		resMap = scCall.run( reqMap, keepSesHandle );
////		ArrayList<HashMap<String, Object>> ekka002_0002_map = mapper.getEKKA0020004( param, fixedText, resMap );
////		mapper.scResultCheck( param );
//// ●● 巻@-2 対応 END
//
//	}
//	// ●● 品行対応 No119 END
	/**
	 * EKK0341C200_機器提供サービス契約場所変更.
	 * <br>
	 * @param  param            モデルグループ、コントロールマップを含むリクエストパラメータ
	 * @param  fixedText        ユーザ任意文字列
	 * @param  kk0341_a010_map  機器提供サービス契約一意照会マップ
	 * @throws 例外が発生した場合
	 */
	public void chgIdodiv_EKK0341C200( IRequestParameterReadWrite param, String fixedText, 
			HashMap<String, Object> kk0341_a010_map, HashMap<String, Object> kk0081_a010_map ) throws Exception {

		/** EKK0341C232_機器提供サービス契約情報変更（予約） */
		executeEKK0341C232(param, fixedText, kk0341_a010_map, kk0081_a010_map);

		/** EKK0341C200_機器提供サービス契約場所変更 */
		HashMap<String, Object> kk0341_c200_map = executeEKK0341C200(param, fixedText, kk0341_a010_map, kk0081_a010_map);

		/** EKK0341C220_機器提供サービス契約場所変更確定 */
		executeEKK0341C220(param, fixedText, kk0341_a010_map, kk0341_c200_map);
		
	}
	/**
	 * EKK0341C200_機器提供サービス契約場所変更.（コース変更あり）
	 * <br>
	 * @param  param            モデルグループ、コントロールマップを含むリクエストパラメータ
	 * @param  fixedText        ユーザ任意文字列
	 * @param  kk0341_a010_map  機器提供サービス契約一意照会マップ
	 * @throws 例外が発生した場合
	 */
	public void chgIdodivChgCourse_EKK0341C200( IRequestParameterReadWrite param, String fixedText, 
			HashMap<String, Object> kk0341_a010_map, HashMap<String, Object> kk0081_a010_map ) throws Exception {

		/** EKK0341C232_機器提供サービス契約情報変更（予約） */
		executeEKK0341C232(param, fixedText, kk0341_a010_map, kk0081_a010_map);

		/** EKK0341C200_機器提供サービス契約場所変更 */
		HashMap<String, Object> kk0341_c200_map = executeEKK0341C200(param, fixedText, kk0341_a010_map, kk0081_a010_map);

		/** EKK0341C220_機器提供サービス契約場所変更確定 */
		executeEKK0341C220(param, fixedText, kk0341_a010_map, kk0341_c200_map);
		
		/** EKK0341C160_機器提供サービス契約コース変更 */
		executeEKK0341C160(param, fixedText, kk0341_a010_map, kk0081_a010_map);
		
	}
	/**
	 * EKK0341C200_機器提供サービス契約場所変更.（プラン変更あり）
	 * <br>
	 * @param  param            モデルグループ、コントロールマップを含むリクエストパラメータ
	 * @param  fixedText        ユーザ任意文字列
	 * @param  kk0341_a010_map  機器提供サービス契約一意照会マップ
	 * @throws 例外が発生した場合
	 */
	private void chgIdodivChgPlan_EKK0341C200( IRequestParameterReadWrite param, String fixedText, 
			HashMap<String, Object> kk0341_a010_map, HashMap<String, Object> kk0081_a010_map ) throws Exception {

		/** EKK0341C232_機器提供サービス契約情報変更（予約） */
		executeEKK0341C232(param, fixedText, kk0341_a010_map, kk0081_a010_map);

		/** EKK0341C200_機器提供サービス契約場所変更 */
		HashMap<String, Object> kk0341_c200_map = executeEKK0341C200(param, fixedText, kk0341_a010_map, kk0081_a010_map);

		/** EKK0341C220_機器提供サービス契約場所変更確定 */
		executeEKK0341C220(param, fixedText, kk0341_a010_map, kk0341_c200_map);
		
		/** EKK0341C250_機器提供サービス契約料金プラン変更 */
		executeEKK0341C250(param, fixedText, kk0341_a010_map, kk0081_a010_map);
		
	}
	/**
	 * EKK0341C200_機器提供サービス契約場所変更.（機器変更あり）
	 * <br>
	 * @param  param            モデルグループ、コントロールマップを含むリクエストパラメータ
	 * @param  fixedText        ユーザ任意文字列
	 * @param  kk0341_a010_map  機器提供サービス契約一意照会マップ
	 * @throws 例外が発生した場合
	 */
	public void chgIdodivChgKiki_EKK0341C200( IRequestParameterReadWrite param, String fixedText, 
			HashMap<String, Object> kk0341_a010_map, HashMap<String, Object> kk0081_a010_map ) throws Exception {
		
		/** EKK0341C232_機器提供サービス契約情報変更（予約） */
		executeEKK0341C232(param, fixedText, kk0341_a010_map, kk0081_a010_map);

		/** EKK0341C200_機器提供サービス契約場所変更 */
		HashMap<String, Object> kk0341_c200_map = executeEKK0341C200(param, fixedText, kk0341_a010_map, kk0081_a010_map);

		/** EKK0341C220_機器提供サービス契約場所変更確定 */
		executeEKK0341C220(param, fixedText, kk0341_a010_map, kk0341_c200_map);

		/** EKK0341C191_機器提供サービス契約機器変更 */
		executeEKK0341C191(param, fixedText, kk0341_a010_map, kk0081_a010_map);
		
	}
	/**
	 * EKK0341C232 機器提供サービス契約情報変更（予約）実行処理
	 * @param  param            モデルグループ、コントロールマップを含むリクエストパラメータ
	 * @param  fixedText        ユーザ任意文字列
	 * @param  kk0341_a010_map  機器提供サービス契約一意照会マップ
	 * @param  kk0081_a010_map  サービス契約一意照会マップ
	 * @return
	 * @throws Exception
	 */
	private HashMap<String, Object> executeEKK0341C232( IRequestParameterReadWrite param, String fixedText, 
			HashMap<String, Object> kk0341_a010_map, HashMap<String, Object> kk0081_a010_map ) throws Exception
	{
		/** 前準備 **/
// ST1-2012-0000760　2012/06/22 T.SAKAMOTO　DEL　START　未使用変数、処理を削除
//		HashMap<String, Object> condMap;
//		HashMap<String, Object> paramMap = (HashMap<String, Object>)( param.getData(fixedText) );
// ST1-2012-0000760　2012/06/22 T.SAKAMOTO　DEL　END　未使用変数、処理を削除
		HashMap<String, Object> reqMap;
		Map<?, ?> resMap;

		// 住所変更登録コモンコンポーネントマッピングクラスインスタンス
		JKKAdchgMapperCC mapper = JKKAdchgMapperCC.getInstance();
		// SCリクエストInvoker
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();

		HashMap<String, Object> kksv_9800_map = (HashMap<String, Object>)( param.getData( KKSV0098_KKSV0098OP.KKSV009800CC ) );

		HashMap<String, Object> kksv_work_map = itenmSvcKei( param, fixedText, kk0341_a010_map );
		kksv_work_map.put( JKKAdchgConstCC.PARAM_KEY_NEW_SVC_KEI_NO, getMapString( kksv_work_map, EKK0081A010CBSMsg1List.SVC_KEI_NO ) );
		kksv_work_map.put( JKKAdchgConstCC.PARAM_KEY_NEW_KEI_KAIS_UCWK_NO, getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.SVC_KEI_KAISEN_UCWK_NO ) );

		
		// 異動区分
		kk0341_a010_map.put( EKK0341A010CBSMsg1List.IDO_DIV, getMapString( kksv_9800_map, KKSV0098_KKSV0098OP.IDO_DIV ) );
		// 申込明細番号
		kk0341_a010_map.put( EKK0341A010CBSMsg1List.MSKM_DTL_NO, (String)kk0081_a010_map.get( EKK0081A010CBSMsg1List.MSKM_DTL_NO ) );
		// 機器送付先住所コード
		kk0341_a010_map.put( EKK0341A010CBSMsg1List.KIKI_SOHUS_AD_CD, getMapString( kksv_9800_map, KKSV0098_KKSV0098OP.ITENS_AD_CD ) );
		// 機器送付先郵便番号
		kk0341_a010_map.put( EKK0341A010CBSMsg1List.KIKI_SOHUS_PCD, getMapString( kksv_9800_map, KKSV0098_KKSV0098OP.ITENS_AD_PCD ) );
		// 機器送付先都道府県名
		kk0341_a010_map.put( EKK0341A010CBSMsg1List.KIKI_SOHUS_STATE_NM, getMapString( kksv_9800_map, KKSV0098_KKSV0098OP.ITENS_AD_STATE ) );
		// 機器送付先市区町村名
		kk0341_a010_map.put( EKK0341A010CBSMsg1List.KIKI_SOHUS_CITY_NM, getMapString( kksv_9800_map, KKSV0098_KKSV0098OP.ITENS_AD_CITY ) );
		// 機器送付先大字通称名
		kk0341_a010_map.put( EKK0341A010CBSMsg1List.KIKI_SOHUS_OAZTSU_NM, getMapString( kksv_9800_map, KKSV0098_KKSV0098OP.ITENS_AD_OAZTSU ) );
		// 機器送付先字丁目名
		kk0341_a010_map.put( EKK0341A010CBSMsg1List.KIKI_SOHUS_AZCHO_NM, getMapString( kksv_9800_map, KKSV0098_KKSV0098OP.ITENS_AD_AZCHO ) );
		// 機器送付先番地号
		kk0341_a010_map.put( EKK0341A010CBSMsg1List.KIKI_SOHUS_BNCHIGO, getMapString( kksv_9800_map, KKSV0098_KKSV0098OP.ITENS_AD_BNCHIGO ) );
		// 機器送付先住所補記・建物名
		kk0341_a010_map.put( EKK0341A010CBSMsg1List.KIKI_SOHUS_ADRTTM, getMapString( kksv_9800_map, KKSV0098_KKSV0098OP.ITENS_AD_ADRTTM ) );
		// 機器送付先住所補記・部屋番号
		kk0341_a010_map.put( EKK0341A010CBSMsg1List.KIKI_SOHUS_ADRRM, getMapString( kksv_9800_map, KKSV0098_KKSV0098OP.ITENS_AD_ADRRM ) );
		// 機器送付先電話番号
		kk0341_a010_map.put( EKK0341A010CBSMsg1List.KIKI_SOHUS_TELNO, getMapString( kksv_9800_map, KKSV0098_KKSV0098OP.ITENS_TLN ) );
// 住所変更専用SIF差替 OIJI ADD START -------------------------------
		// 機器設置先住所コード
		kk0341_a010_map.put( EKK0341A010CBSMsg1List.KIKI_STC_SAKI_AD_CD, getMapString( kksv_9800_map, KKSV0098_KKSV0098OP.ITENS_AD_CD ));
		// 機器設置先郵便番号
		kk0341_a010_map.put( EKK0341A010CBSMsg1List.KIKI_STC_SAKI_PCD, getMapString( kksv_9800_map, KKSV0098_KKSV0098OP.ITENS_AD_PCD ));
		// 機器設置先都道府県名
		kk0341_a010_map.put( EKK0341A010CBSMsg1List.KIKI_STC_SAKI_STATE_NM, getMapString( kksv_9800_map, KKSV0098_KKSV0098OP.ITENS_AD_STATE ));
		// 機器設置先市区町村名
		kk0341_a010_map.put( EKK0341A010CBSMsg1List.KIKI_STC_SAKI_CITY_NM, getMapString( kksv_9800_map, KKSV0098_KKSV0098OP.ITENS_AD_CITY ));
		// 機器設置先大字通称名
		kk0341_a010_map.put( EKK0341A010CBSMsg1List.KIKI_STC_SAKI_OAZTSU_NM, getMapString( kksv_9800_map, KKSV0098_KKSV0098OP.ITENS_AD_OAZTSU ));
		// 機器設置先字丁目名
		kk0341_a010_map.put( EKK0341A010CBSMsg1List.KIKI_STC_SAKI_AZCHO_NM, getMapString( kksv_9800_map, KKSV0098_KKSV0098OP.ITENS_AD_AZCHO ));
		// 機器設置先番地号
		kk0341_a010_map.put( EKK0341A010CBSMsg1List.KIKI_STC_SAKI_BNCHIGO, getMapString( kksv_9800_map, KKSV0098_KKSV0098OP.ITENS_AD_BNCHIGO ));
		// 機器設置先住所補記・建物名
		kk0341_a010_map.put( EKK0341A010CBSMsg1List.KIKI_STC_SAKI_ADRTTM, getMapString( kksv_9800_map, KKSV0098_KKSV0098OP.ITENS_AD_ADRTTM ) );
		// 機器設置先住所補記・部屋番号
		kk0341_a010_map.put( EKK0341A010CBSMsg1List.KIKI_STC_SAKI_ADRRM, getMapString( kksv_9800_map, KKSV0098_KKSV0098OP.ITENS_AD_ADRRM ) );
		// 機器設置先_契約者住所差異フラグ
		kk0341_a010_map.put( EKK0341A010CBSMsg1List.KIKI_STC_SK_KSH_AD_SAI_FLG, (String)kk0341_a010_map.get( EKK0341A010CBSMsg1List.KIKI_STC_SK_KSH_AD_SAI_FLG ) );
		// 機器設置先電話番号
		kk0341_a010_map.put( EKK0341A010CBSMsg1List.KIKI_STC_SK_TELNO, getMapString( kksv_9800_map, KKSV0098_KKSV0098OP.ITENS_TLN ) );
// 住所変更専用SIF差替 OIJI ADD END ---------------------------------
		// 更新年月日時分秒(更新前)
		kk0341_a010_map.put( JKKAdchgMapperCC.UPD_DT_KKTK_SVC_KEI_UPD_DTM_BEF, kk0341_a010_map.get( EKK0341A010CBSMsg1List.LAST_UPD_DTM ) );
		// 対象機器が ONU・V-ONU の場合は機器製造番号と宅内機器型式コードをクリアする
		String kiki_sbt_cd = getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.TAKNKIKI_SBT_CD );
		if ( "D0".equals( kiki_sbt_cd ) || "E0".equals( kiki_sbt_cd ) ) {
			kk0341_a010_map.put( EKK0341A010CBSMsg1List.TAKNKIKI_MODEL_CD, "" );
			kk0341_a010_map.put( EKK0341A010CBSMsg1List.KIKI_SEIZO_NO, "" );
		}
		// 予約適用年月日
		kk0341_a010_map.put( EKK0341A010CBSMsg1List.RSV_APLY_YMD, JKKAdchgConstCC.DEFAULT_RSV_APLY_YMD );

		// EKK0341C232 機器提供サービス契約情報変更（予約）
		reqMap = mapper.setEKK0341C232( param, fixedText, kk0341_a010_map );
		resMap = scCall.run( reqMap, keepSesHandle );
		HashMap<String, Object> kk0341_c230_map = mapper.getEKK0341C232( param, fixedText, resMap );
		mapper.scResultCheck( param );
		
		// 排他情報の引継
		kk0341_a010_map.put( EKK0341A010CBSMsg1List.LAST_UPD_DTM, getMapString( kk0341_c230_map, EKK0341C191CBSMsg.UPD_DTM ) );
		return kk0341_c230_map;
	}
	/**
	 * EKK0341C200_機器提供サービス契約場所変更実行処理
	 * @param  param            モデルグループ、コントロールマップを含むリクエストパラメータ
	 * @param  fixedText        ユーザ任意文字列
	 * @param  kk0341_a010_map  機器提供サービス契約一意照会マップ
	 * @param kk0081_a010_map   サービス契約一意照会マップ
	 * @return
	 */
	private HashMap<String, Object> executeEKK0341C200( IRequestParameterReadWrite param, String fixedText, 
			HashMap<String, Object> kk0341_a010_map, HashMap<String, Object> kk0081_a010_map ) throws Exception
	{
		/** 前準備 **/
		HashMap<String, Object> condMap;
// ST1-2012-0000760　2012/06/22 T.SAKAMOTO　DEL　START　未使用変数、処理を削除
//		HashMap<String, Object> paramMap = (HashMap<String, Object>)( param.getData(fixedText) );
// ST1-2012-0000760　2012/06/22 T.SAKAMOTO　DEL　END　未使用変数、処理を削除
		HashMap<String, Object> reqMap;
		Map<?, ?> resMap;

		// 住所変更登録コモンコンポーネントマッピングクラスインスタンス
		JKKAdchgMapperCC mapper = JKKAdchgMapperCC.getInstance();
		// SCリクエストInvoker
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();

		HashMap<String, Object> kksv_9800_map = (HashMap<String, Object>)( param.getData( KKSV0098_KKSV0098OP.KKSV009800CC ) );

		condMap = new HashMap<String, Object>();
		// 機器提供サービス契約番号
		condMap.put( EKK0341A010CBSMsg1List.KKTK_SVC_KEI_NO, getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.KKTK_SVC_KEI_NO ) );
		// 機器設置先場所番号
		condMap.put( EKK0341A010CBSMsg1List.KIKI_STC_SAKI_PLACE_NO, getMapString( kksv_9800_map, JKKAdchgConstCC.PARAM_KEY_ITENS_PLACE_NO ) );
		// 申込明細番号
		condMap.put( EKK0341A010CBSMsg1List.MSKM_DTL_NO, getMapString( kk0081_a010_map, EKK0081A010CBSMsg1List.MSKM_DTL_NO ) );
		// 予約適用年月日
		condMap.put( EKK0341A010CBSMsg1List.RSV_APLY_YMD, JKKAdchgConstCC.DEFAULT_RSV_APLY_YMD );
		// 異動区分
		condMap.put( EKK0341A010CBSMsg1List.IDO_DIV, getMapString( kksv_9800_map, KKSV0098_KKSV0098OP.IDO_DIV ) );
// DB結果検証障害対応 No.121 OIJI ADD START -------------------------------
		// 宅内機器異動コード
		condMap.put(EKK0341A010CBSMsg1List.TAKNKIKI_IDO_CD, getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.TAKNKIKI_IDO_CD ));
// DB結果検証障害対応 No.121 OIJI ADD END ---------------------------------

		HashMap<String, Object> kksv_work_map = itenmSvcKei( param, fixedText, kk0341_a010_map );
		kksv_work_map.put( JKKAdchgConstCC.PARAM_KEY_NEW_SVC_KEI_NO, getMapString( kksv_work_map, EKK0081A010CBSMsg1List.SVC_KEI_NO ) );
		kksv_work_map.put( JKKAdchgConstCC.PARAM_KEY_NEW_KEI_KAIS_UCWK_NO, getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.SVC_KEI_KAISEN_UCWK_NO ) );
		condMap.put( JKKAdchgMapperCC.UPD_DT_KKTK_SVC_KEI_UPD_DTM_BEF, kk0341_a010_map.get( EKK0341A010CBSMsg1List.LAST_UPD_DTM ) );

		// EKK0341C200_機器提供サービス契約場所変更
		reqMap = mapper.setEKK0341C200( param, fixedText, condMap );
		resMap = scCall.run( reqMap, keepSesHandle );
		HashMap<String, Object> kk0341_c200_map = mapper.getEKK0341C200( param, fixedText, resMap );
		mapper.scResultCheck( param );
		
		// 排他情報の引継
		kk0341_a010_map.put( EKK0341A010CBSMsg1List.LAST_UPD_DTM, getMapString( kk0341_c200_map, EKK0341C191CBSMsg.UPD_DTM ) );
		return kk0341_c200_map;
	}
	/**
	 * EKK0341C220 機器提供サービス契約場所変更確定実行処理
	 * @param  param            モデルグループ、コントロールマップを含むリクエストパラメータ
	 * @param  fixedText        ユーザ任意文字列
	 * @param  kk0341_a010_map  機器提供サービス契約一意照会マップ
	 * @param  kk0341_c200_map
	 * @return
	 */
	private HashMap<String, Object> executeEKK0341C220( IRequestParameterReadWrite param, String fixedText, 
			HashMap<String, Object> kk0341_a010_map, HashMap<String, Object> kk0341_c200_map ) throws Exception
	{
		/** 前準備 **/
		HashMap<String, Object> condMap;
// ST1-2012-0000760　2012/06/22 T.SAKAMOTO　DEL　START　未使用変数、処理を削除
//		HashMap<String, Object> paramMap = (HashMap<String, Object>)( param.getData(fixedText) );
// ST1-2012-0000760　2012/06/22 T.SAKAMOTO　DEL　END　未使用変数、処理を削除
		HashMap<String, Object> reqMap;
		Map<?, ?> resMap;

		// 住所変更登録コモンコンポーネントマッピングクラスインスタンス
		JKKAdchgMapperCC mapper = JKKAdchgMapperCC.getInstance();
		// SCリクエストInvoker
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();

		HashMap<String, Object> kksv_9800_map = (HashMap<String, Object>)( param.getData( KKSV0098_KKSV0098OP.KKSV009800CC ) );

		condMap = new HashMap<String, Object>();
		// 機器提供サービス契約番号
		condMap.put( EKK0341C220CBSMsg.KKTK_SVC_KEI_NO, getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.KKTK_SVC_KEI_NO ) );
		// 世代登録年月日時分秒
		condMap.put( EKK0341C220CBSMsg.GENE_ADD_DTM, getMapString( kk0341_c200_map, EKK0341C200CBSMsg.GENE_ADD_DTM ) );
		// 予約適用年月日
		condMap.put( EKK0341C220CBSMsg.RSV_APLY_YMD, JKKAdchgConstCC.DEFAULT_RSV_APLY_YMD );
		// 異動区分
		condMap.put( EKK0341C220CBSMsg.IDO_DIV, getMapString( kksv_9800_map, KKSV0098_KKSV0098OP.IDO_DIV ) );
		// 更新年月日時分秒(更新前)
		condMap.put( EKK0341C220CBSMsg.UPD_DTM_BF, kk0341_a010_map.get( EKK0341A010CBSMsg1List.LAST_UPD_DTM ) );

		// EKK0341C220 機器提供サービス契約場所変更確定
		reqMap = mapper.setEKK0341C220( param, fixedText, condMap );
		resMap = scCall.run( reqMap, keepSesHandle );
		HashMap<String, Object> kk0341_c220_map = mapper.getEKK0341C220( param, fixedText, resMap );
		mapper.scResultCheck( param );
		
		// 排他情報の引継
		kk0341_a010_map.put( EKK0341A010CBSMsg1List.LAST_UPD_DTM, getMapString( kk0341_c220_map, EKK0341C191CBSMsg.UPD_DTM ) );
		return kk0341_c220_map;
	}
	/**
	 * EKK0341C160_機器提供サービス契約コース変更処理.
	 * @param  param            モデルグループ、コントロールマップを含むリクエストパラメータ
	 * @param  fixedText        ユーザ任意文字列
	 * @param  kk0341_a010_map  機器提供サービス契約一意照会マップ
	 * @param kk0081_a010_map
	 * @return
	 * @throws Exception
	 */
	private HashMap<String, Object> executeEKK0341C160( IRequestParameterReadWrite param, String fixedText, 
			HashMap<String, Object> kk0341_a010_map, HashMap<String, Object> kk0081_a010_map) throws Exception
	{
		/** 前準備 **/
		HashMap<String, Object> condMap;
// ST1-2012-0000760　2012/06/22 T.SAKAMOTO　DEL　START　未使用変数、処理を削除
//		HashMap<String, Object> paramMap = (HashMap<String, Object>)( param.getData(fixedText) );
// ST1-2012-0000760　2012/06/22 T.SAKAMOTO　DEL　START　未使用変数、処理を削除
		HashMap<String, Object> reqMap;
		Map<?, ?> resMap;

		// 住所変更登録コモンコンポーネントマッピングクラスインスタンス
		JKKAdchgMapperCC mapper = JKKAdchgMapperCC.getInstance();
		// SCリクエストInvoker
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();

		HashMap<String, Object> kksv_9800_map = (HashMap<String, Object>)( param.getData( KKSV0098_KKSV0098OP.KKSV009800CC ) );
// ST1-2012-0000760　2012/06/22 T.SAKAMOTO　DEL　START　未使用変数、処理を削除
//		HashMap<String, Object> kksv_9822_map = (HashMap<String, Object>)( param.getData( KKSV0098_KKSV0098OP.KKSV009822CC ) );
// ST1-2012-0000760　2012/06/22 T.SAKAMOTO　DEL　END　未使用変数、処理を削除

		condMap = new HashMap<String, Object>();

		// 機器提供サービス契約番号
		condMap.put( EKK0341A010CBSMsg1List.KKTK_SVC_KEI_NO, kk0341_a010_map.get( EKK0341A010CBSMsg1List.KKTK_SVC_KEI_NO ) );
		// 料金コースコード
		condMap.put( EKK0341A010CBSMsg1List.PCRS_CD,  kk0341_a010_map.get( EKK0341A010CBSMsg1List.PCRS_CD) );
		// 料金プランコード
		condMap.put( EKK0341A010CBSMsg1List.PPLAN_CD, kk0341_a010_map.get( EKK0341A010CBSMsg1List.PPLAN_CD) );
		// 申込明細番号
		condMap.put( EKK0341A010CBSMsg1List.MSKM_DTL_NO, getMapString( kk0081_a010_map, EKK0081A010CBSMsg1List.MSKM_DTL_NO ) );
		// 予約適用年月日
		condMap.put( EKK0341A010CBSMsg1List.RSV_APLY_YMD, JKKAdchgConstCC.DEFAULT_RSV_APLY_YMD );
		// 違約金発生コード
		condMap.put( EKK0341A010CBSMsg1List.PNLTY_HASSEI_CD, "" );
		// 異動区分
		condMap.put( EKK0341A010CBSMsg1List.IDO_DIV, getMapString( kksv_9800_map, KKSV0098_KKSV0098OP.IDO_DIV ) );
		// 宅内機器異動コード
		condMap.put( EKK0341A010CBSMsg1List.TAKNKIKI_IDO_CD, kk0341_a010_map.get(EKK0341A010CBSMsg1List.TAKNKIKI_IDO_CD) );
		// 更新年月日時分秒(更新前)
		condMap.put( JKKAdchgMapperCC.UPD_DT_KKTK_SVC_KEI_UPD_DTM_BEF, kk0341_a010_map.get( EKK0341A010CBSMsg1List.LAST_UPD_DTM ) );
	
		// EKK0341C160 機器提供サービス契約料金コース変更
		reqMap = mapper.setEKK0341C160(param, fixedText, condMap);
		resMap = scCall.run( reqMap, keepSesHandle );
		HashMap<String, Object> kk0341_c160_map = mapper.getEKK0341C160( param, fixedText, resMap );
		mapper.scResultCheck( param );
		
		// 排他情報の引継
		kk0341_a010_map.put( EKK0341A010CBSMsg1List.LAST_UPD_DTM, getMapString( kk0341_c160_map, EKK0341C191CBSMsg.UPD_DTM ) );
		return kk0341_c160_map;
	}
	/**
	 * EKK0341C191_機器提供サービス契約機器変更処理
	 * @param  param            モデルグループ、コントロールマップを含むリクエストパラメータ
	 * @param  fixedText        ユーザ任意文字列
	 * @param  kk0341_a010_map  機器提供サービス契約一意照会マップ
	 * @param kk0081_a010_map
	 * @return
	 * @throws Exception
	 */
	private  HashMap<String, Object> executeEKK0341C191( IRequestParameterReadWrite param, String fixedText, 
			HashMap<String, Object> kk0341_a010_map, HashMap<String, Object> kk0081_a010_map) throws Exception
	{
		/** 前準備 **/
		HashMap<String, Object> condMap;
// ST1-2012-0000760　2012/06/22 T.SAKAMOTO　DEL　START　未使用変数、処理を削除
//		HashMap<String, Object> paramMap = (HashMap<String, Object>)( param.getData(fixedText) );
// ST1-2012-0000760　2012/06/22 T.SAKAMOTO　DEL　START　未使用変数、処理を削除
		HashMap<String, Object> reqMap;
		Map<?, ?> resMap;

		// 住所変更登録コモンコンポーネントマッピングクラスインスタンス
		JKKAdchgMapperCC mapper = JKKAdchgMapperCC.getInstance();
		// SCリクエストInvoker
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();

		HashMap<String, Object> kksv_9800_map = (HashMap<String, Object>)( param.getData( KKSV0098_KKSV0098OP.KKSV009800CC ) );

		condMap = new HashMap<String, Object>();

		// 機器提供サービス契約番号
		condMap.put( EKK0341A010CBSMsg1List.KKTK_SVC_KEI_NO, kk0341_a010_map.get( EKK0341A010CBSMsg1List.KKTK_SVC_KEI_NO ) );
		// 通信機器セットコード
		condMap.put( EKK0341A010CBSMsg1List.TSUSHIN_KIKI_SET_CD, kk0341_a010_map.get( EKK0341A010CBSMsg1List.TSUSHIN_KIKI_SET_CD ) );
		// 機器製造番号
		condMap.put( EKK0341A010CBSMsg1List.KIKI_SEIZO_NO, kk0341_a010_map.get( EKK0341A010CBSMsg1List.KIKI_SEIZO_NO )  );
		// 宅内機器型式コード
		condMap.put( EKK0341A010CBSMsg1List.TAKNKIKI_MODEL_CD, kk0341_a010_map.get( EKK0341A010CBSMsg1List.TAKNKIKI_MODEL_CD )  );
		// 宅内機器セット品型コード
		condMap.put( EKK0341A010CBSMsg1List.TAKNKIKI_SETHIN_MODEL_CD, kk0341_a010_map.get( EKK0341A010CBSMsg1List.TAKNKIKI_SETHIN_MODEL_CD ) );
		// 付属品型式コード
		condMap.put( EKK0341A010CBSMsg1List.HUZOKUHIN_MODEL_CD, kk0341_a010_map.get( EKK0341A010CBSMsg1List.HUZOKUHIN_MODEL_CD ) );
		// 申込明細番号
		condMap.put( EKK0341A010CBSMsg1List.MSKM_DTL_NO, getMapString( kk0081_a010_map, EKK0081A010CBSMsg1List.MSKM_DTL_NO ) );
		// 予約適用年月日
		condMap.put( EKK0341A010CBSMsg1List.RSV_APLY_YMD, JKKAdchgConstCC.DEFAULT_RSV_APLY_YMD );
		// 異動区分
		condMap.put( EKK0341A010CBSMsg1List.IDO_DIV, getMapString( kksv_9800_map, KKSV0098_KKSV0098OP.IDO_DIV ) );
		// eoTV機器設置承認状態コード
		condMap.put( EKK0341A010CBSMsg1List.EO_TV_KKST_SNN_STAT_CD, kk0341_a010_map.get( EKK0341A010CBSMsg1List.EO_TV_KKST_SNN_STAT_CD ) );
		// 機器設置承認年月日
		condMap.put( EKK0341A010CBSMsg1List.KKST_SNN_YMD, kk0341_a010_map.get( EKK0341A010CBSMsg1List.KKST_SNN_YMD ) );
		// 更新年月日時分秒(更新前)
		condMap.put( JKKAdchgMapperCC.UPD_DT_KKTK_SVC_KEI_UPD_DTM_BEF, (String)kk0341_a010_map.get( EKK0341A010CBSMsg1List.LAST_UPD_DTM ) );
	
		// EKK0341C191 機器提供サービス契約機器変更
		reqMap = mapper.setEKK0341C191(param, fixedText, condMap);
		resMap = scCall.run( reqMap, keepSesHandle );
		HashMap<String, Object> kk0341_c191_map = mapper.getEKK0341C191( param, fixedText, resMap );
		mapper.scResultCheck( param );
		
		// 排他情報の引継
		kk0341_a010_map.put( EKK0341A010CBSMsg1List.LAST_UPD_DTM, getMapString( kk0341_c191_map, EKK0341C191CBSMsg.UPD_DTM ) );
		return kk0341_c191_map;
	}
// 障害対応 IT1-2012-0000636 end ----------
// DB結果検証障害対応 No.177 OIJI ADD START -------------------------------
	/**
	 * EKK0341C290_機器提供サービス契約サービス契約変更
	 * @param  param            モデルグループ、コントロールマップを含むリクエストパラメータ
	 * @param  fixedText        ユーザ任意文字列
	 * @param  kk0341_a010_map  機器提供サービス契約一意照会マップ
	 * @param kk0081_a010_map
	 * @return
	 * @throws Exception
	 */
	public HashMap<String, Object> executeEKK0341C290(IRequestParameterReadWrite param, String fixedText, 
			HashMap<String, Object> kk0341_a010_map, HashMap<String, Object> kk0081_a010_map) throws Exception
	{
		/** 前準備 **/
		HashMap<String, Object> condMap;
		HashMap<String, Object> reqMap;
		Map<?, ?> resMap;

		HashMap<String, Object> kksv_9800_map = (HashMap<String, Object>)(param.getData(KKSV0098_KKSV0098OP.KKSV009800CC));

		// 住所変更登録コモンコンポーネントマッピングクラスインスタンス
		JKKAdchgMapperCC mapper = JKKAdchgMapperCC.getInstance();
		// SCリクエストInvoker
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		
		condMap = new HashMap<String, Object>();
		
		// 機器提供サービス契約番号
		condMap.put(EKK0341C290CBSMsg.KKTK_SVC_KEI_NO, kk0341_a010_map.get(EKK0341A010CBSMsg1List.KKTK_SVC_KEI_NO));
		// サービス契約番号
		condMap.put(EKK0341C290CBSMsg.SVC_KEI_NO, kk0081_a010_map.get(EKK0081A010CBSMsg1List.SVC_KEI_NO));
		// 申込明細番号
		condMap.put(EKK0341C290CBSMsg.MSKM_DTL_NO, getMapString(kk0081_a010_map, EKK0081A010CBSMsg1List.MSKM_DTL_NO));
		// 予約適用年月日
		condMap.put(EKK0341C290CBSMsg.RSV_APLY_YMD, JKKAdchgConstCC.DEFAULT_RSV_APLY_YMD);
		// 異動区分
		condMap.put(EKK0341C290CBSMsg.IDO_DIV, getMapString(kksv_9800_map, KKSV0098_KKSV0098OP.IDO_DIV));
		// 更新年月日時分秒(更新前)
		condMap.put(EKK0341C290CBSMsg.UPD_DTM_BF, kk0341_a010_map.get(EKK0341A010CBSMsg1List.LAST_UPD_DTM));
		
		// EKK0341C290_機器提供サービス契約サービス契約変更
		reqMap = mapper.setEKK0341C290(param, fixedText, condMap);
		resMap = scCall.run(reqMap, keepSesHandle);
		HashMap<String, Object> kk0341_c290_map = mapper.getEKK0341C290(param, fixedText, resMap);
		mapper.scResultCheck(param);
		
		// 排他情報の引継
		kk0341_a010_map.put(EKK0341A010CBSMsg1List.LAST_UPD_DTM, getMapString(kk0341_c290_map, EKK0341C191CBSMsg.UPD_DTM));

		return kk0341_c290_map;
	}
// DB結果検証障害対応 No.177 OIJI ADD END ---------------------------------
// 障害対応 IT1-2012-0000774 start ----------
	/**
	 * EKK0341C250_機器提供サービス契約機器変更
	 * @param  param            モデルグループ、コントロールマップを含むリクエストパラメータ
	 * @param  fixedText        ユーザ任意文字列
	 * @param  kk0341_a010_map  機器提供サービス契約一意照会マップ
	 * @param kk0081_a010_map
	 * @return
	 * @throws Exception
	 */
	private  HashMap<String, Object> executeEKK0341C250( IRequestParameterReadWrite param, String fixedText, 
			HashMap<String, Object> kk0341_a010_map, HashMap<String, Object> kk0081_a010_map) throws Exception
	{
		/** 前準備 **/
		HashMap<String, Object> condMap;
// ST1-2012-0000760　2012/06/22 T.SAKAMOTO　DEL　START　未使用変数、処理を削除
//		HashMap<String, Object> paramMap = (HashMap<String, Object>)( param.getData(fixedText) );
// ST1-2012-0000760　2012/06/22 T.SAKAMOTO　DEL　START　未使用変数、処理を削除
		HashMap<String, Object> reqMap;
		Map<?, ?> resMap;

		// 住所変更登録コモンコンポーネントマッピングクラスインスタンス
		JKKAdchgMapperCC mapper = JKKAdchgMapperCC.getInstance();
		// SCリクエストInvoker
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();

		HashMap<String, Object> kksv_9800_map = (HashMap<String, Object>)( param.getData( KKSV0098_KKSV0098OP.KKSV009800CC ) );

		condMap = new HashMap<String, Object>();
		// 機器提供サービス契約番号
		condMap.put( EKK0341A010CBSMsg1List.KKTK_SVC_KEI_NO, kk0341_a010_map.get( EKK0341A010CBSMsg1List.KKTK_SVC_KEI_NO ) );
		// 料金コースコード
		condMap.put( EKK0341A010CBSMsg1List.PCRS_CD, kk0341_a010_map.get( EKK0341A010CBSMsg1List.PCRS_CD) );
		// 料金プランコード
		condMap.put( EKK0341A010CBSMsg1List.PPLAN_CD, kk0341_a010_map.get( EKK0341A010CBSMsg1List.PPLAN_CD) );
		// 申込明細番号
		condMap.put( EKK0341A010CBSMsg1List.MSKM_DTL_NO, getMapString( kk0081_a010_map, EKK0081A010CBSMsg1List.MSKM_DTL_NO ) );
		// 予約適用年月日
		condMap.put( EKK0341A010CBSMsg1List.RSV_APLY_YMD, JKKAdchgConstCC.DEFAULT_RSV_APLY_YMD );
		// 違約金発生コード
		condMap.put( EKK0341A010CBSMsg1List.PNLTY_HASSEI_CD, "" );
		// 異動区分
		condMap.put( EKK0341A010CBSMsg1List.IDO_DIV, getMapString( kksv_9800_map, KKSV0098_KKSV0098OP.IDO_DIV ) );
		// 更新年月日時分秒(更新前)
		condMap.put( JKKAdchgMapperCC.UPD_DT_KKTK_SVC_KEI_UPD_DTM_BEF, kk0341_a010_map.get( EKK0341A010CBSMsg1List.LAST_UPD_DTM ) );

	
		// EKK0341C250 機器提供サービス契約機器変更
		reqMap = mapper.setEKK0341C250(param, fixedText, condMap);
		resMap = scCall.run( reqMap, keepSesHandle );
		HashMap<String, Object> kk0341_c250_map = mapper.getEKK0341C250( param, fixedText, resMap );
		mapper.scResultCheck( param );
		
		// 排他情報の引継
		kk0341_a010_map.put( EKK0341A010CBSMsg1List.LAST_UPD_DTM, getMapString( kk0341_c250_map, EKK0341C191CBSMsg.UPD_DTM ) );
		return kk0341_c250_map;
	}
// 障害対応 IT1-2012-0000774 end ----------
	
	
	// ▼▼▼ 2012-03-05 HINKO.#047 ADD ▼▼▼
	/**
	 * サービス契約内訳 解約新規 (eo光ネット).
	 * <br>
	 * @param  param      モデルグループ、コントロールマップを含むリクエストパラメータ
	 * @param  fixedText  ユーザ任意文字列
	 * @throws Exception  例外が発生した場合
	 */
	public void svcKeiUcwkDslInsNt( IRequestParameterReadWrite param, String fixedText ) throws Exception {

		/** 前準備 **/
		HashMap<String, String> condMap;
		HashMap<String, Object> paramMap = (HashMap<String, Object>)( param.getData(fixedText) );
		HashMap<String, Object> reqMap;
		Map<?, ?> resMap;

		// 住所変更登録コモンコンポーネントマッピングクラスインスタンス
		JKKAdchgMapperCC mapper = JKKAdchgMapperCC.getInstance();
		// SCリクエストInvoker
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();

		// 対象リスト
		ArrayList<HashMap<String, Object>> trgt_list = (ArrayList<HashMap<String, Object>>)paramMap.get( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UCWK_LIST );
		// 対象リスト.イテレータ
		Iterator<HashMap<String, Object>> trgt_iterator = trgt_list.iterator();
		while ( trgt_iterator.hasNext() ) {
			// 対象リスト.次要素
			HashMap<String, Object> trgt_map = trgt_iterator.next();

			// ■ EKK0161A010_サービス契約内訳一意照会
			condMap = new HashMap<String, String>();
			// サービス契約内訳番号
			condMap.put( JKKAdchgMapperCC.COND_KEY_SVC_KEI_UCWK_NO, trgt_map.get( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UCWK_NO ).toString() );
			// 予約適用年月日
			condMap.put( JKKAdchgMapperCC.COND_KEY_OPEDATE, paramMap.get( JKKAdchgConstCC.PARAM_KEY_OPE_DATE ).toString() );
			reqMap = mapper.setEKK0161A010( param, fixedText, condMap );
			resMap = scCall.run( reqMap, keepSesHandle );
			HashMap<String, Object> kk0161_a010_map = mapper.getEKK0161A010( param, fixedText, resMap );
			mapper.scResultCheck( param );

			// ■ EKK0171A010_サービス契約内訳＜eo光ネット＞一意照会
			condMap = new HashMap<String, String>();
			// サービス契約内訳番号
			condMap.put( JKKAdchgMapperCC.COND_KEY_SVC_KEI_UCWK_NO, kk0161_a010_map.get( EKK0161A010CBSMsg1List.SVC_KEI_UCWK_NO ).toString() );
			reqMap = mapper.setEKK0171A010( param, fixedText, condMap );
			resMap = scCall.run( reqMap, keepSesHandle );
			HashMap<String, Object> kk0171_a010_map = mapper.getEKK0171A010( param, fixedText, resMap );
			mapper.scResultCheck( param );

			// ■ EKK0161C180_サービス契約内訳解約
			condMap = new HashMap<String, String>();
			// サービス契約内訳番号
			condMap.put( EKK0161C180CBSMsg.SVC_KEI_UCWK_NO, kk0161_a010_map.get( EKK0161A010CBSMsg1List.SVC_KEI_UCWK_NO ).toString() );
			// 申込明細番号
			condMap.put( EKK0161C180CBSMsg.MSKM_DTL_NO, kk0161_a010_map.get( EKK0161A010CBSMsg1List.MSKM_DTL_NO ).toString() );
			// 予約適用開始希望年月日
			condMap.put( EKK0161C180CBSMsg.RSV_TSTA_KIBO_YMD, paramMap.get( JKKAdchgConstCC.PARAM_KEY_CHG_RSV_YMD ).toString() );
			// サービス終了年月日
			condMap.put( EKK0161C180CBSMsg.SVC_ENDYMD, paramMap.get( JKKAdchgConstCC.PARAM_KEY_KJ_DSL_YMD ).toString() );
			// サービス課金終了年月日
			condMap.put( EKK0161C180CBSMsg.SVC_CHRG_ENDYMD, null );
			// サービス解約理由コード
			condMap.put( EKK0161C180CBSMsg.SVC_DLRE_CD, null );
			// サービス解約理由メモ
			condMap.put( EKK0161C180CBSMsg.SVC_DLRE_MEMO, null );
			// 違約金発生コード
			condMap.put( EKK0161C180CBSMsg.PNLTY_HASSEI_CD, kk0161_a010_map.get( EKK0161A010CBSMsg1List.PNLTY_HASSEI_CD ).toString() );
			// 異動区分
			condMap.put( EKK0161C180CBSMsg.IDO_DIV, paramMap.get( JKKAdchgConstCC.PARAM_KEY_IDO_DIV ).toString() );
			// 更新年月日時分秒(更新前)
			condMap.put( EKK0161C180CBSMsg.UPD_DTM_BF, kk0161_a010_map.get( EKK0161A010CBSMsg1List.LAST_UPD_DTM ).toString() );
// ●● IT1-2012-0000397 照査対応 START
//			reqMap = mapper.setEKK0161C180( param, fixedText, condMap );
//			resMap = scCall.run( reqMap, keepSesHandle );
//			HashMap<String, Object> kk0161_c180_map = mapper.getEKK0161C180( param, fixedText, resMap );
//			mapper.scResultCheck( param );
// ●● IT1-2012-0000397 照査対応 END

			// ■ EKK0171D010_サービス契約内訳＜eo光ネット＞登録
			// サービス契約番号
			kk0161_a010_map.put( EKK0171D010CBSMsg.SVC_KEI_NO, paramMap.get( JKKAdchgConstCC.PARAM_KEY_NEW_SVC_KEI_NO ).toString() );
			// 申込明細番号
			kk0161_a010_map.put( EKK0171D010CBSMsg.MSKM_DTL_NO, paramMap.get( JKKAdchgConstCC.PARAM_KEY_MSKM_DTL_NO ).toString() );
			// 提供方式契約番号
			kk0161_a010_map.put( EKK0171D010CBSMsg.TK_HOSHIKI_KEI_NO, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_TK_HOSHIKI_KEI_NO ) );
			// 異動区分
			kk0161_a010_map.put( EKK0171D010CBSMsg.IDO_DIV, paramMap.get( JKKAdchgConstCC.PARAM_KEY_IDO_DIV ).toString() );
			// 更新年月日時分秒(更新前)
			kk0171_a010_map.put( JKKAdchgMapperCC.UPD_DT_SVC_KEI_UCWK_UPD_DTM_BEF, paramMap.get( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UPD_DTM_AFT ).toString() );
			reqMap = mapper.setEKK0171D010( param, fixedText, kk0161_a010_map, kk0171_a010_map );
			resMap = scCall.run( reqMap, keepSesHandle );
			HashMap<String, Object> kk0171_d010_map = mapper.getEKK0171D010( param, fixedText, resMap );
			mapper.scResultCheck( param );
			
			
// ●● 巻@ 対応 START
			trgt_map.put( JKKAdchgConstCC.PARAM_KEY_NEW_SVC_KEI_UCWK_NO, kk0171_d010_map.get(EKK0171D010CBSMsg.SVC_KEI_UCWK_NO));
// ●● 巻@ 対応 END


// ●● IT1-2012-0000397 照査対応 START
//			// 照査の実施条件に該当しないため、任意的に照査を実施する
//			// ■ EKK0171C010_サービス契約内訳＜eo光ネット＞照査
//			condMap = new HashMap<String, String>();
//			// サービス契約内訳番号
//			condMap.put( EKK0171C010CBSMsg.SVC_KEI_UCWK_NO, kk0171_d010_map.get( EKK0171D010CBSMsg.SVC_KEI_UCWK_NO ).toString() );
//			// 異動区分
//			condMap.put( EKK0171C010CBSMsg.IDO_DIV, paramMap.get( JKKAdchgConstCC.PARAM_KEY_IDO_DIV ).toString() );
//			// 照査解約完了コード
//			condMap.put( EKK0171C010CBSMsg.SHOSA_DSL_FIN_CD, null );
//			// 更新年月日時分秒(更新前)
//			condMap.put( EKK0171C010CBSMsg.UPD_DTM_BF, kk0171_d010_map.get( EKK0171D010CBSMsg.UPD_DTM ).toString() );
//
//			reqMap = mapper.setEKK0171C010( param, fixedText, condMap );
//			resMap = scCall.run( reqMap, keepSesHandle );
//			HashMap<String, Object> kk0171_c010_map = mapper.getEKK0171C010( param, fixedText, resMap );
//			mapper.scResultCheck( param );
//
//			// サービス契約内訳番号の引継
//			trgt_map.put( JKKAdchgConstCC.PARAM_KEY_NEW_SVC_KEI_UCWK_NO, kk0171_d010_map.get( EKK0171D010CBSMsg.SVC_KEI_UCWK_NO ).toString() );
//			// 更新年月日時分秒の引継
//			trgt_map.put( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UCWK_UPD_DTM_AFT, kk0171_c010_map.get( EKK0171C010CBSMsg.UPD_DTM ).toString() );

			/** サービス契約内訳予約適用年月日入力 */
			HashMap<String, Object> kk0161_c030_inmap = new HashMap<String, Object>();
			kk0161_c030_inmap.put(EKK0161A010CBSMsg1List.SVC_KEI_UCWK_NO, (String)kk0171_d010_map.get(EKK0171D010CBSMsg.SVC_KEI_UCWK_NO));
			kk0161_c030_inmap.put(EKK0161A010CBSMsg1List.GENE_ADD_DTM, (String)kk0171_d010_map.get(EKK0171D010CBSMsg.KK0161_GENE_ADD_DTM));
			kk0161_c030_inmap.put(EKK0161A010CBSMsg1List.MSKM_DTL_NO, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_MSKM_DTL_NO ));
// DB結果検証障害対応 No.62 OIJI MOD START -------------------------------
////			kk0161_c030_inmap.put(EKK0161A010CBSMsg1List.RSV_APLY_YMD, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_CHG_RSV_YMD ));
//			kk0161_c030_inmap.put(EKK0161A010CBSMsg1List.RSV_APLY_YMD, JKKAdchgConstCC.DEFAULT_RSV_APLY_YMD);
			kk0161_c030_inmap.put(EKK0161A010CBSMsg1List.RSV_APLY_YMD, paramMap.get(JKKAdchgConstCC.PARAM_KEY_OPE_DATE));
// DB結果検証障害対応 No.62 OIJI MOD END ---------------------------------
			kk0161_c030_inmap.put(EKK0161A010CBSMsg1List.RSV_APLY_CD, "2");
			kk0161_c030_inmap.put(JKKAdchgMapperCC.UPD_DT_SVC_KEI_UPD_DTM_BEF, (String)kk0171_d010_map.get(EKK0171D010CBSMsg.UPD_DTM));
			reqMap = mapper.setEKK0161C030( param, fixedText, kk0161_c030_inmap );
			resMap = scCall.run( reqMap, keepSesHandle );
			HashMap<String, Object> kk0161_c030_map = mapper.getEKK0161C030( param, fixedText, resMap );
			mapper.scResultCheck( param );
// ●● IT1-2012-0000397 照査対応 END

// ●● 2012-06-08 解約／新規時のオプション引継考慮追加 START
			// 住所変更（サービス契約内訳明細）
			HashMap<String, Object> kksv_9800_map = (HashMap<String, Object>)( param.getData( KKSV0098_KKSV0098OP.KKSV009800CC ) );
			ArrayList<HashMap<String, Object>> adchg_dtl_list_svc_kei_ucwk_list = (ArrayList<HashMap<String, Object>>)( kksv_9800_map.get( "adchg_dtl_list_svc_kei_ucwk" ) );

			/** 住所変更明細情報(サービス契約内訳明細)ループ */
			Iterator<HashMap<String, Object>> adchg_dtl_list_svc_kei_ucwk_list_ite = adchg_dtl_list_svc_kei_ucwk_list.iterator();
			while( adchg_dtl_list_svc_kei_ucwk_list_ite.hasNext() ){

				HashMap<String, Object> cur_adchg_dtl_list_svc_kei_ucwk = adchg_dtl_list_svc_kei_ucwk_list_ite.next();
				String adchg_dtl_chbf_skbt_no = (String)cur_adchg_dtl_list_svc_kei_ucwk.get( "adchg_dtl_chbf_skbt_no" );

				if (((String)trgt_map.get( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UCWK_NO ).toString()).equals(adchg_dtl_chbf_skbt_no)) {
					// 新側の回線内訳番号を設定する
					cur_adchg_dtl_list_svc_kei_ucwk.put( "adchg_dtl_chaf_skbt_no", (String)kk0171_d010_map.get(EKK0171D010CBSMsg.SVC_KEI_UCWK_NO) );
					break;
				}
			}
// ●● 2012-06-08 解約／新規時のオプション引継考慮追加 END

		}
	}
	// ▲▲▲ 2012-03-05 HINKO.#047 ADD ▲▲▲
	// ▼▼▼ 2012-03-08 HINKO.#143 ADD ▼▼▼
	/**
	 * EKK0341D010_機器提供サービス契約登録 (STB・B-CAS・C-CASの追加)
	 * <br>
	 * @param  param      モデルグループ、コントロールマップを含むリクエストパラメータ
	 * @param  fixedText  ユーザ任意文字列
	 * @param  kikiMap    追加機器
	 * @param  count      添え字
	 * @throws 例外が発生した場合
	 */
	public HashMap<String, Object> addStbKiki_EKK0341D010( IRequestParameterReadWrite param, String fixedText, HashMap<String, Object> kikiMap, int count ) throws Exception {

		/** 前準備 **/
		HashMap<String, String> condMap;
		HashMap<String, Object> paramMap = (HashMap<String, Object>)( param.getData(fixedText) );
		HashMap<String, Object> reqMap;
		Map<?, ?> resMap;

		// 住所変更登録コモンコンポーネントマッピングクラスインスタンス
		JKKAdchgMapperCC mapper = JKKAdchgMapperCC.getInstance();
		// SCリクエストInvoker
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();

		HashMap<String, Object> kksv_work_map = null;
		HashMap<String, Object> kksv_9800_map = (HashMap<String, Object>)( param.getData( KKSV0098_KKSV0098OP.KKSV009800CC ) );
		HashMap<String, Object> kksv_9823_map = (HashMap<String, Object>)( param.getData( KKSV0098_KKSV0098OP.KKSV009823CC ) );

		/** EKK0341D010_機器提供サービス契約登録 */
		condMap = new HashMap<String, String>();

		String stb_sbt_cd = getMapString( kikiMap, "adchg_dtl_taknkiki_sbt_cd" );
		String stb_hdd_cd = getMapString( kikiMap, "adchg_dtl_taknkiki_hdd_capa" );
		
// ●● UI残 仕様整理対応 START
		String stb_ido_div = getMapString( kikiMap, "adchg_dtl_stb_ido_div" );
		String stb_hdd_cd_sk_kokan = getMapString( kikiMap, "adchg_dtl_taknkiki_hdd_capa_kokan_sk" );
		if ("02".equals(stb_ido_div)) {
			stb_hdd_cd = stb_hdd_cd_sk_kokan;
		}
// ●● UI残 仕様整理対応 END
		
		if ( "A0".equals( stb_sbt_cd ) ) {
			// STB
			if ( "00".equals( stb_hdd_cd ) ) {
				// eo光テレビチューナー 録画機能なし
				condMap.put( "kktk_svc_cd", "C009" );
				condMap.put( "pcrs_cd", "C12" );
				condMap.put( "pplan_cd", "PC1201" );
				condMap.put( "taknkiki_sbt_cd", "A0" );
			} else if ( "01".equals( stb_hdd_cd ) ) {
				// eo光テレビチューナー 録画機能付 HDD容量250GB
				condMap.put( "kktk_svc_cd", "C009" );
				condMap.put( "pcrs_cd", "C13" );
				condMap.put( "pplan_cd", "PC1301" );
				condMap.put( "taknkiki_sbt_cd", "A0" );
			} else if ( "02".equals( stb_hdd_cd ) ) {
				// eo光テレビチューナー 録画機能付 HDD容量250GB(DVD)
				condMap.put( "kktk_svc_cd", "C009" );
				condMap.put( "pcrs_cd", "C14" );
				condMap.put( "pplan_cd", "PC1401" );
				condMap.put( "taknkiki_sbt_cd", "A0" );
			} else if ( "03".equals( stb_hdd_cd ) ) {
				// eo光テレビチューナー ブルーレイ搭載録画機能付 HDD容量500GB
				condMap.put( "kktk_svc_cd", "C009" );
				condMap.put( "pcrs_cd", "C15" );
				condMap.put( "pplan_cd", "PC1501" );
				condMap.put( "taknkiki_sbt_cd", "A0" );
			}
			// ANK-2530-00-00 2016/02/23 ADD START
			else if ( "05".equals( stb_hdd_cd ) ) {
				// eo光テレビチューナー HDD容量500GB
				condMap.put( "kktk_svc_cd", "C009" );
				condMap.put( "pcrs_cd", "C92" );
				condMap.put( "pplan_cd", "PC9201" );
				condMap.put( "taknkiki_sbt_cd", "A0" );
			} else if ( "06".equals( stb_hdd_cd ) ) {
				// eo光テレビチューナー ブルーレイ搭載録画機能付 HDD容量1000GB
				condMap.put( "kktk_svc_cd", "C009" );
				condMap.put( "pcrs_cd", "C93" );
				condMap.put( "pplan_cd", "PC9301" );
				condMap.put( "taknkiki_sbt_cd", "A0" );
			} else if ( "07".equals( stb_hdd_cd ) ) {
				// ｅｏ光テレビチューナー　録画機能なし　ＶＯＤ
				condMap.put( "kktk_svc_cd", "C009" );
				condMap.put( "pcrs_cd", "C95" );
				condMap.put( "pplan_cd", "PC9501" );
				condMap.put( "taknkiki_sbt_cd", "A0" );
			} else if ( "08".equals( stb_hdd_cd ) ) {
				// ｅｏ光テレビチューナー　録画機能付　ＨＤＤ容量２ＴＢ　ＶＯＤ
				condMap.put( "kktk_svc_cd", "C009" );
				condMap.put( "pcrs_cd", "C96" );
				condMap.put( "pplan_cd", "PC9601" );
				condMap.put( "taknkiki_sbt_cd", "A0" );
			} else if ( "09".equals( stb_hdd_cd ) ) {
				// ｅｏ光テレビチューナー　録画機能付　ＨＤＤ容量５００ＧＢ　ＶＯＤ
				condMap.put( "kktk_svc_cd", "C009" );
				condMap.put( "pcrs_cd", "C97" );
				condMap.put( "pplan_cd", "PC9701" );
				condMap.put( "taknkiki_sbt_cd", "A0" );
			}
			// ANK-2530-00-00 2016/02/23 ADD END
			// HDD容量コード
			condMap.put( "hdd_capa_cd", stb_hdd_cd );
//			// "01"(STB追加) ⇒ 宅内機器異動コード
//			condMap.put( "taknkiki_ido_cd", "01" );
		} else if ( "B0".equals( stb_sbt_cd ) ) {
			// B-CAS
			condMap.put( "kktk_svc_cd", "C010" );
			condMap.put( "pcrs_cd", "C16" );
			condMap.put( "pplan_cd", "PC1601" );
			condMap.put( "taknkiki_sbt_cd", "B0" );
			condMap.put( "hdd_capa_cd", "" );
			condMap.put( "taknkiki_ido_cd", "" );
		} else if ( "C0".equals( stb_sbt_cd ) ) {
			// C-CAS
			condMap.put( "kktk_svc_cd", "C011" );
			condMap.put( "pcrs_cd", "C17" );
			condMap.put( "pplan_cd", "PC1701" );
			condMap.put( "taknkiki_sbt_cd", "C0" );
			condMap.put( "hdd_capa_cd", "" );
			condMap.put( "taknkiki_ido_cd", "" );
		} else {
			// 上記以外
			return null;
		}
		// 宅内機器異動コード
		condMap.put( "taknkiki_ido_cd", stb_ido_div );
		// "02"(レンタル) ⇒ 機器提供種別コード
		condMap.put( "kktk_sbt_cd", "02" );
		condMap.put( "svc_use_sta_kibo_ymd", "" );
		condMap.put( "rsv_tsta_kibo_ymd", "" );
		condMap.put( "kibo_maker_cd", "" );
		// "10"(新品) ⇒ 販売種別コード
		condMap.put( "hambai_sbt_cd", "10" );
		condMap.put( "tsushin_kiki_set_cd", "" );
		condMap.put( "taknkiki_model_cd", "" );
		condMap.put( "kiki_seizo_no", "" );
		condMap.put( "taknkiki_sethin_model_cd", "" );
		condMap.put( "huzokuhin_sbt_cd", "" );
		condMap.put( "kiki_stc_saki_place_no", "" );
		// "03"(サービス契約内訳) ⇒ 親契約識別コード
		condMap.put( "oya_kei_skbt_cd", "03" );
		// サービス契約番号
		condMap.put( "svc_kei_no", getMapString( kksv_9823_map, JKKAdchgConstCC.PARAM_KEY_NEW_SVC_KEI_NO ) );
		// サービス契約内訳番号
		condMap.put( "svc_kei_ucwk_no", getMapString( kksv_9823_map, JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UCWK_LIST, count, JKKAdchgConstCC.PARAM_KEY_NEW_SVC_KEI_UCWK_NO ) );
		condMap.put( "svc_kei_kaisen_ucwk_no", "" );
		condMap.put( "op_svc_kei_no", "" );
		// SYSID
		condMap.put( "sysid", getMapString( kksv_9800_map, KKSV0098_KKSV0098OP.SYSID ) );
		// 申込明細番号
		condMap.put( "mskm_dtl_no", getMapString( kksv_9823_map, KKSV0098_KKSV0098OP.MSKM_DTL_NO ) );
		condMap.put( "link_stb_flg", "" );
		// "000001"(みなと倉庫コード) ⇒ 機器引当指定倉庫コード
		condMap.put( "kiki_hkat_shitei_soko_cd", "000001" );
		// "000"(通常棚) ⇒ 機器引当指定倉庫棚コード
		condMap.put( "kiki_hkat_shitei_skdn_cd", "000" );
		condMap.put( "kiki_soryo_um", "" );
		condMap.put( "kiki_soryo_saksei_ymd", "" );

		if ( kksv_9800_map.containsKey( "tppv_map" ) ) {
			kksv_work_map = (HashMap<String,Object>)( kksv_9800_map.get( "tppv_map" ) );

			// 機器送付先
			condMap.put( "kiki_sohus_nm", getMapString( kksv_9823_map, "cust_nm" ) );
			condMap.put( "kiki_sohus_kana", getMapString( kksv_9823_map, "cust_kana" ) );
			condMap.put( "kiki_sohus_ad_cd", getMapString( kksv_work_map, "tppv_itens_ad_cd" ) );
			condMap.put( "kiki_sohus_pcd", getMapString( kksv_work_map, "tppv_itens_pcd" ) );
			condMap.put( "kiki_sohus_state_nm", getMapString( kksv_work_map, "tppv_itens_state_nm" ) );
			condMap.put( "kiki_sohus_city_nm", getMapString( kksv_work_map, "tppv_itens_city_nm" ) );
			condMap.put( "kiki_sohus_oaztsu_nm", getMapString( kksv_work_map, "tppv_itens_oaztsu_nm" ) );
			condMap.put( "kiki_sohus_azcho_nm", getMapString( kksv_work_map, "tppv_itens_azcho_nm" ) );
			condMap.put( "kiki_sohus_bnchigo", getMapString( kksv_work_map, "tppv_itens_bnchigo" ) );
			condMap.put( "kiki_sohus_adrttm", getMapString( kksv_work_map, "tppv_itens_adrttm" ) );
			condMap.put( "kiki_sohus_adrrm", getMapString( kksv_work_map, "tppv_itens_adrrm" ) );
			condMap.put( "kiki_sohus_telno", getMapString( kksv_work_map, "tppv_itens_telno" ) );

			condMap.put( "mansion_bukken_no", "" );
			// 機器送付先_契約者住所差異フラグ
			condMap.put( "kiki_sohus_ksh_ad_sai_flg", "0" );

			// 機器設置先
			condMap.put( "kiki_stc_saki_nm", getMapString( kksv_9823_map, "cust_nm" ) );
			condMap.put( "kiki_stc_saki_kana", getMapString( kksv_9823_map, "cust_kana" ) );
			condMap.put( "kiki_stc_saki_ad_cd", getMapString( kksv_work_map, "tppv_itens_ad_cd" ) );
			condMap.put( "kiki_stc_saki_pcd", getMapString( kksv_work_map, "tppv_itens_pcd" ) );
			condMap.put( "kiki_stc_saki_state_nm", getMapString( kksv_work_map, "tppv_itens_state_nm" ) );
			condMap.put( "kiki_stc_saki_city_nm", getMapString( kksv_work_map, "tppv_itens_city_nm" ) );
			condMap.put( "kiki_stc_saki_oaztsu_nm", getMapString( kksv_work_map, "tppv_itens_oaztsu_nm" ) );
			condMap.put( "kiki_stc_saki_azcho_nm", getMapString( kksv_work_map, "tppv_itens_azcho_nm" ) );
			condMap.put( "kiki_stc_saki_bnchigo", getMapString( kksv_work_map, "tppv_itens_bnchigo" ) );
			condMap.put( "kiki_stc_saki_adrttm", getMapString( kksv_work_map, "tppv_itens_adrttm" ) );
			condMap.put( "kiki_stc_saki_adrrm", getMapString( kksv_work_map, "tppv_itens_adrrm" ) );
			condMap.put( "kiki_stc_sk_telno", getMapString( kksv_work_map, "tppv_itens_telno" ) );

			// 機器設置先_契約者住所差異フラグ
			condMap.put( "kiki_stc_sk_ksh_ad_sai_flg", "0" );
			// 住所未確定フラグ
			condMap.put( "ad_mi_fix_flg", getMapString( kksv_work_map, "tppv_itnsad_mi_fix_flg" ) );
		} else {
			// 機器送付先
			condMap.put( "kiki_sohus_nm", "" );
			condMap.put( "kiki_sohus_kana", "" );
			condMap.put( "kiki_sohus_ad_cd", "" );
			condMap.put( "kiki_sohus_pcd", "" );
			condMap.put( "kiki_sohus_state_nm", "" );
			condMap.put( "kiki_sohus_city_nm", "" );
			condMap.put( "kiki_sohus_oaztsu_nm", "" );
			condMap.put( "kiki_sohus_azcho_nm", "" );
			condMap.put( "kiki_sohus_bnchigo", "" );
			condMap.put( "kiki_sohus_adrttm", "" );
			condMap.put( "kiki_sohus_adrrm", "" );
			condMap.put( "kiki_sohus_telno", "" );

			condMap.put( "mansion_bukken_no", "" );
			// 機器送付先_契約者住所差異フラグ
			condMap.put( "kiki_sohus_ksh_ad_sai_flg", "" );

			// 機器設置先
			condMap.put( "kiki_stc_saki_nm", "" );
			condMap.put( "kiki_stc_saki_kana", "" );
			condMap.put( "kiki_stc_saki_ad_cd", "" );
			condMap.put( "kiki_stc_saki_pcd", "" );
			condMap.put( "kiki_stc_saki_state_nm", "" );
			condMap.put( "kiki_stc_saki_city_nm", "" );
			condMap.put( "kiki_stc_saki_oaztsu_nm", "" );
			condMap.put( "kiki_stc_saki_azcho_nm", "" );
			condMap.put( "kiki_stc_saki_bnchigo", "" );
			condMap.put( "kiki_stc_saki_adrttm", "" );
			condMap.put( "kiki_stc_saki_adrrm", "" );
			condMap.put( "kiki_stc_sk_telno", "" );

			// 機器設置先_契約者住所差異フラグ
			condMap.put( "kiki_stc_sk_ksh_ad_sai_flg", "" );
			condMap.put( "ad_mi_fix_flg", "" );
		}
		condMap.put( "kiki_shs_ad_fix_af_chge_kh", "" );
		// "1" ⇒ 機器送付先個別指定フラグ
		condMap.put( "kiki_shs_kbt_shitei_flg", "1" );
		condMap.put( "kiki_shs_hsk_cd_1", "" );
		condMap.put( "kiki_shs_hsk_cd_2", "" );
		condMap.put( "kiki_shs_hsk_memo", "" );

		condMap.put( "kiki_sts_ad_fix_af_chge_kh", "" );
		// "0"(整理中でない) ⇒ 機器設置先区画整理中フラグ
		condMap.put( "kiki_sts_kkk_seiri_chu_flg", "0" );

		condMap.put( "kiki_sts_hsk_cd_1", "" );
		condMap.put( "kiki_sts_hsk_cd_2", "" );
		condMap.put( "kiki_sts_hsk_memo", "" );
		// "00"(直送) ⇒ 配送区分
		condMap.put( "haiso_div", "00" );
		condMap.put( "ftrial_kanyu_ymd", "" );
		condMap.put( "ftrial_prd_endymd", "" );
		condMap.put( "honkanyu_ymd", "" );
		condMap.put( "honkanyu_iko_kigen_ymd", "" );
		condMap.put( "hosho_cd", "" );
		condMap.put( "hosho_staymd", "" );

		// 違約金発生コード
		condMap.put( "pnlty_hassei_cd", "" );
		// 住所変更の異動区分 ⇒ 異動区分
		condMap.put( "ido_div", getMapString( kksv_9800_map, KKSV0098_KKSV0098OP.IDO_DIV ) );
		condMap.put( "cas_card_use_kyodak_ymd", "" );
		// "000"(０００) ⇒ 機器付加情報コード
		condMap.put( "kiki_huka_info_cd", "000" );
		condMap.put( "haiso_way_cd", "" );
// DB更新障害対応 No.17 FUKUNAGA START ---------------------------------
		// 請求契約番号
//		ArrayList<HashMap<String, Object>> seiky_shs_chg_tgt_list = (ArrayList<HashMap<String, Object>>)( kksv_9823_map.get( "seiky_shs_chg_tgt_list" ) );
//		HashMap<String, Object> seiky_shs_chg_tgt_map = (HashMap<String, Object>)( seiky_shs_chg_tgt_list.get(0) );
//		condMap.put( "seiky_kei_no", getMapString( seiky_shs_chg_tgt_map, "seiky_shs_chg_seiky_kei_no" ) );
		condMap.put( "seiky_kei_no", (String) paramMap.get(JKKAdchgConstCC.PARAM_KEY_NEW_SEIKY_KEI_NO) );
// DB更新障害対応 No.17 FUKUNAGA END -----------------------------------
		condMap.put( "prc_kmk_cd", "" );

		// 更新年月日時分秒(更新前)
		kksv_9823_map.put("svc_div", "");
		condMap.put( "upd_dtm_bf", getUpdDtm( param, fixedText, kksv_9823_map ) );

		// EKK0341D010_機器提供サービス契約登録
		reqMap = mapper.setEKK0341D010( param, fixedText, condMap );
		resMap = scCall.run( reqMap, keepSesHandle );
		HashMap<String, Object> kk0341_d010_map = mapper.getEKK0341D010( param, fixedText, resMap );
		mapper.scResultCheck( param );

		// ■ EKK0341A010 機器提供サービス契約一意照会
		condMap = new HashMap<String, String>();
		condMap.put( JKKAdchgMapperCC.COND_KEY_KKTK_SVC_KEI_NO, getMapString( kk0341_d010_map, EKK0341A010CBSMsg1List.KKTK_SVC_KEI_NO ) );
		condMap.put( JKKAdchgMapperCC.COND_KEY_OPEDATE, paramMap.get( JKKAdchgConstCC.PARAM_KEY_OPE_DATE ).toString() );
		reqMap = mapper.setEKK0341A010( param, fixedText, condMap );
		resMap = scCall.run( reqMap, keepSesHandle );
		HashMap<String, Object> kk0341_a010_map = mapper.getEKK0341A010( param, fixedText, resMap );
		mapper.scResultCheck( param );

//		// ・EKK0341C290  機器提供サービス契約サービス契約変更
//		HashMap<String, Object> kk0341_c290_map = new HashMap<String, Object>();
//		kk0341_c290_map.put( EKK0341C290CBSMsg.KKTK_SVC_KEI_NO, getMapString( kk0341_d010_map, EKK0341A010CBSMsg1List.KKTK_SVC_KEI_NO ) );
//		kk0341_c290_map.put( EKK0341C290CBSMsg.SVC_KEI_NO, getMapString( kksv_9823_map, JKKAdchgConstCC.PARAM_KEY_NEW_SVC_KEI_NO ) );
//		kk0341_c290_map.put( EKK0341C290CBSMsg.MSKM_DTL_NO, getMapString( kk0341_a010_map, JKKAdchgConstCC.PARAM_KEY_MSKM_DTL_NO ) );
//		kk0341_c290_map.put( EKK0341C290CBSMsg.RSV_APLY_YMD, paramMap.get( JKKAdchgConstCC.PARAM_KEY_OPE_DATE ) );
//		kk0341_c290_map.put( EKK0341C290CBSMsg.IDO_DIV, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_IDO_DIV ) );
//		kk0341_c290_map.put( EKK0341C290CBSMsg.UPD_DTM_BF, getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.UPD_DTM ) );
//		kk0341_c290_map.put( EKK0341C290CBSMsg.KKTK_SVC_KEI_HKHASYMD, getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.KKTK_SVC_KEI_HKHASYMD ) );
//		kk0341_c290_map.put( EKK0341C290CBSMsg.KIKI_ITENS_MV_JSSIS_SKCD, getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.KIKI_ITENS_MV_JSSIS_SKCD ) );
//		reqMap = mapper.setEKK0341C290( param, fixedText, kk0341_c290_map );
//		resMap = scCall.run( reqMap, keepSesHandle );
//		HashMap<String, Object> kk0341_c290_res_map = mapper.getEKK0341C290( param, fixedText, resMap );
//		mapper.scResultCheck( param );
//
//		// ■ EKK0341A010 機器提供サービス契約一意照会
//		condMap = new HashMap<String, String>();
//		condMap.put( JKKAdchgMapperCC.COND_KEY_KKTK_SVC_KEI_NO, getMapString( kk0341_d010_map, EKK0341A010CBSMsg1List.KKTK_SVC_KEI_NO ) );
//		condMap.put( JKKAdchgMapperCC.COND_KEY_OPEDATE, paramMap.get( JKKAdchgConstCC.PARAM_KEY_OPE_DATE ).toString() );
//		reqMap = mapper.setEKK0341A010( param, fixedText, condMap );
//		resMap = scCall.run( reqMap, keepSesHandle );
//		kk0341_a010_map = mapper.getEKK0341A010( param, fixedText, resMap );
//		mapper.scResultCheck( param );

		return kk0341_a010_map;
	}

	/**
	 * EKK0181D010 サービス契約内訳＜eo光TV＞登録 (STB追加暫定対応).
	 * <br>
	 * @param  param      モデルグループ、コントロールマップを含むリクエストパラメータ
	 * @param  fixedText  ユーザ任意文字列
	 * @param  kikiMap    追加機器
	 * @param  count      添え字
	 * @throws 例外が発生した場合
	 */
	public void call_EKK0181D010( IRequestParameterReadWrite param, String fixedText, HashMap<String, Object> kikiMap, int count ) throws Exception {

		/** 前準備 **/
		HashMap<String, Object> reqMap;
		Map<?, ?> resMap;

		// 住所変更登録コモンコンポーネントマッピングクラスインスタンス
		JKKAdchgMapperCC mapper = JKKAdchgMapperCC.getInstance();
		// SCリクエストInvoker
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();

		HashMap<String, Object> kksv_9823_map = (HashMap<String, Object>)( param.getData( KKSV0098_KKSV0098OP.KKSV009823CC ) );

		// サービス契約内訳番号が存在する場合は追加する必要なし
		String svc_kei_ucwk_no = getMapString( kksv_9823_map, JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UCWK_LIST, count, JKKAdchgConstCC.PARAM_KEY_NEW_SVC_KEI_UCWK_NO );
		if ( !StringUtils.isEmpty( svc_kei_ucwk_no ) ) {
			return;
		}

		/** EKK0181D010 サービス契約内訳＜eo光TV＞登録 */
		HashMap<String, Object> kk0161_a010_map = new HashMap<String, Object>();
// ●● IT1-2012-0000397 照査対応 START
		kk0161_a010_map.put( EKK0161A010CBSMsg1List.SVC_KEI_NO, kksv_9823_map.get( JKKAdchgConstCC.PARAM_KEY_NEW_SVC_KEI_NO ).toString() );
// ●● IT1-2012-0000397 照査対応 END
		kk0161_a010_map.put( EKK0161A010CBSMsg1List.MSKM_DTL_NO, kksv_9823_map.get( JKKAdchgConstCC.PARAM_KEY_MSKM_DTL_NO ).toString() );
		kk0161_a010_map.put( EKK0161A010CBSMsg1List.PCRS_CD, getMapString( kksv_9823_map, JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UCWK_LIST, count, "svc_kei_ucwk_pcrs_cd" ) );
		kk0161_a010_map.put( EKK0161A010CBSMsg1List.PPLAN_CD, getMapString( kksv_9823_map, JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UCWK_LIST, count, "svc_kei_ucwk_pplan_cd" ) );
		kk0161_a010_map.put( EKK0161A010CBSMsg1List.TK_HOSHIKI_KEI_NO, kksv_9823_map.get( JKKAdchgConstCC.PARAM_KEY_TK_HOSHIKI_KEI_NO ).toString() );
		kk0161_a010_map.put( EKK0161A010CBSMsg1List.PAYWAY_KEIZOKU_FLG, JKKAdchgConstCC.CD00046_KEIZOKU );
		kk0161_a010_map.put( EKK0161A010CBSMsg1List.WEB_OP_ADD_FAIL_FLG, JKKAdchgConstCC.DM00022_FALSE );
		kk0161_a010_map.put( EKK0161A010CBSMsg1List.WORK_RRK_BIKO, null );
		kk0161_a010_map.put( EKK0161A010CBSMsg1List.SVC_USE_STA_KIBO_YMD, kksv_9823_map.get( JKKAdchgConstCC.PARAM_KEY_SVC_USE_STA_KIBO_YMD ).toString() );
		kk0161_a010_map.put( EKK0161A010CBSMsg1List.RSV_TSTA_KIBO_YMD, kksv_9823_map.get( JKKAdchgConstCC.PARAM_KEY_CHG_RSV_YMD ).toString() );
		kk0161_a010_map.put( EKK0161A010CBSMsg1List.FTRIAL_KANYU_YMD, null );
		kk0161_a010_map.put( EKK0161A010CBSMsg1List.FTRIAL_PRD_ENDYMD, null );
		kk0161_a010_map.put( EKK0161A010CBSMsg1List.HONKANYU_YMD, null );
		kk0161_a010_map.put( EKK0161A010CBSMsg1List.HONKANYU_IKO_KIGEN_YMD, null );
		kk0161_a010_map.put( EKK0161A010CBSMsg1List.PNLTY_HASSEI_CD, JKKAdchgConstCC.DM00022_FALSE );
		kk0161_a010_map.put( EKK0161A010CBSMsg1List.IDO_DIV, kksv_9823_map.get( JKKAdchgConstCC.PARAM_KEY_IDO_DIV ).toString() );
		kk0161_a010_map.put( JKKAdchgMapperCC.UPD_DT_SEIKY_KEI_NO, getSeikyKeiNo( param, fixedText ) );

		HashMap<String, Object> kk0181_a010_map = new HashMap<String, Object>();
		kk0181_a010_map.put( EKK0181A010CBSMsg1List.TEKKYO_KOJI_KIBO_YMD, null );
		kk0181_a010_map.put( EKK0181A010CBSMsg1List.ADULT_FLG, JKKAdchgConstCC.DM00022_FALSE );
		kksv_9823_map.put("svc_div", "");
		kk0181_a010_map.put( JKKAdchgMapperCC.UPD_DT_SVC_KEI_UCWK_UPD_DTM_BEF, getUpdDtm( param, fixedText, kksv_9823_map ) );

		// EKK0181D010 サービス契約内訳＜eo光TV＞登録
		reqMap = mapper.setEKK0181D010( param, fixedText, kk0161_a010_map, kk0181_a010_map );
		resMap = scCall.run( reqMap, keepSesHandle );
		HashMap<String, Object> kk0181_d010_map = mapper.getEKK0181D010( param, fixedText, resMap );
		mapper.scResultCheck( param );

		// サービス契約内訳番号の引継
		setMapString( kk0181_d010_map, EKK0181D010CBSMsg.SVC_KEI_UCWK_NO, kksv_9823_map, JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UCWK_LIST, count, JKKAdchgConstCC.PARAM_KEY_NEW_SVC_KEI_UCWK_NO );
		// 更新年月日時分秒の引継
		setMapString( kk0181_d010_map, EKK0181D010CBSMsg.UPD_DTM, kksv_9823_map, JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UCWK_LIST, count, JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UCWK_UPD_DTM_AFT );

// DB結果検証障害対応 No.62 OIJI DEL START -------------------------------
//// ●● 巻@ 対応 START
//		setSijishoDataTv(param, fixedText, JKKAdchgConstCC.PARAM_KEY_SJISHO_SET_KBN_STB_INS, kk0181_d010_map.get(EKK0181D010CBSMsg.SVC_KEI_UCWK_NO).toString());
//// ●● 巻@ 対応 END
// DB結果検証障害対応 No.62 OIJI DEL END ---------------------------------

	}
	// ▲▲▲ 2012-03-08 HINKO.#143 ADD ▲▲▲
	// ▼▼▼ 2012-03-13 HINKO.KIKI ADD ▼▼▼
	/**
	 * EKK2101D010 住所変更明細登録 (ONU・V-ONUの追加).
	 * <br>
	 * @param  param        モデルグループ、コントロールマップを含むリクエストパラメータ
	 * @param  fixedText    ユーザ任意文字列
	 * @param  paramMap     追加元マップ情報 (マッピング要素を定義してあるものに限る)
	 * @param  add_kiki_map 追加された機器情報
	 * @throws 例外が発生した場合
	 */
	private void addKiki_EKK2101D010( IRequestParameterReadWrite param, String fixedText, HashMap<String, Object> paramMap, HashMap<String, Object> add_kiki_map ) throws Exception {

// UI/SS突合せ差異修正 M.OIJI MOD START ----------------------------
//		/** 前準備 **/
//		HashMap<String, Object> reqMap;
//		Map<?, ?> resMap;
//
//		// 住所変更登録コモンコンポーネントマッピングクラスインスタンス
//		JKKAdchgMapperCC mapper = JKKAdchgMapperCC.getInstance();
//		// SCリクエストInvoker
//		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
// UI/SS突合せ差異修正 M.OIJI MOD END ----------------------------

		HashMap<String, Object> kksv_work_map = null;
// UI/SS突合せ差異修正 M.OIJI MOD START ----------------------------
//		HashMap<String, Object> adchg_map = (HashMap<String, Object>)( paramMap.get( JKKAdchgConstCC.PARAM_KEY_ADCHG_MAP ) );
// UI/SS突合せ差異修正 M.OIJI MOD END ----------------------------

// ●● IT1-2012-0000362 対応 START
//		/** EKK2101D010_住所変更明細登録 */
//		HashMap<String, Object> addMap = new HashMap<String, Object>();
//		// 住所変更番号
//		addMap.put( JKKAdchgMapperCC.UPD_DT_NEW_ADCHG_ADCHG_NO, getMapString( adchg_map, JKKAdchgConstCC.PARAM_KEY_NEW_ADCHG_ADCHG_NO ) );
//		// 住所変更明細種別コード
//		addMap.put( JKKAdchgConstCC.PARAM_KEY_ADCHG_DTL_SBT_CD, JKKAdchgConstCC.CD01241_KKTK_SVC_KEI_NO );
//		// 変更対象契約番号
//		addMap.put( JKKAdchgConstCC.PARAM_KEY_ADCHG_DTL_CHG_TG_KEI_NO, getMapString( add_kiki_map, EKK0341A010CBSMsg1List.KKTK_SVC_KEI_NO ) );
//		// 変更前識別番号
//		addMap.put( JKKAdchgConstCC.PARAM_KEY_ADCHG_DTL_CHBF_SKBT_NO, null );
//		// 変更後識別番号
//		addMap.put( JKKAdchgConstCC.PARAM_KEY_ADCHG_DTL_CHAF_SKBT_NO, getMapString( add_kiki_map, EKK0341A010CBSMsg1List.KKTK_SVC_KEI_NO ) );
//		// サービス契約異動種別コード
//		addMap.put( JKKAdchgConstCC.PARAM_KEY_ADCHG_DTL_SVC_KEI_IDO_SBT_CD, null );
//		// 更新年月日時分秒(更新前)
//		addMap.put( JKKAdchgMapperCC.UPD_DT_ADCHG_UPD_DTM, getMapString( add_kiki_map, EKK0341A010CBSMsg1List.LAST_UPD_DTM ) );
//
//		// EKK2101D010_住所変更明細登録
//		reqMap = mapper.setEKK2101D010( param, fixedText, addMap );
//		resMap = scCall.run( reqMap, keepSesHandle );
//		HashMap<String, Object> kk2101_d010_map = mapper.getEKK2101D010( param, fixedText, resMap );
//		mapper.scResultCheck( param );
		ArrayList<HashMap<String, Object>> kktk_svc_kei_list = (ArrayList<HashMap<String, Object>>)paramMap.get( JKKAdchgConstCC.PARAM_KEY_ADCHG_DTL_LIST_KKTK_SVC_KEI );
		HashMap<String, Object> kktk_svc_kei_map = new HashMap<String, Object>();
		// 変更対象契約番号
		kktk_svc_kei_map.put( JKKAdchgConstCC.PARAM_KEY_ADCHG_DTL_CHG_TG_KEI_NO, getMapString( add_kiki_map, EKK0341A010CBSMsg1List.KKTK_SVC_KEI_NO ) );
		// 変更前識別番号
		kktk_svc_kei_map.put( JKKAdchgConstCC.PARAM_KEY_ADCHG_DTL_CHBF_SKBT_NO, "");
		// 変更後識別番号
		kktk_svc_kei_map.put( JKKAdchgConstCC.PARAM_KEY_ADCHG_DTL_CHAF_SKBT_NO, getMapString( add_kiki_map, EKK0341A010CBSMsg1List.KKTK_SVC_KEI_NO ) );
		kktk_svc_kei_list.add( kktk_svc_kei_map );
// ●● IT1-2012-0000362 対応 END

		String svc_cd = "";
		if ( "D0".equals( getMapString( add_kiki_map, EKK0341D010CBSMsg.TAKNKIKI_SBT_CD ) ) ) {
			// ネット
			svc_cd = "01";
			if ( kksv_work_map == null ) {
				// 電話
				svc_cd = "02";
			}
		} else if ( "E0".equals( getMapString( add_kiki_map, EKK0341D010CBSMsg.TAKNKIKI_SBT_CD ) ) ) {
			// テレビ
			svc_cd = "03";
		}

		// 登録情報の反映 (機器提供サービス契約)
		HashMap<String, Object> reflection_map = new HashMap<String, Object>();
		// 住所変更明細番号
		reflection_map.put( JKKAdchgConstCC.PARAM_KEY_ADCHG_DTL_ADCHG_DTL_NO, "" );
		// 住所変更明細番号(払出分)
// ●● IT1-2012-0000362 対応 START
//		reflection_map.put( JKKAdchgConstCC.PARAM_KEY_NEW_ADCHG_DTL_ADCHG_DTL_NO, getMapString( kk2101_d010_map, EKK2101D010CBSMsg.ADCHG_DTL_NO ) );
		reflection_map.put( JKKAdchgConstCC.PARAM_KEY_NEW_ADCHG_DTL_ADCHG_DTL_NO, "" );
// ●● IT1-2012-0000362 対応 END
		// 変更対象契約番号
		reflection_map.put( JKKAdchgConstCC.PARAM_KEY_ADCHG_DTL_CHG_TG_KEI_NO, getMapString( add_kiki_map, EKK0341A010CBSMsg1List.KKTK_SVC_KEI_NO ) );
		// 変更前識別番号
		reflection_map.put( JKKAdchgConstCC.PARAM_KEY_ADCHG_DTL_CHBF_SKBT_NO, "" );
		// 変更後識別番号
		reflection_map.put( JKKAdchgConstCC.PARAM_KEY_ADCHG_DTL_CHAF_SKBT_NO, getMapString( add_kiki_map, EKK0341A010CBSMsg1List.KKTK_SVC_KEI_NO ) );
		// サービスコード
		reflection_map.put( JKKAdchgConstCC.PARAM_KEY_ADCHG_DTL_SVC_CD, svc_cd );
		// 機器提供サービス契約番号
		reflection_map.put( JKKAdchgConstCC.PARAM_KEY_KKTK_SVC_KEI_NO, getMapString( add_kiki_map, EKK0341A010CBSMsg1List.KKTK_SVC_KEI_NO ) );
		// 更新年月日時分秒(更新前)
		reflection_map.put( JKKAdchgConstCC.PARAM_KEY_KKTK_SVC_KEI_UPD_DTM_BEF, "" );
		// 更新年月日時分秒(更新後)
		reflection_map.put( JKKAdchgConstCC.PARAM_KEY_KKTK_SVC_KEI_UPD_DTM_AFT, getMapString( add_kiki_map, EKK0341A010CBSMsg1List.LAST_UPD_DTM ) );
		// 利用サービス変更区分 … 撤去種類だから｢追加｣はない？
		reflection_map.put( JKKAdchgConstCC.PARAM_KEY_USE_OP_SVC_CHG_DIV, "" );

		reflectionMapKiki( param, fixedText, paramMap, reflection_map );
	}

	/**
	 * 登録情報の反映 (機器提供サービス契約).
	 * ※マッピング要素のうち、nullであるものは更新されない。(ブランクは上書き)
	 * <br>
	 * @param  param           モデルグループ、コントロールマップを含むリクエストパラメータ
	 * @param  fixedText       ユーザ任意文字列
	 * @param  paramMap        追加元マップ情報 (マッピング要素を定義してあるものに限る)
	 * @param  reflection_map  反映する情報を格納したマップ
	 * @throws 例外が発生した場合
	 */
	public void reflectionMapKiki( IRequestParameterReadWrite param, String fixedText, HashMap<String, Object> paramMap, HashMap<String, Object> reflection_map ) throws Exception {

		HashMap<String, Object> trgt_map = null;
		boolean work_flg = false;

		/** 住所変更明細情報リスト(機器提供サービス契約) */
		String reflection_kiki_rec_cnt = getMapString( reflection_map, "kiki_rec_cnt" );

		// 対象リスト
		ArrayList<HashMap<String, Object>> adchg_dtl_list_kktk_svc_kei = (ArrayList<HashMap<String, Object>>)( paramMap.get( JKKAdchgConstCC.PARAM_KEY_ADCHG_DTL_LIST_KKTK_SVC_KEI ) );
		// 対象リスト．イテレータ
		Iterator<HashMap<String, Object>> adchg_dtl_list_kktk_svc_kei_iterator = adchg_dtl_list_kktk_svc_kei.iterator();
		while ( adchg_dtl_list_kktk_svc_kei_iterator.hasNext() ) {
			// 対象リスト．次要素
			trgt_map = adchg_dtl_list_kktk_svc_kei_iterator.next();

			String kiki_rec_cnt = getMapString( trgt_map, "kiki_rec_cnt" );

			// 機器明細番号でマッチング
			if ( reflection_kiki_rec_cnt.equals( kiki_rec_cnt ) ) {
				// 住所変更明細番号
				if ( reflection_map.containsKey( JKKAdchgConstCC.PARAM_KEY_ADCHG_DTL_ADCHG_DTL_NO ) && reflection_map.get( JKKAdchgConstCC.PARAM_KEY_ADCHG_DTL_ADCHG_DTL_NO ) != null ) {
					trgt_map.put( JKKAdchgConstCC.PARAM_KEY_ADCHG_DTL_ADCHG_DTL_NO, getMapString( reflection_map, JKKAdchgConstCC.PARAM_KEY_ADCHG_DTL_CHG_TG_KEI_NO ) );
				}
				// 払出_住所変更明細番号
				if ( reflection_map.containsKey( JKKAdchgConstCC.PARAM_KEY_NEW_ADCHG_DTL_ADCHG_DTL_NO ) && reflection_map.get( JKKAdchgConstCC.PARAM_KEY_NEW_ADCHG_DTL_ADCHG_DTL_NO ) != null ) {
					trgt_map.put( JKKAdchgConstCC.PARAM_KEY_NEW_ADCHG_DTL_ADCHG_DTL_NO, getMapString( reflection_map, JKKAdchgConstCC.PARAM_KEY_NEW_ADCHG_DTL_ADCHG_DTL_NO ) );
				}
				// 変更対象契約番号
				if ( reflection_map.containsKey( JKKAdchgConstCC.PARAM_KEY_ADCHG_DTL_CHG_TG_KEI_NO ) && reflection_map.get( JKKAdchgConstCC.PARAM_KEY_ADCHG_DTL_CHG_TG_KEI_NO ) != null ) {
					trgt_map.put( JKKAdchgConstCC.PARAM_KEY_ADCHG_DTL_CHG_TG_KEI_NO, getMapString( reflection_map, JKKAdchgConstCC.PARAM_KEY_ADCHG_DTL_CHG_TG_KEI_NO ) );
				}
				// 変更前識別番号
				if ( reflection_map.containsKey( JKKAdchgConstCC.PARAM_KEY_ADCHG_DTL_CHBF_SKBT_NO ) && reflection_map.get( JKKAdchgConstCC.PARAM_KEY_ADCHG_DTL_CHBF_SKBT_NO ) != null ) {
					trgt_map.put( JKKAdchgConstCC.PARAM_KEY_ADCHG_DTL_CHBF_SKBT_NO, getMapString( reflection_map, JKKAdchgConstCC.PARAM_KEY_ADCHG_DTL_CHBF_SKBT_NO ) );
				}
				// 変更後識別番号
				if ( reflection_map.containsKey( JKKAdchgConstCC.PARAM_KEY_ADCHG_DTL_CHAF_SKBT_NO ) && reflection_map.get( JKKAdchgConstCC.PARAM_KEY_ADCHG_DTL_CHAF_SKBT_NO ) != null ) {
					trgt_map.put( JKKAdchgConstCC.PARAM_KEY_ADCHG_DTL_CHAF_SKBT_NO, getMapString( reflection_map, JKKAdchgConstCC.PARAM_KEY_ADCHG_DTL_CHAF_SKBT_NO ) );
				}
				// 宅内機器撤去種別
				if ( reflection_map.containsKey( JKKAdchgConstCC.PARAM_KEY_ADCHG_DTL_TKKIKI_TEKKYO_SBT_CD ) && reflection_map.get( JKKAdchgConstCC.PARAM_KEY_ADCHG_DTL_TKKIKI_TEKKYO_SBT_CD ) != null ) {
					trgt_map.put( JKKAdchgConstCC.PARAM_KEY_ADCHG_DTL_TKKIKI_TEKKYO_SBT_CD, getMapString( reflection_map, JKKAdchgConstCC.PARAM_KEY_ADCHG_DTL_TKKIKI_TEKKYO_SBT_CD ) );
				}
				work_flg = true;
				break;
			}
		}
		// リストの要素に該当しない場合、新規レコードとしてリストへ追加する
		if ( !work_flg ) {
			trgt_map = new HashMap<String, Object>();
			// 住所変更明細番号
			trgt_map.put( JKKAdchgConstCC.PARAM_KEY_ADCHG_DTL_ADCHG_DTL_NO, getMapString( reflection_map, JKKAdchgConstCC.PARAM_KEY_ADCHG_DTL_CHG_TG_KEI_NO ) );
			// 払出_住所変更明細番号
			trgt_map.put( JKKAdchgConstCC.PARAM_KEY_NEW_ADCHG_DTL_ADCHG_DTL_NO, getMapString( reflection_map, JKKAdchgConstCC.PARAM_KEY_NEW_ADCHG_DTL_ADCHG_DTL_NO ) );
			// 変更対象契約番号
			trgt_map.put( JKKAdchgConstCC.PARAM_KEY_ADCHG_DTL_CHG_TG_KEI_NO, getMapString( reflection_map, JKKAdchgConstCC.PARAM_KEY_ADCHG_DTL_CHG_TG_KEI_NO ) );
			// 変更前識別番号
			trgt_map.put( JKKAdchgConstCC.PARAM_KEY_ADCHG_DTL_CHBF_SKBT_NO, getMapString( reflection_map, JKKAdchgConstCC.PARAM_KEY_ADCHG_DTL_CHBF_SKBT_NO ) );
			// 変更後識別番号
			trgt_map.put( JKKAdchgConstCC.PARAM_KEY_ADCHG_DTL_CHAF_SKBT_NO, getMapString( reflection_map, JKKAdchgConstCC.PARAM_KEY_ADCHG_DTL_CHAF_SKBT_NO ) );
			// 宅内機器撤去種別
			trgt_map.put( JKKAdchgConstCC.PARAM_KEY_ADCHG_DTL_TKKIKI_TEKKYO_SBT_CD, getMapString( reflection_map, JKKAdchgConstCC.PARAM_KEY_ADCHG_DTL_TKKIKI_TEKKYO_SBT_CD ) );

			adchg_dtl_list_kktk_svc_kei.add( trgt_map );
		}

		/** 機器提供サービス契約情報リスト */
		String reflection_kktk_svc_kei_no = getMapString( reflection_map, JKKAdchgConstCC.PARAM_KEY_KKTK_SVC_KEI_NO );
		ArrayList<HashMap<String, Object>> kktk_svc_list = null;
		String svc_cd = getMapString( reflection_map, "svc_cd" );
		work_flg = false;

		// 対象リスト : サービスコードより判定 (指定しない場合は以降の処理を行わない)
		if ( "01".equals( svc_cd ) ) {
			// eo光ネット
			HashMap<String, Object> kksv_9821_map = (HashMap<String, Object>)( param.getData( KKSV0098_KKSV0098OP.KKSV009821CC ) );
			kktk_svc_list = (ArrayList<HashMap<String, Object>>)( kksv_9821_map.get( JKKAdchgConstCC.PARAM_KEY_KKTK_SVC_LIST ) );
		} else if ( "02".equals( svc_cd ) ) {
			// eo光電話
			HashMap<String, Object> kksv_9822_map = (HashMap<String, Object>)( param.getData( KKSV0098_KKSV0098OP.KKSV009822CC ) );
			kktk_svc_list = (ArrayList<HashMap<String, Object>>)( kksv_9822_map.get( JKKAdchgConstCC.PARAM_KEY_KKTK_SVC_LIST ) );
		} else if ( "03".equals( svc_cd ) ) {
			// eo光テレビ
			HashMap<String, Object> kksv_9823_map = (HashMap<String, Object>)( param.getData( KKSV0098_KKSV0098OP.KKSV009823CC ) );
			kktk_svc_list = (ArrayList<HashMap<String, Object>>)( kksv_9823_map.get( JKKAdchgConstCC.PARAM_KEY_KKTK_SVC_LIST ) );
		}
		if ( (kktk_svc_list == null) || (kktk_svc_list.size() == 0) ) {
			return;
		}

		// 対象リスト．イテレータ
		Iterator<HashMap<String, Object>> kktk_svc_list_iterator = kktk_svc_list.iterator();
		while ( kktk_svc_list_iterator.hasNext() ) {
			// 対象リスト．次要素
			trgt_map = adchg_dtl_list_kktk_svc_kei_iterator.next();

			String kktk_svc_kei_no = getMapString( trgt_map, JKKAdchgConstCC.PARAM_KEY_KKTK_SVC_KEI_NO );

			// 機器提供サービス契約番号でマッチング
			if ( reflection_kktk_svc_kei_no.equals( kktk_svc_kei_no ) ) {
				// 利用サービス変更区分
				if ( reflection_map.containsKey( JKKAdchgConstCC.PARAM_KEY_USE_OP_SVC_CHG_DIV ) && reflection_map.get( JKKAdchgConstCC.PARAM_KEY_USE_OP_SVC_CHG_DIV ) != null ) {
					trgt_map.put( JKKAdchgConstCC.PARAM_KEY_USE_OP_SVC_CHG_DIV, getMapString( reflection_map, JKKAdchgConstCC.PARAM_KEY_USE_OP_SVC_CHG_DIV ) );
				}
				// 機器提供サービス契約番号
				if ( reflection_map.containsKey( JKKAdchgConstCC.PARAM_KEY_KKTK_SVC_KEI_NO ) && reflection_map.get( JKKAdchgConstCC.PARAM_KEY_KKTK_SVC_KEI_NO ) != null ) {
					trgt_map.put( JKKAdchgConstCC.PARAM_KEY_KKTK_SVC_KEI_NO, getMapString( reflection_map, JKKAdchgConstCC.PARAM_KEY_KKTK_SVC_KEI_NO ) );
				}
				// 更新年月日時分秒(更新前)
				if ( reflection_map.containsKey( JKKAdchgConstCC.PARAM_KEY_KKTK_SVC_KEI_UPD_DTM_BEF ) && reflection_map.get( JKKAdchgConstCC.PARAM_KEY_KKTK_SVC_KEI_UPD_DTM_BEF ) != null ) {
					trgt_map.put( JKKAdchgConstCC.PARAM_KEY_KKTK_SVC_KEI_UPD_DTM_BEF, getMapString( reflection_map, JKKAdchgConstCC.PARAM_KEY_KKTK_SVC_KEI_UPD_DTM_BEF ) );
				}
				// 更新年月日時分秒(更新後)
				if ( reflection_map.containsKey( JKKAdchgConstCC.PARAM_KEY_KKTK_SVC_KEI_UPD_DTM_AFT ) && reflection_map.get( JKKAdchgConstCC.PARAM_KEY_KKTK_SVC_KEI_UPD_DTM_AFT ) != null ) {
					trgt_map.put( JKKAdchgConstCC.PARAM_KEY_KKTK_SVC_KEI_UPD_DTM_AFT, getMapString( reflection_map, JKKAdchgConstCC.PARAM_KEY_KKTK_SVC_KEI_UPD_DTM_AFT ) );
				}
			}
		}
		// リストの要素に該当しない場合、新規レコードとしてリストへ追加する
		if ( !work_flg ) {
			trgt_map = new HashMap<String, Object>();
			// 利用サービス変更区分
			trgt_map.put( JKKAdchgConstCC.PARAM_KEY_USE_OP_SVC_CHG_DIV, getMapString( reflection_map, JKKAdchgConstCC.PARAM_KEY_USE_OP_SVC_CHG_DIV ) );
			// 機器提供サービス契約番号
			trgt_map.put( JKKAdchgConstCC.PARAM_KEY_KKTK_SVC_KEI_NO, getMapString( reflection_map, JKKAdchgConstCC.PARAM_KEY_KKTK_SVC_KEI_NO ) );
			// 更新年月日時分秒(更新前)
			trgt_map.put( JKKAdchgConstCC.PARAM_KEY_KKTK_SVC_KEI_UPD_DTM_BEF, getMapString( reflection_map, JKKAdchgConstCC.PARAM_KEY_KKTK_SVC_KEI_UPD_DTM_BEF ) );
			// 更新年月日時分秒(更新後)
			trgt_map.put( JKKAdchgConstCC.PARAM_KEY_KKTK_SVC_KEI_UPD_DTM_AFT, getMapString( reflection_map, JKKAdchgConstCC.PARAM_KEY_KKTK_SVC_KEI_UPD_DTM_AFT ) );

			kktk_svc_list.add( trgt_map );
		}

	}

	/**
	 * EKK0341C340_機器提供サービス契約解約 (STB・B-CAS・C-CAS).
	 * <br>
	 * @param  param      モデルグループ、コントロールマップを含むリクエストパラメータ
	 * @param  fixedText  ユーザ任意文字列
	 * @param  kikiMap    追加機器
	 * @param  count      添え字
	 * @throws 例外が発生した場合
	 */
	public void dslStbKiki_EKK0341C340( IRequestParameterReadWrite param, String fixedText, HashMap<String, Object> kikiMap, int count ) throws Exception {

		/** 前準備 **/
		HashMap<String, Object> paramMap = (HashMap<String, Object>)( param.getData(fixedText) );
		HashMap<String, Object> reqMap;
		Map<?, ?> resMap;

		// 住所変更登録コモンコンポーネントマッピングクラスインスタンス
		JKKAdchgMapperCC mapper = JKKAdchgMapperCC.getInstance();
		// SCリクエストInvoker
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		
		String taknkikiSbtCd = (String) kikiMap.get("adchg_dtl_taknkiki_sbt_cd");
		String chgtgkeino = (String) kikiMap.get("adchg_dtl_chg_tg_kei_no");

		// 機器が空情報の場合処理を行わない。
		if (!(StringUtils.isEmpty(chgtgkeino)))
		{
			if ("B0".equals(taknkikiSbtCd) || "C0".equals(taknkikiSbtCd))
			// B-CAS/C-CASの場合機器提供サービス契約番号が設定されていない場合があるのでここで取得
			{
				String svcUcwkNo = (String) kikiMap.get("adchg_dtl_svkei_uw_no");
				List<HashMap<String, Object>> kikiList = getKikiListBySvcUcwkNo(param, fixedText, svcUcwkNo);
				
				for (HashMap<String, Object> map : kikiList) {
					if (taknkikiSbtCd.equals(map.get(EKK0341B501CBSMsg1List.TAKNKIKI_SBT_CD)))
					{
						kikiMap.put("adchg_dtl_chg_tg_kei_no", map.get(EKK0341B501CBSMsg1List.KKTK_SVC_KEI_NO));
						break;
					}
				}
			}

			// ■ EKK0341A010_機器提供サービス契約一意照会
			HashMap<String, String> condMap = new HashMap<String, String>();
			condMap.put( JKKAdchgMapperCC.COND_KEY_KKTK_SVC_KEI_NO, kikiMap.get( "adchg_dtl_chg_tg_kei_no" ).toString() );
			condMap.put( JKKAdchgMapperCC.COND_KEY_OPEDATE, paramMap.get( JKKAdchgConstCC.PARAM_KEY_OPE_DATE ).toString() );

			reqMap = mapper.setEKK0341A010( param, fixedText, condMap );
			resMap = scCall.run( reqMap, keepSesHandle );
			HashMap<String, Object> kk0341_a010_map = mapper.getEKK0341A010( param, fixedText, resMap );
			mapper.scResultCheck( param );

// DB結果検証障害対応 No.121 OIJI ADD START -------------------------------
			kk0341_a010_map.put(EKK0341A010CBSMsg1List.TAKNKIKI_IDO_CD, (String) kikiMap.get( JKKAdchgConstCC.PARAM_KEY_ADCHG_DTL_SBT_IDO_DIV ));
// DB結果検証障害対応 No.121 OIJI ADD END ---------------------------------

			// ■ EKK0341C340_機器提供サービス契約解約
			dslItnm_EKK0341C340( param, fixedText, kk0341_a010_map );
		}
	}	

	/**
	 * サービス契約内訳番号で機器提供サービスの一覧を取得します.
	 * @param param
	 * @param fixedText
	 * @param svcUcwkNo
	 * @return
	 * @throws Exception 
	 */
	private List<HashMap<String, Object>> getKikiListBySvcUcwkNo(IRequestParameterReadWrite param, String fixedText, String svcUcwkNo) throws Exception
	{
		/** 前準備 **/
		HashMap<String, String> condMap;
// ST1-2012-0000760　2012/06/22 T.SAKAMOTO　DEL　START　未使用変数、処理を削除
//		HashMap<String, Object> paramMap = (HashMap<String, Object>)( param.getData(fixedText) );
// ST1-2012-0000760　2012/06/22 T.SAKAMOTO　DEL　START　未使用変数、処理を削除
		HashMap<String, Object> reqMap;
		Map<?, ?> resMap;

		// 住所変更登録コモンコンポーネントマッピングクラスインスタンス
		JKKAdchgMapperCC mapper = JKKAdchgMapperCC.getInstance();
		// SCリクエストInvoker
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();

		condMap = new HashMap<String, String>();
		// サービス契約内訳番号
		condMap.put("svc_kei_ucwk_no", svcUcwkNo);
		reqMap = mapper.setEKK00341B501( param, fixedText, condMap );
		resMap = scCall.run( reqMap, keepSesHandle );
		List<HashMap<String, Object>> kk0341_b501_map_list = mapper.getEKK00341B501( param, fixedText, resMap );
		mapper.scResultCheck( param );

		return kk0341_b501_map_list;
	}

	/**
	 * EKK0161C180 サービス契約内訳解約 (STB一部撤去暫定対応).
	 * <br>
	 * @param  param      モデルグループ、コントロールマップを含むリクエストパラメータ
	 * @param  fixedText  ユーザ任意文字列
	 * @param  kikiMap    追加機器
	 * @param  count      添え字
	 * @throws 例外が発生した場合
	 */
	public void call_EKK0161C180( IRequestParameterReadWrite param, String fixedText, HashMap<String, Object> kikiMap, int count ) throws Exception {

		/** 前準備 **/
		HashMap<String, String> condMap;
		HashMap<String, Object> paramMap = (HashMap<String, Object>)( param.getData(fixedText) );
		HashMap<String, Object> reqMap;
		Map<?, ?> resMap;

		// 住所変更登録コモンコンポーネントマッピングクラスインスタンス
		JKKAdchgMapperCC mapper = JKKAdchgMapperCC.getInstance();
		// SCリクエストInvoker
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();

		String chgtgkeino = (String) kikiMap.get("adchg_dtl_chg_tg_kei_no");

		// 機器が空情報の場合処理を行わない。
		if (!(StringUtils.isEmpty(chgtgkeino)))
		{
			// 宅内機器種別が C-CAS の時にのみ解約を行う
			if ( !kikiMap.containsKey( "adchg_dtl_taknkiki_sbt_cd" ) || !"C0".equals( kikiMap.get( "adchg_dtl_taknkiki_sbt_cd" ).toString() ) ) {
				return;
			}

			HashMap<String, Object> kksv_9823_map = (HashMap<String, Object>)( param.getData( KKSV0098_KKSV0098OP.KKSV009823CC ) );

			// ■ EKK0161A010_サービス契約内訳一意照会
			condMap = new HashMap<String, String>();
			// サービス契約内訳番号
			condMap.put( JKKAdchgMapperCC.COND_KEY_SVC_KEI_UCWK_NO, getMapString( kksv_9823_map, JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UCWK_LIST, count, JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UCWK_NO ) );
			// 予約適用年月日
			condMap.put( JKKAdchgMapperCC.COND_KEY_OPEDATE, paramMap.get( JKKAdchgConstCC.PARAM_KEY_OPE_DATE ).toString() );
			reqMap = mapper.setEKK0161A010( param, fixedText, condMap );
			resMap = scCall.run( reqMap, keepSesHandle );
			HashMap<String, Object> kk0161_a010_map = mapper.getEKK0161A010( param, fixedText, resMap );
			mapper.scResultCheck( param );

			// ■ EKK0161C180_サービス契約内訳解約
			condMap = new HashMap<String, String>();
			// サービス契約内訳番号
			condMap.put( EKK0161C180CBSMsg.SVC_KEI_UCWK_NO, kk0161_a010_map.get( EKK0161A010CBSMsg1List.SVC_KEI_UCWK_NO ).toString() );
			// 申込明細番号
			condMap.put( EKK0161C180CBSMsg.MSKM_DTL_NO, paramMap.get( JKKAdchgConstCC.PARAM_KEY_MSKM_DTL_NO ).toString() );

			// 予約適用開始希望年月日
			condMap.put( EKK0161C180CBSMsg.RSV_TSTA_KIBO_YMD, paramMap.get( JKKAdchgConstCC.PARAM_KEY_CHG_RSV_YMD ).toString() );
			// サービス終了年月日
			condMap.put( EKK0161C180CBSMsg.SVC_ENDYMD, paramMap.get( JKKAdchgConstCC.PARAM_KEY_KJ_DSL_YMD ).toString() );
			// サービス課金終了年月日
			condMap.put( EKK0161C180CBSMsg.SVC_CHRG_ENDYMD, null );
			// サービス解約理由コード
			condMap.put( EKK0161C180CBSMsg.SVC_DLRE_CD, null );
			// サービス解約理由メモ
			condMap.put( EKK0161C180CBSMsg.SVC_DLRE_MEMO, null );
			// 違約金発生コード
			condMap.put( EKK0161C180CBSMsg.PNLTY_HASSEI_CD, kk0161_a010_map.get( EKK0161A010CBSMsg1List.PNLTY_HASSEI_CD ).toString() );
			// 異動区分
			condMap.put( EKK0161C180CBSMsg.IDO_DIV, paramMap.get( JKKAdchgConstCC.PARAM_KEY_IDO_DIV ).toString() );
			// 更新年月日時分秒(更新前)
			condMap.put( EKK0161C180CBSMsg.UPD_DTM_BF, kk0161_a010_map.get( EKK0161A010CBSMsg1List.LAST_UPD_DTM ).toString() );
			reqMap = mapper.setEKK0161C180( param, fixedText, condMap );
			resMap = scCall.run( reqMap, keepSesHandle );
			HashMap<String, Object> kk0161_c180_map = mapper.getEKK0161C180( param, fixedText, resMap );
			mapper.scResultCheck( param );
			
// DB結果検証障害対応 No.62 OIJI DEL START -------------------------------
//	// ●● 巻@ 対応 START
//			setSijishoDataTv(param, fixedText, JKKAdchgConstCC.PARAM_KEY_SJISHO_SET_KBN_STB_DEL, kk0161_a010_map.get( EKK0161A010CBSMsg1List.SVC_KEI_UCWK_NO ).toString());
//	// ●● 巻@ 対応 END
// DB結果検証障害対応 No.62 OIJI DEL END ---------------------------------
		}
	}
	// ▲▲▲ 2012-03-13 HINKO.KIKI ADD ▲▲▲
// ●● IT2-2012-0000371 START
	/**
	 * 工事対象の機器リストを作成.
	 * <br>
	 * @param   param      モデルグループ、コントロールマップを含むリクエストパラメータ
	 * @param   fixedText  ユーザ任意文字列
	 * @throws  Exception  例外が発生した場合
	 */
	public void make_kjtg_kiki_list( IRequestParameterReadWrite param, String fixedText ) throws Exception {

		/** 事前準備 */
// UI/SS突合せ差異修正 M.OIJI MOD START ----------------------------
//		HashMap<String, String> condMap;
//		HashMap<String, Object> paramMap = (HashMap<String, Object>)( param.getData(fixedText) );
//		HashMap<String, Object> reqMap;
//		Map<?, ?> resMap;
// UI/SS突合せ差異修正 M.OIJI MOD END ----------------------------
		ArrayList<HashMap<String,Object>> new_tl_kj_kktk_list = new ArrayList<HashMap<String,Object>>();
		HashMap<String, Object> kj_kktk_map;

		// 住所変更登録CC共通マッピング
		JKKAdchgMapperCC mapper = JKKAdchgMapperCC.getInstance();
		// SCリクエストInvokerを取得
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();

		HashMap<String, Object> kksv_9800_map = (HashMap<String, Object>)( param.getData( KKSV0098_KKSV0098OP.KKSV009800CC ) );

		ArrayList<HashMap<String,Object>> tl_kj_kktk_list = (ArrayList<HashMap<String,Object>>)kksv_9800_map.get(JKKAdchgConstCC.KJ_KKTK_LIST_TL);

		Iterator<HashMap<String, Object>> tl_kj_kktk_list_ite = tl_kj_kktk_list.iterator();
		while ( tl_kj_kktk_list_ite.hasNext() ) {
			HashMap<String, Object> tl_kj_kktk_map = tl_kj_kktk_list_ite.next();

			kj_kktk_map = new HashMap<String, Object>();

// UI/SS突合せ差異修正 M.OIJI MOD START ----------------------------
//			// ■ EKK0341A010 機器提供サービス契約一意照会
//			condMap = new HashMap<String, String>();
//			condMap.put( JKKAdchgMapperCC.COND_KEY_KKTK_SVC_KEI_NO, (String)tl_kj_kktk_map.get(JKKKojiAnkenConstCC.KKTK_SVC_KEI_NO) );
//			condMap.put( JKKAdchgMapperCC.COND_KEY_OPEDATE, paramMap.get( JKKAdchgConstCC.PARAM_KEY_OPE_DATE ).toString() );
//			reqMap = mapper.setEKK0341A010( param, fixedText, condMap );
//			resMap = scCall.run( reqMap, keepSesHandle );
//			HashMap<String, Object> kk0341_a010_map = mapper.getEKK0341A010( param, fixedText, resMap );
//			mapper.scResultCheck( param );
			// ■ EKK0341A010 機器提供サービス契約一意照会
			HashMap<String, Object> kk0341_a010_map = getEKK0341A010(param, mapper, fixedText, scCall, 
																			(String) tl_kj_kktk_map.get(JKKKojiAnkenConstCC.KKTK_SVC_KEI_NO), 
																			JKKAdchgConstCC.DEFAULT_RSV_APLY_YMD);
// UI/SS突合せ差異修正 M.OIJI MOD END ----------------------------

			/** 変更前機器情報の情報を設定 */
			// 機器提供サービス契約番号＿変更前
			kj_kktk_map.put(JKKKojiAnkenConstCC.CHGBF_KKTK_SVC_KEI_NO, tl_kj_kktk_map.get(JKKKojiAnkenConstCC.KKTK_SVC_KEI_NO));
			// 世代登録年月日時分秒＿変更前
			kj_kktk_map.put(JKKKojiAnkenConstCC.CHGBF_KKTK_SVC_KEI_NO_GENE_ADD_DTM, tl_kj_kktk_map.get(JKKKojiAnkenConstCC.KKTK_SVC_KEI_NO_GENE_ADD_DTM));

			/** 変更後機器情報の情報を設定 */
			// 機器提供サービス契約番号＿ＳＴＢ
			kj_kktk_map.put(JKKKojiAnkenConstCC.KKTK_SVC_KEI_NO, kk0341_a010_map.get(EKK0341A010CBSMsg1List.KKTK_SVC_KEI_NO));
			// 世代登録年月日時分秒＿ＳＴＢ
			kj_kktk_map.put(JKKKojiAnkenConstCC.KKTK_SVC_KEI_NO_GENE_ADD_DTM, kk0341_a010_map.get(EKK0341A010CBSMsg1List.GENE_ADD_DTM));

			new_tl_kj_kktk_list.add(kj_kktk_map);
		}

//		kksv_9800_map.put(JKKAdchgConstCC.NEW_KJ_KKTK_LIST_TL, new_tl_kj_kktk_list);
	}
// ●● IT2-2012-0000371 END
// UI/SS突合せ差異修正 M.OIJI MOD START ----------------------------
	/**
	 * 工事対象の機器リストを作成.
	 * <br>
	 * @param   param      モデルグループ、コントロールマップを含むリクエストパラメータ
	 * @param   fixedText  ユーザ任意文字列
	 * @throws  Exception  例外が発生した場合
	 */
	public void make_kjtg_kiki_list_nt( IRequestParameterReadWrite param, String fixedText ) throws Exception {

		/** 事前準備 */
		ArrayList<HashMap<String,Object>> new_tl_kj_kktk_list = new ArrayList<HashMap<String,Object>>();
		HashMap<String, Object> kj_kktk_map;

		// 住所変更登録CC共通マッピング
		JKKAdchgMapperCC mapper = JKKAdchgMapperCC.getInstance();
		// SCリクエストInvokerを取得
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();

		HashMap<String, Object> kksv_9800_map = (HashMap<String, Object>) param.getData( KKSV0098_KKSV0098OP.KKSV009800CC );

		ArrayList<HashMap<String,Object>> nt_kj_kktk_list = (ArrayList<HashMap<String,Object>>)kksv_9800_map.get(JKKAdchgConstCC.KJ_KKTK_LIST_NT);

		for (HashMap<String, Object> nt_kj_kktk_map : nt_kj_kktk_list) {
			kj_kktk_map = new HashMap<String, Object>();

			// ■ EKK0341A010 機器提供サービス契約一意照会
			HashMap<String, Object> kk0341_a010_map = getEKK0341A010(param, mapper, fixedText, scCall, 
																			(String) nt_kj_kktk_map.get(JKKKojiAnkenConstCC.KKTK_SVC_KEI_NO), 
																			JKKAdchgConstCC.DEFAULT_RSV_APLY_YMD);
			/** 変更前機器情報の情報を設定 */
			// 機器提供サービス契約番号＿変更前
			kj_kktk_map.put(JKKKojiAnkenConstCC.CHGBF_KKTK_SVC_KEI_NO, nt_kj_kktk_map.get(JKKKojiAnkenConstCC.KKTK_SVC_KEI_NO));
			// 世代登録年月日時分秒＿変更前
			kj_kktk_map.put(JKKKojiAnkenConstCC.CHGBF_KKTK_SVC_KEI_NO_GENE_ADD_DTM, nt_kj_kktk_map.get(JKKKojiAnkenConstCC.KKTK_SVC_KEI_NO_GENE_ADD_DTM));

			/** 変更後機器情報の情報を設定 */
			// 機器提供サービス契約番号＿ＳＴＢ
			kj_kktk_map.put(JKKKojiAnkenConstCC.KKTK_SVC_KEI_NO, kk0341_a010_map.get(EKK0341A010CBSMsg1List.KKTK_SVC_KEI_NO));
			// 世代登録年月日時分秒＿ＳＴＢ
			kj_kktk_map.put(JKKKojiAnkenConstCC.KKTK_SVC_KEI_NO_GENE_ADD_DTM, kk0341_a010_map.get(EKK0341A010CBSMsg1List.GENE_ADD_DTM));

			new_tl_kj_kktk_list.add(kj_kktk_map);
		}

//		kksv_9800_map.put(JKKAdchgConstCC.NEW_KJ_KKTK_LIST_NT, new_tl_kj_kktk_list);
	}
// UI/SS突合せ差異修正 M.OIJI MOD END ----------------------------
// ●● IT1-2012-0000369 対応 START
	/**
	 * サービス契約＜eo光TV＞情報変更.
	 * <br>
	 * @param  param      モデルグループ、コントロールマップを含むリクエストパラメータ
	 * @param  fixedText  ユーザ任意文字列
	 * @param  kikiMap    サービス契約情報
	 * @throws 例外が発生した場合
	 */
	public void upd_EKK0101C040( IRequestParameterReadWrite param, String fixedText, HashMap<String, Object> kk0081_a010_map ) throws Exception {

		/** 前準備 **/
		HashMap<String, String> condMap;
		HashMap<String, Object> paramMap = (HashMap<String, Object>)( param.getData(fixedText) );
		HashMap<String, Object> reqMap;
		Map<?, ?> resMap;

		// 住所変更登録コモンコンポーネントマッピングクラスインスタンス
		JKKAdchgMapperCC mapper = JKKAdchgMapperCC.getInstance();
		// SCリクエストInvoker
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();

		// ・EKK0101A010  サービス契約＜eo光ＴＶ＞一意照会
		condMap = new HashMap<String, String>();
		condMap.put( JKKAdchgMapperCC.COND_KEY_SVC_KEI_NO, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_NO ) );
		reqMap = mapper.setEKK0101A010( param, fixedText, condMap );
		resMap = scCall.run( reqMap, keepSesHandle );
		HashMap<String, Object> kk0101_a010_map = mapper.getEKK0101A010( param, fixedText, resMap );
		mapper.scResultCheck( param );

// 住所変更専用SIF差替 OIJI MOD START -------------------------------
//		// ・EKK0101C040  サービス契約＜eo光ＴＶ＞情報変更
//		reqMap = mapper.setEKK0101C040( param, fixedText, kk0081_a010_map, kk0101_a010_map );
//		resMap = scCall.run( reqMap, keepSesHandle );
//		HashMap<String, Object> kk0101_c040_map = mapper.getEKK0101C040( param, fixedText, resMap );
//		mapper.scResultCheck( param );
//		paramMap.put( JKKAdchgConstCC.PARAM_KEY_NEW_SVC_KEI_NO , (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_NO ));
//		paramMap.put( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UPD_DTM_AFT , kk0101_c040_map.get(EKK0101C040CBSMsg.UPD_DTM));
		// ・EKK0101C041  サービス契約＜eo光ＴＶ＞情報変更
		kk0081_a010_map.put(EKK0081A010CBSMsg1List.RSV_APLY_YMD, JKKAdchgConstCC.DEFAULT_RSV_APLY_YMD);
		reqMap = mapper.setEKK0101C041( param, fixedText, kk0081_a010_map, kk0101_a010_map );
		resMap = scCall.run( reqMap, keepSesHandle );
		HashMap<String, Object> kk0101_c041_map = mapper.getEKK0101C041( param, fixedText, resMap );
		mapper.scResultCheck( param );
		paramMap.put( JKKAdchgConstCC.PARAM_KEY_NEW_SVC_KEI_NO , (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_NO ));
		paramMap.put( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UPD_DTM_AFT , kk0101_c041_map.get(EKK0101C040CBSMsg.UPD_DTM));
// 住所変更専用SIF差替 OIJI MOD END ---------------------------------
	}

	/**
	 * サービス契約＜eo光電話＞情報変更.
	 * <br>
	 * @param  param      モデルグループ、コントロールマップを含むリクエストパラメータ
	 * @param  fixedText  ユーザ任意文字列
	 * @param  kikiMap    サービス契約情報
	 * @throws 例外が発生した場合
	 */
	public void upd_EKK0111C040( IRequestParameterReadWrite param, String fixedText, HashMap<String, Object> kk0081_a010_map ) throws Exception {

		/** 前準備 **/
		HashMap<String, String> condMap;
		HashMap<String, Object> paramMap = (HashMap<String, Object>)( param.getData(fixedText) );
		HashMap<String, Object> reqMap;
		Map<?, ?> resMap;

		// 住所変更登録コモンコンポーネントマッピングクラスインスタンス
		JKKAdchgMapperCC mapper = JKKAdchgMapperCC.getInstance();
		// SCリクエストInvoker
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();

		// ・EKK0111A010  サービス契約＜eo光電話＞一意照会
		condMap = new HashMap<String, String>();
		condMap.put( JKKAdchgMapperCC.COND_KEY_SVC_KEI_NO, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_NO ) );
		reqMap = mapper.setEKK0111A010( param, fixedText, condMap );
		resMap = scCall.run( reqMap, keepSesHandle );
		HashMap<String, Object> kk0111_a010_map = mapper.getEKK0111A010( param, fixedText, resMap );
		mapper.scResultCheck( param );

// 住所変更専用SIF差替 OIJI MOD START -------------------------------
//		// ・EKK0111C040  サービス契約＜eo光電話＞情報変更
//		reqMap = mapper.setEKK0111C040( param, fixedText, kk0081_a010_map, kk0111_a010_map );
//		resMap = scCall.run( reqMap, keepSesHandle );
//		HashMap<String, Object> kk0111_c040_map = mapper.getEKK0111C040( param, fixedText, resMap );
//		mapper.scResultCheck( param );
//		paramMap.put( JKKAdchgConstCC.PARAM_KEY_NEW_SVC_KEI_NO , (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_NO ));
//		paramMap.put( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UPD_DTM_AFT , kk0111_c040_map.get(EKK0111C040CBSMsg.UPD_DTM));
		// ・EKK0111C041  サービス契約＜eo光電話＞情報変更
		kk0081_a010_map.put(EKK0081A010CBSMsg1List.RSV_APLY_YMD, JKKAdchgConstCC.DEFAULT_RSV_APLY_YMD);
		reqMap = mapper.setEKK0111C041( param, fixedText, kk0081_a010_map, kk0111_a010_map );
		resMap = scCall.run( reqMap, keepSesHandle );
		HashMap<String, Object> kk0111_c041_map = mapper.getEKK0111C041( param, fixedText, resMap );
		mapper.scResultCheck( param );
		paramMap.put( JKKAdchgConstCC.PARAM_KEY_NEW_SVC_KEI_NO , (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_NO ));
		paramMap.put( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UPD_DTM_AFT , kk0111_c041_map.get(EKK0111C040CBSMsg.UPD_DTM));
// 住所変更専用SIF差替 OIJI MOD END ---------------------------------
	}
// ●● IT1-2012-0000369 対応 END
// ●● UI残 仕様整理対応 START
	/**
	 * EKK0341D010_機器提供サービス契約登録 (デフォルト機器 VA, ROUTER)
	 * <br>
	 * @param  param      モデルグループ、コントロールマップを含むリクエストパラメータ
	 * @param  fixedText  ユーザ任意文字列
	 * @param  kksv_98XX_map サービス単位パラメータ
	 * @param  kksv_98XX_map    宅内機器種別コード
	 * @param  count      添え字
	 * @throws 例外が発生した場合
	 */
	public HashMap<String, Object> addDefaultKiki_EKK0341D010( IRequestParameterReadWrite param, String fixedText,
			HashMap<String, Object> kksv_98XX_map, String taknkiki_sbt_cd) throws Exception {

		/** 前準備 **/
		HashMap<String, String> condMap;
		HashMap<String, Object> paramMap = (HashMap<String, Object>)( param.getData(fixedText) );
		HashMap<String, Object> reqMap;
		Map<?, ?> resMap;

		// 住所変更登録コモンコンポーネントマッピングクラスインスタンス
		JKKAdchgMapperCC mapper = JKKAdchgMapperCC.getInstance();
		// SCリクエストInvoker
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();

		HashMap<String, Object> kksv_work_map = null;
		HashMap<String, Object> kksv_9800_map = (HashMap<String, Object>)( param.getData( KKSV0098_KKSV0098OP.KKSV009800CC ) );

		/** EKK0341D010_機器提供サービス契約登録 */
		condMap = new HashMap<String, String>();

		// コースの取得
		String pcourse = (String) kksv_98XX_map.get(JKKAdchgConstCC.PARAM_KEY_KEI_SVC);

/* ★★★ ロット@−IT1テスト 障害No.10 ADD 2012.06.25 H.MORITA START ★★★ */
		// TODO 以下、定数やリテラルの値をDBから取得する必要あり。(2012/6/26IT1リリースに向けて、とりあえず暫定対応)
/* ★★★ ロット@−IT1テスト 障害No.10 ADD 2012.06.25 H.MORITA END ★★★ */
		if ("F0".equals(taknkiki_sbt_cd)) {
			// ルーター

/* ★★★ ロット@−IT1テスト 障害No.10 ADD 2012.06.25 H.MORITA START ★★★ */
			boolean isPcrs100m = false;
			for (int i = 0; i < PCRS_CD_100M_ARRAY.length; i++) {
				String pcrsCd100m = null;
				pcrsCd100m = PCRS_CD_100M_ARRAY[i];
				if (pcrsCd100m.equals(pcourse)) {
					isPcrs100m = true;
					break;
				}
			}
/* ★★★ ロット@−IT1テスト 障害No.10 ADD 2012.06.25 H.MORITA END ★★★ */

			// eo光ベーシックルータレンタル
			if (ROUTER_BASIC.equals(kksv_98XX_map.get( JKKAdchgConstCC.PARAM_KEY_EOHNT_STC_ROUTER_CD )))
			{
/* ★★★ ロット@−IT1テスト 障害No.10 MOD 2012.06.25 H.MORITA START ★★★ */
//				if ("A03".equals(pcourse) || "A04".equals(pcourse) || "A06".equals(pcourse) || "A08".equals(pcourse) || "A09".equals(pcourse))
				// 料金コース＝１００Ｍの場合
				if (isPcrs100m)
/* ★★★ ロット@−IT1テスト 障害No.10 MOD 2012.06.25 H.MORITA END ★★★ */
				{
					condMap.put( "kktk_svc_cd", "C014" );
/* ★★★ ロット@−IT1テスト 障害No.10 MOD 2012.06.25 H.MORITA START ★★★ */
//					condMap.put( "pcrs_cd", "C22" );
//					condMap.put( "pplan_cd", "PC2201" );
					condMap.put( "pcrs_cd", "C24" );
					condMap.put( "pplan_cd", "PC2401" );
/* ★★★ ロット@−IT1テスト 障害No.10 MOD 2012.06.25 H.MORITA END ★★★ */
					condMap.put( "taknkiki_sbt_cd", "F0" );
					condMap.put( "taknkiki_model_cd", "BAR100M01" );
				}
				else
				{
					condMap.put( "kktk_svc_cd", "C014" );
/* ★★★ ロット@−IT1テスト 障害No.10 MOD 2012.06.25 H.MORITA START ★★★ */
//					condMap.put( "pcrs_cd", "C23" );
//					condMap.put( "pplan_cd", "PC2301" );
					condMap.put( "pcrs_cd", "C25" );
					condMap.put( "pplan_cd", "PC2501" );
/* ★★★ ロット@−IT1テスト 障害No.10 MOD 2012.06.25 H.MORITA END ★★★ */
					condMap.put( "taknkiki_sbt_cd", "F0" );
					condMap.put( "taknkiki_model_cd", "BAR1G01" );
				}
			}
			else if (ROUTER_MUSEN.equals(kksv_98XX_map.get( JKKAdchgConstCC.PARAM_KEY_EOHNT_STC_ROUTER_CD )))
			{
/* ★★★ ロット@−IT1テスト 障害No.10 MOD 2012.06.25 H.MORITA START ★★★ */
//				if ("A03".equals(pcourse) || "A04".equals(pcourse) || "A06".equals(pcourse) || "A08".equals(pcourse) || "A09".equals(pcourse))
				// 料金コース＝１００Ｍの場合
				if (isPcrs100m)
/* ★★★ ロット@−IT1テスト 障害No.10 MOD 2012.06.25 H.MORITA END ★★★ */
				{
					condMap.put( "kktk_svc_cd", "C014" );
/* ★★★ ロット@−IT1テスト 障害No.10 MOD 2012.06.25 H.MORITA START ★★★ */
//					condMap.put( "pcrs_cd", "C24" );
//					condMap.put( "pplan_cd", "PC2401" );
					condMap.put( "pcrs_cd", "C22" );
					condMap.put( "pplan_cd", "PC2201" );
/* ★★★ ロット@−IT1テスト 障害No.10 MOD 2012.06.25 H.MORITA END ★★★ */
					condMap.put( "taknkiki_sbt_cd", "F0" );
					condMap.put( "taknkiki_model_cd", "WR8150NEO" );
				}
				else
				{
					condMap.put( "kktk_svc_cd", "C014" );
/* ★★★ ロット@−IT1テスト 障害No.10 MOD 2012.06.25 H.MORITA START ★★★ */
//					condMap.put( "pcrs_cd", "C25" );
//					condMap.put( "pplan_cd", "PC2501" );
					condMap.put( "pcrs_cd", "C23" );
					condMap.put( "pplan_cd", "PC2301" );
/* ★★★ ロット@−IT1テスト 障害No.10 MOD 2012.06.25 H.MORITA END ★★★ */
					condMap.put( "taknkiki_sbt_cd", "F0" );
					condMap.put( "taknkiki_model_cd", "WR8300NEO" );
				}
			}
			else {
				return null;
			}

		} else if ("50".equals(taknkiki_sbt_cd)) {

			// VA
			if ("A36".equals(pcourse))
			{
				// 1番号サービス(1ポートVA)
				
				condMap.put( "kktk_svc_cd", "C004" );
				condMap.put( "pcrs_cd", "C04" );
				condMap.put( "pplan_cd", "PC0401" );
				condMap.put( "taknkiki_sbt_cd", "50" );
				condMap.put( "taknkiki_model_cd", "VA551V1" );

			} else {

				condMap.put( "kktk_svc_cd", "C004" );
				condMap.put( "pcrs_cd", "C05" );
				condMap.put( "pplan_cd", "PC0501" );
				condMap.put( "taknkiki_sbt_cd", "50" );
				condMap.put( "taknkiki_model_cd", "IA102SC1" );
			}
		}

		// "02"(レンタル) ⇒ 機器提供種別コード
		condMap.put( "kktk_sbt_cd", "02" );
		condMap.put( "svc_use_sta_kibo_ymd", "" );
		condMap.put( "rsv_tsta_kibo_ymd", "" );
		condMap.put( "kibo_maker_cd", "" );
		// "10"(新品) ⇒ 販売種別コード
		condMap.put( "hambai_sbt_cd", "10" );
		condMap.put( "tsushin_kiki_set_cd", "" );
		condMap.put( "kiki_seizo_no", "" );
		condMap.put( "taknkiki_sethin_model_cd", "" );
		condMap.put( "huzokuhin_sbt_cd", "" );
		condMap.put( "kiki_stc_saki_place_no", getMapString( kksv_9800_map, JKKAdchgConstCC.PARAM_KEY_ITENS_PLACE_NO ) );
		// "03"(サービス契約内訳) ⇒ 親契約識別コード
		condMap.put( "oya_kei_skbt_cd", "01" );
		// サービス契約番号
		condMap.put( "svc_kei_no", getMapString( kksv_98XX_map, JKKAdchgConstCC.PARAM_KEY_NEW_SVC_KEI_NO ) );
		// サービス契約内訳番号
		condMap.put( "svc_kei_ucwk_no", "" );
		condMap.put( "svc_kei_kaisen_ucwk_no", "" );
		condMap.put( "op_svc_kei_no", "" );
		// SYSID
		condMap.put( "sysid", getMapString( kksv_9800_map, KKSV0098_KKSV0098OP.SYSID ) );
		// 申込明細番号
		condMap.put( "mskm_dtl_no", getMapString( kksv_98XX_map, KKSV0098_KKSV0098OP.MSKM_DTL_NO ) );
		condMap.put( "link_stb_flg", "" );
		// "000001"(みなと倉庫コード) ⇒ 機器引当指定倉庫コード
		condMap.put( "kiki_hkat_shitei_soko_cd", "000001" );
		// "000"(通常棚) ⇒ 機器引当指定倉庫棚コード
		condMap.put( "kiki_hkat_shitei_skdn_cd", "000" );
		condMap.put( "kiki_soryo_um", "" );
		condMap.put( "kiki_soryo_saksei_ymd", "" );

		if ( kksv_9800_map.containsKey( "tppv_map" ) ) {
			kksv_work_map = (HashMap<String,Object>)( kksv_9800_map.get( "tppv_map" ) );

			// 機器送付先
			condMap.put( "kiki_sohus_nm", getMapString( kksv_98XX_map, "cust_nm" ) );
			condMap.put( "kiki_sohus_kana", getMapString( kksv_98XX_map, "cust_kana" ) );
			condMap.put( "kiki_sohus_ad_cd", getMapString( kksv_work_map, "tppv_itens_ad_cd" ) );
			condMap.put( "kiki_sohus_pcd", getMapString( kksv_work_map, "tppv_itens_pcd" ) );
			condMap.put( "kiki_sohus_state_nm", getMapString( kksv_work_map, "tppv_itens_state_nm" ) );
			condMap.put( "kiki_sohus_city_nm", getMapString( kksv_work_map, "tppv_itens_city_nm" ) );
			condMap.put( "kiki_sohus_oaztsu_nm", getMapString( kksv_work_map, "tppv_itens_oaztsu_nm" ) );
			condMap.put( "kiki_sohus_azcho_nm", getMapString( kksv_work_map, "tppv_itens_azcho_nm" ) );
			condMap.put( "kiki_sohus_bnchigo", getMapString( kksv_work_map, "tppv_itens_bnchigo" ) );
			condMap.put( "kiki_sohus_adrttm", getMapString( kksv_work_map, "tppv_itens_adrttm" ) );
			condMap.put( "kiki_sohus_adrrm", getMapString( kksv_work_map, "tppv_itens_adrrm" ) );
			condMap.put( "kiki_sohus_telno", getMapString( kksv_work_map, "tppv_itens_telno" ) );

// DB更新障害対応 No.40 FUKUNAGA START ---------------------------------
			condMap.put( "mansion_bukken_no", getMapString( kksv_98XX_map, "itens_mansion_bukken_no" ) );
// DB更新障害対応 No.40 FUKUNAGA END -----------------------------------
			
			// 機器送付先_契約者住所差異フラグ
			condMap.put( "kiki_sohus_ksh_ad_sai_flg", "0" );

			// 機器設置先
			condMap.put( "kiki_stc_saki_nm", getMapString( kksv_98XX_map, "cust_nm" ) );
			condMap.put( "kiki_stc_saki_kana", getMapString( kksv_98XX_map, "cust_kana" ) );
			condMap.put( "kiki_stc_saki_ad_cd", getMapString( kksv_work_map, "tppv_itens_ad_cd" ) );
			condMap.put( "kiki_stc_saki_pcd", getMapString( kksv_work_map, "tppv_itens_pcd" ) );
			condMap.put( "kiki_stc_saki_state_nm", getMapString( kksv_work_map, "tppv_itens_state_nm" ) );
			condMap.put( "kiki_stc_saki_city_nm", getMapString( kksv_work_map, "tppv_itens_city_nm" ) );
			condMap.put( "kiki_stc_saki_oaztsu_nm", getMapString( kksv_work_map, "tppv_itens_oaztsu_nm" ) );
			condMap.put( "kiki_stc_saki_azcho_nm", getMapString( kksv_work_map, "tppv_itens_azcho_nm" ) );
			condMap.put( "kiki_stc_saki_bnchigo", getMapString( kksv_work_map, "tppv_itens_bnchigo" ) );
			condMap.put( "kiki_stc_saki_adrttm", getMapString( kksv_work_map, "tppv_itens_adrttm" ) );
			condMap.put( "kiki_stc_saki_adrrm", getMapString( kksv_work_map, "tppv_itens_adrrm" ) );
			condMap.put( "kiki_stc_sk_telno", getMapString( kksv_work_map, "tppv_itens_telno" ) );

			// 機器設置先_契約者住所差異フラグ
			condMap.put( "kiki_stc_sk_ksh_ad_sai_flg", "0" );
			// 住所未確定フラグ
			condMap.put( "ad_mi_fix_flg", getMapString( kksv_work_map, "tppv_itnsad_mi_fix_flg" ) );
		} else {
			// 機器送付先
			condMap.put( "kiki_sohus_nm", "" );
			condMap.put( "kiki_sohus_kana", "" );
			condMap.put( "kiki_sohus_ad_cd", "" );
			condMap.put( "kiki_sohus_pcd", "" );
			condMap.put( "kiki_sohus_state_nm", "" );
			condMap.put( "kiki_sohus_city_nm", "" );
			condMap.put( "kiki_sohus_oaztsu_nm", "" );
			condMap.put( "kiki_sohus_azcho_nm", "" );
			condMap.put( "kiki_sohus_bnchigo", "" );
			condMap.put( "kiki_sohus_adrttm", "" );
			condMap.put( "kiki_sohus_adrrm", "" );
			condMap.put( "kiki_sohus_telno", "" );

			condMap.put( "mansion_bukken_no", "" );
			// 機器送付先_契約者住所差異フラグ
			condMap.put( "kiki_sohus_ksh_ad_sai_flg", "" );

			// 機器設置先
			condMap.put( "kiki_stc_saki_nm", "" );
			condMap.put( "kiki_stc_saki_kana", "" );
			condMap.put( "kiki_stc_saki_ad_cd", "" );
			condMap.put( "kiki_stc_saki_pcd", "" );
			condMap.put( "kiki_stc_saki_state_nm", "" );
			condMap.put( "kiki_stc_saki_city_nm", "" );
			condMap.put( "kiki_stc_saki_oaztsu_nm", "" );
			condMap.put( "kiki_stc_saki_azcho_nm", "" );
			condMap.put( "kiki_stc_saki_bnchigo", "" );
			condMap.put( "kiki_stc_saki_adrttm", "" );
			condMap.put( "kiki_stc_saki_adrrm", "" );
			condMap.put( "kiki_stc_sk_telno", "" );

			// 機器設置先_契約者住所差異フラグ
			condMap.put( "kiki_stc_sk_ksh_ad_sai_flg", "" );
			condMap.put( "ad_mi_fix_flg", "" );
		}
		condMap.put( "kiki_shs_ad_fix_af_chge_kh", "" );
		// "1" ⇒ 機器送付先個別指定フラグ
		condMap.put( "kiki_shs_kbt_shitei_flg", "1" );
		condMap.put( "kiki_shs_hsk_cd_1", "" );
		condMap.put( "kiki_shs_hsk_cd_2", "" );
		condMap.put( "kiki_shs_hsk_memo", "" );

		condMap.put( "kiki_sts_ad_fix_af_chge_kh", "" );
		// "0"(整理中でない) ⇒ 機器設置先区画整理中フラグ
		condMap.put( "kiki_sts_kkk_seiri_chu_flg", "0" );

		condMap.put( "kiki_sts_hsk_cd_1", "" );
		condMap.put( "kiki_sts_hsk_cd_2", "" );
		condMap.put( "kiki_sts_hsk_memo", "" );
		// "00"(直送) ⇒ 配送区分
		condMap.put( "haiso_div", "00" );
		condMap.put( "ftrial_kanyu_ymd", "" );
		condMap.put( "ftrial_prd_endymd", "" );
		condMap.put( "honkanyu_ymd", "" );
		condMap.put( "honkanyu_iko_kigen_ymd", "" );
		condMap.put( "hosho_cd", "" );
		condMap.put( "hosho_staymd", "" );

		// 違約金発生コード
		condMap.put( "pnlty_hassei_cd", "" );
		// 住所変更の異動区分 ⇒ 異動区分
		condMap.put( "ido_div", getMapString( kksv_9800_map, KKSV0098_KKSV0098OP.IDO_DIV ) );
		condMap.put( "cas_card_use_kyodak_ymd", "" );
		// "000"(０００) ⇒ 機器付加情報コード
		condMap.put( "kiki_huka_info_cd", "000" );
		condMap.put( "haiso_way_cd", "" );
// DB更新障害対応 No.17 FUKUNAGA START ---------------------------------
		// 請求契約番号
//		String seikyKeiNo = (String) paramMap.get(JKKAdchgConstCC.PARAM_KEY_NEW_SEIKY_KEI_NO);
//		if (!StringUtils.isEmpty(seikyKeiNo)) {
		condMap.put( "seiky_kei_no", (String) paramMap.get(JKKAdchgConstCC.PARAM_KEY_NEW_SEIKY_KEI_NO) );
//		} else {
//			ArrayList<HashMap<String, Object>> seiky_shs_chg_tgt_list = (ArrayList<HashMap<String, Object>>)( kksv_98XX_map.get( "seiky_shs_chg_tgt_list" ) );
//			HashMap<String, Object> seiky_shs_chg_tgt_map = (HashMap<String, Object>)( seiky_shs_chg_tgt_list.get(0) );
//			condMap.put( "seiky_kei_no", getMapString( seiky_shs_chg_tgt_map, "seiky_shs_chg_seiky_kei_no" ) );
//		}
// DB更新障害対応 No.17 FUKUNAGA END -----------------------------------
		condMap.put( "haiso_req_shitei_ymd", "" );
		condMap.put( "prc_kmk_cd", "" );

		// 更新年月日時分秒(更新前)
		condMap.put( "upd_dtm_bf", getUpdDtm( param, fixedText, kksv_98XX_map ) );

		// EKK0341D010_機器提供サービス契約登録
		reqMap = mapper.setEKK0341D010( param, fixedText, condMap );
		resMap = scCall.run( reqMap, keepSesHandle );
		HashMap<String, Object> kk0341_d010_map = mapper.getEKK0341D010( param, fixedText, resMap );
		mapper.scResultCheck( param );

		// ■ EKK0341A010 機器提供サービス契約一意照会
		condMap = new HashMap<String, String>();
		condMap.put( JKKAdchgMapperCC.COND_KEY_KKTK_SVC_KEI_NO, getMapString( kk0341_d010_map, EKK0341A010CBSMsg1List.KKTK_SVC_KEI_NO ) );
		condMap.put( JKKAdchgMapperCC.COND_KEY_OPEDATE, paramMap.get( JKKAdchgConstCC.PARAM_KEY_OPE_DATE ).toString() );
		reqMap = mapper.setEKK0341A010( param, fixedText, condMap );
		resMap = scCall.run( reqMap, keepSesHandle );
		HashMap<String, Object> kk0341_a010_map = mapper.getEKK0341A010( param, fixedText, resMap );
		mapper.scResultCheck( param );

//		// ・EKK0341C290  機器提供サービス契約サービス契約変更
//		HashMap<String, Object> kk0341_c290_map = new HashMap<String, Object>();
//		kk0341_c290_map.put( EKK0341C290CBSMsg.KKTK_SVC_KEI_NO, getMapString( kk0341_d010_map, EKK0341A010CBSMsg1List.KKTK_SVC_KEI_NO ) );
//		kk0341_c290_map.put( EKK0341C290CBSMsg.SVC_KEI_NO, getMapString( kksv_98XX_map, JKKAdchgConstCC.PARAM_KEY_NEW_SVC_KEI_NO ) );
//		kk0341_c290_map.put( EKK0341C290CBSMsg.MSKM_DTL_NO, getMapString( kk0341_a010_map, JKKAdchgConstCC.PARAM_KEY_MSKM_DTL_NO ) );
//		kk0341_c290_map.put( EKK0341C290CBSMsg.RSV_APLY_YMD, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_CHG_RSV_YMD ) );
//		kk0341_c290_map.put( EKK0341C290CBSMsg.IDO_DIV, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_IDO_DIV ) );
//		kk0341_c290_map.put( EKK0341C290CBSMsg.UPD_DTM_BF, getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.UPD_DTM ) );
//		kk0341_c290_map.put( EKK0341C290CBSMsg.KKTK_SVC_KEI_HKHASYMD, (String)paramMap.get( EKK0341A010CBSMsg1List.KKTK_SVC_KEI_HKHASYMD ) );
//		kk0341_c290_map.put( EKK0341C290CBSMsg.KIKI_ITENS_MV_JSSIS_SKCD, getMapString( kk0341_d010_map, EKK0341A010CBSMsg1List.KIKI_ITENS_MV_JSSIS_SKCD ) );
//		reqMap = mapper.setEKK0341C290( param, fixedText, kk0341_c290_map );
//		resMap = scCall.run( reqMap, keepSesHandle );
//		HashMap<String, Object> kk0341_c290_res_map = mapper.getEKK0341C290( param, fixedText, resMap );
//		mapper.scResultCheck( param );
//
//		// ■ EKK0341A010 機器提供サービス契約一意照会
//		condMap = new HashMap<String, String>();
//		condMap.put( JKKAdchgMapperCC.COND_KEY_KKTK_SVC_KEI_NO, getMapString( kk0341_d010_map, EKK0341A010CBSMsg1List.KKTK_SVC_KEI_NO ) );
//		condMap.put( JKKAdchgMapperCC.COND_KEY_OPEDATE, paramMap.get( JKKAdchgConstCC.PARAM_KEY_OPE_DATE ).toString() );
//		reqMap = mapper.setEKK0341A010( param, fixedText, condMap );
//		resMap = scCall.run( reqMap, keepSesHandle );
//		kk0341_a010_map = mapper.getEKK0341A010( param, fixedText, resMap );
//		mapper.scResultCheck( param );

		return kk0341_a010_map;
	}

	/**
	 * VA機器情報取得処理.
	 * <dd>宅内機器型式スキーマよりVA機器情報を取得する
	 * <br>
	 * @param   param      モデルグループ、コントロールマップを含むリクエストパラメータ
	 * @param   fixedText  ユーザ任意文字列
	 * @param   model      宅内機器モデルコード
	 * @throws  Throwable  例外が発生した場合
	 * @return  VA機器のポート数
	 */
	public String getVAPortCnt(IRequestParameterReadWrite param, String fixedText, String modelCd) throws Exception
	{
		/** 事前準備 */
		HashMap<String, String> condMap = new HashMap<String, String>();
		HashMap<String, Object> reqMap;
		Map<?, ?> resMap;

		// 住所情報変更初期表示情報取得コモンコンポーネント
		// マッピングクラスインスタンスを取得
		JKKAdchgMapperCC mapper = JKKAdchgMapperCC.getInstance();

		// SCリクエストInvokerを取得
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();

// ST1-2012-0000760　2012/06/22 T.SAKAMOTO　DEL　START　未使用変数、処理を削除
//		/** 宅内機器型式スキーマデータの取得 */
//		// 返却域の準備
//		ArrayList<HashMap<String, Object>> resVAKikiLst = new ArrayList<HashMap<String, Object>>();
// ST1-2012-0000760　2012/06/22 T.SAKAMOTO　DEL　START　未使用変数、処理を削除

		// ・EZM0411A010 宅内機器型式一意照会
		condMap.clear();
		condMap.put( JKKAdchgMapperCC.COND_KEY_MODEL_CD, modelCd );
		reqMap = mapper.setETN0071B030( param, fixedText, condMap );
		resMap = scCall.run( reqMap, keepSesHandle );
// ●● 巻@-２ 対応 START
//		ArrayList<HashMap<String, Object>> tn0071_b030_list = mapper.getETN0071B030( param, fixedText, resMap );
		HashMap<String, Object> curTn0071b030 = mapper.getETN0071B030( param, fixedText, resMap );
// ●● 巻@-２ 対応 END
		mapper.scResultCheck( param );

		// 取得データ数チェック
// ●● 巻@-２ 対応 START
//		if(tn0071_b030_list == null || tn0071_b030_list.size() == 0){
		if(curTn0071b030 == null){
// ●● 巻@-２ 対応 END

			// １件も取得できなかった場合(通常あるはず)
			return "";
		}

// ●● 巻@-２ 対応 START
//		// 取得したデータを返却域へ設定
//		HashMap<String, Object> curTn0071b030 = tn0071_b030_list.get(0);
// ●● 巻@-２ 対応 END

// ST1-2012-0000760　2012/06/22 T.SAKAMOTO　DEL　START　未使用変数、処理を削除
//		// 返却域への設定マップを準備
//		HashMap<String, Object> putDt = new HashMap<String, Object>();
// ST1-2012-0000760　2012/06/22 T.SAKAMOTO　DEL　START　未使用変数、処理を削除

// ●● 巻@-２ 対応 START
//		return (String)curTn0071b030.get(ETN0071B030CBSMsg1List.PORT_CNT);
		return (String)curTn0071b030.get(EZM0411A010CBSMsg1List.PORT_CNT);
// ●● 巻@-２ 対応 END

	}
// ●● UI残 仕様整理対応 END
// ●● IT1-2012-0000397 照査対応 START
	/**
	 * 転居元の更新年月日時分秒(変更前)の取得.
	 * <br>
	 * @param  param      モデルグループ、コントロールマップを含むリクエストパラメータ
	 * @param  fixedText  ユーザ任意文字列
	 * @param  adchgMap   機器提供サービス契約一意照会マップ
	 * @throws 例外が発生した場合
	 */
	private String getUpdDtmBf( IRequestParameterReadWrite param, String fixedText, HashMap<String, Object> adchgMap ) throws Exception {

		/** 前準備 **/
		HashMap<String, String> condMap;
		HashMap<String, Object> paramMap = (HashMap<String, Object>)( param.getData(fixedText) );
		HashMap<String, Object> reqMap;
		Map<?, ?> resMap;

		// 住所変更登録コモンコンポーネントマッピングクラスインスタンス
		JKKAdchgMapperCC mapper = JKKAdchgMapperCC.getInstance();
		// SCリクエストInvoker
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();

		if( "1".equals(adchgMap.get( "svc_div") ) ) {
			/** EKK0251A010_サービス契約回線内訳一意照会 */
			condMap = new HashMap<String, String>();
			HashMap<String, Object> kksv_9800_map = (HashMap<String, Object>)( param.getData( KKSV0098_KKSV0098OP.KKSV009800CC ) );
			HashMap<String, Object> adchgInfo = (HashMap<String, Object>)kksv_9800_map.get( KKSV0098_KKSV0098OP.ADCHG_MAP );
			if(adchgInfo == null) {
				return "";
			}
			condMap.put( JKKAdchgMapperCC.COND_KEY_SVC_KEI_KAIS_UCWK_NO, (String)adchgInfo.get( KKSV0098_KKSV0098OP.ADCHG_ITNM_SVKEI_KISUW_NO ) );
			reqMap = mapper.setEKK0251A010( param, fixedText, condMap );
			resMap = scCall.run( reqMap, keepSesHandle );
			HashMap<String, Object> kk0251_a010_map = mapper.getEKK0251A010( param, fixedText, resMap );
			mapper.scResultCheck( param );

			return getMapString( kk0251_a010_map, "last_upd_dtm" );
		} else {
			/** EKK0081A010_サービス契約一意照会 */
			condMap = new HashMap<String, String>();
			condMap.put( JKKAdchgMapperCC.COND_KEY_SVC_KEI_NO, getMapString( adchgMap, JKKAdchgConstCC.PARAM_KEY_SVC_KEI_NO ) );
			condMap.put( JKKAdchgMapperCC.COND_KEY_OPEDATE, getMapString( paramMap, JKKAdchgConstCC.PARAM_KEY_OPE_DATE ) );
			reqMap = mapper.setEKK0081A010( param, fixedText, condMap );
			resMap = scCall.run( reqMap, keepSesHandle );
			HashMap<String, Object> kk0081_a010_map = mapper.getEKK0081A010( param, fixedText, resMap );
			mapper.scResultCheck( param );

			return getMapString( kk0081_a010_map, "last_upd_dtm" );
		}
	}

	/**
	 * サービス契約予約適用年月日入力.
	 * <br>
	 * @param  param      モデルグループ、コントロールマップを含むリクエストパラメータ
	 * @param  fixedText  ユーザ任意文字列
	 * @param  kikiMap    サービス契約情報
	 * @throws 例外が発生した場合
	 */
	public void upd_EKK0081C040( IRequestParameterReadWrite param, String fixedText ) throws Exception {

		/** 前準備 **/
		HashMap<String, String> condMap;
		HashMap<String, Object> paramMap = (HashMap<String, Object>)( param.getData(fixedText) );
		HashMap<String, Object> reqMap;
		Map<?, ?> resMap;

		// 住所変更登録コモンコンポーネントマッピングクラスインスタンス
		JKKAdchgMapperCC mapper = JKKAdchgMapperCC.getInstance();
		// SCリクエストInvoker
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();

		// ・EKK0081A010  サービス契約一意照会
		condMap = new HashMap<String, String>();
		condMap.put( JKKAdchgMapperCC.COND_KEY_SVC_KEI_NO, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_NEW_SVC_KEI_NO ) );
// 障害対応 IT1-2012-0000636 start ----------
//		condMap.put( JKKAdchgMapperCC.COND_KEY_OPEDATE, "20991231" );
		condMap.put( JKKAdchgMapperCC.COND_KEY_OPEDATE, JKKAdchgConstCC.DEFAULT_RSV_APLY_YMD );
// 障害対応 IT1-2012-0000636 end ----------
		reqMap = mapper.setEKK0081A010( param, fixedText, condMap );
		resMap = scCall.run( reqMap, keepSesHandle );
		HashMap<String, Object> kk0081_a010_map = mapper.getEKK0081A010( param, fixedText, resMap );
		mapper.scResultCheck( param );

		// 予約適用年月日
// 障害対応 IT1-2012-0000636 start ----------
//		kk0081_a010_map.put(EKK0081A010CBSMsg1List.RSV_APLY_YMD, paramMap.get( JKKAdchgConstCC.PARAM_KEY_CHG_RSV_YMD ) );
		kk0081_a010_map.put(EKK0081A010CBSMsg1List.RSV_APLY_YMD, JKKAdchgConstCC.DEFAULT_RSV_APLY_YMD );
// 障害対応 IT1-2012-0000636 end ----------
		// 予約適用コード
		kk0081_a010_map.put(EKK0081A010CBSMsg1List.RSV_APLY_CD, "2" );
		// 予約適用コード
		kk0081_a010_map.put(JKKAdchgMapperCC.UPD_DT_SVC_KEI_UPD_DTM_BEF, kk0081_a010_map.get( EKK0081A010CBSMsg1List.LAST_UPD_DTM ) );

		// ・EKK0081C040  サービス契約予約適用年月日入力
		reqMap = mapper.setEKK0081C040( param, fixedText, kk0081_a010_map );
		resMap = scCall.run( reqMap, keepSesHandle );
		HashMap<String, Object> kk0081_c040_map = mapper.getEKK0081C040( param, fixedText, resMap );
		mapper.scResultCheck( param );
		paramMap.put( JKKAdchgConstCC.PARAM_KEY_NEW_SVC_KEI_NO , (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_NO ));
		paramMap.put( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UPD_DTM_AFT , kk0081_c040_map.get(EKK0081C040CBSMsg.UPD_DTM));
	}
// ●● IT1-2012-0000397 照査対応 END

// ●● 巻@-2 対応 START
// 巻@-2 対象外のため
//	/**
//	 * EKKA0020004_機器場所番号変更(宅内連携).
//	 * <br>
//	 * @param  param            モデルグループ、コントロールマップを含むリクエストパラメータ
//	 * @param  fixedText        ユーザ任意文字列
//	 * @param  kk0341_a010_map  機器提供サービス契約一意照会マップ
//	 * @throws 例外が発生した場合
//	 */
//	public void chgIdodiv_EKKA00200004( IRequestParameterReadWrite param, String fixedText, 
//			HashMap<String, Object> kk0341_a010_map, HashMap<String, Object> kk0081_a010_map, String svc_cd ) throws Exception {
//
//		/** 前準備 **/
//		HashMap<String, Object> condMap;
//		HashMap<String, Object> paramMap = (HashMap<String, Object>)( param.getData(fixedText) );
//		HashMap<String, Object> reqMap;
//		Map<?, ?> resMap;
//
//		// 住所変更登録コモンコンポーネントマッピングクラスインスタンス
//		JKKAdchgMapperCC mapper = JKKAdchgMapperCC.getInstance();
//		// SCリクエストInvoker
//		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
//
//		HashMap<String, Object> kksv_9800_map = (HashMap<String, Object>)( param.getData( KKSV0098_KKSV0098OP.KKSV009800CC ) );
//
//		// サービス契約番号設定
//		String svc_kei_no = null;
//		if ( JKKAdchgConstCC.CD00130_INET_SVC.equals( svc_cd ) ) {
//			// eo光ネット
//			HashMap<String, Object> kksv_9821_map = (HashMap<String, Object>)( param.getData( KKSV0098_KKSV0098OP.KKSV009821CC ) );
//			svc_kei_no = (String) kksv_9821_map.get( JKKAdchgConstCC.PARAM_KEY_NEW_SVC_KEI_NO);
//		} else if ( JKKAdchgConstCC.CD00130_TEL_SVC.equals( svc_cd ) ) {
//			// eo光ネットのサービス契約番号を優先する
//			HashMap<String, Object> kksv_9821_map = (HashMap<String, Object>)( param.getData( KKSV0098_KKSV0098OP.KKSV009821CC ) );
//			svc_kei_no = (String) kksv_9821_map.get( JKKAdchgConstCC.PARAM_KEY_NEW_SVC_KEI_NO);
//			if (StringUtils.isEmpty(svc_kei_no)) {
//				// eo光電話
//				HashMap<String, Object> kksv_9822_map = (HashMap<String, Object>)( param.getData( KKSV0098_KKSV0098OP.KKSV009822CC ) );
//			}
//		} else if ( JKKAdchgConstCC.CD00130_TV_SVC.equals( svc_cd ) ) {
//			// eo光テレビ
//			HashMap<String, Object> kksv_9823_map = (HashMap<String, Object>)( param.getData( KKSV0098_KKSV0098OP.KKSV009823CC ) );
//			svc_kei_no = (String) kksv_9823_map.get( JKKAdchgConstCC.PARAM_KEY_NEW_SVC_KEI_NO);
//		}
//
//		// 対象機器が ONU・V-ONU の場合は機器製造番号と宅内機器型式コードをクリアするため
//		// 連携しない
//		String kiki_sbt_cd = getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.TAKNKIKI_SBT_CD );
//		if ( "D0".equals( kiki_sbt_cd ) || "E0".equals( kiki_sbt_cd ) ) {
//			return;
//		}
//
//		// ■ EKKA0020004 機器場所番号変更（宅内連携）
//		// place_map生成
//		HashMap<String, Object> kka002_0004_map = new HashMap<String, Object>();
//		
//		ArrayList<HashMap<String, Object>> kka002_0004_map_list = new ArrayList<HashMap<String, Object>>();
//		HashMap<String, Object> kka002_0004_meisai_map = new HashMap<String, Object>();
//
//		// ＫＥＹ＿宅内機器型式コード
//		kka002_0004_meisai_map.put( EKKA0020004CBSMsg1List.KEY_TK_MDL_CD, kk0341_a010_map.get( EKK0341A010CBSMsg1List.TAKNKIKI_MODEL_CD ) );
//		// ＫＥＹ＿機器製造番号
//		kka002_0004_meisai_map.put( EKKA0020004CBSMsg1List.KEY_KK_SEIZO_NO, kk0341_a010_map.get( EKK0341A010CBSMsg1List.KIKI_SEIZO_NO ) );
//		// ＫＥＹ＿変更理由コード
//		kka002_0004_meisai_map.put( EKKA0020004CBSMsg1List.KEY_CHG_RSN_CD, "" );
//		// ＫＥＹ＿宅内機器基本Ｔ更新日付
//		kka002_0004_meisai_map.put( EKKA0020004CBSMsg1List.KEY_BTRY_UPD_DTTM, paramMap.get( JKKAdchgConstCC.PARAM_KEY_OPE_DATE ).toString() );
//		// 設置場所番号
//		kka002_0004_meisai_map.put( EKKA0020004CBSMsg1List.SETPLACE_NO, getMapString( kksv_9800_map, JKKAdchgConstCC.PARAM_KEY_ITENS_PLACE_NO ) );
//		// サービス契約番号
//		kka002_0004_meisai_map.put( EKKA0020004CBSMsg1List.SVC_KEI_NO, svc_kei_no );
//		kka002_0004_map_list.add(kka002_0004_meisai_map);
//		kka002_0004_map.put(EKKA0020004CBSMsg.EKKA0020004CBSMSG1LIST, new ArrayList<HashMap<String, Object>>());
//
//		// 機器場所番号変更(宅内連携）
//		reqMap = mapper.setEKKA0020004( param, fixedText, kka002_0004_map, kka002_0004_map_list );
//		resMap = scCall.run( reqMap, keepSesHandle );
//		ArrayList<HashMap<String, Object>> ekka002_0002_map = mapper.getEKKA0020004( param, fixedText, resMap );
//		mapper.scResultCheck( param );
//
//	}
// ●● 巻@-2 対応 END

// DB結果検証障害対応 No.62 OIJI DEL START -------------------------------
//	// ●● 巻@ 対応 START
//	/**
//	 * 指示書登録データ領域設定(サービス契約番号).
//	 * <br>
//	 * @param  param      モデルグループ、コントロールマップを含むリクエストパラメータ
//	 * @param  fixedText  ユーザ任意文字列
//	 * @throws Exception  例外が発生した場合
//	 */
//	public void setSijishoDataSetForSvcKei( IRequestParameterReadWrite param, String fixedText, String trn_kbn, ArrayList<HashMap<String, Object>> renkei_data_kbn_list ) throws Exception {
//
//		HashMap<String, Object> paramMap = (HashMap<String, Object>)( param.getData(fixedText) );
//
//		// 連携データ区分マップ
//		HashMap<String, Object> renkei_data_kbn_map = new HashMap<String, Object>();
//		// 処理区分
//		renkei_data_kbn_map.put(JKKAdchgConstCC.PARAM_KEY_SJISHO_TRN_KBN, trn_kbn);
//
//		// サービス契約リスト
//		ArrayList<HashMap<String, Object>> sjisho_svc_kei_list = new ArrayList<HashMap<String, Object>>();
//		HashMap<String, Object> sjisho_svc_kei_map = new HashMap<String, Object>();
//		
//		if (JKKAdchgConstCC.PARAM_KEY_SJISHO_TRN_KBN_INS.equals(trn_kbn)) {
//			sjisho_svc_kei_map.put(JKKAdchgConstCC.PARAM_KEY_SJISHO_SVC_KEI_NO, paramMap.get( JKKAdchgConstCC.PARAM_KEY_NEW_SVC_KEI_NO));
//		} else {
//			sjisho_svc_kei_map.put(JKKAdchgConstCC.PARAM_KEY_SJISHO_SVC_KEI_NO, paramMap.get( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_NO));
//		}
//		sjisho_svc_kei_list.add(sjisho_svc_kei_map);
//		renkei_data_kbn_map.put(JKKAdchgConstCC.PARAM_KEY_SJISHO_SVC_KEI_LIST, sjisho_svc_kei_list);
//
//		// 指示書登録用連携データをparamへ設定
//		renkei_data_kbn_list.add(renkei_data_kbn_map);
//
//	}
//
//	/**
//	 * 指示書登録データ領域設定(サービス契約内訳番号).
//	 * <br>
//	 * @param  param      モデルグループ、コントロールマップを含むリクエストパラメータ
//	 * @param  fixedText  ユーザ任意文字列
//	 * @throws Exception  例外が発生した場合
//	 */
//	public void setSijishoDataSetForSvcKeiUcwk( IRequestParameterReadWrite param, String fixedText, String trn_kbn, ArrayList<HashMap<String, Object>> renkei_data_kbn_list ) throws Exception {
//
//		
//		HashMap<String, Object> paramMap = (HashMap<String, Object>)( param.getData(fixedText) );
//
//		// 連携データ区分マップ
//		HashMap<String, Object> renkei_data_kbn_map = new HashMap<String, Object>();
//		// 処理区分
//		renkei_data_kbn_map.put(JKKAdchgConstCC.PARAM_KEY_SJISHO_TRN_KBN, trn_kbn);
//
//		// サービス契約内訳リスト
//		ArrayList<HashMap<String, Object>> sjisho_svc_kei_ucwk_list = new ArrayList<HashMap<String, Object>>();
//		ArrayList<HashMap<String, Object>> svc_kei_ucwk_list = (ArrayList<HashMap<String, Object>>)paramMap.get( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UCWK_LIST );
//		Iterator<HashMap<String, Object>> svc_kei_ucwk_list_ite = svc_kei_ucwk_list.iterator();
//		while(svc_kei_ucwk_list_ite.hasNext()){
//			HashMap<String, Object> cur_svc_kei_ucwk = svc_kei_ucwk_list_ite.next();
//			HashMap<String, Object> sjisho_svc_kei_ucwk_map = new HashMap<String, Object>();
//			if (JKKAdchgConstCC.PARAM_KEY_SJISHO_TRN_KBN_INS.equals(trn_kbn)) {
//				sjisho_svc_kei_ucwk_map.put(JKKAdchgConstCC.PARAM_KEY_SJISHO_SVC_KEI_UCWK_NO, cur_svc_kei_ucwk.get( JKKAdchgConstCC.PARAM_KEY_NEW_SVC_KEI_UCWK_NO));
//			} else {
//				sjisho_svc_kei_ucwk_map.put(JKKAdchgConstCC.PARAM_KEY_SJISHO_SVC_KEI_UCWK_NO, cur_svc_kei_ucwk.get( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UCWK_NO));
//			}
//			sjisho_svc_kei_ucwk_list.add(sjisho_svc_kei_ucwk_map);
//		}
//		renkei_data_kbn_map.put(JKKAdchgConstCC.PARAM_KEY_SJISHO_SVC_KEI_UCWK_LIST, sjisho_svc_kei_ucwk_list);
//		
//		// 指示書登録用連携データをparamへ設定
//		renkei_data_kbn_list.add(renkei_data_kbn_map);
//
//	}
//
//	/**
//	 * 指示書登録データ領域設定(サービス契約内訳番号).
//	 * <br>
//	 * @param  param      モデルグループ、コントロールマップを含むリクエストパラメータ
//	 * @param  fixedText  ユーザ任意文字列
//	 * @throws Exception  例外が発生した場合
//	 */
//	public void setSijishoDataSetForSvcKeiUcwkUnit( IRequestParameterReadWrite param, String fixedText, String trn_kbn, ArrayList<HashMap<String, Object>> renkei_data_kbn_list, String svc_kei_ucwk_no ) throws Exception {
//
//		// 追加するサービス契約内訳番号を保持
//		// 連携データ区分マップ
//		HashMap<String, Object> renkei_data_kbn_map = new HashMap<String, Object>();
//		// 処理区分
//		renkei_data_kbn_map.put(JKKAdchgConstCC.PARAM_KEY_SJISHO_TRN_KBN, trn_kbn);
//
//		// サービス契約内訳リスト
//		ArrayList<HashMap<String, Object>> sjisho_svc_kei_ucwk_list = new ArrayList<HashMap<String, Object>>();
//		HashMap<String, Object> sjisho_svc_kei_ucwk_map = new HashMap<String, Object>();
//		
//		sjisho_svc_kei_ucwk_map.put(JKKAdchgConstCC.PARAM_KEY_SJISHO_SVC_KEI_UCWK_NO, svc_kei_ucwk_no);
//		sjisho_svc_kei_ucwk_list.add(sjisho_svc_kei_ucwk_map);
//		renkei_data_kbn_map.put(JKKAdchgConstCC.PARAM_KEY_SJISHO_SVC_KEI_UCWK_LIST, sjisho_svc_kei_ucwk_list);
//
//		// 指示書登録用連携データをparamへ設定
//		renkei_data_kbn_list.add(renkei_data_kbn_map);
//
//	}
//
//	/**
//	 * 指示書登録データ領域設定(オプションサービス契約番号).
//	 * <br>
//	 * @param  param      モデルグループ、コントロールマップを含むリクエストパラメータ
//	 * @param  fixedText  ユーザ任意文字列
//	 * @throws Exception  例外が発生した場合
//	 */
//	public void setSijishoDataSetForOpSvcKei( IRequestParameterReadWrite param, String fixedText, String trn_kbn, ArrayList<HashMap<String, Object>> renkei_data_kbn_list ) throws Exception {
//
//		
//		HashMap<String, String> condMap;
//		HashMap<String, Object> paramMap = (HashMap<String, Object>)( param.getData(fixedText) );
//		HashMap<String, Object> reqMap;
//		Map<?, ?> resMap;
//
//		// 住所変更登録コモンコンポーネントマッピングクラスインスタンス
//		JKKAdchgMapperCC mapper = JKKAdchgMapperCC.getInstance();
//		// SCリクエストInvoker
//		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
//
//		// 連携データ区分マップ
//		HashMap<String, Object> renkei_data_kbn_map = new HashMap<String, Object>();
//		// 処理区分
//		renkei_data_kbn_map.put(JKKAdchgConstCC.PARAM_KEY_SJISHO_TRN_KBN, trn_kbn);
//
//		// オプションサービス契約リスト
//		ArrayList<HashMap<String, Object>> sjisho_op_svc_kei_list = new ArrayList<HashMap<String, Object>>();
//
//		if (JKKAdchgConstCC.PARAM_KEY_SJISHO_TRN_KBN_INS.equals(trn_kbn)) {
//			/** オプションサービス契約情報をdtlDataMapへ設定 */
//			// ・EKK0351B005 利用中オプションサービス契約一覧照会
//			condMap = new HashMap<String, String>();
//			condMap.put( JKKAdchgMapperCC.COND_KEY_SVC_KEI_NO, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_NEW_SVC_KEI_NO) );
//			reqMap = mapper.setEKK0351B005( param, fixedText, condMap );
//			resMap = scCall.run( reqMap, keepSesHandle );
//			ArrayList<HashMap<String, Object>> kk0351_b005_lst = mapper.getEKK0351B005( param, fixedText, resMap );
//			mapper.scResultCheck( param );
//	
//			// dtlDataMapへの設定処理
//			Iterator<HashMap<String, Object>> kk0351b005Ite = kk0351_b005_lst.iterator();
//			while(kk0351b005Ite.hasNext()){
//				// カレントのオプションサービス契約情報を取得
//				HashMap<String, Object> curOpSvcKeiLst = kk0351b005Ite.next();
//				HashMap<String, Object> sijisho_op_svc_kei_map = new HashMap<String, Object>();
//				sijisho_op_svc_kei_map.put(JKKAdchgConstCC.PARAM_KEY_SJISHO_OP_SVC_KEI_NO, (String)curOpSvcKeiLst.get(EKK0351B007CBSMsg1List.OP_SVC_KEI_NO));
//				sjisho_op_svc_kei_list.add(sijisho_op_svc_kei_map);
//			}
//
//		} else if (JKKAdchgConstCC.PARAM_KEY_SJISHO_TRN_KBN_UPD.equals(trn_kbn)) {
//
//			// 処理区分(更新⇒削除）
//			renkei_data_kbn_map.put(JKKAdchgConstCC.PARAM_KEY_SJISHO_TRN_KBN, JKKAdchgConstCC.PARAM_KEY_SJISHO_TRN_KBN_DEL);
//
//			// param.オプションサービス契約情報リスト を抽出
//			ArrayList<HashMap<String, Object>> op_svc_kei_list = (ArrayList<HashMap<String, Object>>)paramMap.get( JKKAdchgConstCC.PARAM_KEY_OP_SVC_KEI_LIST );
//			Iterator<HashMap<String, Object>> op_svc_kei_list_ite = op_svc_kei_list.iterator();
//			while( op_svc_kei_list_ite.hasNext() ){
//
//				// cur_op_svc_kei.利用サービス変更区分を取得
//				HashMap<String, Object> cur_op_svc_kei = op_svc_kei_list_ite.next();
//				String use_op_svc_chg_div = (String)cur_op_svc_kei.get( JKKAdchgConstCC.PARAM_KEY_USE_OP_SVC_CHG_DIV );
//				
//				// 「引継」であるかを判定
//				if( JKKAdchgConstCC.CD00852_KEEP.equals( use_op_svc_chg_div ) ) {
//					continue;
//				}
//
//				HashMap<String, Object> sjisho_op_svc_kei_map = new HashMap<String, Object>();
//				sjisho_op_svc_kei_map.put(JKKAdchgConstCC.PARAM_KEY_SJISHO_OP_SVC_KEI_NO, (String)cur_op_svc_kei.get( JKKAdchgConstCC.PARAM_KEY_OP_SVC_KEI_NO ));
//				sjisho_op_svc_kei_list.add(sjisho_op_svc_kei_map);
//
//			}
//
//		} else {
//
//			// オプションサービス契約リスト
//			ArrayList<HashMap<String, Object>> op_svc_kei_list = (ArrayList<HashMap<String, Object>>)paramMap.get( JKKAdchgConstCC.PARAM_KEY_OP_SVC_KEI_LIST );
//			Iterator<HashMap<String, Object>> op_svc_kei_list_ite = op_svc_kei_list.iterator();
//			while(op_svc_kei_list_ite.hasNext()){
//				HashMap<String, Object> cur_op_svc_kei = op_svc_kei_list_ite.next();
//				HashMap<String, Object> sjisho_op_svc_kei_map = new HashMap<String, Object>();
//				sjisho_op_svc_kei_map.put(JKKAdchgConstCC.PARAM_KEY_SJISHO_OP_SVC_KEI_NO, (String)cur_op_svc_kei.get( JKKAdchgConstCC.PARAM_KEY_OP_SVC_KEI_NO ));
//				sjisho_op_svc_kei_list.add(sjisho_op_svc_kei_map);
//			}
//
//		}
//
//		renkei_data_kbn_map.put(JKKAdchgConstCC.PARAM_KEY_SJISHO_OP_SVC_KEI_LIST, sjisho_op_svc_kei_list);
//
//		// 指示書登録用連携データをparamへ設定
//		renkei_data_kbn_list.add(renkei_data_kbn_map);
//
//	}
//
//
//	/**
//	 * 指示書登録データ設定(ネット).
//	 * <br>
//	 * @param  param      モデルグループ、コントロールマップを含むリクエストパラメータ
//	 * @param  fixedText  ユーザ任意文字列
//	 * @throws Exception  例外が発生した場合
//	 */
//	public void setSijishoDataNet( IRequestParameterReadWrite param, String fixedText, String trn_kbn ) throws Exception {
//		
//		/** 前準備 **/
//// ST1-2012-0000760　2012/06/22 T.SAKAMOTO　DEL　START　未使用変数、処理を削除
////		HashMap<String, String> condMap;
//		HashMap<String, Object> paramMap = (HashMap<String, Object>)( param.getData(fixedText) );
////		HashMap<String, Object> reqMap;
////		Map<?, ?> resMap;
//
////		// 住所変更登録コモンコンポーネントマッピングクラスインスタンス
////		JKKAdchgMapperCC mapper = JKKAdchgMapperCC.getInstance();
////		// SCリクエストInvoker
////		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
//// ST1-2012-0000760　2012/06/22 T.SAKAMOTO　DEL　START　未使用変数、処理を削除
//
//		// 作業領域.連携データ区分リストの取得
//		ArrayList<HashMap<String, Object>> renkei_data_kbn_list = (ArrayList<HashMap<String, Object>>) paramMap.get( JKKAdchgConstCC.PARAM_KEY_SJISHO_RENKEI_DATA_KBN_LIST);
//		if (renkei_data_kbn_list == null) {
//			renkei_data_kbn_list = new ArrayList<HashMap<String, Object>>();
//		}
//
//		if (JKKAdchgConstCC.PARAM_KEY_SJISHO_SET_KBN_SVC_ADD.equals(trn_kbn)) {
//			// サービス追加時
//
//			// 新設サービス契約番号を保持
//			setSijishoDataSetForSvcKei(param, fixedText, JKKAdchgConstCC.PARAM_KEY_SJISHO_TRN_KBN_INS, renkei_data_kbn_list);
//
//			// 新設サービス契約内訳番号を保持
//			setSijishoDataSetForSvcKeiUcwk(param, fixedText, JKKAdchgConstCC.PARAM_KEY_SJISHO_TRN_KBN_INS, renkei_data_kbn_list);
//
//			// 新設オプションサービス契約番号を保持
//			setSijishoDataSetForOpSvcKei(param, fixedText, JKKAdchgConstCC.PARAM_KEY_SJISHO_TRN_KBN_INS, renkei_data_kbn_list);
//
//		} else if (JKKAdchgConstCC.PARAM_KEY_SJISHO_SET_KBN_SVC_UPD.equals(trn_kbn)) {
//			// サービス更新時
//
//			// 更新サービス契約番号を保持
//			setSijishoDataSetForSvcKei(param, fixedText, JKKAdchgConstCC.PARAM_KEY_SJISHO_TRN_KBN_UPD, renkei_data_kbn_list);
//
//			// 更新サービス契約内訳番号を保持
//			setSijishoDataSetForSvcKeiUcwk(param, fixedText, JKKAdchgConstCC.PARAM_KEY_SJISHO_TRN_KBN_UPD, renkei_data_kbn_list);
//
//		} else if (JKKAdchgConstCC.PARAM_KEY_SJISHO_SET_KBN_SVC_MOD.equals(trn_kbn)) {
//			// サービス変更時
//
//			// 更新サービス契約番号を保持
//			setSijishoDataSetForSvcKei(param, fixedText, JKKAdchgConstCC.PARAM_KEY_SJISHO_TRN_KBN_UPD, renkei_data_kbn_list);
//
//			// 更新サービス契約内訳番号を保持
//			//setSijishoDataSetForSvcKeiUcwk(param, fixedText, JKKAdchgConstCC.PARAM_KEY_SJISHO_TRN_KBN_UPD, renkei_data_kbn_list);
//
//		} else if (JKKAdchgConstCC.PARAM_KEY_SJISHO_SET_KBN_SVC_SLRE.equals(trn_kbn)) {
//			// サービス解約時
//
//			// 解約サービス契約番号を保持
//			setSijishoDataSetForSvcKei(param, fixedText, JKKAdchgConstCC.PARAM_KEY_SJISHO_TRN_KBN_DEL, renkei_data_kbn_list);
//
//			// 解約サービス契約内訳番号を保持
//			setSijishoDataSetForSvcKeiUcwk(param, fixedText, JKKAdchgConstCC.PARAM_KEY_SJISHO_TRN_KBN_DEL, renkei_data_kbn_list);
//
//			// 解約オプションサービス契約番号を保持
//			setSijishoDataSetForOpSvcKei(param, fixedText, JKKAdchgConstCC.PARAM_KEY_SJISHO_TRN_KBN_DEL, renkei_data_kbn_list);
//
//		} else if (JKKAdchgConstCC.PARAM_KEY_SJISHO_SET_KBN_SVC_SLRE_WITH_ADD.equals(trn_kbn)) {
//			// サービス 解約・新規
//
//			// 解約サービス契約番号を保持
//			setSijishoDataSetForSvcKei(param, fixedText, JKKAdchgConstCC.PARAM_KEY_SJISHO_TRN_KBN_DEL, renkei_data_kbn_list);
//
//			// 解約サービス契約内訳番号を保持
//			setSijishoDataSetForSvcKeiUcwk(param, fixedText, JKKAdchgConstCC.PARAM_KEY_SJISHO_TRN_KBN_DEL, renkei_data_kbn_list);
//
//			// 新設サービス契約番号を保持
//			setSijishoDataSetForSvcKei(param, fixedText, JKKAdchgConstCC.PARAM_KEY_SJISHO_TRN_KBN_INS, renkei_data_kbn_list);
//
//			// 新設サービス契約内訳番号を保持
//			setSijishoDataSetForSvcKeiUcwk(param, fixedText, JKKAdchgConstCC.PARAM_KEY_SJISHO_TRN_KBN_INS, renkei_data_kbn_list);
//
//		} else if (JKKAdchgConstCC.PARAM_KEY_SJISHO_SET_KBN_OP_CHK.equals(trn_kbn)) {
//
//			// 解約オプションサービス契約番号を保持
//			setSijishoDataSetForOpSvcKei(param, fixedText, JKKAdchgConstCC.PARAM_KEY_SJISHO_TRN_KBN_UPD, renkei_data_kbn_list);
//
//		}
//
//		// 連携リスト登録
//		paramMap.put( JKKAdchgConstCC.PARAM_KEY_SJISHO_RENKEI_DATA_KBN_LIST, renkei_data_kbn_list );
//
//	}
//
//	/**
//	 * 指示書登録データ設定(電話).
//	 * <br>
//	 * @param  param      モデルグループ、コントロールマップを含むリクエストパラメータ
//	 * @param  fixedText  ユーザ任意文字列
//	 * @throws Exception  例外が発生した場合
//	 */
//	public void setSijishoDataTel( IRequestParameterReadWrite param, String fixedText, String trn_kbn, Object tel_ucwk ) throws Exception {
//
//		/** 前準備 **/
//// ST1-2012-0000760　2012/06/22 T.SAKAMOTO　DEL　START　未使用変数、処理を削除
////		HashMap<String, String> condMap;
//		HashMap<String, Object> paramMap = (HashMap<String, Object>)( param.getData(fixedText) );
////		HashMap<String, Object> reqMap;
////		Map<?, ?> resMap;
//
////		// 住所変更登録コモンコンポーネントマッピングクラスインスタンス
////		JKKAdchgMapperCC mapper = JKKAdchgMapperCC.getInstance();
////		// SCリクエストInvoker
////		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
//// ST1-2012-0000760　2012/06/22 T.SAKAMOTO　DEL　START　未使用変数、処理を削除
//
//		// 作業領域.連携データ区分リストの取得
//		ArrayList<HashMap<String, Object>> renkei_data_kbn_list = (ArrayList<HashMap<String, Object>>) paramMap.get( JKKAdchgConstCC.PARAM_KEY_SJISHO_RENKEI_DATA_KBN_LIST);
//		if (renkei_data_kbn_list == null) {
//			renkei_data_kbn_list = new ArrayList<HashMap<String, Object>>();
//		}
//
//		if (JKKAdchgConstCC.PARAM_KEY_SJISHO_SET_KBN_SVC_ADD.equals(trn_kbn)) {
//			// サービス追加時
//
//			// 新設サービス契約番号を保持
//			setSijishoDataSetForSvcKei(param, fixedText, JKKAdchgConstCC.PARAM_KEY_SJISHO_TRN_KBN_INS, renkei_data_kbn_list);
//
//			// 新設サービス契約内訳番号を保持
//			setSijishoDataSetForSvcKeiUcwk(param, fixedText, JKKAdchgConstCC.PARAM_KEY_SJISHO_TRN_KBN_INS, renkei_data_kbn_list);
//
//			// 新設オプションサービス契約番号を保持
//			setSijishoDataSetForOpSvcKei(param, fixedText, JKKAdchgConstCC.PARAM_KEY_SJISHO_TRN_KBN_INS, renkei_data_kbn_list);
//
//		} else if (JKKAdchgConstCC.PARAM_KEY_SJISHO_SET_KBN_SVC_MOD.equals(trn_kbn)) {
//			// サービス変更時
//
//			// 更新サービス契約番号を保持
//			setSijishoDataSetForSvcKei(param, fixedText, JKKAdchgConstCC.PARAM_KEY_SJISHO_TRN_KBN_UPD, renkei_data_kbn_list);
//
//		} else if (JKKAdchgConstCC.PARAM_KEY_SJISHO_SET_KBN_SVC_SLRE.equals(trn_kbn)) {
//			// サービス解約時
//
//			// 解約サービス契約番号を保持
//			setSijishoDataSetForSvcKei(param, fixedText, JKKAdchgConstCC.PARAM_KEY_SJISHO_TRN_KBN_DEL, renkei_data_kbn_list);
//
//			// 解約サービス契約内訳番号を保持
//			setSijishoDataSetForSvcKeiUcwk(param, fixedText, JKKAdchgConstCC.PARAM_KEY_SJISHO_TRN_KBN_DEL, renkei_data_kbn_list);
//
//			// 解約オプションサービス契約番号を保持
//			setSijishoDataSetForOpSvcKei(param, fixedText, JKKAdchgConstCC.PARAM_KEY_SJISHO_TRN_KBN_DEL, renkei_data_kbn_list);
//
//		} else if (JKKAdchgConstCC.PARAM_KEY_SJISHO_SET_KBN_SVC_SLRE_WITH_ADD.equals(trn_kbn)) {
//			// サービス解約／新規
//
//			// 更新サービス契約番号を保持
//			setSijishoDataSetForSvcKei(param, fixedText, JKKAdchgConstCC.PARAM_KEY_SJISHO_TRN_KBN_UPD, renkei_data_kbn_list);
//
//		} else if (JKKAdchgConstCC.PARAM_KEY_SJISHO_SET_KBN_TEL_INS.equals(trn_kbn)) {
//
//			// 新設サービス契約内訳番号を保持
//			HashMap<String, Object> tel_ucwk_work = (HashMap<String, Object>)tel_ucwk;
//			setSijishoDataSetForSvcKeiUcwkUnit(param, fixedText, JKKAdchgConstCC.PARAM_KEY_SJISHO_TRN_KBN_INS, renkei_data_kbn_list, (String)tel_ucwk_work.get( JKKAdchgConstCC.PARAM_KEY_NEW_SVC_KEI_UCWK_NO));
//
//		} else if (JKKAdchgConstCC.PARAM_KEY_SJISHO_SET_KBN_TEL_DEL.equals(trn_kbn)) {
//
//			// 解約サービス契約内訳番号を保持
//			HashMap<String, Object> tel_ucwk_work = (HashMap<String, Object>)tel_ucwk;
//			setSijishoDataSetForSvcKeiUcwkUnit(param, fixedText, JKKAdchgConstCC.PARAM_KEY_SJISHO_TRN_KBN_DEL, renkei_data_kbn_list, (String)tel_ucwk_work.get( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UCWK_NO));
//
//		} else if (JKKAdchgConstCC.PARAM_KEY_SJISHO_SET_KBN_OP_CHK.equals(trn_kbn)) {
//
//			// 解約オプションサービス契約番号を保持
//			setSijishoDataSetForOpSvcKei(param, fixedText, JKKAdchgConstCC.PARAM_KEY_SJISHO_TRN_KBN_UPD, renkei_data_kbn_list);
//
//		}
//
//		// 連携リスト登録
//		paramMap.put( JKKAdchgConstCC.PARAM_KEY_SJISHO_RENKEI_DATA_KBN_LIST, renkei_data_kbn_list );
//
//	}
//
//	/**
//	 * 指示書登録データ設定(電話).
//	 * <br>
//	 * @param  param      モデルグループ、コントロールマップを含むリクエストパラメータ
//	 * @param  fixedText  ユーザ任意文字列
//	 * @throws Exception  例外が発生した場合
//	 */
//	public void setSijishoDataTv( IRequestParameterReadWrite param, String fixedText, String trn_kbn, String svc_ucwk_no ) throws Exception {
//
//		/** 前準備 **/
//// ST1-2012-0000760　2012/06/22 T.SAKAMOTO　DEL　START　未使用変数、処理を削除
////		HashMap<String, String> condMap;
//		HashMap<String, Object> paramMap = (HashMap<String, Object>)( param.getData(fixedText) );
////		HashMap<String, Object> reqMap;
////		Map<?, ?> resMap;
////
////		// 住所変更登録コモンコンポーネントマッピングクラスインスタンス
////		JKKAdchgMapperCC mapper = JKKAdchgMapperCC.getInstance();
////		// SCリクエストInvoker
////		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
//// ST1-2012-0000760　2012/06/22 T.SAKAMOTO　DEL　START　未使用変数、処理を削除
//
//		// 作業領域.連携データ区分リストの取得
//		ArrayList<HashMap<String, Object>> renkei_data_kbn_list = (ArrayList<HashMap<String, Object>>) paramMap.get( JKKAdchgConstCC.PARAM_KEY_SJISHO_RENKEI_DATA_KBN_LIST);
//		if (renkei_data_kbn_list == null) {
//			renkei_data_kbn_list = new ArrayList<HashMap<String, Object>>();
//		}
//
//		if (JKKAdchgConstCC.PARAM_KEY_SJISHO_SET_KBN_SVC_ADD.equals(trn_kbn)) {
//			// サービス追加時
//
//			// 新設サービス契約番号を保持
//			setSijishoDataSetForSvcKei(param, fixedText, JKKAdchgConstCC.PARAM_KEY_SJISHO_TRN_KBN_INS, renkei_data_kbn_list);
//
//			// 新設サービス契約内訳番号を保持
//			setSijishoDataSetForSvcKeiUcwk(param, fixedText, JKKAdchgConstCC.PARAM_KEY_SJISHO_TRN_KBN_INS, renkei_data_kbn_list);
//
//			// 新設オプションサービス契約番号を保持
//			setSijishoDataSetForOpSvcKei(param, fixedText, JKKAdchgConstCC.PARAM_KEY_SJISHO_TRN_KBN_INS, renkei_data_kbn_list);
//
//		} else if (JKKAdchgConstCC.PARAM_KEY_SJISHO_SET_KBN_SVC_UPD.equals(trn_kbn)) {
//			// サービス更新時
//
//			// 更新サービス契約番号を保持
//			setSijishoDataSetForSvcKei(param, fixedText, JKKAdchgConstCC.PARAM_KEY_SJISHO_TRN_KBN_UPD, renkei_data_kbn_list);
//
//		} else if (JKKAdchgConstCC.PARAM_KEY_SJISHO_SET_KBN_SVC_MOD.equals(trn_kbn)) {
//			// サービス変更時
//
//			// 更新サービス契約番号を保持
//			setSijishoDataSetForSvcKei(param, fixedText, JKKAdchgConstCC.PARAM_KEY_SJISHO_TRN_KBN_UPD, renkei_data_kbn_list);
//
//			// 更新サービス契約内訳番号を保持
//			//setSijishoDataSetForSvcKeiUcwk(param, fixedText, JKKAdchgConstCC.PARAM_KEY_SJISHO_TRN_KBN_UPD, renkei_data_kbn_list);
//
//		} else if (JKKAdchgConstCC.PARAM_KEY_SJISHO_SET_KBN_SVC_SLRE.equals(trn_kbn)) {
//			// サービス解約時
//
//			// 解約サービス契約番号を保持
//			setSijishoDataSetForSvcKei(param, fixedText, JKKAdchgConstCC.PARAM_KEY_SJISHO_TRN_KBN_DEL, renkei_data_kbn_list);
//
//			// 解約サービス契約内訳番号を保持
//			setSijishoDataSetForSvcKeiUcwk(param, fixedText, JKKAdchgConstCC.PARAM_KEY_SJISHO_TRN_KBN_DEL, renkei_data_kbn_list);
//
//			// 解約オプションサービス契約番号を保持
//			setSijishoDataSetForOpSvcKei(param, fixedText, JKKAdchgConstCC.PARAM_KEY_SJISHO_TRN_KBN_DEL, renkei_data_kbn_list);
//
//		} else if (JKKAdchgConstCC.PARAM_KEY_SJISHO_SET_KBN_SVC_SLRE_WITH_ADD.equals(trn_kbn)) {
//			// サービス解約／新規
//
//			// 解約サービス契約番号を保持
//			setSijishoDataSetForSvcKei(param, fixedText, JKKAdchgConstCC.PARAM_KEY_SJISHO_TRN_KBN_DEL, renkei_data_kbn_list);
//
//			// 新設サービス契約番号を保持
//			setSijishoDataSetForSvcKei(param, fixedText, JKKAdchgConstCC.PARAM_KEY_SJISHO_TRN_KBN_INS, renkei_data_kbn_list);
//
//		} else if (JKKAdchgConstCC.PARAM_KEY_SJISHO_SET_KBN_STB_INS.equals(trn_kbn)) {
//
//			// 新設サービス契約内訳番号を保持
//			setSijishoDataSetForSvcKeiUcwkUnit(param, fixedText, JKKAdchgConstCC.PARAM_KEY_SJISHO_TRN_KBN_INS, renkei_data_kbn_list, svc_ucwk_no);
//
//		} else if (JKKAdchgConstCC.PARAM_KEY_SJISHO_SET_KBN_STB_DEL.equals(trn_kbn)) {
//
//			// 解約サービス契約内訳番号を保持
//			setSijishoDataSetForSvcKeiUcwkUnit(param, fixedText, JKKAdchgConstCC.PARAM_KEY_SJISHO_TRN_KBN_DEL, renkei_data_kbn_list, svc_ucwk_no);
//
//		} else if (JKKAdchgConstCC.PARAM_KEY_SJISHO_SET_KBN_OP_CHK.equals(trn_kbn)) {
//
//			// 解約オプションサービス契約番号を保持
//			setSijishoDataSetForOpSvcKei(param, fixedText, JKKAdchgConstCC.PARAM_KEY_SJISHO_TRN_KBN_UPD, renkei_data_kbn_list);
//
//		}
//
//		// 連携リスト登録
//		paramMap.put( JKKAdchgConstCC.PARAM_KEY_SJISHO_RENKEI_DATA_KBN_LIST, renkei_data_kbn_list );
//
//	}
// ●● 巻@ 対応 END
// DB結果検証障害対応 No.62 OIJI DEL END ---------------------------------
	
// DB結果検証障害対応 No.62 OIJI ADD START -------------------------------
	
	/**
	 * 回線契約にかかるサービス契約番号とSYSIDとの紐付け情報の指示書データを追加します.
	 * 連携対象データ区分"02"
	 * @param param モデルグループ、コントロールマップを含むリクエストパラメータ
	 * @param fixedText ユーザ任意文字列
	 * @param trnKbn 処理区分(01:登録　02:更新　03:削除)
	 * @param svcKeiNo サービス契約番号
	 * @throws RequestParameterException 
	 */
	public void addShijishoDataForKaisenAdd(IRequestParameterReadWrite param, String fixedText, String trnKbn, String svcKeiNo) throws RequestParameterException {
		
		// 指示書CCに渡すデータ領域を取得
		HashMap<String, Object> paramMap = (HashMap<String, Object>) getShijishoParamMap(param);
		// 連携データMapを所得
		HashMap<String, Object> renkeiDataMap = getShijishoRenkeiDataMapByRenkeiKbn(paramMap, JKKAdchgConstCC.SHIJISHO_RENKEI_KBN.RENKEI_KBN_KAISEN, trnKbn);
		// サービス契約リスト
		ArrayList<HashMap<String, Object>> svcKeiList = 
			(ArrayList<HashMap<String,Object>>) renkeiDataMap.get(JKKAdchgConstCC.PARAM_KEY_SHIJISHO_SVC_KEI_LIST);
		if (svcKeiList == null) {
			// サービス契約リスト未設定の場合は初期化して設定
			svcKeiList = new ArrayList<HashMap<String,Object>>();
			renkeiDataMap.put(JKKAdchgConstCC.PARAM_KEY_SHIJISHO_SVC_KEI_LIST, svcKeiList);
		}
		// 引数で指定されたサービス契約番号を追加
		HashMap<String,Object> dataMap = new HashMap<String,Object>();
		dataMap.put(JKKAdchgConstCC.PARAM_KEY_SHIJISHO_SVC_KEI_NO, svcKeiNo);
		svcKeiList.add(dataMap);
	}
	
	/**
	 * POPIDの情報の指示書データを追加します.
	 * 連携対象データ区分"03"
	 * @param param モデルグループ、コントロールマップを含むリクエストパラメータ
	 * @param fixedText ユーザ任意文字列
	 * @param trnKbn 処理区分(01:登録　02:更新　03:削除)
	 * @param opSvcKeiNo オプションサービス契約番号
	 * @throws RequestParameterException 
	 */
	public void addShijishoDataForPop(IRequestParameterReadWrite param, String fixedText, String trnKbn, String opSvcKeiNo) throws RequestParameterException {
		
		// 指示書CCに渡すデータ領域を取得
		HashMap<String, Object> paramMap = (HashMap<String, Object>) getShijishoParamMap(param);
		// 連携データMapを所得
		HashMap<String, Object> renkeiDataMap = getShijishoRenkeiDataMapByRenkeiKbn(paramMap, JKKAdchgConstCC.SHIJISHO_RENKEI_KBN.RENKEI_KBN_POPID, trnKbn);
		// オプションサービス契約情報リスト
		ArrayList<HashMap<String, Object>> opSvcKeiList = 
			(ArrayList<HashMap<String,Object>>) renkeiDataMap.get(JKKAdchgConstCC.PARAM_KEY_SHIJISHO_OP_SVC_KEI_LIST);
		if (opSvcKeiList == null) {
			// オプションサービス契約リスト未設定の場合は初期化して設定
			opSvcKeiList = new ArrayList<HashMap<String,Object>>();
			renkeiDataMap.put(JKKAdchgConstCC.PARAM_KEY_SHIJISHO_OP_SVC_KEI_LIST, opSvcKeiList);
		}
		// 引数で指定されたオプションサービス契約番号を追加
		HashMap<String,Object> dataMap = new HashMap<String,Object>();
		dataMap.put(JKKAdchgConstCC.PARAM_KEY_SHIJISHO_OP_SVC_KEI_NO, opSvcKeiNo);
		opSvcKeiList.add(dataMap);
	}
	
	/**
	 * WEBIDの情報の指示書データを追加します.
	 * 連携対象データ区分"04"
	 * @param param モデルグループ、コントロールマップを含むリクエストパラメータ
	 * @param fixedText ユーザ任意文字列
	 * @param trnKbn 処理区分(01:登録　02:更新　03:削除)
	 * @param opSvcKeiNo オプションサービス契約番号
	 * @throws RequestParameterException 
	 */
	public void addShijishoDataForWebId(IRequestParameterReadWrite param, String fixedText, String trnKbn, String opSvcKeiNo) throws RequestParameterException {
		
		// 指示書CCに渡すデータ領域を取得
		HashMap<String, Object> paramMap = (HashMap<String, Object>) getShijishoParamMap(param);
		// 連携データMapを所得
		HashMap<String, Object> renkeiDataMap = getShijishoRenkeiDataMapByRenkeiKbn(paramMap, JKKAdchgConstCC.SHIJISHO_RENKEI_KBN.RENKEI_KBN_WEBID, trnKbn);
		// オプションサービス契約情報リスト
		ArrayList<HashMap<String, Object>> opSvcKeiList = 
			(ArrayList<HashMap<String,Object>>) renkeiDataMap.get(JKKAdchgConstCC.PARAM_KEY_SHIJISHO_OP_SVC_KEI_LIST);
		if (opSvcKeiList == null) {
			// オプションサービス契約リスト未設定の場合は初期化して設定
			opSvcKeiList = new ArrayList<HashMap<String,Object>>();
			renkeiDataMap.put(JKKAdchgConstCC.PARAM_KEY_SHIJISHO_OP_SVC_KEI_LIST, opSvcKeiList);
		}
		// 引数で指定されたオプションサービス契約番号を追加
		HashMap<String,Object> dataMap = new HashMap<String,Object>();
		dataMap.put(JKKAdchgConstCC.PARAM_KEY_SHIJISHO_OP_SVC_KEI_NO, opSvcKeiNo);
		opSvcKeiList.add(dataMap);
	}

	/**
	 * 認証IDの情報の指示書データを追加します.
	 * 連携対象データ区分"05"
	 * @param param モデルグループ、コントロールマップを含むリクエストパラメータ
	 * @param fixedText ユーザ任意文字列
	 * @param trnKbn 処理区分(01:登録　02:更新　03:削除)
	 * @param svcKeiUcwkNo サービス契約内訳番号
	 * @throws RequestParameterException 
	 */
	public void addShijishoDataForNinshoId(IRequestParameterReadWrite param, String fixedText, String trnKbn, String svcKeiUcwkNo) throws RequestParameterException {
		
		// 指示書CCに渡すデータ領域を取得
		HashMap<String, Object> paramMap = (HashMap<String, Object>) getShijishoParamMap(param);
		// 連携データMapを所得
		HashMap<String, Object> renkeiDataMap = getShijishoRenkeiDataMapByRenkeiKbn(paramMap, JKKAdchgConstCC.SHIJISHO_RENKEI_KBN.RENKEI_KBN_ACCEPT, trnKbn);
		// サービス契約内訳情報リスト
		ArrayList<HashMap<String, Object>> svcKeiUcwkList = 
			(ArrayList<HashMap<String,Object>>) renkeiDataMap.get(JKKAdchgConstCC.PARAM_KEY_SHIJISHO_SVC_KEI_UCWK_LIST);
		if (svcKeiUcwkList == null) {
			// オプションサービス契約リスト未設定の場合は初期化して設定
			svcKeiUcwkList = new ArrayList<HashMap<String,Object>>();
			renkeiDataMap.put(JKKAdchgConstCC.PARAM_KEY_SHIJISHO_SVC_KEI_UCWK_LIST, svcKeiUcwkList);
		}
		// 引数で指定されたオプションサービス契約番号を追加
		HashMap<String,Object> dataMap = new HashMap<String,Object>();
		dataMap.put(JKKAdchgConstCC.PARAM_KEY_SHIJISHO_SVC_KEI_UCWK_NO, svcKeiUcwkNo);
		svcKeiUcwkList.add(dataMap);
	}
	
	/**
	 * 回線契約に紐づく各種サービス契約の情報の指示書データを追加します.
	 * 連携対象データ区分"07"
	 * @param param モデルグループ、コントロールマップを含むリクエストパラメータ
	 * @param fixedText ユーザ任意文字列
	 * @param trnKbn 処理区分(01:登録　02:更新　03:削除)
	 * @param svcKeiNo サービス契約番号
	 * @throws RequestParameterException 
	 */
	public void addShijishoDataForKaisenSvc(IRequestParameterReadWrite param, String fixedText, String trnKbn, String svcKeiNo) throws RequestParameterException {
		
		// 指示書CCに渡すデータ領域を取得
		HashMap<String, Object> paramMap = (HashMap<String, Object>) getShijishoParamMap(param);
		// 連携データMapを所得
		HashMap<String, Object> renkeiDataMap = getShijishoRenkeiDataMapByRenkeiKbn(paramMap, JKKAdchgConstCC.SHIJISHO_RENKEI_KBN.RENKEI_KBN_KAISEN_SVC, trnKbn);
		// サービス契約リスト
		ArrayList<HashMap<String, Object>> svcKeiList = 
			(ArrayList<HashMap<String,Object>>) renkeiDataMap.get(JKKAdchgConstCC.PARAM_KEY_SHIJISHO_SVC_KEI_LIST);
		if (svcKeiList == null) {
			// サービス契約リスト未設定の場合は初期化して設定
			svcKeiList = new ArrayList<HashMap<String,Object>>();
			renkeiDataMap.put(JKKAdchgConstCC.PARAM_KEY_SHIJISHO_SVC_KEI_LIST, svcKeiList);
		}
		// 引数で指定されたサービス契約番号を追加
		HashMap<String,Object> dataMap = new HashMap<String,Object>();
		dataMap.put(JKKAdchgConstCC.PARAM_KEY_SHIJISHO_SVC_KEI_NO, svcKeiNo);
		svcKeiList.add(dataMap);
	}
	
	/**
	 * 支払方法入力支援の情報の指示書データを追加します.
	 * 連携対象データ区分"08"
	 * @param param モデルグループ、コントロールマップを含むリクエストパラメータ
	 * @param fixedText ユーザ任意文字列
	 * @param trnKbn 処理区分(01:登録　02:更新　03:削除)
	 * @param svcKeiNo サービス契約番号
	 * @throws RequestParameterException 
	 */
	public void addShijishoDataForShiharai(IRequestParameterReadWrite param, String fixedText, String trnKbn, String svcKeiNo) throws RequestParameterException {
		
		// 指示書CCに渡すデータ領域を取得
		HashMap<String, Object> paramMap = (HashMap<String, Object>) getShijishoParamMap(param);
		// 連携データMapを所得
		HashMap<String, Object> renkeiDataMap = getShijishoRenkeiDataMapByRenkeiKbn(paramMap, JKKAdchgConstCC.SHIJISHO_RENKEI_KBN.RENKEI_KBN_PAYWAY, trnKbn);
		// SYSID
		String sysid = (String) renkeiDataMap.get(JKKAdchgConstCC.PARAM_KEY_SHIJISHO_SYSID);
		if (StringUtils.isEmpty(sysid)) {
			// 未設定の場合、設定する
			HashMap<String, Object> kksv_9800_map = (HashMap<String, Object>) param.getData(KKSV0098_KKSV0098OP.KKSV009800CC);
			renkeiDataMap.put(JKKAdchgConstCC.PARAM_KEY_SHIJISHO_SYSID, kksv_9800_map.get(KKSV0098_KKSV0098OP.SYSID));
		}
		// サービス契約リスト
		ArrayList<HashMap<String, Object>> svcKeiList = 
			(ArrayList<HashMap<String,Object>>) renkeiDataMap.get(JKKAdchgConstCC.PARAM_KEY_SHIJISHO_SVC_KEI_LIST);
		if (svcKeiList == null) {
			// サービス契約リスト未設定の場合は初期化して設定
			svcKeiList = new ArrayList<HashMap<String,Object>>();
			renkeiDataMap.put(JKKAdchgConstCC.PARAM_KEY_SHIJISHO_SVC_KEI_LIST, svcKeiList);
		}
		// 引数で指定されたサービス契約番号を追加
		HashMap<String,Object> dataMap = new HashMap<String,Object>();
		dataMap.put(JKKAdchgConstCC.PARAM_KEY_SHIJISHO_SVC_KEI_NO, svcKeiNo);
		svcKeiList.add(dataMap);
	}
	
	/**
	 * 指示書CCに引き渡すパラメータのMapを取得します.
	 * @param param モデルグループ、コントロールマップを含むリクエストパラメータ
	 * @return
	 * @throws RequestParameterException 
	 */
	private HashMap<String, Object> getShijishoParamMap(IRequestParameterReadWrite param) throws RequestParameterException {
		
		HashMap<String, Object> paramMap = (HashMap<String, Object>) param.getData(KKSV0098_KKSV0098OP.KKSV009843CC);
		
		if (paramMap == null) {
			// まだ未設定の場合、初期化して設定
			paramMap = new HashMap<String, Object>();
			param.setData(KKSV0098_KKSV0098OP.KKSV009843CC, paramMap);
		}
		return paramMap;
	}
	
	/**
	 * 指示書CCに引き渡すパラメータのMapから、指定された連携データ区分の連携データMapを取得します.
	 * @param paramMap 指示書CCに引き渡すパラメータのMap
	 * @param renkeiDataKbn 連携データ区分
	 * @param trnKbn 処理区分(01:登録　02:更新　03:削除)
	 * @return
	 */
	private HashMap<String, Object> getShijishoRenkeiDataMapByRenkeiKbn(HashMap<String, Object> paramMap, String renkeiDataKbn, String trnKbn) throws RequestParameterException {
		
		// 指定された連携データ区分/処理区分がnullの場合、エラー
		if (StringUtils.isEmpty(renkeiDataKbn) || StringUtils.isEmpty(trnKbn)) {
			throw new RequestParameterException();
		}
		
		// 連携データ区分リストを所得
		ArrayList<HashMap<String, Object>> renkeiDataKbnList =
			(ArrayList<HashMap<String,Object>>) paramMap.get(JKKAdchgConstCC.PARAM_KEY_SHIJISHO_RENKEI_DATA_KBN_LIST);
		
		if (renkeiDataKbnList == null) {
			// まだ未設定の場合、初期化して設定
			renkeiDataKbnList = new ArrayList<HashMap<String,Object>>();
			paramMap.put(JKKAdchgConstCC.PARAM_KEY_SHIJISHO_RENKEI_DATA_KBN_LIST, renkeiDataKbnList);
		}
		
		for (HashMap<String,Object> renkeiDataKbnMap : renkeiDataKbnList) {
			// 連携データ区分を取得
			String renkeiDataKbnVal = (String) renkeiDataKbnMap.get(JKKAdchgConstCC.PARAM_KEY_SHIJISHO_RENKEI_DATA_KBN);
			// 処理区分を取得
			String trnKbnVal = (String) renkeiDataKbnMap.get(JKKAdchgConstCC.PARAM_KEY_SHIJISHO_TRN_KBN);
			
			if (renkeiDataKbn.equals(renkeiDataKbnVal) && trnKbn.equals(trnKbnVal)) {
				// 引数の連携データ区分・処理区分と一致した場合はそのMapを返却
				return renkeiDataKbnMap;
			}
		}
		
		// まだ連携データ区分リストに存在しない場合、初期化して追加
		HashMap<String,Object> renkeiDataKbnMap = new HashMap<String, Object>();
		renkeiDataKbnMap.put(JKKAdchgConstCC.PARAM_KEY_SHIJISHO_RENKEI_DATA_KBN, renkeiDataKbn);
		renkeiDataKbnMap.put(JKKAdchgConstCC.PARAM_KEY_SHIJISHO_TRN_KBN, trnKbn);
		renkeiDataKbnList.add(renkeiDataKbnMap);
		
		return renkeiDataKbnMap;
	}
	
	/**
	 * 指示書に指定するオプションサービス契約番号の一覧を取得します.
	 * @param param モデルグループ、コントロールマップを含むリクエストパラメータ
	 * @param fixedText ユーザ任意文字列
	 * @param targetSvcCd 抽出したいオプションサービス契約のオプションサービスコード
	 * @param trnKbn 処理区分
	 * @return
	 * @throws Exception
	 */
	public List<String> selectShijishoTargetOption(IRequestParameterReadWrite param, String fixedText, String targetSvcCd, String trnKbn) throws Exception {
		
		if (StringUtils.isEmpty(targetSvcCd)) {
			// 引数のオプションサービスコードが空の場合
			throw new RequestParameterException();
		}
		
		/** 前準備 **/
		HashMap<String, String> condMap;
		HashMap<String, Object> paramMap = (HashMap<String, Object>) param.getData(fixedText);
		HashMap<String, Object> reqMap;
		Map<?, ?> resMap;
		
		// マッピングクラスインスタンスを取得
		JKKAdchgMapperCC mapper = JKKAdchgMapperCC.getInstance();
		// SCリクエストInvokerを取得
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();

		String svcKeiNo = null;
		if (JKKAdchgConstCC.SHIJISHO_TRN_KBN.ADD.equals(trnKbn)) {
			// サービス契約番号
			svcKeiNo = (String) paramMap.get(JKKAdchgConstCC.PARAM_KEY_NEW_SVC_KEI_NO);
		} else {
			// サービス契約番号
			svcKeiNo = (String) paramMap.get(JKKAdchgConstCC.PARAM_KEY_SVC_KEI_NO);
		}
			
		// ・EKK0351B002 オプションサービス契約一覧照会（サービス契約番号）
		condMap = new HashMap<String, String>();
		condMap.put(JKKAdchgMapperCC.COND_KEY_SVC_KEI_NO, svcKeiNo);
		condMap.put(JKKAdchgMapperCC.COND_KEY_OP_SVC_CD, targetSvcCd);
		reqMap = mapper.setEKK0351B002(param, fixedText, condMap);
		resMap = scCall.run(reqMap, keepSesHandle);
		ArrayList<HashMap<String, Object>> opSvcKeiList = mapper.getEKK0351B002( param, fixedText, resMap );
		mapper.scResultCheck( param );
		
		List<String> retList = new ArrayList<String>();
		if (opSvcKeiList == null || opSvcKeiList.isEmpty()) {
			return retList;
		}
		
		for (HashMap<String, Object> targetMap : opSvcKeiList) {
			
			String opSvcKeiNo = (String) targetMap.get(EKK0351B002CBSMsg1List.OP_SVC_KEI_NO);
			String opSvcCd = (String) targetMap.get(EKK0351B002CBSMsg1List.OP_SVC_CD);
			
			if (targetSvcCd.equals(opSvcCd) && !retList.contains(opSvcKeiNo)) {
				// 指定されたオプションサービスコードと一致し対象のオプションサービス契約番号がまだリストにない場合、追加する
				retList.add(opSvcKeiNo);
			}
		}
		return retList;
	}
	
	/**
	 * 指示書に指定するサービス契約内訳番号の一覧を取得します.
	 * @param param モデルグループ、コントロールマップを含むリクエストパラメータ
	 * @param fixedText ユーザ任意文字列
	 * @param trnKbn 処理区分
	 * @return
	 * @throws Exception
	 */
	public List<String> selectShijishoTargetSvcKeiUcwk(IRequestParameterReadWrite param, String fixedText, String trnKbn) throws Exception {
		
		/** 前準備 **/
		HashMap<String, String> condMap;
		HashMap<String, Object> paramMap = (HashMap<String, Object>) param.getData(fixedText);
		HashMap<String, Object> reqMap;
		Map<?, ?> resMap;

		// マッピングクラスインスタンスを取得
		JKKAdchgMapperCC mapper = JKKAdchgMapperCC.getInstance();
		// SCリクエストInvokerを取得
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();

		String svcKeiNo = null;
		if (JKKAdchgConstCC.SHIJISHO_TRN_KBN.ADD.equals(trnKbn)) {
			// サービス契約番号
			svcKeiNo = (String) paramMap.get(JKKAdchgConstCC.PARAM_KEY_NEW_SVC_KEI_NO);
		} else {
			// サービス契約番号
			svcKeiNo = (String) paramMap.get(JKKAdchgConstCC.PARAM_KEY_SVC_KEI_NO);
		}
			
		// ・EKK0161B004 サービス契約内訳一覧照会
		condMap = new HashMap<String, String>();
		condMap.put(JKKAdchgMapperCC.COND_KEY_SVC_KEI_NO, svcKeiNo);
		reqMap = mapper.setEKK0161B004( param, fixedText, condMap );
		resMap = scCall.run(reqMap, keepSesHandle);
		ArrayList<HashMap<String, Object>> kk0161_b004_lst = mapper.getEKK0161B004( param, fixedText, resMap );
		mapper.scResultCheck( param );
		
		List<String> retList = new ArrayList<String>();
		if (kk0161_b004_lst == null || kk0161_b004_lst.isEmpty()) {
			return retList;
		}
		
		for (HashMap<String, Object> targetMap : kk0161_b004_lst) {
			retList.add((String) targetMap.get(EKK0161B004CBSMsg1List.SVC_KEI_UCWK_NO));
		}
		
		return retList;
	}
// DB結果検証障害対応 No.62 OIJI ADD END ---------------------------------

// ●● 巻@-1 対応 START
	/**
	 * 機器自動交換チェック処理 (ルーター, VAの交換チェック)
	 * <br>
	 * @param  param			モデルグループ、コントロールマップを含むリクエストパラメータ
	 * @param  fixedText		ユーザ任意文字列
	 * @param  adchg_dtl_list_kktk_svc_kei	機器リスト一覧
	 * @param  svc_cd			サービスコード
	 * @param  prcs_cd         転居先料金コース
	 * @param  etc_router      ネットの場合には転居先のルータ設置種別
	 * @throws 例外が発生した場合
	 */
	public boolean chkAutoChgKiki( IRequestParameterReadWrite param, String fixedText,
			ArrayList<HashMap<String, Object>> adchg_dtl_list_kktk_svc_kei, 
			String svc_cd, String prcs_cd, String stc_router, HashMap<String, Object> kikiParamMap) throws Exception {
		
		return chkAutoChgKiki(param, fixedText, adchg_dtl_list_kktk_svc_kei, svc_cd, prcs_cd, null, stc_router, kikiParamMap);
// ST2-2013-0000356対応 20130209 星野 ADD START
	}
	
	public boolean chkAutoChgKiki( IRequestParameterReadWrite param, String fixedText,
			ArrayList<HashMap<String, Object>> adchg_dtl_list_kktk_svc_kei, 
			String svc_cd, String prcs_cd, String prcs_cd_bf, String stc_router, HashMap<String, Object> kikiParamMap) throws Exception {
// ST2-2013-0000356対応 20130209 星野 ADD END

		/** 事前準備 */
		HashMap<String, String> condMap;
		HashMap<String, Object> paramMap = (HashMap<String, Object>)( param.getData(fixedText) );
		HashMap<String, Object> reqMap;
		Map<?, ?> resMap;

		// 住所情報変更初期表示情報取得コモンコンポーネント
		// マッピングクラスインスタンスを取得
		JKKAdchgMapperCC mapper = JKKAdchgMapperCC.getInstance();

		// SCリクエストInvokerを取得
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();

		if ( svc_cd.equals(JKKAdchgConstCC.CD00130_INET_SVC)) {
			// ネットのルータ自動交換チェック

			HashMap<String, Object> kikiMap = null;
			if (kikiParamMap != null) {
				kikiMap = kikiParamMap;
				
// 障害対応 IT1-2012-0000636 T.SAKAMOTO MOD START ----------
				
				// 転居先サービスから新設タブへ遷移した場合、機器提供サービス契約番号で設定されてくる
				Object tgtNo = kikiMap.get(JKKAdchgConstCC.PARAM_KEY_KKTK_SVC_KEI_NO);
				if (null == tgtNo) {
					// 住所変更登録時、変更対象契約番号に設定されてくる
					tgtNo = kikiMap.get(JKKAdchgConstCC.PARAM_KEY_ADCHG_DTL_CHG_TG_KEI_NO);
				}
				kikiMap.put(JKKAdchgConstCC.PARAM_KEY_ADCHG_DTL_CHG_TG_KEI_NO, tgtNo);
				
// 障害対応 IT1-2012-0000636 T.SAKAMOTO MOD END---------------
				
			} else {
				kikiMap = getKikiRec(param, fixedText, adchg_dtl_list_kktk_svc_kei, TAKNKIKI_SBT_CD_F0);
			}

			if (kikiMap == null) {
				// 既設ルータなし

				// 転居先ルーター利用
				if (JKKAdchgCmnLogicCC.ROUTER_NONE.equals(stc_router)) {

					// ルーター利用不要
					return false;

				} else {
					// 新規設置要
					return true;
				}

			} else {
				
				// 転居先ルーター利用
				if (JKKAdchgCmnLogicCC.ROUTER_NONE.equals(stc_router)) {

					// ルーター利用不要
					return false;

				} else {
				
					// 転居先利用ルーターの機器提供サービス料金コースコード決定
					String kikiPcrsCd = fixKikiPcrsCd(prcs_cd, stc_router);
					
// ST2-2013-0000356対応 20130209 星野 ADD START
					// 変更前スペックコード決定
					String chbfKikiSpecCd = getKikiSpecCd(prcs_cd_bf);
					// 変更後スペックコード決定
					String chafKikiSpecCd = getKikiSpecCd(prcs_cd);
// ST2-2013-0000356対応 20130209 星野 ADD END
// 20130505 ADD START
					if (chbfKikiSpecCd.compareTo(chafKikiSpecCd) == 0)
					{
						// 料金コース速度コードが変わっていない場合、処理終了
						return false;
					}
					else if (chbfKikiSpecCd.compareTo(chafKikiSpecCd) > 0)
					{
						// 料金コース速度コードが遅くなった場合、処理終了
						return false;
					}
// 20130505 ADD END
					if (kikiMap == null) {
						return false;
					}
					String kktkSvcKeiNo = (String) kikiMap.get( JKKAdchgConstCC.PARAM_KEY_ADCHG_DTL_CHG_TG_KEI_NO );
					if (StringUtils.isEmpty(kktkSvcKeiNo)) {
						return false;
					}
					String opeDate = null;
					if (paramMap.get( JKKAdchgConstCC.PARAM_KEY_OPE_DATE ) != null) {
						opeDate =  paramMap.get( JKKAdchgConstCC.PARAM_KEY_OPE_DATE ).toString();
					} else {
						opeDate = JCCBPCommon.getOpeDate(null);
					}
					// ■ EKK0341A010 機器提供サービス契約一意照会
					condMap = new HashMap<String, String>();
					condMap.put( JKKAdchgMapperCC.COND_KEY_KKTK_SVC_KEI_NO, kktkSvcKeiNo );
					condMap.put( JKKAdchgMapperCC.COND_KEY_OPEDATE, opeDate );
					reqMap = mapper.setEKK0341A010( param, fixedText, condMap );
					resMap = scCall.run( reqMap, keepSesHandle );
					HashMap<String, Object> kk0341_a010_map = mapper.getEKK0341A010( param, fixedText, resMap );
					mapper.scResultCheck( param );

					// EKK1651B001_機器自動交換対象型式一覧照会 (複合検索)
// ST2-2013-0000356対応 20130209 星野 MOD START
					condMap.put( JKKAdchgMapperCC.COND_KEY_KKTSV_PCRS_CD, getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.PCRS_CD) );
// ST2-2013-0000356対応 20130209 星野 MOD END
// ST2-2013-0000356対応 20130209 星野 MOD START
//					condMap.put( JKKAdchgMapperCC.COND_KEY_CHBF_KIKI_SPEC_CD, "" );
//					condMap.put( JKKAdchgMapperCC.COND_KEY_CHAF_KIKI_SPEC_CD, "" );
					condMap.put( JKKAdchgMapperCC.COND_KEY_CHBF_KIKI_SPEC_CD, chbfKikiSpecCd );
					condMap.put( JKKAdchgMapperCC.COND_KEY_CHAF_KIKI_SPEC_CD, chafKikiSpecCd );
// ST2-2013-0000356対応 20130209 星野 MOD END
// ST2-2013-0000356対応 20130209 星野 MOD START
//					condMap.put( JKKAdchgMapperCC.COND_KEY_MODEL_CD, getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.TAKNKIKI_MODEL_CD));
					condMap.put( JKKAdchgMapperCC.COND_KEY_CHBF_TAKNKIKI_MODEL_CD, getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.TAKNKIKI_MODEL_CD));
// ST2-2013-0000356対応 20130209 星野 MOD END
					condMap.put( JKKAdchgMapperCC.COND_KEY_OPEDATE, opeDate );
					reqMap = mapper.setEKK1651B001( param, fixedText, condMap );
					resMap = scCall.run( reqMap, keepSesHandle );
					ArrayList<HashMap<String, Object>> kk1651_b001_list = mapper.getEKK1651B001( param, fixedText, resMap );
					mapper.scResultCheck( param );

					// 機器一覧．イテレータ
					Iterator<HashMap<String, Object>> kk1651_b001_list_iterator = kk1651_b001_list.iterator();
					while ( kk1651_b001_list_iterator.hasNext() ) {
						// 機器一覧．次要素
						HashMap<String, Object> check_map = kk1651_b001_list_iterator.next();

						if ("001".equals(check_map.get(EKK1651B001CBSMsg1List.ATKN_SBT_CD)) &&	// コース変更
							"C014".equals(check_map.get(EKK1651B001CBSMsg1List.KKTK_SVC_CD))) {   // BBR
							// 交換対象あり
							if (getMapString( kk0341_a010_map, EKK0341A010CBSMsg1List.TAKNKIKI_MODEL_CD).
									equals(getMapString( check_map, EKK1651B001CBSMsg1List.KOKAN_AF_TAKNKIKI_MODEL_CD))) {
// ST2-2013-0000356対応 20130209 星野 DEL START
// この場でreturnはしないで次レコードを取得
//								return false;
// ST2-2013-0000356対応 20130209 星野 DEL START
							} else {
								return true;
							}
						}
					}
					// 交換対象なし
					return false;
				}
			}

		} else if ( svc_cd.equals(JKKAdchgConstCC.CD00130_TEL_SVC)) {
			// 電話の自動交換チェック

			HashMap<String, Object> kikiMap = null;
			
			if (kikiParamMap != null) {
				kikiMap = kikiParamMap;
// 障害対応 IT1-2012-0000636 T.SAKAMOTO MOD START ----------
				
				// 転居先サービスから新設タブへ遷移した場合、機器提供サービス契約番号で設定されてくる
				Object tgtNo = kikiMap.get(JKKAdchgConstCC.PARAM_KEY_KKTK_SVC_KEI_NO);
				if (null == tgtNo) {
					// 住所変更登録時、変更対象契約番号に設定されてくる
					tgtNo = kikiMap.get(JKKAdchgConstCC.PARAM_KEY_ADCHG_DTL_CHG_TG_KEI_NO);
				}
				kikiMap.put(JKKAdchgConstCC.PARAM_KEY_ADCHG_DTL_CHG_TG_KEI_NO, tgtNo);
				
// 障害対応 IT1-2012-0000636 T.SAKAMOTO MOD END---------------
			} else {
				kikiMap = getKikiRec(param, fixedText, adchg_dtl_list_kktk_svc_kei, TAKNKIKI_SBT_CD_50);
			}

			if (kikiMap == null) {
				return false;
			}
			String kktkSvcKeiNo = (String) kikiMap.get( JKKAdchgConstCC.PARAM_KEY_ADCHG_DTL_CHG_TG_KEI_NO );
			if (StringUtils.isEmpty(kktkSvcKeiNo)) {
				return false;
			}
			String opeDate = null;
			if (paramMap.get( JKKAdchgConstCC.PARAM_KEY_OPE_DATE ) != null) {
				opeDate =  paramMap.get( JKKAdchgConstCC.PARAM_KEY_OPE_DATE ).toString();
			} else {
				opeDate = JCCBPCommon.getOpeDate(null);
			}
			// ■ EKK0341A010 機器提供サービス契約一意照会
			condMap = new HashMap<String, String>();
			condMap.put( JKKAdchgMapperCC.COND_KEY_KKTK_SVC_KEI_NO, kktkSvcKeiNo );
			condMap.put( JKKAdchgMapperCC.COND_KEY_OPEDATE, opeDate );
			reqMap = mapper.setEKK0341A010( param, fixedText, condMap );
			resMap = scCall.run( reqMap, keepSesHandle );
			HashMap<String, Object> kk0341_a010_map = mapper.getEKK0341A010( param, fixedText, resMap );
			mapper.scResultCheck( param );

			// VA
// 障害対応 IT1-2012-0000636 T.SAKAMOTO MOD START ----------
//			if ("A36".equals(prcs_cd)) {
			if ("A31".equals(prcs_cd)) {
// 障害対応 IT1-2012-0000636 T.SAKAMOTO MOD END ----------
				// 1番号サービス(1ポートVA)
				return false;

			} else {
				// 2番号の場合

				//EZM0411A010 宅内機器型式一意照会により機器のポート数を取得する
				String portNum = getVAPortCnt(param, fixedText, (String)kk0341_a010_map.get(EKK0341A010CBSMsg1List.TAKNKIKI_MODEL_CD));
				
				if ("1".equals(portNum)) {
					// 2番号コースで機器が1ポートのため交換要
					return true;
				} else {
					// 機器が既に2ポート対応
					return false;
				}
			}
		}

		return false;

	}

	/**
	 * 機器リストより、指定した宅内機器種別コードのレコードを取得
	 * 
	 * @param  adchg_dtl_list_kktk_svc_kei	機器リスト一覧
	 * @param  taknkiki_sbt_cd 宅内機器種別コード
	 * @return 対象機器レコード
	 * @throws Exception 
	 */
	private HashMap<String, Object> getKikiRec(IRequestParameterReadWrite param, 
												String fixedText,
												ArrayList<HashMap<String, Object>> adchg_dtl_list_kktk_svc_kei, 
												String taknkiki_sbt_cd) throws Exception {

		/** 事前準備 */
		HashMap<String, String> condMap;
		HashMap<String, Object> paramMap = (HashMap<String, Object>)( param.getData(fixedText) );
		HashMap<String, Object> reqMap;
		Map<?, ?> resMap;

		// 住所情報変更初期表示情報取得コモンコンポーネント
		// マッピングクラスインスタンスを取得
		JKKAdchgMapperCC mapper = JKKAdchgMapperCC.getInstance();

		// SCリクエストInvokerを取得
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();

		// 機器一覧．イテレータ
		Iterator<HashMap<String, Object>> adchg_dtl_list_kktk_svc_kei_iterator = adchg_dtl_list_kktk_svc_kei.iterator();
		while ( adchg_dtl_list_kktk_svc_kei_iterator.hasNext() ) {
			// 機器一覧．次要素
			HashMap<String, Object> change_map = adchg_dtl_list_kktk_svc_kei_iterator.next();
			
			// 機器提供サービス契約番号を持たない場合は処理を飛ばす
			if ( StringUtils.isEmpty( (String) change_map.get( JKKAdchgConstCC.PARAM_KEY_ADCHG_DTL_CHG_TG_KEI_NO ) ) ) {
				continue;
			}

			// ■ EKK0341A010 機器提供サービス契約一意照会
			condMap = new HashMap<String, String>();
			condMap.put( JKKAdchgMapperCC.COND_KEY_KKTK_SVC_KEI_NO, change_map.get( JKKAdchgConstCC.PARAM_KEY_ADCHG_DTL_CHG_TG_KEI_NO ).toString() );
			condMap.put( JKKAdchgMapperCC.COND_KEY_OPEDATE, paramMap.get( JKKAdchgConstCC.PARAM_KEY_OPE_DATE ).toString() );
			reqMap = mapper.setEKK0341A010( param, fixedText, condMap );
			resMap = scCall.run( reqMap, keepSesHandle );
			HashMap<String, Object> kk0341_a010_map = mapper.getEKK0341A010( param, fixedText, resMap );
			mapper.scResultCheck( param );
			
			// 宅内機器種別が｢ONU｣｢V-ONU｣の場合は以下の処理を飛ばす
			String work_taknkiki_sbt_cd = kk0341_a010_map.get( "taknkiki_sbt_cd" ).toString();
			if ( taknkiki_sbt_cd.equals( work_taknkiki_sbt_cd )) {
				return change_map;
			}

		}
		
		return null;

	}

	/**
	 * 機器提供サービス料金コースコード決定処理
	 * 
	 * @param kikiPcrsCd 料金コースコード
	 * @param stcRouter  設置ルーター種別
	 * @return 機器提供サービス料金コースコード
	 */
	private String fixKikiPcrsCd(String pcrsCd, String stcRouter) {

		String kikiPcrsCd = "";

		String pcrsSpeedCd = getKikiSpecCd(pcrsCd);

		// 速度と設置ルータ種別から機器提供サービス料金コース決定
		if (PCRS_SPEED_CD_100M.equals(pcrsSpeedCd)) {
			
			if (stcRouter.equals(ROUTER_BASIC)) {
				// ベーシックルーター
				kikiPcrsCd = PCRS_CD_C24;
			} else {
				// 無線ルータ
				kikiPcrsCd = PCRS_CD_C22;
			}

		} else {

			if (stcRouter.equals(ROUTER_BASIC)) {
				// ベーシックルーター
				kikiPcrsCd = PCRS_CD_C25;
			} else {
				// 無線ルータ
				kikiPcrsCd = PCRS_CD_C23;
			}

		}
		
		return kikiPcrsCd;
		
	}

	private String getKikiSpecCd(String pcrsCd) {
		// プランから速度の決定
		String pcrsSpeedCd = "";
		boolean is100M =  PCRS_CD_A03.equals(pcrsCd)
						|| PCRS_CD_A04.equals(pcrsCd)
						|| PCRS_CD_A06.equals(pcrsCd)
						|| PCRS_CD_A08.equals(pcrsCd)
						|| PCRS_CD_A09.equals(pcrsCd)
						|| PCRS_CD_A47.equals(pcrsCd)
						|| PCRS_CD_A48.equals(pcrsCd)
						|| PCRS_CD_A49.equals(pcrsCd)
						|| PCRS_CD_A50.equals(pcrsCd)
						|| PCRS_CD_A51.equals(pcrsCd)
						|| PCRS_CD_A52.equals(pcrsCd)
						|| PCRS_CD_A53.equals(pcrsCd)
						|| PCRS_CD_A54.equals(pcrsCd)
// IT1-2013-0001291対応 20130627 OKU MOD START
//						|| PCRS_CD_A56.equals(pcrsCd);
						|| PCRS_CD_A56.equals(pcrsCd)
						|| PCRS_CD_A67.equals(pcrsCd)
						|| PCRS_CD_A68.equals(pcrsCd)
						|| PCRS_CD_A69.equals(pcrsCd)
						|| PCRS_CD_A70.equals(pcrsCd)
						|| PCRS_CD_A71.equals(pcrsCd)
						|| PCRS_CD_A79.equals(pcrsCd)
						|| PCRS_CD_A80.equals(pcrsCd);
// IT1-2013-0001291対応 20130627 OKU MOD END
		
		if (is100M)
		{
			pcrsSpeedCd = PCRS_SPEED_CD_100M;
		}
		else if ( PCRS_CD_A07.equals(pcrsCd)
				|| PCRS_CD_A11.equals(pcrsCd))
		{
			pcrsSpeedCd = PCRS_SPEED_CD_200M;
		}
		else 
			if (  PCRS_CD_A05.equals(pcrsCd)
				|| PCRS_CD_A10.equals(pcrsCd)
				|| PCRS_CD_A55.equals(pcrsCd)
				|| PCRS_CD_A57.equals(pcrsCd)
				// ANK-2612-00-00 2015/12/22 ADD START
				//10G用のルータは存在しないため、1Gと同じ処理を行う
				// ANK-4493-00-00 ADD START
				|| PCRS_CD_A74.equals(pcrsCd)
				// ANK-4493-00-00 ADD END
				|| PCRS_CD_A83.equals(pcrsCd)
				|| PCRS_CD_A84.equals(pcrsCd))
				// ANK-2612-00-00 2015/12/22 ADD END
		{
			pcrsSpeedCd = PCRS_SPEED_CD_1G;
		}
		return pcrsSpeedCd;
	}
	
	/**
	 * 料金コースの情報からルータ設置種別を取得します。
	 * @param kktkPcrsCd
	 * @return
	 */
	public String getSchRooterSbtBykktkPcrsCd(String kktkPcrsCd) {
		if (StringUtils.isEmpty(kktkPcrsCd)) {
			return ROUTER_NONE;
		}
		
		if (PCRS_CD_C24.equals(kktkPcrsCd) 
				|| PCRS_CD_C25.equals(kktkPcrsCd)) {
			return ROUTER_BASIC;
		}
		if (PCRS_CD_C22.equals(kktkPcrsCd) 
				|| PCRS_CD_C23.equals(kktkPcrsCd)
// IT1-2013-0001133対応 20130505 星野 ADD START
				|| PCRS_CD_C42.equals(kktkPcrsCd)
// IT1-2013-0001133対応 20130505 星野 ADD END
// ANK-4146-00-00 ADD START
				|| PCRS_CD_CA6.equals(kktkPcrsCd)
// ANK-4146-00-00 ADD END
		) {
			return ROUTER_MUSEN;
		}
		return JKKAdchgCmnLogicCC.ROUTER_NONE;
	}
	
// ●● 巻@-1 対応 END
	// ●● 巻@−２ 対応 START
	/**
	 * サービス契約＜eo光ネット、電話、ＴＶ＞情報の変更を行う。（転居元情報に異動区分を設定）
	 * 
	 * @param param      モデルグループ、コントロールマップを含むリクエストパラメータ
	 * @param fixedText  ユーザ任意文字列
	 * @param svcCd      サービス種別コード
	 */
	public void updSvcKeiInfoColumn( IRequestParameterReadWrite param, String fixedText, String svcCd ) throws Exception {
		
		/** 事前準備 */
		HashMap<String, String> condMap;
		HashMap<String, Object> paramMap = (HashMap<String, Object>)param.getData(fixedText);
		HashMap<String, Object> reqMap;
		Map<?, ?> resMap;
		
// DB結果検証障害対応 No.6,60 OIJI ADD START -------------------------------
		HashMap<String, Object> kksv_9800_map = (HashMap<String, Object>) param.getData(KKSV0098_KKSV0098OP.KKSV009800CC);
// DB結果検証障害対応 No.6,60 OIJI ADD END ---------------------------------

		// 住所変更登録コモンコンポーネントマッピングクラスインスタンスを取得
		JKKAdchgMapperCC mapper = JKKAdchgMapperCC.getInstance();

		// SCリクエストInvokerを取得
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();

		String svcKeiNo = (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_NO ) ;
		if (StringUtils.isEmpty(svcKeiNo)) {
			svcKeiNo = (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_NEW_SVC_KEI_NO ) ;
		}

		// ・EKK0081A010  サービス契約一意照会
		condMap = new HashMap<String, String>();
		condMap.put( JKKAdchgMapperCC.COND_KEY_SVC_KEI_NO, svcKeiNo );
		condMap.put( JKKAdchgMapperCC.COND_KEY_OPEDATE, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_OPE_DATE ) );
		reqMap = mapper.setEKK0081A010( param, fixedText, condMap );
		resMap = scCall.run( reqMap, keepSesHandle );
		HashMap<String, Object> kk0081_a010_map = mapper.getEKK0081A010( param, fixedText, resMap );
		mapper.scResultCheck( param );

// DB結果検証障害対応 No.6,60 OIJI DEL START -------------------------------
//		// ■更新対象の項目を設定
//		// 審査結果コードを「通知未」で設定
//		kk0081_a010_map.put(EKK0081A010CBSMsg1List.SKEKKA_SEND_CD, JKKAdchgConstCC.JUDGH_KEKKA_CD_NOSEND);
// DB結果検証障害対応 No.6,60 OIJI DEL END ---------------------------------
		
		//☆IT1-2012-0000636同時発見事象対応Start
		// kk0081_a010_map.異動区分をparam.異動区分に差替
		kk0081_a010_map.put( EKK0081A010CBSMsg1List.IDO_DIV , paramMap.get( JKKAdchgConstCC.PARAM_KEY_IDO_DIV ) );
		// kk0081_a010_map.申込明細番号をparam.申込明細番号に差替
		kk0081_a010_map.put( EKK0081A010CBSMsg1List.MSKM_DTL_NO, (String)paramMap.get( JKKAdchgConstCC.PARAM_KEY_MSKM_DTL_NO ) );
		//☆IT1-2012-0000636同時発見事象対応end
// 住所変更専用SIF差替 OIJI MOD START -------------------------------
		kk0081_a010_map.put(EKK0081A010CBSMsg1List.RSV_APLY_YMD, paramMap.get(JKKAdchgConstCC.PARAM_KEY_OPE_DATE));
// 住所変更専用SIF差替 OIJI MOD END ---------------------------------

		// サービスコードがネットの場合
		if(JKKAdchgConstCC.CD00130_INET_SVC.equals(svcCd))
		{
			// ・EKK0091A010  サービス契約＜eo光ネット＞一意照会
			condMap = new HashMap<String, String>();
			condMap.put( JKKAdchgMapperCC.COND_KEY_SVC_KEI_NO, svcKeiNo );
			reqMap = mapper.setEKK0091A010( param, fixedText, condMap );
			resMap = scCall.run( reqMap, keepSesHandle );
			HashMap<String, Object> kk0091_a010_map = mapper.getEKK0091A010( param, fixedText, resMap );
			mapper.scResultCheck( param );

// 住所変更専用SIF差替 OIJI MOD START -------------------------------
//			// ・EKK0091C040  サービス契約＜eo光ネット＞情報変更
//			reqMap = mapper.setEKK0091C040( param, fixedText, kk0081_a010_map, kk0091_a010_map );
//			resMap = scCall.run( reqMap, keepSesHandle );
//			HashMap<String, Object> kk0091_c040_map = mapper.getEKK0091C040( param, fixedText, resMap );
//			mapper.scResultCheck( param );
//			paramMap.put( JKKAdchgConstCC.PARAM_KEY_NEW_SVC_KEI_NO , svcKeiNo);
//			paramMap.put( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UPD_DTM_AFT , kk0091_c040_map.get(EKK0091C040CBSMsg.UPD_DTM));
// DB結果検証障害対応 No.6,60 OIJI ADD START -------------------------------
			int adchgCmt = ((Integer) kksv_9800_map.get(JKKAdchgConstCC.AD_CHG_CMT_PATTERN_KEY_NT)).intValue();
			if (adchgCmt == JKKAdchgConstCC.AD_CHG_CMT_ADD || adchgCmt == JKKAdchgConstCC.AD_CHG_CMT_SLRE_WITH_ADD) {
				// 審査結果コードを「通知未」で設定
				kk0081_a010_map.put(EKK0081A010CBSMsg1List.SKEKKA_SEND_CD, JKKAdchgConstCC.JUDGH_KEKKA_CD_NOSEND);
			}
// DB結果検証障害対応 No.6,60 OIJI ADD END ---------------------------------
			// ・EKK0091C041  サービス契約＜eo光ネット＞情報変更
			reqMap = mapper.setEKK0091C041( param, fixedText, kk0081_a010_map, kk0091_a010_map );
			resMap = scCall.run( reqMap, keepSesHandle );
			HashMap<String, Object> kk0091_c041_map = mapper.getEKK0091C041( param, fixedText, resMap );
			mapper.scResultCheck( param );
			paramMap.put( JKKAdchgConstCC.PARAM_KEY_NEW_SVC_KEI_NO , svcKeiNo);
			paramMap.put( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UPD_DTM_AFT , kk0091_c041_map.get(EKK0091C040CBSMsg.UPD_DTM));
// 住所変更専用SIF差替 OIJI MOD END ---------------------------------
		}
		// サービスコードが電話の場合
		else if(JKKAdchgConstCC.CD00130_TEL_SVC.equals(svcCd))
		{
			// ・EKK0111A010  サービス契約＜eo光電話＞一意照会
			condMap = new HashMap<String, String>();
			condMap.put( JKKAdchgMapperCC.COND_KEY_SVC_KEI_NO, svcKeiNo );
			reqMap = mapper.setEKK0111A010( param, fixedText, condMap );
			resMap = scCall.run( reqMap, keepSesHandle );
			HashMap<String, Object> kk0111_a010_map = mapper.getEKK0111A010( param, fixedText, resMap );
			mapper.scResultCheck( param );

// 住所変更専用SIF差替 OIJI MOD START -------------------------------
//			// ・EKK0111C040  サービス契約＜eo光電話＞情報変更
//			reqMap = mapper.setEKK0111C040( param, fixedText, kk0081_a010_map, kk0111_a010_map );
//			resMap = scCall.run( reqMap, keepSesHandle );
//			HashMap<String, Object> kk0111_c040_map = mapper.getEKK0111C040( param, fixedText, resMap );
//			mapper.scResultCheck( param );
//			paramMap.put( JKKAdchgConstCC.PARAM_KEY_NEW_SVC_KEI_NO , svcKeiNo);
//			paramMap.put( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UPD_DTM_AFT , kk0111_c040_map.get(EKK0111C040CBSMsg.UPD_DTM));
// DB結果検証障害対応 No.6,60 OIJI ADD START -------------------------------
			int adchgCmt = ((Integer) kksv_9800_map.get(JKKAdchgConstCC.AD_CHG_CMT_PATTERN_KEY_TL)).intValue();
			if (adchgCmt == JKKAdchgConstCC.AD_CHG_CMT_ADD || adchgCmt == JKKAdchgConstCC.AD_CHG_CMT_SLRE_WITH_ADD) {
				// 審査結果コードを「通知未」で設定
				kk0081_a010_map.put(EKK0081A010CBSMsg1List.SKEKKA_SEND_CD, JKKAdchgConstCC.JUDGH_KEKKA_CD_NOSEND);
			}
// DB結果検証障害対応 No.6,60 OIJI ADD END ---------------------------------
			// ・EKK0111C041  サービス契約＜eo光電話＞情報変更
			reqMap = mapper.setEKK0111C041( param, fixedText, kk0081_a010_map, kk0111_a010_map );
			resMap = scCall.run( reqMap, keepSesHandle );
			HashMap<String, Object> kk0111_c041_map = mapper.getEKK0111C041( param, fixedText, resMap );
			mapper.scResultCheck( param );
			paramMap.put( JKKAdchgConstCC.PARAM_KEY_NEW_SVC_KEI_NO , svcKeiNo);
			paramMap.put( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UPD_DTM_AFT , kk0111_c041_map.get(EKK0111C040CBSMsg.UPD_DTM));
// 住所変更専用SIF差替 OIJI MOD END ---------------------------------
		}
		// サービスコードがＴＶの場合
		else if(JKKAdchgConstCC.CD00130_TV_SVC.equals(svcCd))
		{

			// ・EKK0101A010  サービス契約＜eo光ＴＶ＞一意照会
			condMap = new HashMap<String, String>();
			condMap.put( JKKAdchgMapperCC.COND_KEY_SVC_KEI_NO, svcKeiNo );
			reqMap = mapper.setEKK0101A010( param, fixedText, condMap );
			resMap = scCall.run( reqMap, keepSesHandle );
			HashMap<String, Object> kk0101_a010_map = mapper.getEKK0101A010( param, fixedText, resMap );
			mapper.scResultCheck( param );

// 住所変更専用SIF差替 OIJI MOD START -------------------------------
//			// ・EKK0101C040  サービス契約＜eo光ＴＶ＞情報変更
//			reqMap = mapper.setEKK0101C040( param, fixedText, kk0081_a010_map, kk0101_a010_map );
//			resMap = scCall.run( reqMap, keepSesHandle );
//			HashMap<String, Object> kk0101_c040_map = mapper.getEKK0101C040( param, fixedText, resMap );
//			mapper.scResultCheck( param );
//			paramMap.put( JKKAdchgConstCC.PARAM_KEY_NEW_SVC_KEI_NO , svcKeiNo);
//			paramMap.put( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UPD_DTM_AFT , kk0101_c040_map.get(EKK0101C040CBSMsg.UPD_DTM));
// DB結果検証障害対応 No.6,60 OIJI ADD START -------------------------------
			int adchgCmt = ((Integer) kksv_9800_map.get(JKKAdchgConstCC.AD_CHG_CMT_PATTERN_KEY_TV)).intValue();
			if (adchgCmt == JKKAdchgConstCC.AD_CHG_CMT_ADD || adchgCmt == JKKAdchgConstCC.AD_CHG_CMT_SLRE_WITH_ADD) {
				// 審査結果コードを「通知未」で設定
				kk0081_a010_map.put(EKK0081A010CBSMsg1List.SKEKKA_SEND_CD, JKKAdchgConstCC.JUDGH_KEKKA_CD_NOSEND);
			}
// DB結果検証障害対応 No.6,60 OIJI ADD END ---------------------------------
			// ・EKK0101C041  サービス契約＜eo光ＴＶ＞情報変更
			reqMap = mapper.setEKK0101C041( param, fixedText, kk0081_a010_map, kk0101_a010_map );
			resMap = scCall.run( reqMap, keepSesHandle );
			HashMap<String, Object> kk0101_c041_map = mapper.getEKK0101C041( param, fixedText, resMap );
			mapper.scResultCheck( param );
			paramMap.put( JKKAdchgConstCC.PARAM_KEY_NEW_SVC_KEI_NO , svcKeiNo);
			paramMap.put( JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UPD_DTM_AFT , kk0101_c041_map.get(EKK0101C040CBSMsg.UPD_DTM));
// 住所変更専用SIF差替 OIJI MOD END ---------------------------------
		}
	}
// ●● 巻@−２ 対応 END

// 障害対応 IT1-2012-0000636 T.SAKAMOTO START ----------
	
	/**
	 * 機器自動交換対象機器の判定 (ルーター, VAの交換チェック)
	 * <br>
	 * <li>自動交換対象の機器を判定し、返却します。
	 * 
	 * @param  param			モデルグループ、コントロールマップを含むリクエストパラメータ
	 * @param  fixedText		ユーザ任意文字列
	 * @param  adchg_dtl_list_kktk_svc_kei	機器リスト一覧
	 * @param  svc_cd			サービスコード
	 * @param  prcs_cd         転居先料金コース
	 * @param  etc_router      ネットの場合には転居先のルータ設置種別
	 * @param  kikiParamMap    対象機器パラメータマップ（対象機器指定の場合、設定）ＮＵＬＬ可
	 * @throws 例外が発生した場合
	 * @return 機器情報（変更後）、機器提供サービス契約一意照会結果（変更前）、自動交換対象判定結果を返却
	 */
	public Object[] getAutoChgKiki(IRequestParameterReadWrite param,
									String fixedText,
									ArrayList<HashMap<String, Object>> adchg_dtl_list_kktk_svc_kei, 
									String svc_cd,
									String prcs_cd,
									String stc_router,
									HashMap<String, Object> kikiParamMap) throws Exception {
		
		
		// 指定されたサービスコードに紐付く機器情報（kikiParamMap）、及び機器提供サービス契約一意照会結果（kk0341_a010_map）を取得する
		Object[] kikiInfo = getKikiInfoWithBfrAft(param,
													fixedText,
													adchg_dtl_list_kktk_svc_kei,
													svc_cd,
													kikiParamMap);
		
		// 変更前が申込なしの場合、自動交換判定対象外とする
		if (null == kikiInfo) {
			return new Object[]{ null, null, false};
		}
		
		// 機器自動交換チェック処理 (ルーター, VAの交換チェック)
		boolean booAutoChgChk = chkAutoChgKiki(param,
												fixedText,
												adchg_dtl_list_kktk_svc_kei,
												svc_cd, prcs_cd,
												stc_router,
												(HashMap<String, Object>) kikiInfo[0]);
		
		// 機器自動交換対象機器の判定結果を返却
		return new Object[]{kikiInfo[0], kikiInfo[1], booAutoChgChk};
	}
	
	/**
	 * 機器情報（変更前、変更後）の取得（ＶＡ、ルーターのみ）
	 * <br>
	 * <li>指定されたサービスコードに紐付く機器情報（kikiParamMap）、及び機器提供サービス契約一意照会結果（kk0341_a010_map）を取得する
	 * 
	 * @param  param			モデルグループ、コントロールマップを含むリクエストパラメータ
	 * @param  fixedText		ユーザ任意文字列
	 * @param  adchg_dtl_list_kktk_svc_kei	機器リスト一覧
	 * @param  svc_cd			サービスコード
	 * @param  prcs_cd         転居先料金コース
	 * @param  etc_router      ネットの場合には転居先のルータ設置種別
	 * @param  kikiParamMap    対象機器パラメータマップ（対象機器指定の場合、設定）ＮＵＬＬ可
	 * @throws 例外が発生した場合
	 * @return 自動交換対象の場合　対象機器パラメータ(kk0341_a010_map)
	 */
	private Object[] getKikiInfoWithBfrAft(IRequestParameterReadWrite param,
											String fixedText,
											ArrayList<HashMap<String, Object>> adchg_dtl_list_kktk_svc_kei,
											String svc_cd, HashMap<String, Object> kikiParamMap) throws Exception {
		
// ST1-2012-0000760　2012/06/22 T.SAKAMOTO　DEL　START　未使用変数、処理を削除
//		Object[] rtnObj = null;
// ST1-2012-0000760　2012/06/22 T.SAKAMOTO　DEL　START　未使用変数、処理を削除
		HashMap<String, Object> paramMap = (HashMap<String, Object>) param.getData(fixedText);
		
		// 対象機器指定無しの場合
		if (kikiParamMap == null) {
			
			String taknkiki_sbt_cd = "";
			
			// サービスコード:インターネットサービス の場合
			if ( svc_cd.equals(JKKAdchgConstCC.CD00130_INET_SVC)) {
				
				// 宅内機器種別コードに（ルーター）を設定 
				taknkiki_sbt_cd = TAKNKIKI_SBT_CD_F0;
				
			// サービスコード:電話サービス の場合
			} else if (svc_cd.equals(JKKAdchgConstCC.CD00130_TEL_SVC)){
				
				// 宅内機器種別コードに（ＶＡ）を設定
				taknkiki_sbt_cd = TAKNKIKI_SBT_CD_50;
			// 上記以外
			} else {
				
				// 処理対象外
				return null;
			}
			
			return getKikiRecWithKk0341_a010_map(param, fixedText, adchg_dtl_list_kktk_svc_kei, taknkiki_sbt_cd);
			
		} else {
			
			// ■EKK0341A010 機器提供サービス契約一意照会
			HashMap<String, Object> kk0341_a010_map = getEKK0341A010(param, 
																	JKKAdchgMapperCC.getInstance(), 
																	fixedText,
																	new ServiceComponentRequestInvoker(),
																	(String) kikiParamMap.get(JKKAdchgConstCC.PARAM_KEY_KKTK_SVC_KEI_NO),
																	(String) paramMap.get(JKKAdchgConstCC.PARAM_KEY_OPE_DATE));
						
			return new Object[] { kikiParamMap, kk0341_a010_map };
		}
	}

	/**
	 * 機器リストより、指定した宅内機器種別コードのレコード（変更前、変更後）を取得
	 * 
	 * @param  adchg_dtl_list_kktk_svc_kei	機器リスト一覧
	 * @param  taknkiki_sbt_cd 宅内機器種別コード
	 * @return 対象機器レコード
	 * @throws Exception 
	 */
	public Object[] getKikiRecWithKk0341_a010_map(IRequestParameterReadWrite param, 
														String fixedText,
														ArrayList<HashMap<String, Object>> adchg_dtl_list_kktk_svc_kei, 
														String taknkiki_sbt_cd) throws Exception {

		// 住所情報変更初期表示情報取得コモンコンポーネント
		// マッピングクラスインスタンスを取得
		JKKAdchgMapperCC mapper = JKKAdchgMapperCC.getInstance();
		HashMap<String, Object> paramMap = (HashMap<String, Object>)( param.getData(fixedText) );
		// SCリクエストInvokerを取得
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();

		// 機器一覧．イテレータ
		Iterator<HashMap<String, Object>> adchg_dtl_list_kktk_svc_kei_iterator = adchg_dtl_list_kktk_svc_kei.iterator();
		while ( adchg_dtl_list_kktk_svc_kei_iterator.hasNext() ) {
			// 機器一覧．次要素
			HashMap<String, Object> change_map = adchg_dtl_list_kktk_svc_kei_iterator.next();
			
			// 機器提供サービス契約番号を持たない場合は処理を飛ばす
			if ( StringUtils.isEmpty( (String) change_map.get( JKKAdchgConstCC.PARAM_KEY_ADCHG_DTL_CHG_TG_KEI_NO ) ) ) {
				continue;
			}
			
			// EKK0341A010 機器提供サービス契約一意照会
			HashMap<String, Object> kk0341_a010_map = getEKK0341A010(
					param, mapper, fixedText, scCall,
					(String) change_map.get( JKKAdchgConstCC.PARAM_KEY_ADCHG_DTL_CHG_TG_KEI_NO ),
					(String) paramMap.get( JKKAdchgConstCC.PARAM_KEY_OPE_DATE));
			
			// 宅内機器種別が｢ONU｣｢V-ONU｣の場合は以下の処理を飛ばす
			String work_taknkiki_sbt_cd = kk0341_a010_map.get( EKK0341A010CBSMsg1List.TAKNKIKI_SBT_CD ).toString();
			if ( taknkiki_sbt_cd.equals( work_taknkiki_sbt_cd )) {
				
				return new Object[]{change_map, kk0341_a010_map};
			}
		}
		return null;

	}
	
	/**
	 * EKK0081A010 サービス契約一意照会.
	 * <br>
	 * @param   param      モデルグループ、コントロールマップを含むリクエストパラメータ
	 * @param   mapper     住所変更登録CC共通マッピング
	 * @param   fixedText  ユーザ任意文字列
	 * @param   svsKeiNo   サービス契約番号
	 * @param   opeDate    運用日付
	 * @throws  Exception  例外が発生した場合
	 */
	public HashMap<String, Object> getEKK0081A010(IRequestParameterReadWrite param,
													JKKAdchgMapperCC mapper,
													String fixedText,
													ServiceComponentRequestInvoker scCall,
													String svsKeiNo,
													String opeDate) throws Exception {
		
		HashMap<String, String> condMap = new HashMap<String, String>();
		condMap.put(JKKAdchgMapperCC.COND_KEY_SVC_KEI_NO, svsKeiNo);
		condMap.put(JKKAdchgMapperCC.COND_KEY_OPEDATE, opeDate);
		HashMap<String, Object> reqMap = mapper.setEKK0081A010(param, fixedText, condMap);
		Map<?, ?> resMap = scCall.run(reqMap, keepSesHandle );
		HashMap<String, Object> kk0081_a010_map = mapper.getEKK0081A010(param, fixedText, resMap);
		// サービスコンポーネント実行結果確認
		mapper.scResultCheck(param);
		
		return kk0081_a010_map;
	}
	
// DB結果検証障害対応 No.32,35,40,57 OIJI ADD START -------------------------------
	/**
	 * EKK0161A010 サービス契約内訳一意照会.
	 * @param   param      モデルグループ、コントロールマップを含むリクエストパラメータ
	 * @param   mapper     住所変更登録CC共通マッピング
	 * @param   fixedText  ユーザ任意文字列
	 * @param   scCall     サービスコンポーネント呼び出し部品
	 * @param   svsKeiUwNo   サービス契約内訳番号
	 * @param   opeDate    運用日付
	 * @return
	 * @throws Exception
	 */
	public HashMap<String, Object> getEKK0161A010(IRequestParameterReadWrite param,
													JKKAdchgMapperCC mapper,
													String fixedText,
													ServiceComponentRequestInvoker scCall,
													String svsKeiUwNo,
													String opeDate) throws Exception {
		
		HashMap<String, String> condMap = new HashMap<String, String>();
		condMap = new HashMap<String, String>();
		condMap.put(JKKAdchgMapperCC.COND_KEY_SVC_KEI_UCWK_NO, svsKeiUwNo);
		condMap.put(JKKAdchgMapperCC.COND_KEY_OPEDATE, opeDate);
		HashMap<String, Object> reqMap = mapper.setEKK0161A010( param, fixedText, condMap );
		Map<?, ?> resMap = scCall.run(reqMap, keepSesHandle);
		HashMap<String, Object> kk0161_a010_map = mapper.getEKK0161A010( param, fixedText, resMap );
		mapper.scResultCheck( param );
		
		return kk0161_a010_map;
	}
// DB結果検証障害対応 No.32,35,40,57 OIJI ADD END ---------------------------------
	
	/**
	 * EKK0341A010 機器提供サービス契約一意照会
	 * 
	 * @param  adchg_dtl_list_kktk_svc_kei	機器リスト一覧
	 * @param  taknkiki_sbt_cd 宅内機器種別コード
	 * @return 対象機器レコード
	 * @throws Exception 
	 */
	public HashMap<String, Object> getEKK0341A010(IRequestParameterReadWrite param, JKKAdchgMapperCC mapper,
													String fixedText, ServiceComponentRequestInvoker scCall,
													String adChgDtlChgTgKeiNo, String opeDate) throws Exception {
		
		HashMap<String, String> condMap = new HashMap<String, String>();
		condMap.put( JKKAdchgMapperCC.COND_KEY_KKTK_SVC_KEI_NO, adChgDtlChgTgKeiNo);
		condMap.put( JKKAdchgMapperCC.COND_KEY_OPEDATE, opeDate);
		HashMap<String, Object> reqMap = mapper.setEKK0341A010( param, fixedText, condMap );
		Map<?, ?> resMap = scCall.run( reqMap, keepSesHandle );
		HashMap<String, Object> kk0341_a010_map = mapper.getEKK0341A010( param, fixedText, resMap );
		// サービスコンポーネント実行結果確認
		mapper.scResultCheck( param );
		
		return kk0341_a010_map;
	}
	
	/**
	 * EKK0801B001 料金コース_機器提供サービス一覧照会(料金コースコード) .
	 * <br>
	 * @param   param      モデルグループ、コントロールマップを含むリクエストパラメータ
	 * @param   mapper     住所変更登録CC共通マッピング
	 * @param   fixedText  ユーザ任意文字列
	 * @param   keiSvc   契約サービス
	 * @throws  Exception  例外が発生した場合
	 */
	public ArrayList<HashMap<String, Object>> getEKK0801B001(IRequestParameterReadWrite param,
																JKKAdchgMapperCC mapper,
																String fixedText, ServiceComponentRequestInvoker scCall,
																String keiSvc) throws Exception {
		
		HashMap<String, String> condMap = new HashMap<String, String>();
		condMap.put( EKK0801B001CBSMsg.KEY_PCRS_CD, keiSvc);
		HashMap<String, Object> reqMap = mapper.setEKK0801B001( param, fixedText, condMap );
		Map<?, ?> resMap = scCall.run( reqMap, keepSesHandle );
		ArrayList<HashMap<String, Object>> svc_kei_kk0801_b001_list = mapper.getEKK0801B001( param, fixedText, resMap );
		// サービスコンポーネント実行結果確認
		mapper.scResultCheck( param );

		return svc_kei_kk0801_b001_list;
	}
	
	/**
	 * プラン変更パターン.
	 * 
	 * <li>CHG_PLAN プラン変更のみ
	 * <li>CHG_CRS コース変更
	 * <li>NON_CHG 変更なし
	 * <li>TAISYOUGAI 処理対象外
	 * 
	 */
	private enum PLAN_CHG_PTN {CHG_PLAN, CHG_CRS, NON_CHG, TAISYOUGAI};
	
	/**
	 * EKK0341C200 機器提供サービス契約場所変更（コース変更・プラン変更考慮）.
	 * @param param モデルグループ、コントロールマップを含むリクエストパラメータ
	 * @param fixedText ユーザ任意文字列
	 * @param change_map
	 * @param kk0341_a010_map
	 * @param kk0081_a010_map
	 * @param kksv_98XX_map
	 * @throws Exception
	 */
	public void chgIdodiv_EKK0341C200(IRequestParameterReadWrite param,
												String fixedText,
												HashMap<String, Object> change_map,
												HashMap<String, Object> kk0341_a010_map,
												HashMap<String, Object> kk0081_a010_map,
												HashMap<String, Object> kksv_98XX_map) throws Exception {
		
		switch (getCrsPlanChgStat(change_map, kk0341_a010_map, kksv_98XX_map)) {
		case CHG_CRS:
			// 機器提供サービスのコース（不一致）

// UI/SS突合せ差異修正 M.OIJI MOD START ----------------------------
			//editKktkInfo(change_map, kk0341_a010_map, kk0081_a010_map, false);
			editKktkInfo(change_map, kk0341_a010_map, kksv_98XX_map, false);
// UI/SS突合せ差異修正 M.OIJI MOD END ----------------------------
			
			// ■ EKK0341C200 機器提供サービス契約場所変更（コース変更あり） 
			chgIdodivChgCourse_EKK0341C200( param, fixedText, kk0341_a010_map, kk0081_a010_map );
			break;

		case CHG_PLAN:
			// 機器提供サービスのコース（一致）、プラン（不一致）

// UI/SS突合せ差異修正 M.OIJI MOD START ----------------------------
			//editKktkInfo(change_map, kk0341_a010_map, kk0081_a010_map, false);
			//// ■ EKK0341C200 機器提供サービス契約場所変更
			//chgIdodiv_EKK0341C200( param, fixedText, kk0341_a010_map, kk0081_a010_map );
			editKktkInfo(change_map, kk0341_a010_map, kksv_98XX_map, false);
			// ■ EKK0341C200 機器提供サービス契約場所変更.（プラン変更あり）
			chgIdodivChgPlan_EKK0341C200( param, fixedText, kk0341_a010_map, kk0081_a010_map );
// UI/SS突合せ差異修正 M.OIJI MOD END ----------------------------
			break;
			
		case TAISYOUGAI:
			// 何もしない
			break;
			
		default:
			// 機器提供サービスのコース（一致）、プラン（一致）

// UI/SS突合せ差異修正 M.OIJI MOD START ----------------------------
			//editKktkInfo(change_map, kk0341_a010_map, kk0081_a010_map, false);
			editKktkInfo(change_map, kk0341_a010_map, kksv_98XX_map, false);
// UI/SS突合せ差異修正 M.OIJI MOD END ----------------------------
			// ■ EKK0341C200 機器提供サービス契約場所変更
			chgIdodiv_EKK0341C200( param, fixedText, kk0341_a010_map, kk0081_a010_map );
			break;
		}
	}
	/**
	 * EKK0341C200_機器提供サービス契約場所変更.（機器変更あり）
	 * @param param
	 * @param fixedText
	 * @param change_map
	 * @param kk0341_a010_map
	 * @param kk0081_a010_map
	 * @param kksv_98XX_map
	 * @throws Exception
	 */
	public void chgIdodivChgKiki_EKK0341C200(IRequestParameterReadWrite param,
			String fixedText,
			HashMap<String, Object> change_map,
			HashMap<String, Object> kk0341_a010_map,
			HashMap<String, Object> kk0081_a010_map,
			HashMap<String, Object> kksv_98XX_map) throws Exception {
		
		editKktkInfo(change_map, kk0341_a010_map, kksv_98XX_map, true);
		chgIdodivChgKiki_EKK0341C200( param, fixedText, kk0341_a010_map, kk0081_a010_map );
	}

	/**
	 * 画面から渡された機器情報とカレントの情報を比較して、
	 * コース変更、プラン変更があるかを判定します.
	 * @param change_map 画面から渡された機器情報
	 * @param kk0341_a010_map カレントの情報
	 * @return
	 */
	private PLAN_CHG_PTN getCrsPlanChgStat(HashMap<String, Object> change_map, HashMap<String, Object> kk0341_a010_map, HashMap<String, Object> kksv_98XX_map)
	{
		if (kk0341_a010_map == null || change_map == null)
		{
			return PLAN_CHG_PTN.TAISYOUGAI;
		}
		String oldCrs = (String) kk0341_a010_map.get(EKK0341A010CBSMsg1List.PCRS_CD);
		String oldPln = (String) kk0341_a010_map.get(EKK0341A010CBSMsg1List.PPLAN_CD);
		
		if (oldCrs == null || oldPln == null)
		{
			return PLAN_CHG_PTN.NON_CHG;
		}
		
		String kiki_sbt_cd = (String) kk0341_a010_map.get(EKK0341A010CBSMsg1List.TAKNKIKI_SBT_CD);
		String newCrs = getCourse(change_map, kksv_98XX_map, kiki_sbt_cd);
		String newPln = getPln(change_map, kksv_98XX_map, kiki_sbt_cd);
		
		if (!oldCrs.equals(newCrs))
		{
			return PLAN_CHG_PTN.CHG_CRS;
		}
		if (!oldPln.equals(newPln)) {
			return PLAN_CHG_PTN.CHG_PLAN;
		}
		return PLAN_CHG_PTN.NON_CHG;
	}
	
	/**
	 * 機器の料金コースコードを取得します.
	 * @param change_map 画面から渡された機器情報
	 * @param kksv_98XX_map
	 * @return
	 */
	private String getCourse(HashMap<String, Object> change_map, HashMap<String, Object> kksv_98XX_map, String taknkiki_sbt_cd)
	{
		// コースの取得
		String pcourse = (String) kksv_98XX_map.get(JKKAdchgConstCC.PARAM_KEY_KEI_SVC);

		if ( TAKNKIKI_SBT.CODE_A0.equals( taknkiki_sbt_cd ) )
		{
			String stb_hdd_cd = getMapString( change_map, "adchg_dtl_taknkiki_hdd_capa" );
			String stb_ido_div = getMapString( change_map, "adchg_dtl_stb_ido_div" );
			String stb_hdd_cd_sk_kokan = getMapString( change_map, "adchg_dtl_taknkiki_hdd_capa_kokan_sk" );
			if (JKKAdchgConstCC.TAKNKIKI_IDO.EXCHANGE.equals(stb_ido_div))
			{
				stb_hdd_cd = stb_hdd_cd_sk_kokan;
			}
			
			// STB
			if ( JKKAdchgConstCC.HDD_CAPA_CD.NON.equals( stb_hdd_cd ) )
			{
				// eo光テレビチューナー 録画機能なし
				return PCRS_CD.C12_eoHIKARITV_NON_DUB;
			}
			else if ( JKKAdchgConstCC.HDD_CAPA_CD.CAPA_250GB.equals( stb_hdd_cd ) )
			{
				// eo光テレビチューナー 録画機能付 HDD容量250GB
				return PCRS_CD.C13_eoHIKARITV_HDDCAPA_250GB;
			}
			else if ( JKKAdchgConstCC.HDD_CAPA_CD.CAPA_500GB_DVD.equals( stb_hdd_cd ) )
			{
				// eo光テレビチューナー 録画機能付 HDD容量250GB(DVD)
				return PCRS_CD.C14_eoHIKARITV_HDDCAPA_250GB_DVD;
			}
			else if ( JKKAdchgConstCC.HDD_CAPA_CD.CAPA_500GB_BD.equals( stb_hdd_cd ) )
			{
				return PCRS_CD.C15_eoHIKARITV_HDDCAPA_500GB_BD;
			}
			// ANK-2530-00-00 2016/02/23 ADD START
			else if ( JKKAdchgConstCC.HDD_CAPA_CD.CAPA_500GB_HDD.equals( stb_hdd_cd ) )
			{
				//ｅｏ光テレビチューナー　録画機能付　ＨＤＤ容量５００ＧＢ
				return PCRS_CD.C92_eoHIKARITV_HDDCAPA_500GB_HDD;
			}
			else if ( JKKAdchgConstCC.HDD_CAPA_CD.CAPA_1TB_BD.equals( stb_hdd_cd ) )
			{
				//ｅｏ光テレビチューナー　ブルーレイ搭載録画機能付　ＨＤＤ容量１ＴＢ
				return PCRS_CD.C93_eoHIKARITV_HDDCAPA_1TB_BD;
			}
			else if ( JKKAdchgConstCC.HDD_CAPA_CD.NON_VOD.equals( stb_hdd_cd ) )
			{
				//ｅｏ光テレビチューナー　録画機能なし　ＶＯＤ
				return PCRS_CD.C95_eoHIKARITV_NON_VOD;
			}
			else if ( JKKAdchgConstCC.HDD_CAPA_CD.CAPA_2TB_HDD_VOD.equals( stb_hdd_cd ) )
			{
				//ｅｏ光テレビチューナー　録画機能付　ＨＤＤ容量２ＴＢ　ＶＯＤ
				return PCRS_CD.C96_eoHIKARITV_HDDCAPA_2TB_HDD_VOD;
			}
			else if ( JKKAdchgConstCC.HDD_CAPA_CD.CAPA_500GB_HDD_VOD.equals( stb_hdd_cd ) )
			{
				//ｅｏ光テレビチューナー　録画機能付　ＨＤＤ容量５００ＧＢ　ＶＯＤ
				return PCRS_CD.C97_eoHIKARITV_HDDCAPA_500GB_HDD_VOD;
			}
			// ANK-2530-00-00 2016/02/23 ADD END
		}
		else if ( TAKNKIKI_SBT.CODE_B0.equals( taknkiki_sbt_cd ) )
		{
			// B-CAS
			return PCRS_CD.C16_BCAS;
		}
		else if ( TAKNKIKI_SBT.CODE_C0.equals( taknkiki_sbt_cd ) )
		{
			// C-CAS
			return PCRS_CD.C17_CCAS;
		}
		else if ( TAKNKIKI_SBT.CODE_D0.equals( taknkiki_sbt_cd ) ) {
			
			// "C18"(ONU) ⇒ 料金コースコード
			return PCRS_CD.C18_ONU;
		}
		else if ( TAKNKIKI_SBT.CODE_E0.equals( taknkiki_sbt_cd ) )
		{
			// "C20"(V-ONU) ⇒ 料金コースコード
			return PCRS_CD.C20_VONU;
		}
		else if (TAKNKIKI_SBT.CODE_F0.equals(taknkiki_sbt_cd))
		{
			// ルーター
			// eo光ベーシックルータレンタル
			if (ROUTER_BASIC.equals(kksv_98XX_map.get( JKKAdchgConstCC.PARAM_KEY_EOHNT_STC_ROUTER_CD )))
			{
				// １００Ｍコース 、１００Ｍプレミアムコース 、１００Ｍコース（ＶＰＮ）、メゾンタイプ１００Ｍ 、メゾンタイプ１００Ｍプレミアム 
				if ( PCRS_CD.A03_100M.equals(pcourse) 
					|| PCRS_CD.A04_100M_PRE.equals(pcourse) 
					|| PCRS_CD.A06_100M_VPN.equals(pcourse) 
					|| PCRS_CD.A08_100M_MAISON.equals(pcourse)
					|| PCRS_CD.A09_100M_MSN_PRE.equals(pcourse))
				{
// IT1-2012-0000691 2012/06/15 T.SAKAMOTO MOD START
					//return PCRS_CD.C22_eoHIKARI_MUSENRTR_100M;
					return PCRS_CD.C24_eoHIKARI_BASICRTR_100M;
// IT1-2012-0000691 2012/06/15 T.SAKAMOTO MOD END
				}
				else
				{
// IT1-2012-0000691 2012/06/15 T.SAKAMOTO MOD START
					//return PCRS_CD.C23_eoHIKARI_MUSENRTR_1G;
					return PCRS_CD.C25_eoHIKARI_BASICRTR_1G;
// IT1-2012-0000691 2012/06/15 T.SAKAMOTO MOD END
				}
			}
			else if (ROUTER_MUSEN.equals(kksv_98XX_map.get( JKKAdchgConstCC.PARAM_KEY_EOHNT_STC_ROUTER_CD )))
			{
				// １００Ｍコース 、１００Ｍプレミアムコース 、１００Ｍコース（ＶＰＮ）、メゾンタイプ１００Ｍ 、メゾンタイプ１００Ｍプレミアム 
				if ( PCRS_CD.A03_100M.equals(pcourse) 
					|| PCRS_CD.A04_100M_PRE.equals(pcourse) 
					|| PCRS_CD.A06_100M_VPN.equals(pcourse) 
					|| PCRS_CD.A08_100M_MAISON.equals(pcourse)
					|| PCRS_CD.A09_100M_MSN_PRE.equals(pcourse))
				{
// IT1-2012-0000691 2012/06/15 T.SAKAMOTO MOD START
					//return PCRS_CD.C24_eoHIKARI_BASICRTR_100M;
					return PCRS_CD.C22_eoHIKARI_MUSENRTR_100M;
// IT1-2012-0000691 2012/06/15 T.SAKAMOTO MOD END
				}
				else
				{
// IT1-2012-0000691 2012/06/15 T.SAKAMOTO MOD START
					//return PCRS_CD.C25_eoHIKARI_BASICRTR_1G;
					return PCRS_CD.C23_eoHIKARI_MUSENRTR_1G;
// IT1-2012-0000691 2012/06/15 T.SAKAMOTO MOD END
				}
			}
			else
			{
				return null;
			}
		}
		else if (TAKNKIKI_SBT.CODE_50.equals(taknkiki_sbt_cd))
		{
			// VA
			if (PCRS_CD.A31_1NOCRS.equals(pcourse))
			{
				// 1番号サービス(1ポートVA)
				return PCRS_CD.C04_VA1PORT;
			} else {
				// 2番号サービス(2ポートVA)
				return PCRS_CD.C05_VA2PORT;
			}
		}
		return null;
	}
	
	/**
	 * 機器の料金プランコードを取得します.
	 * @param change_map 画面から渡された機器情報
	 * @param kksv_98XX_map
	 * @return
	 */
	private String getPln(HashMap<String, Object> change_map, HashMap<String, Object> kksv_98XX_map, String taknkiki_sbt_cd)
	{
		// コースの取得
		String pcourse = (String) kksv_98XX_map.get(JKKAdchgConstCC.PARAM_KEY_KEI_SVC);

// IT1-2012-0000691 2012/06/15 T.SAKAMOTO MOD START
		//if ( TAKNKIKI_SBT.CODE_60.equals( taknkiki_sbt_cd ) )
		if ( TAKNKIKI_SBT.CODE_A0.equals( taknkiki_sbt_cd ) )
// IT1-2012-0000691 2012/06/15 T.SAKAMOTO MOD END
		{
			// HDD容量コード
			String stb_hdd_cd = getMapString( change_map, "adchg_dtl_taknkiki_hdd_capa" );
			// 宅内機器異動コード(【現行】ICS:STB異動区分) 
			String stb_ido_div = getMapString( change_map, JKKAdchgConstCC.PARAM_KEY_ADCHG_DTL_SBT_IDO_DIV );
			// 
			String stb_hdd_cd_sk_kokan = getMapString( change_map, "adchg_dtl_taknkiki_hdd_capa_kokan_sk" );
			
			if ( JKKAdchgConstCC.TAKNKIKI_IDO.EXCHANGE.equals(stb_ido_div) ) {
				stb_hdd_cd = stb_hdd_cd_sk_kokan;
			}
			// STB
			if ( JKKAdchgConstCC.HDD_CAPA_CD.NON.equals( stb_hdd_cd ) )
			{
				// eo光テレビチューナー 録画機能なし
				return PPLAN_CD.PC1201;
			}
			else if ( JKKAdchgConstCC.HDD_CAPA_CD.CAPA_250GB.equals( stb_hdd_cd ) )
			{
				// eo光テレビチューナー 録画機能付 HDD容量250GB
				return PPLAN_CD.PC1301;
			}
			else if ( JKKAdchgConstCC.HDD_CAPA_CD.CAPA_500GB_DVD.equals( stb_hdd_cd ) )
			{
				// eo光テレビチューナー 録画機能付 HDD容量250GB(DVD)
				return PPLAN_CD.PC1401;
			}
			else if ( JKKAdchgConstCC.HDD_CAPA_CD.CAPA_500GB_BD.equals( stb_hdd_cd ) )
			{
				// eo光テレビチューナー ブルーレイ搭載録画機能付 HDD容量500GB
				return PPLAN_CD.PC1501;
			}
			// ANK-2530-00-00 2016/02/23 ADD START
			else if ( JKKAdchgConstCC.HDD_CAPA_CD.CAPA_500GB_HDD.equals( stb_hdd_cd ) )
			{
				// eo光テレビチューナー　録画機能付　HDD容量５００ＧＢ　
				return PPLAN_CD.PC9201;
			}
			else if ( JKKAdchgConstCC.HDD_CAPA_CD.CAPA_1TB_BD.equals( stb_hdd_cd ) )
			{
				// eo光テレビチューナー　ブルーレイ搭載録画機能付　HDD容量１ＴＢ
				return PPLAN_CD.PC9301;
			}
			else if ( JKKAdchgConstCC.HDD_CAPA_CD.NON_VOD.equals( stb_hdd_cd ) )
			{
				// eo光テレビチューナー　録画機能なし　ＶＯＤ 
				return PPLAN_CD.PC9501;
			}
			else if ( JKKAdchgConstCC.HDD_CAPA_CD.CAPA_2TB_HDD_VOD.equals( stb_hdd_cd ) )
			{
				// eo光テレビチューナー　録画機能付　ＨＤＤ容量２ＴＢ　ＶＯＤ
				return PPLAN_CD.PC9601;
			}
			else if ( JKKAdchgConstCC.HDD_CAPA_CD.CAPA_500GB_HDD_VOD.equals( stb_hdd_cd ) )
			{
				// eo光テレビチューナー　録画機能付　ＨＤＤ容量５００ＧＢ　ＶＯＤ
				return PPLAN_CD.PC9701;
			}
			
			// ANK-2530-00-00 2016/02/23 ADD END
			// １ＴＢは現状料金プランが存在しない
		}
		else if ( TAKNKIKI_SBT.CODE_B0.equals( taknkiki_sbt_cd ) )
		{
			// B-CAS
			return PPLAN_CD.PC1601;
		}
		else if ( TAKNKIKI_SBT.CODE_C0.equals( taknkiki_sbt_cd ) )
		{
			// C-CAS
			return PPLAN_CD.PC1701;
		}
		else if ( TAKNKIKI_SBT.CODE_D0.equals( taknkiki_sbt_cd ) ) {
			
			// "PC1801"(ONU 定額プラン) ⇒ 料金プランコード
			return PPLAN_CD.PC1801;
		}
		else if ( TAKNKIKI_SBT.CODE_E0.equals( taknkiki_sbt_cd ) )
		{
			// "PC2001"(V-ONU 定額プラン) ⇒ 料金プランコード
			return PPLAN_CD.PC2001;
		}
		else if ( TAKNKIKI_SBT.CODE_F0.equals(taknkiki_sbt_cd))
		{
			// ルーター
			// eo光ベーシックルータレンタル
			if (ROUTER_BASIC.equals(kksv_98XX_map.get( JKKAdchgConstCC.PARAM_KEY_EOHNT_STC_ROUTER_CD )))
			{
				// １００Ｍコース 、１００Ｍプレミアムコース 、１００Ｍコース（ＶＰＮ）、メゾンタイプ１００Ｍ 、メゾンタイプ１００Ｍプレミアム 
				if ( PCRS_CD.A03_100M.equals(pcourse) 
					|| PCRS_CD.A04_100M_PRE.equals(pcourse) 
					|| PCRS_CD.A06_100M_VPN.equals(pcourse) 
					|| PCRS_CD.A08_100M_MAISON.equals(pcourse)
					|| PCRS_CD.A09_100M_MSN_PRE.equals(pcourse))
				{
// IT1-2012-0000691 2012/06/15 T.SAKAMOTO MOD START
					return PPLAN_CD.PC2401;
// IT1-2012-0000691 2012/06/15 T.SAKAMOTO MOD END
				}
				else
				{
// IT1-2012-0000691 2012/06/15 T.SAKAMOTO MOD START
					return PPLAN_CD.PC2501;
// IT1-2012-0000691 2012/06/15 T.SAKAMOTO MOD END
				}
			}
			else if (ROUTER_MUSEN.equals(kksv_98XX_map.get( JKKAdchgConstCC.PARAM_KEY_EOHNT_STC_ROUTER_CD )))
			{
				// １００Ｍコース 、１００Ｍプレミアムコース 、１００Ｍコース（ＶＰＮ）、メゾンタイプ１００Ｍ 、メゾンタイプ１００Ｍプレミアム 
				if ( PCRS_CD.A03_100M.equals(pcourse) 
					|| PCRS_CD.A04_100M_PRE.equals(pcourse) 
					|| PCRS_CD.A06_100M_VPN.equals(pcourse) 
					|| PCRS_CD.A08_100M_MAISON.equals(pcourse)
					|| PCRS_CD.A09_100M_MSN_PRE.equals(pcourse))
				{
// IT1-2012-0000691 2012/06/15 T.SAKAMOTO MOD START
					return PPLAN_CD.PC2201;
// IT1-2012-0000691 2012/06/15 T.SAKAMOTO MOD END
				}
				else
				{
// IT1-2012-0000691 2012/06/15 T.SAKAMOTO MOD START
					return PPLAN_CD.PC2301;
// IT1-2012-0000691 2012/06/15 T.SAKAMOTO MOD END
				}
			}
		}
		else if (TAKNKIKI_SBT.CODE_50.equals(taknkiki_sbt_cd))
		{
			// VA
			if (PCRS_CD.A31_1NOCRS.equals(pcourse))
			{
				// 1番号サービス(1ポートVA)
				return PPLAN_CD.PC0401;
			}
			else
			{
				return PPLAN_CD.PC0501;
			}
		}
		return null;
	}
	
	/**
	 * デフォルトの機器を取得します.
	 * @param kksv_98XX_map
	 * @param taknkiki_sbt_cd
	 * @return
	 */
	public String getDefaultModelCd(HashMap<String, Object> kksv_98XX_map, String taknkiki_sbt_cd)
	{
		// コースの取得
		String pcourse = (String) kksv_98XX_map.get(JKKAdchgConstCC.PARAM_KEY_KEI_SVC);
		if (JKKAdchgConstCC.TAKNKIKI_SBT.CODE_F0.equals(taknkiki_sbt_cd)) {
			// ルーター

			// eo光ベーシックルータレンタル
			if (ROUTER_BASIC.equals(kksv_98XX_map.get( JKKAdchgConstCC.PARAM_KEY_EOHNT_STC_ROUTER_CD )))
			{
				if ( JKKAdchgConstCC.PCRS_CD.A03_100M.equals(pcourse) 
						|| JKKAdchgConstCC.PCRS_CD.A04_100M_PRE.equals(pcourse) 
						|| JKKAdchgConstCC.PCRS_CD.A06_100M_VPN.equals(pcourse) 
						|| JKKAdchgConstCC.PCRS_CD.A08_100M_MAISON.equals(pcourse)
						|| JKKAdchgConstCC.PCRS_CD.A09_100M_MSN_PRE.equals(pcourse))
				{
					return TK_MDL_CD.eoHIKARI_BASICRTR_100M;
				}
				else
				{
					return TK_MDL_CD.eoHIKARI_BASICRTR_1G;
				}
			}
			else if (ROUTER_MUSEN.equals(kksv_98XX_map.get( JKKAdchgConstCC.PARAM_KEY_EOHNT_STC_ROUTER_CD )))
			{
				if ( JKKAdchgConstCC.PCRS_CD.A03_100M.equals(pcourse) 
						|| JKKAdchgConstCC.PCRS_CD.A04_100M_PRE.equals(pcourse) 
						|| JKKAdchgConstCC.PCRS_CD.A06_100M_VPN.equals(pcourse) 
						|| JKKAdchgConstCC.PCRS_CD.A08_100M_MAISON.equals(pcourse)
						|| JKKAdchgConstCC.PCRS_CD.A09_100M_MSN_PRE.equals(pcourse))
				{
					return TK_MDL_CD.eoHIKARI_MUSENRTR_100M;
				}
				else
				{
					return TK_MDL_CD.eoHIKARI_MUSENRTR_1G;
				}
			}

		} else if (JKKAdchgConstCC.TAKNKIKI_SBT.CODE_50.equals(taknkiki_sbt_cd)) {

			// VA
			if (JKKAdchgConstCC.PCRS_CD.A31_1NOCRS.equals(pcourse))
			{
				// 1番号サービス(1ポートVA)
				return TK_MDL_CD.HIKARITEL_ADPT_FI;

			} else {
				return TK_MDL_CD.HIKARITEL_ADPT_NA;
			}
		}
		return "";

	}
	
	/**
	 * 更新用に機器情報を設定します.
	 * @param change_map
	 * @param kk0341_a010_map
	 * @param kk0081_a010_map
	 * @param chgKikiFlg 機器の変更を行うか
	 */
	public void editKktkInfo(HashMap<String, Object> srcKikiInfo,
			HashMap<String, Object> destkk0341_a010_map,
			HashMap<String, Object> kksv_98XX_map,
			boolean chgKikiFlg) {

		String kiki_sbt_cd = (String) destkk0341_a010_map.get(EKK0341A010CBSMsg1List.TAKNKIKI_SBT_CD);
		// 料金コースコード
		destkk0341_a010_map.put( EKK0341A010CBSMsg1List.PCRS_CD,  getCourse(srcKikiInfo, kksv_98XX_map, kiki_sbt_cd) );
		// 料金プランコード
		destkk0341_a010_map.put( EKK0341A010CBSMsg1List.PPLAN_CD, getPln(srcKikiInfo, kksv_98XX_map, kiki_sbt_cd) );
		// 違約金発生コード
		destkk0341_a010_map.put( EKK0341A010CBSMsg1List.PNLTY_HASSEI_CD, "" );
		
		if (JKKAdchgConstCC.TAKNKIKI_SBT.CODE_A0.equals( kiki_sbt_cd ))
		{
			// 宅内機器異動コード
			destkk0341_a010_map.put( EKK0341A010CBSMsg1List.TAKNKIKI_IDO_CD, getMapString( srcKikiInfo, "adchg_dtl_stb_ido_div" ) );
			// HDD容量コード
			destkk0341_a010_map.put( EKK0341A010CBSMsg1List.HDD_CAPA_CD, getMapString( srcKikiInfo, "adchg_dtl_taknkiki_hdd_capa" ) );
		}
		// 通信機器セットコード
		destkk0341_a010_map.put( EKK0341A010CBSMsg1List.TSUSHIN_KIKI_SET_CD, getMapString(srcKikiInfo, EKK0341A010CBSMsg1List.TSUSHIN_KIKI_SET_CD ) );
		// 機器製造番号
		// 宅内機器型式コード
		if (chgKikiFlg)
		{
			destkk0341_a010_map.put( EKK0341A010CBSMsg1List.KIKI_SEIZO_NO, "" );
			destkk0341_a010_map.put( EKK0341A010CBSMsg1List.TAKNKIKI_MODEL_CD, getDefaultModelCd(kksv_98XX_map, kiki_sbt_cd) );
		}
		else
		{
			if (!StringUtils.isEmpty(getMapString(srcKikiInfo, EKK0341A010CBSMsg1List.KIKI_SEIZO_NO )))
			{
				destkk0341_a010_map.put( EKK0341A010CBSMsg1List.KIKI_SEIZO_NO, getMapString(srcKikiInfo, EKK0341A010CBSMsg1List.KIKI_SEIZO_NO ) );
			}
			if (!StringUtils.isEmpty(getMapString(srcKikiInfo, EKK0341A010CBSMsg1List.TAKNKIKI_MODEL_CD )))
			{
				destkk0341_a010_map.put( EKK0341A010CBSMsg1List.TAKNKIKI_MODEL_CD, getMapString(srcKikiInfo, EKK0341A010CBSMsg1List.TAKNKIKI_MODEL_CD ) );
			}
		}
		
	}

// IT1-2012-0000866 2012/06/28 T.SAKAMOTO ADD START
	/**
	 * <p>
	 * 請求書送付先_契約者住所差異フラグを取得します.
	 * </p>
	 * <li>請求書送付先チェックがない場合　⇒　現在の請求書送付先住所<br> 
	 * <li>請求書送付先チェックがある場合　⇒　移転先住所<br>
	 * とし、契約者住所と比較し、差異がある場合 "1" ない場合 "0" を返却します。
	 * 
	 * @param umu 有無
	 * @return "1"(有り)の場合、true / 左記以外の場合　false
	 */
	private Object getAdchgSksShsChgUm(IRequestParameterReadWrite param,
																	HashMap<String, Object> paramMap,
																	HashMap<String, Object> kk0491_a010_map) {

		// 請求書送付先変更有無
		String adchgSksShsChgUm = "";

		// 請求書送付先変更があるかどうか判定
		if (isUmuAri((String) paramMap.get(JKKAdchgConstCC.PARAM_KEY_ADCHG_SKS_SHS_CHG_UM))) {
			// 請求書送付先変更有りの場合、移転先住所を元に契約者住所差異判定を行なう
			adchgSksShsChgUm = checkKshAd(param, paramMap, AD_ITNS);
		} else {
			// 請求書送付先変更なしの場合、現在の請求書送付先住所を元に契約者住所差異判定を行なう
			adchgSksShsChgUm = checkKshAd(param, kk0491_a010_map, AD_SOHUS);
		}
		return adchgSksShsChgUm;
	}

	/**
	 * <p>
	 * 有無が"有"かどうか判定します.
	 * </p>
	 * <li>"0"の場合無し<br> <li>"1"の場合有り<br>
	 * 
	 * @param umu
	 *            有無
	 * @return "1"(有り)の場合、true / 左記以外の場合　false
	 */
	private boolean isUmuAri(String umu) {

		boolean ari = false;

		if ("1".equals(umu)) {
			ari = true;
		}
		return ari;
	}
// IT1-2012-0000866 2012/06/28 T.SAKAMOTO ADD START

// DB結果検証障害対応 No.32,35,40,57 OIJI ADD START -------------------------------
	/**
	 * サービス契約内訳＜eo光TV＞の更新処理を行います.
	 * @param param           モデルグループ、コントロールマップを含むリクエストパラメータ
	 * @param fixedText       ユーザ任意文字列
	 * @param kk0341_a010_map 機器提供サービス契約一意照会結果
	 * @param count           リストのIndex
	 * @throws Exception
	 */
	public void modifyTVSvcUcwk(IRequestParameterReadWrite param, String fixedText, HashMap<String, Object> kk0341_a010_map, int count) throws Exception {

		/** 前準備 **/
		HashMap<String, String> condMap;
		HashMap<String, Object> paramMap = (HashMap<String, Object>) param.getData(fixedText);
		HashMap<String, Object> reqMap;
		Map<?, ?> resMap;

		// 住所変更登録コモンコンポーネントマッピングクラスインスタンス
		JKKAdchgMapperCC mapper = JKKAdchgMapperCC.getInstance();
		// SCリクエストInvoker
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();

		// 機器が空情報の場合処理を行わない。
		if (kk0341_a010_map == null) {
			return;
		}
		// 宅内機器種別が C-CAS の時にのみ更新を行う
		if (!JKKAdchgConstCC.TAKNKIKI_SBT.CODE_C0.equals((String) kk0341_a010_map.get(EKK0341A010CBSMsg1List.TAKNKIKI_SBT_CD))) {
			return;
		}

		HashMap<String, Object> kksv_9823_map = (HashMap<String, Object>)param.getData(KKSV0098_KKSV0098OP.KKSV009823CC);
		
		// 更新対象サービス契約内訳情報
		HashMap<String, Object> svcKeiUcwkMap = ((ArrayList<HashMap<String, Object>>) kksv_9823_map.get(JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UCWK_LIST)).get(count);
		// サービス契約内訳番号
		String svcKeiUcwkNo = getMapString(svcKeiUcwkMap, JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UCWK_NO);

		// ■ EKK0161A010_サービス契約内訳一意照会
		HashMap<String, Object> kk0161_a010_map = getEKK0161A010(param, mapper, fixedText, scCall, 
									svcKeiUcwkNo, (String) paramMap.get(JKKAdchgConstCC.PARAM_KEY_OPE_DATE));

		// 申込明細番号
		kk0161_a010_map.put(EKK0161A010CBSMsg1List.MSKM_DTL_NO, kksv_9823_map.get(JKKAdchgConstCC.PARAM_KEY_MSKM_DTL_NO));
		// 異動区分
		kk0161_a010_map.put(EKK0161A010CBSMsg1List.IDO_DIV, kksv_9823_map.get(JKKAdchgConstCC.PARAM_KEY_IDO_DIV));
		// 予約適用年月日（"20121231"を設定）
		kk0161_a010_map.put(EKK0161A010CBSMsg1List.RSV_APLY_YMD, JKKAdchgConstCC.DEFAULT_RSV_APLY_YMD);

		// 入力された料金コース
		String paramPcrs = getMapString(svcKeiUcwkMap, "svc_kei_ucwk_pcrs_cd");
		// 入力された料金プラン
		String paramPplan = getMapString(svcKeiUcwkMap, "svc_kei_ucwk_pplan_cd");
		// 設定された提供方式契約番号
		String paramTkHskKeiNo = (String) kksv_9823_map.get(JKKAdchgConstCC.PARAM_KEY_TK_HOSHIKI_KEI_NO);
		
		// 料金コース・プラン・提供方式契約番号に変更がない場合はEKK0181C051_サービス契約内訳＜eo光ネット＞情報変更にて更新
		if (kk0161_a010_map.get(EKK0161A010CBSMsg1List.PCRS_CD).equals(paramPcrs)
				&& kk0161_a010_map.get(EKK0161A010CBSMsg1List.PPLAN_CD).equals(paramPplan)
				&& kk0161_a010_map.get(EKK0161A010CBSMsg1List.TK_HOSHIKI_KEI_NO).equals(paramTkHskKeiNo)) {

			// ・EKK0181A010  サービス契約内訳＜eo光TV＞一意照会
			condMap = new HashMap<String, String>();
			condMap.put(JKKAdchgMapperCC.COND_KEY_SVC_KEI_UCWK_NO, svcKeiUcwkNo);
			reqMap = mapper.setEKK0181A010(param, fixedText, condMap);
			resMap = scCall.run(reqMap, keepSesHandle);
			HashMap<String, Object> kk0181_a010_map = mapper.getEKK0181A010(param, fixedText, resMap);
			mapper.scResultCheck(param);

			// 更新年月日時分秒(更新前)
			kk0181_a010_map.put(JKKAdchgMapperCC.UPD_DT_SVC_KEI_UCWK_UPD_DTM_BEF, getUpdDtm(param, fixedText, kksv_9823_map));
			
			// ・EKK0181C051  サービス契約内訳＜eo光ネット＞情報変更
			reqMap = mapper.setEKK0181C051(param, fixedText, kk0161_a010_map, kk0181_a010_map);
			resMap = scCall.run(reqMap, keepSesHandle);
			HashMap<String, Object> kk0181_c051_map = mapper.getEKK0181C051(param, fixedText, resMap);
			mapper.scResultCheck(param);

			// 更新後の更新年月日時分秒をparamへ設定
			svcKeiUcwkMap.put(JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UCWK_UPD_DTM_AFT, (String) kk0181_c051_map.get(EKK0181C051CBSMsg.UPD_DTM));
			//   親レコードの更新年月日を更新
			paramMap.put(JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UPD_DTM_AFT, (String) kk0181_c051_map.get(EKK0181C051CBSMsg.UPD_DTM));
		} else {
			
			// 料金グループコード
			kk0161_a010_map.put(EKK0081A010CBSMsg1List.PRC_GRP_CD, (String)paramMap.get(JKKAdchgConstCC.PARAM_KEY_PGRP));
			// 料金コース
			kk0161_a010_map.put(EKK0161A010CBSMsg1List.PCRS_CD, paramPcrs);
			// 料金プラン
			kk0161_a010_map.put(EKK0161A010CBSMsg1List.PPLAN_CD, paramPplan);
			// 提供方式契約番号
			kk0161_a010_map.put(EKK0161A010CBSMsg1List.TK_HOSHIKI_KEI_NO, paramTkHskKeiNo);
			
			// 更新年月日時分秒(更新前)
			kk0161_a010_map.put(JKKAdchgMapperCC.UPD_DT_SVC_KEI_UCWK_UPD_DTM_BEF, getUpdDtm(param, fixedText, kksv_9823_map));

			// kk0161_a010_map.申込明細番号をparam.申込明細番号に差替
			kk0161_a010_map.put(EKK0161A010CBSMsg1List.MSKM_DTL_NO, (String)paramMap.get(JKKAdchgConstCC.PARAM_KEY_MSKM_DTL_NO));
			// kk0161_a010_map.サービス利用開始希望年月日をparam.サービス利用開始希望年月日に差替
			kk0161_a010_map.put(EKK0161A010CBSMsg1List.SVC_USE_STA_KIBO_YMD, (String)paramMap.get(JKKAdchgConstCC.PARAM_KEY_SVC_USE_STA_KIBO_YMD));
			// kk0161_a010_map.予約適用開始希望年月日をparam.変更予定年月日に差替
			kk0161_a010_map.put(EKK0161A010CBSMsg1List.RSV_TSTA_KIBO_YMD, (String)paramMap.get(JKKAdchgConstCC.PARAM_KEY_CHG_RSV_YMD));

			// ・EKK0161C111  サービス契約内訳料金プラン変更
			reqMap = mapper.setEKK0161C111(param, fixedText, kk0161_a010_map);
			resMap = scCall.run(reqMap, keepSesHandle);
			HashMap<String, Object> kk0161_c111_map = mapper.getEKK0161C111(param, fixedText, resMap);
			mapper.scResultCheck(param);

			// 更新後の更新年月日時分秒をparamへ設定
			svcKeiUcwkMap.put(JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UCWK_UPD_DTM_AFT, (String) kk0161_c111_map.get(EKK0161C111CBSMsg.UPD_DTM));
			//   親レコードの更新年月日を更新
			paramMap.put(JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UPD_DTM_AFT, (String) kk0161_c111_map.get(EKK0161C111CBSMsg.UPD_DTM));
		}
	}
// DB結果検証障害対応 No.32,35,40,57 OIJI ADD END ---------------------------------

//	▼▼▼ 工事案件 型式コード対応 2012-07-16 新城 ▼▼▼
	/**
	 * 転居元・先の機器情報取得処理
	 * <dd>転居および転居先の機器情報を取得し工事案件へKEY項目を設定します。
	 * <br>
	 * @param   param      モデルグループ、コントロールマップを含むリクエストパラメータ
	 * @param   keepSesHandle  	セッションハンドル
	 * @param   fixedText  ユーザ任意文字列
	 * @throws  Exception  例外が発生した場合
	 */
	public void getSvcData(IRequestParameterReadWrite param, SessionHandle keepSesHandle, String fixedText) throws Exception{
		
		/** 事前準備 */
		HashMap<String, Object> paramMap = (HashMap<String, Object>)param.getData(fixedText);
		HashMap<String, Object> kksv_9800_map = (HashMap<String, Object>) param.getData( KKSV0098_KKSV0098OP.KKSV009800CC );
		ArrayList<HashMap<String,Object>> new_net_kktk_list = new ArrayList<HashMap<String,Object>>();
		ArrayList<HashMap<String,Object>> new_tl_kktk_list = new ArrayList<HashMap<String,Object>>();
		ArrayList<HashMap<String,Object>> new_tv_kktk_list = new ArrayList<HashMap<String,Object>>();
		HashMap<String, String> condMap = new HashMap<String, String>();
		HashMap<String, Object> requestMap;
		Map<?, ?> resMap;

		// 住所変更登録コモンコンポーネントマッピングクラスインスタンスを取得
		JKKAdchgMapperCC mapper = JKKAdchgMapperCC.getInstance();

		// SCリクエストInvokerを取得
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();

		ArrayList<HashMap<String, Object>> adchgDtlListkiki = (ArrayList<HashMap<String, Object>>)paramMap.get(JKKAdchgConstCC.PARAM_KEY_ADCHG_DTL_LIST_KKTK_SVC_KEI);
		for(int i = 0; i < adchgDtlListkiki.size() ; i++ )
		{
			HashMap<String, Object> adchgDtlMapSvcKei = adchgDtlListkiki.get(i);
			
			if (adchgDtlMapSvcKei == null) {
				continue;
			}

			String paramKeyAdchgDtlChgTgKeiNo = null;
			paramKeyAdchgDtlChgTgKeiNo = (String) adchgDtlMapSvcKei.get(JKKAdchgConstCC.PARAM_KEY_ADCHG_DTL_CHG_TG_KEI_NO);
			if (StringUtils.isEmpty(paramKeyAdchgDtlChgTgKeiNo)) {
				continue;
			}

			// 転居先の機器情報を取得
			condMap.put(JKKAdchgMapperCC.COND_KEY_KKTK_SVC_KEI_NO, paramKeyAdchgDtlChgTgKeiNo);
			condMap.put(JKKAdchgMapperCC.COND_KEY_OPEDATE,(String) JKKAdchgConstCC.DEFAULT_RSV_APLY_YMD);
			requestMap = mapper.setEKK0341A010( param, fixedText, condMap );
			resMap = scCall.run( requestMap, keepSesHandle );
			HashMap<String, Object> kk0341_a010_map_af = mapper.getEKK0341A010( param, fixedText, resMap );
			mapper.scResultCheck( param );

			// 転居元の機器情報を取得
			condMap.put(JKKAdchgMapperCC.COND_KEY_OPEDATE,(String) JCCBPCommon.getOpeDate(null));
			requestMap = mapper.setEKK0341A010( param, fixedText, condMap );
			resMap = scCall.run( requestMap, keepSesHandle );
			HashMap<String, Object> kk0341_a010_map_bf = mapper.getEKK0341A010( param, fixedText, resMap );
			mapper.scResultCheck( param );

			// 機器情報格納用マップ生成
			HashMap<String, Object> kj_kktk_map = new HashMap<String, Object>();
			
			/// 変更前機器情報の情報を設定 */
			// 機器提供サービス契約番号＿変更前
			kj_kktk_map.put(JKKKojiAnkenConstCC.CHGBF_KKTK_SVC_KEI_NO, kk0341_a010_map_bf.get(EKK0341A010CBSMsg1List.KKTK_SVC_KEI_NO));
			// 世代登録年月日時分秒＿変更前
			kj_kktk_map.put(JKKKojiAnkenConstCC.CHGBF_KKTK_SVC_KEI_NO_GENE_ADD_DTM, kk0341_a010_map_bf.get(EKK0341A010CBSMsg1List.GENE_ADD_DTM));

			// 変更後機器情報の情報を設定 */
			// 機器提供サービス契約番号＿変更後
			kj_kktk_map.put(JKKKojiAnkenConstCC.KKTK_SVC_KEI_NO, kk0341_a010_map_af.get(EKK0341A010CBSMsg1List.KKTK_SVC_KEI_NO));
			// 世代登録年月日時分秒＿変更後
			kj_kktk_map.put(JKKKojiAnkenConstCC.KKTK_SVC_KEI_NO_GENE_ADD_DTM, kk0341_a010_map_af.get(EKK0341A010CBSMsg1List.GENE_ADD_DTM));

			// サービスコードに紐づくサービス契約番号を取得
			String svcKeiNet = getSvcKeiNo(param, fixedText, JKKAdchgConstCC.CD00130_INET_SVC);
			String svcKeitel = getSvcKeiNo(param, fixedText, JKKAdchgConstCC.CD00130_TEL_SVC);
			String svcKeitv = getSvcKeiNo(param, fixedText, JKKAdchgConstCC.CD00130_TV_SVC );
			
			// D0、E0を判定
			if (StringUtils.isEmpty((String) kk0341_a010_map_af.get(EKK0341A010CBSMsg1List.SVC_KEI_NO))) 
			{
				// D0の場合、ネット・電話にリストを設定
				if (JKKAdchgConstCC.TAKNKIKI_SBT.CODE_D0.equals(kk0341_a010_map_af.get(EKK0341A010CBSMsg1List.TAKNKIKI_SBT_CD))) 
				{
					new_net_kktk_list.add(kj_kktk_map);
					new_tl_kktk_list.add(kj_kktk_map);
				} 
				// E0の場合、テレビにリストを設定
				else if (JKKAdchgConstCC.TAKNKIKI_SBT.CODE_E0.equals(kk0341_a010_map_af.get(EKK0341A010CBSMsg1List.TAKNKIKI_SBT_CD))) 
				
				{
					new_tv_kktk_list.add(kj_kktk_map);
				}
				continue;
			}
			
			// サービス契約番号と突合せを行いリスト設定先を特定
			if (svcKeiNet.equals(kk0341_a010_map_af.get(EKK0341A010CBSMsg1List.SVC_KEI_NO)))
			{
				new_net_kktk_list.add(kj_kktk_map);
			}
			else if(svcKeitel.equals(kk0341_a010_map_af.get(EKK0341A010CBSMsg1List.SVC_KEI_NO)))
			{
				new_tl_kktk_list.add(kj_kktk_map);
			}
			else if(svcKeitv.equals(kk0341_a010_map_af.get(EKK0341A010CBSMsg1List.SVC_KEI_NO))){
				new_tv_kktk_list.add(kj_kktk_map);
			}
		}
		// 9800mapに格納(工事案件へ連携)
		kksv_9800_map.put(JKKAdchgConstCC.NEW_KJ_KKTK_LIST_NT, new_net_kktk_list);
		kksv_9800_map.put(JKKAdchgConstCC.NEW_KJ_KKTK_LIST_TL, new_tl_kktk_list);
		kksv_9800_map.put(JKKAdchgConstCC.NEW_KJ_KKTK_LIST_TV, new_tv_kktk_list);
	}
	/**
	 * サービス契約番号返却処理.
	 * <dd>サービスコードを指定して転居先のサービス契約番号を特定する。
	 * <br>
	 * @param   param      モデルグループ、コントロールマップを含むリクエストパラメータ
	 * @param   fixedText  ユーザ任意文字列
	 * @param   svcCdKind  サービスコード
	 * @throws  Exception  例外が発生した場合
	 * @return  サービスコードに一致した転居先のサービス契約番号（サービスコードに該当しない場合は空文字を返却）
	 */
	public String getSvcKeiNo(IRequestParameterReadWrite param, String fixedText,  String svcCdKind) throws Exception{
		
		/** 事前準備 */
		HashMap<String, Object> kksv_9812_map = (HashMap<String, Object>) param.getData( KKSV0098_KKSV0098OP.KKSV009812CC );
		ArrayList<HashMap<String, Object>> adchg_dtl_map_svc_kei = (ArrayList<HashMap<String, Object>>)( kksv_9812_map.get(JKKAdchgConstCC.PARAM_KEY_ADCHG_DTL_MAP_SVC_KEI) );

		String svcKeiNo = "";

		for(int i = 0; i < adchg_dtl_map_svc_kei.size() ; i++ )
		{
			HashMap<String, Object> adchgSvcKei = adchg_dtl_map_svc_kei.get(i);
			
			String svcCd = (String)adchgSvcKei.get(JKKAdchgConstCC.PARAM_KEY_ADCHG_DTL_SVC_CD);
			// サービスコードにより返却するサービス契約番号を特定
			if(svcCdKind.equals(svcCd))
			{
				svcKeiNo = (String)adchgSvcKei.get( JKKAdchgConstCC.PARAM_KEY_ADCHG_DTL_CHBF_SKBT_NO );
			}
		}
		return svcKeiNo;
	}
//	▲▲▲ 工事案件 型式コード対応 2012-07-16 新城 ▲▲▲

// ●● ActionPlan No.7 対応 2012/07/04 START
	/**
	 * 対象のサービス契約を保留するか判定する.
	 * <br>
	 * @param  svc_chg_div  サービス契約変更区分
	 * @return 判定結果 ( true:あり、false:なし )
	 */
	private boolean isSvkeiHold( String svc_chg_div ) {
		// 保留
		if ( JKKAdchgConstCC.CD00849_HOLD.equals( svc_chg_div ) ) {
			return true;
		}
		return false;
	}
// ●● ActionPlan No.7 対応 2012/07/04 END
// DB結果検証障害対応 No.92 OIJI ADD START -------------------------------
	/**
	 * 指定されたサービス契約番号に紐付く割引サービス契約の一覧を取得します.
	 * @param param モデルグループ、コントロールマップを含むリクエストパラメータ
	 * @param fixedText ユーザ任意文字列
	 * @param svcKeiNo サービス契約番号
	 * @throws Exception
	 * @return 指定されたサービス契約番号に紐付く割引サービス契約
	 */
	public List<Map<String, Object>> selectWaribikiInfBySvcKeiNo(IRequestParameterReadWrite param, String fixedText, String svcKeiNo) throws Exception {
		// 返却域を準備
		List<Map<String, Object>> returnList = new ArrayList<Map<String,Object>>();

		if (StringUtils.isEmpty(svcKeiNo)) {
			return returnList;
		}
		
		/** 事前準備 */
		HashMap<String, String> condMap = new HashMap<String, String>();
		HashMap<String, Object> reqMap;
		Map<?, ?> resMap;

		// 住所情報変更初期表示情報取得コモンコンポーネント
		JKKAdchgMapperCC mapper = JKKAdchgMapperCC.getInstance();

		// SCリクエストInvokerを取得
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();

		/** 割引サービス契約データの取得 */
		// ・EKK0451B002 割引サービス契約一覧照会（サービス契約番号）
		condMap.clear();
		condMap.put(JKKAdchgMapperCC.COND_KEY_SVC_KEI_NO, svcKeiNo);
		reqMap = mapper.setEKK0451B002(param, fixedText, condMap);
		resMap = scCall.run(reqMap, keepSesHandle);
		ArrayList<HashMap<String, Object>> kk0451_b002_list = mapper.getEKK0451B002(param, fixedText, resMap);
		mapper.scResultCheck(param);
		
		// 一覧照会にて取得したデータ数分、繰り返し
		for (HashMap<String, Object> curWribSvcKei : kk0451_b002_list){

			// ・EKK0451A010 割引サービス契約一意照会
			condMap.clear();
			condMap.put(JKKAdchgMapperCC.COND_KEY_WRIB_SVC_KEI_NO, (String) curWribSvcKei.get(EKK0451B002CBSMsg1List.WRIB_SVC_KEI_NO));
			// 運用日付を設定
			condMap.put(JKKAdchgMapperCC.COND_KEY_OPEDATE, JCCBPCommon.getOpeDate(null));
			reqMap = mapper.setEKK0451A010(param, fixedText, condMap);
			resMap = scCall.run(reqMap, keepSesHandle);
			HashMap<String, Object> kk0451_a010 = mapper.getEKK0451A010(param, fixedText, resMap);
			mapper.scResultCheck(param);

			// ・EKK0841A010 割引サービス一意照会
			condMap.clear();
			condMap.put(JKKAdchgMapperCC.COND_KEY_WRIB_SVC_CD, (String)kk0451_a010.get(EKK0451A010CBSMsg1List.WRIB_SVC_CD));
			// 運用日付を設定
			condMap.put(JKKAdchgMapperCC.COND_KEY_OPEDATE, JCCBPCommon.getOpeDate(null));
			reqMap = mapper.setEKK0841A010(param, fixedText, condMap);
			resMap = scCall.run(reqMap, keepSesHandle);
			HashMap<String, Object> kk0841_a010 = mapper.getEKK0841A010(param, fixedText, resMap);
			mapper.scResultCheck(param);

			// 該当する割引サービスが存在するかをチェック
			if(kk0841_a010 == null){
				continue;
			}

			returnList.add(kk0451_a010);
		}

		return returnList;
	}
	/**
	 * 指定された割引サービスコードの割引サービス契約を登録します.
	 * @param param モデルグループ、コントロールマップを含むリクエストパラメータ
	 * @param fixedText ユーザ任意文字列
	 * @param warbSvcCd 割引サービスコード
	 * @throws Exception
	 */
	public void doWaribikiIns(IRequestParameterReadWrite param, String fixedText, String warbSvcCd) throws Exception {
		
		/** 事前準備:なし */
		HashMap<String, Object> reqMap;
		HashMap<String, Object> paramMap = (HashMap<String, Object>)param.getData(fixedText);
		Map<?, ?> resMap;

		// 住所変更登録コモンコンポーネントマッピングクラスインスタンスを取得
		JKKAdchgMapperCC mapper = JKKAdchgMapperCC.getInstance();

		// SCリクエストInvokerを取得
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		
		// ・EKK0851B001  割引サービス対象サービス一覧照会
		HashMap<String, String> condMap = new HashMap<String, String>();
		// ＫＥＹ＿割引サービスコード
		condMap.put(EKK0851B001CBSMsg.KEY_WRIB_SVC_CD, warbSvcCd);
		// ＫＥＹ＿料金グループコード
		condMap.put(EKK0851B001CBSMsg.KEY_PRC_GRP_CD, (String) paramMap.get(JKKAdchgConstCC.PARAM_KEY_PGRP));
		// ＫＥＹ＿料金コースコード
		condMap.put(EKK0851B001CBSMsg.KEY_PCRS_CD, null);
		// ＫＥＹ＿料金プランコード
		condMap.put(EKK0851B001CBSMsg.KEY_PPLAN_CD, null);
		// ＫＥＹ＿基準年月日
		condMap.put(EKK0851B001CBSMsg.KEY_KJNYMD, (String) paramMap.get(JKKAdchgConstCC.PARAM_KEY_OPE_DATE));

		reqMap = mapper.setEKK0851B001(param, fixedText, condMap);
		resMap = scCall.run(reqMap, keepSesHandle);
		ArrayList<HashMap<String, Object>> kk0851_b001_map_list = mapper.getEKK0851B001(param, fixedText, resMap);
		mapper.scResultCheck(param);

		/** 割引サービス契約登録 */
		HashMap<String, Object> kk0451_d010_map = new HashMap<String, Object>();
		kk0451_d010_map.put(EKK0451D010CBSMsg.SYSID, (String) paramMap.get(JKKAdchgConstCC.PARAM_KEY_SYSID));
		kk0451_d010_map.put(EKK0451D010CBSMsg.WRIB_SVC_CD, warbSvcCd);
		kk0451_d010_map.put(EKK0451D010CBSMsg.PCRS_CD, null);
		kk0451_d010_map.put(EKK0451D010CBSMsg.PPLAN_CD, null);
		kk0451_d010_map.put(EKK0451D010CBSMsg.SVC_USE_STA_KIBO_YMD, (String) paramMap.get(JKKAdchgConstCC.PARAM_KEY_SVC_USE_STA_KIBO_YMD));
		kk0451_d010_map.put(EKK0451D010CBSMsg.RSV_TSTA_KIBO_YMD, (String) paramMap.get(JKKAdchgConstCC.PARAM_KEY_CHG_RSV_YMD));
		kk0451_d010_map.put(EKK0451D010CBSMsg.MSKM_DTL_NO, (String) paramMap.get(JKKAdchgConstCC.PARAM_KEY_MSKM_DTL_NO));
		kk0451_d010_map.put(EKK0451D010CBSMsg.APLY_JUN, JKKAdchgConstCC.APLY_JUN_OFF);
		kk0451_d010_map.put(EKK0451D010CBSMsg.PNLTY_HASSEI_CD, null);
		kk0451_d010_map.put(EKK0451D010CBSMsg.IDO_DIV, (String) paramMap.get(JKKAdchgConstCC.PARAM_KEY_IDO_DIV));
		kk0451_d010_map.put(EKK0451D010CBSMsg.WRIB_ADD_OPTY_CD, JKKAdchgConstCC.ADD_OPTY_CD_MAN_APLY);
		kk0451_d010_map.put(EKK0451D010CBSMsg.MSKM_KISAN_YMD, (String) paramMap.get(JKKAdchgConstCC.PARAM_KEY_MSKM_YMD));
		kk0451_d010_map.put(EKK0451D010CBSMsg.UPD_DTM_BF, paramMap.get(JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UPD_DTM_AFT));

		// .割引サービス対象契約明細
		ArrayList<HashMap<String, Object>> list = new ArrayList<HashMap<String, Object>>();
		HashMap<String, Object> inMapWrisvcTgKei = new HashMap<String, Object>();
		inMapWrisvcTgKei.put(EKK0451D010CBSMsg1List.TG_KEI_SKBT_CD, JKKAdchgConstCC.TG_KEI_SKBT_CD_SVC_KEI);
		inMapWrisvcTgKei.put(EKK0451D010CBSMsg1List.SVC_KEI_NO, (String) paramMap.get(JKKAdchgConstCC.PARAM_KEY_NEW_SVC_KEI_NO));
		inMapWrisvcTgKei.put(EKK0451D010CBSMsg1List.SVC_KEI_UCWK_NO, (String) paramMap.get(JKKAdchgConstCC.PARAM_KEY_NEW_SVC_KEI_UCWK_NO));
		HashMap<String, Object> kk0851_b001_item_map = (HashMap<String, Object>) kk0851_b001_map_list.get(0);
		inMapWrisvcTgKei.put(EKK0451D010CBSMsg1List.WRIB_SVC_TRGT_SVC_CD, kk0851_b001_item_map.get(EKK0851B001CBSMsg1List.WRIB_SVC_TRGT_SVC_CD));
		inMapWrisvcTgKei.put(EKK0451D010CBSMsg1List.SET_ADD_YMD, (String) paramMap.get(JKKAdchgConstCC.PARAM_KEY_OPE_DATE) );
		inMapWrisvcTgKei.put(EKK0451D010CBSMsg1List.WRISVC_TG_KEI_TSTAYMD, (String) paramMap.get(JKKAdchgConstCC.PARAM_KEY_SVC_USE_STA_KIBO_YMD));
		inMapWrisvcTgKei.put(EKK0451D010CBSMsg1List.WRISVC_TG_KEI_TENDYMD, JKKAdchgConstCC.DEFAULT_RSV_APLY_YMD);
		list.add(inMapWrisvcTgKei);

		/** 割引サービス契約登録 */
		// ・EKK0451D010 割引サービス契約登録
		reqMap = mapper.setEKK0471D010(param, fixedText, kk0451_d010_map, list);
		resMap = scCall.run(reqMap, keepSesHandle);
		kk0451_d010_map = mapper.getEKK0471D010(param, fixedText, resMap);
		mapper.scResultCheck(param);
		
		// 登録後の更新年月日時分秒をparamへ設定
		paramMap.put(JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UPD_DTM_AFT, (String) kk0451_d010_map.get(EKK0451D010CBSMsg.UPD_DTM));
	}
	/**
	 * 割引サービス契約の解約を行います.
	 * @param param
	 * @param fixedText
	 * @param kk0451_a010_map
	 * @throws Exception
	 */
	public void doWaribikiSlre(IRequestParameterReadWrite param, String fixedText, HashMap<String, Object> kk0451_a010_map) throws Exception {

		/** 事前準備:なし */
		HashMap<String, Object> reqMap;
		HashMap<String, Object> paramMap = (HashMap<String, Object>)param.getData(fixedText);
		Map<?, ?> resMap;

		// 住所変更登録コモンコンポーネントマッピングクラスインスタンスを取得
		JKKAdchgMapperCC mapper = JKKAdchgMapperCC.getInstance();

		// SCリクエストInvokerを取得
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();

		// 予約適用開始希望年月日
		kk0451_a010_map.put(EKK0451A010CBSMsg1List.RSV_TSTA_KIBO_YMD, paramMap.get(JKKAdchgConstCC.PARAM_KEY_CHG_RSV_YMD));
		// 申込明細番号
		kk0451_a010_map.put(EKK0451A010CBSMsg1List.MSKM_DTL_NO, paramMap.get(JKKAdchgConstCC.PARAM_KEY_MSKM_DTL_NO));
		// 予約適用コード
		kk0451_a010_map.put(EKK0451A010CBSMsg1List.RSV_APLY_CD, JKKAdchgConstCC.CD00343_RSV_KAKUTEI);
		// プラン終了種別コード
		kk0451_a010_map.put(EKK0451A010CBSMsg1List.PLAN_END_SBT_CD, null);
		// 解約年月日
		String kaiyakuYmd = (String) paramMap.get(JKKAdchgConstCC.PARAM_KEY_KJ_DSL_YMD);
		if (StringUtils.isEmpty(kaiyakuYmd)) {
			// 解約年月日が選択されてなければ工事希望年月日
			kaiyakuYmd = (String) paramMap.get(JKKAdchgConstCC.PARAM_KEY_KJ_KIBO_YMD);
		}
		// サービス終了年月日（not Null）
		kk0451_a010_map.put(EKK0451A010CBSMsg1List.SVC_ENDYMD, kaiyakuYmd);
		// サービス課金終了年月日（not Null）
		kk0451_a010_map.put(EKK0451A010CBSMsg1List.SVC_CHRG_ENDYMD, kaiyakuYmd);
		// サービス解約年月日（not Null）
		kk0451_a010_map.put(EKK0451A010CBSMsg1List.SVC_DSL_YMD, kaiyakuYmd);
		// サービス解約理由コード（not Null）
		kk0451_a010_map.put(EKK0451A010CBSMsg1List.SVC_DLRE_CD, JKKAdchgConstCC.SVC_KAIYAKU_RIYU_CD.TSUJO);
		// サービス解約理由メモ
		kk0451_a010_map.put(EKK0451A010CBSMsg1List.SVC_DLRE_MEMO, null);
		// 違約金発生コード
		kk0451_a010_map.put(EKK0451A010CBSMsg1List.PNLTY_HASSEI_CD, JKKAdchgConstCC.CD00002_NASHI);
		// 異動区分（not Null）
		kk0451_a010_map.put(EKK0451A010CBSMsg1List.IDO_DIV, paramMap.get(JKKAdchgConstCC.PARAM_KEY_IDO_DIV));
		// 割引解約キャンセル契機コード
		kk0451_a010_map.put(EKK0451A010CBSMsg1List.WRIB_DSL_CNCL_OPTY_CD, JKKAdchgConstCC.WRIB_KAIJO_KEIKI_CD.JIDO);
		
		// EKK0451C020_割引サービス契約解約
		reqMap = mapper.setEKK0451C020(param, fixedText, kk0451_a010_map);
		resMap = scCall.run(reqMap, keepSesHandle);
		HashMap<String, Object> kk0451_c020_map = mapper.getEKK0451C020(param, fixedText, resMap);
		mapper.scResultCheck(param);
		
		// 登録後の更新年月日時分秒をparamへ設定
		paramMap.put(JKKAdchgConstCC.PARAM_KEY_SVC_KEI_UPD_DTM_AFT, (String) kk0451_c020_map.get(EKK0451D010CBSMsg.UPD_DTM));
	}
// DB結果検証障害対応 No.92 OIJI ADD END ---------------------------------
	
	// ANK-4590-00-00 ADD START
	/**
	 * EKK2041B501 機器提供料金プラン別機器型式候補番号
	 * 
	 * @param param
	 * @param mapper
	 * @param fixedText
	 * @param scCall
	 * @param kktk_svc_cd
	 * @param pcrs_cd
	 * @param pplan_cd
	 * @return
	 * @throws Exception
	 */
	public List<HashMap<String, Object>> getEKK2041B501(
			IRequestParameterReadWrite param, JKKAdchgMapperCC mapper,
			String fixedText, ServiceComponentRequestInvoker scCall,
			String kktk_svc_cd, String pcrs_cd, String pplan_cd, String svcTypeSkbtCd) throws Exception {

		HashMap<String, String> condMap = new HashMap<String, String>();
		String opeDate = JCCBPCommon.getOpeDate(null);
		condMap.put(EKK2041B501CBSMsg1List.KKTK_SVC_CD,
				kktk_svc_cd);
		condMap.put(EKK2041B501CBSMsg1List.PCRS_CD, pcrs_cd);
		condMap.put(EKK2041B501CBSMsg1List.PPLAN_CD, pplan_cd);
		condMap.put(EKK2041B501CBSMsg1List.SVC_TYPE_SKBT_CD, svcTypeSkbtCd);
		HashMap<String, Object> reqMap = mapper.setEKK2041B501(param,
				fixedText, condMap);
		Map<?, ?> resMap = scCall.run(reqMap, keepSesHandle);
		List<HashMap<String, Object>> kk2041_b501_map = mapper.getEKK2041B501(param,
				fixedText, resMap);
		// サービスコンポーネント実行結果確認
		mapper.scResultCheck(param);

		return kk2041_b501_map;
	}
	// ANK-4590-00-00 ADD END
}
