/********************************************************************
 *  All Rights reserved,Copyright (c) K-Opticom
 ********************************************************************
 *＜プログラム内容＞
 *  システム名      ：eo顧客基幹システム
 *  モジュール名    ：工事案件コモンコンポーネント部品
 *  ソースファイル名：JKKKojiAnkenCC.java
 *  作成者          ：FJ
 *  日付            ：2011年10月26日
 *＜機能概要＞
 *  工事案件の登録更新(受付・諸変更・回復・解約)を実施するコモンコンポーネント部品。
 *＜修正履歴＞
 *  バージョン  修正日      修正者      修正内容
 *  v1.00       2011/10/26  FJ          新規作成
 *  v1.01       2012/04/21  FJ          巻取案件@対応
 *  v1.01       2012/04/21  FJ         【ANK-0025-00-00】ギガルータ対応
 *  v1.01       2012/04/21  FJ         【ANK-0050-00-00】FTTH従量制課金(STEP1)
 *  v1.01       2012/04/21  FJ         【ANK-0147-00-00】住変電話即時開通
 *  v1.01       2012/04/21  FJ         【ANK-0316-00-00】宅内機器管理Ｓとのデータ参照方式について
 *  v1.01       2012/04/21  FJ         【ANK-0374-00-00】(OPMS連携)住所変更連携における連携項目追加
 *  v1.01       2012/04/21  FJ         【ANK-0376-00-00】(OPMS連携)機器出荷情報連携における連携項目追加
 *  v8.00.00    2014/04/15  FJ)星野     OM-2014-0001365対応
 *  v8.01.00    2014/04/24  FJ)星野     OM-2014-0001645対応
 *  v8.02.00    2014/04/28  FJ)星野     OM-2014-0001716対応
 * v10.00.00    2014/07/14  FJ)江藤    【ANK-1918-00-00】ＵＳ管理Ｓ向けｅｏ顧客ＳのＩ／Ｆ改修
 * v10.01.00    2014/08/02  FJ)藤本    【ANK-2138-00-00】スマリン端末のトムソンケース同梱
 *  v9.00.00    2014/08/20  FJ)田中     OM-2014-0002455対応
 * v10.02.00    2014/09/03  FJ)北谷     IT2-2014-0000296対応 
 * v10.03.00    2014/09/24  FJ)北谷     IT2-2014-0000314対応
 * v13.00.00    2015/03/05  FJ)藤本    【OM-2015-0000358】EPON⇒GEPON切替の工事中に回復しても交換後のONUが配送情報作成対象とならない
 * v28.00.00    2017/01/10  FJ)澤田    【OM-2016-0002126】住所変更一括更新、復活案件引継ぎ対応
 * v41.00.00    2018/02/01  FJ)三原    【ANK-3387-00-00】マンションタイプ光コンセントサービス導入
 * v61.00.00	2023/01/04  FJ)澤田	   【ANK-4315-00-00】【eo定期】 eoホームゲートウェイ導入対応

 ********************************************************************/
package com.fujitsu.futurity.bp.custom.common;

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.HashMap;
import java.util.Map;

import com.fujitsu.futurity.bp.custom.constant.JKKKojiAnkenConstCC;
import com.fujitsu.futurity.bp.custom.constant.JKKKojiRnkiSysJdgConstCC;
import com.fujitsu.futurity.bp.custom.constant.JKKSvcConst;
import com.fujitsu.futurity.bp.custom.constant.KKSV0098_KKSV0098OP;
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.AbstractCommonComponent;
import com.fujitsu.futurity.bp.x21.cc.exception.CCException;
import com.fujitsu.futurity.bp.x21.cc.exception.SCCallException;
import com.fujitsu.futurity.common.JCMConstants;
import com.fujitsu.futurity.common.x01.sc.SCControlMapKeys;
import com.fujitsu.futurity.model.base.CAANMsg;
import com.sun.enterprise.tools.common.util.StringUtils;

import eo.common.constant.JKKStrConst;
import eo.common.constant.JKUStrConst;
import eo.ejb.cbs.cbsmsg.EDK0011B090CBSMsg;
import eo.ejb.cbs.cbsmsg.EDK0011B090CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0011A010CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0021A010CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0081A010CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0081B007CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0101A010CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0161A010CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0161B004CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0191A010CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0241B001CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0341A010CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0341B022CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0351B003CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0491B005CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0861A010CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0881A010CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0891A010CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK1681B001CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK2091B001CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK2811B010CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKU0141B010CBSMsg1List;
import eo.ejb.cbs.cbsmsg.ETU0011B010CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EZM0291B010CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EZM0411A010CBSMsg1List;

/**
 * 工事案件コモンコンポーネント部品.
 * <br>
 * @author FJ
 */
public class JKKKojiAnkenCC extends AbstractCommonComponent {

	// ◆◆◆ 変数宣言 ◆◆◆
	/** 工事案件CC用マッパー */
	private static ThreadLocal<JKKKojiAnkenMapperCC> mapper = new ThreadLocal<JKKKojiAnkenMapperCC>() {
		// 領域への設定はinitialValue()ではなくset()を使用する為、initialValue()は実装しない
	};
	/** 工事案件マッピングパターンCC用マッパー */
	private static ThreadLocal<JKKKojiAnkenMapPatternCC> ptnMapper = new ThreadLocal<JKKKojiAnkenMapPatternCC>() {
		// 領域への設定はinitialValue()ではなくset()を使用する為、initialValue()は実装しない
	};
	/** ユーザ任意文字列 */
	private static ThreadLocal<String> useFixedText = new ThreadLocal<String>() {
		// 領域への設定はinitialValue()ではなくset()を使用する為、initialValue()は実装しない
	};

	// ◆◆◆ エラーメッセージ ◆◆◆
	/** エラーメッセージ: パラメータ設定不正 */
	private static final String ERR_STR_PARAM = "リクエストパラメータに誤りがあります";

	// ◆◆◆ CD00884 - 工事受付コード ◆◆◆
	/** 工事受付コード: 001 (回線使う) */
	private static final String CD00884_USE_KISN = "001";

	/** 工事受付コード: 002 (回線使わなくなる) */
	private static final String CD00884_NON_USE_KISN = "002";

	/** 工事受付コード: 007 (回線変える) */
	private static final String CD00884_CHANGE_KISN = "007";

	/** 工事受付コード: 010 (機器変える) */
	private static final String CD00884_CHANGE_KIKI = "010";

	/** 工事受付コード: 070 (内容変更) */
	private static final String CD00884_CHANGE_NAIYO = "070";
	
	// ANK-2138-00-00 スマリン端末のトムソンケース同梱 2014/08/02 START
	/** 工事受付コード: 999 (何もしない) */
	private static final String CD00884_NON = "999";
	// ANK-2138-00-00 スマリン端末のトムソンケース同梱 2014/08/02 END

	// ◆◆◆ CD00885 - 工事受付詳細コード ◆◆◆
	/** 工事受付詳細コード: 10 (新規) */
	private static final String CD00885_NEW = "10";

	/** 工事受付詳細コード: 20 (解約(回線残さない)) */
	private static final String CD00885_DSL_KISN_DEL = "20";

	/** 工事受付詳細コード: 21 (解約(回線残す)) */
	private static final String CD00885_DSL_KISN_ZAN = "21";

	/** 工事受付詳細コード: 30 (引越し) */
	private static final String CD00885_HIKKOSHI = "30";

	/** 工事受付詳細コード: 40 (回復) */
	private static final String CD00885_KAIHK = "40";

	/** 工事受付詳細コード: 50 (速度変える) */
	private static final String CD00885_SPEED_CHANGE = "50";

	/** 工事受付詳細コード: 60 (TVコース変更) */
	private static final String CD00885_TV_COURSE_CHANGE = "60";

	/** 工事受付詳細コード: 70 (光電話つける) */
	private static final String CD00885_TEL_TEMP = "70";

	/** 工事受付詳細コード: 80 (TV機器変える) */
	private static final String CD00885_TV_KIKI_CHANGE = "80";

	/** 工事受付詳細コード: 90 (線移動) */
	private static final String CD00885_SEN_MOVE = "90";

	/** 工事受付詳細コード: A1 (お客様情報変える) */
	private static final String CD00885_CUST_INFO_CHANGE = "A1";

	/** 工事受付詳細コード: A2 (サービス内容変える) */
	private static final String CD00885_SVC_NAIYO_CHANGE = "A2";

	/** 工事受付詳細コード: A3 (住所変更確定) */
	private static final String CD00885_AD_CHANGE_FIX = "A3";

	/** 工事受付詳細コード: A4 (回線情報変える) */
	private static final String CD00885_KISN_INFO_CHANGE = "A4";

	/** 工事受付詳細コード: A5 (工事情報変える) */
	private static final String CD00885_KOJI_INFO_CHANGE = "A5";

	/** 工事受付詳細コード: A6 (機器情報変える) */
	private static final String CD00885_KIKI_INFO_CHANGE = "A6";

	/** 工事受付詳細コード: A7 (光電話変える) */
	private static final String CD00885_TEL_CHANGE = "A7";

	/** 工事受付詳細コード: A8 (請求先情報変える) */
	private static final String CD00885_SKS_INFO_CHANGE = "A8";

	/** 工事受付詳細コード: B0 (緊急出荷) */
	private static final String CD00885_EMG_SHUKKA = "B0";

	/** 工事受付詳細コード: C0 (取消) */
	private static final String CD00885_CL = "C0";
	// 20140714 ANK-1918-00-00 ADD START
	/** 工事受付詳細コード: D0 (GG乗換(個別)) */
	private static final String CD00885_GG_NORIKAE = "D0";
	
	/** 工事受付詳細コード: AA (スマートバリュー契約変える) */
	private static final String CD00885_SMTVL_KEI_CHANGE = "AA";
	
	/** 工事受付詳細コード: AB (スマートリンク契約変える) */
	private static final String CD00885_SMLN_OP_KEI_CHANGE = "AB";
	// 20140714 ANK-1918-00-00 ADD END
	// ANK-4315-00-00 ADD START
	/** 工事受付詳細コード: E0 (ONU交換工事) */
	private static final String CD00885_ONU_KOKAN_KOJI = "E0";	
	// ANK-4315-00-00 ADD END
	
// OM-2013-0003417対応 20131019 星野 ADD START
	/** 異動区分コード: 00004 (回復) */
	private static final String CD00576_KAIHUKU = "00004";
// OM-2013-0003417対応 20131019 星野 ADD END
	// ▼▼▼ ST2-2012-0001446 2012-07-28 新城 ▼▼▼
	/** 異動区分コード: 00019 (住所変更・登録) */
	private static final String CD00576_JYUHEN = "00019";
 	// ▲▲▲ ST2-2012-0001446 2012-07-28 新城 ▲▲▲
// LT-2013-0000249対応 20130706 星野 ADD START
	/** 異動区分コード: 00009 (コース変更) */
	private static final String CD00576_CRS_CHG = "00009";
// LT-2013-0000249対応 20130706 星野 ADD END
	/**
	 * 工事案件登録更新処理.
	 * <br>
	 * @param   handle     セッションマネージャなどを持ったハンドル情報
	 * @param   param      モデルグループ、コントロールマップを含むリクエストパラメータ
	 * @param   fixedText  ユーザ任意文字列
	 * @throws  Exception  例外が発生した場合
	 * @return  リクエストパラメータ(param)に戻り値を追加して返却する
	 */
	@SuppressWarnings("unchecked")
	public IRequestParameterReadWrite executeKojiAnken( SessionHandle handle, IRequestParameterReadWrite param, String fixedText ) throws Exception {

		try {
			/** エラー情報のマップを取得 */
			param.setControlMapData( SCControlMapKeys.ERROR_INFO, new ArrayList<Object>() );
			param.setControlMapData( SCControlMapKeys.RETURN_CODE, String.format( "%1$04d", 0 ) );
			param.setControlMapData( SCControlMapKeys.RETURN_MESSAGE, "" );

			/** マッパーの生成 */
			mapper.set( new JKKKojiAnkenMapperCC() );
			ptnMapper.set( new JKKKojiAnkenMapPatternCC( fixedText ) );

			/** パターン判別 */
			HashMap paramMap = (HashMap)( param.getData( fixedText ) );

			useFixedText.set( fixedText );

			/** 照会系S-IFの呼出 **/
			HashMap inMapping = callService( handle, param, fixedText );

			// 工事受付コード
			String kojiUkCd = paramMap.get( JKKKojiAnkenConstCC.KOJI_UK_CD ).toString();
			// 工事受付詳細コード
			String kojiUkDtlCd = paramMap.get( JKKKojiAnkenConstCC.KOJI_UK_DTL_CD ).toString();

			if ( CD00884_USE_KISN.equals( kojiUkCd ) ) {
				if ( CD00885_NEW.equals( kojiUkDtlCd ) ) {
					// パターン01 (回線使う＋新規)
					executePattern01(handle, param, fixedText, inMapping);

				} else if ( CD00885_HIKKOSHI.equals( kojiUkDtlCd ) ) {
					// パターン02 (回線使う＋引越し)
					executePattern02(handle, param, fixedText, inMapping);

				} else if ( CD00885_KAIHK.equals( kojiUkDtlCd ) ) {
					// パターン03 (回線使う＋回復)
					executePattern03(handle, param, fixedText, inMapping);

				} else {
					// 想定されないパターン
					throw new CCException( ERR_STR_PARAM, new Exception() );
				}
			} else if ( CD00884_NON_USE_KISN.equals( kojiUkCd ) ) {
				if ( CD00885_DSL_KISN_DEL.equals( kojiUkDtlCd ) ) {
					// パターン04 (回線使わなくなる＋解約(回線残さない))
					executePattern04(handle, param, fixedText, inMapping);

				} else if ( CD00885_DSL_KISN_ZAN.equals( kojiUkDtlCd ) ) {
					// パターン05 (回線使わなくなる＋解約(回線残す))
					executePattern05(handle, param, fixedText, inMapping);

				} else if ( CD00885_HIKKOSHI.equals( kojiUkDtlCd ) ) {
					// パターン06 (回線使わなくなる＋引越し)
					executePattern06(handle, param, fixedText, inMapping);

				} else if ( CD00885_CL.equals( kojiUkDtlCd ) ) {
					// パターン07 (回線使わなくなる＋取消)
					executePattern07(handle, param, fixedText, inMapping);

				} else {
					// 想定されないパターン
					throw new CCException( ERR_STR_PARAM, new Exception() );
				}
			} else if ( CD00884_CHANGE_KISN.equals( kojiUkCd ) ) {
				if ( CD00885_SEN_MOVE.equals( kojiUkDtlCd ) ) {
					// パターン08 (回線変える＋線移動)
					executePattern08(handle, param, fixedText, inMapping);

				} else if ( CD00885_SPEED_CHANGE.equals( kojiUkDtlCd ) ) {
					// パターン09 (回線変える＋速度変える)
					executePattern09(handle, param, fixedText, inMapping);

				} else if ( CD00885_TV_COURSE_CHANGE.equals( kojiUkDtlCd ) ) {
					// パターン10 (回線変える＋TVコース変更)
					executePattern10(handle, param, fixedText, inMapping);
				// 20140714 ANK-1918-00-00 ADD START
				} else if ( CD00885_GG_NORIKAE.equals( kojiUkDtlCd ) ) {
					// パターン22 (回線変える＋GG乗換(個別))
					executePattern22(handle, param, fixedText, inMapping);
				// 20140714 ANK-1918-00-00 ADD END
				// ANK-4315-00-00 ADD START
				} else if ( CD00885_ONU_KOKAN_KOJI.equals( kojiUkDtlCd ) ) {
					// パターン25 (回線変える＋ONU交換工事)
					executePattern25(handle, param, fixedText, inMapping);
				// ANK-4315-00-00 ADD END
				} else {
					// 想定されないパターン
					throw new CCException( ERR_STR_PARAM, new Exception() );
				}
			} else if ( CD00884_CHANGE_KIKI.equals( kojiUkCd ) ) {
				if ( CD00885_TEL_TEMP.equals( kojiUkDtlCd ) ) {
					// パターン11 (機器変える＋光電話つける)
					executePattern11(handle, param, fixedText, inMapping);

				} else if ( CD00885_TV_KIKI_CHANGE.equals( kojiUkDtlCd ) ) {
					// パターン12 (機器変える＋TV機器変える)
					executePattern12(handle, param, fixedText, inMapping);

				} else if ( CD00885_EMG_SHUKKA.equals( kojiUkDtlCd ) ) {
					// パターン13 (機器変える＋緊急出荷)
					executePattern13(handle, param, fixedText, inMapping);

				} else {
					// 想定されないパターン
					throw new CCException( ERR_STR_PARAM, new Exception() );
				}
			} else if ( CD00884_CHANGE_NAIYO.equals( kojiUkCd ) ) {
				if ( CD00885_CUST_INFO_CHANGE.equals( kojiUkDtlCd ) ) {
					// パターン14 (内容変更＋お客様情報変える)
					executePattern14(handle, param, fixedText, inMapping);

				} else if ( CD00885_SKS_INFO_CHANGE.equals( kojiUkDtlCd ) ) {
					// パターン15 (内容変更＋請求先情報変える)
					executePattern15(handle, param, fixedText, inMapping);

				} else if ( CD00885_SVC_NAIYO_CHANGE.equals( kojiUkDtlCd ) ) {
					// パターン16 (内容変更＋サービス内容変える)
					executePattern16(handle, param, fixedText, inMapping);

				} else if ( CD00885_KISN_INFO_CHANGE.equals( kojiUkDtlCd ) ) {
					// パターン17 (内容変更＋回線情報変える)
					executePattern17(handle, param, fixedText, inMapping);

				} else if ( CD00885_KOJI_INFO_CHANGE.equals( kojiUkDtlCd ) ) {
					// パターン18 (内容変更＋工事情報変える)
					executePattern18(handle, param, fixedText, inMapping);

				} else if ( CD00885_KIKI_INFO_CHANGE.equals( kojiUkDtlCd ) ) {
					// パターン19 (内容変更＋機器情報変える)
					executePattern19(handle, param, fixedText, inMapping);

				} else if ( CD00885_TEL_CHANGE.equals( kojiUkDtlCd ) ) {
					// パターン20 (内容変更＋光電話変える)
					executePattern20(handle, param, fixedText, inMapping);

				} else if ( CD00885_AD_CHANGE_FIX.equals( kojiUkDtlCd ) ) {
					// パターン21 (内容変更＋住所変更確定)
					executePattern21(handle, param, fixedText, inMapping);
				// 20140714 ANK-1918-00-00 ADD START
				} else if ( CD00885_SMTVL_KEI_CHANGE.equals( kojiUkDtlCd ) ) {
					// パターン23 (内容変更＋スマートバリュー契約変える)
					executePattern23(handle, param, fixedText, inMapping);
				} else if ( CD00885_SMLN_OP_KEI_CHANGE.equals( kojiUkDtlCd ) ) {
					// パターン24 (内容変更＋スマートリンク契約変える)
					executePattern24(handle, param, fixedText, inMapping);
				// 20140714 ANK-1918-00-00 ADD END
				} else {
					// 想定されないパターン
					throw new CCException( ERR_STR_PARAM, new Exception() );
				}
			// ANK-2138-00-00 スマリン端末のトムソンケース同梱 2014/08/02 START
			} else if (CD00884_NON.equals( kojiUkCd)) {
				// 何もしない
			// ANK-2138-00-00 スマリン端末のトムソンケース同梱 2014/08/02 END
			} else {
				// 想定されないパターン
				throw new CCException( ERR_STR_PARAM, new Exception() );
			}
			
			// ANK-2138-00-00 スマリン端末のトムソンケース同梱 2014/08/02 START
			// タブレット配送区分（返却）を設定
			setRetTabletHaisoKbn(handle, param, fixedText, paramMap);
			// ANK-2138-00-00 スマリン端末のトムソンケース同梱 2014/08/02 END
			
		} finally {
			// スレッドローカル領域の解放
// OM-2013-0004303対応 20131120 星野 ADD START
//			if ( mapper != null ) {
			if ( mapper.get() != null ) {
// OM-2013-0004303対応 20131120 星野 ADD END
				mapper.remove();
			}
// OM-2013-0004303対応 20131120 星野 ADD START
//			if ( ptnMapper != null ) {
			if ( ptnMapper.get() != null ) {
				ptnMapper.get().release();
// OM-2013-0004303対応 20131120 星野 ADD END
				ptnMapper.remove();
			}
// OM-2013-0004303対応 20131120 星野 ADD START
//			if ( useFixedText != null ) {
			if ( useFixedText.get() != null ) {
// OM-2013-0004303対応 20131120 星野 ADD END
				useFixedText.remove();
			}
		}

		return param;
	}

	/**
	 * 工事案件登録更新チェック処理.
	 * <br>
	 * @param   handle     セッションマネージャなどを持ったハンドル情報
	 * @param   param      モデルグループ、コントロールマップを含むリクエストパラメータ
	 * @param   fixedText  ユーザ任意文字列
	 * @throws  Exception  例外が発生した場合
	 * @return  リクエストパラメータ(param)に戻り値を追加して返却する
	 */
	public HashMap<String, Object> getInvokeCBS( SessionHandle handle, IRequestParameterReadWrite param, String fixedText ) throws Exception {

		if ( mapper.get() == null ) {
			mapper.set( new JKKKojiAnkenMapperCC() );
		}
		HashMap<String, Object> paramMap = mapper.get().createParamMap(param);

		return paramMap;
	}

	/**
	 * 工事案件登録更新エラー設定処理.
	 * <br>
	 * @param   param      モデルグループ、コントロールマップを含むリクエストパラメータ
	 * @param   templates  テンプレート情報一覧
	 * @param   returnCd   リターンコード
	 * @throws  Exception  例外が発生した場合
	 * @return  リクエストパラメータ(param)に戻り値を追加して返却する
	 */
	public IRequestParameterReadWrite editErrorInfo( IRequestParameterReadWrite param, CAANMsg[] templates, int returnCode ) throws Exception {

		if ( ( templates == null ) || ( templates.length == 0 ) ) {
			return param;
		}
// TAI-2012-0000034対応 MATSUBARA ADD START 2012.08.07 -------------------------------
		if ( ( mapper.get() == null ) || ( useFixedText.get() == null ) ) {
			return param;
		}
// TAI-2012-0000034対応 MATSUBARA ADD END   2012.08.07 -------------------------------
		CAANMsg template = templates[0];

		mapper.get().errEKK0451B010(param, template, returnCode, useFixedText.get() );
		mapper.get().errECK0011A010(param, template, returnCode, useFixedText.get() );
		mapper.get().errECK0201B001(param, template, returnCode, useFixedText.get() );
		mapper.get().errEKK0011A010(param, template, returnCode, useFixedText.get() );
		mapper.get().errEKK0021A010(param, template, returnCode, useFixedText.get() );
		mapper.get().errEKK0081A010(param, template, returnCode, useFixedText.get() );
		mapper.get().errEKK0791A010(param, template, returnCode, useFixedText.get() );
		mapper.get().errEKK0101A010(param, template, returnCode, useFixedText.get() );
		mapper.get().errEKK0581A010(param, template, returnCode, useFixedText.get() );
		mapper.get().errEKK0161B004(param, template, returnCode, useFixedText.get() );
		mapper.get().errEKK0191A010(param, template, returnCode, useFixedText.get() );
		mapper.get().errEKK0241B001(param, template, returnCode, useFixedText.get() );
		mapper.get().errEKK0341B022(param, template, returnCode, useFixedText.get() );
		mapper.get().errEKK0341A010(param, template, returnCode, useFixedText.get() );
		mapper.get().errEKKA0020003(param, template, returnCode, useFixedText.get() );
		mapper.get().errEZM0411A010(param, template, returnCode, useFixedText.get() );
		mapper.get().errEKK0481B001(param, template, returnCode, useFixedText.get() );
		mapper.get().errEKK0451A010(param, template, returnCode, useFixedText.get() );
		mapper.get().errEKK0841A010(param, template, returnCode, useFixedText.get() );
		mapper.get().errEKK0891A010(param, template, returnCode, useFixedText.get() );
		mapper.get().errEKK0881A010(param, template, returnCode, useFixedText.get() );
		mapper.get().errEKK0911A010(param, template, returnCode, useFixedText.get() );
		mapper.get().errEKK0871A010(param, template, returnCode, useFixedText.get() );
		mapper.get().errEKK0861A010(param, template, returnCode, useFixedText.get() );

		mapper.get().errEKU0021D010(param, template, returnCode, useFixedText.get() );
		mapper.get().errEKU0031D010(param, template, returnCode, useFixedText.get() );
		mapper.get().errEKU0041D010(param, template, returnCode, useFixedText.get() );
		mapper.get().errEKU0061D010(param, template, returnCode, useFixedText.get() );
		mapper.get().errEKU0021C020(param, template, returnCode, useFixedText.get() );
		mapper.get().errEKU0031C020(param, template, returnCode, useFixedText.get() );
		mapper.get().errEKU0041C020(param, template, returnCode, useFixedText.get() );
		mapper.get().errEKU0061C020(param, template, returnCode, useFixedText.get() );
		mapper.get().errEKU0021C010(param, template, returnCode, useFixedText.get() );
		mapper.get().errEKU0031C010(param, template, returnCode, useFixedText.get() );
		mapper.get().errEKU0041C010(param, template, returnCode, useFixedText.get() );
		mapper.get().errEKU0061C010(param, template, returnCode, useFixedText.get() );
		mapper.get().errEKU0081C010(param, template, returnCode, useFixedText.get() );
		mapper.get().errEKU0081C020(param, template, returnCode, useFixedText.get() );
		mapper.get().errEKU0091C010(param, template, returnCode, useFixedText.get() );

		return param;
	}

