/*********************************************************************
*	All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名		：eo顧客基幹システム
*	モジュール名	：JKKCoseRkRsvCanNtKojiUkCC
*	ソースファイル名：JKKCoseRkRsvCanNtKojiUkCC.java
*	作成者			：FJ
*	日付			：2013年04月18日
*＜機能概要＞
*	マンション情報取得処理の共通コンポーネント
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v5.00.00	2013/04/18	FJ			新規作成
*	v5.00.01	2013/04/25	FJ）古田	【IT2-2013-0000408】EKU0061D010のメゾン判断削除
*	v7.00.00	2013/12/13	FJ）宇野	【OM-1578-00-00】対応
*   v23.00.00   2016/02/22  FJ) 澤田    【IT2-2016-0000004】電話申込が存在してネットのキャンセルを行ったら工事案件が取り消さない
*   v54.00.00   2021/09/03  FJ) 上村    【OM-2021-0000363】 コース変更取消時に工事案件に割引タイプコードが設定されていない
*   v73.00.00	2024/12/25  FJ) 森      【ANK-4493-00-00】【eo定期】 光配線マンションのコースアップ対応
*   v74.00.00	2025/04/04  FJ) 森       #86842_マンショングローバル１００M⇒１ギガのコース変更取消が出来ない(QA)
**********************************************************************/
package com.fujitsu.futurity.bp.custom.common;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;

import com.fujitsu.futurity.bp.custom.constant.KKSV0202_KKSV0202OP_WORK_EKK0451B001CBSMsg1List;
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.SCCallException;
import com.fujitsu.futurity.common.JCMConstants;
import com.fujitsu.futurity.common.x01.sc.SCControlMapKeys;
import com.fujitsu.futurity.mapping.bp.common.TemplateErrorUtil;
import com.fujitsu.futurity.model.base.CAANMsg;
import com.fujitsu.futurity.model.common.JCMAPLConstMgr;

import eo.common.constant.JKKStrConst;
import eo.common.util.JPCUtilCommon;
import eo.ejb.cbs.cbsmsg.ECK0011A010CBSMsg;
import eo.ejb.cbs.cbsmsg.ECK0011A010CBSMsg1List;
import eo.ejb.cbs.cbsmsg.ECK0201B505CBSMsg;
import eo.ejb.cbs.cbsmsg.ECK0201B505CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0021A010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0021A010CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0081A010CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0081B024CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0081B024CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0251B003CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0251B003CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0321B005CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0321B005CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0451B001CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0451B001CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0791A010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0791A010CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0861A010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0861A010CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0871A010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0871A010CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0881A010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0881A010CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0891A010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0891A010CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0911A010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0911A010CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK1681B001CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKU0021D010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKU0061D010CBSMsg;


/**
 * コース変更予約取消工事登録<p>
 * <BR>
 * @author 富士通
 */
public class JKKCoseRkRsvCanNtKojiUkCC extends AbstractCommonComponent
{
	
	/** 提供方式契約一意照会 */
	private static final String TEMPLATE_ID_EKK0891A010 = "EKK0891A010";
	/** 回線使用契約一意照会 */
	private static final String TEMPLATE_ID_EKK0881A010 = "EKK0881A010";
	/** オーナー契約一意照会 */
	private static final String TEMPLATE_ID_EKK0871A010 = "EKK0871A010";
	/** マンションコース一意照会 */
	private static final String TEMPLATE_ID_EKK0911A010 = "EKK0911A010";
	/** マンション物件一意照会 */
	private static final String TEMPLATE_ID_EKK0861A010 = "EKK0861A010";
	/** お客様一意照会 */
	private static final String TEMPLATE_ID_ECK0011A010 = "ECK0011A010";
	/** サービス契約回線内訳一覧照会（現在利用中） */
	private static final String TEMPLATE_ID_EKK0251B003 = "EKK0251B003";
	/** 料金コース一意照会 */
	private static final String TEMPLATE_ID_EKK0791A010 = "EKK0791A010";
	/** 連絡先一覧照会（SYSID・連絡先コード） */
	private static final String TEMPLATE_ID_ECK0201B505 = "ECK0201B505";
	/** 割引サービス契約一覧照会 */
	private static final String TEMPLATE_ID_EKK0451B001 = "EKK0451B001";
	/** サービス契約履歴一覧照会 */
	private static final String TEMPLATE_ID_EKK0081B024 = "EKK0081B024";
	/** 申込明細一意照会 */
	private static final String TEMPLATE_ID_EKK0021A010 = "EKK0021A010";
	/** 課金先一覧照会（サービス契約番号） */
	private static final String TEMPLATE_ID_EKK0321B005 = "EKK0321B005";
	/** 工事案件(eo光ネット)受付 */
	private static final String TEMPLATE_ID_EKU0021D010 = "EKU0021D010";
	/** 工事案件＜eo光ネットマンション＞受付 */
	private static final String TEMPLATE_ID_EKU0061D010 = "EKU0061D010";
	
	/**
	 * サービス契約検索データ
	 * KKSV0395_KKSV0395OP_EKK0081A010BSMapper検索データ
	 */
	private static final String EKK0081A010_SearchData = "JKKCoseRkRsvCanNtKojiUkCC_EKK0081A010";
	
	/**
	 * 異動予約検索データ
	 * JKKCourseRkIdoRsvDslCC検索データ
	 */
	private static final String EKK1681B001_SearchData = "JKKCoseRkRsvCanNtKojiUkCC_EKK1681B001";
	
	/**
	 * 工事案件検索データ
	 * JKKCoseRkKojiFinJajCC検索データ
	 */
	private static final String EKU0011B090_SearchData = "JKKCoseRkRsvCanNtKojiUkCC_EKU0011B090";
	
	
	/** 異動予約詳細コード（コース変更） */
	private static final String IDO_RSV_DTL_CD_COURSE_CHG = "003";
	
//	/** 工事案件ステータス（工事完了済） */
//	private static final String KOUJIAK_STAT_FIN = "200";
//	
//	/** 工事案件種別コード（プラン変更(収容替)） */
//	private static final String KOUJIAK_SBT_PLAN_CHG = "009";
	
	
	/** ｅｏ光ネットホームタイプ */
	private static final String PRC_GRP_CD_NET_HOME = "02";
	/** ｅｏ光ネットメゾンタイプ */
	private static final String PRC_GRP_CD_NET_MEZ = "03";
	/** ｅｏ光ネットマンションタイプ */
	private static final String PRC_GRP_CD_NET_MANS = "04";
	
	/** 割引サービスコード（ファミリーパック） */
	private static final String WRIB_SVC_CD_FAMILY_PACK = "W00000006";
//	/** 割引サービス契約ステータス（受付済） */
//	private static final String WRIB_SVC_KEI_STAT_UKTKZUMI = "010";
	/** 割引サービス契約ステータス（サービス提供中） */
	private static final String WRIB_SVC_KEI_STAT_SVC_TKCHU = "100";
	
	
	/** 工事受付コード（回線変える） */
	private static final String KOJI_UK_CD_KAISEN_CHG = "007";
	/** 工事受付詳細コード（速度変える） */
	private static final String KOJI_UK_DTAIL_CD_SPD_CHG = "50";
	
//	/** マンション物件コード（マンション） */
//	private static final String MANSION_BUKKEN_CD_MANS = "001";
	/** マンション物件コード（メゾン） */
	private static final String MANSION_BUKKEN_CD_MEZ = "002";
	/** マンション通信設備コード（VDSL） */
	private static final String MANS_TUSHIN_EQUIP_CD_VDSL = "01";
	/** マンション通信設備コード（イーサ） */
	private static final String MANS_TUSHIN_EQUIP_CD_ISA = "02";
	/** マンション通信設備コード（光配線） */
	private static final String MANS_TUSHIN_EQUIP_CD_HIKARI = "03";
	
	/** 工事完了判定フラグ
	 * 1:完了
	 * 0:未完了
	 */
	private static final String KOJIFINAL_FLG = "KojiFinalFlg";
	
	/** 機能コード（チェック＆登録） */
	private static final String FUNC_CODE_1 = "1";
	
	/** PON識別コード（GE-PON） */
	private static final String PON_SKBT_CD_GE_PON = "2";
	
	// ++++++++ v7.00.00 変更開始 +++++++
	/** サービス契約一意照会 */
	private static final String TEMPLATE_ID_EKK0081A010 = "EKK0081A010";
	/** 機器提供サービス契約回復割引 */
	private static final String JKK_KIKI_KKKAIFUKU_WRISVC_CC = "JKKKikiKaifukuWrisvcCC";
	/** 申込種別コード（機器契約変更申込） */
	private static final String MSKM_SBT_CD_00022 = "00022";
	/** 回復機器リスト取得キー **/
	private static final String KAIFUKU_KIKI_LIST= "kaifukukikiCCList";
	// ++++++++ v7.00.00 変更終了 +++++++
	
	// OM-2021-0000363 2021/09/03 ADD START
	/** 割引サービスコード（即割：W00000021） **/
	private static final String WRIB_SOKU_WRIB= "W00000021";
	/** 割引タイプコード（即割：31） **/
	private static final String WRIB_TYPE_SOKU_WRIB= "31";
	// OM-2021-0000363 2021/09/03 ADD END
	
	/**
	 * コース変更予約取消工事登録
	 * 
	 * @param handle
	 * @param param
	 * @param fixedText
	 * @return IRequestParameterReadWrite
	 * @throws Throwable
	 */
	@SuppressWarnings("unchecked")
	public IRequestParameterReadWrite execCoseRkRsvCanKojiCreate(SessionHandle handle, IRequestParameterReadWrite param, String fixedText) throws Throwable
	{
		HashMap<String, Object> ccMsg = (HashMap<String, Object>)param.getData(fixedText);
		
		String func_code = (String)ccMsg.get("func_code");

		// 一時領域データ
		HashMap<String, Object> temporaryData = new HashMap<String, Object>();
		
		// 作業領域より取得
		Map workMap = (Map)param.getMappingWorkArea();
		
		// SC呼び出し部品のインスタンス生成（引数にはログに出力するクラス名を渡す。空文字を設定した場合はログに出力されない）
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		
		
		// ++++++++ v7.00.00 変更開始 +++++++
		// 機器提供サービス契約回復割引処理を行う
		kikiKaifukuWribikiShori(handle, scCall, param, fixedText, temporaryData);
		// ++++++++ v7.00.00 変更終了 +++++++
		
		// 実行判定
		// コース変更の工事が完了している　かつ
		// 異動予約の料金コースが変更されている　かつ
		// 料金グループコードが02、03、04の場合、実行
		if(!isExecHantei(handle, scCall, param, fixedText, temporaryData))
		{
			return param;
		}
		
		// お客様情報を取得します。
		setEKK0081A010(handle, scCall, param, fixedText, temporaryData);
		
		// サービス契約回線内訳一覧照会（現在利用中）を取得します。
		setEKK0251B003(handle, scCall, param, fixedText, temporaryData);
		
		// PON条件コード取得処理（料金コース）
		setEkk0791a010(handle, scCall, param, fixedText, temporaryData);
		
		// 連絡先情報取得処理
		setEck0201b505(handle, scCall, param, fixedText, temporaryData);
		
		// ファミリー契約フラグ取得処理
		setEkk0451b001(handle, scCall, param, fixedText, temporaryData);
		
		// オプションサービス契約引継フラグ取得処理
		setOptionSvcKeiHktgFlg(handle, scCall, param, fixedText, temporaryData);
		
		// 請求契約番号取得処理
		setEkk0321b005(handle, scCall, param, fixedText, temporaryData);
		
		
		// 更新処理の分岐
		// ネットホーム
		String prcGrpCd = getEkk0081a010Data(temporaryData, EKK0081A010CBSMsg1List.PRC_GRP_CD);
		
		if(FUNC_CODE_1.equals(func_code))
		{
			// ネットホームの場合
			if(PRC_GRP_CD_NET_HOME.equals(prcGrpCd))
			{
				execNetHomeKojiCreate(handle, scCall, param, fixedText, temporaryData);
			}
			else
			{
				// マンションメゾンの場合
				execNetManMezonKojiCreate(handle, scCall, param, fixedText, temporaryData);
			}
		}
		
		return param;
	}
	