	/**
	 * 照会系S-IFの呼出.
	 * <br>
	 * @param   handle     セッションマネージャなどを持ったハンドル情報
	 * @param   param      モデルグループ、コントロールマップを含むリクエストパラメータ
	 * @param   fixedText  ユーザ任意文字列
	 * @throws  Exception  例外が発生した場合
	 * @return  照会結果を格納したマップ情報
	 */
	@SuppressWarnings( "unchecked" )
	private HashMap callService( SessionHandle handle, IRequestParameterReadWrite param, String fixedText ) throws Exception {

		HashMap inMapping = new HashMap();

		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		HashMap<String, Object> requestMap = null;
		Map<?, ?> resultMap = null;

		HashMap paramMap = (HashMap)( param.getData( fixedText ) );

		// 工事受付コード
		String kojiUkCd = paramMap.get( JKKKojiAnkenConstCC.KOJI_UK_CD ).toString();
		// 工事受付詳細コード
		String kojiUkDtlCd = paramMap.get( JKKKojiAnkenConstCC.KOJI_UK_DTL_CD ).toString();
// KT1-2013-0000153対応 START
		// 料金コースコード(パラメータ設定値)
		String pcrsCd = (String)paramMap.get(JKKKojiAnkenConstCC.PCRS_CD);
// KT1-2013-0000153対応 END
		
		// EKK0451B010 割引サービス契約一覧照会(割引サービス指定)
		requestMap = mapper.get().setEKK0451B010( param, fixedText );
		resultMap  = scCall.run( requestMap, handle );
		HashMap kk0451_b010_map = mapper.get().getEKK0451B010( param, fixedText, resultMap );
		mapper.get().scResultCheck( param );
		mapper.get().mapEKK0451B010( inMapping, kk0451_b010_map );

		// ECK0011A010 お客様一意照会
		requestMap = mapper.get().setECK0011A010( param, fixedText );
		resultMap  = scCall.run( requestMap, handle );
		HashMap ck0011_a010_map = mapper.get().getECK0011A010( param, fixedText, resultMap );
		mapper.get().scResultCheck( param );
		mapper.get().mapECK0011A010( inMapping, ck0011_a010_map );

		// ECK0011A010 お客様一意照会 (転宅前)
		if ( mapper.get().checkECK0011A010_OLD( param, fixedText ) ) {
			requestMap = mapper.get().setECK0011A010_OLD( param, fixedText );
			resultMap  = scCall.run( requestMap, handle );
			HashMap ck0011_a010_map_old = mapper.get().getECK0011A010_OLD( param, fixedText, resultMap );
			mapper.get().scResultCheck( param );
			mapper.get().mapECK0011A010_OLD( inMapping, ck0011_a010_map_old );
		}

		// ECK0201B001 連絡先一覧照会
		requestMap = mapper.get().setECK0201B001( param, fixedText );
		resultMap  = scCall.run( requestMap, handle );
		ArrayList ck0201_b001_map_list = mapper.get().getECK0201B001( param, fixedText, resultMap );
		mapper.get().scResultCheck( param );
		mapper.get().mapECK0201B001( inMapping, ck0201_b001_map_list );

		// EKK0011A010 申込一意照会
		requestMap = mapper.get().setEKK0011A010( param, fixedText );
		resultMap  = scCall.run( requestMap, handle );
		HashMap kk0011_a010_map = mapper.get().getEKK0011A010( param, fixedText, resultMap );
		mapper.get().scResultCheck( param );
		mapper.get().mapEKK0011A010( inMapping, kk0011_a010_map );

		// EKK0021A010 申込明細一意照会
		requestMap = mapper.get().setEKK0021A010( param, fixedText );
		resultMap  = scCall.run( requestMap, handle );
		HashMap kk0021_a010_map = mapper.get().getEKK0021A010( param, fixedText, resultMap );
		mapper.get().scResultCheck( param );
		mapper.get().mapEKK0021A010( inMapping, kk0021_a010_map );
		
// KT1-2013-0000154対応 20130219 星野 ADD START
		// EKK0081B024 サービス契約履歴一覧照会
		requestMap = mapper.get().setEKK0081B024( param, fixedText );
		resultMap  = scCall.run( requestMap, handle );
		HashMap kk0081_b024_map = mapper.get().getEKK0081B024( param, fixedText, resultMap );
		mapper.get().scResultCheck( param );
		
		if( kk0081_b024_map!=null ){
			// EKK0021A010 申込明細一意照会（新規申込時点）
			requestMap = mapper.get().setEKK0021A010_Sinki( param, kk0081_b024_map );
			resultMap  = scCall.run( requestMap, handle );
			HashMap kk0021_a010_map_Sinki = mapper.get().getEKK0021A010( param, fixedText, resultMap );
			mapper.get().scResultCheck( param );
			//OM-2016-0002126 ADD START
			mapper.get().mapEKK0021A010_Sinki( inMapping, kk0021_a010_map_Sinki );
			//OM-2016-0002126 ADD END
			if( kk0021_a010_map_Sinki!=null ){
				// EKK0011A010 申込一意照会（新規申込時点）
				requestMap = mapper.get().setEKK0011A010_Sinki( param, kk0021_a010_map_Sinki );
				resultMap  = scCall.run( requestMap, handle );
				HashMap kk0011_a010_map_Sinki = mapper.get().getEKK0011A010( param, fixedText, resultMap );
				mapper.get().scResultCheck( param );
				mapper.get().mapEKK0011A010_Sinki( inMapping, kk0011_a010_map_Sinki );
			}
		}
// KT1-2013-0000154対応 20130219 星野 ADD END
		
		// EKK0081A010 サービス契約一意照会
		requestMap = mapper.get().setEKK0081A010( param, fixedText );
		resultMap  = scCall.run( requestMap, handle );
		HashMap kk0081_a010_map = mapper.get().getEKK0081A010( param, fixedText, resultMap );
		mapper.get().scResultCheck( param );
		mapper.get().mapEKK0081A010( inMapping, kk0081_a010_map );

		// 住変時は転居先のみ異動予約を見る
		if (isJyuhen(param, fixedText)) {
			
			//▼▼▼ 障害 No.120 2012-06-30 新城 ▼▼▼
// IT2-2013-0000626対応 20130713 星野 MOD START
//			if ( CD00885_HIKKOSHI.equals( kojiUkDtlCd ) ) {
//				if(TenkyoHantei(param)){
			// 工事受付詳細コード「引越し」だけではなく、住所変更の新設工事は一律異動予約を照会
			// 住所変更からの諸変更も転居先に対する異動なので異動予約を照会する
			if( CD00884_USE_KISN.equals(kojiUkCd) 
// OM-2014-0000597対応 20140210 星野 ADD START
				|| CD00884_CHANGE_NAIYO.equals(kojiUkCd)
// OM-2014-0000597対応 20140210 星野 ADD END
			){
// IT2-2013-0000626対応 20130713 星野 MOD END
				// EKK1681B001 異動予約一覧照会
				requestMap = mapper.get().setEKK1681B001(  param, fixedText ,kk0081_a010_map);
				resultMap  = scCall.run( requestMap, handle );
				HashMap kk1681_b001_map = mapper.get().getEKK1681B001( param, fixedText, resultMap );
				mapper.get().scResultCheck( param );
				mapper.get().mapEKK1681B001( inMapping, kk1681_b001_map );
				if(kk1681_b001_map != null){
					ConvertHashMap( param, kk0081_a010_map, kk1681_b001_map );
				}
// IT2-2013-0000626対応 20130713 星野 DEL START
//				}
// IT2-2013-0000626対応 20130713 星野 DEL END
			}
			//▲▲▲ 障害 No.120 2012-06-30 新城 ▲▲▲
		} else {
// KT1-2013-0000694対応 20130708 星野 MOD START
//// IT2-2013-0000410対応 20130430 星野 ADD START
//			// 工事受付コード「回線使わなくなる」は転居元に対する異動のため、異動予約を参照しない
//			if( !CD00884_NON_USE_KISN.equals(kojiUkCd) ){
//// IT2-2013-0000410対応 20130430 星野 ADD END
				
// OM-2013-0003521対応 20131021 星野 ADD START
			// 速度変更の場合、コース変更の異動予約を取得
			if( CD00884_CHANGE_KISN.equals(kojiUkCd) && CD00885_SPEED_CHANGE.equals(kojiUkDtlCd) ){
				// EKK1681B001 異動予約一覧照会
				requestMap = mapper.get().setEKK1681B001CrsChg(  param, fixedText ,kk0081_a010_map);
				resultMap  = scCall.run( requestMap, handle );
				HashMap kk1681_b001_map = mapper.get().getEKK1681B001( param, fixedText, resultMap );
				mapper.get().scResultCheck( param );
				mapper.get().mapEKK1681B001( inMapping, kk1681_b001_map );
				/** サービス契約マップへの反映は行わない */
			
			// OM-2014-0002455対応 20140820 田中 ADD START
			// 異動区分が回復の場合
			}else if(CD00576_KAIHUKU.equals((String)paramMap.get(JKKKojiAnkenConstCC.IDO_DIV ))){
				// 	何も処理しない
			// OM-2014-0002455対応 20140820 田中 ADD END
				
			}else 
// OM-2013-0003521対応 20131021 星野 ADD END
			// 転居元に対する異動の場合、住所変更中は異動予約を参照しない
			// 住所変更確定後は回線が転居先に切り替わっているため、異動予約を参照する
			// 異動予約の検索キーには異動区分「住所変更・登録」が入っているため、住変以外の異動予約がヒットすることはない
			if( !( 
// OM-2013-0002480対応 20130924 星野 ADD START
					// 転居元に対する異動 の判定
					// 工事受付コード「回線使わなくなる」
					// 工事受付コード「内容変更」かつ 工事受付詳細コード「お客様情報変える」「回線情報変える」「請求先情報変える」
					(
// OM-2013-0002480対応 20130924 星野 ADD END
						CD00884_NON_USE_KISN.equals(kojiUkCd) 
// OM-2013-0002480対応 20130924 星野 ADD START
						|| ( CD00884_CHANGE_NAIYO.equals(kojiUkCd) && CD00885_CUST_INFO_CHANGE.equals(kojiUkDtlCd) ) 
						|| ( CD00884_CHANGE_NAIYO.equals(kojiUkCd) && CD00885_KISN_INFO_CHANGE.equals(kojiUkDtlCd) ) 
						|| ( CD00884_CHANGE_NAIYO.equals(kojiUkCd) && CD00885_SKS_INFO_CHANGE.equals(kojiUkDtlCd) ) 
					)
// OM-2013-0002480対応 20130924 星野 ADD END
					&& isNowAdchg(param, handle, fixedText ,kk0081_a010_map)
				) 
			){

// KT1-2013-0000694対応 20130708 星野 MOD END
				// EKK1681B001 異動予約一覧照会
				requestMap = mapper.get().setEKK1681B001(  param, fixedText ,kk0081_a010_map);
				resultMap  = scCall.run( requestMap, handle );
				HashMap kk1681_b001_map = mapper.get().getEKK1681B001( param, fixedText, resultMap );
				mapper.get().scResultCheck( param );
				mapper.get().mapEKK1681B001( inMapping, kk1681_b001_map );
				if(kk1681_b001_map != null){
					ConvertHashMap2( param, kk0081_a010_map, kk1681_b001_map );
				}
				
// IT2-2013-0000410対応 20130430 星野 ADD START
			}
// IT2-2013-0000410対応 20130430 星野 ADD END
		}

		// EKK0791A010 料金コース一意照会
		requestMap = mapper.get().setEKK0791A010( param, fixedText, kk0081_a010_map );
		resultMap  = scCall.run( requestMap, handle );
		HashMap kk0791_a010_map = mapper.get().getEKK0791A010( param, fixedText, resultMap );
		mapper.get().scResultCheck( param );
		mapper.get().mapEKK0791A010( inMapping, kk0791_a010_map );
		
// KT1-2013-0000153対応 START
		if (!StringUtils.isEmpty(pcrsCd)) {
			// EKK0791A010 料金コース一意照会(パラメータ設定値)
			requestMap = mapper.get().setEKK0791A010_aft( param, fixedText, pcrsCd );
			resultMap  = scCall.run( requestMap, handle );
			HashMap kk0791_a010_map_aft = mapper.get().getEKK0791A010( param, fixedText, resultMap );
			mapper.get().scResultCheck( param );
			mapper.get().mapEKK0791A010_aft( inMapping, kk0791_a010_map_aft );
		}
// KT1-2013-0000153対応 END

		// EKK0101A010 サービス契約<eo光TV>一意照会
		HashMap kk0101_a010_map = null;
		if ( mapper.get().checkEKK0101A010( param, fixedText, kk0081_a010_map ) ) {
			requestMap = mapper.get().setEKK0101A010( param, fixedText, kk0081_a010_map );
			resultMap  = scCall.run( requestMap, handle );
			kk0101_a010_map = mapper.get().getEKK0101A010( param, fixedText, resultMap );
			mapper.get().scResultCheck( param );
			mapper.get().mapEKK0101A010( inMapping, kk0101_a010_map );
			
// OM-2014-0001716対応 20140428 星野 ADD START
			// 住変時は撤去工事のみ異動予約を見る
			if (isJyuhen(param, fixedText)) {
				
				if( !CD00884_USE_KISN.equals(kojiUkCd) 
					&& !CD00884_CHANGE_NAIYO.equals(kojiUkCd)
				){
					// EKK1681B001 異動予約一覧照会
					requestMap = mapper.get().setEKK1681B001(  param, fixedText ,kk0081_a010_map);
					resultMap  = scCall.run( requestMap, handle );
					HashMap kk1681_b001_map = mapper.get().getEKK1681B001( param, fixedText, resultMap );
					mapper.get().scResultCheck( param );
					mapper.get().mapEKK1681B001( inMapping, kk1681_b001_map );
					if(kk1681_b001_map != null){
						ConvertHashMapDmpsOld( param, kk0101_a010_map, kk1681_b001_map );
					}
				}
			}
// OM-2014-0001716対応 20140428 星野 ADD END
		}

		// EKK0581A010 電波障害案件一意照会
		HashMap kk0581_a010_map = null;
		if ( mapper.get().checkEKK0581A010( param, fixedText, kk0101_a010_map ) ) {
			requestMap = mapper.get().setEKK0581A010( param, fixedText, kk0101_a010_map );
			resultMap  = scCall.run( requestMap, handle );
			kk0581_a010_map = mapper.get().getEKK0581A010( param, fixedText, resultMap );
			mapper.get().scResultCheck( param );
			mapper.get().mapEKK0581A010( inMapping, kk0581_a010_map );
		}

		// EKK0161B004 サービス契約内訳一覧照会
		ArrayList kk0161_b004_map_list = null;
		if ( mapper.get().checkEKK0161B004( param, fixedText, kk0081_a010_map ) ) {
			requestMap = mapper.get().setEKK0161B004( param, fixedText, kk0081_a010_map );
			resultMap  = scCall.run( requestMap, handle );
			kk0161_b004_map_list = mapper.get().getEKK0161B004( param, fixedText, resultMap );
			mapper.get().scResultCheck( param );
			
// IT1-2013-0001184対応 START			
			if (kk0161_b004_map_list != null) {
				
				// 解約済み、キャンセル済みは除く
				ArrayList kk0161_b004_map_list_new = new ArrayList();
				for (int i = 0; kk0161_b004_map_list != null && kk0161_b004_map_list.size() > i; i++)
				{
					HashMap kk0161_b004_map = (HashMap)(kk0161_b004_map_list.get(i));
					String svcUcwkState = (String) kk0161_b004_map.get(EKK0161B004CBSMsg1List.SVC_KEI_UCWK_STAT);
					
					if (!JKKSvcConst.SVC_KEI_STAT_910.equals(svcUcwkState) && !JKKSvcConst.SVC_KEI_STAT_920.equals(svcUcwkState)) {
						kk0161_b004_map_list_new.add(kk0161_b004_map);
// IT2-2014-0000060対応 20140121 星野 ADD START
					// 該当申込明細番号で解約・キャンセルされたものは許容
					}else if(
// OM-2014-0000597対応 20140211 星野 ADD START
						CD00884_NON_USE_KISN.equals( kojiUkCd ) &&  
// OM-2014-0000597対応 20140211 星野 ADD END
						paramMap.get(JKKKojiAnkenConstCC.MSKM_DTL_NO).equals(kk0161_b004_map.get(EKK0161B004CBSMsg1List.MSKM_DTL_NO))
					){
						kk0161_b004_map_list_new.add(kk0161_b004_map);
// IT2-2014-0000060対応 20140121 星野 ADD END
					}
				}
				kk0161_b004_map_list = kk0161_b004_map_list_new;
				
				
				// 電話の場合は新内訳と旧内訳を分ける
				if (kk0081_a010_map != null && JKKStrConst.CD00130_02.equals(kk0081_a010_map.get(EKK0081A010CBSMsg1List.SVC_CD))) {
					
					ArrayList kk0161_b004_map_list_temp = new ArrayList();
					ArrayList kk0161_b004_map_list_tekkyo = new ArrayList();
					ArrayList motoucwk_list = new ArrayList();
					ArrayList sakiucwk_list = new ArrayList();
					
					// 転居元内訳と転居先内訳を格納
					for (int i = 0; kk0161_b004_map_list != null && kk0161_b004_map_list.size() > i; i++)
					{
						requestMap = mapper.get().setEKK0161A010( param, fixedText, (HashMap)( kk0161_b004_map_list.get(i) ) );
						resultMap  = scCall.run( requestMap, handle );
						ArrayList kk0161_a010_map_list = mapper.get().getEKK0161A010( param, fixedText, resultMap );
						mapper.get().scResultCheck( param );
						
						if (kk0161_a010_map_list != null && !kk0161_a010_map_list.isEmpty()) {
							
							HashMap inMapEKK0161A010 =(HashMap) (kk0161_a010_map_list.get(0));
							
							String telNochg = (String)inMapEKK0161A010.get(EKK0161A010CBSMsg1List.KEIZK_AF_KEI_CHGECHU_FLG);
							
							if (!StringUtils.isEmpty((String)inMapEKK0161A010.get(EKK0161A010CBSMsg1List.KEIZK_MT_SVC_KEI_UCWK_NO))) {
								motoucwk_list.add((String)inMapEKK0161A010.get(EKK0161A010CBSMsg1List.KEIZK_MT_SVC_KEI_UCWK_NO));
							}
							
							if ("1".equals(telNochg)) {
								sakiucwk_list.add((String)inMapEKK0161A010.get(EKK0161A010CBSMsg1List.SVC_KEI_UCWK_NO));
							}
						}
						
					}
					
					// 内訳リスト(新設)を編集
					for (int i = 0; kk0161_b004_map_list != null && kk0161_b004_map_list.size() > i; i++)
					{
						HashMap kk0161_b004_map = (HashMap)(kk0161_b004_map_list.get(i));
						String ucwkNo = (String) kk0161_b004_map.get(EKK0161B004CBSMsg1List.SVC_KEI_UCWK_NO);
						
						if(motoucwk_list.contains(ucwkNo)){
							// 何もしない
							
						} else if (sakiucwk_list.contains(ucwkNo)) {
							
							kk0161_b004_map_list_temp.add(kk0161_b004_map);
							
						} else {
							
							// EKK1681B001 異動予約一覧照会
							requestMap = mapper.get().setEKK1681B001_2(  param, fixedText ,ucwkNo);
							resultMap  = scCall.run( requestMap, handle );
							HashMap kk1681_b001_map = mapper.get().getEKK1681B001( param, fixedText, resultMap );
							mapper.get().scResultCheck( param );
							
							// 内訳解約がない場合はリストにセット
							if (kk1681_b001_map == null) {
								
								kk0161_b004_map_list_temp.add(kk0161_b004_map);
							}
						}
					}
					
					boolean stay_flg = false;
					// 内訳リスト(撤去)を編集
					for (int i = 0; kk0161_b004_map_list != null && kk0161_b004_map_list.size() > i; i++) {
						
						stay_flg = false;
						HashMap kk0161_b004_map = (HashMap)(kk0161_b004_map_list.get(i));
						String ucwkNo = (String) kk0161_b004_map.get(EKK0161B004CBSMsg1List.SVC_KEI_UCWK_NO);
						
						for (int j = 0; kk0161_b004_map_list_temp != null && kk0161_b004_map_list_temp.size() > j; j++) {
							
							HashMap kk0161_b004_temp_map = (HashMap)(kk0161_b004_map_list_temp.get(j));
							String ucwkNo_temp = (String) kk0161_b004_temp_map.get(EKK0161B004CBSMsg1List.SVC_KEI_UCWK_NO);
							
							if (ucwkNo_temp.equals(ucwkNo)) {
								stay_flg = true;
							}
						}
						
						if (!stay_flg) {
							kk0161_b004_map_list_tekkyo.add(kk0161_b004_map);
						}
					}
					
					// リストの振り分け
					if (isJyuhen(param, fixedText) && CD00884_NON_USE_KISN.equals(kojiUkCd)) {
						// 住変撤去の場合
						kk0161_b004_map_list = kk0161_b004_map_list_tekkyo;
					} else {
						// その他の場合
						kk0161_b004_map_list = kk0161_b004_map_list_temp;
					}
					
				}
			}
// IT1-2013-0001184対応 END
		}


		// EKK0191A010 サービス契約内訳<eo光電話>一意照会
		ArrayList kk0191_a010_map_list = new ArrayList();
// ●●● IT2-2012-0000994 START ●●●
//		if ( mapper.get().checkEKK0191A010( param, fixedText, kk0161_b004_map_list ) ) {
		if ( mapper.get().checkEKK0191A010( param, fixedText, kk0161_b004_map_list, kk0081_a010_map ) ) {
// ●●● IT2-2012-0000994 END ●●●
			
// IT2-2014-0000060対応 20140121 星野 ADD START
			ArrayList kk0161_b004_map_list_tmp = new ArrayList();
// IT2-2014-0000060対応 20140121 星野 ADD END
			for ( int i = 0; i < kk0161_b004_map_list.size(); i ++ ) {
				requestMap = mapper.get().setEKK0191A010( param, fixedText, (HashMap)( kk0161_b004_map_list.get(i) ) );
				resultMap  = scCall.run( requestMap, handle );
				
// IT2-2014-0000060対応 20140121 星野 MOD START
//				kk0191_a010_map_list.add( mapper.get().getEKK0191A010( param, fixedText, resultMap ) );
				
				// フロントから登録された電話番号未設定レコードは処理対象外とし、有効なレコードだけをリストに格納
				HashMap ekk0191a010Map = mapper.get().getEKK0191A010( param, fixedText, resultMap );
				if( ekk0191a010Map!=null && !ekk0191a010Map.isEmpty() && !StringUtils.isEmpty((String)ekk0191a010Map.get( EKK0191A010CBSMsg1List.TELNO) ) ){
					kk0191_a010_map_list.add( ekk0191a010Map );
					
					// こっちのリストも同期をとる
					kk0161_b004_map_list_tmp.add(  kk0161_b004_map_list.get(i) );
				}
// IT2-2014-0000060対応 20140121 星野 MOD END
				mapper.get().scResultCheck( param );
			}
// IT2-2014-0000060対応 20140121 星野 MOD START
			// リスト差し替え
			kk0161_b004_map_list = kk0161_b004_map_list_tmp;
// IT2-2014-0000060対応 20140121 星野 MOD END
			mapper.get().mapEKK0191A010( inMapping, kk0191_a010_map_list );
		}

// IT1-2013-0000202 2013.02.04 ADD-Start
		// EKK0191B002 電話番号情報履歴一覧照会
		if (isJyuhen(param, fixedText)) {
			ArrayList kk0191_b002_map_list = new ArrayList();
			if ( mapper.get().checkEKK0191A010( param, fixedText, kk0161_b004_map_list, kk0081_a010_map ) ) {
				for ( int i = 0; i < kk0161_b004_map_list.size(); i ++ ) {
					requestMap = mapper.get().setEKK0191B002( param, fixedText, (HashMap)( kk0161_b004_map_list.get(i) ) );
					resultMap  = scCall.run( requestMap, handle );
					HashMap map = new HashMap();
					map.put("EKK0191B002LIST", mapper.get().getEKK0191B002( param, fixedText, resultMap ));
					kk0191_b002_map_list.add(map);
					mapper.get().scResultCheck( param );
				}
				mapper.get().mapEKK0191B002( inMapping, kk0191_b002_map_list );
			}
		}
// IT1-2013-0000202 2013.02.04 ADD-End
		
// KT1-2013-0000624 2013.05.27 ADD START
		// ETU0011A010 番ポ工事一意照会
		ArrayList tu0011_a010_map_list = new ArrayList();
		ArrayList tu0011_b010_map_list = new ArrayList();
		for ( int i = 0; i < kk0191_a010_map_list.size(); i ++ ) {
			requestMap = mapper.get().setETU0011B010( param, fixedText, (HashMap)( kk0191_a010_map_list.get(i) ) , kk0081_a010_map);
			resultMap  = scCall.run( requestMap, handle );
			tu0011_b010_map_list = mapper.get().getETU0011B010( param, fixedText, resultMap );
			mapper.get().scResultCheck( param );
			
			if (tu0011_b010_map_list != null && tu0011_b010_map_list.size() > 0) {
// ANK-1664-00-00対応 20140105 星野 MOD START
//				requestMap = mapper.get().setETU0011A010( param, fixedText, (HashMap)(tu0011_b010_map_list.get(0)));
				
				HashMap tu0011_b010_map = null;
				for( Object tu0011_b010_map_obj : tu0011_b010_map_list ){
					HashMap tu0011_b010_map_tmp = (HashMap)tu0011_b010_map_obj;
					
					// 取消済は処理対象外
					if( "090".equals( tu0011_b010_map_tmp.get(ETU0011B010CBSMsg1List.BMP_KOJI_STAT) ) ){
						continue;
					}
					// 取消済以外で内訳番号が一致すればそれで確定
					String svcKeiUcwkNoBmp = (String)tu0011_b010_map_tmp.get(ETU0011B010CBSMsg1List.SVC_KEI_UCWK_NO);
					if( !StringUtils.isEmpty(svcKeiUcwkNoBmp) 
						&& svcKeiUcwkNoBmp.equals( ( (HashMap)kk0191_a010_map_list.get(i) ).get(EKK0191A010CBSMsg1List.SVC_KEI_UCWK_NO) )
					){
						tu0011_b010_map = tu0011_b010_map_tmp;
						break;
					}
				}
				if( tu0011_b010_map!=null ){
					requestMap = mapper.get().setETU0011A010( param, fixedText, tu0011_b010_map);
// ANK-1664-00-00対応 20140105 星野 MOD END
					resultMap  = scCall.run(requestMap, handle);
					tu0011_a010_map_list.add(mapper.get().getETU0011A010(param, fixedText, resultMap));
					mapper.get().scResultCheck( param );
// ANK-1664-00-00対応 20140105 星野 ADD START
				}else{
					tu0011_a010_map_list.add(new HashMap<String, Object>());
				}
// ANK-1664-00-00対応 20140105 星野 ADD END
			} else {
				tu0011_a010_map_list.add(new HashMap<String, Object>());
			}
		}
		mapper.get().mapETU0011A010( inMapping, tu0011_a010_map_list );
// KT1-2013-0000624 2013.05.27 ADD END
// ANK-1664-00-00対応 20140105 星野 ADD START
		// 住所変更からの諸変更電話変えるの場合、番ポ工事要否をここで判定
		if(isJyuhen(param, fixedText) && CD00884_CHANGE_NAIYO.equals(kojiUkCd) && CD00885_CUST_INFO_CHANGE.equals(kojiUkDtlCd) ){
			if(kk0191_a010_map_list!=null && !kk0191_a010_map_list.isEmpty()){
				for(int i = 0; i < kk0191_a010_map_list.size(); i ++){
					if( kk0161_b004_map_list.size() <= i ){
						continue;
					}
					HashMap kk0191_a010_map = (HashMap) kk0191_a010_map_list.get(i);
					HashMap kk0161_b004_map = (HashMap) kk0161_b004_map_list.get(i);
					// サービス開始していない番ポ番号は番ポ工事要とみなす
					if( "1".equals( kk0191_a010_map.get(EKK0191A010CBSMsg1List.BMP_UM) )
						&& !StringUtils.isEmpty( (String)kk0161_b004_map.get(EKK0161B004CBSMsg1List.SVC_KEI_UCWK_STAT) )
						&& "100".compareTo( (String)kk0161_b004_map.get(EKK0161B004CBSMsg1List.SVC_KEI_UCWK_STAT) ) >= 0
					){
						paramMap.put( "bmp_koji_yh_"+(i+1), "1" );
					}else{
						paramMap.put( "bmp_koji_yh_"+(i+1), "0" );
					}
				}
			}
		}
// ANK-1664-00-00対応 20140105 星野 ADD END
		
// KT1-2013-0000358対応 20130411 星野 ADD START
		// ネットの新規orサービス追加の場合
		if(isNewOrAdd(param, fixedText) && kk0081_a010_map != null && JKKStrConst.CD00130_01.equals( kk0081_a010_map.get(EKK0081A010CBSMsg1List.SVC_CD) ) ){
			String svcKeiUcwkNo = "";
			if(kk0161_b004_map_list != null && !kk0161_b004_map_list.isEmpty()){
				// ネットサービスの新規・サービス追加しか想定しないため、内訳は1件しか相手にしない
				HashMap  kk0161_b004_map = (HashMap) kk0161_b004_map_list.get(0);
				svcKeiUcwkNo = (String) kk0161_b004_map.get(EKK0161B004CBSMsg1List.SVC_KEI_UCWK_NO);
			}
			//  オプションサービス契約引継ぎフラグ
			inMapping.put(
				JKKKojiAnkenConstCC.NEWKJ_OPSVKEI_HKTGI_FLG, 
				getOpSvKeiHktgiFlg(
					handle, 
					param, 
					fixedText, 
					(String)kk0081_a010_map.get(EKK0081A010CBSMsg1List.SVC_KEI_NO),
					svcKeiUcwkNo
				)
			);
		}else{
			if(kk0021_a010_map!=null){
				// kk0021_a010_map.オプションサービス引継有無 ⇒ オプションサービス契約引継ぎフラグ
				inMapping.put(JKKKojiAnkenConstCC.NEWKJ_OPSVKEI_HKTGI_FLG, kk0021_a010_map.get(EKK0021A010CBSMsg1List.OP_SVC_HKTGI_UM) );
			}
		}
// KT1-2013-0000358対応 20130411 星野 ADD END

		
		// EKK0241B001 サービス契約回線内訳一覧照会
// IT1-2013-0000186対応 20130302 星野 MOD START
//		requestMap = mapper.get().setEKK0241B001( param, fixedText);
		String funcCodeEKK0241B001 = "1";
		if( isJyuhen(param,fixedText) 
// IT1-2013-0000621対応 20130327 星野 ADD START
			|| !StringUtils.isEmpty( (String)paramMap.get( JKKKojiAnkenConstCC.TRGT_SVC_KEI_KAISEN_UCWK_NO ) ) 
// IT1-2013-0000621対応 20130327 星野 ADD END
		)
		{
			funcCodeEKK0241B001 = "3";
		}
		requestMap = mapper.get().setEKK0241B001( param, fixedText, funcCodeEKK0241B001);
// IT1-2013-0000186対応 20130302 星野 MOD END
		resultMap  = scCall.run( requestMap, handle );
		ArrayList kk0241_b001_map_list = mapper.get().getEKK0241B001( param, fixedText, resultMap );
		mapper.get().scResultCheck( param );
		// ▼▼▼ ST2-2012-0001446 2012-07-28 新城 ▼▼▼
// IT1-2013-0000621対応 20130327 星野 ADD START
		// 変更対象サービス契約回線内訳番号
		String trgtSvcKeiKaisenUcwkNo = (String)paramMap.get( JKKKojiAnkenConstCC.TRGT_SVC_KEI_KAISEN_UCWK_NO );
		
		// 変更対象サービス契約回線内訳番号が指定されている場合はその回線を取得
		if( !StringUtils.isEmpty( trgtSvcKeiKaisenUcwkNo ) ){
			mapper.get().mapEKK0241B001_TRGT( inMapping, kk0241_b001_map_list, trgtSvcKeiKaisenUcwkNo );
		
// IT1-2013-0000621対応 20130327 星野 ADD END
		}else if(isJyuhen(param,fixedText)){
			
			// ▲▲▲ ST2-2012-0001446 2012-07-28 新城 ▲▲▲
			if ( CD00884_USE_KISN.equals( kojiUkCd ) && CD00885_HIKKOSHI.equals( kojiUkDtlCd ) ) {
				mapper.get().mapEKK0241B001_NEW( inMapping, kk0241_b001_map_list );
			} else if ( CD00884_NON_USE_KISN.equals( kojiUkCd ) && CD00885_HIKKOSHI.equals( kojiUkDtlCd ) ) {
				mapper.get().mapEKK0241B001_DSL( inMapping, kk0241_b001_map_list );
// ●● ActionPlan No.7 対応 2012/07/12 START
			} else if ( CD00884_USE_KISN.equals( kojiUkCd ) && CD00885_NEW.equals( kojiUkDtlCd ) ) {
				mapper.get().mapEKK0241B001_NEW( inMapping, kk0241_b001_map_list );
			// ▼▼▼ ST2-2012-0001446 2012-07-28 新城 ▼▼▼
			} else{
// IT1-2013-0000186対応 20130302 星野 MOD START
//				mapper.get().mapEKK0241B001( inMapping, kk0241_b001_map_list );
				mapper.get().mapEKK0241B001_DSL( inMapping, kk0241_b001_map_list );
// IT1-2013-0000186対応 20130302 星野 MOD END
			// ▲▲▲ ST2-2012-0001446 2012-07-28 新城 ▲▲▲
			}
// ●● ActionPlan No.7 対応 2012/07/12 END
		// ▼▼▼ ST2-2012-0001446 2012-07-28 新城 ▼▼▼
		} else {
		// ▲▲▲ ST2-2012-0001446 2012-07-28 新城 ▲▲▲
			mapper.get().mapEKK0241B001( inMapping, kk0241_b001_map_list );
		// ▼▼▼ ST2-2012-0001446 2012-07-28 新城 ▼▼▼
		}
		// ▲▲▲ ST2-2012-0001446 2012-07-28 新城 ▲▲▲
		// EKK0241B001 サービス契約回線内訳一覧照会(転宅前)
		if ( mapper.get().checkEKK0241B001_OLD( param, fixedText ) ) {
			requestMap = mapper.get().setEKK0241B001_OLD( param, fixedText );
			resultMap  = scCall.run( requestMap, handle );
			ArrayList kk0241_b001_old_list = mapper.get().getEKK0241B001_OLD( param, fixedText, resultMap );
			mapper.get().scResultCheck( param );
			mapper.get().mapEKK0241B001_OLD( inMapping, kk0241_b001_old_list );
		}

		ArrayList<HashMap<String, Object>> kk0341_b022_map_list = mapper.get().getTaknkiki_info_list( param, fixedText );
		// ANK-2138-00-00 スマリン端末のトムソンケース同梱 2014/08/02 START
		String tabletHaisoKbn = (String)paramMap.get(JKKKojiAnkenConstCC.TABLET_HAISO_KBN);
		// 入力パラメータ.タブレット配送区分が設定されている場合
		if ((JKKKojiAnkenConstCC.TABLET_HAISO_KBN_CNCL_KJ_HAISO.equals(tabletHaisoKbn)
			|| JKKKojiAnkenConstCC.TABLET_HAISO_KBN_RE_CREATE_KJ_HAISO.equals(tabletHaisoKbn))
			&& null == kk0341_b022_map_list)
		{
			// サービス対象機器提供サービス契約一覧照会
			requestMap = mapper.get().setEKK0341B022( param, fixedText, "1" );
			resultMap  = scCall.run( requestMap, handle );
			kk0341_b022_map_list = mapper.get().getEKK0341B022( param, fixedText, resultMap, kk0081_a010_map );
			mapper.get().scResultCheck( param );
		}
		// ANK-2138-00-00 スマリン端末のトムソンケース同梱 2014/08/02 END
		if ( kk0341_b022_map_list != null ) {
// OM-2013-0003417対応 20131019 星野 ADD START
			// 異動区分：回復の場合
			if(isKaihuku(param, fixedText)){
				// パラメータで渡された機器リストから、キャンセル済・解約済を除く
				ArrayList taknKikiTmpList = new ArrayList();
				for(HashMap kk0341_b022_map : kk0341_b022_map_list){
					// 回復OPは世代登録年月日に回復前の世代登録を設定してくるので回復後世代が取得できない。
					// 一旦ここで世代登録をクリアすることでカレント検索に流す
					kk0341_b022_map.remove(JKKKojiAnkenConstCC.KKTK_SVC_KEI_NO_GENE_ADD_DTM);
					
					// 20150305 OM-2015-0000358 EPON⇒GEPON切替の工事中に回復しても交換後のONUが配送情報作成対象とならない ADD START
					// 予約手続中の機器を取得する
					// EKK0341B032 機器提供サービス契約一覧照会（住変用）
					requestMap = mapper.get().setEKK0341B032( param, fixedText, kk0341_b022_map );
					resultMap  = scCall.run( requestMap, handle );
					ArrayList kk0341_a010_map_list = mapper.get().getEKK0341B032( param, fixedText, resultMap );
					mapper.get().scResultCheck( param );
					// 20150305 OM-2015-0000358 EPON⇒GEPON切替の工事中に回復しても交換後のONUが配送情報作成対象とならない ADD END

					// 20150305 OM-2015-0000358 EPON⇒GEPON切替の工事中に回復しても交換後のONUが配送情報作成対象とならない ADD START
					// 予約手続中の機器がない場合
					if (null == kk0341_a010_map_list || kk0341_a010_map_list.isEmpty())
					{
					// 20150305 OM-2015-0000358 EPON⇒GEPON切替の工事中に回復しても交換後のONUが配送情報作成対象とならない ADD END
						// EKK0341A010 機器提供サービス契約一意照会(PK指定)
						requestMap = mapper.get().setEKK0341A010_PK_NOW( param, fixedText, kk0341_b022_map );
						resultMap  = scCall.run( requestMap, handle );
						// 20150305 OM-2015-0000358 EPON⇒GEPON切替の工事中に回復しても交換後のONUが配送情報作成対象とならない MOD START
//						ArrayList kk0341_a010_map_list = mapper.get().getEKK0341A010( param, fixedText, resultMap );
						kk0341_a010_map_list = mapper.get().getEKK0341A010( param, fixedText, resultMap );
						// 20150305 OM-2015-0000358 EPON⇒GEPON切替の工事中に回復しても交換後のONUが配送情報作成対象とならない MOD END
						mapper.get().scResultCheck( param );
					// 20150305 OM-2015-0000358 EPON⇒GEPON切替の工事中に回復しても交換後のONUが配送情報作成対象とならない ADD START
					}
					// 20150305 OM-2015-0000358 EPON⇒GEPON切替の工事中に回復しても交換後のONUが配送情報作成対象とならない ADD END
					
					if( kk0341_a010_map_list!=null && !kk0341_a010_map_list.isEmpty() ){
						
						HashMap kk0341_a010_map = (HashMap)kk0341_a010_map_list.get(0);
						String kktkSvcKeiStat = (String) kk0341_a010_map.get(EKK0341A010CBSMsg1List.KKTK_SVC_KEI_STAT);
						
						// 解約済・キャンセル済以外をadd
						if( !StringUtils.isEmpty(kktkSvcKeiStat)
							&& !"910".equals(kktkSvcKeiStat)
							&& !"920".equals(kktkSvcKeiStat)
						){
							// 一旦クリアした世代登録はここで一意照会結果から戻す
							kk0341_b022_map.put(JKKKojiAnkenConstCC.KKTK_SVC_KEI_NO_GENE_ADD_DTM, kk0341_a010_map.get(EKK0341A010CBSMsg1List.GENE_ADD_DTM));
							
							taknKikiTmpList.add(kk0341_b022_map);
						}
						
					}
				}
				
				// 機器リストを差し替え
				kk0341_b022_map_list = taknKikiTmpList;
				/** パラメータも差し替える */
				HashMap updMap = (HashMap)( param.getData( fixedText ) );
				updMap.put(JKKKojiAnkenConstCC.TAKNKIKI_INFO_LIST, kk0341_b022_map_list);
			}
// OM-2013-0003417対応 20131019 星野 ADD END
// ANK-1578-00-00対応 20131201 星野 ADD START
			// パラメータで渡された機器リストの変更前後が別契約の場合、2レコードに分割する
			ArrayList taknKikiTmpList = new ArrayList();
			for(HashMap kk0341_b022_map : kk0341_b022_map_list){
				String kktkSvcKeiNo = (String)kk0341_b022_map.get(JKKKojiAnkenConstCC.KKTK_SVC_KEI_NO);
				String geneAddDtm = (String)kk0341_b022_map.get(JKKKojiAnkenConstCC.KKTK_SVC_KEI_NO_GENE_ADD_DTM);
				String kktkSvcKeiNoOld = (String)kk0341_b022_map.get(JKKKojiAnkenConstCC.CHGBF_KKTK_SVC_KEI_NO);
				String geneAddDtmOld = (String)kk0341_b022_map.get(JKKKojiAnkenConstCC.CHGBF_KKTK_SVC_KEI_NO_GENE_ADD_DTM);
				
				boolean isNow = 
					!StringUtils.isEmpty( kktkSvcKeiNo )
					&& !StringUtils.isEmpty( geneAddDtm );
				boolean isOld = 
					!StringUtils.isEmpty( kktkSvcKeiNoOld )
					&& !StringUtils.isEmpty( geneAddDtmOld );
				
				// 交換前後が別契約（100Mルータ⇒多機能ルータ の場合に発生）
				if(isNow && isOld && !kktkSvcKeiNo.equals(kktkSvcKeiNoOld)){
					// 交換前を別レコードに分割
					HashMap kk0341_b022_map_old = new HashMap();
					kk0341_b022_map_old.put(JKKKojiAnkenConstCC.KKTK_SVC_KEI_NO, kktkSvcKeiNoOld);
					kk0341_b022_map_old.put(JKKKojiAnkenConstCC.KKTK_SVC_KEI_NO_GENE_ADD_DTM, geneAddDtmOld);
					// 撤去フラグを設定
					kk0341_b022_map_old.put(JKKKojiAnkenConstCC.TEKKYO_FLG, "1");
					// 差し替え用リストに追加
					taknKikiTmpList.add(kk0341_b022_map_old);
					
					// 交換後の方からは変更前情報を削除
					kk0341_b022_map.remove(JKKKojiAnkenConstCC.CHGBF_KKTK_SVC_KEI_NO);
					kk0341_b022_map.remove(JKKKojiAnkenConstCC.CHGBF_KKTK_SVC_KEI_NO_GENE_ADD_DTM);
					// 差し替え用リストに追加
					taknKikiTmpList.add(kk0341_b022_map);
				}
				
				// 交換後が埋まってない（ルータ＋ＶＡ⇒多機能ルータ の場合に発生）
				else if(!isNow && isOld){
					// 交換前情報を交換後情報に移送
					kk0341_b022_map.put(JKKKojiAnkenConstCC.KKTK_SVC_KEI_NO, kktkSvcKeiNoOld);
					kk0341_b022_map.put(JKKKojiAnkenConstCC.KKTK_SVC_KEI_NO_GENE_ADD_DTM, geneAddDtmOld);
					// 変更前情報を削除
					kk0341_b022_map.remove(JKKKojiAnkenConstCC.CHGBF_KKTK_SVC_KEI_NO);
					kk0341_b022_map.remove(JKKKojiAnkenConstCC.CHGBF_KKTK_SVC_KEI_NO_GENE_ADD_DTM);
					// 撤去フラグを設定
					kk0341_b022_map.put(JKKKojiAnkenConstCC.TEKKYO_FLG, "1");
					// 差し替え用リストに追加
					taknKikiTmpList.add(kk0341_b022_map);
					
				// 上記以外（通常データ）
				}else{
					// そのまま差し替え用リストに追加
					taknKikiTmpList.add(kk0341_b022_map);
				}
			}
			// 機器リストを差し替え
			kk0341_b022_map_list = taknKikiTmpList;
// ANK-1578-00-00対応 20131201 星野 ADD END
			// ANK-2138-00-00 スマリン端末のトムソンケース同梱 2014/08/02 START
			// 入力パラメータ.タブレット配送区分が設定されている場合
			if (null != tabletHaisoKbn && !tabletHaisoKbn.isEmpty())
			{
				// 宅内機器情報一覧の更新
				kk0341_b022_map_list = updateTaknkikiInfoList(handle, param, fixedText, paramMap, kk0341_b022_map_list);
				paramMap.put(JKKKojiAnkenConstCC.TAKNKIKI_INFO_LIST, kk0341_b022_map_list);
			}
			// ANK-2138-00-00 スマリン端末のトムソンケース同梱 2014/08/02 END
			
			for ( int i = 0; i < kk0341_b022_map_list.size(); i ++ ) {
				// EKK0341A010 機器提供サービス契約一意照会(PK指定)
				requestMap = mapper.get().setEKK0341A010_PK_NOW( param, fixedText, (HashMap)( kk0341_b022_map_list.get(i) ) );
				resultMap  = scCall.run( requestMap, handle );
				ArrayList kk0341_a010_map_list = mapper.get().getEKK0341A010( param, fixedText, resultMap );
				mapper.get().scResultCheck( param );
				mapper.get().mapEKK0341A010_PK_NOW( inMapping, kk0341_b022_map_list, i, kk0341_a010_map_list );

				// EKKA0020003 宅内機器一意照会(４)(PK指定)
				if ( mapper.get().checkEKKA0020003_PK_NOW( param, fixedText, (HashMap)( kk0341_b022_map_list.get(i) ) ) ) {
					requestMap = mapper.get().setEKKA0020003_PK_NOW( param, fixedText, (HashMap)( kk0341_b022_map_list.get(i) ) );
					resultMap  = scCall.run( requestMap, handle );
					ArrayList kka002_0003_map_list = mapper.get().getEKKA0020003( param, fixedText, resultMap );
					mapper.get().scResultCheck( param );
					mapper.get().mapEKKA0020003_PK_NOW( inMapping, kk0341_b022_map_list, i, kka002_0003_map_list );
				}

				// EZM0411A010 宅内機器型式一意照会(PK指定)
				if ( mapper.get().checkEZM0411A010_PK_NOW( param, fixedText, (HashMap)( kk0341_b022_map_list.get(i) ) ) ) {
					requestMap = mapper.get().setEZM0411A010_PK_NOW( param, fixedText, (HashMap)( kk0341_b022_map_list.get(i) ) );
					resultMap  = scCall.run( requestMap, handle );
					ArrayList zm0411_a010_map_list = mapper.get().getEZM0411A010( param, fixedText, resultMap );
					mapper.get().scResultCheck( param );
// OM-2013-0003470対応 20131102 星野 MOD START
//					mapper.get().mapEZM0411A010_PK_NOW( inMapping, kk0341_b022_map_list, i, zm0411_a010_map_list );
					mapper.get().mapEZM0411A010_PK_NOW( inMapping, kk0341_b022_map_list, i, zm0411_a010_map_list, isNeedBsptKh( kk0081_a010_map, kk0341_b022_map_list.get(i) ) );
// OM-2013-0003470対応 20131102 星野 MOD END
					
// OM-2013-0003470対応 20131102 星野 ADD START
					
				// 型式一意照会ができない場合（型式未確定）
				}else{
					// BSパススルー可否の設定要否を判定
					if( isNeedBsptKh( kk0081_a010_map, kk0341_b022_map_list.get(i) ) ){
						// BSパススルー可否を設定
						mapper.get().mapEKK0341A010_BSPT_KH( kk0341_b022_map_list, i, JKKKojiAnkenConstCC.VONU_BSPT_KH, kk0791_a010_map );
					}
// OM-2013-0003470対応 20131102 星野 ADD END
				}
// ANK-1578-00-00対応 20131201 星野 ADD START
				// EKK2811B010 機器オプションサービス契約一覧照会（機器提供ＳＶ）
				if( mapper.get().checkEKK2811B010_PK_NOW( param, fixedText, (HashMap)( kk0341_b022_map_list.get(i) ) ) ){
					requestMap = mapper.get().setEKK2811B010_PK_NOW( param, fixedText, (HashMap)( kk0341_b022_map_list.get(i) ) );
					resultMap  = scCall.run( requestMap, handle );
					ArrayList<HashMap<String, Object>> kk2811_b010_map_list = mapper.get().getEKK2811B010( param, fixedText, resultMap );
					mapper.get().scResultCheck( param );
					
// ANK-1664-00-00対応 20140105 星野 ADD START
					if( kk2811_b010_map_list!=null ){
						
						String svcKeiKaisenUcwkNo = null;
// IT2-2014-0000061対応 20140121 星野 MOD START
//						if(kk0341_a010_map_list != null && !kk0341_a010_map_list.isEmpty()){
//							svcKeiKaisenUcwkNo = (String)( (HashMap)kk0341_a010_map_list.get(0) ).get(EKK0341A010CBSMsg1List.SVC_KEI_KAISEN_UCWK_NO);
//						}
						
						// PK指定ではなく運用日カレントの機器から回線を取得する
						requestMap = mapper.get().setEKK0341A010( param, fixedText, (HashMap)( kk0341_b022_map_list.get(i) ) );
						resultMap  = scCall.run( requestMap, handle );
						ArrayList kk0341_a010_map_list_cur = mapper.get().getEKK0341A010( param, fixedText, resultMap );
						mapper.get().scResultCheck( param );
						if(kk0341_a010_map_list_cur != null && !kk0341_a010_map_list_cur.isEmpty()){
							svcKeiKaisenUcwkNo = (String)( (HashMap)kk0341_a010_map_list_cur.get(0) ).get(EKK0341A010CBSMsg1List.SVC_KEI_KAISEN_UCWK_NO);
						}
						
						// PK指定の回線も取得しておく
						String svcKeiKaisenUcwkNoPk = null;
						if(kk0341_a010_map_list != null && !kk0341_a010_map_list.isEmpty()){
							svcKeiKaisenUcwkNoPk = (String)( (HashMap)kk0341_a010_map_list.get(0) ).get(EKK0341A010CBSMsg1List.SVC_KEI_KAISEN_UCWK_NO);
						}
// IT2-2014-0000061対応 20140121 星野 MOD END
						
						// 一時リスト作成
						ArrayList<HashMap<String, Object>> kk2811_b010_map_list_tmp = new ArrayList<HashMap<String, Object>>();
						for( HashMap<String, Object> kk2811_b010_map : kk2811_b010_map_list){
							// 解約異動予約がヒットしなかった機器オプションのみを一時リストに格納
							if(!isKkopDslRsv(handle, param, fixedText, kk2811_b010_map, svcKeiKaisenUcwkNo)){
								kk2811_b010_map_list_tmp.add(kk2811_b010_map);
								
// IT2-2014-0000061対応 20140121 星野 ADD START
//							// 解約異動予約がヒットした場合、PK指定の回線でもう一度判定
//							}else if(!isKkopDslRsv(handle, param, fixedText, kk2811_b010_map, svcKeiKaisenUcwkNoPk)){
//								// PK指定で解約予約がない場合、住所変更の解約/新規とみなしてセーフとする
//								kk2811_b010_map_list_tmp.add(kk2811_b010_map);
//								
// IT2-2014-0000061対応 20140121 星野 ADD END
// IT2-2014-0000089対応 20140127 星野 ADD START
							}else if( 
								!StringUtils.isEmpty(svcKeiKaisenUcwkNo) && !StringUtils.isEmpty(svcKeiKaisenUcwkNoPk) && !svcKeiKaisenUcwkNo.equals(svcKeiKaisenUcwkNoPk)
								&& hasService(handle, param, fixedText, kk2811_b010_map, svcKeiKaisenUcwkNoPk)
							){
								// PK指定が別回線を指定しており、そちらに有効なサービス契約が存在する場合、住所変更の解約/新規とみなしてセーフとする
								kk2811_b010_map_list_tmp.add(kk2811_b010_map);
// IT2-2014-0000089対応 20140127 星野 ADD END
							}
						}
						// 一時リストと差し替え
						kk2811_b010_map_list = kk2811_b010_map_list_tmp;
					}
// ANK-1664-00-00対応 20140105 星野 ADD END
					
					mapper.get().mapEKK2811B010( kk0341_b022_map_list, i, kk2811_b010_map_list );
				}
//ANK-1578-00-00対応 20131201 星野 ADD END
				

// IT2-2013-0000200対応 20130219 星野 ADD START
// 変更前情報なしでも宅内機器異動コードを設定するよう、処理位置を移動
				// 異動区分：住所変更の場合
				if (isJyuhen(param, fixedText)) {
					mapper.get().mapEKK0341A010_TAKNKIKI_IDO_CD( inMapping, kk0341_b022_map_list, i, kojiUkCd);
				}
// IT2-2013-0000200対応 20130219 星野 ADD END
// ANK-1578-00-00対応 20131201 星野 ADD START
// 下から移動
				// 異動区分：コース変更の場合
				else if(isCourseChg(param, fixedText)){
					mapper.get().mapEKK0341A010_TAKNKIKI_IDO_CD_CRS_CHG( inMapping, kk0341_b022_map_list, i, kojiUkCd);
				}
// ANK-1578-00-00対応 20131201 星野 ADD END
				// ANK-4315-00-00 ADD START
				// 異動区分：ONU交換の場合
				else if(CD00884_CHANGE_KISN.equals(kojiUkCd) && CD00885_ONU_KOKAN_KOJI.equals( kojiUkDtlCd )){
					mapper.get().mapEKK0341A010_TAKNKIKI_IDO_CD_ONU_CHG( inMapping, kk0341_b022_map_list, i, kojiUkCd);
				}				
				// ANK-4315-00-00 ADD END
				// EKK0341A010 機器提供サービス契約一意照会(PK指定・変更前)
				if ( mapper.get().checkTaknkiki_info_list( (HashMap)( kk0341_b022_map_list.get(i) ) ) ) {
					requestMap = mapper.get().setEKK0341A010_PK_OLD( param, fixedText, (HashMap)( kk0341_b022_map_list.get(i) ) );
					resultMap  = scCall.run( requestMap, handle );
					ArrayList kk0341_a010_old_list = mapper.get().getEKK0341A010( param, fixedText, resultMap );
					mapper.get().scResultCheck( param );
					mapper.get().mapEKK0341A010_PK_OLD( inMapping, kk0341_b022_map_list, i, kk0341_a010_old_list );

					// EKKA0020003 宅内機器一意照会(４)(PK指定・変更前)
					if ( mapper.get().checkEKKA0020003_PK_OLD( param, fixedText, (HashMap)( kk0341_b022_map_list.get(i) ) ) ) {
						requestMap = mapper.get().setEKKA0020003_PK_OLD( param, fixedText, (HashMap)( kk0341_b022_map_list.get(i) ) );
						resultMap  = scCall.run( requestMap, handle );
						ArrayList kka002_0003_old_list = mapper.get().getEKKA0020003( param, fixedText, resultMap );
						mapper.get().scResultCheck( param );
						mapper.get().mapEKKA0020003_PK_OLD( inMapping, kk0341_b022_map_list, i, kka002_0003_old_list );
					}

					// EZM0411A010 宅内機器型式一意照会(PK指定・変更前)
					if ( mapper.get().checkEZM0411A010_PK_OLD( param, fixedText, (HashMap)( kk0341_b022_map_list.get(i) ) ) ) {
						requestMap = mapper.get().setEZM0411A010_PK_OLD( param, fixedText, (HashMap)( kk0341_b022_map_list.get(i) ) );
						resultMap  = scCall.run( requestMap, handle );
						ArrayList zm0411_a010_map_list = mapper.get().getEZM0411A010( param, fixedText, resultMap );
						mapper.get().scResultCheck( param );
// OM-2013-0003470対応 20131102 星野 MOD START
//						mapper.get().mapEZM0411A010_PK_OLD( inMapping, kk0341_b022_map_list, i, zm0411_a010_map_list );
						mapper.get().mapEZM0411A010_PK_OLD( inMapping, kk0341_b022_map_list, i, zm0411_a010_map_list, isNeedBsptKh( kk0081_a010_map, kk0341_b022_map_list.get(i) ) );
// OM-2013-0003470対応 20131102 星野 MOD END
						
// OM-2013-0003470対応 20131102 星野 ADD END
					// 型式一意照会ができない場合（型式未確定）
					}else{
						// BSパススルー可否の設定要否を判定
						if( isNeedBsptKh( kk0081_a010_map, kk0341_b022_map_list.get(i) ) ){
							// BSパススルー可否を設定
							mapper.get().mapEKK0341A010_BSPT_KH( kk0341_b022_map_list, i, JKKKojiAnkenConstCC.CHGBF_VONU_BSPT_KH, kk0791_a010_map );
						}
// OM-2013-0003470対応 20131102 星野 ADD END
					}
// ANK-1578-00-00対応 20131201 星野 ADD START
					// EKK2811B010 機器オプションサービス契約一覧照会（機器提供ＳＶ）
					if( mapper.get().checkEKK2811B010_PK_OLD( param, fixedText, (HashMap)( kk0341_b022_map_list.get(i) ) ) ){
						requestMap = mapper.get().setEKK2811B010_PK_OLD( param, fixedText, (HashMap)( kk0341_b022_map_list.get(i) ) );
						resultMap  = scCall.run( requestMap, handle );
						ArrayList<HashMap<String, Object>> kk2811_b010_map_list = mapper.get().getEKK2811B010( param, fixedText, resultMap );
						mapper.get().scResultCheck( param );
						mapper.get().mapEKK2811B010_PK_OLD( kk0341_b022_map_list, i, kk2811_b010_map_list );
					}
//ANK-1578-00-00対応 20131201 星野 ADD END

// IT2-2013-0000200対応 20130219 星野 DEL START
// 変更前情報なしでも宅内機器異動コードを設定するよう、処理位置を移動
//					// ●●● IT1-2012-0002586 horibayashi 2012/12/28
//					// 異動区分：住所変更の場合
//					if (isJyuhen(param, fixedText)) {
//// IT2-2013-0000109,110,111,114対応 20130204 星野 MOD START
////						mapper.get().mapEKK0341A010_TAKNKIKI_IDO_CD( inMapping, kk0341_b022_map_list, i, kk0341_a010_old_list, kk0341_a010_map_list);
//						mapper.get().mapEKK0341A010_TAKNKIKI_IDO_CD( inMapping, kk0341_b022_map_list, i, kojiUkCd);
//// IT2-2013-0000109,110,111,114対応 20130204 星野 MOD END
//					}
//					// ●●● IT1-2012-0002586 horibayashi 2012/12/28
// IT2-2013-0000200対応 20130219 星野 DEL END
				}
// ST1-2013-0000079対応 20130111 星野 ADD START
				//  EKK0161A010 サービス契約内訳一意照会
				if( mapper.get().checkEKK0161A010( param, fixedText, (HashMap)( kk0341_b022_map_list.get(i) ) ) ){
					requestMap = mapper.get().setEKK0161A010( param, fixedText, (HashMap)( kk0341_b022_map_list.get(i) ) );
					resultMap  = scCall.run( requestMap, handle );
					ArrayList kk0161_a010_map_list = mapper.get().getEKK0161A010( param, fixedText, resultMap );
					mapper.get().scResultCheck( param );
					mapper.get().mapEKK0161A010( inMapping, kk0341_b022_map_list, i, kk0161_a010_map_list );
				}
// ST1-2013-0000079対応 20130111 星野 ADD END
// ANK-1578-00-00対応 20131201 星野 DEL START
// 上へ移動
//// LT-2013-0000249対応 20130706 星野 ADD START
//				// 異動区分：コース変更の場合
//				if(isCourseChg(param, fixedText)){
//					mapper.get().mapEKK0341A010_TAKNKIKI_IDO_CD_CRS_CHG( inMapping, kk0341_b022_map_list, i, kojiUkCd);
//
//				}
//// LT-2013-0000249対応 20130706 星野 ADD END
// ANK-1578-00-00対応 20131201 星野 DEL END
			}
			mapper.get().mapEKK0341B022_PK( inMapping, kk0341_b022_map_list );
		// ANK-4315-00-00 ADD START
		}
		// リストがNULLかつONU交換工事の場合
		else if (kk0341_b022_map_list == null && (CD00884_CHANGE_KISN.equals(kojiUkCd) && CD00885_ONU_KOKAN_KOJI.equals( kojiUkDtlCd )))
		{
			//なにも設定しない。 
		// ANK-4315-00-00 ADD END
		} else {
			// EKK0341B022 サービス対象機器提供サービス契約一覧照会
// IT1-2013-0000186対応 20130302 星野 MOD START
//			requestMap = mapper.get().setEKK0341B022( param, fixedText );
			String funcCodeEKK0341B022 = "1";
			if(isJyuhen(param,fixedText))
			{
				funcCodeEKK0341B022 = "2";
			}
			requestMap = mapper.get().setEKK0341B022( param, fixedText, funcCodeEKK0341B022 );
// IT1-2013-0000186対応 20130302 星野 MOD END
			resultMap  = scCall.run( requestMap, handle );
			kk0341_b022_map_list = mapper.get().getEKK0341B022( param, fixedText, resultMap, kk0081_a010_map );
			mapper.get().scResultCheck( param );
			
// OM-2014-0001365対応 20140415 星野 ADD START
			// 異動区分「新規契約」「サービス追加」の新設工事依頼の場合
			if( isNewOrAdd(param, fixedText) && CD00884_USE_KISN.equals(kojiUkCd)){
				ArrayList<HashMap<String, Object>> kk0341_b022_map_list_tmp = new ArrayList<HashMap<String, Object>>();
				if(kk0341_b022_map_list!=null){
					for( HashMap<String, Object> kk0341_b022_map : kk0341_b022_map_list ){
						// 配送区分「手渡し」は処理対象外
						if( "01".equals(kk0341_b022_map.get(EKK0341B022CBSMsg1List.HAISO_DIV)) ){
							continue;
						}
						
// OM-2014-0001645対応 20140424 星野 ADD START
						String kktkSvcKeiNo = (String)kk0341_b022_map.get(EKK0341B022CBSMsg1List.KKTK_SVC_KEI_NO);
						String kikiChgNo = (String)kk0341_b022_map.get(EKK0341B022CBSMsg1List.KIKI_CHG_NO);
						// お客様直送で配送作成済の機器は処理対象外
						if(isChokusoSumi(handle, param, fixedText, kktkSvcKeiNo, kikiChgNo)){
							continue;
						}
// OM-2014-0001645対応 20140424 星野 ADD END
						
						kk0341_b022_map_list_tmp.add(kk0341_b022_map);
					}
					kk0341_b022_map_list = kk0341_b022_map_list_tmp;
				}
			}
// OM-2014-0001365対応 20140415 星野 ADD END
			// ANK-2138-00-00 スマリン端末のトムソンケース同梱 2014/08/02 START
			// 入力パラメータ.タブレット配送区分が設定されている場合
			if (null != tabletHaisoKbn && !tabletHaisoKbn.isEmpty())
			{
				// 宅内機器情報一覧の更新
				kk0341_b022_map_list = updateTaknkikiInfoList(handle, param, fixedText, paramMap, kk0341_b022_map_list);
				paramMap.put(JKKKojiAnkenConstCC.TAKNKIKI_INFO_LIST, kk0341_b022_map_list);
			}
			// ANK-2138-00-00 スマリン端末のトムソンケース同梱 2014/08/02 END

			// EKK0341A010 機器提供サービス契約一意照会
			if ( mapper.get().checkEKK0341A010( param, fixedText, kk0341_b022_map_list ) ) {
				for ( int i = 0; i < kk0341_b022_map_list.size(); i ++ ) {
					requestMap = mapper.get().setEKK0341A010( param, fixedText, (HashMap)( kk0341_b022_map_list.get(i) ) );
					resultMap  = scCall.run( requestMap, handle );
					ArrayList kk0341_a010_map_list = mapper.get().getEKK0341A010( param, fixedText, resultMap );
					mapper.get().scResultCheck( param );
					mapper.get().mapEKK0341A010( inMapping, kk0341_b022_map_list, i, kk0341_a010_map_list );

					// EKKA0020003 宅内機器一意照会(４)
					if ( mapper.get().checkEKKA0020003( param, fixedText, (HashMap)( kk0341_b022_map_list.get(i) ) ) ) {
						requestMap = mapper.get().setEKKA0020003( param, fixedText, (HashMap)( kk0341_b022_map_list.get(i) ) );
						resultMap  = scCall.run( requestMap, handle );
						ArrayList kka002_0003_map_list = mapper.get().getEKKA0020003( param, fixedText, resultMap );
						mapper.get().scResultCheck( param );
						mapper.get().mapEKKA0020003( inMapping, kk0341_b022_map_list, i, kka002_0003_map_list );
					}

					// EZM0411A010 宅内機器型式一意照会
					if ( mapper.get().checkEZM0411A010( param, fixedText, (HashMap)( kk0341_b022_map_list.get(i) ) ) ) {
						requestMap = mapper.get().setEZM0411A010( param, fixedText, (HashMap)( kk0341_b022_map_list.get(i) ) );
						resultMap  = scCall.run( requestMap, handle );
						ArrayList zm0411_a010_map_list = mapper.get().getEZM0411A010( param, fixedText, resultMap );
						mapper.get().scResultCheck( param );
// OM-2013-0003470対応 20131102 星野 MOD START
//						mapper.get().mapEZM0411A010( inMapping, kk0341_b022_map_list, i, zm0411_a010_map_list );
						mapper.get().mapEZM0411A010( inMapping, kk0341_b022_map_list, i, zm0411_a010_map_list, isNeedBsptKh( kk0081_a010_map, kk0341_b022_map_list.get(i) ) );
// OM-2013-0003470対応 20131102 星野 MOD END
						
// OM-2013-0003470対応 20131102 星野 ADD END
						// 型式一意照会ができない場合（型式未確定）
						}else{
							// BSパススルー可否の設定要否を判定
							if( isNeedBsptKh( kk0081_a010_map, kk0341_b022_map_list.get(i) ) ){
								// BSパススルー可否を設定
								mapper.get().mapEKK0341A010_BSPT_KH( kk0341_b022_map_list, i, EZM0411A010CBSMsg1List.VONU_BSPT_KH, kk0791_a010_map );
							}
// OM-2013-0003470対応 20131102 星野 ADD END
					}

					// ●●● IT1-2012-0002586 horibayashi 2012/12/28
					// 異動区分：住所変更の場合
					if (isJyuhen(param, fixedText)) {
// IT2-2013-0000109,110,111,114対応 20130204 星野 MOD START
//						requestMap = mapper.get().setEKK0341A010_RSV( param, fixedText, (HashMap)( kk0341_b022_map_list.get(i) ) );
//						resultMap  = scCall.run( requestMap, handle );
//						ArrayList kk0341_a010_map_rsv_list = mapper.get().getEKK0341A010( param, fixedText, resultMap );
//						mapper.get().scResultCheck( param );
//						mapper.get().mapEKK0341A010_TAKNKIKI_IDO_CD( inMapping, kk0341_b022_map_list, i, kk0341_a010_map_list, kk0341_a010_map_rsv_list);
						mapper.get().mapEKK0341A010_TAKNKIKI_IDO_CD( inMapping, kk0341_b022_map_list, i, kojiUkCd);
// IT2-2013-0000109,110,111,114対応 20130204 星野 MOD END
					}
					// ●●● IT1-2012-0002586 horibayashi 2012/12/28
					// ST1-2013-0000079対応 20130111 星野 ADD START
//  EKK0161A010 サービス契約内訳一意照会
					if( mapper.get().checkEKK0161A010( param, fixedText, (HashMap)( kk0341_b022_map_list.get(i) ) ) ){
						requestMap = mapper.get().setEKK0161A010( param, fixedText, (HashMap)( kk0341_b022_map_list.get(i) ) );
						resultMap  = scCall.run( requestMap, handle );
						ArrayList kk0161_a010_map_list = mapper.get().getEKK0161A010( param, fixedText, resultMap );
						mapper.get().scResultCheck( param );
						mapper.get().mapEKK0161A010( inMapping, kk0341_b022_map_list, i, kk0161_a010_map_list );
					}
// ST1-2013-0000079対応 20130111 星野 ADD END
					
// ANK-1578-00-00対応 20131201 星野 ADD START
					// EKK2811B010 機器オプションサービス契約一覧照会（機器提供ＳＶ）
					if( mapper.get().checkEKK2811B010( param, fixedText, (HashMap)( kk0341_b022_map_list.get(i) ) ) ){
						requestMap = mapper.get().setEKK2811B010( param, fixedText, (HashMap)( kk0341_b022_map_list.get(i) ) );
						resultMap  = scCall.run( requestMap, handle );
						ArrayList<HashMap<String, Object>> kk2811_b010_map_list = mapper.get().getEKK2811B010( param, fixedText, resultMap );
						mapper.get().scResultCheck( param );
						
// ANK-1664-00-00対応 20140105 星野 ADD START
						if( kk2811_b010_map_list!=null ){
							
							String svcKeiKaisenUcwkNo = null;
							if(kk0341_a010_map_list != null && !kk0341_a010_map_list.isEmpty()){
								svcKeiKaisenUcwkNo = (String)( (HashMap)kk0341_a010_map_list.get(0) ).get(EKK0341A010CBSMsg1List.SVC_KEI_KAISEN_UCWK_NO);
							}
							
							// 一時リスト作成
							ArrayList<HashMap<String, Object>> kk2811_b010_map_list_tmp = new ArrayList<HashMap<String, Object>>();
							for( HashMap<String, Object> kk2811_b010_map : kk2811_b010_map_list){
								// 解約異動予約がヒットしなかった機器オプションのみを一時リストに格納
								if(!isKkopDslRsv(handle, param, fixedText, kk2811_b010_map, svcKeiKaisenUcwkNo)){
									kk2811_b010_map_list_tmp.add(kk2811_b010_map);
								}
							}
							// 一時リストと差し替え
							kk2811_b010_map_list = kk2811_b010_map_list_tmp;
						}
// ANK-1664-00-00対応 20140105 星野 ADD END
						
						mapper.get().mapEKK2811B010( kk0341_b022_map_list, i, kk2811_b010_map_list );
					}
// ANK-1578-00-00対応 20131201 星野 ADD END
				}
			}
			mapper.get().mapEKK0341B022( inMapping, kk0341_b022_map_list );
		}

		// EKK0481B001 割引サービス対象契約一覧照会
		requestMap = mapper.get().setEKK0481B001( param, fixedText );
		resultMap  = scCall.run( requestMap, handle );
		ArrayList kk0481_b001_map_list = mapper.get().getEKK0481B001( param, fixedText, resultMap );
		mapper.get().scResultCheck( param );

		// EKK0451A010 割引サービス契約一意照会
		ArrayList kk0451_a010_map_list = new ArrayList();
		if ( mapper.get().checkEKK0451A010( param, fixedText, kk0481_b001_map_list ) ) {
			for ( int i = 0; i < kk0481_b001_map_list.size(); i ++ ) {
				requestMap = mapper.get().setEKK0451A010( param, fixedText, (HashMap)( kk0481_b001_map_list.get(i) ) );
				resultMap  = scCall.run( requestMap, handle );
				kk0451_a010_map_list.add( mapper.get().getEKK0451A010( param, fixedText, resultMap ) );
				mapper.get().scResultCheck( param );
			}
		}

		// EKK0841A010 割引サービス一意照会
		ArrayList kk0841_a010_map_list = new ArrayList();
		if ( mapper.get().checkEKK0841A010( param, fixedText, kk0451_a010_map_list ) ) {
			for ( int i = 0; i < kk0451_a010_map_list.size(); i ++ ) {
				requestMap = mapper.get().setEKK0841A010( param, fixedText, (HashMap)( kk0451_a010_map_list.get(i) ) );
				resultMap  = scCall.run( requestMap, handle );
				kk0841_a010_map_list.add( mapper.get().getEKK0841A010( param, fixedText, resultMap ) );
				mapper.get().scResultCheck( param );
				mapper.get().mapEKK0841A010( inMapping, kk0841_a010_map_list );
			}
		}

		// ▼▼▼ 2012-04-23 ADD ▼▼▼
		HashMap kk0841_a010_map = (HashMap)inMapping.get( JKKKojiAnkenMapperCC.EKK0841A010_MAP );
		if( kk0841_a010_map == null ) {
			// EKK0451B005 割引サービス契約一覧照会（SYSID）
			requestMap = mapper.get().setEKK0451B005( param, fixedText );
			resultMap  = scCall.run( requestMap, handle );
			ArrayList kk0451_b005_map_list = mapper.get().getEKK0451B005( param, fixedText, resultMap );
			mapper.get().scResultCheck( param );
			mapper.get().mapEKK0451B005( inMapping, kk0451_b005_map_list );
		}
		// ▲▲▲ 2012-04-23 ADD ▲▲▲

		// EKK0321B002 課金先一覧照会(請求契約番号/サービス契約番号)
		ArrayList kk0321_b002_map_list_list = new ArrayList();
		requestMap = mapper.get().setEKK0321B002( param, fixedText );
		resultMap  = scCall.run( requestMap, handle );
		kk0321_b002_map_list_list.add( mapper.get().getEKK0321B002( param, fixedText, resultMap ) );
		mapper.get().scResultCheck( param );

		// EKK0321A010 課金先一意照会
		ArrayList kk0321_a010_map_list = null;
		ArrayList kk0321_a010_map_list_list = new ArrayList();
		if ( mapper.get().checkEKK0321A010( param, fixedText, kk0321_b002_map_list_list ) ) {
			for ( int i = 0; i < kk0321_b002_map_list_list.size(); i ++ ) {
				kk0321_a010_map_list = new ArrayList();
				ArrayList kk0321_b002_map_list = (ArrayList)( kk0321_b002_map_list_list.get(i) );
				for ( int j = 0; j < kk0321_b002_map_list.size(); j ++ ) {
					requestMap = mapper.get().setEKK0321A010( param, fixedText, (HashMap)( kk0321_b002_map_list.get(j) ) );
					resultMap  = scCall.run( requestMap, handle );
					kk0321_a010_map_list.add( mapper.get().getEKK0321A010( param, fixedText, resultMap ) );
					mapper.get().scResultCheck( param );
				}
				kk0321_a010_map_list_list.add( kk0321_a010_map_list );
			}
			mapper.get().mapEKK0321A010( inMapping, kk0321_a010_map_list_list );
		}

		// ▼▼▼ 工事案件対応 新城 ▼▼▼
		// EKK0891A010 提供方式契約一意照会
		HashMap kk0891_a010_map = null;
		if ( CD00885_HIKKOSHI.equals( kojiUkDtlCd ) 
// OT-2013-0000328対応 20130309 星野 ADD START
// 住変の新設工事ではサービス契約へ提供方式契約番号が未反映の場合があるため、入力パラメータから提供方式契約番号を取得
// OM-2014-0000597対応 20140211 星野 MOD START
//			|| ( isJyuhen(param, fixedText) && CD00884_USE_KISN.equals(kojiUkCd) )
			|| ( isJyuhen(param, fixedText) && ( CD00884_USE_KISN.equals(kojiUkCd) || CD00884_CHANGE_NAIYO.equals(kojiUkCd)) 
// OM-2014-0001365対応 20140415 星野 ADD START
				 && paramMap.containsKey(JKKKojiAnkenConstCC.TK_HOSHIKI_KEI_NO)
// OM-2014-0001365対応 20140415 星野 ADD END
				)
// OM-2014-0000597対応 20140211 星野 MOD END
// OT-2013-0000328対応 20130309 星野 ADD END
		) {

			if ( mapper.get().checkEKK0891A010KeyTK_HOSHIKI_KEI_NO( param, fixedText ) ) {
				requestMap = mapper.get().setEKK0891A010KeyTK_HOSHIKI_KEI_NO( param, fixedText );
				resultMap  = scCall.run( requestMap, handle );
				kk0891_a010_map = mapper.get().getEKK0891A010( param, fixedText, resultMap );
				mapper.get().scResultCheck( param );
				mapper.get().mapEKK0891A010( inMapping, kk0891_a010_map );
			}

		} else {
			if ( mapper.get().checkEKK0891A010( param, fixedText, kk0081_a010_map ) ) {
				requestMap = mapper.get().setEKK0891A010( param, fixedText, kk0081_a010_map );
				resultMap  = scCall.run( requestMap, handle );
				kk0891_a010_map = mapper.get().getEKK0891A010( param, fixedText, resultMap );
				mapper.get().scResultCheck( param );
				mapper.get().mapEKK0891A010( inMapping, kk0891_a010_map );
			}
		}
		// ▲▲▲ 工事案件対応 新城 ▲▲▲

		// EKK0881A010 回線使用契約一意照会
		HashMap kk0881_a010_map = null;
		if ( mapper.get().checkEKK0881A010( param, fixedText, kk0891_a010_map ) ) {
			requestMap = mapper.get().setEKK0881A010( param, fixedText, kk0891_a010_map );
			resultMap  = scCall.run( requestMap, handle );
			kk0881_a010_map = mapper.get().getEKK0881A010( param, fixedText, resultMap );
			mapper.get().scResultCheck( param );
			// ▼▼▼ IT2-2012-0001101 2012-07-05 新城 ▼▼▼			
			mapper.get().mapEKK0881A010( inMapping, kk0881_a010_map );
			// ▲▲▲ IT2-2012-0001101 2012-07-05 新城 ▲▲▲
		}

		// EKK0911A010 マンションコース一意照会
		HashMap kk0911_a010_map = null;
		if ( mapper.get().checkEKK0911A010( param, fixedText, kk0881_a010_map ) ) {
			requestMap = mapper.get().setEKK0911A010( param, fixedText, kk0881_a010_map );
			resultMap  = scCall.run( requestMap, handle );
			kk0911_a010_map = mapper.get().getEKK0911A010( param, fixedText, resultMap );
			mapper.get().scResultCheck( param );
			mapper.get().mapEKK0911A010( inMapping, kk0911_a010_map );
		}

		// EKK0871A010 オーナー契約一意照会
		HashMap kk0871_a010_map = null;
		if ( mapper.get().checkEKK0871A010( param, fixedText, kk0881_a010_map ) ) {
			requestMap = mapper.get().setEKK0871A010( param, fixedText, kk0881_a010_map );
			resultMap  = scCall.run( requestMap, handle );
			kk0871_a010_map = mapper.get().getEKK0871A010( param, fixedText, resultMap );
			mapper.get().scResultCheck( param );
			mapper.get().mapEKK0871A010( inMapping, kk0871_a010_map );
		}

		// EKK0861A010 マンション物件一意照会
		HashMap kk0861_a010_map = null;
		if ( mapper.get().checkEKK0861A010( param, fixedText, kk0871_a010_map ) ) {
			requestMap = mapper.get().setEKK0861A010( param, fixedText, kk0871_a010_map );
			resultMap  = scCall.run( requestMap, handle );
			kk0861_a010_map = mapper.get().getEKK0861A010( param, fixedText, resultMap );
			mapper.get().scResultCheck( param );
			mapper.get().mapEKK0861A010( inMapping, kk0861_a010_map );
		}
// ANK-1387-00-00 2013.01.17 Y.MORIMOTO ADD START
		// 引数の設定
		HashMap< String, Object> trgtData = new HashMap<String, Object>();
		if (!StringUtils.isEmpty((String)paramMap.get( JKKKojiAnkenConstCC.IDO_DIV ))) {
			
			// param.異動区分 ⇒ 異動区分
			trgtData.put(JKKKojiAnkenConstCC.IDO_DIV, (String)paramMap.get( JKKKojiAnkenConstCC.IDO_DIV ));
			// param.サービス契約番号 ⇒ サービス契約番号
			trgtData.put(JKKKojiAnkenConstCC.SVC_KEI_NO, (String)paramMap.get( JKKKojiAnkenConstCC.SVC_KEI_NO ));
// IT1-2013-000XXXX対応 20130508 星野 ADD START
			// param.追加先工事案件番号 ⇒ 追加先工事案件番号
			trgtData.put("add_saki_kojiak_no", (String)paramMap.get( "add_saki_kojiak_no" ));
			// param.追加先工事案件ステータス ⇒ 追加先工事案件ステータス
			trgtData.put("add_saki_kojiak_stat", (String)paramMap.get( "add_saki_kojiak_stat" ));
// IT1-2013-000XXXX対応 20130508 星野 ADD END
			// ANK-4315-00-00 ADD START
			// 工事受付コード
			trgtData.put("koji_uk_cd", kojiUkCd);
			// 工事受付詳細コード
			trgtData.put("koji_uk_dtl_cd", kojiUkDtlCd);
			// ANK-4315-00-00 ADD END
			if (kk0081_a010_map != null && kk0081_a010_map.containsKey( EKK0081A010CBSMsg1List.PRC_GRP_CD ))
			{
				// kk0081_a010_map.料金グループコード ⇒ 料金グループコード
				trgtData.put(JKKKojiAnkenConstCC.PRC_GRP_CD, (String)kk0081_a010_map.get( EKK0081A010CBSMsg1List.PRC_GRP_CD ));
			}
			if (kk0861_a010_map != null && kk0861_a010_map.containsKey( EKK0861A010CBSMsg1List.MANSION_BUKKEN_CD ))
			{
				// kk0861_a010_map.マンション物件コード ⇒ マンション物件コード
				trgtData.put(JKKKojiAnkenConstCC.MANSION_BUKKEN_CD, (String)kk0861_a010_map.get( EKK0861A010CBSMsg1List.MANSION_BUKKEN_CD ));
			}
			if (kk0891_a010_map != null && kk0891_a010_map.containsKey( EKK0891A010CBSMsg1List.TK_HOSHIKI_CD ))
			{
				// kk0891_a010_map.提供方式コード ⇒ 提供方式コード
				trgtData.put(JKKKojiAnkenConstCC.TK_HOSHIKI_CD, (String)kk0891_a010_map.get( EKK0891A010CBSMsg1List.TK_HOSHIKI_CD ));
			}
			// ANK-3387-00-00 ADD START
			if (kk0891_a010_map != null && kk0891_a010_map.containsKey( EKK0891A010CBSMsg1List.TK_HOSHIKI_PATTERN_CD ))
			{
				// kk0891_a010_map.提供方式コード ⇒ 提供方式コード
				trgtData.put(JKKKojiAnkenConstCC.TK_HOSHIKI_PATTERN_CD, (String)kk0891_a010_map.get( EKK0891A010CBSMsg1List.TK_HOSHIKI_PATTERN_CD ));
			}
			// ANK-3387-00-00 ADD END
			try {
				boolean rslt = JKKBpCommon.chkKojiOccurInf(handle, param, trgtData, fixedText);
				
				// 工事なしの場合、宅内機器情報をクリアする
				if (rslt)
				{
					// EKK0341B002 機器提供サービス契約一覧照会: 利用機器一覧
					inMapping.put(JKKKojiAnkenMapperCC.EKK0341B022_MAP, new ArrayList<HashMap<String, Object>>() );
					// EKK0341A010 機器提供サービス契約一意照会(PK指定)
					inMapping.put(JKKKojiAnkenMapperCC.EKK0341B022_MAP_PK, new ArrayList<HashMap<String, Object>>() );
				}
			} catch (Throwable e) {
				throw new Exception();
			}
	// ANK-1387-00-00 2013.01.17 Y.MORIMOTO ADD END

		}
		
		// 20140714 ANK-1918-00-00 ADD START
		// 工事連携システム判定処理呼出
		// サービス契約番号取得
		String svcKeiNo =(String)paramMap.get( JKKKojiAnkenConstCC.SVC_KEI_NO ); 
		
		if (!JKKBpCommon.isNull(svcKeiNo))
		{
			HashMap<String, Object> jdgUSRnkiTgSvcInputdata = new HashMap<String, Object>();
			
			// サービス契約番号
			jdgUSRnkiTgSvcInputdata.put(JKKKojiRnkiSysJdgConstCC.SVC_KEI_NO, svcKeiNo);
			
			String jdgUSRnkiTgSvcFixedText ="kojiAnkenCCjdgUSRnkiTgSvc";  
			
			param.setData(jdgUSRnkiTgSvcFixedText, jdgUSRnkiTgSvcInputdata);
			
			// 工事連携システム判定
			try
			{
				JKKBpCommon.jdgKojiRnkiSys(handle, param, jdgUSRnkiTgSvcInputdata, jdgUSRnkiTgSvcFixedText);
			}
			catch (Throwable e)
			{
				throw new Exception();
			}
			
			// 連携システム
			inMapping.put(JKKKojiAnkenConstCC.KOJI_RNKI_SYS, (String)jdgUSRnkiTgSvcInputdata.get(JKKKojiRnkiSysJdgConstCC.KOJI_RNKI_SYS));
		}
		
		// EKK2441B003 他事業者割引契約一覧照会（サービス契約番号）
		if ( mapper.get().checkEKK2441B003( param, fixedText ) ) 
		{
			requestMap = mapper.get().setEKK2441B003( param, fixedText );
			resultMap  = scCall.run( requestMap, handle );
			HashMap kk2441_b003_map = mapper.get().getEKK2441B003(param, fixedText, resultMap);
			mapper.get().scResultCheck( param );
			mapper.get().mapEKK2441B003(inMapping, kk2441_b003_map);
		}
		
		// EKK0351B010 オプションサービス契約一覧照会
		if ( mapper.get().checkEKK0351B010( param, fixedText ) ) 
		{
			requestMap = mapper.get().setEKK0351B010( param, fixedText );
			resultMap  = scCall.run( requestMap, handle );
			ArrayList kk341_b010_map_list = mapper.get().getEKK0351B010(param, fixedText, resultMap);
			mapper.get().scResultCheck( param );
			mapper.get().mapEKK0351B010(inMapping, kk341_b010_map_list);
		}
		// 20140714 ANK-1918-00-00 ADD END
	
		return inMapping;
	}

// OM-2014-0001645対応 20140424 星野 ADD START
	private boolean isChokusoSumi(SessionHandle handle, IRequestParameterReadWrite param, String fixedText, String kktkSvcKeiNo, String kikiChgNo) throws Exception {
		
		boolean isChokusoSumi = false;
		// 契約機器配送対象物品一覧照会 EDK0011B090
		HashMap<String, Object> eDK0011B090Hash = callEDK0011B090(param, handle, fixedText, null, null, kktkSvcKeiNo);
		CAANMsg[] eDK0011B090CBSMSG1list = (CAANMsg[])eDK0011B090Hash.get(EDK0011B090CBSMsg.EDK0011B090CBSMSG1LIST);
		// 取得できない場合、処理終了
		if (eDK0011B090CBSMSG1list == null || eDK0011B090CBSMSG1list.length == 0)
		{
			return false;
		}
		for (int i = 0; i < eDK0011B090CBSMSG1list.length; i++)
		{
			HashMap<String, Object> eDK0011B090CBSMSG1 = eDK0011B090CBSMSG1list[i].getMsgData();
			
			// 機器変更番号の一致を確認
			if(StringUtils.isEmpty(kikiChgNo) || !kikiChgNo.equals(eDK0011B090CBSMSG1.get(EDK0011B090CBSMsg1List.KIKI_CHG_NO)) ){
				continue;
			}
			
			// 配送ステータスの確認
			if( "005".equals( eDK0011B090CBSMSG1.get(EDK0011B090CBSMsg1List.HAISO_STAT) ) ){
				// 取消済は直送済とはみなさない
				continue;
			}
			
			isChokusoSumi = true;
		}
		return isChokusoSumi;
	}
// OM-2014-0001645対応 20140424 星野 ADD END

// ANK-1664-00-00対応 20140105 星野 ADD START
	private boolean isKkopDslRsv(
		SessionHandle handle,
		IRequestParameterReadWrite param, 
		String fixedText,
		HashMap<String, Object> kk2811_b010_map,
		String svcKeiKaisenUcwkNo
	)throws Exception
	{
		HashMap<String, Object> requestMap;
		Map<?, ?> resultMap;
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		
		// EKK1681B001 異動予約一覧照会
		requestMap = mapper.get().setEKK1681B001KikiOpDsl( param, fixedText, kk2811_b010_map );
		resultMap  = scCall.run( requestMap, handle );
		HashMap kk1681_b001_map_kikiOpDsl = mapper.get().getEKK1681B001All( param, fixedText, resultMap );
		mapper.get().scResultCheck( param );
		
		// 機器オプション解約の異動予約がヒットしたらtrue返却
		if(kk1681_b001_map_kikiOpDsl!=null && !kk1681_b001_map_kikiOpDsl.isEmpty()){
			return true;
		
		}
		
		if(!StringUtils.isEmpty(svcKeiKaisenUcwkNo)){
			// EKK0081B007 回線利用中サービス契約一覧照会
			requestMap = mapper.get().setEKK0081B007( param, fixedText, svcKeiKaisenUcwkNo );
			resultMap  = scCall.run( requestMap, handle );
			ArrayList<HashMap<String, Object>> kk0081_b007_map_list = mapper.get().getEKK0081B007( param, fixedText, resultMap );
			mapper.get().scResultCheck( param );
			
				
			if(kk0081_b007_map_list!=null && !kk0081_b007_map_list.isEmpty()){
				for(HashMap<String, Object> kk0081_b007_map : kk0081_b007_map_list){
					// EKK0081A010 サービス契約一意照会
					requestMap = mapper.get().setEKK0081A010_2( param, fixedText, (String)kk0081_b007_map.get(EKK0081B007CBSMsg1List.SVC_KEI_NO));
					resultMap  = scCall.run( requestMap, handle );
					HashMap kk0081_a010_map_tmp = mapper.get().getEKK0081A010( param, fixedText, resultMap );
					mapper.get().scResultCheck( param );
					
					if(kk0081_a010_map_tmp!=null && !kk0081_a010_map_tmp.isEmpty()){
						
						// 機器オプションがルーター機能の場合、ネット以外は対象外
						if( "G01".equals( kk2811_b010_map.get(EKK2811B010CBSMsg1List.KKOP_SVC_CD) ) 
							&& !"01".equals( kk0081_a010_map_tmp.get(EKK0081A010CBSMsg1List.SVC_CD) )
						){
							continue;
							
						// 機器オプションがVA機能の場合、電話以外は対象外
						}else if(
							"G02".equals( kk2811_b010_map.get(EKK2811B010CBSMsg1List.KKOP_SVC_CD) )
							&& !"02".equals( kk0081_a010_map_tmp.get(EKK0081A010CBSMsg1List.SVC_CD) )
						){
							continue;
						}
						
						// EKK1681B001 異動予約一覧照会
						requestMap = mapper.get().setEKK1681B001SvcDsl( param, fixedText, kk0081_a010_map_tmp);
						resultMap  = scCall.run( requestMap, handle );
						HashMap kk1681_b001_map_svcDsl = mapper.get().getEKK1681B001All( param, fixedText, resultMap );
						mapper.get().scResultCheck( param );
						
						// サービス解約の異動予約がヒットしたらtrue返却
						if(kk1681_b001_map_svcDsl != null && !kk1681_b001_map_svcDsl.isEmpty()){
							return true;
						}
					}
				}
				
			}
		}
		
		// ここまで来たら解約予約なし
		return false;
	}
// ANK-1664-00-00対応 20140105 星野 ADD END

// IT2-2014-0000089対応 20140127 星野 ADD START
	private boolean hasService(
			SessionHandle handle,
			IRequestParameterReadWrite param, 
			String fixedText,
			HashMap<String, Object> kk2811_b010_map,
			String svcKeiKaisenUcwkNo
		)throws Exception
		{
			HashMap<String, Object> requestMap;
			Map<?, ?> resultMap;
			ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
			
			if(!StringUtils.isEmpty(svcKeiKaisenUcwkNo)){
				// EKK0081B007 回線利用中サービス契約一覧照会
				requestMap = mapper.get().setEKK0081B007( param, fixedText, svcKeiKaisenUcwkNo );
				resultMap  = scCall.run( requestMap, handle );
				ArrayList<HashMap<String, Object>> kk0081_b007_map_list = mapper.get().getEKK0081B007( param, fixedText, resultMap );
				mapper.get().scResultCheck( param );
				
					
				if(kk0081_b007_map_list!=null && !kk0081_b007_map_list.isEmpty()){
					for(HashMap<String, Object> kk0081_b007_map : kk0081_b007_map_list){
						// EKK0081A010 サービス契約一意照会
						requestMap = mapper.get().setEKK0081A010_2( param, fixedText, (String)kk0081_b007_map.get(EKK0081B007CBSMsg1List.SVC_KEI_NO));
						resultMap  = scCall.run( requestMap, handle );
						HashMap kk0081_a010_map_tmp = mapper.get().getEKK0081A010( param, fixedText, resultMap );
						mapper.get().scResultCheck( param );
						
						if(kk0081_a010_map_tmp!=null && !kk0081_a010_map_tmp.isEmpty()){
							
							// 機器オプションがルーター機能の場合、ネット以外は対象外
							if( "G01".equals( kk2811_b010_map.get(EKK2811B010CBSMsg1List.KKOP_SVC_CD) ) 
								&& !"01".equals( kk0081_a010_map_tmp.get(EKK0081A010CBSMsg1List.SVC_CD) )
							){
								continue;
								
							// 機器オプションがVA機能の場合、電話以外は対象外
							}else if(
								"G02".equals( kk2811_b010_map.get(EKK2811B010CBSMsg1List.KKOP_SVC_CD) )
								&& !"02".equals( kk0081_a010_map_tmp.get(EKK0081A010CBSMsg1List.SVC_CD) )
							){
								continue;
							}
							
							return true;
						}
					}
					
				}
			}
			
			// ここまで来たらサービス契約なし
			return false;
		}
// IT2-2014-0000089対応 20140127 星野 ADD END

	
// OM-2013-0003470対応 20131102 星野 ADD START
	private boolean isNeedBsptKh(HashMap kk0081_a010_map, HashMap<String, Object> kk0341_a010_map) {
		
		if(kk0081_a010_map==null || kk0341_a010_map==null){
			return false;
		}
		
		String svcCd = (String)kk0081_a010_map.get(EKK0081A010CBSMsg1List.SVC_CD);
		String taknKikiSbtCd = (String)kk0341_a010_map.get(EKK0341A010CBSMsg1List.TAKNKIKI_SBT_CD);
		
		// 対象サービスがテレビサービス かつ 対象機器がV-ONUの場合、BSパススルー可否の設定が必要
		if( JKKStrConst.CD00130_03.equals(svcCd) 
			&& "E0".equals(taknKikiSbtCd)
		){
			return true;
		}else{
			return false;
		}
	}
// OM-2013-0003470対応 20131102 星野 ADD END

// KT1-2013-0000694対応 20130708 星野 ADD START
	/**
	 * 住所変更中判定を行います。
	 */
	private boolean isNowAdchg(IRequestParameterReadWrite param, SessionHandle handle, String fixedText, HashMap kk0081_a010_map) throws Exception {
		
		String svcKeiNo = (String)kk0081_a010_map.get( EKK0081A010CBSMsg1List.SVC_KEI_NO );
		if(StringUtils.isEmpty(svcKeiNo)){
			return false;
		}
		
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		HashMap<String, Object> requestMap = null;
		Map<?, ?> resultMap = null;

		// EKK0241B001 サービス契約回線内訳一覧照会
		requestMap = mapper.get().setEKK0241B001( param, fixedText, "1");
		resultMap  = scCall.run( requestMap, handle );
		ArrayList kk0241_b001_map_list = mapper.get().getEKK0241B001( param, fixedText, resultMap );
		mapper.get().scResultCheck( param );
		
		if ( (kk0241_b001_map_list != null) && (kk0241_b001_map_list.size() > 0) ) {
			for ( int i = 0; i < kk0241_b001_map_list.size(); i ++ ) {
				HashMap kk0241_b001_map = (HashMap)( kk0241_b001_map_list.get(i) );
				
				String kaisenUwNo = (String)kk0241_b001_map.get(EKK0241B001CBSMsg1List.SVC_KEI_KAISEN_UCWK_NO);
				
				if( StringUtils.isEmpty(kaisenUwNo) ){
					continue;
				}
				
				// EKK2091B001 住所変更一覧照会
				requestMap = mapper.get().setEKK2091B001_Kaisen( param, fixedText, kaisenUwNo);
				resultMap  = scCall.run( requestMap, handle );
				ArrayList<HashMap> kk2091_b001_map_list = mapper.get().getEKK2091B001_Kaisen( param, fixedText, resultMap );
				mapper.get().scResultCheck( param );
				
				if ( (kk2091_b001_map_list != null) && (kk2091_b001_map_list.size() > 0) ) {
					for ( HashMap kk2091_b001_map : kk2091_b001_map_list ) {
						
						// 住所変更ステータスが「登録済」の場合
						if("001".equals(kk2091_b001_map.get(EKK2091B001CBSMsg1List.ADCHG_STAT))){
							// 住所変更中と判断してtrue返却
							return true;
						}
					}
				}
				
			}
		}
		
		// ここまできたら住所変更中ではないと判断してfalse返却
		return false;
	}
// KT1-2013-0000694対応 20130708 星野 ADD END