	/**
	 * 工事案件(eo光ネットマンション)受付処理実行<br>
	 * <br>
	 * @param handle 
	 * @param scCall CAANMsgクラス配列
	 * @param param リターンコード
	 * @param fixedText ユーザ任意文字列
	 * @param temporaryData
	 * @return 正常：true 異常：false
	 * @throws Exception 
	 */
	private boolean execNetManMezonKojiCreate(SessionHandle handle
											, ServiceComponentRequestInvoker scCall
											, IRequestParameterReadWrite param
											, String fixedText
											, HashMap<String, Object> temporaryData) throws Exception
	{
		
		// 提供方式契約番号
		String tk_hoshiki_kei_no = getEkk0081a010Data(temporaryData, EKK0081A010CBSMsg1List.TK_HOSHIKI_KEI_NO);
		
		if("".equals(tk_hoshiki_kei_no))
		{
			return false;
		}
		
		// 提供方式契約一意照会
		CAANMsg[] ekk0891a010MsgList = getEkk0891a010(handle, scCall, param, fixedText, temporaryData, tk_hoshiki_kei_no);
		if(ekk0891a010MsgList == null)
		{
			return false;
		}
		temporaryData.put(TEMPLATE_ID_EKK0891A010, ekk0891a010MsgList[0]);
		
		// 回線使用契約一意照会
		CAANMsg[] ekk0881a010MsgList = getEkk0881a010(handle, scCall, param, fixedText, temporaryData);
		if(ekk0881a010MsgList == null)
		{
			return false;
		}
		temporaryData.put(TEMPLATE_ID_EKK0881A010, ekk0881a010MsgList[0]);
		
		// オーナー契約一意照会
		CAANMsg[] ekk0871a010cbsMsg1list = getEkk0871a010(handle, scCall, param, fixedText, temporaryData);
		if(ekk0871a010cbsMsg1list == null)
		{
			return false;
		}
		temporaryData.put(TEMPLATE_ID_EKK0871A010, ekk0871a010cbsMsg1list[0]);
		
		// マンションコース一意照会
		CAANMsg[] ekk0911a010cbsMsg1list = getEkk0911a010(handle, scCall, param, fixedText, temporaryData);
		
		if(ekk0911a010cbsMsg1list == null)
		{
			return false;
		}
		temporaryData.put(TEMPLATE_ID_EKK0911A010, ekk0911a010cbsMsg1list[0]);
		
		// マンション物件一意照会
		CAANMsg[] ekk0861a010cbsMsg1list = getEkk0861a010(handle, scCall, param, fixedText, temporaryData);
		
		if(ekk0861a010cbsMsg1list == null)
		{
			return false;
		}
		temporaryData.put(TEMPLATE_ID_EKK0861A010, ekk0861a010cbsMsg1list[0]);
		
		// 
		createNetManMezonKoji(handle, scCall, param, fixedText, temporaryData);

		
		return true;
	}
	