	/**
	 * 実施パターン01 (回線使う＋新規).
	 * <br>
	 * @param   handle     セッションマネージャなどを持ったハンドル情報
	 * @param   param      モデルグループ、コントロールマップを含むリクエストパラメータ
	 * @param   fixedText  ユーザ任意文字列
	 * @param   inMapping  照会系S-IFの呼出結果を格納したマップ情報
	 * @throws  Exception  例外が発生した場合
	 * @return  リクエストパラメータ(param)に戻り値を追加して返却する
	 */
	@SuppressWarnings( "unchecked" )
	private IRequestParameterReadWrite executePattern01( SessionHandle handle, IRequestParameterReadWrite param, String fixedText, HashMap inMapping ) throws Exception {

		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		HashMap<String, Object> requestMap = null;
		Map<?, ?> resultMap = null;

		/** サービスIFの呼出し - 工事案件受付 */
		String kojiUkType = mapper.get().getKojiUkType( inMapping );
		if ( JKKKojiAnkenMapperCC.KOJI_UK_PTN_NT.equals( kojiUkType ) ) {
			// EKU0021D010 工事案件<eo光ネット>受付
			HashMap ku0021_d010_map = ptnMapper.get().mapPattern01_EKU0021D010( param, fixedText, inMapping );
			requestMap = mapper.get().setEKU0021D010( param, fixedText, ku0021_d010_map );
			resultMap  = scCall.run( requestMap, handle );
			mapper.get().getEKU0021D010( param, fixedText, resultMap );
			mapper.get().scResultCheck( param );
		} else if ( JKKKojiAnkenMapperCC.KOJI_UK_PTN_TV.equals( kojiUkType ) ) {
			// EKU0031D010 工事案件<eo光テレビ>受付
			HashMap ku0031_d010_map = ptnMapper.get().mapPattern01_EKU0031D010( param, fixedText, inMapping );
			requestMap = mapper.get().setEKU0031D010( param, fixedText, ku0031_d010_map );
			resultMap  = scCall.run( requestMap, handle );
			mapper.get().getEKU0031D010( param, fixedText, resultMap );
			mapper.get().scResultCheck( param );
		} else if ( JKKKojiAnkenMapperCC.KOJI_UK_PTN_TV_KI.equals( kojiUkType ) ) {
			// EKU0041D010 工事案件<eo光テレビ回線>受付
			HashMap ku0041_d010_map = ptnMapper.get().mapPattern01_EKU0041D010( param, inMapping );
			requestMap = mapper.get().setEKU0041D010( param, fixedText, ku0041_d010_map );
			resultMap  = scCall.run( requestMap, handle );
			mapper.get().getEKU0041D010( param, fixedText, resultMap );
			mapper.get().scResultCheck( param );
		} else if ( JKKKojiAnkenMapperCC.KOJI_UK_PTN_NT_MT.equals( kojiUkType ) ) {
			// EKU0061D010 工事案件<eo光ネットマンション>受付
			HashMap ku0061_d010_map = ptnMapper.get().mapPattern01_EKU0061D010( param, fixedText, inMapping );
			requestMap = mapper.get().setEKU0061D010( param, fixedText, ku0061_d010_map );
			resultMap  = scCall.run( requestMap, handle );
			mapper.get().getEKU0061D010( param, fixedText, resultMap );
			mapper.get().scResultCheck( param );
		}

		return param;
	}