	/**
	 * 工事案件(eo光ネットマンション)受付処理実行<br>
	 * <br>
	 * @param handle 
	 * @param scCall CAANMsgクラス配列
	 * @param param リターンコード
	 * @param fixedText ユーザ任意文字列
	 * @param temporaryData
	 * @return 実行：true 実行しない：false
	 * @throws Exception 
	 */
	private boolean createNetManMezonKoji(SessionHandle handle
											, ServiceComponentRequestInvoker scCall
											, IRequestParameterReadWrite param
											, String fixedText
											, HashMap<String, Object> temporaryData) throws Exception
	{
		HashMap<String, Object> ccMsg = (HashMap<String, Object>)param.getData(fixedText);
		
		Map workMap = (Map)param.getMappingWorkArea();
		
		String mskm_dtl_no = getNullToStr((String)workMap.get("mskm_dtl_no"));
		
		// P-ID
		String pid = "";
		// IP払出コード
		String ip_hradsi_cd = "";
		// マンション部屋通信機器種別コード
		String mans_rm_tushin_kiki_sbt_cd = "";
		// マンション通信設備コード
		String mans_tushin_equip_cd = "";
		// 関電営業所番号
		String kepco_busioffice_no = "";
		// 経度
		String lgtd = "";
		// 緯度
		String lttd = "";
		// 座標補正有無
		String zahyo_hosei_um = "";
		// マンションID
		String mansion_id = "";
		
		
		// マンション物件コード
		String mansBukkenCd = getEkk0861a010Data(temporaryData, EKK0861A010CBSMsg1List.MANSION_BUKKEN_CD);
		
		String prc_grp_cd = getEkk1681b001Data(temporaryData, EKK1681B001CBSMsg1List.OLD_PRC_GRP_CD);
		
		/* ++++++++++ v5.00.01 変更開始 ++++++++++ */
		// メゾンの場合
//		if(MANSION_BUKKEN_CD_MEZ.equals(mansBukkenCd))
//		{
//			pid = getEkk0871a010Data(temporaryData, EKK0871A010CBSMsg1List.PID);
//			kepco_busioffice_no = getEkk0251b003Data(temporaryData, EKK0251B003CBSMsg1List.KEPCO_BUSIOFFICE_CD);
//			lgtd = getEkk0251b003Data(temporaryData, EKK0251B003CBSMsg1List.LGTD);
//			lttd = getEkk0251b003Data(temporaryData, EKK0251B003CBSMsg1List.LTTD);
//			zahyo_hosei_um = getEkk0251b003Data(temporaryData, EKK0251B003CBSMsg1List.ZAHYO_HOSEI_UM);
//			
//		}
		pid = getEkk0871a010Data(temporaryData, EKK0871A010CBSMsg1List.PID);
		kepco_busioffice_no = getEkk0251b003Data(temporaryData, EKK0251B003CBSMsg1List.KEPCO_BUSIOFFICE_CD);
		lgtd = getEkk0251b003Data(temporaryData, EKK0251B003CBSMsg1List.LGTD);
		lttd = getEkk0251b003Data(temporaryData, EKK0251B003CBSMsg1List.LTTD);
		zahyo_hosei_um = getEkk0251b003Data(temporaryData, EKK0251B003CBSMsg1List.ZAHYO_HOSEI_UM);
		/* ++++++++++ v5.00.01 変更完了 ++++++++++ */
		
		// 料金グループがマンションの場合
		if(PRC_GRP_CD_NET_MANS.equals(prc_grp_cd))
		{
			mans_tushin_equip_cd = getEkk0911a010Data(temporaryData, EKK0911A010CBSMsg1List.MANS_TUSHIN_EQUIP_CD);
			
			mansion_id = getEkk0881a010Data(temporaryData, EKK0881A010CBSMsg1List.MANSION_ID);
			
			// ｢VDSL｣｢イーサ｣の場合のみ設定
			if(MANS_TUSHIN_EQUIP_CD_VDSL.equals(mans_tushin_equip_cd) || MANS_TUSHIN_EQUIP_CD_ISA.equals(mans_tushin_equip_cd))
			{
				ip_hradsi_cd = getEkk0911a010Data(temporaryData, EKK0911A010CBSMsg1List.IP_HRADSI_CD);
			}
			
		}
		
		mans_rm_tushin_kiki_sbt_cd = getMansRmTushinKikiSbtCd(mans_tushin_equip_cd);
		
		// IT2-2016-0000004 2016/02/22 ADD START
		//PON識別コード
		String pon_skbt_cd = "";
		// ANK-4493-00-00 MOD START
//		//旧料金グループコードがメゾンの場合、サービス契約回線内訳一覧照会（現在利用中）明細からPON種別を取得する。
		//#86842 DEL START
//		//旧料金グループコードがメゾンの場合またはマンションの場合、サービス契約回線内訳一覧照会（現在利用中）明細からPON種別を取得する。
		//#86842 DEL END
//		if (prc_grp_cd.equals(JKKStrConst.CD00133_03))
		//#86842 DEL START
//		if (JKKStrConst.CD00133_03.equals(prc_grp_cd) || JKKStrConst.CD00133_04.equals(prc_grp_cd))
		//#86842 DEL END
		// ANK-4493-00-00 MOD END
		
		//#86842 ADD START
		//旧料金グループコードがメゾンの場合、サービス契約回線内訳一覧照会（現在利用中）明細からPON種別を取得する。
		if (prc_grp_cd.equals(JKKStrConst.CD00133_03))
		//#86842 ADD END
		{
			pon_skbt_cd = getEkk0251b003Data(temporaryData, EKK0251B003CBSMsg1List.PON_SBT_CD);
		//#86842 MOD START
//		} else {
//			pon_skbt_cd = PON_SKBT_CD_GE_PON;
		//旧料金グループコードがマンション、提供方式パターンコードが("53":光配線:コース変更可能)で取得中のPON種別がNULL出ない場合、サービス契約回線内訳一覧照会（現在利用中）明細からPON種別を取得する。
		}
		else
		{
			//提供方式パターンコード
			String tk_hoshiki_pattern_cd = getEkk0891a010Data(temporaryData, EKK0891A010CBSMsg1List.TK_HOSHIKI_PATTERN_CD);
			//サービス契約回線内訳一覧照会（現在利用中）明細からPON種別を取得する。
			pon_skbt_cd = getEkk0251b003Data(temporaryData, EKK0251B003CBSMsg1List.PON_SBT_CD);
			
			if(JKKStrConst.CD00133_04.equals(prc_grp_cd) && JKKStrConst.TK_HOSHIKI_PATTERN_CD_53.equals(tk_hoshiki_pattern_cd) && !pon_skbt_cd.isEmpty())
			{
				//取得したPON種別をそのまま取得する
			}
			else
			{
				pon_skbt_cd = PON_SKBT_CD_GE_PON;
			}
		//#86842 MOD END
		}
		// IT2-2016-0000004 2016/02/22 ADD END
		
		Object[][] eku0061d010In = {
				{EKU0061D010CBSMsg.TEMPLATEID,       TEMPLATE_ID_EKU0061D010},
				{EKU0061D010CBSMsg.FUNC_CODE,        (String)ccMsg.get("func_code")},
				{EKU0061D010CBSMsg.SVC_KEI_NO, getEkk0081a010Data(temporaryData, EKK0081A010CBSMsg1List.SVC_KEI_NO)},
				{EKU0061D010CBSMsg.SVC_KEI_KAISEN_UCWK_NO, getEkk0251b003Data(temporaryData, EKK0251B003CBSMsg1List.SVC_KEI_KAISEN_UCWK_NO)},
				{EKU0061D010CBSMsg.MSKMSHO_NO , ""},
				{EKU0061D010CBSMsg.MKMSDTL_NO , ""},
				{EKU0061D010CBSMsg.MSKM_DTL_NO , mskm_dtl_no},
				{EKU0061D010CBSMsg.OLD_MSKM_DTL_NO , ""},
				{EKU0061D010CBSMsg.MSKMSHO_ARIV_YMD , JPCBPCommon.getOpeDate(null)},
				{EKU0061D010CBSMsg.MSKM_UK_YMD , JPCBPCommon.getOpeDate(null)},
				{EKU0061D010CBSMsg.KOJI_UK_CD , KOJI_UK_CD_KAISEN_CHG},
				{EKU0061D010CBSMsg.KOJI_UK_DTAIL_CD , KOJI_UK_DTAIL_CD_SPD_CHG},
				{EKU0061D010CBSMsg.KOJI_UK_OPTNTY_IDO_DIV , (String)ccMsg.get("ido_div")},
				{EKU0061D010CBSMsg.KOJI_UK_OPTNTY_IDO_DTM , JPCBPCommon.getOpeDateTimeStamp(null)},
				{EKU0061D010CBSMsg.SVC_CD , getEkk0081a010Data(temporaryData, EKK0081A010CBSMsg1List.SVC_CD)},
				{EKU0061D010CBSMsg.PRC_GRP_CD , prc_grp_cd},
				{EKU0061D010CBSMsg.PCRS_CD , getEkk1681b001Data(temporaryData, EKK1681B001CBSMsg1List.OLD_PCRS_CD)},
				{EKU0061D010CBSMsg.PPLAN_CD , getEkk1681b001Data(temporaryData, EKK1681B001CBSMsg1List.OLD_PPLAN_CD)},
				// OM-2021-0000363 2021/09/03 MOD START
//				{EKU0061D010CBSMsg.WRIB_TYPE_CD , ""},
				{EKU0061D010CBSMsg.WRIB_TYPE_CD , getSkwrWribTypeCD(temporaryData)},
				// OM-2021-0000363 2021/09/03 MOD END
				{EKU0061D010CBSMsg.PCRS_PON_JOKEN_CD , getEkk0791A010Data(temporaryData, EKK0791A010CBSMsg1List.PCRS_PON_JOKEN_CD)},
				{EKU0061D010CBSMsg.CHGB_BF_PRC_GRP_CD , getEkk1681b001Data(temporaryData, EKK1681B001CBSMsg1List.NEW_PRC_GRP_CD)},
				{EKU0061D010CBSMsg.CHGB_BF_PCRS_CD , getEkk1681b001Data(temporaryData, EKK1681B001CBSMsg1List.NEW_PCRS_CD)},
				{EKU0061D010CBSMsg.CHGB_BF_PPLAN_CD , getEkk1681b001Data(temporaryData, EKK1681B001CBSMsg1List.NEW_PPLAN_CD)},
				// OM-2021-0000363 2021/09/03 MOD START
//				{EKU0061D010CBSMsg.CHGB_WRIB_TYPE_CD , ""},
				{EKU0061D010CBSMsg.CHGB_WRIB_TYPE_CD , getSkwrWribTypeCD(temporaryData)},
				// OM-2021-0000363 2021/09/03 MOD END
				{EKU0061D010CBSMsg.ADD_MOTO_SVC_KEI_NO , ""},
				{EKU0061D010CBSMsg.OWNR_KEI_NO , getEkk0881a010Data(temporaryData, EKK0881A010CBSMsg1List.OWNR_KEI_NO)},
				{EKU0061D010CBSMsg.PID , pid},
//				{EKU0061D010CBSMsg.PON_SKBT_CD , getEkk0251b003Data(temporaryData, EKK0251B003CBSMsg1List.PON_SBT_CD)},
				// IT2-2016-0000004 2016/02/22 MOD START
				//{EKU0061D010CBSMsg.PON_SKBT_CD , PON_SKBT_CD_GE_PON},
				{EKU0061D010CBSMsg.PON_SKBT_CD , pon_skbt_cd},
				// IT2-2016-0000004 2016/02/22 MOD END
				{EKU0061D010CBSMsg.IP_HRADSI_CD , ip_hradsi_cd},
				{EKU0061D010CBSMsg.MANS_RM_TUSHIN_KIKI_SBT_CD , mans_rm_tushin_kiki_sbt_cd},
				{EKU0061D010CBSMsg.MANS_TUSHIN_EQUIP_CD , mans_tushin_equip_cd},
				{EKU0061D010CBSMsg.SYSID , getEkk0081a010Data(temporaryData, EKK0081A010CBSMsg1List.SYSID)},
				{EKU0061D010CBSMsg.MSKMSHA_NM , ""},
				{EKU0061D010CBSMsg.CUST_NM , getEck0011a010Data(temporaryData, ECK0011A010CBSMsg1List.CUST_NM)},
				{EKU0061D010CBSMsg.CUST_KANA , getEck0011a010Data(temporaryData, ECK0011A010CBSMsg1List.CUST_KANA)},
				{EKU0061D010CBSMsg.CUST_HOME_TEL_NO , getEkk0251b003Data(temporaryData, EKK0251B003CBSMsg1List.KAISEN_PLACE_TELNO)},
				{EKU0061D010CBSMsg.CUST_KTAI_TEL_NO , getEck0201b505Data(temporaryData, "2")},
				{EKU0061D010CBSMsg.CUST_RRKS_TEL_NO , getEck0011a010Data(temporaryData, ECK0011A010CBSMsg1List.KEISHA_TELNO)},
				{EKU0061D010CBSMsg.RRKS_OFFC_NM , ""},
				{EKU0061D010CBSMsg.KEISHA_AD_MAN_INPUT_FLG , getEck0011a010Data(temporaryData, ECK0011A010CBSMsg1List.KEISHA_AD_MAN_INPUT_FLG)},
				{EKU0061D010CBSMsg.KEISHA_AD_CD , getEck0011a010Data(temporaryData, ECK0011A010CBSMsg1List.KEISHA_AD_CD)},
				{EKU0061D010CBSMsg.KEISHA_PCD , getEck0011a010Data(temporaryData, ECK0011A010CBSMsg1List.KEISHA_PCD)},
				{EKU0061D010CBSMsg.KEISHA_STATE_NM , getEck0011a010Data(temporaryData, ECK0011A010CBSMsg1List.KEISHA_STATE_NM)},
				{EKU0061D010CBSMsg.KEISHA_CITY_NM , getEck0011a010Data(temporaryData, ECK0011A010CBSMsg1List.KEISHA_CITY_NM)},
				{EKU0061D010CBSMsg.KEISHA_OAZTSU_NM , getEck0011a010Data(temporaryData, ECK0011A010CBSMsg1List.KEISHA_OAZTSU_NM)},
				{EKU0061D010CBSMsg.KEISHA_AZCHO_NM , getEck0011a010Data(temporaryData, ECK0011A010CBSMsg1List.KEISHA_AZCHO_NM)},
				{EKU0061D010CBSMsg.KEISHA_AD_BNCHIGO , getEck0011a010Data(temporaryData, ECK0011A010CBSMsg1List.KEISHA_BNCHIGO)},
				{EKU0061D010CBSMsg.KEISHA_ADRTTM , getEck0011a010Data(temporaryData, ECK0011A010CBSMsg1List.KEISHA_ADRTTM)},
				{EKU0061D010CBSMsg.KEISHA_ADRRM , getEck0011a010Data(temporaryData, ECK0011A010CBSMsg1List.KEISHA_ADRRM)},
				{EKU0061D010CBSMsg.SEIKY_KEI_NO , getEkk0321b005Data(temporaryData, EKK0321B005CBSMsg1List.SEIKY_KEI_NO)},
				{EKU0061D010CBSMsg.PLACE_NO , getEkk0251b003Data(temporaryData, EKK0251B003CBSMsg1List.KAISEN_PLACE_NO)},
				{EKU0061D010CBSMsg.SETPLACE_AD_CD , getEkk0251b003Data(temporaryData, EKK0251B003CBSMsg1List.KAISEN_PLACE_AD_CD)},
				{EKU0061D010CBSMsg.SETPLACE_PCD , getEkk0251b003Data(temporaryData, EKK0251B003CBSMsg1List.KAISEN_PLACE_PCD)},
				{EKU0061D010CBSMsg.SETPLACE_STATE_NM , getEkk0251b003Data(temporaryData, EKK0251B003CBSMsg1List.KAISEN_PLACE_STATE_NM)},
				{EKU0061D010CBSMsg.SETPLACE_CITY_NM , getEkk0251b003Data(temporaryData, EKK0251B003CBSMsg1List.KAISEN_PLACE_CITY_NM)},
				{EKU0061D010CBSMsg.SETPLACE_OAZTSU_NM , getEkk0251b003Data(temporaryData, EKK0251B003CBSMsg1List.KAISEN_PLACE_OAZTSU_NM)},
				{EKU0061D010CBSMsg.SETPLACE_AZCHO_NM , getEkk0251b003Data(temporaryData, EKK0251B003CBSMsg1List.KAISEN_PLACE_AZCHO_NM)},
				{EKU0061D010CBSMsg.SETPLACE_AD_BNCHIGO , getEkk0251b003Data(temporaryData, EKK0251B003CBSMsg1List.KAISEN_PLACE_BNCHIGO)},
				{EKU0061D010CBSMsg.SETPLACE_ADRTTM , getEkk0251b003Data(temporaryData, EKK0251B003CBSMsg1List.KAISEN_PLACE_ADRTTM)},
				{EKU0061D010CBSMsg.SETPLACE_ADRRM , getEkk0251b003Data(temporaryData, EKK0251B003CBSMsg1List.KAISEN_PLACE_ADRRM)},
				{EKU0061D010CBSMsg.KOJI_SAKI_AD_MI_FIX_FLG , getEkk0251b003Data(temporaryData, EKK0251B003CBSMsg1List.KISN_PLC_AD_MI_FIX_FLG)},
				{EKU0061D010CBSMsg.KAISEN_PLACE_TELNO , getEkk0251b003Data(temporaryData, EKK0251B003CBSMsg1List.KAISEN_PLACE_TELNO)},
				{EKU0061D010CBSMsg.KEPCO_BUSIOFFICE_NO , kepco_busioffice_no},
				{EKU0061D010CBSMsg.LGTD , lgtd},
				{EKU0061D010CBSMsg.LTTD , lttd},
				{EKU0061D010CBSMsg.ZAHYO_HOSEI_UM , zahyo_hosei_um},
				{EKU0061D010CBSMsg.AD_FORM_CD , ""},
				{EKU0061D010CBSMsg.NYUKYO_FLR_CNT_CD , ""},
				{EKU0061D010CBSMsg.KCKU_FLR_CNT_CD , ""},
				{EKU0061D010CBSMsg.DIRECTION_CD_1 , ""},
				{EKU0061D010CBSMsg.DIRECTION_CD_2 , ""},
				{EKU0061D010CBSMsg.TENTAKU_BF_SVC_KEI_KAISEN_UCWK_NO , ""},
				{EKU0061D010CBSMsg.TENTAKU_BF_AD_CD , ""},
				{EKU0061D010CBSMsg.TENTAKU_BF_PCD , ""},
				{EKU0061D010CBSMsg.TENTAKU_BF_STATE_NM , ""},
				{EKU0061D010CBSMsg.TENTAKU_BF_CITY_NM , ""},
				{EKU0061D010CBSMsg.TENTAKU_BF_OAZTSU_NM , ""},
				{EKU0061D010CBSMsg.TENTAKU_BF_AZCHO_NM , ""},
				{EKU0061D010CBSMsg.TENTAKU_BF_AD_BNCHIGO , ""},
				{EKU0061D010CBSMsg.TENTAKU_BF_ADRTTM , ""},
				{EKU0061D010CBSMsg.TENTAKU_BF_ADRRM , ""},
				{EKU0061D010CBSMsg.NEWCONST_BUKKEN_CD , ""},
				{EKU0061D010CBSMsg.MANSION_BUKKEN_CD , mansBukkenCd},
				{EKU0061D010CBSMsg.HUKKAT_ANKEN_FLG , ""},
				{EKU0061D010CBSMsg.SAME_EQUIP_RE_MSKM_CD , ""},
				{EKU0061D010CBSMsg.OPSVKEI_HKTGI_FLG , getEkk0021A010Data(temporaryData, EKK0021A010CBSMsg1List.OP_SVC_HKTGI_UM)},
				{EKU0061D010CBSMsg.KOJI_SCOPE_CD , "005"}, // 工事不要
				{EKU0061D010CBSMsg.ISETSU_CD , "010"}, // お客様都合
				{EKU0061D010CBSMsg.SVC_STAYMD , JPCBPCommon.getOpeDate(null)},
				{EKU0061D010CBSMsg.KOJI_KIBO_YMD , ""},
				{EKU0061D010CBSMsg.SHUNKO_RSV_YMD , ""},
				{EKU0061D010CBSMsg.NYUKYO_RSV_YMD , ""},
				{EKU0061D010CBSMsg.HIKIWATASHI_RSV_YMD , ""},
				{EKU0061D010CBSMsg.EPOWER_SODEN_RSV_YMD , ""},
				{EKU0061D010CBSMsg.TEL_RRK_KIBO_YMD , ""},
				{EKU0061D010CBSMsg.TEL_RRK_KIBO_TIME_CD , ""},
				{EKU0061D010CBSMsg.TAKCHO_KIBO_APO_KIGEN_YMD , ""},
				{EKU0061D010CBSMsg.TNKJ_KIBO_APO_KIGEN_YMD , ""},
				{EKU0061D010CBSMsg.KOJI_APO_RRKS_SHITEI_CD , ""},
				{EKU0061D010CBSMsg.KOJI_APO_RRKS_TELNO , ""},
				{EKU0061D010CBSMsg.RRK_WAY_CD , ""},
				{EKU0061D010CBSMsg.RRK_WAY_HOKI , ""},
				{EKU0061D010CBSMsg.KOJIAK_BIKO , ""},
				{EKU0061D010CBSMsg.KOJIAK_BIKO_1 , ""},
				{EKU0061D010CBSMsg.KOJIAK_BIKO_2 , ""},
				{EKU0061D010CBSMsg.MANSSBSYS_RNKI_KIJIRAN , ""},
				{EKU0061D010CBSMsg.DMPSANK_SBT_CD , ""},
				{EKU0061D010CBSMsg.KEPCO_CTINFO_JUJU_DOI_UM , ""},
				{EKU0061D010CBSMsg.CUST_SOS_USE_UM , ""},
				{EKU0061D010CBSMsg.FAMILY_KEI_FLG , ""},
				{EKU0061D010CBSMsg.PC_SETUP_FLG , ""},
				{EKU0061D010CBSMsg.MANSION_ID , mansion_id},
				{EKU0061D010CBSMsg.KAISEN_USE_KEI_NO , ""},
				{EKU0061D010CBSMsg.BMP_DOJI_KJ_KIBO_UM , ""},
				{EKU0061D010CBSMsg.AD_CHG_TEKKYO_KJAK_NO , ""},

			};
		
		// 
		callSC(handle, scCall, param, fixedText, eku0061d010In);
		
		return true;
	}
	