	/**
	 * 実施パターン02 (回線使う＋引越し).
	 * <br>
	 * @param   handle     セッションマネージャなどを持ったハンドル情報
	 * @param   param      モデルグループ、コントロールマップを含むリクエストパラメータ
	 * @param   fixedText  ユーザ任意文字列
	 * @param   inMapping  照会系S-IFの呼出結果を格納したマップ情報
	 * @throws  Exception  例外が発生した場合
	 * @return  リクエストパラメータ(param)に戻り値を追加して返却する
	 */
	@SuppressWarnings( "unchecked" )
	private IRequestParameterReadWrite executePattern02( SessionHandle handle, IRequestParameterReadWrite param, String fixedText, HashMap inMapping ) throws Exception {

		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		HashMap<String, Object> requestMap = null;
		Map<?, ?> resultMap = null;

		/** サービスIFの呼出し - 工事案件受付 */
		String kojiUkType = mapper.get().getKojiUkType( inMapping );
		if ( JKKKojiAnkenMapperCC.KOJI_UK_PTN_NT.equals( kojiUkType ) ) {
			// EKU0021D010 工事案件<eo光ネット>受付
			HashMap ku0021_d010_map = ptnMapper.get().mapPattern02_EKU0021D010( param, fixedText, inMapping );
			requestMap = mapper.get().setEKU0021D010( param, fixedText, ku0021_d010_map );
			resultMap  = scCall.run( requestMap, handle );
			mapper.get().getEKU0021D010( param, fixedText, resultMap );
			mapper.get().scResultCheck( param );
		} else if ( JKKKojiAnkenMapperCC.KOJI_UK_PTN_TV.equals( kojiUkType ) ) {
			// EKU0031D010 工事案件<eo光テレビ>受付
			HashMap ku0031_d010_map = ptnMapper.get().mapPattern02_EKU0031D010( param, fixedText, inMapping );
			requestMap = mapper.get().setEKU0031D010( param, fixedText, ku0031_d010_map );
			resultMap  = scCall.run( requestMap, handle );
			mapper.get().getEKU0031D010( param, fixedText, resultMap );
			mapper.get().scResultCheck( param );
		} else if ( JKKKojiAnkenMapperCC.KOJI_UK_PTN_TV_KI.equals( kojiUkType ) ) {
			// EKU0041D010 工事案件<eo光テレビ回線>受付
			HashMap ku0041_d010_map = ptnMapper.get().mapPattern02_EKU0041D010( param, inMapping );
			requestMap = mapper.get().setEKU0041D010( param, fixedText, ku0041_d010_map );
			resultMap  = scCall.run( requestMap, handle );
			mapper.get().getEKU0041D010( param, fixedText, resultMap );
			mapper.get().scResultCheck( param );
		} else if ( JKKKojiAnkenMapperCC.KOJI_UK_PTN_NT_MT.equals( kojiUkType ) ) {
			// EKU0061D010 工事案件<eo光ネットマンション>受付
			HashMap ku0061_d010_map = ptnMapper.get().mapPattern02_EKU0061D010( param, fixedText, inMapping );
			requestMap = mapper.get().setEKU0061D010( param, fixedText, ku0061_d010_map );
			resultMap  = scCall.run( requestMap, handle );
			mapper.get().getEKU0061D010( param, fixedText, resultMap );
			mapper.get().scResultCheck( param );
		}

		return param;
	}