	/**
	 * 工事案件(eo光ネット)受付処理実行<br>
	 * <br>
	 * @param handle 
	 * @param scCall CAANMsgクラス配列
	 * @param param リターンコード
	 * @param fixedText ユーザ任意文字列
	 * @param temporaryData
	 * @return 正常：true 異常：false
	 * @throws Exception 
	 */
	private boolean execNetHomeKojiCreate(SessionHandle handle
											, ServiceComponentRequestInvoker scCall
											, IRequestParameterReadWrite param
											, String fixedText
											, HashMap<String, Object> temporaryData) throws Exception
	{
		HashMap<String, Object> ccMsg = (HashMap<String, Object>)param.getData(fixedText);
		
		Map workMap = (Map)param.getMappingWorkArea();
		
		String mskm_dtl_no = getNullToStr((String)workMap.get("mskm_dtl_no"));
		
		
		
		Object[][] eku0021d010In = {
				{EKU0021D010CBSMsg.TEMPLATEID,       TEMPLATE_ID_EKU0021D010},
				{EKU0021D010CBSMsg.FUNC_CODE,        (String)ccMsg.get("func_code")},
				{EKU0021D010CBSMsg.SVC_KEI_NO, getEkk0081a010Data(temporaryData, EKK0081A010CBSMsg1List.SVC_KEI_NO)},
				{EKU0021D010CBSMsg.SVC_KEI_KAISEN_UCWK_NO, getEkk0251b003Data(temporaryData, EKK0251B003CBSMsg1List.SVC_KEI_KAISEN_UCWK_NO)},
				{EKU0021D010CBSMsg.MSKMSHO_NO, ""},
				{EKU0021D010CBSMsg.MKMSDTL_NO, ""},
				{EKU0021D010CBSMsg.MSKM_DTL_NO, mskm_dtl_no},
				{EKU0021D010CBSMsg.OLD_MSKM_DTL_NO, ""},
				{EKU0021D010CBSMsg.MSKMSHO_ARIV_YMD, JPCBPCommon.getOpeDate(null)},
				{EKU0021D010CBSMsg.MSKM_UK_YMD, JPCBPCommon.getOpeDate(null)},
				{EKU0021D010CBSMsg.KOJI_UK_CD, KOJI_UK_CD_KAISEN_CHG},
				{EKU0021D010CBSMsg.KOJI_UK_DTAIL_CD, KOJI_UK_DTAIL_CD_SPD_CHG},
				{EKU0021D010CBSMsg.KOJI_UK_OPTNTY_IDO_DIV, (String)ccMsg.get("ido_div")},
				{EKU0021D010CBSMsg.KOJI_UK_OPTNTY_IDO_DTM, JPCBPCommon.getOpeDateTimeStamp(null)},
				{EKU0021D010CBSMsg.SVC_CD, getEkk0081a010Data(temporaryData, EKK0081A010CBSMsg1List.SVC_CD)},
				{EKU0021D010CBSMsg.PRC_GRP_CD, getEkk1681b001Data(temporaryData, EKK1681B001CBSMsg1List.OLD_PRC_GRP_CD)},
				{EKU0021D010CBSMsg.PCRS_CD, getEkk1681b001Data(temporaryData, EKK1681B001CBSMsg1List.OLD_PCRS_CD)},
				{EKU0021D010CBSMsg.PPLAN_CD, getEkk1681b001Data(temporaryData, EKK1681B001CBSMsg1List.OLD_PPLAN_CD)},
				// OM-2021-0000363 2021/09/03 MOD START
//				{EKU0021D010CBSMsg.WRIB_TYPE_CD, ""},
				{EKU0021D010CBSMsg.WRIB_TYPE_CD, getSkwrWribTypeCD(temporaryData)},
				// OM-2021-0000363 2021/09/03 MOD END
				{EKU0021D010CBSMsg.CHGB_PRC_GRP_CD, getEkk1681b001Data(temporaryData, EKK1681B001CBSMsg1List.NEW_PRC_GRP_CD)},
				{EKU0021D010CBSMsg.CHGB_PCRS_CD, getEkk1681b001Data(temporaryData, EKK1681B001CBSMsg1List.NEW_PCRS_CD)},
				{EKU0021D010CBSMsg.CHGB_PPLAN_CD, getEkk1681b001Data(temporaryData, EKK1681B001CBSMsg1List.NEW_PPLAN_CD)},
				// OM-2021-0000363 2021/09/03 MOD START
//				{EKU0021D010CBSMsg.CHGB_WRIB_TYPE_CD, ""},
				{EKU0021D010CBSMsg.CHGB_WRIB_TYPE_CD, getSkwrWribTypeCD(temporaryData)},
				// OM-2021-0000363 2021/09/03 MOD END
				{EKU0021D010CBSMsg.ADD_MOTO_SVC_KEI_NO, ""},
				{EKU0021D010CBSMsg.MENKAIHAT_ANKEN_NO, ""},
				{EKU0021D010CBSMsg.MNKHT_KOJI_CD, ""},
				{EKU0021D010CBSMsg.PON_SKBT_CD, getEkk0251b003Data(temporaryData, EKK0251B003CBSMsg1List.PON_SBT_CD)},
				{EKU0021D010CBSMsg.SYSID, getEkk0081a010Data(temporaryData, EKK0081A010CBSMsg1List.SYSID)},
				{EKU0021D010CBSMsg.CUST_NM, getEck0011a010Data(temporaryData, ECK0011A010CBSMsg1List.CUST_NM)},
				{EKU0021D010CBSMsg.CUST_KANA, getEck0011a010Data(temporaryData, ECK0011A010CBSMsg1List.CUST_KANA)},
				{EKU0021D010CBSMsg.CUST_HOME_TEL_NO, getEkk0251b003Data(temporaryData, EKK0251B003CBSMsg1List.KAISEN_PLACE_TELNO)},
				{EKU0021D010CBSMsg.CUST_KTAI_TEL_NO, getEck0201b505Data(temporaryData, "2")},
				{EKU0021D010CBSMsg.CUST_RRKS_TEL_NO, getEck0011a010Data(temporaryData, ECK0011A010CBSMsg1List.KEISHA_TELNO)},
				{EKU0021D010CBSMsg.RRKS_OFFC_NM, ""},
				{EKU0021D010CBSMsg.KEISHA_AD_MAN_INPUT_FLG, getEck0011a010Data(temporaryData, ECK0011A010CBSMsg1List.KEISHA_AD_MAN_INPUT_FLG)},
				{EKU0021D010CBSMsg.KEISHA_AD_CD, getEck0011a010Data(temporaryData, ECK0011A010CBSMsg1List.KEISHA_AD_CD)},
				{EKU0021D010CBSMsg.KEISHA_PCD, getEck0011a010Data(temporaryData, ECK0011A010CBSMsg1List.KEISHA_PCD)},
				{EKU0021D010CBSMsg.KEISHA_STATE_NM, getEck0011a010Data(temporaryData, ECK0011A010CBSMsg1List.KEISHA_STATE_NM)},
				{EKU0021D010CBSMsg.KEISHA_CITY_NM, getEck0011a010Data(temporaryData, ECK0011A010CBSMsg1List.KEISHA_CITY_NM)},
				{EKU0021D010CBSMsg.KEISHA_OAZTSU_NM, getEck0011a010Data(temporaryData, ECK0011A010CBSMsg1List.KEISHA_OAZTSU_NM)},
				{EKU0021D010CBSMsg.KEISHA_AZCHO_NM, getEck0011a010Data(temporaryData, ECK0011A010CBSMsg1List.KEISHA_AZCHO_NM)},
				{EKU0021D010CBSMsg.KEISHA_AD_BNCHIGO, getEck0011a010Data(temporaryData, ECK0011A010CBSMsg1List.KEISHA_BNCHIGO)},
				{EKU0021D010CBSMsg.KEISHA_ADRTTM, getEck0011a010Data(temporaryData, ECK0011A010CBSMsg1List.KEISHA_ADRTTM)},
				{EKU0021D010CBSMsg.KEISHA_ADRRM, getEck0011a010Data(temporaryData, ECK0011A010CBSMsg1List.KEISHA_ADRRM)},
				{EKU0021D010CBSMsg.SEIKY_KEI_NO, getEkk0321b005Data(temporaryData, EKK0321B005CBSMsg1List.SEIKY_KEI_NO)},
				{EKU0021D010CBSMsg.PLACE_NO, getEkk0251b003Data(temporaryData, EKK0251B003CBSMsg1List.KAISEN_PLACE_NO)},
				{EKU0021D010CBSMsg.SETPLACE_AD_CD, getEkk0251b003Data(temporaryData, EKK0251B003CBSMsg1List.KAISEN_PLACE_AD_CD)},
				{EKU0021D010CBSMsg.SETPLACE_PCD, getEkk0251b003Data(temporaryData, EKK0251B003CBSMsg1List.KAISEN_PLACE_PCD)},
				{EKU0021D010CBSMsg.SETPLACE_STATE_NM, getEkk0251b003Data(temporaryData, EKK0251B003CBSMsg1List.KAISEN_PLACE_STATE_NM)},
				{EKU0021D010CBSMsg.SETPLACE_CITY_NM, getEkk0251b003Data(temporaryData, EKK0251B003CBSMsg1List.KAISEN_PLACE_CITY_NM)},
				{EKU0021D010CBSMsg.SETPLACE_OAZTSU_NM, getEkk0251b003Data(temporaryData, EKK0251B003CBSMsg1List.KAISEN_PLACE_OAZTSU_NM)},
				{EKU0021D010CBSMsg.SETPLACE_AZCHO_NM, getEkk0251b003Data(temporaryData, EKK0251B003CBSMsg1List.KAISEN_PLACE_AZCHO_NM)},
				{EKU0021D010CBSMsg.SETPLACE_AD_BNCHIGO, getEkk0251b003Data(temporaryData, EKK0251B003CBSMsg1List.KAISEN_PLACE_BNCHIGO)},
				{EKU0021D010CBSMsg.SETPLACE_ADRTTM, getEkk0251b003Data(temporaryData, EKK0251B003CBSMsg1List.KAISEN_PLACE_ADRTTM)},
				{EKU0021D010CBSMsg.SETPLACE_ADRRM, getEkk0251b003Data(temporaryData, EKK0251B003CBSMsg1List.KAISEN_PLACE_ADRRM)},
				{EKU0021D010CBSMsg.KOJI_SAKI_AD_MI_FIX_FLG, getEkk0251b003Data(temporaryData, EKK0251B003CBSMsg1List.KISN_PLC_AD_MI_FIX_FLG)},
				{EKU0021D010CBSMsg.KAISEN_PLACE_TELNO, getEkk0251b003Data(temporaryData, EKK0251B003CBSMsg1List.KAISEN_PLACE_TELNO)},
				{EKU0021D010CBSMsg.KEPCO_BUSIOFFICE_NO, getEkk0251b003Data(temporaryData, EKK0251B003CBSMsg1List.KEPCO_BUSIOFFICE_CD)},
				{EKU0021D010CBSMsg.LGTD, getEkk0251b003Data(temporaryData, EKK0251B003CBSMsg1List.LGTD)},
				{EKU0021D010CBSMsg.LTTD, getEkk0251b003Data(temporaryData, EKK0251B003CBSMsg1List.LTTD)},
				{EKU0021D010CBSMsg.ZAHYO_HOSEI_UM, getEkk0251b003Data(temporaryData, EKK0251B003CBSMsg1List.ZAHYO_HOSEI_UM)},
				{EKU0021D010CBSMsg.AD_FORM_CD, ""},
				{EKU0021D010CBSMsg.NYUKYO_FLR_CNT_CD, ""},
				{EKU0021D010CBSMsg.KCKU_FLR_CNT_CD, ""},
				{EKU0021D010CBSMsg.DIRECTION_CD_1, ""},
				{EKU0021D010CBSMsg.DIRECTION_CD_2, ""},
				{EKU0021D010CBSMsg.TENTAKU_BF_AD_CD, ""},
				{EKU0021D010CBSMsg.TENTAKU_BF_PCD, ""},
				{EKU0021D010CBSMsg.TENTAKU_BF_STATE_NM, ""},
				{EKU0021D010CBSMsg.TENTAKU_BF_CITY_NM, ""},
				{EKU0021D010CBSMsg.TENTAKU_BF_OAZTSU_NM, ""},
				{EKU0021D010CBSMsg.TENTAKU_BF_AZCHO_NM, ""},
				{EKU0021D010CBSMsg.TENTAKU_BF_AD_BNCHIGO, ""},
				{EKU0021D010CBSMsg.TENTAKU_BF_ADRTTM, ""},
				{EKU0021D010CBSMsg.TENTAKU_BF_ADRRM, ""},
				{EKU0021D010CBSMsg.NEWCONST_BUKKEN_CD, ""},
				{EKU0021D010CBSMsg.HUKKAT_ANKEN_FLG, ""},
				{EKU0021D010CBSMsg.SAME_EQUIP_RE_MSKM_CD, ""},
				{EKU0021D010CBSMsg.OPSVKEI_HKTGI_FLG, getEkk0021A010Data(temporaryData, EKK0021A010CBSMsg1List.OP_SVC_HKTGI_UM)},
				{EKU0021D010CBSMsg.KOJI_SCOPE_CD, ""},
				{EKU0021D010CBSMsg.ISETSU_CD, ""},
				{EKU0021D010CBSMsg.KOJI_KIBO_YMD, ""},
				{EKU0021D010CBSMsg.SHUNKO_RSV_YMD, ""},
				{EKU0021D010CBSMsg.NYUKYO_RSV_YMD, ""},
				{EKU0021D010CBSMsg.HIKIWATASHI_RSV_YMD, ""},
				{EKU0021D010CBSMsg.EPOWER_SODEN_RSV_YMD, ""},
				{EKU0021D010CBSMsg.TEL_RRK_KIBO_YMD, ""},
				{EKU0021D010CBSMsg.TEL_RRK_KIBO_TIME_CD, ""},
				{EKU0021D010CBSMsg.TAKCHO_KIBO_APO_KIGEN_YMD, ""},
				{EKU0021D010CBSMsg.TNKJ_KIBO_APO_KIGEN_YMD, ""},
				{EKU0021D010CBSMsg.KOJI_APO_RRKS_SHITEI_CD, ""},
				{EKU0021D010CBSMsg.RRK_WAY_CD, ""},
				{EKU0021D010CBSMsg.RRK_WAY_HOKI, ""},
				{EKU0021D010CBSMsg.KOJIAK_BIKO, ""},
				{EKU0021D010CBSMsg.KOJIAK_BIKO_1, ""},
				{EKU0021D010CBSMsg.KOJIAK_BIKO_2, ""},
				{EKU0021D010CBSMsg.DMPSANK_SBT_CD, ""},
				{EKU0021D010CBSMsg.KEPCO_CTINFO_JUJU_DOI_UM, ""},
				{EKU0021D010CBSMsg.CUST_SOS_USE_UM, ""},
				{EKU0021D010CBSMsg.FAMILY_KEI_FLG, getFamilyKeiFlg(temporaryData)},
				{EKU0021D010CBSMsg.BMP_DOJI_KJ_KIBO_UM, ""},
				{EKU0021D010CBSMsg.AD_CHG_TEKKYO_KJAK_NO, ""},
				{EKU0021D010CBSMsg.TV_KEI_SHOSA_STAY_UM, ""},
				{EKU0021D010CBSMsg.PCRS_PON_JOKEN_CD, getEkk0791A010Data(temporaryData, EKK0791A010CBSMsg1List.PCRS_PON_JOKEN_CD)},
			};
		
		// 
		callSC(handle, scCall, param, fixedText, eku0021d010In);
		
		return true;
	}
	
	
	
	/**
	 * SC(サービスインターフェイス）を呼び出す。
	 * 
	 * @param handle
	 * @param scCall
	 * @param param
	 * @param dataMapKey
	 * @param mappingData
	 * @return CAANMsg
	 * @throws Exception
	 */
	@SuppressWarnings("unchecked")
	private CAANMsg callSC(SessionHandle handle, ServiceComponentRequestInvoker scCall, IRequestParameterReadWrite param, String dataMapKey,
			Object[][] mappingData) throws Exception
	{
		HashMap<String, Object> paramMap = editInMsg(param, mappingData);

		Map<?, ?> result = scCall.run(paramMap, handle);

		CAANMsg[] templates = (CAANMsg[])result.get(JCMConstants.TEMPLATE_LIST_KEY);
		CAANMsg msg = templates[0];

		// リターンコード取得
		Object return_code = result.get(JCMConstants.RET_CD_INT_KEY);
		int status = msg.getInt(JCMConstants.STATUS_INT_KEY);

		editErrorInfoCom(param, templates, (Integer)return_code, dataMapKey, mappingData);

		// エラー情報のマップを取得
		ArrayList<Object> errList = (ArrayList<Object>)param.getControlMapData(SCControlMapKeys.ERROR_INFO);
		if(errList == null)
		{
			errList = new ArrayList<Object>();
		}

		// コントロールマップに設定
		param.setControlMapData(SCControlMapKeys.ERROR_INFO, TemplateErrorUtil.getErrorInfo(result, errList));

		// 異常の場合、SCCallExceptionを生成してスローする
		if(!("0".equals(return_code.toString()) && 0 == status))
		{
			// 警告の場合、例外をスローしない
			if(!("0".equals(return_code.toString()) && 4 == status))
			{
				throw new SCCallException("戻り値不正", return_code.toString(), status);
			}
		}
		return msg;
	}
	
	/**
	 * 
	 * @param param
	 * @param templates
	 * @param returnCode
	 * @param dataMapKey
	 * @param mappingData
	 * @return IRequestParameterReadWrite
	 * @throws RequestParameterException
	 */
	@SuppressWarnings("unchecked")
	private IRequestParameterReadWrite editErrorInfoCom(IRequestParameterReadWrite param, CAANMsg[] templates, int returnCode, String dataMapKey,
			Object[][] mappingData) throws RequestParameterException
	{
		// 本来はサービスインターフェイス分の処理が必要
		CAANMsg template = templates[0];
		int templateStatus = template.getInt(JCMConstants.STATUS_INT_KEY);

		if(returnCode != 0)
		{
			templateStatus = 9000;
		}

		if(JCMAPLConstMgr.getString("RETURN_MESSAGE_" + String.format("%1$04d", templateStatus)) == null)
		{
			templateStatus = 0;
		}

		int bpStatus = 0;
		Object obj = param.getControlMapData(SCControlMapKeys.RETURN_CODE);
		if(obj == null)
		{
			bpStatus = -1;
		}
		else
		{
			bpStatus = Integer.parseInt((String)param.getControlMapData(SCControlMapKeys.RETURN_CODE));
		}

		if(templateStatus > bpStatus)
		{
			// BPにサービスコンポーネントのステータスを設定する。
			String formatStatus = String.format("%1$04d", templateStatus);
			String message = JCMAPLConstMgr.getString("RETURN_MESSAGE_" + formatStatus);
			param.setControlMapData(SCControlMapKeys.RETURN_CODE, formatStatus);
			param.setControlMapData(SCControlMapKeys.RETURN_MESSAGE, message);
		}

		HashMap<String, String> inMap = null;

		// ユーザデータ情報
		inMap = (HashMap<String, String>)param.getData(dataMapKey);

		for (int i = 0; i < mappingData.length; i++)
		{
			if(!template.isNull(mappingData[i][0] + "_err"))
			{
				if(!inMap.containsKey(mappingData[i][0] + "_err"))
				{
					inMap.put(mappingData[i][0] + "_err", template.getString(mappingData[i][0] + "_err"));
				}
			}
		}
		return param;
	}
	
	/**
	 * @param param
	 * @param mappingData
	 * @return HashMap<String, Object>
	 * @throws RequestParameterException
	 */
	private HashMap<String, Object> editInMsg(IRequestParameterReadWrite param, Object[][] mappingData) throws RequestParameterException
	{
		HashMap<String, Object> paramMap = new HashMap<String, Object>();

		// 【取得元：電文ヘッダ(ヘッダ)】
		// 電文ID
		paramMap.put(JCMConstants.TRANZACTION_ID_KEY, param.getTelegramID());
		// ユースケースID
		paramMap.put(JCMConstants.USECASE_ID_KEY, param.getUsecaseID());
		// オペレーションID
		paramMap.put(JCMConstants.OPERATION_ID_KEY, param.getOperationID());
		// サービス呼び出し区分
		paramMap.put(JCMConstants.CALL_TYPE_KEY, param.getCallType());

		// 【取得元：ユーザエリア(コントロールマップ)】
		// 依頼先ホスト名
		paramMap.put(JCMConstants.CLIENT_HOST_NAME_KEY, param.getControlMapData(SCControlMapKeys.REQ_HOSTNAME));
		// 依頼元IPアドレス
		paramMap.put(JCMConstants.CLIENT_IP_ADDRESS_KEY, param.getControlMapData(SCControlMapKeys.REQ_HOSTIP));
		// 依頼元画面ID
		paramMap.put(JCMConstants.INVOKE_GAMEN_ID_KEY, param.getControlMapData(SCControlMapKeys.REQ_VIEWID));
		// オペレータID
		paramMap.put(JCMConstants.OPERATOR_ID_KEY, param.getControlMapData(SCControlMapKeys.OPERATOR_ID));

		String svcIf = (String)mappingData[0][1];

		CAANMsg template = new CAANMsg(String.format("eo.ejb.cbs.cbsmsg.%sCBSMsg", svcIf));

		// オペレータID
		template.set(JCMConstants.OPERATOR_ID_KEY, param.getControlMapData(SCControlMapKeys.OPERATOR_ID));
		// 運用日付
		template.set(JCMConstants.OPERATE_DATE_KEY, param.getControlMapData(SCControlMapKeys.OPE_DATE));
		// 運用日時
		template.set(JCMConstants.OPERATE_DATETIME_KEY, param.getControlMapData(SCControlMapKeys.OPE_TIME));

		for (int i = 0; i < mappingData.length; i++)
		{
			if("".equals(mappingData[i][1]))
			{
				template.setNull((String)mappingData[i][0]);
			}
			else
			{
				template.set((String)mappingData[i][0], mappingData[i][1]);
			}
		}

		CAANMsg[] templates = new CAANMsg[1];
		templates[0] = template;
		paramMap.put(JCMConstants.TEMPLATE_LIST_KEY, templates);

		return paramMap;
	}

	/**
	 * 処理実行判定。<br>
	 * 	コース変更の工事が完了している　かつ
	 * 	異動予約の料金コースが変更されている　かつ
	 * 	料金グループコードが02、03、04の場合
	 * <br>
	 * @param handle 
	 * @param scCall CAANMsgクラス配列
	 * @param param リターンコード
	 * @param fixedText ユーザ任意文字列
	 * @param temporaryData
	 * @return 実行：true 実行しない：false
	 * @throws Exception 
	 * @throws RequestParameterException 
	 * @throws Throwable
	 */
	private boolean isExecHantei(SessionHandle handle
									, ServiceComponentRequestInvoker scCall
									, IRequestParameterReadWrite param
									, String fixedText
									, HashMap<String, Object> temporaryData) throws Exception
	{
		
		// 対象データが「ｅｏ光ネットホームタイプ」「ｅｏ光ネットメゾンタイプ」「ｅｏ光ネットマンションタイプ」以外は処理しません。
		if(!isPcrsGrpCdHantei(param, fixedText, temporaryData))
		{
			return false;
		}
		
		// 異動予約の料金コースが変更されていない場合は処理しません。
		if(!isIdoRsvHantei(param, fixedText, temporaryData))
		{
			return false;
		}
		
		// 工事案件が完了していない場合、実行しません。
		if(!isKojiFinHantei(param, fixedText, temporaryData))
		{
			return false;
		}
		
		
		return true;
	}
	
	
	/**
	 * 処理実行判定。<br>
	 * 	料金グループコードが02、03、04以外の場合実行しない
	 * <br>
	 * @param param リターンコード
	 * @param fixedText ユーザ任意文字列
	 * @param temporaryData
	 * @return 実行：true 実行しない：false
	 * @throws Exception 
	 */
	private boolean isPcrsGrpCdHantei(IRequestParameterReadWrite param
									, String fixedText
									, HashMap<String, Object> temporaryData) throws Exception
	{
		// サービス契約情報を取得します。
		HashMap KKSV039536SC = (HashMap)param.getData("KKSV039536SC");
		
		if(KKSV039536SC == null)
		{
			return false;
		}
		
		CAANMsg[] ekk0081a010cbsMsg1list = (CAANMsg[])KKSV039536SC.get(EKK0081A010_SearchData);
		
		if(ekk0081a010cbsMsg1list == null || ekk0081a010cbsMsg1list.length == 0)
		{
			return false;
		}
		
		CAANMsg ekk0081a010Msg = ekk0081a010cbsMsg1list[0];
		
		String pcrsGrpCd = getNullToStr(ekk0081a010Msg.getString(EKK0081A010CBSMsg1List.PRC_GRP_CD));
		
		// ｅｏ光ネットホームタイプ、ｅｏ光ネットメゾンタイプ、ｅｏ光ネットマンションタイプ
		if(!PRC_GRP_CD_NET_HOME.equals(pcrsGrpCd) && !PRC_GRP_CD_NET_MEZ.equals(pcrsGrpCd) && !PRC_GRP_CD_NET_MANS.equals(pcrsGrpCd))
		{
			return false;
		}
		
		temporaryData.put(EKK0081A010_SearchData, ekk0081a010Msg);
		
		return true;
	}
	
	/**
	 * 処理実行判定。<br>
	 * 	異動予約の料金コースが変更されていない場合、処理しません
	 * <br>
	 * @param param リターンコード
	 * @param fixedText ユーザ任意文字列
	 * @param temporaryData
	 * @return 実行：true 実行しない：false
	 * @throws Exception 
	 */
	private boolean isIdoRsvHantei(IRequestParameterReadWrite param
									, String fixedText
									, HashMap<String, Object> temporaryData) throws Exception
	{
	
		// 異動予約のデータを取得します。
		HashMap KKSV039539CC = (HashMap)param.getData("KKSV039539CC");
		
		if(KKSV039539CC == null)
		{
			return false;
		}
		
		CAANMsg[] ekk1681b001cbsMsg1list = (CAANMsg[])KKSV039539CC.get(EKK1681B001_SearchData);
		
		if(ekk1681b001cbsMsg1list == null || ekk1681b001cbsMsg1list.length == 0)
		{
			return false;
		}
		
		// 異動予約詳細コード(取得しているものは有効なものです)
		String idoRsvDtlCd = "";
		
		CAANMsg ekk1681b001Msg = null;
		
		for(int i=0;i<ekk1681b001cbsMsg1list.length;i++)
		{
			
			idoRsvDtlCd = getNullToStr(ekk1681b001cbsMsg1list[i].getString(EKK1681B001CBSMsg1List.IDO_RSV_DTL_CD));
			
			if(IDO_RSV_DTL_CD_COURSE_CHG.equals(idoRsvDtlCd))
			{
				ekk1681b001Msg = ekk1681b001cbsMsg1list[i];
				break;
			}
		}
		
		if(ekk1681b001Msg == null)
		{
			return false;
		}
		
		String oldPrceCd = getNullToStr(ekk1681b001Msg.getString(EKK1681B001CBSMsg1List.OLD_PCRS_CD));
		String newPrceCd = getNullToStr(ekk1681b001Msg.getString(EKK1681B001CBSMsg1List.NEW_PCRS_CD));
		
		// コースが変更されていない場合、処理しません。
		if(oldPrceCd.equals(newPrceCd))
		{
			return false;
		}
		
		temporaryData.put(EKK1681B001_SearchData, ekk1681b001Msg);
		
		return true;
	}
	