	/**
	 * 実施パターン03 (回線使う＋回復).
	 * <br>
	 * @param   handle     セッションマネージャなどを持ったハンドル情報
	 * @param   param      モデルグループ、コントロールマップを含むリクエストパラメータ
	 * @param   fixedText  ユーザ任意文字列
	 * @param   inMapping  照会系S-IFの呼出結果を格納したマップ情報
	 * @throws  Exception  例外が発生した場合
	 * @return  リクエストパラメータ(param)に戻り値を追加して返却する
	 */
	@SuppressWarnings( "unchecked" )
	private IRequestParameterReadWrite executePattern03( SessionHandle handle, IRequestParameterReadWrite param, String fixedText, HashMap inMapping ) throws Exception {

		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		HashMap<String, Object> requestMap = null;
		Map<?, ?> resultMap = null;

		/** サービスIFの呼出し - 工事案件回復 */
		String kojiUkType = mapper.get().getKojiUkType( inMapping );
		if ( ( JKKKojiAnkenMapperCC.KOJI_UK_PTN_NT.equals( kojiUkType ) ) || ( JKKKojiAnkenMapperCC.KOJI_UK_PTN_NT_MT.equals( kojiUkType ) ) ) {
			// EKU0081C010 工事案件回復(eo光ネット,eo光ネットMT)
			HashMap ku0081_c010_map = ptnMapper.get().mapPattern03_EKU0081C010( param, inMapping );
			requestMap = mapper.get().setEKU0081C010( param, fixedText, ku0081_c010_map );
			resultMap  = scCall.run( requestMap, handle );
			mapper.get().getEKU0081C010( param, fixedText, resultMap );
			mapper.get().scResultCheck( param );
		} else if ( ( JKKKojiAnkenMapperCC.KOJI_UK_PTN_TV.equals( kojiUkType ) ) || ( JKKKojiAnkenMapperCC.KOJI_UK_PTN_TV_KI.equals( kojiUkType ) ) ) {
			// EKU0081C020 工事案件回復(eo光テレビ,eo光テレビ回線)
			HashMap ku0081_c020_map = ptnMapper.get().mapPattern03_EKU0081C020( param, inMapping );
			requestMap = mapper.get().setEKU0081C020( param, fixedText, ku0081_c020_map );
			resultMap  = scCall.run( requestMap, handle );
			mapper.get().getEKU0081C020( param, fixedText, resultMap );
			mapper.get().scResultCheck( param );
		}

		return param;
	}

	/**
	 * 実施パターン04 (回線使わなくなる＋解約(回線残さない)).
	 * <br>
	 * @param   handle     セッションマネージャなどを持ったハンドル情報
	 * @param   param      モデルグループ、コントロールマップを含むリクエストパラメータ
	 * @param   fixedText  ユーザ任意文字列
	 * @param   inMapping  照会系S-IFの呼出結果を格納したマップ情報
	 * @throws  Exception  例外が発生した場合
	 * @return  リクエストパラメータ(param)に戻り値を追加して返却する
	 */
	@SuppressWarnings( "unchecked" )
	private IRequestParameterReadWrite executePattern04( SessionHandle handle, IRequestParameterReadWrite param, String fixedText, HashMap inMapping ) throws Exception {

		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		HashMap<String, Object> requestMap = null;
		Map<?, ?> resultMap = null;

		/** サービスIFの呼出し - 工事案件解約 */
		String kojiUkType = mapper.get().getKojiUkType( inMapping );
		if ( JKKKojiAnkenMapperCC.KOJI_UK_PTN_NT.equals( kojiUkType ) ) {
			// EKU0021C020 工事案件<eo光ネット>解約
			HashMap ku0021_c020_map = ptnMapper.get().mapPattern04_EKU0021C020( param, inMapping );
			requestMap = mapper.get().setEKU0021C020( param, fixedText, ku0021_c020_map );
			resultMap  = scCall.run( requestMap, handle );
			mapper.get().getEKU0021C020( param, fixedText, resultMap );
			mapper.get().scResultCheck( param );
		} else if ( JKKKojiAnkenMapperCC.KOJI_UK_PTN_TV.equals( kojiUkType ) ) {
			// EKU0031C020 工事案件<eo光テレビ>解約
			HashMap ku0031_c020_map = ptnMapper.get().mapPattern04_EKU0031C020( param, inMapping );
			requestMap = mapper.get().setEKU0031C020( param, fixedText, ku0031_c020_map );
			resultMap  = scCall.run( requestMap, handle );
			mapper.get().getEKU0031C020( param, fixedText, resultMap );
			mapper.get().scResultCheck( param );
		} else if ( JKKKojiAnkenMapperCC.KOJI_UK_PTN_TV_KI.equals( kojiUkType ) ) {
			// EKU0041C020 工事案件<eo光テレビ回線>解約
			HashMap ku0041_c020_map = ptnMapper.get().mapPattern04_EKU0041C020( param, inMapping );
			requestMap = mapper.get().setEKU0041C020( param, fixedText, ku0041_c020_map );
			resultMap  = scCall.run( requestMap, handle );
			mapper.get().getEKU0041C020( param, fixedText, resultMap );
			mapper.get().scResultCheck( param );
		} else if ( JKKKojiAnkenMapperCC.KOJI_UK_PTN_NT_MT.equals( kojiUkType ) ) {
			// EKU0061C020 工事案件<eo光ネットマンション>解約
			// ▼▼▼ IT2-2012-0001101 2012-07-05 新城 ▼▼▼
			updSvcKeiByEigyoDate(param, handle, fixedText, inMapping);
			// ▲▲▲ IT2-2012-0001101 2012-07-05 新城 ▲▲▲
			HashMap ku0061_c020_map = ptnMapper.get().mapPattern04_EKU0061C020( param, inMapping );
			requestMap = mapper.get().setEKU0061C020( param, fixedText, ku0061_c020_map );
			resultMap  = scCall.run( requestMap, handle );
			mapper.get().getEKU0061C020( param, fixedText, resultMap );
			mapper.get().scResultCheck( param );
		}

		return param;
	}

	/**
	 * 実施パターン05 (回線使わなくなる＋解約(回線残す)).
	 * <br>
	 * @param   handle     セッションマネージャなどを持ったハンドル情報
	 * @param   param      モデルグループ、コントロールマップを含むリクエストパラメータ
	 * @param   fixedText  ユーザ任意文字列
	 * @param   inMapping  照会系S-IFの呼出結果を格納したマップ情報
	 * @throws  Exception  例外が発生した場合
	 * @return  リクエストパラメータ(param)に戻り値を追加して返却する
	 */
	@SuppressWarnings( "unchecked" )
	private IRequestParameterReadWrite executePattern05( SessionHandle handle, IRequestParameterReadWrite param, String fixedText, HashMap inMapping ) throws Exception {

		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		HashMap<String, Object> requestMap = null;
		Map<?, ?> resultMap = null;

		/** サービスIFの呼出し - 工事案件解約 */
		String kojiUkType = mapper.get().getKojiUkType( inMapping );
		if ( JKKKojiAnkenMapperCC.KOJI_UK_PTN_NT.equals( kojiUkType ) ) {
			// EKU0021C020 工事案件<eo光ネット>解約
			HashMap ku0021_c020_map = ptnMapper.get().mapPattern05_EKU0021C020( param, inMapping );
			requestMap = mapper.get().setEKU0021C020( param, fixedText, ku0021_c020_map );
			resultMap  = scCall.run( requestMap, handle );
			mapper.get().getEKU0021C020( param, fixedText, resultMap );
			mapper.get().scResultCheck( param );
		} else if ( JKKKojiAnkenMapperCC.KOJI_UK_PTN_TV.equals( kojiUkType ) ) {
			// EKU0031C020 工事案件<eo光テレビ>解約
			HashMap ku0031_c020_map = ptnMapper.get().mapPattern05_EKU0031C020( param, inMapping );
			requestMap = mapper.get().setEKU0031C020( param, fixedText, ku0031_c020_map );
			resultMap  = scCall.run( requestMap, handle );
			mapper.get().getEKU0031C020( param, fixedText, resultMap );
			mapper.get().scResultCheck( param );
		} else if ( JKKKojiAnkenMapperCC.KOJI_UK_PTN_TV_KI.equals( kojiUkType ) ) {
			// EKU0041C020 工事案件<eo光テレビ回線>解約
			HashMap ku0041_c020_map = ptnMapper.get().mapPattern05_EKU0041C020( param, inMapping );
			requestMap = mapper.get().setEKU0041C020( param, fixedText, ku0041_c020_map );
			resultMap  = scCall.run( requestMap, handle );
			mapper.get().getEKU0041C020( param, fixedText, resultMap );
			mapper.get().scResultCheck( param );
		} else if ( JKKKojiAnkenMapperCC.KOJI_UK_PTN_NT_MT.equals( kojiUkType ) ) {
			// EKU0061C020 工事案件<eo光ネットマンション>解約
			// ▼▼▼ IT2-2012-0001101 2012-07-05 新城 ▼▼▼
			updSvcKeiByEigyoDate(param, handle, fixedText, inMapping);
			// ▲▲▲ IT2-2012-0001101 2012-07-05 新城 ▲▲▲
			HashMap ku0061_c020_map = ptnMapper.get().mapPattern05_EKU0061C020( param, inMapping );
			requestMap = mapper.get().setEKU0061C020( param, fixedText, ku0061_c020_map );
			resultMap  = scCall.run( requestMap, handle );
			mapper.get().getEKU0061C020( param, fixedText, resultMap );
			mapper.get().scResultCheck( param );
		}

		return param;
	}