	/**
	 * 処理実行判定。<br>
	 * 	コース変更の工事案件が工事完了していない場合処理しません。
	 * <br>
	 * @param param リターンコード
	 * @param fixedText ユーザ任意文字列
	 * @param temporaryData
	 * @return 実行：true 実行しない：false
	 * @throws Exception 
	 */
	private boolean isKojiFinHantei(IRequestParameterReadWrite param
									, String fixedText
									, HashMap<String, Object> temporaryData) throws Exception
	{
		// 工事案件データを取得します。
		HashMap KKSV039537CC = (HashMap)param.getData("KKSV039537CC");
		
		if(KKSV039537CC == null)
		{
			return false;
		}
		
		CAANMsg[] eku0011b090cbsMsg1list = (CAANMsg[])KKSV039537CC.get(EKU0011B090_SearchData);
		
		if(eku0011b090cbsMsg1list == null || eku0011b090cbsMsg1list.length == 0)
		{
			return false;
		}

//		String kojiAkSbtCd = "";
//		String kojiAkStat = "";
//		
//		// プラン変更の工事が工事中の場合処理しません。
//		for(int i=0;i<eku0011b090cbsMsg1list.length;i++)
//		{
//			kojiAkSbtCd = getNullToStr(eku0011b090cbsMsg1list[i].getString(EKU0011B090CBSMsg1List.KOJIAK_SBT_CD));
//			kojiAkStat = getNullToStr(eku0011b090cbsMsg1list[i].getString(EKU0011B090CBSMsg1List.KOJIAK_STAT));
//			
//			// 工事案件種別コードがプラン変更
//			if(KOUJIAK_SBT_PLAN_CHG.equals(kojiAkSbtCd))
//			{
//				// 工事案件ステータスが完了以外（工事中）
//				if(KOUJIAK_STAT_FIN.equals(kojiAkStat)){
//					
//					return false;
//				}
//				
//			}
//		}
		
		temporaryData.put(EKU0011B090_SearchData, eku0011b090cbsMsg1list);
		
		// 工事完了判定フラグ(1：完了 0：未完了または工事なし)
		String kojiFinFlg = (String)KKSV039537CC.get(KOJIFINAL_FLG);
		if("0".equals(kojiFinFlg))
		{
			return false;
		}
		
		
		return true;
	}
	
	/**
	 * お客様情報検索<br>
	 * <br>
	 * @param handle 
	 * @param scCall 
	 * @param param 
	 * @param fixedText ユーザ任意文字列
	 * @param temporaryData
	 * @return 実行：true 実行しない：false
	 * @throws Exception 
	 */
	private void setEKK0081A010(SessionHandle handle
									, ServiceComponentRequestInvoker scCall
									, IRequestParameterReadWrite param
									, String fixedText
									, HashMap<String, Object> temporaryData) throws Exception
	{
		
		String sysId = getEkk0081a010Data(temporaryData, EKK0081A010CBSMsg1List.SYSID);
		
		Object[][] eck0011a010In = {
				{ECK0011A010CBSMsg.TEMPLATEID,       TEMPLATE_ID_ECK0011A010},
				{ECK0011A010CBSMsg.FUNC_CODE,        "2"},
				{ECK0011A010CBSMsg.KEY_SYSID,        sysId},
				{ECK0011A010CBSMsg.KEY_RSV_APLY_YMD, JPCBPCommon.getOpeDate(null)},
			};
		
		CAANMsg[] eck0011a010Out = callSC(handle, scCall, param, fixedText, eck0011a010In).getCAANMsgList(ECK0011A010CBSMsg.ECK0011A010CBSMSG1LIST);
		
		
		temporaryData.put(TEMPLATE_ID_ECK0011A010, eck0011a010Out[0]);
		
	}
	
	/**
	 * サービス契約回線内訳一覧照会（現在利用中）<br>
	 * <br>
	 * @param handle 
	 * @param scCall 
	 * @param param 
	 * @param fixedText ユーザ任意文字列
	 * @param temporaryData
	 * @return 実行：true 実行しない：false
	 * @throws Exception 
	 */
	private void setEKK0251B003(SessionHandle handle
									, ServiceComponentRequestInvoker scCall
									, IRequestParameterReadWrite param
									, String fixedText
									, HashMap<String, Object> temporaryData) throws Exception
	{
		
		String svcKeiNo = getEkk0081a010Data(temporaryData, EKK0081A010CBSMsg1List.SVC_KEI_NO);

		// ***** EKK0251B003（サービス契約回線内訳一覧照会（現在利用中））*****
		Object[][] ekk0251b003IN = {
									{ EKK0251B003CBSMsg.TEMPLATEID, TEMPLATE_ID_EKK0251B003 },
									{ EKK0251B003CBSMsg.FUNC_CODE, "1" },
									{ EKK0251B003CBSMsg.KEY_SVC_KEI_NO, svcKeiNo }
		};
	
		CAANMsg ekk0251b003cbsMsg = callSC(handle, scCall, param, fixedText, ekk0251b003IN).getCAANMsgList(EKK0251B003CBSMsg.EKK0251B003CBSMSG1LIST)[0];
	
		temporaryData.put(TEMPLATE_ID_EKK0251B003, ekk0251b003cbsMsg);
	}
	
	/**
	 * 料金コースデータ取得<br>
	 * <br>
	 * @param handle 
	 * @param scCall 
	 * @param param 
	 * @param fixedText ユーザ任意文字列
	 * @param temporaryData
	 * @return 実行：true 実行しない：false
	 * @throws Exception 
	 */
	private void setEkk0791a010(SessionHandle handle
								, ServiceComponentRequestInvoker scCall
								, IRequestParameterReadWrite param
								, String fixedText
								, HashMap<String, Object> temporaryData) throws Exception
	{
		
		String pcrsCd = getEkk1681b001Data(temporaryData, EKK1681B001CBSMsg1List.OLD_PCRS_CD);
		
		// ***** EKK0791A010（料金コース一意照会）******
		Object[][] ekk0791a010IN = {
				{ EKK0791A010CBSMsg.TEMPLATEID, TEMPLATE_ID_EKK0791A010 },
				{ EKK0791A010CBSMsg.FUNC_CODE, "2" }, 
				{ EKK0791A010CBSMsg.KEY_PCRS_CD, pcrsCd },
				{ EKK0791A010CBSMsg.KEY_RSV_APLY_YMD, JPCBPCommon.getOpeDate(null) },
		};

		// 料金コース一意照会サービスインターフェイスの実行
		CAANMsg[] ekk0791a010cbsMsg1list = callSC(handle, scCall, param, fixedText, ekk0791a010IN).getCAANMsgList(EKK0791A010CBSMsg.EKK0791A010CBSMSG1LIST);

		temporaryData.put(TEMPLATE_ID_EKK0791A010, ekk0791a010cbsMsg1list[0]);
	}
	
	/**
	 * 連絡先一覧照会（SYSID・連絡先コード）取得<br>
	 * <br>
	 * @param handle 
	 * @param scCall 
	 * @param param 
	 * @param fixedText ユーザ任意文字列
	 * @param temporaryData
	 * @return 実行：true 実行しない：false
	 * @throws Exception 
	 */
	private void setEck0201b505(SessionHandle handle
								, ServiceComponentRequestInvoker scCall
								, IRequestParameterReadWrite param
								, String fixedText
								, HashMap<String, Object> temporaryData) throws Exception
	{
		String sysId = getEkk0081a010Data(temporaryData, EKK0081A010CBSMsg1List.SYSID);
		
		// ***** ECK0201B505（連絡先一覧照会（SYSID・連絡先コード））******
		Object[][] eck0201b505IN = {
				{ ECK0201B505CBSMsg.TEMPLATEID, TEMPLATE_ID_ECK0201B505 },
				{ ECK0201B505CBSMsg.FUNC_CODE, "1" }, 
				{ ECK0201B505CBSMsg.KEY_SYSID, sysId },
				{ ECK0201B505CBSMsg.KEY_RRKS_CD, "" },
		};

		// 連絡先一覧照会（SYSID・連絡先コード）サービスインターフェイスの実行
		CAANMsg[] eck0201b505cbsMsg1list = callSC(handle, scCall, param, fixedText, eck0201b505IN).getCAANMsgList(ECK0201B505CBSMsg.ECK0201B505CBSMSG1LIST);
		
		temporaryData.put(TEMPLATE_ID_ECK0201B505, eck0201b505cbsMsg1list);
	}
	
	/**
	 * 割引サービス契約一覧照会取得<br>
	 * <br>
	 * @param handle 
	 * @param scCall 
	 * @param param 
	 * @param fixedText ユーザ任意文字列
	 * @param temporaryData
	 * @return 実行：true 実行しない：false
	 * @throws Exception 
	 */
	private void setEkk0451b001(SessionHandle handle
								, ServiceComponentRequestInvoker scCall
								, IRequestParameterReadWrite param
								, String fixedText
								, HashMap<String, Object> temporaryData) throws Exception
	{
		String svcKeiNo = getEkk0081a010Data(temporaryData, EKK0081A010CBSMsg1List.SVC_KEI_NO);
		
		// ***** EKK0451B001（割引サービス契約一覧照会）******
		Object[][] ekk0451b001IN = {
				{ EKK0451B001CBSMsg.TEMPLATEID, TEMPLATE_ID_EKK0451B001 },
				{ EKK0451B001CBSMsg.FUNC_CODE, "1" }, 
				{ EKK0451B001CBSMsg.KEY_SYSID, "" },
				{ EKK0451B001CBSMsg.KEY_SVC_KEI_NO, svcKeiNo },
				{ EKK0451B001CBSMsg.KEY_SVC_KEI_UCWK_NO, "" },
				{ EKK0451B001CBSMsg.KEY_OP_SVC_KEI_NO, "" },
				{ EKK0451B001CBSMsg.KEY_SBOP_SVC_KEI_NO, "" },
				{ EKK0451B001CBSMsg.KEY_KKTK_SVC_KEI_NO, "" },
				{ EKK0451B001CBSMsg.KEY_SEIOP_SVC_KEI_NO, "" },
		};

		// 連絡先一覧照会（SYSID・連絡先コード）サービスインターフェイスの実行
		CAANMsg[] EKK0451B001cbsMsg1list = callSC(handle, scCall, param, fixedText, ekk0451b001IN).getCAANMsgList(EKK0451B001CBSMsg.EKK0451B001CBSMSG1LIST);
		
		temporaryData.put(TEMPLATE_ID_EKK0451B001, EKK0451B001cbsMsg1list);
	}
	
	/**
	 * サービス契約履歴一覧取得<br>
	 * <br>
	 * @param handle 
	 * @param scCall 
	 * @param param 
	 * @param fixedText ユーザ任意文字列
	 * @param temporaryData
	 * @return 実行：true 実行しない：false
	 * @throws Exception 
	 */
	private void setOptionSvcKeiHktgFlg(SessionHandle handle
										, ServiceComponentRequestInvoker scCall
										, IRequestParameterReadWrite param
										, String fixedText
										, HashMap<String, Object> temporaryData) throws Exception
	{
		
		// サービス契約履歴一覧照会
		CAANMsg[] ekk0081b024cbsMsg1list = getEkk0081b024(handle, scCall, param, fixedText, temporaryData);
		
		CAANMsg ekk0081b024cbsMsg = null;
		String mskmDtlNo = "";
		// 最初に設定された申込明細番号を取得します。
		for (int i = ekk0081b024cbsMsg1list.length-1; i >= 0; i--)
		{
			ekk0081b024cbsMsg = ekk0081b024cbsMsg1list[i];
			
			if(!ekk0081b024cbsMsg.isNull(EKK0081B024CBSMsg1List.MSKM_DTL_NO))
			{
				mskmDtlNo = getNullToStr(ekk0081b024cbsMsg.getString(EKK0081B024CBSMsg1List.MSKM_DTL_NO));
				break;
			}
		}
		
		// 申込明細一意照会
		setEkk0021a010(handle, scCall, param, fixedText, temporaryData, mskmDtlNo);

	}
	
	/**
	 * 申込明細一意照会取得<br>
	 * <br>
	 * @param handle 
	 * @param scCall 
	 * @param param 
	 * @param fixedText ユーザ任意文字列
	 * @param temporaryData
	 * @param mskmDtlNo
	 * @return 実行：true 実行しない：false
	 * @throws Exception 
	 */
	private void setEkk0021a010(SessionHandle handle
								, ServiceComponentRequestInvoker scCall
								, IRequestParameterReadWrite param
								, String fixedText
								, HashMap<String, Object> temporaryData
								, String mskmDtlNo) throws Exception
	{
		
		// ***** EKK0021A010（申込明細一意照会）******
		Object[][] ekk0021a010IN = {
				{ EKK0021A010CBSMsg.TEMPLATEID, TEMPLATE_ID_EKK0021A010 },
				{ EKK0021A010CBSMsg.FUNC_CODE, "2" }, 
				{ EKK0021A010CBSMsg.KEY_MSKM_DTL_NO, mskmDtlNo },
		};

		// 申込明細一意照会サービスインターフェイスの実行
		CAANMsg[] ekk0021a010cbsMsg1list = callSC(handle, scCall, param, fixedText, ekk0021a010IN).getCAANMsgList(EKK0021A010CBSMsg.EKK0021A010CBSMSG1LIST);
		
		temporaryData.put(TEMPLATE_ID_EKK0021A010, ekk0021a010cbsMsg1list[0]);
	}
	