	/**
	 * 実施パターン06 (回線使わなくなる＋引越し).
	 * <br>
	 * @param   handle     セッションマネージャなどを持ったハンドル情報
	 * @param   param      モデルグループ、コントロールマップを含むリクエストパラメータ
	 * @param   fixedText  ユーザ任意文字列
	 * @param   inMapping  照会系S-IFの呼出結果を格納したマップ情報
	 * @throws  Exception  例外が発生した場合
	 * @return  リクエストパラメータ(param)に戻り値を追加して返却する
	 */
	@SuppressWarnings( "unchecked" )
	private IRequestParameterReadWrite executePattern06( SessionHandle handle, IRequestParameterReadWrite param, String fixedText, HashMap inMapping ) throws Exception {

		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		HashMap<String, Object> requestMap = null;
		Map<?, ?> resultMap = null;

		/** サービスIFの呼出し - 工事案件解約 */
		String kojiUkType = mapper.get().getKojiUkType( inMapping );
		if ( JKKKojiAnkenMapperCC.KOJI_UK_PTN_NT.equals( kojiUkType ) ) {
			// EKU0021C020 工事案件<eo光ネット>解約
			HashMap ku0021_c020_map = ptnMapper.get().mapPattern06_EKU0021C020( param, inMapping );
			requestMap = mapper.get().setEKU0021C020( param, fixedText, ku0021_c020_map );
			resultMap  = scCall.run( requestMap, handle );
			mapper.get().getEKU0021C020( param, fixedText, resultMap );
			mapper.get().scResultCheck( param );
		} else if ( JKKKojiAnkenMapperCC.KOJI_UK_PTN_TV.equals( kojiUkType ) ) {
			// EKU0031C020 工事案件<eo光テレビ>解約
			HashMap ku0031_c020_map = ptnMapper.get().mapPattern06_EKU0031C020( param, inMapping );
			requestMap = mapper.get().setEKU0031C020( param, fixedText, ku0031_c020_map );
			resultMap  = scCall.run( requestMap, handle );
			mapper.get().getEKU0031C020( param, fixedText, resultMap );
			mapper.get().scResultCheck( param );
		} else if ( JKKKojiAnkenMapperCC.KOJI_UK_PTN_TV_KI.equals( kojiUkType ) ) {
			// EKU0041C020 工事案件<eo光テレビ回線>解約
			HashMap ku0041_c020_map = ptnMapper.get().mapPattern06_EKU0041C020( param, inMapping );
			requestMap = mapper.get().setEKU0041C020( param, fixedText, ku0041_c020_map );
			resultMap  = scCall.run( requestMap, handle );
			mapper.get().getEKU0041C020( param, fixedText, resultMap );
			mapper.get().scResultCheck( param );
		} else if ( JKKKojiAnkenMapperCC.KOJI_UK_PTN_NT_MT.equals( kojiUkType ) ) {
			// EKU0061C020 工事案件<eo光ネットマンション>解約
			HashMap ku0061_c020_map = ptnMapper.get().mapPattern06_EKU0061C020( param, inMapping );
			requestMap = mapper.get().setEKU0061C020( param, fixedText, ku0061_c020_map );
			resultMap  = scCall.run( requestMap, handle );
			mapper.get().getEKU0061C020( param, fixedText, resultMap );
			mapper.get().scResultCheck( param );
		}

		return param;
	}

	/**
	 * 実施パターン07 (回線使わなくなる＋取消).
	 * <br>
	 * @param   handle     セッションマネージャなどを持ったハンドル情報
	 * @param   param      モデルグループ、コントロールマップを含むリクエストパラメータ
	 * @param   fixedText  ユーザ任意文字列
	 * @param   inMapping  照会系S-IFの呼出結果を格納したマップ情報
	 * @throws  Exception  例外が発生した場合
	 * @return  リクエストパラメータ(param)に戻り値を追加して返却する
	 */
	@SuppressWarnings( "unchecked" )
	private IRequestParameterReadWrite executePattern07( SessionHandle handle, IRequestParameterReadWrite param, String fixedText, HashMap inMapping ) throws Exception {

		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		HashMap<String, Object> requestMap = null;
		Map<?, ?> resultMap = null;

		/** サービスIFの呼出し - 工事案件取消 */
		// EKU0091C010 工事案件取消
		HashMap ku0091_c010_map = ptnMapper.get().mapPattern07_EKU0091C010( param, inMapping );
		requestMap = mapper.get().setEKU0091C010( param, fixedText, ku0091_c010_map );
		resultMap  = scCall.run( requestMap, handle );
		mapper.get().getEKU0091C010( param, fixedText, resultMap );
		mapper.get().scResultCheck( param );

		return param;
	}

	/**
	 * 実施パターン08 (回線変える＋線移動).
	 * <br>
	 * @param   handle     セッションマネージャなどを持ったハンドル情報
	 * @param   param      モデルグループ、コントロールマップを含むリクエストパラメータ
	 * @param   fixedText  ユーザ任意文字列
	 * @param   inMapping  照会系S-IFの呼出結果を格納したマップ情報
	 * @throws  Exception  例外が発生した場合
	 * @return  リクエストパラメータ(param)に戻り値を追加して返却する
	 */
	@SuppressWarnings( "unchecked" )
	private IRequestParameterReadWrite executePattern08( SessionHandle handle, IRequestParameterReadWrite param, String fixedText, HashMap inMapping ) throws Exception {

		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		HashMap<String, Object> requestMap = null;
		Map<?, ?> resultMap = null;

		/** サービスIFの呼出し - 工事案件解約 */
		String kojiUkType = mapper.get().getKojiUkType( inMapping );
		if ( JKKKojiAnkenMapperCC.KOJI_UK_PTN_NT.equals( kojiUkType ) ) {
			// EKU0021D010 工事案件<eo光ネット>受付
			HashMap ku0021_d010_map = ptnMapper.get().mapPattern08_EKU0021D010( param, fixedText, inMapping );
			requestMap = mapper.get().setEKU0021D010( param, fixedText, ku0021_d010_map );
			resultMap  = scCall.run( requestMap, handle );
			mapper.get().getEKU0021D010( param, fixedText, resultMap );
			mapper.get().scResultCheck( param );
		} else if ( JKKKojiAnkenMapperCC.KOJI_UK_PTN_TV.equals( kojiUkType ) ) {
			// EKU0031D010 工事案件<eo光テレビ>受付
			HashMap ku0031_d010_map = ptnMapper.get().mapPattern08_EKU0031D010( param, fixedText, inMapping );
			requestMap = mapper.get().setEKU0031D010( param, fixedText, ku0031_d010_map );
			resultMap  = scCall.run( requestMap, handle );
			mapper.get().getEKU0031D010( param, fixedText, resultMap );
			mapper.get().scResultCheck( param );
		} else if ( JKKKojiAnkenMapperCC.KOJI_UK_PTN_TV_KI.equals( kojiUkType ) ) {
			// EKU0041D010 工事案件<eo光テレビ回線>受付
			HashMap ku0041_d010_map = ptnMapper.get().mapPattern08_EKU0041D010( param, inMapping );
			requestMap = mapper.get().setEKU0041D010( param, fixedText, ku0041_d010_map );
			resultMap  = scCall.run( requestMap, handle );
			mapper.get().getEKU0041D010( param, fixedText, resultMap );
			mapper.get().scResultCheck( param );
		}

		return param;
	}

	/**
	 * 実施パターン09 (回線変える＋速度変える).
	 * <br>
	 * @param   handle     セッションマネージャなどを持ったハンドル情報
	 * @param   param      モデルグループ、コントロールマップを含むリクエストパラメータ
	 * @param   fixedText  ユーザ任意文字列
	 * @param   inMapping  照会系S-IFの呼出結果を格納したマップ情報
	 * @throws  Exception  例外が発生した場合
	 * @return  リクエストパラメータ(param)に戻り値を追加して返却する
	 */
	@SuppressWarnings( "unchecked" )
	private IRequestParameterReadWrite executePattern09( SessionHandle handle, IRequestParameterReadWrite param, String fixedText, HashMap inMapping ) throws Exception {

		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		HashMap<String, Object> requestMap = null;
		Map<?, ?> resultMap = null;

		/** サービスIFの呼出し - 工事案件受付 */
		String kojiUkType = mapper.get().getKojiUkType( inMapping );
		if ( JKKKojiAnkenMapperCC.KOJI_UK_PTN_NT.equals( kojiUkType ) ) {
			// EKU0021D010 工事案件<eo光ネット>受付
			HashMap ku0021_d010_map = ptnMapper.get().mapPattern09_EKU0021D010( param, fixedText, inMapping );
			requestMap = mapper.get().setEKU0021D010( param, fixedText, ku0021_d010_map );
			resultMap  = scCall.run( requestMap, handle );
			mapper.get().getEKU0021D010( param, fixedText, resultMap );
			mapper.get().scResultCheck( param );
		} else if ( JKKKojiAnkenMapperCC.KOJI_UK_PTN_NT_MT.equals( kojiUkType ) ) {
			// EKU0061D010 工事案件<eo光ネットマンション>受付
			HashMap ku0061_d010_map = ptnMapper.get().mapPattern09_EKU0061D010( param, fixedText, inMapping );
			requestMap = mapper.get().setEKU0061D010( param, fixedText, ku0061_d010_map );
			resultMap  = scCall.run( requestMap, handle );
			mapper.get().getEKU0061D010( param, fixedText, resultMap );
			mapper.get().scResultCheck( param );
		}

		return param;
	}

	/**
	 * 実施パターン10 (回線変える＋TVコース変更).
	 * <br>
	 * @param   handle     セッションマネージャなどを持ったハンドル情報
	 * @param   param      モデルグループ、コントロールマップを含むリクエストパラメータ
	 * @param   fixedText  ユーザ任意文字列
	 * @param   inMapping  照会系S-IFの呼出結果を格納したマップ情報
	 * @throws  Exception  例外が発生した場合
	 * @return  リクエストパラメータ(param)に戻り値を追加して返却する
	 */
	@SuppressWarnings( "unchecked" )
	private IRequestParameterReadWrite executePattern10( SessionHandle handle, IRequestParameterReadWrite param, String fixedText, HashMap inMapping ) throws Exception {

		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		HashMap<String, Object> requestMap = null;
		Map<?, ?> resultMap = null;

		/** サービスIFの呼出し - 工事案件受付 */
		String kojiUkType = mapper.get().getKojiUkType( inMapping );
		if ( JKKKojiAnkenMapperCC.KOJI_UK_PTN_TV.equals( kojiUkType ) ) {
			// EKU0031D010 工事案件<eo光テレビ>受付
			HashMap ku0031_d010_map = ptnMapper.get().mapPattern10_EKU0031D010( param, fixedText, inMapping );
			requestMap = mapper.get().setEKU0031D010( param, fixedText, ku0031_d010_map );
			resultMap  = scCall.run( requestMap, handle );
			mapper.get().getEKU0031D010( param, fixedText, resultMap );
			mapper.get().scResultCheck( param );
		} else if ( JKKKojiAnkenMapperCC.KOJI_UK_PTN_TV_KI.equals( kojiUkType ) ) {
			// EKU0041D010 工事案件<eo光テレビ回線>受付
			HashMap ku0041_d010_map = ptnMapper.get().mapPattern10_EKU0041D010( param, inMapping );
			requestMap = mapper.get().setEKU0041D010( param, fixedText, ku0041_d010_map );
			resultMap  = scCall.run( requestMap, handle );
			mapper.get().getEKU0041D010( param, fixedText, resultMap );
			mapper.get().scResultCheck( param );
		}

		return param;
	}

	/**
	 * 実施パターン11 (機器変える＋光電話つける).
	 * <br>
	 * @param   handle     セッションマネージャなどを持ったハンドル情報
	 * @param   param      モデルグループ、コントロールマップを含むリクエストパラメータ
	 * @param   fixedText  ユーザ任意文字列
	 * @param   inMapping  照会系S-IFの呼出結果を格納したマップ情報
	 * @throws  Exception  例外が発生した場合
	 * @return  リクエストパラメータ(param)に戻り値を追加して返却する
	 */
	@SuppressWarnings( "unchecked" )
	private IRequestParameterReadWrite executePattern11( SessionHandle handle, IRequestParameterReadWrite param, String fixedText, HashMap inMapping ) throws Exception {

		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		HashMap<String, Object> requestMap = null;
		Map<?, ?> resultMap = null;

		/** サービスIFの呼出し - 工事案件受付 */
		String kojiUkType = mapper.get().getKojiUkType( inMapping );
		if ( JKKKojiAnkenMapperCC.KOJI_UK_PTN_NT.equals( kojiUkType ) ) {
			// EKU0021D010 工事案件<eo光ネット>受付
			HashMap ku0021_d010_map = ptnMapper.get().mapPattern11_EKU0021D010( param, fixedText, inMapping );
			requestMap = mapper.get().setEKU0021D010( param, fixedText, ku0021_d010_map );
			resultMap  = scCall.run( requestMap, handle );
			mapper.get().getEKU0021D010( param, fixedText, resultMap );
			mapper.get().scResultCheck( param );
		}

		return param;
	}

	/**
	 * 実施パターン12 (機器変える＋TV機器変える).
	 * <br>
	 * @param   handle     セッションマネージャなどを持ったハンドル情報
	 * @param   param      モデルグループ、コントロールマップを含むリクエストパラメータ
	 * @param   fixedText  ユーザ任意文字列
	 * @param   inMapping  照会系S-IFの呼出結果を格納したマップ情報
	 * @throws  Exception  例外が発生した場合
	 * @return  リクエストパラメータ(param)に戻り値を追加して返却する
	 */
	@SuppressWarnings( "unchecked" )
	private IRequestParameterReadWrite executePattern12( SessionHandle handle, IRequestParameterReadWrite param, String fixedText, HashMap inMapping ) throws Exception {

		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		HashMap<String, Object> requestMap = null;
		Map<?, ?> resultMap = null;

		/** サービスIFの呼出し - 工事案件受付 */
		String kojiUkType = mapper.get().getKojiUkType( inMapping );
		if ( JKKKojiAnkenMapperCC.KOJI_UK_PTN_TV.equals( kojiUkType ) ) {
			// EKU0031D010 工事案件<eo光テレビ>受付
			HashMap ku0031_d010_map = ptnMapper.get().mapPattern12_EKU0031D010( param, fixedText, inMapping );
			requestMap = mapper.get().setEKU0031D010( param, fixedText, ku0031_d010_map );
			resultMap  = scCall.run( requestMap, handle );
			mapper.get().getEKU0031D010( param, fixedText, resultMap );
			mapper.get().scResultCheck( param );
		} else if ( JKKKojiAnkenMapperCC.KOJI_UK_PTN_TV_KI.equals( kojiUkType ) ) {
			// EKU0041D010 工事案件<eo光テレビ回線>受付
			HashMap ku0041_d010_map = ptnMapper.get().mapPattern12_EKU0041D010( param, inMapping );
			requestMap = mapper.get().setEKU0041D010( param, fixedText, ku0041_d010_map );
			resultMap  = scCall.run( requestMap, handle );
			mapper.get().getEKU0041D010( param, fixedText, resultMap );
			mapper.get().scResultCheck( param );
		}

		return param;
	}

	/**
	 * 実施パターン13 (機器変える＋緊急出荷).
	 * <br>
	 * @param   handle     セッションマネージャなどを持ったハンドル情報
	 * @param   param      モデルグループ、コントロールマップを含むリクエストパラメータ
	 * @param   fixedText  ユーザ任意文字列
	 * @param   inMapping  照会系S-IFの呼出結果を格納したマップ情報
	 * @throws  Exception  例外が発生した場合
	 * @return  リクエストパラメータ(param)に戻り値を追加して返却する
	 */
	@SuppressWarnings( "unchecked" )
	private IRequestParameterReadWrite executePattern13( SessionHandle handle, IRequestParameterReadWrite param, String fixedText, HashMap inMapping ) throws Exception {

		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		HashMap<String, Object> requestMap = null;
		Map<?, ?> resultMap = null;

		/** サービスIFの呼出し - 工事案件諸変更 */
		String kojiUkType = mapper.get().getKojiUkType( inMapping );
		if ( JKKKojiAnkenMapperCC.KOJI_UK_PTN_NT.equals( kojiUkType ) ) {
			// EKU0021C010 工事案件<eo光ネット>諸変更
			HashMap ku0021_c010_map = ptnMapper.get().mapPattern13_EKU0021C010( param, inMapping );
			requestMap = mapper.get().setEKU0021C010( param, fixedText, ku0021_c010_map );
			resultMap  = scCall.run( requestMap, handle );
			mapper.get().getEKU0021C010( param, fixedText, resultMap );
			mapper.get().scResultCheck( param );
		} else if ( JKKKojiAnkenMapperCC.KOJI_UK_PTN_TV.equals( kojiUkType ) ) {
			// EKU0031C010 工事案件<eo光テレビ>諸変更
			HashMap ku0031_c010_map = ptnMapper.get().mapPattern13_EKU0031C010( param, inMapping );
			requestMap = mapper.get().setEKU0031C010( param, fixedText, ku0031_c010_map );
			resultMap  = scCall.run( requestMap, handle );
			mapper.get().getEKU0031C010( param, fixedText, resultMap );
			mapper.get().scResultCheck( param );
		} else if ( JKKKojiAnkenMapperCC.KOJI_UK_PTN_TV_KI.equals( kojiUkType ) ) {
			// EKU0041C010 工事案件<eo光テレビ回線>諸変更
			HashMap ku0041_c010_map = ptnMapper.get().mapPattern13_EKU0041C010( param, inMapping );
			requestMap = mapper.get().setEKU0041C010( param, fixedText, ku0041_c010_map );
			resultMap  = scCall.run( requestMap, handle );
			mapper.get().getEKU0041C010( param, fixedText, resultMap );
			mapper.get().scResultCheck( param );
		} else if ( JKKKojiAnkenMapperCC.KOJI_UK_PTN_NT_MT.equals( kojiUkType ) ) {
			// EKU0061C010 工事案件<eo光ネットマンション>諸変更
			HashMap ku0061_c010_map = ptnMapper.get().mapPattern13_EKU0061C010( param, inMapping );
			requestMap = mapper.get().setEKU0061C010( param, fixedText, ku0061_c010_map );
			resultMap  = scCall.run( requestMap, handle );
			mapper.get().getEKU0061C010( param, fixedText, resultMap );
			mapper.get().scResultCheck( param );
		}

		return param;
	}

	/**
	 * 実施パターン14 (内容変更＋お客様情報変える).
	 * <br>
	 * @param   handle     セッションマネージャなどを持ったハンドル情報
	 * @param   param      モデルグループ、コントロールマップを含むリクエストパラメータ
	 * @param   fixedText  ユーザ任意文字列
	 * @param   inMapping  照会系S-IFの呼出結果を格納したマップ情報
	 * @throws  Exception  例外が発生した場合
	 * @return  リクエストパラメータ(param)に戻り値を追加して返却する
	 */
	@SuppressWarnings( "unchecked" )
	private IRequestParameterReadWrite executePattern14( SessionHandle handle, IRequestParameterReadWrite param, String fixedText, HashMap inMapping ) throws Exception {

		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		HashMap<String, Object> requestMap = null;
		Map<?, ?> resultMap = null;

		/** サービスIFの呼出し - 工事案件諸変更 */
		String kojiUkType = mapper.get().getKojiUkType( inMapping );
		if ( JKKKojiAnkenMapperCC.KOJI_UK_PTN_NT.equals( kojiUkType ) ) {
			// EKU0021C010 工事案件<eo光ネット>諸変更
			HashMap ku0021_c010_map = ptnMapper.get().mapPattern14_EKU0021C010( param, inMapping );
			requestMap = mapper.get().setEKU0021C010( param, fixedText, ku0021_c010_map );
			resultMap  = scCall.run( requestMap, handle );
			mapper.get().getEKU0021C010( param, fixedText, resultMap );
			mapper.get().scResultCheck( param );
		} else if ( JKKKojiAnkenMapperCC.KOJI_UK_PTN_TV.equals( kojiUkType ) ) {
			// EKU0031C010 工事案件<eo光テレビ>諸変更
			HashMap ku0031_c010_map = ptnMapper.get().mapPattern14_EKU0031C010( param, inMapping );
			requestMap = mapper.get().setEKU0031C010( param, fixedText, ku0031_c010_map );
			resultMap  = scCall.run( requestMap, handle );
			mapper.get().getEKU0031C010( param, fixedText, resultMap );
			mapper.get().scResultCheck( param );
		} else if ( JKKKojiAnkenMapperCC.KOJI_UK_PTN_TV_KI.equals( kojiUkType ) ) {
			// EKU0041C010 工事案件<eo光テレビ回線>諸変更
			HashMap ku0041_c010_map = ptnMapper.get().mapPattern14_EKU0041C010( param, inMapping );
			requestMap = mapper.get().setEKU0041C010( param, fixedText, ku0041_c010_map );
			resultMap  = scCall.run( requestMap, handle );
			mapper.get().getEKU0041C010( param, fixedText, resultMap );
			mapper.get().scResultCheck( param );
		} else if ( JKKKojiAnkenMapperCC.KOJI_UK_PTN_NT_MT.equals( kojiUkType ) ) {
			// EKU0061C010 工事案件<eo光ネットマンション>諸変更
			HashMap ku0061_c010_map = ptnMapper.get().mapPattern14_EKU0061C010( param, inMapping );
			requestMap = mapper.get().setEKU0061C010( param, fixedText, ku0061_c010_map );
			resultMap  = scCall.run( requestMap, handle );
			mapper.get().getEKU0061C010( param, fixedText, resultMap );
			mapper.get().scResultCheck( param );
		}

		return param;
	}

	/**
	 * 実施パターン15 (内容変更＋請求先情報変える).
	 * <br>
	 * @param   handle     セッションマネージャなどを持ったハンドル情報
	 * @param   param      モデルグループ、コントロールマップを含むリクエストパラメータ
	 * @param   fixedText  ユーザ任意文字列
	 * @param   inMapping  照会系S-IFの呼出結果を格納したマップ情報
	 * @throws  Exception  例外が発生した場合
	 * @return  リクエストパラメータ(param)に戻り値を追加して返却する
	 */
	@SuppressWarnings( "unchecked" )
	private IRequestParameterReadWrite executePattern15( SessionHandle handle, IRequestParameterReadWrite param, String fixedText, HashMap inMapping ) throws Exception {

		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		HashMap<String, Object> requestMap = null;
		Map<?, ?> resultMap = null;

		/** サービスIFの呼出し - 工事案件諸変更 */
		String kojiUkType = mapper.get().getKojiUkType( inMapping );
		if ( JKKKojiAnkenMapperCC.KOJI_UK_PTN_NT.equals( kojiUkType ) ) {
			// EKU0021C010 工事案件<eo光ネット>諸変更
			HashMap ku0021_c010_map = ptnMapper.get().mapPattern15_EKU0021C010( param, inMapping );
			requestMap = mapper.get().setEKU0021C010( param, fixedText, ku0021_c010_map );
			resultMap  = scCall.run( requestMap, handle );
			mapper.get().getEKU0021C010( param, fixedText, resultMap );
			mapper.get().scResultCheck( param );
		} else if ( JKKKojiAnkenMapperCC.KOJI_UK_PTN_TV.equals( kojiUkType ) ) {
			// EKU0031C010 工事案件<eo光テレビ>諸変更
			HashMap ku0031_c010_map = ptnMapper.get().mapPattern15_EKU0031C010( param, inMapping );
			requestMap = mapper.get().setEKU0031C010( param, fixedText, ku0031_c010_map );
			resultMap  = scCall.run( requestMap, handle );
			mapper.get().getEKU0031C010( param, fixedText, resultMap );
			mapper.get().scResultCheck( param );
		} else if ( JKKKojiAnkenMapperCC.KOJI_UK_PTN_TV_KI.equals( kojiUkType ) ) {
			// EKU0041C010 工事案件<eo光テレビ回線>諸変更
			HashMap ku0041_c010_map = ptnMapper.get().mapPattern15_EKU0041C010( param, inMapping );
			requestMap = mapper.get().setEKU0041C010( param, fixedText, ku0041_c010_map );
			resultMap  = scCall.run( requestMap, handle );
			mapper.get().getEKU0041C010( param, fixedText, resultMap );
			mapper.get().scResultCheck( param );
		} else if ( JKKKojiAnkenMapperCC.KOJI_UK_PTN_NT_MT.equals( kojiUkType ) ) {
			// EKU0061C010 工事案件<eo光ネットマンション>諸変更
			HashMap ku0061_c010_map = ptnMapper.get().mapPattern15_EKU0061C010( param, inMapping );
			requestMap = mapper.get().setEKU0061C010( param, fixedText, ku0061_c010_map );
			resultMap  = scCall.run( requestMap, handle );
			mapper.get().getEKU0061C010( param, fixedText, resultMap );
			mapper.get().scResultCheck( param );
		}

		return param;
	}

	/**
	 * 実施パターン16 (内容変更＋サービス内容変える).
	 * <br>
	 * @param   handle     セッションマネージャなどを持ったハンドル情報
	 * @param   param      モデルグループ、コントロールマップを含むリクエストパラメータ
	 * @param   fixedText  ユーザ任意文字列
	 * @param   inMapping  照会系S-IFの呼出結果を格納したマップ情報
	 * @throws  Exception  例外が発生した場合
	 * @return  リクエストパラメータ(param)に戻り値を追加して返却する
	 */
	@SuppressWarnings( "unchecked" )
	private IRequestParameterReadWrite executePattern16( SessionHandle handle, IRequestParameterReadWrite param, String fixedText, HashMap inMapping ) throws Exception {

		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		HashMap<String, Object> requestMap = null;
		Map<?, ?> resultMap = null;

		/** サービスIFの呼出し - 工事案件諸変更 */
		String kojiUkType = mapper.get().getKojiUkType( inMapping );
		if ( JKKKojiAnkenMapperCC.KOJI_UK_PTN_NT.equals( kojiUkType ) ) {
			// EKU0021C010 工事案件<eo光ネット>諸変更
			HashMap ku0021_c010_map = ptnMapper.get().mapPattern16_EKU0021C010( param, inMapping );
			requestMap = mapper.get().setEKU0021C010( param, fixedText, ku0021_c010_map );
			resultMap  = scCall.run( requestMap, handle );
			mapper.get().getEKU0021C010( param, fixedText, resultMap );
			mapper.get().scResultCheck( param );
		} else if ( JKKKojiAnkenMapperCC.KOJI_UK_PTN_TV.equals( kojiUkType ) ) {
			// EKU0031C010 工事案件<eo光テレビ>諸変更
			HashMap ku0031_c010_map = ptnMapper.get().mapPattern16_EKU0031C010( param, inMapping );
			requestMap = mapper.get().setEKU0031C010( param, fixedText, ku0031_c010_map );
			resultMap  = scCall.run( requestMap, handle );
			mapper.get().getEKU0031C010( param, fixedText, resultMap );
			mapper.get().scResultCheck( param );
		} else if ( JKKKojiAnkenMapperCC.KOJI_UK_PTN_TV_KI.equals( kojiUkType ) ) {
			// EKU0041C010 工事案件<eo光テレビ回線>諸変更
			HashMap ku0041_c010_map = ptnMapper.get().mapPattern16_EKU0041C010( param, inMapping );
			requestMap = mapper.get().setEKU0041C010( param, fixedText, ku0041_c010_map );
			resultMap  = scCall.run( requestMap, handle );
			mapper.get().getEKU0041C010( param, fixedText, resultMap );
			mapper.get().scResultCheck( param );
		} else if ( JKKKojiAnkenMapperCC.KOJI_UK_PTN_NT_MT.equals( kojiUkType ) ) {
			// EKU0061C010 工事案件<eo光ネットマンション>諸変更
			HashMap ku0061_c010_map = ptnMapper.get().mapPattern16_EKU0061C010( param, inMapping );
			requestMap = mapper.get().setEKU0061C010( param, fixedText, ku0061_c010_map );
			resultMap  = scCall.run( requestMap, handle );
			mapper.get().getEKU0061C010( param, fixedText, resultMap );
			mapper.get().scResultCheck( param );
		}

		return param;
	}

	/**
	 * 実施パターン17 (内容変更＋回線情報変える).
	 * <br>
	 * @param   handle     セッションマネージャなどを持ったハンドル情報
	 * @param   param      モデルグループ、コントロールマップを含むリクエストパラメータ
	 * @param   fixedText  ユーザ任意文字列
	 * @param   inMapping  照会系S-IFの呼出結果を格納したマップ情報
	 * @throws  Exception  例外が発生した場合
	 * @return  リクエストパラメータ(param)に戻り値を追加して返却する
	 */
	@SuppressWarnings( "unchecked" )
	private IRequestParameterReadWrite executePattern17( SessionHandle handle, IRequestParameterReadWrite param, String fixedText, HashMap inMapping ) throws Exception {

		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		HashMap<String, Object> requestMap = null;
		Map<?, ?> resultMap = null;

		/** サービスIFの呼出し - 工事案件諸変更 */
		String kojiUkType = mapper.get().getKojiUkType( inMapping );
		if ( JKKKojiAnkenMapperCC.KOJI_UK_PTN_NT.equals( kojiUkType ) ) {
			// EKU0021C010 工事案件<eo光ネット>諸変更
			HashMap ku0021_c010_map = ptnMapper.get().mapPattern17_EKU0021C010( param, inMapping );
			requestMap = mapper.get().setEKU0021C010( param, fixedText, ku0021_c010_map );
			resultMap  = scCall.run( requestMap, handle );
			mapper.get().getEKU0021C010( param, fixedText, resultMap );
			mapper.get().scResultCheck( param );
		} else if ( JKKKojiAnkenMapperCC.KOJI_UK_PTN_TV.equals( kojiUkType ) ) {
			// EKU0031C010 工事案件<eo光テレビ>諸変更
			HashMap ku0031_c010_map = ptnMapper.get().mapPattern17_EKU0031C010( param, inMapping );
			requestMap = mapper.get().setEKU0031C010( param, fixedText, ku0031_c010_map );
			resultMap  = scCall.run( requestMap, handle );
			mapper.get().getEKU0031C010( param, fixedText, resultMap );
			mapper.get().scResultCheck( param );
		} else if ( JKKKojiAnkenMapperCC.KOJI_UK_PTN_TV_KI.equals( kojiUkType ) ) {
			// EKU0041C010 工事案件<eo光テレビ回線>諸変更
			HashMap ku0041_c010_map = ptnMapper.get().mapPattern17_EKU0041C010( param, inMapping );
			requestMap = mapper.get().setEKU0041C010( param, fixedText, ku0041_c010_map );
			resultMap  = scCall.run( requestMap, handle );
			mapper.get().getEKU0041C010( param, fixedText, resultMap );
			mapper.get().scResultCheck( param );
		} else if ( JKKKojiAnkenMapperCC.KOJI_UK_PTN_NT_MT.equals( kojiUkType ) ) {
			// EKU0061C010 工事案件<eo光ネットマンション>諸変更
			HashMap ku0061_c010_map = ptnMapper.get().mapPattern17_EKU0061C010( param, inMapping );
			requestMap = mapper.get().setEKU0061C010( param, fixedText, ku0061_c010_map );
			resultMap  = scCall.run( requestMap, handle );
			mapper.get().getEKU0061C010( param, fixedText, resultMap );
			mapper.get().scResultCheck( param );
		}

		return param;
	}

	/**
	 * 実施パターン18 (内容変更＋工事情報変える).
	 * <br>
	 * @param   handle     セッションマネージャなどを持ったハンドル情報
	 * @param   param      モデルグループ、コントロールマップを含むリクエストパラメータ
	 * @param   fixedText  ユーザ任意文字列
	 * @param   inMapping  照会系S-IFの呼出結果を格納したマップ情報
	 * @throws  Exception  例外が発生した場合
	 * @return  リクエストパラメータ(param)に戻り値を追加して返却する
	 */
	@SuppressWarnings( "unchecked" )
	private IRequestParameterReadWrite executePattern18( SessionHandle handle, IRequestParameterReadWrite param, String fixedText, HashMap inMapping ) throws Exception {

		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		HashMap<String, Object> requestMap = null;
		Map<?, ?> resultMap = null;

		/** サービスIFの呼出し - 工事案件諸変更 */
		String kojiUkType = mapper.get().getKojiUkType( inMapping );
		if ( JKKKojiAnkenMapperCC.KOJI_UK_PTN_NT.equals( kojiUkType ) ) {
			// EKU0021C010 工事案件<eo光ネット>諸変更
			HashMap ku0021_c010_map = ptnMapper.get().mapPattern18_EKU0021C010( param, inMapping );
			requestMap = mapper.get().setEKU0021C010( param, fixedText, ku0021_c010_map );
			resultMap  = scCall.run( requestMap, handle );
			mapper.get().getEKU0021C010( param, fixedText, resultMap );
			mapper.get().scResultCheck( param );
		} else if ( JKKKojiAnkenMapperCC.KOJI_UK_PTN_TV.equals( kojiUkType ) ) {
			// EKU0031C010 工事案件<eo光テレビ>諸変更
			HashMap ku0031_c010_map = ptnMapper.get().mapPattern18_EKU0031C010( param, inMapping );
			requestMap = mapper.get().setEKU0031C010( param, fixedText, ku0031_c010_map );
			resultMap  = scCall.run( requestMap, handle );
			mapper.get().getEKU0031C010( param, fixedText, resultMap );
			mapper.get().scResultCheck( param );
		} else if ( JKKKojiAnkenMapperCC.KOJI_UK_PTN_TV_KI.equals( kojiUkType ) ) {
			// EKU0041C010 工事案件<eo光テレビ回線>諸変更
			HashMap ku0041_c010_map = ptnMapper.get().mapPattern18_EKU0041C010( param, inMapping );
			requestMap = mapper.get().setEKU0041C010( param, fixedText, ku0041_c010_map );
			resultMap  = scCall.run( requestMap, handle );
			mapper.get().getEKU0041C010( param, fixedText, resultMap );
			mapper.get().scResultCheck( param );
		} else if ( JKKKojiAnkenMapperCC.KOJI_UK_PTN_NT_MT.equals( kojiUkType ) ) {
			// EKU0061C010 工事案件<eo光ネットマンション>諸変更
			HashMap ku0061_c010_map = ptnMapper.get().mapPattern18_EKU0061C010( param, inMapping );
			requestMap = mapper.get().setEKU0061C010( param, fixedText, ku0061_c010_map );
			resultMap  = scCall.run( requestMap, handle );
			mapper.get().getEKU0061C010( param, fixedText, resultMap );
			mapper.get().scResultCheck( param );
		}

		return param;
	}

	/**
	 * 実施パターン19 (内容変更＋機器情報変える).
	 * <br>
	 * @param   handle     セッションマネージャなどを持ったハンドル情報
	 * @param   param      モデルグループ、コントロールマップを含むリクエストパラメータ
	 * @param   fixedText  ユーザ任意文字列
	 * @param   inMapping  照会系S-IFの呼出結果を格納したマップ情報
	 * @throws  Exception  例外が発生した場合
	 * @return  リクエストパラメータ(param)に戻り値を追加して返却する
	 */
	@SuppressWarnings( "unchecked" )
	private IRequestParameterReadWrite executePattern19( SessionHandle handle, IRequestParameterReadWrite param, String fixedText, HashMap inMapping ) throws Exception {

		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		HashMap<String, Object> requestMap = null;
		Map<?, ?> resultMap = null;

		/** サービスIFの呼出し - 工事案件諸変更 */
		String kojiUkType = mapper.get().getKojiUkType( inMapping );
		if ( JKKKojiAnkenMapperCC.KOJI_UK_PTN_NT.equals( kojiUkType ) ) {
			// EKU0021C010 工事案件<eo光ネット>諸変更
			HashMap ku0021_c010_map = ptnMapper.get().mapPattern19_EKU0021C010( param, inMapping );
			requestMap = mapper.get().setEKU0021C010( param, fixedText, ku0021_c010_map );
			resultMap  = scCall.run( requestMap, handle );
			mapper.get().getEKU0021C010( param, fixedText, resultMap );
			mapper.get().scResultCheck( param );
		} else if ( JKKKojiAnkenMapperCC.KOJI_UK_PTN_TV.equals( kojiUkType ) ) {
			// EKU0031C010 工事案件<eo光テレビ>諸変更
			HashMap ku0031_c010_map = ptnMapper.get().mapPattern19_EKU0031C010( param, inMapping );
			requestMap = mapper.get().setEKU0031C010( param, fixedText, ku0031_c010_map );
			resultMap  = scCall.run( requestMap, handle );
			mapper.get().getEKU0031C010( param, fixedText, resultMap );
			mapper.get().scResultCheck( param );
		} else if ( JKKKojiAnkenMapperCC.KOJI_UK_PTN_TV_KI.equals( kojiUkType ) ) {
			// EKU0041C010 工事案件<eo光テレビ回線>諸変更
			HashMap ku0041_c010_map = ptnMapper.get().mapPattern19_EKU0041C010( param, inMapping );
			requestMap = mapper.get().setEKU0041C010( param, fixedText, ku0041_c010_map );
			resultMap  = scCall.run( requestMap, handle );
			mapper.get().getEKU0041C010( param, fixedText, resultMap );
			mapper.get().scResultCheck( param );
		} else if ( JKKKojiAnkenMapperCC.KOJI_UK_PTN_NT_MT.equals( kojiUkType ) ) {
			// EKU0061C010 工事案件<eo光ネットマンション>諸変更
			HashMap ku0061_c010_map = ptnMapper.get().mapPattern19_EKU0061C010( param, inMapping );
			requestMap = mapper.get().setEKU0061C010( param, fixedText, ku0061_c010_map );
			resultMap  = scCall.run( requestMap, handle );
			mapper.get().getEKU0061C010( param, fixedText, resultMap );
			mapper.get().scResultCheck( param );
		}

		return param;
	}

	/**
	 * 実施パターン20 (内容変更＋光電話変える).
	 * <br>
	 * @param   handle     セッションマネージャなどを持ったハンドル情報
	 * @param   param      モデルグループ、コントロールマップを含むリクエストパラメータ
	 * @param   fixedText  ユーザ任意文字列
	 * @param   inMapping  照会系S-IFの呼出結果を格納したマップ情報
	 * @throws  Exception  例外が発生した場合
	 * @return  リクエストパラメータ(param)に戻り値を追加して返却する
	 */
	@SuppressWarnings( "unchecked" )
	private IRequestParameterReadWrite executePattern20( SessionHandle handle, IRequestParameterReadWrite param, String fixedText, HashMap inMapping ) throws Exception {

		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		HashMap<String, Object> requestMap = null;
		Map<?, ?> resultMap = null;

		/** サービスIFの呼出し - 工事案件諸変更 */
		String kojiUkType = mapper.get().getKojiUkType( inMapping );
		if ( JKKKojiAnkenMapperCC.KOJI_UK_PTN_NT.equals( kojiUkType ) ) {
			// EKU0021C010 工事案件<eo光ネット>諸変更
			HashMap ku0021_c010_map = ptnMapper.get().mapPattern20_EKU0021C010( param, inMapping );
			requestMap = mapper.get().setEKU0021C010( param, fixedText, ku0021_c010_map );
			resultMap  = scCall.run( requestMap, handle );
			mapper.get().getEKU0021C010( param, fixedText, resultMap );
			mapper.get().scResultCheck( param );
		} else if ( JKKKojiAnkenMapperCC.KOJI_UK_PTN_NT_MT.equals( kojiUkType ) ) {
			// EKU0061C010 工事案件<eo光ネットマンション>諸変更
			HashMap ku0061_c010_map = ptnMapper.get().mapPattern20_EKU0061C010( param, inMapping );
			requestMap = mapper.get().setEKU0061C010( param, fixedText, ku0061_c010_map );
			resultMap  = scCall.run( requestMap, handle );
			mapper.get().getEKU0061C010( param, fixedText, resultMap );
			mapper.get().scResultCheck( param );
		}

		return param;
	}

	/**
	 * 実施パターン21 (内容変更＋住所変更確定).
	 * <br>
	 * @param   handle     セッションマネージャなどを持ったハンドル情報
	 * @param   param      モデルグループ、コントロールマップを含むリクエストパラメータ
	 * @param   fixedText  ユーザ任意文字列
	 * @param   inMapping  照会系S-IFの呼出結果を格納したマップ情報
	 * @throws  Exception  例外が発生した場合
	 * @return  リクエストパラメータ(param)に戻り値を追加して返却する
	 */
	@SuppressWarnings( "unchecked" )
	private IRequestParameterReadWrite executePattern21( SessionHandle handle, IRequestParameterReadWrite param, String fixedText, HashMap inMapping ) throws Exception {

		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		HashMap<String, Object> requestMap = null;
		Map<?, ?> resultMap = null;

		/** サービスIFの呼出し - 工事案件諸変更 */
		String kojiUkType = mapper.get().getKojiUkType( inMapping );
		if ( JKKKojiAnkenMapperCC.KOJI_UK_PTN_NT.equals( kojiUkType ) ) {
			// EKU0021C010 工事案件<eo光ネット>諸変更
			HashMap ku0021_c010_map = ptnMapper.get().mapPattern21_EKU0021C010( param, inMapping );
			requestMap = mapper.get().setEKU0021C010( param, fixedText, ku0021_c010_map );
			resultMap  = scCall.run( requestMap, handle );
			mapper.get().getEKU0021C010( param, fixedText, resultMap );
			mapper.get().scResultCheck( param );
		} else if ( JKKKojiAnkenMapperCC.KOJI_UK_PTN_TV.equals( kojiUkType ) ) {
			// EKU0031C010 工事案件<eo光テレビ>諸変更
			HashMap ku0031_c010_map = ptnMapper.get().mapPattern21_EKU0031C010( param, inMapping );
			requestMap = mapper.get().setEKU0031C010( param, fixedText, ku0031_c010_map );
			resultMap  = scCall.run( requestMap, handle );
			mapper.get().getEKU0031C010( param, fixedText, resultMap );
			mapper.get().scResultCheck( param );
		} else if ( JKKKojiAnkenMapperCC.KOJI_UK_PTN_TV_KI.equals( kojiUkType ) ) {
			// EKU0041C010 工事案件<eo光テレビ回線>諸変更
			HashMap ku0041_c010_map = ptnMapper.get().mapPattern21_EKU0041C010( param, inMapping );
			requestMap = mapper.get().setEKU0041C010( param, fixedText, ku0041_c010_map );
			resultMap  = scCall.run( requestMap, handle );
			mapper.get().getEKU0041C010( param, fixedText, resultMap );
			mapper.get().scResultCheck( param );
		} else if ( JKKKojiAnkenMapperCC.KOJI_UK_PTN_NT_MT.equals( kojiUkType ) ) {
			// EKU0061C010 工事案件<eo光ネットマンション>諸変更
			HashMap ku0061_c010_map = ptnMapper.get().mapPattern21_EKU0061C010( param, inMapping );
			requestMap = mapper.get().setEKU0061C010( param, fixedText, ku0061_c010_map );
			resultMap  = scCall.run( requestMap, handle );
			mapper.get().getEKU0061C010( param, fixedText, resultMap );
			mapper.get().scResultCheck( param );
		}

		return param;
	}
	// 20140714 ANK-1918-00-00 ADD START
	/**
	 * 実施パターン22 (回線変える＋GG乗換(個別)).
	 * <br>
	 * @param   handle     セッションマネージャなどを持ったハンドル情報
	 * @param   param      モデルグループ、コントロールマップを含むリクエストパラメータ
	 * @param   fixedText  ユーザ任意文字列
	 * @param   inMapping  照会系S-IFの呼出結果を格納したマップ情報
	 * @throws  Exception  例外が発生した場合
	 * @return  リクエストパラメータ(param)に戻り値を追加して返却する
	 */
	@SuppressWarnings( "unchecked" )
	private IRequestParameterReadWrite executePattern22( 
			SessionHandle handle
			,IRequestParameterReadWrite param
			,String fixedText
			,HashMap inMapping 
	) throws Exception 
	{
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		HashMap<String, Object> requestMap = null;
		Map<?, ?> resultMap = null;

		/** サービスIFの呼出し - 工事案件受付 */
		String kojiUkType = mapper.get().getKojiUkType( inMapping );
		boolean isUS = ptnMapper.get().isUs(inMapping);
		
		if ( JKKKojiAnkenMapperCC.KOJI_UK_PTN_NT_MT.equals( kojiUkType ) 
				&& isUS
			) 
		{
			// EKU0061D010 工事案件<eo光ネットマンション>受付
			HashMap ku0061_d010_map = ptnMapper.get().mapPattern22_EKU0061D010( param, fixedText, inMapping );
			requestMap = mapper.get().setEKU0061D010( param, fixedText, ku0061_d010_map );
			resultMap  = scCall.run( requestMap, handle );
			mapper.get().getEKU0061D010( param, fixedText, resultMap );
			mapper.get().scResultCheck( param );
		}

		return param;
	}
	/**
	 * 実施パターン23 (内容変更＋スマートバリュー契約変える).
	 * <br>
	 * @param   handle     セッションマネージャなどを持ったハンドル情報
	 * @param   param      モデルグループ、コントロールマップを含むリクエストパラメータ
	 * @param   fixedText  ユーザ任意文字列
	 * @param   inMapping  照会系S-IFの呼出結果を格納したマップ情報
	 * @throws  Exception  例外が発生した場合
	 * @return  リクエストパラメータ(param)に戻り値を追加して返却する
	 */
	@SuppressWarnings( "unchecked" )
	private IRequestParameterReadWrite executePattern23( 
			SessionHandle handle
			,IRequestParameterReadWrite param
			,String fixedText
			,HashMap inMapping
	) throws Exception 
	{
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		HashMap<String, Object> requestMap = null;
		Map<?, ?> resultMap = null;

		/** サービスIFの呼出し - 工事案件諸変更 */
		String kojiUkType = mapper.get().getKojiUkType( inMapping );
		boolean isUS = ptnMapper.get().isUs(inMapping);

		if (JKKKojiAnkenMapperCC.KOJI_UK_PTN_NT_MT.equals(kojiUkType)
				&& isUS
			) 
		{
			// EKU0061C010 工事案件<eo光ネットマンション>諸変更
			HashMap ku0061_c010_map = ptnMapper.get().mapPattern23_EKU0061C010( param, inMapping );
			requestMap = mapper.get().setEKU0061C010( param, fixedText, ku0061_c010_map );
			resultMap  = scCall.run( requestMap, handle );
			mapper.get().getEKU0061C010( param, fixedText, resultMap );
			mapper.get().scResultCheck( param );
		}

		return param;
	}
	
	/**
	 * 実施パターン24 (内容変更＋スマートリンクオプション契約変える).
	 * <br>
	 * @param   handle     セッションマネージャなどを持ったハンドル情報
	 * @param   param      モデルグループ、コントロールマップを含むリクエストパラメータ
	 * @param   fixedText  ユーザ任意文字列
	 * @param   inMapping  照会系S-IFの呼出結果を格納したマップ情報
	 * @throws  Exception  例外が発生した場合
	 * @return  リクエストパラメータ(param)に戻り値を追加して返却する
	 */
	@SuppressWarnings( "unchecked" )
	private IRequestParameterReadWrite executePattern24( 
			SessionHandle handle
			,IRequestParameterReadWrite param
			,String fixedText
			,HashMap inMapping
	) throws Exception 
	{
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		HashMap<String, Object> requestMap = null;
		Map<?, ?> resultMap = null;

		/** サービスIFの呼出し - 工事案件諸変更 */
		String kojiUkType = mapper.get().getKojiUkType( inMapping );
		boolean isUS = ptnMapper.get().isUs(inMapping);

		if (JKKKojiAnkenMapperCC.KOJI_UK_PTN_NT_MT.equals(kojiUkType)
				&& isUS
			) 
		{
			// EKU0061C010 工事案件<eo光ネットマンション>諸変更
			HashMap ku0061_c010_map = ptnMapper.get().mapPattern24_EKU0061C010( param, inMapping );
			requestMap = mapper.get().setEKU0061C010( param, fixedText, ku0061_c010_map );
			resultMap  = scCall.run( requestMap, handle );
			mapper.get().getEKU0061C010( param, fixedText, resultMap );
			mapper.get().scResultCheck( param );
		}

		return param;
	}
	// 20140714 ANK-1918-00-00 ADD END

	//▼▼▼ 障害 No.120 2012-06-30 新城 ▼▼▼
	/**
	 * 転居先判定.
	 * <br>
	 * @param   param      モデルグループ、コントロールマップを含むリクエストパラメータ
	 * @throws  Exception  例外が発生した場合
	 * @return  転居先判定結果 (転居先:true 転居元:false)
	 */
	private boolean TenkyoHantei(IRequestParameterReadWrite param) throws RequestParameterException{

		HashMap<String, Object> kksv_9837_map = (HashMap<String, Object>)( param.getData( KKSV0098_KKSV0098OP.KKSV009837CC ) );
		String tenkyo = (String)kksv_9837_map.get("tenkyo");

		if("saki".equals(tenkyo)){
			return true;
		}else{
			return false;
		}
	}

	/**
	 * マップ入替処理.
	 * <br>
	 * @param		param      	モデルグループ、コントロールマップを含むリクエストパラメータ
	 * @inMapping  inMapping   詰替先マップ
	 * @outMapping outMapping  詰替元マップ
	 * @throws  	Exception    例外が発生した場合
	 * @return  	転居先判定結果 (転居先:true 転居元:false)
	 */
	@SuppressWarnings("unchecked")
	private void ConvertHashMap( IRequestParameterReadWrite param, HashMap inMapping,HashMap outMapping ) throws RequestParameterException {
		
		HashMap<String, Object> kksv_9837_map = (HashMap<String, Object>)( param.getData( KKSV0098_KKSV0098OP.KKSV009837CC ) );
// OM-2014-0000597対応 20140211 星野 ADD START
		if(kksv_9837_map==null){
			kksv_9837_map = new HashMap<String, Object>();
			param.setData(KKSV0098_KKSV0098OP.KKSV009837CC, kksv_9837_map);
		}
// OM-2014-0000597対応 20140211 星野 ADD END
		String new_Prc_Grp_Cd = (String)outMapping.get(EKK1681B001CBSMsg1List.NEW_PRC_GRP_CD);

		if(!StringUtils.isEmpty(new_Prc_Grp_Cd)){
			// 新料金グループコースコード
			inMapping.put(EKK0081A010CBSMsg1List.PRC_GRP_CD,outMapping.get(EKK1681B001CBSMsg1List.NEW_PRC_GRP_CD));
			// 新料金コースコード
			inMapping.put(EKK0081A010CBSMsg1List.PCRS_CD,outMapping.get(EKK1681B001CBSMsg1List.NEW_PCRS_CD));
			// 新料金プランコード
			inMapping.put(EKK0081A010CBSMsg1List.PPLAN_CD,outMapping.get(EKK1681B001CBSMsg1List.NEW_PPLAN_CD));
			//提供方式契約番号
			kksv_9837_map.put(JKKKojiAnkenConstCC.TK_HOSHIKI_KEI_NO,outMapping.get(EKK1681B001CBSMsg1List.NEW_TK_HOSHIKI_KEI_NO));
		}

	}
	//▲▲▲ 障害 No.120 2012-06-30 新城 ▲▲▲
	
	/**
	 * マップ入替処理.
	 * <br>
	 * @param		param      	モデルグループ、コントロールマップを含むリクエストパラメータ
	 * @inMapping  inMapping   詰替先マップ
	 * @outMapping outMapping  詰替元マップ
	 * @throws  	Exception    例外が発生した場合
	 * @return  	転居先判定結果 (転居先:true 転居元:false)
	 */
	@SuppressWarnings("unchecked")
	private void ConvertHashMap2( IRequestParameterReadWrite param, HashMap inMapping,HashMap outMapping ) throws RequestParameterException {
		
		String new_Prc_Grp_Cd = (String)outMapping.get(EKK1681B001CBSMsg1List.NEW_PRC_GRP_CD);

		if(!StringUtils.isEmpty(new_Prc_Grp_Cd)){
			// 新料金グループコースコード
			inMapping.put(EKK0081A010CBSMsg1List.PRC_GRP_CD,outMapping.get(EKK1681B001CBSMsg1List.NEW_PRC_GRP_CD));
			// 新料金コースコード
			inMapping.put(EKK0081A010CBSMsg1List.PCRS_CD,outMapping.get(EKK1681B001CBSMsg1List.NEW_PCRS_CD));
			// 新料金プランコード
			inMapping.put(EKK0081A010CBSMsg1List.PPLAN_CD,outMapping.get(EKK1681B001CBSMsg1List.NEW_PPLAN_CD));
			//提供方式契約番号
			inMapping.put(EKK0081A010CBSMsg1List.TK_HOSHIKI_KEI_NO,outMapping.get(EKK1681B001CBSMsg1List.NEW_TK_HOSHIKI_KEI_NO));
		}

	}

// OM-2014-0001716対応 20140428 星野 ADD START
	/**
	 * マップ入替処理.
	 * <br>
	 * @param		param      	モデルグループ、コントロールマップを含むリクエストパラメータ
	 * @inMapping  inMapping   詰替先マップ
	 * @outMapping outMapping  詰替元マップ
	 * @throws  	Exception    例外が発生した場合
	 * @return  	転居先判定結果 (転居先:true 転居元:false)
	 */
	@SuppressWarnings("unchecked")
	private void ConvertHashMapDmpsOld( IRequestParameterReadWrite param, HashMap inMapping,HashMap outMapping ) throws RequestParameterException {
		
		String new_Prc_Grp_Cd = (String)outMapping.get(EKK1681B001CBSMsg1List.NEW_PRC_GRP_CD);

		if(!StringUtils.isEmpty(new_Prc_Grp_Cd)){
			// 電波障害案件番号
			inMapping.put(EKK0101A010CBSMsg1List.DMPS_ANKEN_NO,(String)outMapping.get(EKK1681B001CBSMsg1List.OLD_DMPS_ANKEN_NO));
		}

	}
// OM-2014-0001716対応 20140428 星野 ADD END
	// ▼▼▼ IT2-2012-0001101 2012-07-05 新城 ▼▼▼
	/**
	 * 営業日判定.
	 * <br>
	 * @param   param      モデルグループ、コントロールマップを含むリクエストパラメータ
	 * @param   handle     セッションマネージャなどを持ったハンドル情報
	 * @param   fixedText  ユーザ任意文字列
	 * @param   inMapping  照会系S-IFの呼出結果を格納したマップ情報
	 * @throws  Exception  例外が発生した場合
	 */
	@SuppressWarnings("unchecked")
	private void updSvcKeiByEigyoDate(IRequestParameterReadWrite param, SessionHandle handle, String fixedText, HashMap inMapping) throws Exception{

		// EKK0081A010 サービス契約一意照会
		HashMap kk0081_a010_map = (HashMap)inMapping.get(JKKKojiAnkenMapperCC.EKK0081A010_MAP);
		if(kk0081_a010_map == null) {
			return;
		}

		// EKK0881A010 回線使用契約一意照会
		HashMap kk0881_a010_map = (HashMap)inMapping.get(JKKKojiAnkenMapperCC.EKK0881A010_MAP);

		// サービス開始年月日が設定されている場合処理しない
		if(!StringUtils.isEmpty((String)kk0081_a010_map.get(EKK0081A010CBSMsg1List.SVC_STA_YMD))) {
			return;
		}
		
		// サービスがテレビの場合処理しない。
		String svcCd = (String)kk0081_a010_map.get(EKK0081A010CBSMsg1List.SVC_CD);
		if("03".equals(svcCd)){
			return;
		}

		// 事前準備
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		HashMap<String, Object> requestMap = null;
		Map<?, ?> resultMap = null;
		HashMap<String, Object> zm0291_b010 = null;
		
		// S-IF呼出用マップ
		HashMap Eigyobi_map = new HashMap();

		//日付の設定
		Calendar cal = Calendar.getInstance();
		SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");

		String Unyobi = JCCBPCommon.getOpeDate(null);
		int year = Integer.parseInt(Unyobi.substring(0, 4));
		int mon = Integer.parseInt(Unyobi.substring(4, 6));
		int day = Integer.parseInt(Unyobi.substring(6, 8));
		int stdardsvcstanisu_int = 0;
		cal.set(year,mon -1,day);
		
		// マンション基準日（標準サービス開始日数）
		String stdardsvcstanisu_str = (String)kk0881_a010_map.get(EKK0881A010CBSMsg1List.STDARD_SVC_STA_NISU);

		// マンション基準日（標準サービス開始日数）がある場合入替
//		if(stdardsvcstanisu_str != null || stdardsvcstanisu_str != ""){
		if (!StringUtils.isEmpty(stdardsvcstanisu_str)) {
			stdardsvcstanisu_int = Integer.parseInt(stdardsvcstanisu_str);
		}
		// マンション基準日（標準サービス開始日数）の分を加算
		cal.add(Calendar.DATE, stdardsvcstanisu_int);

		// 有効な営業日が取得できるまでループ
		while(true){
			// 一回目
			if(zm0291_b010 == null)
			{
				// 加算しない
				cal.add(Calendar.DATE, 0);
			}
			// 有効な営業日でない
			else if("0".equals((String)zm0291_b010.get(EZM0291B010CBSMsg1List.BUSIDAY_FLG)))
			{
				// 1日加算する
				cal.add(Calendar.DATE, 1);
			}
			// 有効な営業日の場合
			else if("1".equals((String)zm0291_b010.get(EZM0291B010CBSMsg1List.BUSIDAY_FLG)))
			{
				//処理終了
				break;
			}
			
			String eigyobi = sdf.format(cal.getTime());
			String year_Af = eigyobi.substring(0, 4);
			String mon_Af = eigyobi.substring(4, 6);
			String day_Af = eigyobi.substring(6, 8);

			Eigyobi_map.put("KEY_YEAR", year_Af);
			Eigyobi_map.put("KEY_MON", mon_Af);
			Eigyobi_map.put("KEY_DAY", day_Af);
			requestMap = mapper.get().setEZM0291B010( param, Eigyobi_map );
			resultMap  = scCall.run( requestMap, handle );
			zm0291_b010 = mapper.get().getEZM0291B010( param, fixedText, resultMap );
			mapper.get().scResultCheck( param );
		}
		
		// 営業日を求め、サービス契約一意照会結果のサービス開始年月日を差し替え
		kk0081_a010_map.put(EKK0081A010CBSMsg1List.SVC_STA_YMD,zm0291_b010.get(EZM0291B010CBSMsg1List.TRGT_YMD));
	}
	// ▲▲▲ IT2-2012-0001101 2012-07-05 新城 ▲▲▲
	// ▼▼▼ ST2-2012-0001446 2012-07-28 新城 ▼▼▼
	/**
	 * 住変判定処理.
	 * <br>
	 * @param	param      モデルグループ、コントロールマップを含むリクエストパラメータ
	 * @param  fixedText  ユーザ任意文字列
	 * @throws RequestParameterException 例外が発生した場合
	 * @return 判定結果(true:住変、false:住変以外)
	 */
	@SuppressWarnings("unchecked")
	private boolean isJyuhen( IRequestParameterReadWrite param, String fixedText) throws RequestParameterException {

		HashMap paramMap = (HashMap)( param.getData( fixedText ) );
		
		String idoDiv = (String)paramMap.get( JKKKojiAnkenConstCC.IDO_DIV );

		if(!StringUtils.isEmpty(idoDiv)){
			if(CD00576_JYUHEN.equals(idoDiv)){
				return true;
			}
		}
		
		return false;

	}
	// ▲▲▲ ST2-2012-0001446 2012-07-28 新城 ▲▲▲
// OM-2013-0003417対応 20131019 星野 ADD START
	/**
	 * 回復判定処理.
	 * <br>
	 * @param	param      モデルグループ、コントロールマップを含むリクエストパラメータ
	 * @param  fixedText  ユーザ任意文字列
	 * @throws RequestParameterException 例外が発生した場合
	 * @return 判定結果(true:回復、false:回復以外)
	 */
	private boolean isKaihuku( IRequestParameterReadWrite param, String fixedText) throws RequestParameterException {

		HashMap paramMap = (HashMap)( param.getData( fixedText ) );
		
		String idoDiv = (String)paramMap.get( JKKKojiAnkenConstCC.IDO_DIV );

		if(!StringUtils.isEmpty(idoDiv)){
			if(CD00576_KAIHUKU.equals(idoDiv)){
				return true;
			}
		}
		
		return false;

	}
// OM-2013-0003417対応 20131019 星野 ADD END
// LT-2013-0000249対応 20130706 星野 ADD START
	/**
	 * コース変更判定処理.
	 * <br>
	 * @param	param      モデルグループ、コントロールマップを含むリクエストパラメータ
	 * @param  fixedText  ユーザ任意文字列
	 * @throws RequestParameterException 例外が発生した場合
	 * @return 判定結果(true:コース変更、false:コース変更以外)
	 */
	@SuppressWarnings("unchecked")
	private boolean isCourseChg( IRequestParameterReadWrite param, String fixedText) throws RequestParameterException {

		HashMap paramMap = (HashMap)( param.getData( fixedText ) );
		
		String idoDiv = (String)paramMap.get( JKKKojiAnkenConstCC.IDO_DIV );

		if(!StringUtils.isEmpty(idoDiv)){
			if(CD00576_CRS_CHG.equals(idoDiv)){
				return true;
			}
		}
		
		return false;

	}
// LT-2013-0000249対応 20130706 星野 ADD END
// KT1-2013-0000358対応 20130411 星野 ADD START
	/**
	 * 新設またはサービス追加 判定処理.
	 * <br>
	 * @param	param      モデルグループ、コントロールマップを含むリクエストパラメータ
	 * @param  fixedText  ユーザ任意文字列
	 * @throws RequestParameterException 例外が発生した場合
	 * @return 判定結果(true:新設またはサービス追加、false:以外)
	 */
	@SuppressWarnings("unchecked")
	private boolean isNewOrAdd( IRequestParameterReadWrite param, String fixedText) throws RequestParameterException {

		HashMap paramMap = (HashMap)( param.getData( fixedText ) );
		
		String idoDiv = (String)paramMap.get( JKKKojiAnkenConstCC.IDO_DIV );

		if(!StringUtils.isEmpty(idoDiv)){
			if(JKKStrConst.CD00576_00001.equals(idoDiv) || JKKStrConst.CD00576_00002.equals(idoDiv)){
				return true;
			}
		}
		
		return false;

	}
	