	/**
	 * サービス契約履歴一覧照会取得<br>
	 * <br>
	 * @param handle 
	 * @param scCall 
	 * @param param 
	 * @param fixedText ユーザ任意文字列
	 * @param temporaryData
	 * @return 実行：true 実行しない：false
	 * @throws Exception 
	 */
	private CAANMsg[] getEkk0081b024(SessionHandle handle
								, ServiceComponentRequestInvoker scCall
								, IRequestParameterReadWrite param
								, String fixedText
								, HashMap<String, Object> temporaryData) throws Exception
	{
		String svcKeiNo = getEkk0081a010Data(temporaryData, EKK0081A010CBSMsg1List.SVC_KEI_NO);
		
		// ***** EKK0081B024（サービス契約履歴一覧照会）******
		Object[][] ekk0081b024IN = {
				{ EKK0081B024CBSMsg.TEMPLATEID, TEMPLATE_ID_EKK0081B024 },
				{ EKK0081B024CBSMsg.FUNC_CODE, "1" }, 
				{ EKK0081B024CBSMsg.KEY_SVC_KEI_NO, svcKeiNo },
		};

		// サービス契約履歴一覧照会サービスインターフェイスの実行
		CAANMsg[] EKK0081B024cbsMsg1list = callSC(handle, scCall, param, fixedText, ekk0081b024IN).getCAANMsgList(EKK0081B024CBSMsg.EKK0081B024CBSMSG1LIST);
		
		temporaryData.put(TEMPLATE_ID_EKK0081B024, EKK0081B024cbsMsg1list);
		
		return EKK0081B024cbsMsg1list;
	}
	
	/**
	 * 課金先一覧照会（サービス契約番号）取得<br>
	 * <br>
	 * @param handle 
	 * @param scCall 
	 * @param param 
	 * @param fixedText ユーザ任意文字列
	 * @param temporaryData
	 * @return 実行：true 実行しない：false
	 * @throws Exception 
	 */
	private void setEkk0321b005(SessionHandle handle
								, ServiceComponentRequestInvoker scCall
								, IRequestParameterReadWrite param
								, String fixedText
								, HashMap<String, Object> temporaryData) throws Exception
	{
		String svcKeiNo = getEkk0081a010Data(temporaryData, EKK0081A010CBSMsg1List.SVC_KEI_NO);
		
		// ***** EKK0321B005（課金先一覧照会（サービス契約番号））******
		Object[][] ekk0321b005IN = {
				{ EKK0321B005CBSMsg.TEMPLATEID, TEMPLATE_ID_EKK0321B005 },
				{ EKK0321B005CBSMsg.FUNC_CODE, "1" }, 
				{ EKK0321B005CBSMsg.KEY_SVC_KEI_NO, svcKeiNo },
		};

		// 課金先一覧照会（サービス契約番号）サービスインターフェイスの実行
		CAANMsg[] ekk0321b005cbsMsg1list = callSC(handle, scCall, param, fixedText, ekk0321b005IN).getCAANMsgList(EKK0321B005CBSMsg.EKK0321B005CBSMSG1LIST);
		
		temporaryData.put(TEMPLATE_ID_EKK0321B005, ekk0321b005cbsMsg1list[0]);
	}
	
	
	/**
	 * 電話番号取得<br>
	 * 
	 * お客様自宅電話番号
	 * 連絡先．連絡先種別コード＝1の連絡先．電話番号
	 * お客様携帯電話番号
	 * 連絡先．連絡先種別コード＝2の連絡先．電話番号
	 * <br>
	 * @param temporaryData
	 * @return String
	 */
	private String getEck0201b505Data(HashMap<String, Object> temporaryData, String rrskSbtCd) 
	{
		
		CAANMsg[] eck0201b505cbsMsg1list = (CAANMsg[])temporaryData.get(TEMPLATE_ID_ECK0201B505);
		
		if(eck0201b505cbsMsg1list == null || eck0201b505cbsMsg1list.length == 0)
		{
			return "";
		}
		
		String renSakiSbtCd = "";
		for(int i=0;i<eck0201b505cbsMsg1list.length;i++)
		{
			
			renSakiSbtCd = getNullToStr(eck0201b505cbsMsg1list[i].getString(ECK0201B505CBSMsg1List.RRKS_SBT_CD));
			
			if(rrskSbtCd.equals(renSakiSbtCd))
			{
				return getNullToStr(eck0201b505cbsMsg1list[i].getString(ECK0201B505CBSMsg1List.TELNO));
			}
			
		}
		
		return "";
	}
	
	
	
	/**
	 * サービス契約のデータ取得メソッド
	 * <br>
	 * @param temporaryData
	 * @param key
	 * @return カラムデータ
	 */
	private String getEkk0081a010Data(HashMap<String, Object> temporaryData, String key)
	{
		CAANMsg tableMsg = (CAANMsg)temporaryData.get(EKK0081A010_SearchData);
		
		if(tableMsg == null)
		{
			return "";
		}
		
		return getNullToStr(tableMsg.getString(key));
	}
	
	/**
	 * サービス契約回線内訳一覧照会（現在利用中）取得メソッド
	 * <br>
	 * @param temporaryData
	 * @param key
	 * @return カラムデータ
	 */
	private String getEkk0251b003Data(HashMap<String, Object> temporaryData, String key)
	{
		CAANMsg tableMsg = (CAANMsg)temporaryData.get(TEMPLATE_ID_EKK0251B003);
		
		if(tableMsg == null)
		{
			return "";
		}
		
		return getNullToStr(tableMsg.getString(key));
	}
	
	/**
	 * お客様情報取得メソッド
	 * <br>
	 * @param temporaryData
	 * @param key
	 * @return カラムデータ
	 */
	private String getEck0011a010Data(HashMap<String, Object> temporaryData, String key)
	{
		CAANMsg tableMsg = (CAANMsg)temporaryData.get(TEMPLATE_ID_ECK0011A010);
		
		if(tableMsg == null)
		{
			return "";
		}
		
		return getNullToStr(tableMsg.getString(key));
	}
	
	/**
	 * 異動予約情報取得メソッド
	 * <br>
	 * @param temporaryData
	 * @param key
	 * @return カラムデータ
	 */
	private String getEkk1681b001Data(HashMap<String, Object> temporaryData, String key)
	{
		CAANMsg tableMsg = (CAANMsg)temporaryData.get(EKK1681B001_SearchData);
		
		if(tableMsg == null)
		{
			return "";
		}
		
		return getNullToStr(tableMsg.getString(key));
	}
	
	/**
	 * 課金先情報取得メソッド
	 * <br>
	 * @param temporaryData
	 * @param key
	 * @return カラムデータ
	 */
	private String getEkk0321b005Data(HashMap<String, Object> temporaryData, String key)
	{
		
		CAANMsg tableMsg = (CAANMsg)temporaryData.get(TEMPLATE_ID_EKK0321B005);
		
		if(tableMsg == null)
		{
			return "";
		}
		
		return getNullToStr(tableMsg.getString(key));
	}
	
	/**
	 * 申込明細情報取得メソッド
	 * <br>
	 * @param temporaryData
	 * @param key
	 * @return カラムデータ
	 */
	private String getEkk0021A010Data(HashMap<String, Object> temporaryData, String key)
	{
		
		CAANMsg tableMsg = (CAANMsg)temporaryData.get(TEMPLATE_ID_EKK0021A010);
		
		if(tableMsg == null)
		{
			return "";
		}
		
		return getNullToStr(tableMsg.getString(key));
	}
	
	/**
	 * 料金コース情報取得メソッド
	 * <br>
	 * @param temporaryData
	 * @param key
	 * @return カラムデータ
	 */
	private String getEkk0791A010Data(HashMap<String, Object> temporaryData, String key)
	{
		
		CAANMsg tableMsg = (CAANMsg)temporaryData.get(TEMPLATE_ID_EKK0791A010);
		
		if(tableMsg == null)
		{
			return "";
		}
		
		return getNullToStr(tableMsg.getString(key));
	}
	
	/**
	 * ファミリー契約フラグ取得メソッド
	 * <br>
	 * @param temporaryData
	 * @param key
	 * @return カラムデータ
	 */
	private String getFamilyKeiFlg(HashMap<String, Object> temporaryData)
	{
		
		String retStr = "0";
		
		CAANMsg[] tableMsgList = (CAANMsg[])temporaryData.get(TEMPLATE_ID_EKK0451B001);
		
		if(tableMsgList == null || tableMsgList.length == 0)
		{
			return retStr;
		}
		
		for(int i=0;i<tableMsgList.length;i++)
		{
			
			if(WRIB_SVC_CD_FAMILY_PACK.equals(tableMsgList[i].getString(EKK0451B001CBSMsg1List.WRIB_SVC_CD)))
			{
				if(WRIB_SVC_KEI_STAT_SVC_TKCHU.equals(tableMsgList[i].getString(EKK0451B001CBSMsg1List.WRIB_SVC_KEI_STAT)))
				{
					retStr = "1";
				}
			}
		}
		
		return retStr;
	}
	
	/**
	 * 提供方式契約一意照会取得<br>
	 * <br>
	 * @param handle 
	 * @param scCall 
	 * @param param 
	 * @param fixedText ユーザ任意文字列
	 * @param temporaryData
	 * @param tk_hoshiki_kei_no
	 * @throws Exception 
	 */
	private CAANMsg[] getEkk0891a010(SessionHandle handle
								, ServiceComponentRequestInvoker scCall
								, IRequestParameterReadWrite param
								, String fixedText
								, HashMap<String, Object> temporaryData
								, String tk_hoshiki_kei_no) throws Exception
	{
		
		// ***** EKK0891A010（提供方式契約一意照会）*****
		Object[][] ekk0891a010In = {
			{EKK0891A010CBSMsg.TEMPLATEID,            TEMPLATE_ID_EKK0891A010},
			{EKK0891A010CBSMsg.FUNC_CODE,             "1"},
			{EKK0891A010CBSMsg.KEY_TK_HOSHIKI_KEI_NO, tk_hoshiki_kei_no},
		};
		CAANMsg[] ekk0891a010cbsMsg1list = callSC(handle, scCall, param, fixedText, ekk0891a010In).getCAANMsgList(EKK0891A010CBSMsg.EKK0891A010CBSMSG1LIST);
		
		if(ekk0891a010cbsMsg1list == null || ekk0891a010cbsMsg1list.length == 0)
		{
			return null;
		}
		
		return ekk0891a010cbsMsg1list;
	}
	
	/**
	 * 提供方式契約一意情報取得メソッド
	 * <br>
	 * @param temporaryData
	 * @param key
	 * @return カラムデータ
	 */
	private String getEkk0891a010Data(HashMap<String, Object> temporaryData, String key)
	{
		
		CAANMsg tableMsg = (CAANMsg)temporaryData.get(TEMPLATE_ID_EKK0891A010);
		
		if(tableMsg == null)
		{
			return "";
		}
		
		return getNullToStr(tableMsg.getString(key));
	}
	
	/**
	 * 回線使用契約一意照会取得<br>
	 * <br>
	 * @param handle 
	 * @param scCall 
	 * @param param 
	 * @param fixedText ユーザ任意文字列
	 * @param temporaryData
	 * @param tk_hoshiki_kei_no
	 * @return CAANMsg[]
	 * @throws Exception 
	 */
	private CAANMsg[] getEkk0881a010(SessionHandle handle
								, ServiceComponentRequestInvoker scCall
								, IRequestParameterReadWrite param
								, String fixedText
								, HashMap<String, Object> temporaryData) throws Exception
	{
		
		// ***** EKK0881A010（回線使用契約一意照会）*****
		Object[][] ekk0881a010In = {
			{EKK0881A010CBSMsg.TEMPLATEID,            TEMPLATE_ID_EKK0881A010},
			{EKK0881A010CBSMsg.FUNC_CODE,             "1"},
			{EKK0881A010CBSMsg.KEY_KAISEN_USE_KEI_NO, getEkk0891a010Data(temporaryData, EKK0891A010CBSMsg1List.KAISEN_USE_KEI_NO)},
		};
		CAANMsg[] ekk0881a010cbsMsg1list = callSC(handle, scCall, param, fixedText, ekk0881a010In).getCAANMsgList(EKK0881A010CBSMsg.EKK0881A010CBSMSG1LIST);
		
		if(ekk0881a010cbsMsg1list == null || ekk0881a010cbsMsg1list.length == 0)
		{
			return null;
		}
		
		return ekk0881a010cbsMsg1list;

	}
	
	/**
	 * 回線使用契約一意照会情報取得メソッド
	 * <br>
	 * @param temporaryData
	 * @param key
	 * @return カラムデータ
	 */
	private String getEkk0881a010Data(HashMap<String, Object> temporaryData, String key)
	{
		
		CAANMsg tableMsg = (CAANMsg)temporaryData.get(TEMPLATE_ID_EKK0881A010);
		
		if(tableMsg == null)
		{
			return "";
		}
		
		return getNullToStr(tableMsg.getString(key));
	}
	
	/**
	 * オーナー契約一意照会取得<br>
	 * <br>
	 * @param handle 
	 * @param scCall 
	 * @param param 
	 * @param fixedText ユーザ任意文字列
	 * @param temporaryData
	 * @param tk_hoshiki_kei_no
	 * @throws Exception 
	 */
	private CAANMsg[] getEkk0871a010(SessionHandle handle
								, ServiceComponentRequestInvoker scCall
								, IRequestParameterReadWrite param
								, String fixedText
								, HashMap<String, Object> temporaryData) throws Exception
	{
		
		// ***** EKK0871A010（オーナー契約一意照会）*****
		Object[][] ekk0871a010In = {
			{EKK0871A010CBSMsg.TEMPLATEID,            TEMPLATE_ID_EKK0871A010},
			{EKK0871A010CBSMsg.FUNC_CODE,             "1"},
			{EKK0871A010CBSMsg.KEY_OWNR_KEI_NO,       getEkk0881a010Data(temporaryData, EKK0881A010CBSMsg1List.OWNR_KEI_NO)},
		};
		CAANMsg[] ekk0871a010cbsMsg1list = callSC(handle, scCall, param, fixedText, ekk0871a010In).getCAANMsgList(EKK0871A010CBSMsg.EKK0871A010CBSMSG1LIST);
		
		if(ekk0871a010cbsMsg1list == null || ekk0871a010cbsMsg1list.length == 0)
		{
			return null;
		}
		
		return ekk0871a010cbsMsg1list;

	}
	
	/**
	 * オーナー契約一意照会情報取得メソッド
	 * <br>
	 * @param temporaryData
	 * @param key
	 * @return カラムデータ
	 */
	private String getEkk0871a010Data(HashMap<String, Object> temporaryData, String key)
	{
		
		CAANMsg tableMsg = (CAANMsg)temporaryData.get(TEMPLATE_ID_EKK0871A010);
		
		if(tableMsg == null)
		{
			return "";
		}
		
		return getNullToStr(tableMsg.getString(key));
	}
	
	/**
	 * マンションコース一意照会取得<br>
	 * <br>
	 * @param handle 
	 * @param scCall 
	 * @param param 
	 * @param fixedText ユーザ任意文字列
	 * @param temporaryData
	 * @param tk_hoshiki_kei_no
	 * @throws Exception 
	 */
	private CAANMsg[] getEkk0911a010(SessionHandle handle
								, ServiceComponentRequestInvoker scCall
								, IRequestParameterReadWrite param
								, String fixedText
								, HashMap<String, Object> temporaryData) throws Exception
	{
		
		// ***** EKK0911A010（マンションコース一意照会）*****
		Object[][] ekk0911a010In = {
			{EKK0911A010CBSMsg.TEMPLATEID,            TEMPLATE_ID_EKK0911A010},
			{EKK0911A010CBSMsg.FUNC_CODE,             "2"},
			{EKK0911A010CBSMsg.KEY_MANSION_COURSE_CD, getEkk0881a010Data(temporaryData, EKK0881A010CBSMsg1List.MANSION_COURSE_CD)},
			{EKK0911A010CBSMsg.KEY_GENE_ADD_DTM,      ""},
			{EKK0911A010CBSMsg.KEY_RSV_APLY_YMD,      JPCBPCommon.getOpeDate(null)},
		};
		CAANMsg[] ekk0911a010cbsMsg1list = callSC(handle, scCall, param, fixedText, ekk0911a010In).getCAANMsgList(EKK0911A010CBSMsg.EKK0911A010CBSMSG1LIST);
		
		if(ekk0911a010cbsMsg1list == null || ekk0911a010cbsMsg1list.length == 0)
		{
			return null;
		}
		
		return ekk0911a010cbsMsg1list;

	}
	
	/**
	 * マンションコース一意照会情報取得メソッド
	 * <br>
	 * @param temporaryData
	 * @param key
	 * @return カラムデータ
	 */
	private String getEkk0911a010Data(HashMap<String, Object> temporaryData, String key)
	{
		
		CAANMsg tableMsg = (CAANMsg)temporaryData.get(TEMPLATE_ID_EKK0911A010);
		
		if(tableMsg == null)
		{
			return "";
		}
		
		return getNullToStr(tableMsg.getString(key));
	}
	
	/**
	 * マンション物件一意照会取得<br>
	 * <br>
	 * @param handle 
	 * @param scCall 
	 * @param param 
	 * @param fixedText ユーザ任意文字列
	 * @param temporaryData
	 * @param tk_hoshiki_kei_no
	 * @throws Exception 
	 */
	private CAANMsg[] getEkk0861a010(SessionHandle handle
								, ServiceComponentRequestInvoker scCall
								, IRequestParameterReadWrite param
								, String fixedText
								, HashMap<String, Object> temporaryData) throws Exception
	{
		
		// ***** EKK0861A010（マンション物件一意照会）*****
		Object[][] ekk0861a010In = {
			{EKK0861A010CBSMsg.TEMPLATEID,            TEMPLATE_ID_EKK0861A010},
			{EKK0861A010CBSMsg.FUNC_CODE,             "1"},
			{EKK0861A010CBSMsg.KEY_MANSION_BUKKEN_NO, getEkk0871a010Data(temporaryData, EKK0871A010CBSMsg1List.MANSION_BUKKEN_NO)},
		};
		CAANMsg[] ekk0861a010cbsMsg1list = callSC(handle, scCall, param, fixedText, ekk0861a010In).getCAANMsgList(EKK0861A010CBSMsg.EKK0861A010CBSMSG1LIST);
		
		if(ekk0861a010cbsMsg1list == null || ekk0861a010cbsMsg1list.length == 0)
		{
			return null;
		}
		
		return ekk0861a010cbsMsg1list;

	}
	
	/**
	 * マンション物件一意照会情報取得メソッド
	 * <br>
	 * @param temporaryData
	 * @param key
	 * @return カラムデータ
	 */
	private String getEkk0861a010Data(HashMap<String, Object> temporaryData, String key)
	{
		
		CAANMsg tableMsg = (CAANMsg)temporaryData.get(TEMPLATE_ID_EKK0861A010);
		
		if(tableMsg == null)
		{
			return "";
		}
		
		return getNullToStr(tableMsg.getString(key));
	}
	
	/**
	 * マンション部屋通信機器種別コード取得メソッド
	 * <br>
	 * @param mans_tushin_equip_cd
	 * @return マンション部屋通信機器種別コード
	 */
	private String getMansRmTushinKikiSbtCd(String mans_tushin_equip_cd)
	{
		
		String retStr = "";
		
		if(MANS_TUSHIN_EQUIP_CD_VDSL.equals(mans_tushin_equip_cd))
		{
			retStr = "31";
		}
		else if(MANS_TUSHIN_EQUIP_CD_ISA.equals(mans_tushin_equip_cd))
		{
			retStr = "11";
		}
		else if(MANS_TUSHIN_EQUIP_CD_HIKARI.equals(mans_tushin_equip_cd))
		{
			retStr = "50";
		}
		
		return retStr;
	}
	
	
	/**
	 * パラメタがNullの場合空白を返却します。
	 * 
	 * @param str
	 *            文字列
	 * @return str
	 */
	private String getNullToStr(String str)
	{
		return JPCUtilCommon.Rtrim(str);
	}
	
	// ++++++++ v7.00.00 変更開始 +++++++
	/**
	 * 機器提供サービス契約回復割引メソッド
	 * 
	 * @param handle
	 * @param scCall
	 * @param param
	 * @param dataMapKey
	 * @param kktk_svc_kei_no
	 * @param temporaryData
	 * @throws Throwable 
	 */
	@SuppressWarnings("unchecked")
	private void kikiKaifukuWribikiShori(SessionHandle handle, 
											ServiceComponentRequestInvoker scCall, 
											IRequestParameterReadWrite param, 
											String dataMapKey,
											HashMap<String, Object> temporaryData) throws Throwable
	{
		
		// サービス契約情報を取得します。
		HashMap KKSV039536SC = (HashMap)param.getData("KKSV039536SC");
		CAANMsg[] ekk0081a010cbsMsg1list = (CAANMsg[])KKSV039536SC.get(EKK0081A010_SearchData);
		
		if(ekk0081a010cbsMsg1list != null && ekk0081a010cbsMsg1list.length > 0)
		{
			temporaryData.put(TEMPLATE_ID_EKK0081A010, ekk0081a010cbsMsg1list[0]);
			
			
			HashMap KKSV039502CC = (HashMap)param.getData("KKSV039502CC");
			
			// 申込番号を取得する
			Map workMap = (Map)param.getMappingWorkArea();
			String mskm_no = (String)workMap.get("mskm_no");
			
			ArrayList<HashMap<String, String>> kaifukulist = (ArrayList<HashMap<String, String>>)KKSV039502CC.get(KAIFUKU_KIKI_LIST);
			
			// 回復された機器のデータ分、回復割引CCを実行する
			for (int i=0; i <kaifukulist.size(); i++)
			{
				HashMap<String, String> kikiMap = kaifukulist.get(i);
				String kktk_svc_kei_no = kikiMap.get("kktk_svc_kei_no");
				execKikiKaifukuWribikiCall(handle, 
											scCall, 
											param, 
											dataMapKey, 
											kktk_svc_kei_no, 
											mskm_no, 
											temporaryData
											);
			}
		}
	}
	
	/**
	 * 機器提供サービス契約回復割引実行メソッド
	 * 
	 * @param handle
	 * @param scCall
	 * @param param
	 * @param dataMapKey
	 * @param kktk_svc_kei_no
	 * @param mskm_no
	 * @param temporaryData
	 * @throws Throwable 
	 */
	@SuppressWarnings("unchecked")
	private void execKikiKaifukuWribikiCall(SessionHandle handle, 
											ServiceComponentRequestInvoker scCall, 
											IRequestParameterReadWrite param, 
											String dataMapKey,
											String kktk_svc_kei_no,
											String mskm_no,
											HashMap<String, Object> temporaryData) throws Throwable
	{
		// 機器提供サービス契約の回復を行います。
		param.setData(JKK_KIKI_KKKAIFUKU_WRISVC_CC, new HashMap<String, Object>());
		
		HashMap<String, Object> ccMsg = (HashMap<String, Object>)param.getData(dataMapKey);
		HashMap<String, Object> outMap = (HashMap<String, Object>)param.getData(JKK_KIKI_KKKAIFUKU_WRISVC_CC);
		
		CAANMsg ekk0081a010Msg = (CAANMsg)temporaryData.get(TEMPLATE_ID_EKK0081A010);
		
		// 機能コード
		outMap.put("func_code", ccMsg.get("func_code"));
		// サービス契約番号
		outMap.put("svc_kei_no", ekk0081a010Msg.getString(EKK0081A010CBSMsg1List.SVC_KEI_NO));
		// サービス契約データ
		outMap.put("svc_kei_data", temporaryData.get(TEMPLATE_ID_EKK0081A010));
		// 機器提供サービス契約番号
		outMap.put("kktk_svc_kei_no", kktk_svc_kei_no);
		// 機器提供サービス契約データ
		outMap.put("kktk_svc_kei_data", null);
		// 運用日付
		outMap.put("unyo_ymd", JPCBPCommon.getOpeDate(null));
		// 異動区分
		outMap.put("ido_div", ccMsg.get("ido_div"));
		// 申込番号
		outMap.put("mskm_no", mskm_no);
		// 申込種別コード
		outMap.put("mskm_sbt_cd", MSKM_SBT_CD_00022);
		
		JKKKikiKaifukuWrisvcCC jkkKikikaifukuWrisvcCC = new JKKKikiKaifukuWrisvcCC();
		jkkKikikaifukuWrisvcCC.execKikiKaifukuWrisvc(handle, param, JKK_KIKI_KKKAIFUKU_WRISVC_CC);
		
		param.removeData(JKK_KIKI_KKKAIFUKU_WRISVC_CC);
	}
	// ++++++++ v7.00.00 変更終了 +++++++
	
	// OM-2021-0000363 2021/09/03 ADD START
	/**
	 * 即割適用中の場合に、即割のコード値を取得する
	 * <br>
	 * @param temporaryData
	 * @return カラムデータ
	 */
	private String getSkwrWribTypeCD(HashMap<String, Object> temporaryData)
	{
		
		String retStr = "";
		
		CAANMsg[] tableMsgList = (CAANMsg[])temporaryData.get(TEMPLATE_ID_EKK0451B001);
		
		if(tableMsgList == null || tableMsgList.length == 0)
		{
			// 割引サービス契約が存在しない場合は、空文字を返却
			return retStr;
		}
		// 割引サービス契約一覧より即割のサービスコードが存在する場合、即割の割引タイプコードを返却
		for(int i=0; i < tableMsgList.length ; i++)
		{
			String wribSvcCd = tableMsgList[i].getString(EKK0451B001CBSMsg1List.WRIB_SVC_CD);
			
			if(WRIB_SOKU_WRIB.equals(wribSvcCd))
			{
				retStr = WRIB_TYPE_SOKU_WRIB;
				break;
			}
		}
		
		return retStr;
	}
	// OM-2021-0000363 2021/09/03 ADD END
}