	private String getOpSvKeiHktgiFlg(SessionHandle handle, IRequestParameterReadWrite param, String fixedText, String svcKeiNo, String svcKeiUcwkNo) throws Exception {
		
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		HashMap<String, Object> requestMap = null;
		Map<?, ?> resultMap = null;
		
		if(!StringUtils.isEmpty(svcKeiNo)){
	
			// EKK0351B003 オプションサービス契約履歴一覧照会
			requestMap = mapper.get().setEKK0351B003( param, svcKeiNo, svcKeiUcwkNo );
			resultMap  = scCall.run( requestMap, handle );
			ArrayList<HashMap> kk0351_b003_map_list = mapper.get().getEKK0351B003( param, fixedText, resultMap );
			mapper.get().scResultCheck( param );
			
			if(kk0351_b003_map_list != null){
				
				for( HashMap kk0351_b003_map : kk0351_b003_map_list ){
					
					String mskmDtlNo = (String)kk0351_b003_map.get(EKK0351B003CBSMsg1List.MSKM_DTL_NO);
					
					if(!StringUtils.isEmpty(mskmDtlNo)){
						// EKK0021A010 申込明細一意照会（申込明細番号指定）
						requestMap = mapper.get().setEKK0021A010_mskmDtlNo( param, mskmDtlNo );
						resultMap  = scCall.run( requestMap, handle );
						HashMap kk0021_a010_map_mskmDtlNo = mapper.get().getEKK0021A010( param, fixedText, resultMap );
						mapper.get().scResultCheck( param );
	
						if(kk0021_a010_map_mskmDtlNo != null){
							
							String mskmNo = (String)kk0021_a010_map_mskmDtlNo.get(EKK0021A010CBSMsg1List.MSKM_NO);
							if(!StringUtils.isEmpty(mskmNo)){
								// EKK0011A010 申込一意照会
								requestMap = mapper.get().setEKK0011A010_mskmNo( param, mskmNo );
								resultMap  = scCall.run( requestMap, handle );
								HashMap kk0011_a010_map = mapper.get().getEKK0011A010( param, fixedText, resultMap );
								mapper.get().scResultCheck( param );
								
								if(kk0011_a010_map != null){
									if( "00003".equals(kk0011_a010_map.get(EKK0011A010CBSMsg1List.MSKM_SBT_CD)) ){
										return "1";
									}
								}
							}
						}
					}
				}
			}
		}

		return "0";
	}
// KT1-2013-0000358対応 20130411 星野 ADD END
	
// OM-2014-0001645対応 20140424 星野 ADD START
	/**
	 * 契約機器配送対象物品一覧照会S-IF
	 * 
	 * @param param リクエストパラメータ
	 * @param handle セッションハンドル
	 * @param kojiak_no 工事案件番号
	 * @return 照会結果のマップ
	 * @throws Exception 任意の例外
	 */
	private HashMap<String, Object> callEDK0011B090(
			IRequestParameterReadWrite param, SessionHandle handle, String fixedText, String haisoNo, String haisoTaibpnNo, String kktkSvcKeiNo) throws Exception
	{
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		
		// 上り情報をマッピング
		HashMap<String, Object> sIFRequest = mapper.get().editInMsgEDK0011B090(param, haisoNo, haisoTaibpnNo, kktkSvcKeiNo);
		
		// SIFの呼び出し
		Map<?, ?> sIFResult = scCall.run(sIFRequest, handle);

		// エラー情報のマッピング
		mapper.get().editResultRPEDK0011B090(sIFResult, param, fixedText);
		
		// エラーチェック処理
		errChk(sIFResult);

		// SIFの実行結果を設定
		HashMap<String, Object> EDK0011B090OutMap = getWorkCAANMsg(sIFResult);
		return EDK0011B090OutMap;
	}
	
	/**
	 * エラーチェック処理
	 * 
	 * @param msgList サービスインタフェース実行結果
	 * return void
	 * @throws SCCallException 
	 */
	private void errChk(Map<?, ?> msgList) 
	throws SCCallException
	{
		CAANMsg[] templates = (CAANMsg[])msgList.get(JCMConstants.TEMPLATE_LIST_KEY);
		CAANMsg template = templates[0];

		// リターンコード取得
		int returnCode = (Integer)msgList.get(JCMConstants.RET_CD_INT_KEY);
		
		// ステータス
		int templateStatus = template.getInt(JCMConstants.STATUS_INT_KEY);
		
		if ((0 != returnCode) || (0 != templateStatus))
		{
			throw new SCCallException("INVALID_RETURN_MESSAGE", String.valueOf(returnCode), templateStatus);
		}
	}
	
	/**
	 * 業務データの取得処理です。
	 * 
	 * @param rslt SVIFの実行結果データ
	 * @return 業務データ
	 */
	private HashMap<String, Object> getWorkCAANMsg(Map<?, ?> rslt)
	{
		CAANMsg[] templates = (CAANMsg[])rslt.get(JCMConstants.TEMPLATE_LIST_KEY);
		CAANMsg parentTemplate = templates[0];

		return (HashMap<String, Object>)parentTemplate.getMsgData();
	}
// OM-2014-0001645対応 20140424 星野 ADD END

	// ANK-2138-00-00 スマリン端末のトムソンケース同梱 2014/08/02 START
	/**
	 * 宅内機器情報一覧を更新して返します。<br>
	 * <br>
	 * 呼び出し元で、以下の前提条件を満たしていることをチェックする必要があります。<br>
	 * 前提条件：@タブレット、クレードルとモバイル（ハイブリッド）は、同一請求契約であること<br>
	 * 　　　　　Aネット契約は、ホーム、メゾン、マンション（光配線）のいずれかであること<br>
	 * <br>
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param モデルグループ、コントロールマップを含むパラメータオブジェクト
	 * @param fixedText ユーザ任意文字列
	 * @param paramMap ユーザデータ情報
	 * @param kk0341_b022_map_list サービス対象機器提供サービス契約一覧照会結果
	 * @return 更新した宅内機器情報一覧
	 * @throws Exception 例外が発生した場合
	 */
	@SuppressWarnings("unchecked")
	private ArrayList updateTaknkikiInfoList(SessionHandle handle, IRequestParameterReadWrite param, String fixedText, HashMap paramMap,
			ArrayList<HashMap<String, Object>> kk0341_b022_map_list)
	throws Exception
	{
		ArrayList<HashMap<String, Object>> new_kk0341_b022_map_list = new ArrayList<HashMap<String,Object>>();

		// タブレット配送区分
		String tabletHaisoKbn = (String)paramMap.get(JKKKojiAnkenConstCC.TABLET_HAISO_KBN);

		// 返却パラメータ.タブレット配送区分（返却）
		String retTabletHaisoKbn = "";

		// 工事会社配送の作成
		if (JKKKojiAnkenConstCC.TABLET_HAISO_KBN_CREATE_KJ_HAISO.equals(tabletHaisoKbn))
		{
			// タブレット、クレードルが工事会社配送対象となるかどうか
			boolean isKjHaisoTgTablet = isKjHaisoTgTablet(handle, param, fixedText, paramMap);
			for (HashMap<String, Object> kk0341_b022_map : kk0341_b022_map_list)
			{
				// タブレット、クレードルの場合
				String kktkSvcCd = (String)kk0341_b022_map.get(EKK0341B022CBSMsg1List.KKTK_SVC_CD);
				if (JKKStrConst.KKTK_SVC_CD_TABLET.equals(kktkSvcCd)
					|| JKKStrConst.KKTK_SVC_CD_TABLET_CRADLE.equals(kktkSvcCd))
				{
					// 工事会社配送対象でない場合
					if (!isKjHaisoTgTablet)
					{
						// 宅内機器情報一覧から削除
						continue;
					}
					// ※タブレット配送区分（返却）は、工事案件受付SIF呼び出し後に設定する
				}
				new_kk0341_b022_map_list.add(kk0341_b022_map);
			}
		}
		// 工事会社配送の取消
		else if (JKKKojiAnkenConstCC.TABLET_HAISO_KBN_CNCL_KJ_HAISO.equals(tabletHaisoKbn))
		{
			for (HashMap<String, Object> kk0341_b022_map : kk0341_b022_map_list)
			{
				// タブレット、クレードルの場合
				String kktkSvcCd = (String)kk0341_b022_map.get(EKK0341B022CBSMsg1List.KKTK_SVC_CD);
				String kktkSvcKeiNo = (String)kk0341_b022_map.get(EKK0341B022CBSMsg1List.KKTK_SVC_KEI_NO);
				if (JKKStrConst.KKTK_SVC_CD_TABLET.equals(kktkSvcCd)
					|| JKKStrConst.KKTK_SVC_CD_TABLET_CRADLE.equals(kktkSvcCd))
				{
					// 機器変更番号を取得
					String kikiChgNo = (String)kk0341_b022_map.get(EKK0341B022CBSMsg1List.KIKI_CHG_NO);

					boolean cnclKjHaiso = false;
					HashMap <String, Object> dk0011_b090_map = getRcntHaiso(handle, param, fixedText, kktkSvcKeiNo, kikiChgNo);
					if (null == dk0011_b090_map || dk0011_b090_map.isEmpty())
					{
						cnclKjHaiso = true;
					}
					else
					{
						// IT2-2014-0000314 2014/09/24 mod start
						// IT2-2014-0000296 2014/09/03 del start
						String kojiakNo = (String)dk0011_b090_map.get(EDK0011B090CBSMsg1List.KOJIAK_NO);
						// IT2-2014-0000296 2014/09/03 del end
						String haisoStat = (String)dk0011_b090_map.get(EDK0011B090CBSMsg1List.HAISO_STAT);
						// IT2-2014-0000296 2014/09/03 del start
						// 工事会社配送の場合
						if (null != kojiakNo && !kojiakNo.isEmpty())
						{
						// IT2-2014-0000296 2014/09/03 del end
							// 配送ステータスが受付済、中止のいずれかの場合
							if (JKKStrConst.HAISO_STAT_UK_ZM.equals(haisoStat) || JKKStrConst.HAISO_STAT_STP.equals(haisoStat))
							{
								cnclKjHaiso = true;
							}
						// IT2-2014-0000296 2014/09/03 del start
						}
						// IT2-2014-0000296 2014/09/03 del end
						// IT2-2014-0000314 2014/09/24 mod start
					}

					// 工事会社配送取消対象の場合
					if (cnclKjHaiso)
					{
						// 返却パラメータ.タブレット配送区分（返却）に工事会社配送の取消を設定
						retTabletHaisoKbn = JKKKojiAnkenConstCC.TABLET_HAISO_KBN_CNCL_KJ_HAISO;
						// 宅内機器情報一覧から削除
						continue;
					}
				}
				new_kk0341_b022_map_list.add(kk0341_b022_map);
			}

			if (retTabletHaisoKbn.isEmpty())
			{
				// 工事受付コードに「何もしない」を設定
				paramMap.put(JKKKojiAnkenConstCC.KOJI_UK_CD , CD00884_NON);
			}
		}
		// 工事会社配送の再作成（直送の取消）
		else if (JKKKojiAnkenConstCC.TABLET_HAISO_KBN_RE_CREATE_KJ_HAISO.equals(tabletHaisoKbn))
		{
			// 照査取消、キャンセル時の工事案件対象宅内機器への登録
			// 照査取消CCから呼ばれるときは工事案件対象宅内機器への登録条件にあてはまっている
			for (HashMap<String, Object> kk0341_b022_map : kk0341_b022_map_list)
			{
				new_kk0341_b022_map_list.add(kk0341_b022_map);

				// 返却パラメータ.タブレット配送区分（返却）に工事会社配送の再作成（直送の取消）を設定
				retTabletHaisoKbn = JKKKojiAnkenConstCC.TABLET_HAISO_KBN_RE_CREATE_KJ_HAISO;
			}
			
		}
		else
		{
			// 宅内機器情報一覧は変更しない
			new_kk0341_b022_map_list = kk0341_b022_map_list;
		}

		// 返却パラメータ.タブレット配送区分（返却）を設定
		paramMap.put(JKKKojiAnkenConstCC.RET_TABLET_HAISO_KBN, retTabletHaisoKbn);

		return new_kk0341_b022_map_list;
	}

	
	/**
	 * タブレット配送区分（返却）を設定します。
	 * <br>
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param モデルグループ、コントロールマップを含むパラメータオブジェクト
	 * @param fixedText ユーザ任意文字列
	 * @param paramMap ユーザデータ情報
	 * @throws Exception 例外が発生した場合
	 */
	@SuppressWarnings("unchecked")
	private void setRetTabletHaisoKbn(SessionHandle handle, IRequestParameterReadWrite param, String fixedText, HashMap paramMap)
	throws Exception
	{
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();

		// タブレット配送区分
		String tabletHaisoKbn = (String)paramMap.get(JKKKojiAnkenConstCC.TABLET_HAISO_KBN);
		// タブレット配送区分（返却）
		String retTabletHaisoKbn = "";

		// 工事会社配送の作成
		if (JKKKojiAnkenConstCC.TABLET_HAISO_KBN_CREATE_KJ_HAISO.equals(tabletHaisoKbn))
		{
			// 新規工事案件番号
			String newKojiakNo = (String)paramMap.get(JKKKojiAnkenConstCC.NEW_KOJIAK_NO);

			if (null != newKojiakNo && !newKojiakNo.isEmpty())
			{
				// EKU0141B010 工事案件対象宅内機器一覧照会
				HashMap<String, Object> requestMap = mapper.get().setEKU0141B010(param, fixedText, newKojiakNo);
				Map<?, ?> resultMap  = scCall.run( requestMap, handle );
				ArrayList ku0141_b010_map_list = mapper.get().getEKU0141B010(param, fixedText, resultMap);
				mapper.get().scResultCheck( param );

				if (null != ku0141_b010_map_list)
				{
					for (int i = 0; i < ku0141_b010_map_list.size(); i++)
					{
						HashMap ku0141_b010_map = (HashMap)ku0141_b010_map_list.get(i);
						String taknkikiSbtCd = (String)ku0141_b010_map.get(EKU0141B010CBSMsg1List.TAKNKIKI_SBT_CD);
						String kojiakTrgtTaknkikiStat = (String)ku0141_b010_map.get(EKU0141B010CBSMsg1List.KOJIAK_TRGT_TAKNKIKI_STAT);
						// 宅内機器種別コードがタブレット、またはクレードルで、工事案件対象宅内機器ステータスがなし以外の場合
						if ((JKKStrConst.TAKNKIKI_SBT_CD_TABLET.equals(taknkikiSbtCd)
							|| JKKStrConst.TAKNKIKI_SBT_CD_CRADLE_TABLET.equals(taknkikiSbtCd))
							&& !JKUStrConst.CD00475_NASHI.equals(kojiakTrgtTaknkikiStat))
						{
							retTabletHaisoKbn = JKKKojiAnkenConstCC.TABLET_HAISO_KBN_CREATE_KJ_HAISO;
							break;
						}
					}
				}
			}

			// 返却パラメータ.タブレット配送区分（返却）を設定
			paramMap.put(JKKKojiAnkenConstCC.RET_TABLET_HAISO_KBN, retTabletHaisoKbn);
		}
	}

	/**
	 * タブレット、クレードルが工事会社配送対象となるかどうかを返します。
	 * <br>
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param モデルグループ、コントロールマップを含むパラメータオブジェクト
	 * @param fixedText ユーザ任意文字列
	 * @param paramMap ユーザデータ情報
	 * @return 工事会社配送対象の場合はtrue、そうでない場合はfalse
	 * @throws Exception 例外が発生した場合
	 */
	@SuppressWarnings("unchecked")
	private boolean isKjHaisoTgTablet(SessionHandle handle, IRequestParameterReadWrite param, String fixedText, HashMap paramMap)
	throws Exception
	{
		// 同一請求契約内に有効なeoモバイル（ハイブリッド21M）が存在する場合
		if (existsMobileHybrid(handle, param, fixedText, paramMap))
		{
			// 工事会社配送の対象外
			return false;
		}

		// 工事会社配送対象
		return true;
	}

	/**
	 * 同一請求契約に、eoモバイル（ハイブリッド）が存在するかどうかを返します。
	 * <br>
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param モデルグループ、コントロールマップを含むパラメータオブジェクト
	 * @param fixedText ユーザ任意文字列
	 * @param paramMap ユーザデータ情報
	 * @return eoモバイル（ハイブリッド）が存在する場合はtrue、存在しない場合はfalse
	 * @throws Exception 例外が発生した場合
	 */
	@SuppressWarnings("unchecked")
	private boolean existsMobileHybrid(SessionHandle handle, IRequestParameterReadWrite param, String fixedText, HashMap paramMap)
	throws Exception
	{
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();

		boolean existsMobileHybrid = false;

		// EKK0491B005 請求契約一覧照会
		HashMap<String, Object> requestMap = mapper.get().setEKK0491B005(param, fixedText);
		Map<?, ?> resultMap  = scCall.run( requestMap, handle );
		ArrayList kk0491_b005_map_list = mapper.get().getEKK0491B005(param, fixedText, resultMap);
		mapper.get().scResultCheck( param );

		// 処理対象のサービス契約番号
		String svcKeiNo = (String)paramMap.get(JKKKojiAnkenConstCC.SVC_KEI_NO);
		String seikyKeiNo = "";
		String seikyKeiNoMb = "";
		if (null != kk0491_b005_map_list)
		{
			for (int i = 0; i < kk0491_b005_map_list.size(); i++)
			{
				HashMap kk0491_b005_map = (HashMap)kk0491_b005_map_list.get(i);
				String tmpSvcKeiNo = (String)kk0491_b005_map.get(EKK0491B005CBSMsg1List.SVC_KEI_NO);
				String pcrsCd = (String)kk0491_b005_map.get(EKK0491B005CBSMsg1List.PCRS_CD);
				String svcKeiStat = (String)kk0491_b005_map.get(EKK0491B005CBSMsg1List.SVC_KEI_STAT);

				// 処理対象のサービス契約番号の場合
				if (svcKeiNo.equals(tmpSvcKeiNo))
				{
					seikyKeiNo = (String)kk0491_b005_map.get(EKK0491B005CBSMsg1List.SEIKY_KEI_NO);
				}
				// 照査済で有効なモバイル（光ハイブリッド）の場合
				if (JKKStrConst.CD00134_3G21M_HYBRID.equals(pcrsCd)
					&& !JKKStrConst.CD00037_UK_ZM.equals(svcKeiStat)
					&& !JKKStrConst.CD00037_DSL_ZM.equals(svcKeiStat)
					&& !JKKStrConst.CD00037_CANCEL_ZM.equals(svcKeiStat))
				{
					seikyKeiNoMb = (String)kk0491_b005_map.get(EKK0491B005CBSMsg1List.SEIKY_KEI_NO);
				}
			}

			// 処理対象のサービスと請求契約番号が一致する場合
			if (seikyKeiNo.equals(seikyKeiNoMb))
			{
				existsMobileHybrid = true;
			}
		}

		return existsMobileHybrid;
	}

	/**
	 * 配送を取得します。
	 * <br>
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param モデルグループ、コントロールマップを含むパラメータオブジェクト
	 * @param fixedText ユーザ任意文字列
	 * @param kktkSvcKeiNo 機器提供サービス契約番号
	 * @param kikiChgNo 機器変更番号
	 * @return 配送情報
	 * @throws Exception 例外が発生した場合
	 */
	@SuppressWarnings("unchecked")
	private HashMap<String, Object> getRcntHaiso(SessionHandle handle, IRequestParameterReadWrite param, String fixedText, String kktkSvcKeiNo, String kikiChgNo)
	throws Exception
	{
		HashMap<String, Object> rcntHaiso = new HashMap<String, Object>();

		// 契約機器配送対象物品一覧照会 EDK0011B090
		HashMap<String, Object> eDK0011B090Hash = callEDK0011B090(param, handle, fixedText, null, null, kktkSvcKeiNo);
		CAANMsg[] eDK0011B090CBSMSG1list = (CAANMsg[])eDK0011B090Hash.get(EDK0011B090CBSMsg.EDK0011B090CBSMSG1LIST);

		if (null != eDK0011B090CBSMSG1list)
		{
			for (int i = 0; i < eDK0011B090CBSMSG1list.length; i++)
			{
				HashMap<String, Object> eDK0011B090CBSMSG1 = eDK0011B090CBSMSG1list[i].getMsgData();

				// 機器変更番号が一致する場合
				if (kikiChgNo.equals(eDK0011B090CBSMSG1.get(EDK0011B090CBSMsg1List.KIKI_CHG_NO)))
				{
					rcntHaiso = eDK0011B090CBSMSG1;
					break;
				}
			}
		}

		return rcntHaiso;
	}
	// ANK-2138-00-00 スマリン端末のトムソンケース同梱 2014/08/02 END
	// ANK-4315-00-00 ADD START
	/**
	 * 実施パターン09 (回線変える＋ONU交換工事).
	 * <br>
	 * @param   handle     セッションマネージャなどを持ったハンドル情報
	 * @param   param      モデルグループ、コントロールマップを含むリクエストパラメータ
	 * @param   fixedText  ユーザ任意文字列
	 * @param   inMapping  照会系S-IFの呼出結果を格納したマップ情報
	 * @throws  Exception  例外が発生した場合
	 * @return  リクエストパラメータ(param)に戻り値を追加して返却する
	 */
	@SuppressWarnings( "unchecked" )
	private IRequestParameterReadWrite executePattern25( SessionHandle handle, IRequestParameterReadWrite param, String fixedText, HashMap inMapping ) throws Exception {

		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		HashMap<String, Object> requestMap = null;
		Map<?, ?> resultMap = null;

		/** サービスIFの呼出し - 工事案件受付 */
		String kojiUkType = mapper.get().getKojiUkType( inMapping );
		if ( JKKKojiAnkenMapperCC.KOJI_UK_PTN_NT.equals( kojiUkType ) ) {
			// EKU0021D010 工事案件<eo光ネット>受付
			HashMap ku0021_d010_map = ptnMapper.get().mapPattern25_EKU0021D010( param, fixedText, inMapping );
			requestMap = mapper.get().setEKU0021D010( param, fixedText, ku0021_d010_map );
			resultMap  = scCall.run( requestMap, handle );
			mapper.get().getEKU0021D010( param, fixedText, resultMap );
			mapper.get().scResultCheck( param );
		} else if ( JKKKojiAnkenMapperCC.KOJI_UK_PTN_NT_MT.equals( kojiUkType ) ) {
			// EKU0061D010 工事案件<eo光ネットマンション>受付
			HashMap ku0061_d010_map = ptnMapper.get().mapPattern25_EKU0061D010( param, fixedText, inMapping );
			requestMap = mapper.get().setEKU0061D010( param, fixedText, ku0061_d010_map );
			resultMap  = scCall.run( requestMap, handle );
			mapper.get().getEKU0061D010( param, fixedText, resultMap );
			mapper.get().scResultCheck( param );
		}

		return param;
	}
	// ANK-4315-00-00 ADD END
}
