/*********************************************************************
* All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*   システム名      ：eo顧客基幹システム
*   モジュール名    ：JFUSetVariTsushinKikiMskmCC
*   ソースファイル名：JFUSetVariTsushinKikiMskmCC.java
*   作成者          ：富士通
*   日付            ：2012年02月04日
*＜機能概要＞
*   各種通信機器申込み登録コンポーネント部品です。
*＜修正履歴＞
*   バージョン  修正日       修正者      修正内容
*   v1.00.00    2012/02/04   FJ）川端    新規作成
*   v3.00       2012/05/14   FJ）谷本    変更【ANK-0116-00-00】ネット・オプションサービスの事務手数料、および機器返送費用の変更対応
*   v4.00       2012/08/31   FJ）中谷    変更【ANK-0548-00-00】ルータ機器の解約新規対応（約款準拠対応）
*   v4.00       2012/10/20   FJ）中谷    変更【IT1-2012-0001133】機器付加情報コードの設定値改修
*   v4.00       2012/10/23   FJ）中谷    変更【IT1-2012-0001630】返品対象のルーターの解約確定対応
*   v4.00       2012/11/01   FJ）知識    変更【IT1-2012-0001783】「機器設置先カナ名」null対応
*   v4.00       2012/11/01   FJ）知識    変更【IT1-2012-0001784】「機器設置先名」null対応
*   v4.00       2012/11/27   FJ）中谷    変更【IT1-2012-0002162】サービス課金終了年月日設定値の改修
*   v5.00       2013/01/10   FJ）中谷    変更【ANK-1338-00-00】無線ギガルータ枯渇対応
*   v5.00       2013/01/17   FJ）中谷    変更【IT1-2013-0000091】機器提供サービス契約料金コース変更の項目クリア処理対応
*   v5.00       2013/02/15   FJ）中谷    変更【ANK-1398-00-00】フロントSでの機器受注時の在庫件数処理追加
*   v5.00       2013/03/04   FJ）中谷    変更【IT-2013-0000424】メール文言見直し
*   v5.00       2013/03/14   FJ) 美濃原  変更【IT1-2013-0000473】機器設置先_契約者住所差異フラグを設定、機器設置先区画整理中フラグの設定削除
*   v5.00       2013/03/25   FJ）中谷    変更【IT1-2013-0000565】工事受付Sへの異動無機器情報連携対応
*   v5.00       2013/06/12   FJ）岡井    変更【内部障害】進捗登録.異動年月日時分秒にシステム日付を設定するように修正
*   v5.00       2013/10/01   FJ）谷本    変更【OM-2013-0002637】配送依頼指定年月日 対応
*   v5.00       2013/10/21   FJ）中谷    変更【OM-2013-0003498】プラン変更（工事無）で直送の送付先設定対応
*   v5.00       2013/10/25   FJ）中谷    変更【OM-2013-0003633】メール送信先の不具合対応
*   v7.00       2013/11/25   FJ）谷本    変更【ANK-1578-00-00】多機能ルーター（機器追加）
*   v7.00       2014/01/08   FJ）谷本    変更【IT1-2013-0000901】オーダー情報作成ワーク不足パラメータ設定
*   v7.00       2014/01/09   FJ）中谷    変更【IT1-2014-0000008】各種通信機器申込排他エラー対応
*   v7.00       2014/01/18   FJ）谷本    変更【TAI-2014-0000004】各種通信機器申込排他エラー対応（受付済考慮)
*   v7.00       2013/10/01   FJ）谷本    変更【OM-2014-0000351】照査解約完了コード 対応
*   v7.00       2014/02/06   FJ）谷本    変更【OM-2014-0000562】多機能ルーターの電話オプションの不具合 対応
*   v14.00      2015/06/09   FJ) 西川    変更【OM-2015-0001259】出荷完了10日以内の機器オプ開始日不具合
*	v26.00      2016/07/14   FJ）張本    変更【ANK-2687-00-00】プレミアムサポート施策
*   v26.00      2016/07/25   FJ) 張本    変更【IT2-2016-0000040】異動情報抽出依頼受信不具合
*   v33.00.00   2017/09/14   FJ) 河邊    【OM-2017-0000899】フロントルータOPオーダ不備
*   v35.00      2017/12/19	 FJ) 美濃原  【ANK-3303-00-00】【eoプレミアムクラブ】セキュリティパック100円引×1年間
*   v40.00      2018/11/07   FJ）張本    【ANK-3412-00-00】５ギガ・１０ギガコース導入対応
*   v41.01      2019/04/18   FJ）張本    変更【OM-2019-0000362】出荷完了時機器開始登録エラー
*   v41.02      2019/04/23   FJ）張本    変更【OM-2019-0000448】機器契約変更中のオプション登録不具合 対応
*	v50.00      2020/07/03   FJ) 大島    変更【ANK-3825-00-00】メッシュWiFi導入対応
*   v52.00      2021/01/22   FJ) 張本    変更【ANK-3987-00-00】Netflix導入対応（STEP2）
*   v53.00      2021/03/26   FJ) 美濃原  変更【ANK-4009-00-00】CX戦略WG方針対応
*   v54.00      2021/09/07   FJ) 美濃原  変更【OM-2021-0001250】配送予定日設定考慮漏れ
*   v56.00      2021/11/18   FJ) 西川    変更【OM-2021-0001079】多機能交換時のチケット利用申請依頼設定考慮漏れ
*   v60.00      2022/06/20   FJ）美濃原  変更【ANK-4244-00-00】【eo定期】MT既設賃貸対応
*   v61.00      2023/04/03   FJ) 張本    変更【ANK-4315-00-00】【eo定期】eo光ホームゲートウェイ導入対応
*   v61.01      2023/09/19   FJ) 張本    変更【ANK-4315-14-00】【eoホームゲートウェイ導入対応】工事スキップ時に機器毎に配送が別れる母体事象の解消
*   v61.01      2023/11/09   FJ) 張本    変更【ST-2023-0000015】ホームゲートウェイ付替え時のプレクラ障害対応
*   v68.00      2023/11/27   FJ) 張本    変更【ANK-4516-00-00】【eo】HGW交換不可フラグ設定機能の追加
*   v71.00      2024/04/02   FJ) 張本    変更【ANK-4468-00-00】eo光ネット「シンプルプラン」追加対応
*   v73.00      2024/11/15   FJ) 張本    変更【ANK-4493-00-00】【eo定期】光配線マンションのコースアップ対応
**********************************************************************/
package com.fujitsu.futurity.bp.custom.common;

import static com.fujitsu.futurity.bp.custom.common.JCKPmpCommonUtil.*;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.fujitsu.futurity.bp.custom.constant.JKKKojiAnkenConstCC;
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 eo.common.constant.JFUStrConst;
import eo.common.constant.JKKStrConst;
import eo.common.constant.JPCModelConstant;
import eo.common.util.JFUCommonUtil;
import eo.ejb.cbs.cbsmsg.ECC0021D010CBSMsg;
import eo.ejb.cbs.cbsmsg.ECK0011A010CBSMsg;
import eo.ejb.cbs.cbsmsg.ECK0011A010CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EDK0011D010CBSMsg;
import eo.ejb.cbs.cbsmsg.EDK0451A010CBSMsg;
import eo.ejb.cbs.cbsmsg.EDK0451A010CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0011D020CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0011D020CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0021C014CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0021C060CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0081A010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0081A010CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0161B504CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0161B504CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0241B002CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0241B002CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0251A010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0251A010CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0251B001CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0251B001CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0321B002CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0321B002CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0341A010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0341A010CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0341B002CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0341B029CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0341C030CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0341C230CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0341C231CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0341C330CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0341C340CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0341C350CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0341C530CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0341D010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0771A010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0771A010CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK1081D010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK1091D010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK1091D010CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK1551D010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK2811B503CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK2811B503CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK2811B504CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK2811B504CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK2811C030CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK2811C050CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK2811C070CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK2811C240CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK2811C250CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK2811C260CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK2811D010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK3271D010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKU0011A010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKU0011A010CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKU0141B020CBSMsg;
import eo.ejb.cbs.cbsmsg.EKU0141B020CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EZM0321A010CBSMsg;
import eo.ejb.cbs.cbsmsg.EZM0321A010CBSMsg1List;

/**
 * 各種通信機器申込み登録コンポーネント部品です。
 * <br>
 * @author 富士通
 */
@SuppressWarnings("unchecked")
public class JFUSetVariTsushinKikiMskmCC extends JFUBaseNetChgCommonCC
{

	/** 登録機器リスト */
	private static final String KKTK_SVKEI_ADD_LIST = "kktk_svkei_add_list";
	/** IN項目:申込数 */
	private static final String IN_PARAM_MSKM_CNT = "cnt";
	/** IN項目:セット品数 */
	private static final String IN_PARAM_SETHN_CNT = "sethn_cnt";
	/** IN項目:異動区分 */
	private static final String IN_PARAM_IDO_DIV = "ido_div";
	/** IN項目:機器提供サービス契約番号 */
	private static final String IN_PARAM_KKTK_SVC_KEI_NO = "kktk_svc_kei_no";
	/** IN項目:機器提供サービスコード */
	private static final String IN_PARAM_KKTK_SVC_CD = "kk0341_kktk_svc_cd";
	/** IN項目:宅内機器型式コード */
	private static final String IN_PARAM_TAKNKIKI_MODEL_CD = "kk0341_taknkiki_model_cd";
	/** IN項目:料金コースコード */
	private static final String IN_PARAM_PCRS_CD = "kk0341_pcrs_cd";
	/** IN項目:料金プランコード */
	private static final String IN_PARAM_PPLAN_CD = "kk0341_pplan_cd";
	/** IN項目:サービス契約番号（機器提供サービス契約） */
	private static final String IN_PARAM_SVC_KEI_NO = "kk0341_svc_kei_no";
	/** IN項目:請求契約番号 */
	private static final String IN_PARAM_SEIKY_KEI_NO = "kk0341_seiky_kei_no";
	/** IN項目:SYSID */
	private static final String IN_PARAM_SYSID = "kk0341_sysid";
	/** IN項目:進捗特記事項1 */
	private static final String IN_PARAM_PRG_TKJK_1 = "prg_tkjk_1";
	/** IN項目:進捗特記事項2 */
	private static final String IN_PARAM_PRG_TKJK_2 = "prg_tkjk_2";

	/** IN項目:サービス契約番号（サービス契約） */
	private static final String IN_PARAM_KK0081_SVC_KEI_NO = "KK0081_svc_kei_no";
	/** IN項目:サービス契約番号（SYSID） */
	private static final String IN_PARAM_KK0081_SYSID = "KK0081_sysid";
	/** IN項目:工事案件番号 */
	private static final String IN_PARAM_KU0011_KOJIAK_NO = "KU0011_kojiak_no";
	/** IN項目:工事会社配送時の機器送付先住所情報 */
	private static final String IN_KOJI_HAISO_ADR = "koji_haiso_adr";
	/** IN項目:CX案件切替フラグ（蓋開け）※蓋開後は常に"1" */
	private static final String IN_PARAM_CX_HANTEI_FLG = "cx_hantei_flg";
	/** IN項目:提供方式コード */
	private static final String IN_PARAM_TK_HOSHIKI_CD = "tk_hoshiki_cd";
	/** IN項目:提供方式パターンコード */
	private static final String IN_PARAM_TK_HOSHIKI_PATTERN_CD = "tk_hoshiki_pattern_cd";
	/** IN項目:料金グループコード */
	private static final String IN_PRC_GRP_CD = "prc_grp_cd";
	/** IN項目:光配線1Gのみフラグ */
	private static final String IN_HHS_1GONLY_FLG = "hhs_1gonly_flg";
	/** IN項目:ＯＮＵ交換工事有無 */
	private static final String IN_ONU_KOKAN_KOJI_UM = "onu_kokan_koji_um";

	/** 選択ルーター機能:有線 */
	private static final String ROUTER_KINO_YUSEN = "有線ルーター機能";

	/** 配送受付結果マップキー */
	private static final String HAISO_OUT_MAP_KEY = "eDK0011D020SCHash";
	/** 排他テーブル用更新年月日時分秒（サービス契約） */
	private static final String HAITA_SVC_KEI_UPD_DTM = "haita_svc_kei_upd_dtm";

	/* ■□ 申込内容承認登録SC ■□ */
	/** テンプレートID(申込内容承認登録) */
	private static final String TEMPLATE_ID_1 = "EKK0011D020";
	/** テンプレートID(申込内容承認登録明細) */
	private static final String TEMPLATE_ID_1_DETAIL = EKK0011D020CBSMsg.EKK0011D020CBSMSG1LIST;
	/** IN項目リスト(申込内容承認登録) */
	private static final List<String> IN_COLUMN_LIST_1 =
			Arrays.asList(EKK0011D020CBSMsg.SYSID, EKK0011D020CBSMsg.MSKM_SBT_CD, EKK0011D020CBSMsg.MSKMSHO_ARIV_YMD, EKK0011D020CBSMsg.MSKM_UK_DTM,
					EKK0011D020CBSMsg.MSKM_UK_TNT_USER_ID, EKK0011D020CBSMsg.MSKM_YMD, EKK0011D020CBSMsg.TTL_BUSINESS_CENTER_UK_NO,
					EKK0011D020CBSMsg.TTL_BUSINESS_MSKM_OPT_CD, EKK0011D020CBSMsg.MSKM_RRKS_TELNO, EKK0011D020CBSMsg.MSKM_JSSIS_SBT_CD,
					EKK0011D020CBSMsg.CUST_YOBO_JIKO, EKK0011D020CBSMsg.TEL_RRK_KIBOD_SBT_CD, EKK0011D020CBSMsg.TEL_RRK_KIBO_TIME_CD,
					EKK0011D020CBSMsg.TAKCHO_KIBOD_SBT_CD, EKK0011D020CBSMsg.TAKCHO_KIBO_TIME_CD, EKK0011D020CBSMsg.KARI_MSKM_FLG,
					EKK0011D020CBSMsg.REFERER, EKK0011D020CBSMsg.KEPCO_CUSTINFO_JUJU_DOI_UM, EKK0011D020CBSMsg.SHOSA_BF_RRK_JIKO_YH,
					EKK0011D020CBSMsg.SHOSA_BF_RRK_JIKO, EKK0011D020CBSMsg.USE_SVC_KEIZK_SBT_CD, EKK0011D020CBSMsg.CONSMBSN_MSKM_STAT_SKBT_CD,
					EKK0011D020CBSMsg.UK_TNTSHA_SKBT_CD, EKK0011D020CBSMsg.MSKM_ROUTE_SKBT_CD, EKK0011D020CBSMsg.KOJI_REQ_INFO_RRK_JIKO);
	/** IN項目リスト(申込内容承認登録・明細部) */
	private static final List<String> IN_COLUMN_LIST_1_DETAIL =
			Arrays.asList(EKK0011D020CBSMsg1List.MSKMSHO_NO, EKK0011D020CBSMsg1List.WEB_UK_NO, EKK0011D020CBSMsg1List.MSKM_FORM_CD,
					EKK0011D020CBSMsg1List.MSKM_DTL_SBT_CD, EKK0011D020CBSMsg1List.RRKS_KTAI_TELNO, EKK0011D020CBSMsg1List.RRKS_OFFC_NM,
					EKK0011D020CBSMsg1List.DT_RRKS_TELNO, EKK0011D020CBSMsg1List.NEW_MSKM_SBT_CD, EKK0011D020CBSMsg1List.MSKM_OPTNTY_CD,
					EKK0011D020CBSMsg1List.TAKCHO_KIBO_APO_KIGEN_YMD, EKK0011D020CBSMsg1List.KOJI_APO_RRKS_SHITEI_CD,
					EKK0011D020CBSMsg1List.KOJI_APO_RRKS_TELNO, EKK0011D020CBSMsg1List.RRK_JIKO_ADD_DTM, EKK0011D020CBSMsg1List.MSKM_RRKS_MLAD,
					EKK0011D020CBSMsg1List.KOJI_PRG_TCHI_MLAD, EKK0011D020CBSMsg1List.RRK_JIKO, EKK0011D020CBSMsg1List.KJSC_TCH_KTAI_MLAD,
					EKK0011D020CBSMsg1List.ML_SEND_JGI_FLG, EKK0011D020CBSMsg1List.ML_SEND_JGI_RSN_MEMO, EKK0011D020CBSMsg1List.BMP_MSKM_RRKS_TLN,
					EKK0011D020CBSMsg1List.OP_SVC_HKTGI_UM, EKK0011D020CBSMsg1List.DSL_ATICLE_SOHU_KIBO_UM, EKK0011D020CBSMsg1List.RRK_WAY_HOKI,
					EKK0011D020CBSMsg1List.NEWCONST_BUKKEN_CD, EKK0011D020CBSMsg1List.HUKKAT_ANKEN_FLG, EKK0011D020CBSMsg1List.SAME_EQUIP_RE_MSKM_CD,
					EKK0011D020CBSMsg1List.HNIN_CFM_ATICLE_SBT_CD, EKK0011D020CBSMsg1List.MSKMSHO_SBT_CD, EKK0011D020CBSMsg1List.MAP_TEMP_UM,
					EKK0011D020CBSMsg1List.KCN_STB_MSKM_CNT, EKK0011D020CBSMsg1List.KCN_STB_KIND_CD, EKK0011D020CBSMsg1List.CATID,
					EKK0011D020CBSMsg1List.KEI_HUKA_CD, EKK0011D020CBSMsg1List.MANSION_ID, EKK0011D020CBSMsg1List.MKM_UK_SBT_CD,
					EKK0011D020CBSMsg1List.MSKMSHO_TRAT_IF_TNTSHA_NM, EKK0011D020CBSMsg1List.MANSSBSYS_RNKI_YO_KIJIRAN,
					EKK0011D020CBSMsg1List.MSKMSHO_TRAT_IF_TELNO);
	/** 関連チェックエラー項目(申込内容承認登録) */
	private static final String ERROR_COLUMN_1 = null;
	/** SC実行結果取得キー(申込内容承認登録) */
	private static final String TEMP_TEMPLATE_KEY_1 = TEMP_TEMPLATE_PRIFIX + TEMPLATE_ID_1 + TEMP_TEMPLATE_PRIFIX_SEP;

	/* ■□ 機器提供サービス契約登録SC ■□ */
	/** テンプレートID(機器提供サービス契約登録) */
	private static final String TEMPLATE_ID_11 = "EKK0341D010";
	/** テンプレートID(機器提供サービス契約登録明細) */
	private static final String TEMPLATE_ID_11_DETAIL = null;
	/** IN項目リスト(機器提供サービス契約登録) */
	private static final List<String> IN_COLUMN_LIST_11 =
			Arrays.asList(EKK0341D010CBSMsg.KKTK_SVC_CD, EKK0341D010CBSMsg.PCRS_CD, EKK0341D010CBSMsg.PPLAN_CD, EKK0341D010CBSMsg.KKTK_SBT_CD,
					EKK0341D010CBSMsg.HDD_CAPA_CD, EKK0341D010CBSMsg.SVC_USE_STA_KIBO_YMD, EKK0341D010CBSMsg.RSV_TSTA_KIBO_YMD,
					EKK0341D010CBSMsg.KIBO_MAKER_CD, EKK0341D010CBSMsg.HAMBAI_SBT_CD, EKK0341D010CBSMsg.TSUSHIN_KIKI_SET_CD,
					EKK0341D010CBSMsg.TAKNKIKI_SBT_CD, EKK0341D010CBSMsg.TAKNKIKI_MODEL_CD, EKK0341D010CBSMsg.KIKI_SEIZO_NO,
					EKK0341D010CBSMsg.TAKNKIKI_SETHIN_MODEL_CD, EKK0341D010CBSMsg.HUZOKUHIN_SBT_CD, EKK0341D010CBSMsg.KIKI_STC_SAKI_PLACE_NO,
					EKK0341D010CBSMsg.OYA_KEI_SKBT_CD, EKK0341D010CBSMsg.SVC_KEI_NO, EKK0341D010CBSMsg.SVC_KEI_UCWK_NO,
					EKK0341D010CBSMsg.SVC_KEI_KAISEN_UCWK_NO, EKK0341D010CBSMsg.OP_SVC_KEI_NO, EKK0341D010CBSMsg.SYSID,
					EKK0341D010CBSMsg.MSKM_DTL_NO, EKK0341D010CBSMsg.LINK_STB_FLG, EKK0341D010CBSMsg.KIKI_HKAT_SHITEI_SOKO_CD,
					EKK0341D010CBSMsg.KIKI_HKAT_SHITEI_SKDN_CD, EKK0341D010CBSMsg.KIKI_SORYO_UM, EKK0341D010CBSMsg.KIKI_SORYO_SAKSEI_YMD,
					EKK0341D010CBSMsg.KIKI_SOHUS_NM, EKK0341D010CBSMsg.KIKI_SOHUS_KANA, EKK0341D010CBSMsg.KIKI_SOHUS_AD_CD,
					EKK0341D010CBSMsg.KIKI_SOHUS_PCD, EKK0341D010CBSMsg.KIKI_SOHUS_STATE_NM, EKK0341D010CBSMsg.KIKI_SOHUS_CITY_NM,
					EKK0341D010CBSMsg.KIKI_SOHUS_OAZTSU_NM, EKK0341D010CBSMsg.KIKI_SOHUS_AZCHO_NM, EKK0341D010CBSMsg.KIKI_SOHUS_BNCHIGO,
					EKK0341D010CBSMsg.KIKI_SOHUS_ADRTTM, EKK0341D010CBSMsg.KIKI_SOHUS_ADRRM, EKK0341D010CBSMsg.KIKI_SOHUS_TELNO,
					EKK0341D010CBSMsg.MANSION_BUKKEN_NO, EKK0341D010CBSMsg.KIKI_SOHUS_KSH_AD_SAI_FLG, EKK0341D010CBSMsg.KIKI_SHS_KBT_SHITEI_FLG,
					EKK0341D010CBSMsg.KIKI_SHS_HSK_CD_1, EKK0341D010CBSMsg.KIKI_SHS_HSK_CD_2, EKK0341D010CBSMsg.KIKI_SHS_HSK_MEMO,
					EKK0341D010CBSMsg.KIKI_STC_SAKI_NM, EKK0341D010CBSMsg.KIKI_STC_SAKI_KANA, EKK0341D010CBSMsg.KIKI_STC_SAKI_AD_CD,
					EKK0341D010CBSMsg.KIKI_STC_SAKI_PCD, EKK0341D010CBSMsg.KIKI_STC_SAKI_STATE_NM, EKK0341D010CBSMsg.KIKI_STC_SAKI_CITY_NM,
					EKK0341D010CBSMsg.KIKI_STC_SAKI_OAZTSU_NM, EKK0341D010CBSMsg.KIKI_STC_SAKI_AZCHO_NM, EKK0341D010CBSMsg.KIKI_STC_SAKI_BNCHIGO,
					EKK0341D010CBSMsg.KIKI_STC_SAKI_ADRTTM, EKK0341D010CBSMsg.KIKI_STC_SAKI_ADRRM, EKK0341D010CBSMsg.KIKI_STC_SK_KSH_AD_SAI_FLG,
					EKK0341D010CBSMsg.KIKI_STC_SK_TELNO, EKK0341D010CBSMsg.KIKI_STS_KKK_SEIRI_CHU_FLG, EKK0341D010CBSMsg.AD_MI_FIX_FLG,
					EKK0341D010CBSMsg.KIKI_STS_HSK_CD_1, EKK0341D010CBSMsg.KIKI_STS_HSK_CD_2, EKK0341D010CBSMsg.KIKI_STS_HSK_MEMO,
					EKK0341D010CBSMsg.HAISO_DIV, EKK0341D010CBSMsg.FTRIAL_KANYU_YMD, EKK0341D010CBSMsg.FTRIAL_PRD_ENDYMD,
					EKK0341D010CBSMsg.HONKANYU_YMD, EKK0341D010CBSMsg.HONKANYU_IKO_KIGEN_YMD, EKK0341D010CBSMsg.HOSHO_CD,
					EKK0341D010CBSMsg.HOSHO_STAYMD, EKK0341D010CBSMsg.PNLTY_HASSEI_CD, EKK0341D010CBSMsg.IDO_DIV, EKK0341D010CBSMsg.TAKNKIKI_IDO_CD,
					EKK0341D010CBSMsg.CAS_CARD_USE_KYODAK_YMD, EKK0341D010CBSMsg.KIKI_HUKA_INFO_CD, EKK0341D010CBSMsg.HAISO_WAY_CD,
					EKK0341D010CBSMsg.KIKI_ITENS_MV_JSSIS_SKCD, EKK0341D010CBSMsg.HAISO_REQ_SHITEI_YMD, EKK0341D010CBSMsg.KIKI_SHS_AD_MAN_INPUT_FLG,
					EKK0341D010CBSMsg.SEIKY_KEI_NO, EKK0341D010CBSMsg.PRC_KMK_CD, EKK0341D010CBSMsg.UPD_DTM_BF);
	/** 関連チェックエラー項目(機器提供サービス契約登録) */
	private static final String ERROR_COLUMN_11 = null;
	/** SC実行結果取得キー(機器提供サービス契約登録) */
	private static final String TEMP_TEMPLATE_KEY_11 = TEMP_TEMPLATE_PRIFIX + TEMPLATE_ID_11 + TEMP_TEMPLATE_PRIFIX_SEP;

	/* ■□ 機器提供サービス契約照査SC ■□ */
	/** テンプレートID(機器提供サービス契約照査) */
	private static final String TEMPLATE_ID_12 = "EKK0341C030";
	/** テンプレートID(機器提供サービス契約照査明細) */
	private static final String TEMPLATE_ID_12_DETAIL = null;
	/** IN項目リスト(機器提供サービス契約照査) */
	private static final List<String> IN_COLUMN_LIST_12 =
			Arrays.asList(EKK0341C030CBSMsg.KKTK_SVC_KEI_NO, EKK0341C030CBSMsg.KIKI_NINSHO_ID, EKK0341C030CBSMsg.KIKI_NINSHO_ID_PWD,
					EKK0341C030CBSMsg.IDO_DIV, EKK0341C030CBSMsg.UPD_DTM_BF, EKK0341C030CBSMsg.SHOSA_DSL_FIN_CD);
	/** 関連チェックエラー項目(機器提供サービス契約照査) */
	private static final String ERROR_COLUMN_12 = null;
	/** SC実行結果取得キー(機器提供サービス契約照査) */
	private static final String TEMP_TEMPLATE_KEY_12 = TEMP_TEMPLATE_PRIFIX + TEMPLATE_ID_12 + TEMP_TEMPLATE_PRIFIX_SEP;

	/* ■□ 機器提供サービス契約解約SC ■□ */
	/** テンプレートID(機器提供サービス契約解約) */
	private static final String TEMPLATE_ID_10 = "EKK0341C340";
	/** テンプレートID(機器提供サービス契約解約明細) */
	private static final String TEMPLATE_ID_10_DETAIL = null;
	/** IN項目リスト(機器提供サービス契約解約) */
	private static final List<String> IN_COLUMN_LIST_10 =
			Arrays.asList(EKK0341C340CBSMsg.KKTK_SVC_KEI_NO, EKK0341C340CBSMsg.MSKM_DTL_NO, EKK0341C340CBSMsg.RSV_TSTA_KIBO_YMD,
					EKK0341C340CBSMsg.SVC_ENDYMD, EKK0341C340CBSMsg.SVC_CHRG_ENDYMD, EKK0341C340CBSMsg.SVC_DLRE_CD, EKK0341C340CBSMsg.SVC_DLRE_MEMO,
					EKK0341C340CBSMsg.ZANCHI_FLG, EKK0341C340CBSMsg.IDO_DIV, EKK0341C340CBSMsg.TAKNKIKI_IDO_CD, EKK0341C340CBSMsg.UPD_DTM_BF,
					EKK0341C340CBSMsg.PNLTY_HASSEI_CD);
	/** 関連チェックエラー項目(機器提供サービス契約解約) */
	private static final String ERROR_COLUMN_10 = null;
	/** SC実行結果取得キー(機器提供サービス契約解約) */
	private static final String TEMP_TEMPLATE_KEY_10 = TEMP_TEMPLATE_PRIFIX + TEMPLATE_ID_10 + TEMP_TEMPLATE_PRIFIX_SEP;

	/* ■□ サービス契約回線内訳一覧照会（サービス契約番号）SC ■□ */
	/** テンプレートID(サービス契約回線内訳一覧照会（サービス契約番号）) */
	private static final String TEMPLATE_ID_16 = "EKK0251B001";
	/** テンプレートID(サービス契約回線内訳一覧照会（サービス契約番号）明細) */
	private static final String TEMPLATE_ID_16_DETAIL = EKK0251B001CBSMsg.EKK0251B001CBSMSG1LIST;
	/** IN項目リスト(サービス契約回線内訳一覧照会（サービス契約番号）) */
	private static final List<String> IN_COLUMN_LIST_16 = Arrays.asList(EKK0251B001CBSMsg.KEY_SVC_KEI_NO);
	/** 関連チェックエラー項目(サービス契約回線内訳一覧照会（サービス契約番号）) */
	private static final String ERROR_COLUMN_16 = EKK0251B001CBSMsg.KEY_SVC_KEI_NO_ERR;
	/** SC実行結果取得キー(サービス契約回線内訳一覧照会（サービス契約番号）) */
	private static final String TEMP_TEMPLATE_KEY_16 = TEMP_TEMPLATE_PRIFIX + TEMPLATE_ID_16 + TEMP_TEMPLATE_PRIFIX_SEP;

	/* ■□ サービス契約回線内訳一意照会SC ■□ */
	/** テンプレートID(サービス契約回線内訳一意照会) */
	private static final String TEMPLATE_ID_17 = "EKK0251A010";
	/** テンプレートID(サービス契約回線内訳一意照会明細) */
	private static final String TEMPLATE_ID_17_DETAIL = EKK0251A010CBSMsg.EKK0251A010CBSMSG1LIST;
	/** IN項目リスト(サービス契約回線内訳一意照会) */
	private static final List<String> IN_COLUMN_LIST_17 =
			Arrays.asList(EKK0251A010CBSMsg.KEY_SVC_KEI_KAISEN_UCWK_NO, EKK0251A010CBSMsg.KEY_GENE_ADD_DTM);
	/** 関連チェックエラー項目(サービス契約回線内訳一意照会) */
	private static final String ERROR_COLUMN_17 = EKK0251A010CBSMsg.KEY_SVC_KEI_KAISEN_UCWK_NO_ERR;
	/** SC実行結果取得キー(サービス契約回線内訳一意照会) */
	private static final String TEMP_TEMPLATE_KEY_17 = TEMP_TEMPLATE_PRIFIX + TEMPLATE_ID_17 + TEMP_TEMPLATE_PRIFIX_SEP;

	/* ■□ お客様一意照会SC ■□ */
	/** テンプレートID(お客様一意照会) */
	private static final String TEMPLATE_ID_18 = "ECK0011A010";
	/** テンプレートID(お客様一意照会明細) */
	private static final String TEMPLATE_ID_18_DETAIL = ECK0011A010CBSMsg.ECK0011A010CBSMSG1LIST;
	/** IN項目リスト(お客様一意照会) */
	private static final List<String> IN_COLUMN_LIST_18 =
			Arrays.asList(ECK0011A010CBSMsg.KEY_SYSID, ECK0011A010CBSMsg.KEY_GENE_ADD_DTM, ECK0011A010CBSMsg.KEY_RSV_APLY_YMD);
	/** 関連チェックエラー項目(お客様一意照会) */
	private static final String ERROR_COLUMN_18 = ECK0011A010CBSMsg.KEY_SYSID_ERR;
	/** SC実行結果取得キー(お客様一意照会) */
	private static final String TEMP_TEMPLATE_KEY_18 = TEMP_TEMPLATE_PRIFIX + TEMPLATE_ID_18 + TEMP_TEMPLATE_PRIFIX_SEP;

	/* ■□ 機器提供サービス一意照会SC ■□ */
	/** テンプレートID(機器提供サービス一意照会) */
	private static final String TEMPLATE_ID_19 = "EKK0771A010";
	/** テンプレートID(機器提供サービス一意照会明細) */
	private static final String TEMPLATE_ID_19_DETAIL = EKK0771A010CBSMsg.EKK0771A010CBSMSG1LIST;
	/** IN項目リスト(機器提供サービス一意照会) */
	private static final List<String> IN_COLUMN_LIST_19 = Arrays.asList(EKK0771A010CBSMsg.KEY_KKTK_SVC_CD);
	/** 関連チェックエラー項目(機器提供サービス一意照会) */
	private static final String ERROR_COLUMN_19 = EKK0771A010CBSMsg.KEY_KKTK_SVC_CD;
	/** SC実行結果取得キー(機器提供サービス一意照会) */
	private static final String TEMP_TEMPLATE_KEY_19 = TEMP_TEMPLATE_PRIFIX + TEMPLATE_ID_19 + TEMP_TEMPLATE_PRIFIX_SEP;

	/* ■□ 引当棚一意照会SC ■□ */
	/** テンプレートID(引当棚一意照会) */
	private static final String TEMPLATE_ID_20 = "EDK0451A010";
	/** テンプレートID(引当棚一意照会明細) */
	private static final String TEMPLATE_ID_20_DETAIL = EDK0451A010CBSMsg.EDK0451A010CBSMSG1LIST;
	/** IN項目リスト(引当棚一意照会) */
	private static final List<String> IN_COLUMN_LIST_20 = Arrays.asList(EDK0451A010CBSMsg.KEY_HAMBAI_SBT_CD, EDK0451A010CBSMsg.KEY_UNYO_YMD);
	/** 関連チェックエラー項目(引当棚一意照会) */
	private static final String ERROR_COLUMN_20 = EDK0451A010CBSMsg.KEY_UNYO_YMD_ERR;
	/** SC実行結果取得キー(引当棚一意照会) */
	private static final String TEMP_TEMPLATE_KEY_20 = TEMP_TEMPLATE_PRIFIX + TEMPLATE_ID_20 + TEMP_TEMPLATE_PRIFIX_SEP;

	/* ■□ 機器提供サービス契約一意照会SC ■□ */
	/** テンプレートID(機器提供サービス契約一意照会) */
	private static final String TEMPLATE_ID_27 = "EKK0341A010";
	/** テンプレートID(機器提供サービス契約一意照会明細) */
	private static final String TEMPLATE_ID_27_DETAIL = EKK0341A010CBSMsg.EKK0341A010CBSMSG1LIST;
	/** IN項目リスト(機器提供サービス契約一意照会) */
	private static final List<String> IN_COLUMN_LIST_27 =
			Arrays.asList(EKK0341A010CBSMsg.KEY_KKTK_SVC_KEI_NO, EKK0341A010CBSMsg.KEY_GENE_ADD_DTM, EKK0341A010CBSMsg.KEY_RSV_APLY_YMD);
	/** 関連チェック,エラー項目(機器提供サービス契約一意照会) */
	private static final String ERROR_COLUMN_27 = EKK0341A010CBSMsg.KEY_KKTK_SVC_KEI_NO_ERR;
	/** SC実行結果取得キー(機器提供サービス契約一意照会) */
	private static final String TEMP_TEMPLATE_KEY_27 = TEMP_TEMPLATE_PRIFIX + TEMPLATE_ID_27 + TEMP_TEMPLATE_PRIFIX_SEP;

	/* ■□ 機器提供サービス契約情報変更SC ■□ */
	/** テンプレートID(機器提供サービス契約情報変更) */
	private static final String TEMPLATE_ID_28 = "EKK0341C230";
	/** テンプレートID(機器提供サービス契約情報変更明細) */
	private static final String TEMPLATE_ID_28_DETAIL = null;
	/** IN項目リスト(機器提供サービス契約情報変更) */
	private static final List<String> IN_COLUMN_LIST_28 =
			Arrays.asList(EKK0341C230CBSMsg.KKTK_SVC_KEI_NO, EKK0341C230CBSMsg.KKTK_SBT_CD, EKK0341C230CBSMsg.HAMBAI_SBT_CD,
					EKK0341C230CBSMsg.TAKNKIKI_MODEL_CD, EKK0341C230CBSMsg.KIKI_SEIZO_NO, EKK0341C230CBSMsg.HDD_CAPA_CD,
					EKK0341C230CBSMsg.TSUSHIN_KIKI_SET_CD, EKK0341C230CBSMsg.LINK_STB_FLG, EKK0341C230CBSMsg.KIKI_HKAT_SHITEI_SOKO_CD,
					EKK0341C230CBSMsg.KIKI_HKAT_SHITEI_SKDN_CD, EKK0341C230CBSMsg.KIKI_SORYO_UM, EKK0341C230CBSMsg.KIKI_SOHUS_NM,
					EKK0341C230CBSMsg.KIKI_SOHUS_KANA, EKK0341C230CBSMsg.KIKI_SOHUS_AD_CD, EKK0341C230CBSMsg.KIKI_SOHUS_PCD,
					EKK0341C230CBSMsg.KIKI_SOHUS_STATE_NM, EKK0341C230CBSMsg.KIKI_SOHUS_CITY_NM, EKK0341C230CBSMsg.KIKI_SOHUS_OAZTSU_NM,
					EKK0341C230CBSMsg.KIKI_SOHUS_AZCHO_NM, EKK0341C230CBSMsg.KIKI_SOHUS_BNCHIGO, EKK0341C230CBSMsg.KIKI_SOHUS_ADRTTM,
					EKK0341C230CBSMsg.KIKI_SOHUS_ADRRM, EKK0341C230CBSMsg.KIKI_SOHUS_TELNO, EKK0341C230CBSMsg.KIKI_SOHUS_KSH_AD_SAI_FLG,
					EKK0341C230CBSMsg.KIKI_SHS_KBT_SHITEI_FLG, EKK0341C230CBSMsg.KIKI_STC_SAKI_NM, EKK0341C230CBSMsg.KIKI_STC_SAKI_KANA,
					EKK0341C230CBSMsg.KIKI_STC_SAKI_AD_CD, EKK0341C230CBSMsg.KIKI_STC_SAKI_PCD, EKK0341C230CBSMsg.KIKI_STC_SAKI_STATE_NM,
					EKK0341C230CBSMsg.KIKI_STC_SAKI_CITY_NM, EKK0341C230CBSMsg.KIKI_STC_SAKI_OAZTSU_NM, EKK0341C230CBSMsg.KIKI_STC_SAKI_AZCHO_NM,
					EKK0341C230CBSMsg.KIKI_STC_SAKI_BNCHIGO, EKK0341C230CBSMsg.KIKI_STC_SAKI_ADRTTM, EKK0341C230CBSMsg.KIKI_STC_SAKI_ADRRM,
					EKK0341C230CBSMsg.KIKI_STC_SK_KSH_AD_SAI_FLG, EKK0341C230CBSMsg.KIKI_STC_SK_TELNO, EKK0341C230CBSMsg.KIKI_STS_KKK_SEIRI_CHU_FLG,
					EKK0341C230CBSMsg.AD_MI_FIX_FLG, EKK0341C230CBSMsg.HAISO_DIV, EKK0341C230CBSMsg.FTRIAL_KANYU_YMD,
					EKK0341C230CBSMsg.FTRIAL_PRD_ENDYMD, EKK0341C230CBSMsg.HONKANYU_YMD, EKK0341C230CBSMsg.HONKANYU_IKO_KIGEN_YMD,
					EKK0341C230CBSMsg.HOSHO_CD, EKK0341C230CBSMsg.PNLTY_HASSEI_CD, EKK0341C230CBSMsg.IDO_DIV,
					EKK0341C230CBSMsg.CAS_CARD_USE_KYODAK_YMD, EKK0341C230CBSMsg.KIKI_HUKA_INFO_CD, EKK0341C230CBSMsg.HAISO_WAY_CD,
					EKK0341C230CBSMsg.KIKI_ITENS_MV_JSSIS_SKCD, EKK0341C230CBSMsg.HAISO_REQ_SHITEI_YMD, EKK0341C230CBSMsg.UPD_DTM_BF,
					EKK0341C230CBSMsg.KIKI_SHS_AD_MAN_INPUT_FLG, EKK0341C230CBSMsg.KAISHU_KIKI_UM);
	/** 関連チェックエラー項目(機器提供サービス契約情報変更) */
	private static final String ERROR_COLUMN_28 = EKK0341C230CBSMsg.KKTK_SVC_KEI_NO_ERR;
	/** SC実行結果取得キー(機器提供サービス契約情報変更) */
	private static final String TEMP_TEMPLATE_KEY_28 = TEMP_TEMPLATE_PRIFIX + TEMPLATE_ID_28 + TEMP_TEMPLATE_PRIFIX_SEP;

	/* ■□ 機器提供サービス契約機器変更手続開始SC ■□ */
	/** テンプレートID(機器提供サービス契約機器変更手続開始) */
	private static final String TEMPLATE_ID_42 = "EKK0341C530";
	/** テンプレートID(機器提供サービス契約機器変更手続開始明細) */
	private static final String TEMPLATE_ID_42_DETAIL = null;
	/** IN項目リスト(機器提供サービス契約機器変更手続開始) */
	private static final List<String> IN_COLUMN_LIST_42 =
			Arrays.asList(EKK0341C530CBSMsg.KKTK_SVC_KEI_NO,
					EKK0341C530CBSMsg.MSKM_DTL_NO,
					EKK0341C530CBSMsg.IDO_DIV,
					EKK0341C530CBSMsg.RSV_APLY_CD,
					EKK0341C530CBSMsg.RSV_APLY_YMD,
					EKK0341C530CBSMsg.UPD_DTM_BF);
	/** 関連チェックエラー項目(機器提供サービス契約機器変更手続開始) */
	private static final String ERROR_COLUMN_42 = EKK0341C530CBSMsg.KKTK_SVC_KEI_NO_ERR;
	/** SC実行結果取得キー(機器提供サービス契約機器変更手続開始) */
	private static final String TEMP_TEMPLATE_KEY_42 = TEMP_TEMPLATE_PRIFIX + TEMPLATE_ID_42 + TEMP_TEMPLATE_PRIFIX_SEP;

	/* ■□ 機器提供サービス契約情報変更（契約変更中）SC ■□ */
	/** テンプレートID(機器提供サービス契約情報変更（契約変更中）) */
	private static final String TEMPLATE_ID_43 = "EKK0341C231";
	/** テンプレートID(機器提供サービス契約情報変更（契約変更中）明細) */
	private static final String TEMPLATE_ID_43_DETAIL = null;
	/** IN項目リスト(機器提供サービス契約情報変更（契約変更中）) */
	private static final List<String> IN_COLUMN_LIST_43 =
			Arrays.asList(EKK0341C231CBSMsg.KKTK_SVC_KEI_NO, EKK0341C231CBSMsg.GENE_ADD_DTM, EKK0341C231CBSMsg.KKTK_SBT_CD,
					EKK0341C231CBSMsg.HAMBAI_SBT_CD, EKK0341C231CBSMsg.TAKNKIKI_MODEL_CD, EKK0341C231CBSMsg.KIKI_SEIZO_NO,
					EKK0341C231CBSMsg.HDD_CAPA_CD, EKK0341C231CBSMsg.TSUSHIN_KIKI_SET_CD, EKK0341C231CBSMsg.LINK_STB_FLG,
					EKK0341C231CBSMsg.KIKI_HKAT_SHITEI_SOKO_CD, EKK0341C231CBSMsg.KIKI_HKAT_SHITEI_SKDN_CD, EKK0341C231CBSMsg.KIKI_SORYO_UM,
					EKK0341C231CBSMsg.KIKI_SOHUS_NM, EKK0341C231CBSMsg.KIKI_SOHUS_KANA, EKK0341C231CBSMsg.KIKI_SOHUS_AD_CD,
					EKK0341C231CBSMsg.KIKI_SOHUS_PCD, EKK0341C231CBSMsg.KIKI_SOHUS_STATE_NM, EKK0341C231CBSMsg.KIKI_SOHUS_CITY_NM,
					EKK0341C231CBSMsg.KIKI_SOHUS_OAZTSU_NM, EKK0341C231CBSMsg.KIKI_SOHUS_AZCHO_NM, EKK0341C231CBSMsg.KIKI_SOHUS_BNCHIGO,
					EKK0341C231CBSMsg.KIKI_SOHUS_ADRTTM, EKK0341C231CBSMsg.KIKI_SOHUS_ADRRM, EKK0341C231CBSMsg.KIKI_SOHUS_TELNO,
					EKK0341C231CBSMsg.KIKI_SOHUS_KSH_AD_SAI_FLG, EKK0341C231CBSMsg.KIKI_SHS_KBT_SHITEI_FLG, EKK0341C231CBSMsg.AD_MI_FIX_FLG,
					EKK0341C231CBSMsg.HAISO_DIV, EKK0341C231CBSMsg.FTRIAL_KANYU_YMD, EKK0341C231CBSMsg.FTRIAL_PRD_ENDYMD,
					EKK0341C231CBSMsg.HONKANYU_YMD, EKK0341C231CBSMsg.HONKANYU_IKO_KIGEN_YMD, EKK0341C231CBSMsg.HOSHO_CD,
					EKK0341C231CBSMsg.PNLTY_HASSEI_CD, EKK0341C231CBSMsg.IDO_DIV, EKK0341C231CBSMsg.TAKNKIKI_IDO_CD,
					EKK0341C231CBSMsg.CAS_CARD_USE_KYODAK_YMD, EKK0341C231CBSMsg.KIKI_HUKA_INFO_CD, EKK0341C231CBSMsg.HAISO_WAY_CD,
					EKK0341C231CBSMsg.HAISO_REQ_SHITEI_YMD, EKK0341C231CBSMsg.UPD_DTM_BF, EKK0341C231CBSMsg.KIKI_SHS_AD_MAN_INPUT_FLG,
					EKK0341C231CBSMsg.KIKI_SOHUS_AD_CHK_LV, EKK0341C231CBSMsg.KIKI_STI_JI_KRIPLACE_SKCD, EKK0341C231CBSMsg.KIKI_STI_JI_KOCOMP_CD,
					EKK0341C231CBSMsg.KIKI_STI_JI_KOCOMP_SLF_CD, EKK0341C231CBSMsg.KIKI_STI_JI_YTKSKOF_CD,
					EKK0341C231CBSMsg.KIKI_STI_JI_YTKSKOF_SLF_CD, EKK0341C231CBSMsg.SHKA_FIN_JI_SYRZM_FLG,
					EKK0341C231CBSMsg.SVC_STA_JI_HIS_JOKYO_SKCD);
	/** 関連チェックエラー項目(機器提供サービス契約情報変更（契約変更中）) */
	private static final String ERROR_COLUMN_43 = null;
	/** SC実行結果取得キー(機器提供サービス契約情報変更（契約変更中）) */
	private static final String TEMP_TEMPLATE_KEY_43 = TEMP_TEMPLATE_PRIFIX + TEMPLATE_ID_43 + TEMP_TEMPLATE_PRIFIX_SEP;

	/* ■□ 機器提供サービス契約キャンセルSC ■□ */
	/** テンプレートID(機器提供サービス契約キャンセル) */
	private static final String TEMPLATE_ID_29 = "EKK0341C330";
	/** テンプレートID(機器提供サービス契約キャンセル明細) */
	private static final String TEMPLATE_ID_29_DETAIL = null;
	/** IN項目リスト(機器提供サービス契約キャンセル) */
	private static final List<String> IN_COLUMN_LIST_29 =
			Arrays.asList(EKK0341C330CBSMsg.KKTK_SVC_KEI_NO, EKK0341C330CBSMsg.MSKM_DTL_NO, EKK0341C330CBSMsg.SVC_CANCEL_RSN_CD,
					EKK0341C330CBSMsg.IDO_DIV, EKK0341C330CBSMsg.UPD_DTM_BF);
	/** 関連チェックエラー項目(機器提供サービス契約キャンセル) */
	private static final String ERROR_COLUMN_29 = null;
	/** SC実行結果取得キー(機器提供サービス契約キャンセル) */
	private static final String TEMP_TEMPLATE_KEY_29 = TEMP_TEMPLATE_PRIFIX + TEMPLATE_ID_29 + TEMP_TEMPLATE_PRIFIX_SEP;

	/* ■□ 機器提供サービス契約解約確定SC ■□ */
	/** テンプレートID(機器提供サービス契約解約確定) */
	private static final String TEMPLATE_ID_30 = "EKK0341C350";
	/** テンプレートID(機器提供サービス契約解約確定明細) */
	private static final String TEMPLATE_ID_30_DETAIL = null;
	/** IN項目リスト(機器提供サービス契約解約確定) */
	private static final List<String> IN_COLUMN_LIST_30 =
			Arrays.asList(EKK0341C350CBSMsg.KKTK_SVC_KEI_NO, EKK0341C350CBSMsg.SVC_ENDYMD, EKK0341C350CBSMsg.SVC_CHRG_ENDYMD,
					EKK0341C350CBSMsg.SVC_DLRE_CD, EKK0341C350CBSMsg.SVC_DLRE_MEMO, EKK0341C350CBSMsg.ZANCHI_FLG, EKK0341C350CBSMsg.TAKNKIKI_IDO_CD,
					EKK0341C350CBSMsg.KAISHU_KIKI_UM, EKK0341C350CBSMsg.UPD_DTM_BF);
	/** 関連チェックエラー項目(機器提供サービス契約解約確定) */
	private static final String ERROR_COLUMN_30 = null;
	/** SC実行結果取得キー(機器提供サービス契約解約確定) */
	private static final String TEMP_TEMPLATE_KEY_30 = TEMP_TEMPLATE_PRIFIX + TEMPLATE_ID_30 + TEMP_TEMPLATE_PRIFIX_SEP;

	/* ■□ 進捗登録SC ■□ */
	/** テンプレートID(進捗登録) */
	private static final String TEMPLATE_ID_33 = "EKK1091D010";
	/** テンプレートID(進捗登録明細) */
	private static final String TEMPLATE_ID_33_DETAIL = EKK1091D010CBSMsg.EKK1091D010CBSMSG1LIST;
	/** IN項目リスト(進捗登録) */
	private static final List<String> IN_COLUMN_LIST_33 =
			Arrays.asList(EKK1091D010CBSMsg.MSKM_DTL_NO, EKK1091D010CBSMsg.SEIKY_KEI_NO, EKK1091D010CBSMsg.SEIKY_WAY_NO_KOZA,
					EKK1091D010CBSMsg.SEIKY_WAY_NO_CRECARD, EKK1091D010CBSMsg.SVC_KEI_NO, EKK1091D010CBSMsg.SVC_KEI_UCWK_NO,
					EKK1091D010CBSMsg.SVC_KEI_KAISEN_UCWK_NO, EKK1091D010CBSMsg.KKTK_SVC_KEI_NO, EKK1091D010CBSMsg.OP_SVC_KEI_NO,
					EKK1091D010CBSMsg.SEIOPSVC_KEI_NO, EKK1091D010CBSMsg.SBOP_SVC_KEI_NO, EKK1091D010CBSMsg.WRIB_SVC_KEI_NO,
					EKK1091D010CBSMsg.IDO_DIV, EKK1091D010CBSMsg.PRG_STAT, EKK1091D010CBSMsg.PRG_MEMO, EKK1091D010CBSMsg.PRG_TKJK_1,
					EKK1091D010CBSMsg.PRG_TKJK_2, EKK1091D010CBSMsg.IDO_DTM);
	/** 関連チェックエラー項目(進捗登録) */
	private static final String ERROR_COLUMN_33 = null;

	/* ■□ 申込明細照査・後続業務依頼SC ■□ */
	/** テンプレートID(申込明細照査・後続業務依頼) */
	private static final String TEMPLATE_ID_34 = "EKK0021C060";
	/** テンプレートID(申込明細照査・後続業務依頼明細) */
	private static final String TEMPLATE_ID_34_DETAIL = null;
	/** IN項目リスト(申込明細照査・後続業務依頼) */
	private static final List<String> IN_COLUMN_LIST_34 =
			Arrays.asList(EKK0021C060CBSMsg.MSKM_DTL_NO, EKK0021C060CBSMsg.RRK_JIKO_ADD_DTM, EKK0021C060CBSMsg.MSKM_DTL_SHOSA_DTM,
					EKK0021C060CBSMsg.KZKWRK_REQYMD, EKK0021C060CBSMsg.RRK_JIKO, EKK0021C060CBSMsg.UPD_DTM_BF, EKK0021C060CBSMsg.IDO_DIV,
					EKK0021C060CBSMsg.TELNO, EKK0021C060CBSMsg.DAIHYO_TELNO, EKK0021C060CBSMsg.TELNO_USE_PLACE_NO,
					EKK0021C060CBSMsg.SIP_USER_ID_DEL_ZUMI_FLG, EKK0021C060CBSMsg.TEL_BAS_HOST_ID, EKK0021C060CBSMsg.N_050_OP_TELNO,
					EKK0021C060CBSMsg.KIKI_NINSHO_ID, EKK0021C060CBSMsg.KIKI_NINSHO_ID_PWD);
	/** 関連チェックエラー項目(申込明細照査・後続業務依頼) */
	private static final String ERROR_COLUMN_34 = null;

	/* ■□ 機器オプションサービス契約登録SC ■□ */
	/** テンプレートID(機器オプションサービス契約登録) */
	private static final String TEMPLATE_ID_35 = "EKK2811D010";
	/** テンプレートID(機器オプションサービス契約登録明細) */
	private static final String TEMPLATE_ID_35_DETAIL = null;
	/** IN項目リスト(機器オプションサービス契約登録) */
	private static final List<String> IN_COLUMN_LIST_35 =
			Arrays.asList(EKK2811D010CBSMsg.KKOP_SVC_CD, EKK2811D010CBSMsg.PCRS_CD, EKK2811D010CBSMsg.PPLAN_CD, EKK2811D010CBSMsg.KKTK_SVC_KEI_NO,
					EKK2811D010CBSMsg.SYSID, EKK2811D010CBSMsg.MSKM_DTL_NO, EKK2811D010CBSMsg.FTRIAL_KANYU_YMD, EKK2811D010CBSMsg.FTRIAL_PRD_ENDYMD,
					EKK2811D010CBSMsg.HONKANYU_YMD, EKK2811D010CBSMsg.HONKANYU_IKO_KIGEN_YMD, EKK2811D010CBSMsg.SVC_USE_STA_KIBO_YMD,
					EKK2811D010CBSMsg.RSV_TSTA_KIBO_YMD, EKK2811D010CBSMsg.PNLTY_HASSEI_CD, EKK2811D010CBSMsg.IDO_DIV,
					EKK2811D010CBSMsg.KIKI_RNTAI_KEI_CHGECHU_FLG, EKK2811D010CBSMsg.SEIKY_KEI_NO, EKK2811D010CBSMsg.PRC_KMK_CD,
					EKK2811D010CBSMsg.UPD_DTM_BF, EKK2811D010CBSMsg.KKOP_SVC_KEI_NO, EKK2811D010CBSMsg.GENE_ADD_DTM,
					EKK2811D010CBSMsg.KKOP_SVC_KEI_STAT, EKK2811D010CBSMsg.RSV_APLY_YMD, EKK2811D010CBSMsg.RSV_APLY_CD, EKK2811D010CBSMsg.ADD_DTM,
					EKK2811D010CBSMsg.ADD_OPEACNT, EKK2811D010CBSMsg.UPD_DTM, EKK2811D010CBSMsg.UPD_OPEACNT, EKK2811D010CBSMsg.MK_FLG,
					EKK2811D010CBSMsg.KAKINS_NO, EKK2811D010CBSMsg.KAKINS_TSTAYMD, EKK2811D010CBSMsg.KAKINS_TENDYMD);
	/** 関連チェックエラー項目(機器オプションサービス契約登録) */
	private static final String ERROR_COLUMN_35 = null;
	/** SC実行結果取得キー(機器オプションサービス契約登録) */
	private static final String TEMP_TEMPLATE_KEY_35 = TEMP_TEMPLATE_PRIFIX + TEMPLATE_ID_35 + TEMP_TEMPLATE_PRIFIX_SEP;

	/* ■□ 機器オプションサービス契約照査SC ■□ */
	/** テンプレートID(機器オプションサービス契約照査) */
	private static final String TEMPLATE_ID_36 = "EKK2811C030";
	/** テンプレートID(機器オプションサービス契約照査明細) */
	private static final String TEMPLATE_ID_36_DETAIL = null;
	/** IN項目リスト(機器オプションサービス契約照査) */
	private static final List<String> IN_COLUMN_LIST_36 =
			Arrays.asList(EKK2811C030CBSMsg.KKOP_SVC_KEI_NO, EKK2811C030CBSMsg.IDO_DIV, EKK2811C030CBSMsg.SHOSA_DSL_FIN_CD,
					EKK2811C030CBSMsg.UPD_DTM_BF, EKK2811C030CBSMsg.GENE_ADD_DTM, EKK2811C030CBSMsg.KKOP_SVC_KEI_STAT,
					EKK2811C030CBSMsg.RSV_APLY_YMD, EKK2811C030CBSMsg.RSV_APLY_CD, EKK2811C030CBSMsg.SHOSA_YMD, EKK2811C030CBSMsg.SHOSA_CL_YMD);
	/** 関連チェックエラー項目(機器オプションサービス契約照査) */
	private static final String ERROR_COLUMN_36 = null;
	/** SC実行結果取得キー(機器オプションサービス契約照査) */
	private static final String TEMP_TEMPLATE_KEY_36 = TEMP_TEMPLATE_PRIFIX + TEMPLATE_ID_36 + TEMP_TEMPLATE_PRIFIX_SEP;

	/* ■□ 機器オプションサービス契約照査締結SC ■□ */
	/** テンプレートID(機器オプションサービス契約照査締結) */
	private static final String TEMPLATE_ID_EKK2811C050 = "EKK2811C050";
	/** テンプレートID(機器オプションサービス契約照査締結明細) */
	private static final String TEMPLATE_ID_EKK2811C050_DETAIL = null;
	/** IN項目リスト(機器オプションサービス契約照査締結) */
	private static final List<String> IN_COLUMN_LIST_EKK2811C050 =
			Arrays.asList(EKK2811C050CBSMsg.KKOP_SVC_KEI_NO, EKK2811C050CBSMsg.IDO_DIV, EKK2811C050CBSMsg.UPD_DTM_BF);
	/** SC実行結果取得キー(機器オプションサービス契約照査締結) */
	private static final String TEMP_TEMPLATE_KEY_EKK2811C050 = TEMP_TEMPLATE_PRIFIX + TEMPLATE_ID_EKK2811C050 + TEMP_TEMPLATE_PRIFIX_SEP;

	/* ■□ 機器オプションサービス契約開始SC ■□ */
	/** テンプレートID(機器オプションサービス契約開始) */
	private static final String TEMPLATE_ID_EKK2811C070 = "EKK2811C070";
	/** テンプレートID(機器オプションサービス契約開始明細) */
	private static final String TEMPLATE_ID_EKK2811C070_DETAIL = null;
	/** IN項目リスト(機器オプションサービス契約開始) */
	private static final List<String> IN_COLUMN_LIST_EKK2811C070 =
			Arrays.asList(EKK2811C070CBSMsg.KKOP_SVC_KEI_NO, EKK2811C070CBSMsg.IDO_DIV, EKK2811C070CBSMsg.UPD_DTM_BF, EKK2811C070CBSMsg.DOJI_STA_UMU);
	/** 関連チェックエラー項目(機器オプションサービス契約開始) */
	private static final String ERROR_COLUMN_EKK2811C070 = null;
	/** SC実行結果取得キー(機器オプションサービス契約開始) */
	private static final String TEMP_TEMPLATE_KEY_EKK2811C070 = TEMP_TEMPLATE_PRIFIX + TEMPLATE_ID_EKK2811C070 + TEMP_TEMPLATE_PRIFIX_SEP;

	/* ■□ 機器オプションサービス契約一覧照会（フロント）SC ■□ */
	/** テンプレートID(機器オプションサービス契約一覧照会（フロント）) */
	private static final String TEMPLATE_ID_KKOP_SVKEI_LIST_SHOKAI = "EKK2811B503";
	/** テンプレートID(明細)(機器オプションサービス契約一覧照会（フロント）) */
	private static final String TEMPLATE_ID_DETAIL_KKOP_SVKEI_LIST_SHOKAI = EKK2811B503CBSMsg.EKK2811B503CBSMSG1LIST;
	/** IN項目リスト(機器オプションサービス契約一覧照会（フロント）) */
	private static final List<String> IN_COLUMN_LIST_KKOP_SVKEI_LIST_SHOKAI =
			Arrays.asList(EKK2811B503CBSMsg.KEY_SYSID, EKK2811B503CBSMsg.KEY_SVC_KEI_KAISEN_UCWK_NO, EKK2811B503CBSMsg.KEY_TAKNKIKI_SBT_CD);
	/** SC実行結果取得キー(機器オプションサービス契約一覧照会（フロント）) */
	private static final String TEMP_TEMPLATE_KEY_KKOP_SVKEI_LIST_SHOKAI =
			TEMP_TEMPLATE_PRIFIX + TEMPLATE_ID_KKOP_SVKEI_LIST_SHOKAI + TEMP_TEMPLATE_PRIFIX_SEP;

	/* ■□ 機器オプションサービス契約料金プラン変更SC ■□ */
	/** テンプレートID(機器オプションサービス契約料金プラン変更) */
	private static final String TEMPLATE_ID_38 = "EKK2811C250";
	/** テンプレートID(機器オプションサービス契約料金プラン変更明細) */
	private static final String TEMPLATE_ID_38_DETAIL = null;
	/** IN項目リスト(機器オプションサービス契約料金プラン変更) */
	private static final List<String> IN_COLUMN_LIST_38 =
			Arrays.asList(EKK2811C250CBSMsg.KKOP_SVC_KEI_NO, EKK2811C250CBSMsg.IDO_DIV, EKK2811C250CBSMsg.RSV_APLY_YMD,
					EKK2811C250CBSMsg.MSKM_DTL_NO, EKK2811C250CBSMsg.PCRS_CD, EKK2811C250CBSMsg.PPLAN_CD, EKK2811C250CBSMsg.PNLTY_HASSEI_CD,
					EKK2811C250CBSMsg.UPD_DTM_BF);
	/** 関連チェックエラー項目(機器オプションサービス契約料金プラン変更) */
	private static final String ERROR_COLUMN_38 = null;
	/** SC実行結果取得キー(機器オプションサービス契約料金プラン変更) */
	private static final String TEMP_TEMPLATE_KEY_38 = TEMP_TEMPLATE_PRIFIX + TEMPLATE_ID_38 + TEMP_TEMPLATE_PRIFIX_SEP;

	/* ■□ 機器オプションサービス契約料金プラン変更確定SC ■□ */
	/** テンプレートID(機器オプションサービス契約料金プラン変更確定) */
	private static final String TEMPLATE_ID_39 = "EKK2811C260";
	/** テンプレートID(機器オプションサービス契約料金プラン変更確定明細) */
	private static final String TEMPLATE_ID_39_DETAIL = null;
	/** IN項目リスト(機器オプションサービス契約料金プラン変更確定) */
	private static final List<String> IN_COLUMN_LIST_39 =
			Arrays.asList(EKK2811C260CBSMsg.KKOP_SVC_KEI_NO, EKK2811C260CBSMsg.RSV_APLY_YMD, EKK2811C260CBSMsg.UPD_DTM_BF);
	/** 関連チェックエラー項目(機器オプションサービス契約料金プラン変更確定) */
	private static final String ERROR_COLUMN_39 = null;
	/** SC実行結果取得キー(機器オプションサービス契約料金プラン変更確定) */
	private static final String TEMP_TEMPLATE_KEY_39 = TEMP_TEMPLATE_PRIFIX + TEMPLATE_ID_39 + TEMP_TEMPLATE_PRIFIX_SEP;

	/* ■□ オーダー発行条件登録SC ■□ */
	/** テンプレートID(オーダー発行条件登録) */
	private static final String TEMPLATE_ID_40 = "EKK1081D010";
	/** テンプレートID(オーダー発行条件登録明細) */
	private static final String TEMPLATE_ID_40_DETAIL = null;
	/** IN項目リスト(オーダー発行条件登録) */
	private static final List<String> IN_COLUMN_LIST_40 =
			Arrays.asList(EKK1081D010CBSMsg.SVC_KEI_NO, EKK1081D010CBSMsg.SVC_KEI_UCWK_NO, EKK1081D010CBSMsg.KKTK_SVC_KEI_NO,
					EKK1081D010CBSMsg.OP_SVC_KEI_NO, EKK1081D010CBSMsg.SBOP_SVC_KEI_NO, EKK1081D010CBSMsg.SEIOPSVC_KEI_NO,
					EKK1081D010CBSMsg.ORDER_SBT_CD, EKK1081D010CBSMsg.SVC_ORDER_CD, EKK1081D010CBSMsg.YOKYU_SBT_CD,
					EKK1081D010CBSMsg.ODR_HAKKO_JOKEN_CD, EKK1081D010CBSMsg.SAME_TRN_NO, EKK1081D010CBSMsg.TAKNKIKI_MODEL_CD,
					EKK1081D010CBSMsg.KIKI_SEIZO_NO, EKK1081D010CBSMsg.MLAD, EKK1081D010CBSMsg.SPOT_LOGIN_SYSID, EKK1081D010CBSMsg.SEND_REQ_FIN_DTM,
					EKK1081D010CBSMsg.KEI_SVC_CTL_YOKYU_ODR_SKCD, EKK1081D010CBSMsg.SVC_KEI_KAISEN_UCWK_NO, EKK1081D010CBSMsg.ODR_HAKKO_JOKEN_NO);
	/** 関連チェックエラー項目(オーダー発行条件登録) */
	private static final String ERROR_COLUMN_40 = null;
	/** SC実行結果取得キー(オーダー発行条件登録定) */
	private static final String TEMP_TEMPLATE_KEY_40 = TEMP_TEMPLATE_PRIFIX + TEMPLATE_ID_40 + TEMP_TEMPLATE_PRIFIX_SEP;

	/* ■□ オーダー情報作成ワーク登録SC ■□ */
	/** テンプレートID(オーダー情報作成ワーク登録) */
	private static final String TEMPLATE_ID_41 = "EKK1551D010";
	/** テンプレートID(オーダー情報作成ワーク登録明細) */
	private static final String TEMPLATE_ID_41_DETAIL = null;
	/** IN項目リスト(オーダー情報作成ワーク登録) */
	private static final List<String> IN_COLUMN_LIST_41 =
			Arrays.asList(EKK1551D010CBSMsg.ODR_HAKKO_JOKEN_NO, EKK1551D010CBSMsg.ODR_NAIYO_CD, EKK1551D010CBSMsg.SVC_KEI_NO,
					EKK1551D010CBSMsg.SVKEI_GADTM, EKK1551D010CBSMsg.SVC_KEI_UCWK_NO, EKK1551D010CBSMsg.SVKEIUW_GADTM,
					EKK1551D010CBSMsg.KKTK_SVC_KEI_NO, EKK1551D010CBSMsg.KKTSVKEI_GADTM, EKK1551D010CBSMsg.OP_SVC_KEI_NO,
					EKK1551D010CBSMsg.OPSVKEI_GADTM, EKK1551D010CBSMsg.SBOP_SVC_KEI_NO, EKK1551D010CBSMsg.SBOPSVKEI_GADTM,
					EKK1551D010CBSMsg.SEIOPSVC_KEI_NO, EKK1551D010CBSMsg.SEIOPSVKEI_GADTM, EKK1551D010CBSMsg.HUKA_INF_KEI_NO,
					EKK1551D010CBSMsg.HUKA_INF_KEI_GADTM, EKK1551D010CBSMsg.CHBF_SVKEI_GADTM, EKK1551D010CBSMsg.CHBF_SVKEIUW_GADTM,
					EKK1551D010CBSMsg.CHBF_KKTSVKEI_GADTM, EKK1551D010CBSMsg.CHBF_OPSVKEI_GADTM, EKK1551D010CBSMsg.CHBF_SBOPSVKEI_GADTM,
					EKK1551D010CBSMsg.CHBF_SEIOPSVKEI_GADTM, EKK1551D010CBSMsg.CHBF_HUKA_INF_KEI_GADTM, EKK1551D010CBSMsg.KKOP_SVC_KEI_NO_1,
					EKK1551D010CBSMsg.KKOSVKEI_GADTM_1, EKK1551D010CBSMsg.CHBF_KKOSVKEI_GADTM_1, EKK1551D010CBSMsg.KKOP_SVC_KEI_NO_2,
					EKK1551D010CBSMsg.KKOSVKEI_GADTM_2, EKK1551D010CBSMsg.CHBF_KKOSVKEI_GADTM_2, EKK1551D010CBSMsg.ODR_INF_SKSI_WK_NO);
	/** 関連チェックエラー項目(オーダー情報作成ワーク登録) */
	private static final String ERROR_COLUMN_41 = null;

	/* ■□ 回線対象サービス契約一覧照会SC ■□ */
	/** テンプレートID(回線対象サービス契約一覧照会) */
	private static final String TEMPLATE_ID_EKK0241B002 = "EKK0241B002";
	/** テンプレートID(回線対象サービス契約一覧照会) */
	private static final String TEMPLATE_ID_EKK0241B002_DETAIL = EKK0241B002CBSMsg.EKK0241B002CBSMSG1LIST;
	/** IN項目リスト(回線対象サービス契約一覧照会) */
	private static final List<String> IN_COLUMN_LIST_EKK0241B002 = Arrays.asList(EKK0241B002CBSMsg.KEY_SVC_KEI_KAISEN_UCWK_NO);
	/** 関連チェックエラー項目(回線対象サービス契約一覧照会) */
	private static final String ERROR_COLUMN_EKK0241B002 = EKK0241B002CBSMsg.KEY_SVC_KEI_KAISEN_UCWK_NO_ERR;
	/** SC実行結果取得キー(回線対象サービス契約一覧照会) */
	private static final String TEMP_TEMPLATE_KEY_EKK0241B002 = TEMP_TEMPLATE_PRIFIX + TEMPLATE_ID_EKK0241B002 + TEMP_TEMPLATE_PRIFIX_SEP;

	/* ■□ サービス契約一意照会SC ■□ */
	/** テンプレートID(サービス契約一意照会) */
	private static final String TEMPLATE_ID_2 = "EKK0081A010";
	/** テンプレートID(サービス契約一意照会明細) */
	private static final String TEMPLATE_ID_2_DETAIL = EKK0081A010CBSMsg.EKK0081A010CBSMSG1LIST;
	/** IN項目リスト(サービス契約一意照会) */
	private static final List<String> IN_COLUMN_LIST_2 =
			Arrays.asList(EKK0081A010CBSMsg.KEY_SVC_KEI_NO, EKK0081A010CBSMsg.KEY_GENE_ADD_DTM, EKK0081A010CBSMsg.KEY_RSV_APLY_YMD);
	/** 関連チェックエラー項目(サービス契約一意照会) */
	private static final String ERROR_COLUMN_2 = EKK0081A010CBSMsg.KEY_SVC_KEI_NO_ERR;
	/** SC実行結果取得キー(サービス契約一意照会) */
	private static final String TEMP_TEMPLATE_KEY_2 = TEMP_TEMPLATE_PRIFIX + TEMPLATE_ID_2 + TEMP_TEMPLATE_PRIFIX_SEP;

	/* ■□ 現サービス契約内訳情報一覧照会(ネット)SC ■□ */
	/** テンプレートID(現サービス契約内訳情報一覧照会(ネット)) */
	private static final String TEMPLATE_ID_SVC_KEI_UCWK_LIST_SHOKAI = "EKK0161B504";
	/** テンプレートID(明細)(現サービス契約内訳情報一覧照会(ネット)) */
	private static final String TEMPLATE_ID_DETAIL_SVC_KEI_UCWK_LIST_SHOKAI = EKK0161B504CBSMsg.EKK0161B504CBSMSG1LIST;
	/** IN項目リスト(現サービス契約内訳情報一覧照会(ネット)) */
	private static final List<String> IN_COLUMN_LIST_SVC_KEI_UCWK_LIST_SHOKAI =
			Arrays.asList(EKK0161B504CBSMsg.KEY_SVC_KEI_NO, EKK0161B504CBSMsg.KEY_ISP_NINSHO_ID);
	/** SC実行結果取得キー(現サービス契約内訳情報一覧照会(ネット)) */
	private static final String TEMP_TEMPLATE_KEY_SVC_KEI_UCWK_LIST_SHOKAI =
			TEMP_TEMPLATE_PRIFIX + TEMPLATE_ID_SVC_KEI_UCWK_LIST_SHOKAI + TEMP_TEMPLATE_PRIFIX_SEP;
	/** 関連チェックエラー項目(現サービス契約内訳情報一覧照会(ネット)) */
	private static final String ERROR_COLUMN_SVC_KEI_UCWK = EKK0161B504CBSMsg.KEY_SVC_KEI_NO_ERR;

	/* ■□ 課金先一覧照会（請求契約番号/サービス契約番号）SC ■□ */
	/** テンプレートID(課金先一覧照会（請求契約番号/サービス契約番号) */
	private static final String TEMPLATE_ID_EKK0321B002 = "EKK0321B002";
	/** テンプレートID(課金先一覧照会（請求契約番号/サービス契約番号明細) */
	private static final String TEMPLATE_ID_EKK0321B002_DETAIL = EKK0321B002CBSMsg.EKK0321B002CBSMSG1LIST;
	/** IN項目リスト(課金先一覧照会（請求契約番号/サービス契約番号) */
	private static final List<String> IN_COLUMN_LIST_EKK0321B002 = Arrays.asList(EKK0321B002CBSMsg.KEY_SVC_KEI_NO, EKK0321B002CBSMsg.KEY_SEIKY_KEI_NO);
	/** 関連チェックエラー項目(課金先一覧照会（請求契約番号/サービス契約番号) */
	private static final String ERROR_COLUMN_EKK0321B002 = EKK0321B002CBSMsg.KEY_SVC_KEI_NO_ERR;
	/** SC実行結果取得キー(課金先一覧照会（請求契約番号/サービス契約番号) */
	private static final String TEMP_TEMPLATE_KEY_EKK0321B002 = TEMP_TEMPLATE_PRIFIX + TEMPLATE_ID_EKK0321B002 + TEMP_TEMPLATE_PRIFIX_SEP;

	/* ■□ 端末通知書登録SC ■□ */
	/** テンプレートID(端末通知書登録) */
	private static final String TEMPLATE_ID_EKK3271D010 = "EKK3271D010";
	/** テンプレートID(端末通知書登録明細) */
	private static final String TEMPLATE_ID_EKK3271D010_DETAIL = null;
	/** IN項目リスト(端末通知書登録) */
	private static final List<String> IN_COLUMN_LIST_EKK3271D010 =
			Arrays.asList(EKK3271D010CBSMsg.KKTK_SVC_KEI_NO, EKK3271D010CBSMsg.TNMT_BUY_TCHISHO_OPUT_SKCD, EKK3271D010CBSMsg.TNMT_BUY_UK_TNTSHA_NM,
					EKK3271D010CBSMsg.MSKM_DTL_NO);
	/** 関連チェックエラー項目(端末通知書登録) */
	private static final String ERROR_COLUMN_EKK3271D010 = null;
//	/** SC実行結果取得キー(業務パラメータ管理一意照会) */
//	private static final String TEMP_TEMPLATE_KEY_EKK3271D010 = TEMP_TEMPLATE_PRIFIX + TEMPLATE_ID_EKK3271D010 + TEMP_TEMPLATE_PRIFIX_SEP + "1";

	/* ■□ 業務パラメータ管理一意照会 ■□ */
	/** テンプレートID(業務パラメータ管理一意照会) */
	private static final String TEMPLATE_ID_EZM0321A010 = "EZM0321A010";
	/** テンプレートID(業務パラメータ管理一意照会明細) */
	private static final String TEMPLATE_ID_DETAIL_EZM0321A010 = "EZM0321A010CBSMsg1List";
	/** IN項目リスト(業務パラメータ管理一意照会) */
	private static final List<String> IN_COLUMN_LIST_EZM0321A010 = Arrays.asList(EZM0321A010CBSMsg.KEY_WORK_PARAM_ID);
	/** 関連チェックエラー項目(業務パラメータ管理一意照会) */
	private static final String ERROR_COLUMN_EZM0321A010 = EZM0321A010CBSMsg.KEY_WORK_PARAM_ID_ERR;
	/** SC実行結果取得キー(業務パラメータ管理一意照会) */
	private static final String TEMP_TEMPLATE_KEY_EZM0321A010 = TEMP_TEMPLATE_PRIFIX + TEMPLATE_ID_EZM0321A010 + TEMP_TEMPLATE_PRIFIX_SEP + "1";

	/** 無効なサービス契約ステータス */
	private static final List<String> SVC_KEI_STAT_MUKO = Arrays.asList(JFUStrConst.CD00037_910, JFUStrConst.CD00037_920);
	/** 無効な機器オプションサービス契約ステータス */
	private static final List<String> KKOP_SVC_KEI_STAT_MUKO = Arrays.asList(JFUStrConst.CD01616_910, JFUStrConst.CD01616_920);

	/** チケット利用申請依頼CC */
	private static final String FUSV013407CC = "FUSV013407CC";

	/** チケット利用申請依頼CC チケット利用申請依頼リスト*/
	private static final String FUSV013407CC_LIST = "ticket_use_shin_irai_list";
	/** チケット利用申請依頼CC 施策コード */
	private static final String FUSV013407CC_SISAK_CD = "sisak_cd";
	/** チケット利用申請依頼CC キャンペーン登録契機対象キー1*/
	private static final String FUSV013407CC_KEY1 = "cmp_add_optnty_tg_key_1";
	/** チケット利用申請依頼CC キャンペーン登録契機対象キー2*/
	private static final String FUSV013407CC_KEY2 = "cmp_add_optnty_tg_key_2";

	/** 「機器提供サービス契約番号」「機器変更番号」の設定が必要な施策コード */
	private static final List<String> SISAK_CD_PARAMSET = Arrays.asList("B001");

	/** 保有多機能ルータ種別 低速多機能ルータ */
	private static final String OWN_TKN_RT_KIND_0 = "0";

	/** 工事案件諸変更CC */
	private static final String JFU_KOJIAK_UPD_CC = "JFUKojiakUpdCC";
	/** 工事案件CC */
	private static final String JKK_KOJI_ANKEN_CC = "JKKKojiAnkenCC";
	/** 機器配送情報連結CC */
	private static final String JKK_KIKI_HAISO_RNKT_CC = "JKKKikiHaisoInfoRnktCC";

	/* ■□ 工事案件一意照会SC ■□ */
	/** テンプレートID(工事案件一意照会) */
	private static final String TEMPLATE_ID_EKU0011A010 = "EKU0011A010";
	/** テンプレートID(工事案件一意照会明細) */
	private static final String TEMPLATE_ID_EKU0011A010_DETAIL = EKU0011A010CBSMsg.EKU0011A010CBSMSG1LIST;
	/** IN項目リスト(工事案件一意照会) */
	private static final List<String> IN_COLUMN_LIST_EKU0011A010 = Arrays.asList(EKU0011A010CBSMsg.KEY_KOJIAK_NO);
	/** 関連チェックエラー項目(工事案件一意照会) */
	private static final String ERROR_COLUMN_EKU0011A010 = EKU0011A010CBSMsg.KEY_KOJIAK_NO_ERR;
	/** SC実行結果取得キー(工事案件一意照会) */
	private static final String TEMP_TEMPLATE_KEY_EKU0011A010 = TEMP_TEMPLATE_PRIFIX + TEMPLATE_ID_EKU0011A010 + TEMP_TEMPLATE_PRIFIX_SEP;

	/* ■□ EKK2811C240_機器オプションサービス契約手続中料金プラン変更SC ■□ */
	/** テンプレートID(EKK2811C240_機器オプションサービス契約手続中料金プラン変更) */
	private static final String TEMPLATE_ID_EKK2811C240 = "EKK2811C240";
	/** テンプレートID(EKK2811C240_機器オプションサービス契約手続中料金プラン変更) */
	private static final String TEMPLATE_ID_EKK2811C240_DETAIL = null;
	/** IN項目リスト(EKK2811C240_機器オプションサービス契約手続中料金プラン変更) */
	private static final List<String> IN_COLUMN_LIST_EKK2811C240 =
			Arrays.asList(EKK2811C240CBSMsg.KKOP_SVC_KEI_NO, EKK2811C240CBSMsg.GENE_ADD_DTM, EKK2811C240CBSMsg.PCRS_CD, EKK2811C240CBSMsg.PPLAN_CD,
					EKK2811C240CBSMsg.MSKM_DTL_NO, EKK2811C240CBSMsg.PNLTY_HASSEI_CD, EKK2811C240CBSMsg.UPD_DTM_BF);
	/** 関連チェックエラー項目(EKK2811C240_機器オプションサービス契約手続中料金プラン変更) */
	private static final String ERROR_COLUMN_EKK2811C240 = null;
	/** SC実行結果取得キー(EKK2811C240_機器オプションサービス契約手続中料金プラン変更) */
	private static final String TEMP_TEMPLATE_KEY_EKK2811C240 = TEMP_TEMPLATE_PRIFIX + TEMPLATE_ID_EKK2811C240 + TEMP_TEMPLATE_PRIFIX_SEP;

	/* ■□ EKK2811B504_機器オプションサービス契約一覧照会（複合検索）SC ■□ */
	/** テンプレートID(EKK2811B504_機器オプションサービス契約一覧照会（複合検索）) */
	private static final String TEMPLATE_ID_EKK2811B504_NEW = "EKK2811B504";
	/** テンプレートID(明細)(EKK2811B504_機器オプションサービス契約一覧照会（複合検索）) */
	private static final String TEMPLATE_ID_DETAIL_EKK2811B504_NEW = EKK2811B504CBSMsg.EKK2811B504CBSMSG1LIST;
	/** IN項目リスト(EKK2811B504_機器オプションサービス契約一覧照会（複合検索）) */
	private static final List<String> IN_COLUMN_LIST_EKK2811B504_NEW =
			Arrays.asList(EKK2811B504CBSMsg.KEY_SYSID, EKK2811B504CBSMsg.KEY_KKTK_SVC_KEI_NO, EKK2811B504CBSMsg.KEY_RSV_APLY_YMD);
	/** 関連チェックエラー項目(EKK2811B504_機器オプションサービス契約一覧照会（複合検索）) */
	private static final String ERROR_COLUMN_EKK2811B504_NEW = EKK2811B504CBSMsg.KEY_KKTK_SVC_KEI_NO_ERR;
	/** SC実行結果取得キー(EKK2811B504_機器オプションサービス契約一覧照会（複合検索）) */
	private static final String TEMP_TEMPLATE_KEY_EKK2811B504_NEW = TEMP_TEMPLATE_PRIFIX + TEMPLATE_ID_EKK2811B504_NEW + TEMP_TEMPLATE_PRIFIX_SEP;

	/* ■□ 工事案件対象宅内機器一覧照会２ ■□ */
	/** テンプレートID(工事案件一意照会) */
	private static final String TEMPLATE_ID_EKU0141B020 = "EKU0141B020";
	/** テンプレートID(工事案件一意照会明細) */
	private static final String TEMPLATE_ID_EKU0141B020_DETAIL = EKU0141B020CBSMsg.EKU0141B020CBSMSG1LIST;
	/** IN項目リスト(工事案件一意照会) */
	private static final List<String> IN_COLUMN_LIST_EKU0141B020 =
			Arrays.asList(EKU0141B020CBSMsg.KEY_KOJIAK_NO, EKU0141B020CBSMsg.SEARCH_TYPE, EKU0141B020CBSMsg.MAX_SEARCH_NUM,
					EKU0141B020CBSMsg.TOTAL_PAGE_NUM);
	/** 関連チェックエラー項目(工事案件一意照会) */
	private static final String ERROR_COLUMN_EKU0141B020 = EKU0141B020CBSMsg.KEY_KOJIAK_NO_ERR;
	/** SC実行結果取得キー(工事案件一意照会) */
	private static final String TEMP_TEMPLATE_KEY_EKU0141B020 = TEMP_TEMPLATE_PRIFIX + TEMPLATE_ID_EKU0141B020 + TEMP_TEMPLATE_PRIFIX_SEP;

	/* ■□ 申込書明細番号採番SC ■□ */
	/** テンプレートID(申込書明細番号採番) */
	private static final String TEMPLATE_ID_EKK0021C014 = "EKK0021C014";
	/** テンプレートID(申込書明細番号採番明細) */
	private static final String TEMPLATE_ID_EKK0021C014_DETAIL = null;
	/** IN項目リスト(申込書明細番号採番) */
	private static final List<String> IN_COLUMN_LIST_EKK0021C014 =
			Arrays.asList(EKK0021C014CBSMsg.MSKM_FORM_CD, EKK0021C014CBSMsg.SVC_TIKI_CD, EKK0021C014CBSMsg.YMD);
	/** 関連チェックエラー項目(申込書明細番号採番) */
	private static final String ERROR_COLUMN_EKK0021C014 = null;
	/** SC実行結果取得キー(EKK0021C014_申込書明細番号採番) */
	private static final String TEMP_TEMPLATE_KEY_EKK0021C014 = TEMP_TEMPLATE_PRIFIX + TEMPLATE_ID_EKK0021C014 + TEMP_TEMPLATE_PRIFIX_SEP;

	/** 機器編集区分（8：機種変追加[ダミーデータ]） */
	private static final String KIKI_EDIT_KBN_KISHU_ADD = "8";

	/* ++++++++++ v5.02.00 追加終了 ++++++++++ */
	/** 工事案件種別コード（保持キー） */
	private static final String KEY_KOJI_AK_SBT_CD = "KOJI_AK_SBT_CD";

	/** 工事連携キャンセル（パラメータ設定判別用） */
	private static final String KOUJI_CANCEL_PARAM = "CANCEL";
	/** 工事連携連携（パラメータ設定判別用） */
	private static final String KOUJI_RENKEI_PARAM = "RENKEI";

	/** サービス体系コード */
	private static final String SVC_TIKI_HGW = "HGW";

	/** eo光ネットマンションタイプ（イーサ／VDSL） */
	private static final List<String> MT_ENET_VDSL =
			Arrays.asList(JFUStrConst.CD00590_001, JFUStrConst.CD00590_003, JFUStrConst.CD00590_004, JFUStrConst.CD00590_005,
					JFUStrConst.CD00590_006, JFUStrConst.CD00590_007, JFUStrConst.CD00590_010);

	/** サービス契約 開通前 */
	private static final List<String> SVC_KEI_STAT_OPBMPB = Arrays.asList(JFUStrConst.CD00037_020, JFUStrConst.CD00037_030);

	/** チェック用パラメータ */
	private static final String WK_REQSHITEI_YMD = "WK_JFUGetHaisoReqShiteiYmdCC";

	/** 配送依頼指定年月日取得部品 OUT項目:配送依頼指定年月日 */
	private static final String HAISOCC_HAISO_REQ_SHITEI_YMD = EKK0341D010CBSMsg.HAISO_REQ_SHITEI_YMD;
	/** 配送依頼指定年月日取得部品 OUT項目:配送予定年月日 */
	private static final String HAISOCC_HAISO_RSV_YMD = EDK0011D010CBSMsg.HAISO_RSV_YMD;

	/**
	 * 各種通信機器申込み登録実行処理を行います。
	 * <br>
	 *
	 * @param handle セッションハンドル
	 * @param param リクエストパラメータ
	 * @param fixedText サービスメッセージ
	 * @return リクエストパラメータ管理クラス
	 * @throws Throwable
	 */
	public IRequestParameterReadWrite setVariTsushinKikiMskm(SessionHandle handle, IRequestParameterReadWrite param, String fixedText)
			throws Throwable
	{
		// 機能コード取得
		String funcCode = getFuncCode(param, fixedText);

		// 実行判定
		// 機能コードが"1"(チェック＆登録)以外の場合
		if (!JPCModelConstant.FUNC_CD_1.equals(funcCode))
		{
			return param;
		}

		HashMap<String, Object> inMap = (HashMap<String, Object>)(param.getData(fixedText));
		ArrayList<Object> workLst = (ArrayList<Object>)inMap.get(KKTK_SVKEI_ADD_LIST);

		HashMap inParamMap = (HashMap)workLst.get(JFUStrConst.I_ZERO);

		// IN項目:サービス契約番号
		String inParamSvcKeiNo = (String)inParamMap.get(IN_PARAM_SVC_KEI_NO);
		// IN項目:SYSID
		String inParamSysId = (String)inParamMap.get(IN_PARAM_SYSID);
		// IN項目:異動区分
		String inParamIdoDiv = (String)inParamMap.get(IN_PARAM_IDO_DIV);
		// IN項目:進捗特記事項1
		String prgTkjk1 = (String)inMap.get(IN_PARAM_PRG_TKJK_1);
		// IN項目:進捗特記事項1
		String prgTkjk2 = (String)inMap.get(IN_PARAM_PRG_TKJK_2);
		// IN項目:更新年月日時分秒
		String lastUpdDtm = (String)inMap.get(HAITA_SVC_KEI_UPD_DTM);
		// IN項目:サービス契約回線内訳番号
		String inParamSvkeiKaisenUwNo = (String)inMap.get("svc_kei_kaisen_ucwk_no");
		// IN項目:保有多機能ルーター機能種別
		String inParamOwnTknRouterKind = (String)inMap.get("own_tkn_router_kind");
		// IN項目:機器送料有無
		String inParamKikiSoryoUm = (String)inMap.get("kiki_soryo_um");
		// IN項目:工事案件番号
		String inKojiakNo = (String)inMap.get(IN_PARAM_KU0011_KOJIAK_NO);
		// IN項目:CX案件切替フラグ（蓋開け）※蓋開後は常に"1"
		String cx_hantei_flg = (String)inMap.get(IN_PARAM_CX_HANTEI_FLG);
		// IN項目:提供方式コード
		String tk_hoshiki_cd = (String)inMap.get(IN_PARAM_TK_HOSHIKI_CD);
		// IN項目:提供方式パターンコード
		String tk_hoshiki_pattern_cd = (String)inMap.get(IN_PARAM_TK_HOSHIKI_PATTERN_CD);
		// IN項目:料金グループコード
		String prc_grp_cd = (String)inMap.get(IN_PRC_GRP_CD);
		// IN項目:光配線1Gのみフラグ
		String hhs_1gonly_flg = (String)inMap.get(IN_HHS_1GONLY_FLG);

		// 既存機器の情報
		List<HashMap> cancelKktkList = new ArrayList<HashMap>();

		// 当機能内の連携ワーク
		HashMap<String, String> tempData = new HashMap<String, String>();
		tempData.put(EKK0341D010CBSMsg.SYSID, inParamSysId);
		tempData.put(EKK0341D010CBSMsg.SVC_KEI_KAISEN_UCWK_NO, inParamSvkeiKaisenUwNo);

		tempData.put("cx_hantei_flg", cx_hantei_flg);
		// 工事案件番号が設定されている場合、工事会社配送とする。（有線無線切替の場合は、機器登録なしのため項目は未使用）
		if (isKojiHaiso(inKojiakNo))
		{
			// 工事会社配送
			tempData.put(EKK0341D010CBSMsg.HAISO_WAY_CD, JFUStrConst.CD01148_2);
			tempData.put(EKK0341D010CBSMsg.KIKI_HUKA_INFO_CD, JFUStrConst.EMPTY);
		}
		else
		{
			// お客様直送
			tempData.put(EKK0341D010CBSMsg.HAISO_WAY_CD, JFUStrConst.CD01148_1);
			tempData.put(EKK0341D010CBSMsg.KIKI_HUKA_INFO_CD, JFUStrConst.CD00866_004);
		}
		// 配送予定年月日
		tempData.put(HAISOCC_HAISO_RSV_YMD, JFUStrConst.EMPTY);
		// 配送依頼指定年月日
		tempData.put(HAISOCC_HAISO_REQ_SHITEI_YMD, JFUStrConst.EMPTY);

		// 申込書明細番号発番
		String mskmshoDtlNo = getMskmshoDtlNoSibn(handle, param, fixedText);

		// ●申込内容承認登録
		// ユーザデータ初期化
		initData(param, fixedText, IN_COLUMN_LIST_1);
		// 上りマッピング
		setInMapMskmRegist(param, fixedText, inParamSysId, mskmshoDtlNo);
		// サービスIF実行
		executeSC(handle, param, fixedText, TEMPLATE_ID_1, TEMPLATE_ID_1_DETAIL, IN_COLUMN_LIST_1, ERROR_COLUMN_1);
		// 申込番号
		String mskmNo = getTemplateValue(inMap, getMaxTempTempleteKey(inMap, TEMP_TEMPLATE_KEY_1), EKK0011D020CBSMsg.MSKM_NO);
		// 申込明細番号
		String mskmDetailNo = getTemplateListValue(inMap, getMaxTempTempleteKey(inMap, TEMP_TEMPLATE_KEY_1), TEMPLATE_ID_1_DETAIL, EKK0011D020CBSMsg1List.MSKM_DTL_NO, 0);
		// 更新年月日時分秒
		String updDtmMskm = getTemplateValue(inMap, getMaxTempTempleteKey(inMap, TEMP_TEMPLATE_KEY_1), EKK0011D020CBSMsg.UPD_DTM);

		// ●サービス契約回線内訳一覧照会（サービス契約番号）
		// ユーザデータ初期化
		initData(param, fixedText, IN_COLUMN_LIST_16);
		// 上りマッピング
		setInMapKaisenUwSvcKeiSearch(param, fixedText, inParamSvcKeiNo);
		// サービスIF実行
		executeSC(handle, param, fixedText, TEMPLATE_ID_16, TEMPLATE_ID_16_DETAIL, IN_COLUMN_LIST_16, ERROR_COLUMN_16);
		HashMap kaisenUwMap = getTemplateList(inMap, getMaxTempTempleteKey(inMap, TEMP_TEMPLATE_KEY_16), TEMPLATE_ID_16_DETAIL).get(0);

		// ●サービス契約回線内訳一意照会
		// ユーザデータ初期化
		initData(param, fixedText, IN_COLUMN_LIST_17);
		// 上りマッピング
		setInMapKaisenUwUniqueSearch(param, fixedText, (String)kaisenUwMap.get(EKK0251B001CBSMsg1List.SVC_KEI_KAISEN_UCWK_NO), (String)kaisenUwMap
				.get(EKK0251B001CBSMsg1List.GENE_ADD_DTM));
		// サービスIF実行
		executeSC(handle, param, fixedText, TEMPLATE_ID_17, TEMPLATE_ID_17_DETAIL, IN_COLUMN_LIST_17, ERROR_COLUMN_17);
		HashMap kaisenUwUniqueMap = getTemplateList(inMap, getMaxTempTempleteKey(inMap, TEMP_TEMPLATE_KEY_17), TEMPLATE_ID_17_DETAIL).get(0);

		// ●お客様一意照会
		// ユーザデータ初期化
		initData(param, fixedText, IN_COLUMN_LIST_18);
		// 上りマッピング
		setInMapCustomerSearch(param, fixedText, inParamSysId);
		// サービスIF実行
		executeSC(handle, param, fixedText, TEMPLATE_ID_18, TEMPLATE_ID_18_DETAIL, IN_COLUMN_LIST_18, ERROR_COLUMN_18);
		HashMap custMap = getTemplateListMap(inMap, getMaxTempTempleteKey(inMap, TEMP_TEMPLATE_KEY_18), TEMPLATE_ID_18_DETAIL, JFUStrConst.I_ZERO);

		// ●引当棚一意照会
		// ユーザデータ初期化
		initData(param, fixedText, IN_COLUMN_LIST_20);
		// 上りマッピング
		setInMapHkAtShelfSearch(param, fixedText);
		// サービスIF実行
		executeSC(handle, param, fixedText, TEMPLATE_ID_20, TEMPLATE_ID_20_DETAIL, IN_COLUMN_LIST_20, ERROR_COLUMN_20);
		// 棚コード
		String shelfCd =
				getTemplateListValue(inMap, getMaxTempTempleteKey(inMap, TEMP_TEMPLATE_KEY_20), TEMPLATE_ID_20_DETAIL,
						EDK0451A010CBSMsg1List.SHELF_CD, 0);

		// 〇多機能保有チェック
		// 多機能ルーター申込の場合のみチェックをおこなう。
		// 多機能ルーター保有チェック
		boolean tknRouterFlag = false;
		String tknRouterKktkSvcKeiNo = null;
		if (isKktkSvcTakino((String)inParamMap.get(IN_PARAM_KKTK_SVC_CD)))
		{
			// ●機器オプションサービス契約一覧照会（フロント）
			// ユーザデータ初期化
			initData(param, fixedText, IN_COLUMN_LIST_KKOP_SVKEI_LIST_SHOKAI);
			// 上りマッピング
			setInMapKkOpSvcKeiListShokai(param, fixedText, inParamSysId, inParamSvkeiKaisenUwNo);
			//検索エラーなし設定
			ignoreSearchError(param, fixedText);
			// サービスIF実行
			executeSC(handle, param, fixedText, TEMPLATE_ID_KKOP_SVKEI_LIST_SHOKAI, TEMPLATE_ID_DETAIL_KKOP_SVKEI_LIST_SHOKAI,
					IN_COLUMN_LIST_KKOP_SVKEI_LIST_SHOKAI, BLANK);
			for (HashMap dataMap : getTemplateList(inMap, getMaxTempTempleteKey(inMap, TEMP_TEMPLATE_KEY_KKOP_SVKEI_LIST_SHOKAI),
					TEMPLATE_ID_DETAIL_KKOP_SVKEI_LIST_SHOKAI))
			{
				String kkopSvcKeiStat = (String)dataMap.get(EKK2811B503CBSMsg1List.KKOP_SVC_KEI_STAT);
				if (KKOP_SVC_KEI_STAT_MUKO.contains(kkopSvcKeiStat))
				{
					continue;
				}
				// 多機能ルーターがある場合
				tknRouterFlag = true;
				tknRouterKktkSvcKeiNo = (String)dataMap.get(EKK2811B503CBSMsg1List.KKTK_SVC_KEI_NO);

			}
		}

		// ●電話のサービス契約番号を取得
		// ●回線対象サービス契約一覧照会
		// ユーザデータ初期化
		initData(param, fixedText, IN_COLUMN_LIST_EKK0241B002);
		// 上りマッピング
		setInMapEKK0241B002(param, fixedText, inParamSvkeiKaisenUwNo);
		// サービスIF実行
		executeSC(handle, param, fixedText, TEMPLATE_ID_EKK0241B002, TEMPLATE_ID_EKK0241B002_DETAIL, IN_COLUMN_LIST_EKK0241B002,
				ERROR_COLUMN_EKK0241B002);
		List<HashMap> svcKeiTelList =
				getTemplateList(inMap, getMaxTempTempleteKey(inMap, TEMP_TEMPLATE_KEY_EKK0241B002), TEMPLATE_ID_EKK0241B002_DETAIL);

		// 電話のサービス契約番号
		String svcKeiNoTel = JFUStrConst.EMPTY;
		// 電話のサービス契約ステータス
		String svcKeiStatTel = JFUStrConst.EMPTY;
		// ネットのサービス契約ステータス
		String svcKeiStatNet = JFUStrConst.EMPTY;

		for (HashMap svcKeiTelMap : svcKeiTelList)
		{
			String svcCd = (String)svcKeiTelMap.get(EKK0241B002CBSMsg1List.SVC_CD);
			String svcKeiStat = (String)svcKeiTelMap.get(EKK0241B002CBSMsg1List.SVC_KEI_STAT);

			// サービスコード＝"02"（電話サービス）かつ 無効なサービス契約ステータス以外（サービス契約ステータス＝"910"（解約）、"920"（キャンセル）以外）
			if (JFUStrConst.CD00130_02.equals(svcCd) && !SVC_KEI_STAT_MUKO.contains(svcKeiStat))
			{
				svcKeiNoTel = (String)svcKeiTelMap.get(EKK0241B002CBSMsg1List.SVC_KEI_NO);
				svcKeiStatTel = svcKeiStat;
			}
			// サービスコード＝"01"（ネットサービス）かつ 無効なサービス契約ステータス以外（サービス契約ステータス＝"910"（解約）、"920"（キャンセル）以外）
			if (JFUStrConst.CD00130_01.equals(svcCd) && !SVC_KEI_STAT_MUKO.contains(svcKeiStat))
			{
				svcKeiStatNet = svcKeiStat;
			}
		}

		// 配送予定年月日、配送依頼指定年月日取得
		if (executeHaisoYotei(tk_hoshiki_cd, tk_hoshiki_pattern_cd, svcKeiStatNet, svcKeiNoTel, prc_grp_cd, hhs_1gonly_flg, isKojiHaiso(inKojiakNo)))
		{
			HashMap<String, Object> resultHaiso = getHaisoReqShiteiYmd(handle, param, inParamSvcKeiNo, svcKeiStatNet, svcKeiNoTel, svcKeiStatTel);
			String haiso_rsv_ymd = (String)resultHaiso.get(HAISOCC_HAISO_RSV_YMD);
			String haiso_req_shitei_ymd = (String)resultHaiso.get(HAISOCC_HAISO_REQ_SHITEI_YMD);
			tempData.put(HAISOCC_HAISO_RSV_YMD, haiso_rsv_ymd);
			tempData.put(HAISOCC_HAISO_REQ_SHITEI_YMD, haiso_req_shitei_ymd);
			printDebugLog("■■■JFUSetVariTsushinKikiMskmCC " + "配送予定年月日[" + haiso_rsv_ymd + "]、" + "配送依頼指定年月日["
					+ haiso_req_shitei_ymd + "] ■■■");
		}

		// ●電話がある場合は電話の請求契約番号を取得する。
		String seikyKeiNoTel = JFUStrConst.EMPTY;
		String pcrsCdTel = JFUStrConst.EMPTY;
		if (!JFUBPCommon.isNull(svcKeiNoTel))
		{
			// ●課金先一覧照会（請求契約番号/サービス契約番号）電話契約用
			// ユーザデータ初期化
			initData(param, fixedText, IN_COLUMN_LIST_EKK0321B002);
			// 上りマッピング
			setInMapKakinsSearch(param, fixedText, svcKeiNoTel);
			// サービスIF実行
			executeSC(handle, param, fixedText, TEMPLATE_ID_EKK0321B002, TEMPLATE_ID_EKK0321B002_DETAIL, IN_COLUMN_LIST_EKK0321B002,
					ERROR_COLUMN_EKK0321B002);
			// 請求契約番号
			seikyKeiNoTel =
					getTemplateListValue(inMap, getMaxTempTempleteKey(inMap, TEMP_TEMPLATE_KEY_EKK0321B002), TEMPLATE_ID_EKK0321B002_DETAIL,
							EKK0321B002CBSMsg1List.SEIKY_KEI_NO, 0);

			// ●サービス契約一意照会
			// ユーザデータ初期化
			initData(param, fixedText, IN_COLUMN_LIST_2);
			// 上りマッピング
			setInMapSvcKeiUniqueSearch(param, fixedText, svcKeiNoTel);
			// サービスIF実行
			executeSC(handle, param, fixedText, TEMPLATE_ID_2, TEMPLATE_ID_2_DETAIL, IN_COLUMN_LIST_2, ERROR_COLUMN_2);
			// 料金コース（電話）
			pcrsCdTel =
					getTemplateListValue(inMap, getMaxTempTempleteKey(inMap, TEMP_TEMPLATE_KEY_2), TEMPLATE_ID_2_DETAIL,
							EKK0081A010CBSMsg1List.PCRS_CD, JFUStrConst.I_ZERO);

		}

		// 配送受付用機器提供サービス契約番号リスト
		List<HashMap<String, Object>> kktkSvcKeiNoList = new ArrayList<HashMap<String, Object>>();
		// 工事会社配送用リスト
		List<HashMap> kojiHaisoList = new ArrayList<HashMap>();

		String inParamTknkikiModelCd = JFUStrConst.EMPTY;
		for (int i = 0; i < workLst.size(); i++)
		{
			HashMap<String, Object> workMap = (HashMap<String, Object>)workLst.get(i);

			// IN項目:申込数
			int inParamMskmCnt = Integer.parseInt((String)workMap.get(IN_PARAM_MSKM_CNT));
			// IN項目:セット品数
			int inParamSethnCnt = Integer.parseInt((String)workMap.get(IN_PARAM_SETHN_CNT));
			// IN項目:機器提供サービス契約番号（ルーター 又は 多機能ルーター）
			String inParamKktkSvcKeiNo = (String)workMap.get(IN_PARAM_KKTK_SVC_KEI_NO);
			// IN項目:機器提供サービスコード
			String inParamKktkSvcCd = (String)workMap.get(IN_PARAM_KKTK_SVC_CD);
			// IN項目:料金コースコード
			String inParamPcrsCd = (String)workMap.get(IN_PARAM_PCRS_CD);
			// IN項目:料金プランコード
			String inParamPplanCd = (String)workMap.get(IN_PARAM_PPLAN_CD);
			// IN項目:宅内機器型式コード
			inParamTknkikiModelCd = (String)workMap.get(IN_PARAM_TAKNKIKI_MODEL_CD);
			// IN項目:請求契約番号
			String inParamSeikyKeiNo = (String)workMap.get(IN_PARAM_SEIKY_KEI_NO);
			// 宅内機器種別コード
			String tknkikiSbtCd = JFUStrConst.EMPTY;

			// ★ネットの請求契約番号が存在しない場合は、電話の請求契約番号を使用する。
			if (JFUBPCommon.isNull(inParamSeikyKeiNo))
			{
				inParamSeikyKeiNo = seikyKeiNoTel;
			}

			// 多機能ルーターの場合は、登録時点ではきまらい。
			if (isKktkSvcTakino(inParamKktkSvcCd))
			{
				inParamTknkikiModelCd = JFUStrConst.EMPTY;
			}

			// ●業務パラメータ管理一意照会
			String tnmt_buy_uk_tntsha_nm = "";
			// 上りマッピング
			setInMapWorkParam(param, fixedText);
			// サービスIF実行
			executeSC(handle, param, fixedText, TEMPLATE_ID_EZM0321A010, TEMPLATE_ID_DETAIL_EZM0321A010, IN_COLUMN_LIST_EZM0321A010,
					ERROR_COLUMN_EZM0321A010);
			// 結果取得
			if (isExistsTemplateDetail(inMap, TEMP_TEMPLATE_KEY_EZM0321A010, TEMPLATE_ID_DETAIL_EZM0321A010))
			{
				// 端末購入受付担当者名
				tnmt_buy_uk_tntsha_nm =
						getTemplateListValue(inMap, TEMP_TEMPLATE_KEY_EZM0321A010, TEMPLATE_ID_DETAIL_EZM0321A010,
								EZM0321A010CBSMsg1List.WORK_PARAM_SETTE_VALUE, 0);
			}

			// 低速多機能ルーターでＯＮＵ交換工事の場合
			if (isOnuKokanKoji(inMap) && OWN_TKN_RT_KIND_0.equals(inParamOwnTknRouterKind))
			{
				// 機器オプションサービス契約登録処理
				lastUpdDtm = setKkOpSvcKeiToroku(handle, param, fixedText, tknRouterKktkSvcKeiNo, inParamSeikyKeiNo, seikyKeiNoTel, mskmDetailNo, lastUpdDtm,
								pcrsCdTel, svcKeiStatNet, tempData);

				// 機器交換せずＨＧＷを登録する
				inParamKktkSvcKeiNo = "";
				inParamOwnTknRouterKind = "";
				tknRouterKktkSvcKeiNo = "";
				tknRouterFlag = false;
			}

			for (int j = 0; j < (inParamMskmCnt * inParamSethnCnt); j++)
			{
				String sendKktkSvcKeiNo = null;
				String sendKikiChgNo = null;
				String sendKikiGeneAddDtm = null;

				// 配送受付用機器提供サービス契約番号マップ
				HashMap<String, Object> kktkSvcKeiNoMap = new HashMap<String, Object>();
				// 工事会社配送用機器提供サービス契約番号マップ
				HashMap<String, Object> kojiKktkSvcKeiMap = new HashMap<String, Object>();

				// @ルーター交換の場合
				if (isKktkSvcTakino(inParamKktkSvcCd) && !JFUBPCommon.isNull(inParamKktkSvcKeiNo))
				{

					// ●機器提供サービス契約一意照会
					// ユーザデータ初期化
					initData(param, fixedText, IN_COLUMN_LIST_27);
					// 上りマッピング
					setInMapKktkSvcKeiUqSearch(param, fixedText, inParamKktkSvcKeiNo);
					// サービスIF実行
					executeSC(handle, param, fixedText, TEMPLATE_ID_27, TEMPLATE_ID_27_DETAIL, IN_COLUMN_LIST_27, ERROR_COLUMN_27);
					// 変更前の機器情報
					HashMap kikiInfoMap = getTemplateListMap(inMap, getMaxTempTempleteKey(inMap, TEMP_TEMPLATE_KEY_27), TEMPLATE_ID_27_DETAIL, 0);
					// 機器提供サービス契約ステータス
					String kktkSvcKeiStatOwn = (String)kikiInfoMap.get(EKK0341A010CBSMsg1List.KKTK_SVC_KEI_STAT);
					if (isKojiHaiso(inKojiakNo))
					{
						// 解約、キャンセルデータ（変更前情報：ルーター）
						cancelKktkList.add(setKojiCancelInfo(kikiInfoMap));

						// 世代登録年月日
						String geneAddDtm = (String)kikiInfoMap.get(EKK0341A010CBSMsg1List.GENE_ADD_DTM);
						// 配送受付用機器提供サービス契約番号マップに設定
						kktkSvcKeiNoMap.put(JKKKojiAnkenConstCC.CHGBF_KKTK_SVC_KEI_NO, inParamKktkSvcKeiNo);
						kktkSvcKeiNoMap.put(JKKKojiAnkenConstCC.CHGBF_KKTK_SVC_KEI_NO_GENE_ADD_DTM, geneAddDtm);
					}

					// ●機器提供サービス契約情報変更
					// ユーザデータ初期化
					initData(param, fixedText, IN_COLUMN_LIST_28);
					// 上りマッピング
					setInMapKktkSvcKeiInfoChg(param, fixedText, kikiInfoMap, lastUpdDtm, inParamIdoDiv, tempData);
					// サービスIF実行
					executeSC(handle, param, fixedText, TEMPLATE_ID_28, TEMPLATE_ID_28_DETAIL, IN_COLUMN_LIST_28, ERROR_COLUMN_28);
					// 更新年月日時分秒
					lastUpdDtm = getTemplateValue(inMap, getMaxTempTempleteKey(inMap, TEMP_TEMPLATE_KEY_28), EKK0341C230CBSMsg.UPD_DTM);

					// 〇保有ルーターが多機能ルーター以外の場合、返品処理を行う。
					//   ※C014ルーター保有を対象とする。VA機器は何もしない。（"多機能ルーター機器"＝ＶＡ機能、低速、10G）
					if (JFUBPCommon.isNull(inParamOwnTknRouterKind))
					{
						// 返品機器受付
						// (当機能ではルーターが"サービス提供中"以外は処理しない。出荷済か判定を行う場合は、機器提供サービス契約の機器製造番号（＝配送済）が設定されているかで判断を行う。）
						HashMap<String, Object> henpinOutMap = new HashMap<String, Object>();
						JKKBpCommon.createHmpin(param, handle, inParamKktkSvcKeiNo, inParamIdoDiv, henpinOutMap, fixedText);

						// ★ルーター → 多機能ルーターの登録時は、常に解約新規。

						// 照査済の場合
						if (JFUStrConst.CD00056_020.equals(kktkSvcKeiStatOwn))
						{
							// ●機器提供サービス契約キャンセル
							// ユーザデータ初期化
							initData(param, fixedText, IN_COLUMN_LIST_29);
							// 上りマッピング
							setInMapKktkSvcKeiCancel(param, fixedText, inParamKktkSvcKeiNo, mskmDetailNo, inParamIdoDiv, lastUpdDtm);
							// サービスIF実行
							executeSC(handle, param, fixedText, TEMPLATE_ID_29, TEMPLATE_ID_29_DETAIL, IN_COLUMN_LIST_29, ERROR_COLUMN_29);
							// 更新年月日時分秒
							lastUpdDtm = getTemplateValue(inMap, getMaxTempTempleteKey(inMap, TEMP_TEMPLATE_KEY_29), EKK0341C330CBSMsg.UPD_DTM);
						}
						// 上記以外
						else
						{
							// ●機器提供サービス契約解約
							// ユーザデータ初期化
							initData(param, fixedText, IN_COLUMN_LIST_10);
							// 上りマッピング
							setInMapKktkSvcKeiDsl(param, fixedText, inParamKktkSvcKeiNo, lastUpdDtm, mskmDetailNo, inParamIdoDiv);
							// サービスIF実行
							executeSC(handle, param, fixedText, TEMPLATE_ID_10, TEMPLATE_ID_10_DETAIL, IN_COLUMN_LIST_10, ERROR_COLUMN_10);
							// 更新年月日時分秒
							lastUpdDtm = getTemplateValue(inMap, getMaxTempTempleteKey(inMap, TEMP_TEMPLATE_KEY_10), EKK0341C340CBSMsg.UPD_DTM);

							// ●機器提供サービス契約解約確定
							// ユーザデータ初期化
							initData(param, fixedText, IN_COLUMN_LIST_30);
							// 上りマッピング
							setInMapKktkSvcKeiDslFix(param, fixedText, inParamKktkSvcKeiNo, lastUpdDtm);
							// サービスIF実行
							executeSC(handle, param, fixedText, TEMPLATE_ID_30, TEMPLATE_ID_30_DETAIL, IN_COLUMN_LIST_30, ERROR_COLUMN_30);
							// 更新年月日時分秒
							lastUpdDtm = getTemplateValue(inMap, getMaxTempTempleteKey(inMap, TEMP_TEMPLATE_KEY_30), EKK0341C340CBSMsg.UPD_DTM);
						}

						// ●機器提供サービス一意照会（マスタ）
						// ユーザデータ初期化
						initData(param, fixedText, IN_COLUMN_LIST_19);
						// 上りマッピング
						setInMapKkTkSvcSearch(param, fixedText, inParamKktkSvcCd);
						// サービスIF実行
						executeSC(handle, param, fixedText, TEMPLATE_ID_19, TEMPLATE_ID_19_DETAIL, IN_COLUMN_LIST_19, ERROR_COLUMN_19);
						// 宅内機器種別コード
						tknkikiSbtCd =
								getTemplateListValue(inMap, getMaxTempTempleteKey(inMap, TEMP_TEMPLATE_KEY_19), TEMPLATE_ID_19_DETAIL,
										EKK0771A010CBSMsg1List.TAKNKIKI_SBT_CD, 0);

						// ●機器提供サービス契約登録（多機能ルーター）
						// ユーザデータ初期化
						initData(param, fixedText, IN_COLUMN_LIST_11);
						// 上りマッピング
						setInMapKktkRegist(param, fixedText, inParamPcrsCd, inParamPplanCd, inParamTknkikiModelCd, inParamSvcKeiNo,
								inParamSvkeiKaisenUwNo, inParamSysId, inParamSeikyKeiNo, mskmDetailNo, kaisenUwUniqueMap, lastUpdDtm, inParamIdoDiv,
								tknkikiSbtCd, shelfCd, inParamKktkSvcCd, custMap, inParamKikiSoryoUm, tempData);

						// サービスIF実行
						executeSC(handle, param, fixedText, TEMPLATE_ID_11, TEMPLATE_ID_11_DETAIL, IN_COLUMN_LIST_11, ERROR_COLUMN_11);
						// 更新年月日時分秒
						lastUpdDtm = getTemplateValue(inMap, getMaxTempTempleteKey(inMap, TEMP_TEMPLATE_KEY_11), EKK0341D010CBSMsg.UPD_DTM);
						// 機器提供サービス契約番号
						sendKktkSvcKeiNo =
								getTemplateValue(inMap, getMaxTempTempleteKey(inMap, TEMP_TEMPLATE_KEY_11), EKK0341D010CBSMsg.KKTK_SVC_KEI_NO);
						// 機器変更番号
						sendKikiChgNo = getTemplateValue(inMap, getMaxTempTempleteKey(inMap, TEMP_TEMPLATE_KEY_11), EKK0341D010CBSMsg.KIKI_CHG_NO);
						// 世代登録年月日時分秒
						sendKikiGeneAddDtm =
								getTemplateValue(inMap, getMaxTempTempleteKey(inMap, TEMP_TEMPLATE_KEY_11), EKK0341D010CBSMsg.GENE_ADD_DTM);

						// ●機器提供サービス契約照査（多機能ルーター）
						// ユーザデータ初期化
						initData(param, fixedText, IN_COLUMN_LIST_12);
						// 上りマッピング
						setInMapKktkShosa(param, fixedText, sendKktkSvcKeiNo, lastUpdDtm, inParamIdoDiv);
						// サービスIF実行
						executeSC(handle, param, fixedText, TEMPLATE_ID_12, TEMPLATE_ID_12_DETAIL, IN_COLUMN_LIST_12, ERROR_COLUMN_12);
						// 更新年月日時分秒
						lastUpdDtm = getTemplateValue(inMap, getMaxTempTempleteKey(inMap, TEMP_TEMPLATE_KEY_12), EKK0341C340CBSMsg.UPD_DTM);
					}

					// 機器オプションサービス契約登録処理
					setKkOpSvcKeiToroku(handle, param, fixedText, sendKktkSvcKeiNo, inParamSeikyKeiNo, seikyKeiNoTel, mskmDetailNo, lastUpdDtm,
							pcrsCdTel, svcKeiStatNet, tempData);
				}
				// 上記以外の場合
				else
				{
					// A 保有ルーターが多機能ルーター以外の場合

					// ＰＬＣまたはＳＭＰ、保有ルーターが多機能ルーター以外の場合
					if (JFUStrConst.KK0771_KKTK_SVC_CD_C015.equals(inParamKktkSvcCd) || JFUStrConst.KK0771_KKTK_SVC_CD_C023.equals(inParamKktkSvcCd)
							|| tknRouterFlag == false)
					{

						// 〇 型番号がPLC または、多機能ルーター（保有ルーターなし）の場合
						// ●機器提供サービス一意照会
						// ユーザデータ初期化
						initData(param, fixedText, IN_COLUMN_LIST_19);
						// 上りマッピング
						setInMapKkTkSvcSearch(param, fixedText, inParamKktkSvcCd);
						// サービスIF実行
						executeSC(handle, param, fixedText, TEMPLATE_ID_19, TEMPLATE_ID_19_DETAIL, IN_COLUMN_LIST_19, ERROR_COLUMN_19);
						// 宅内機器種別コード（PLCの場合、"G0"、多機能ルーターの場合、"R0"）
						tknkikiSbtCd =
								getTemplateListValue(inMap, getMaxTempTempleteKey(inMap, TEMP_TEMPLATE_KEY_19), TEMPLATE_ID_19_DETAIL,
										EKK0771A010CBSMsg1List.TAKNKIKI_SBT_CD, 0);

						// 多機能ルーター申込の場合（ネット・TV・電話で最大の最終更新年月日時分秒を取得する）
						if (isKktkSvcTakino(inParamKktkSvcCd))
						{

							// ●回線対象サービス契約一覧照会
							// ユーザデータ初期化
							initData(param, fixedText, IN_COLUMN_LIST_EKK0241B002);
							// 上りマッピング
							setInMapEKK0241B002(param, fixedText, inParamSvkeiKaisenUwNo);
							// サービスIF実行
							executeSC(handle, param, fixedText, TEMPLATE_ID_EKK0241B002, TEMPLATE_ID_EKK0241B002_DETAIL, IN_COLUMN_LIST_EKK0241B002,
									ERROR_COLUMN_EKK0241B002);
							List<HashMap> svcKeiList =
									getTemplateList(inMap, getMaxTempTempleteKey(inMap, TEMP_TEMPLATE_KEY_EKK0241B002),
											TEMPLATE_ID_EKK0241B002_DETAIL);

							// 最終更新年月日時分秒リスト
							List<String> lastUpdDtmList = new ArrayList<String>();

							for (HashMap svcKeiMap : svcKeiList)
							{
								// ●サービス契約一意照会
								// ユーザデータ初期化
								initData(param, fixedText, IN_COLUMN_LIST_2);
								// 上りマッピング
								setInMapSvcKeiUniqueSearch(param, fixedText, (String)svcKeiMap.get(EKK0241B002CBSMsg1List.SVC_KEI_NO));
								// サービスIF実行
								executeSC(handle, param, fixedText, TEMPLATE_ID_2, TEMPLATE_ID_2_DETAIL, IN_COLUMN_LIST_2, ERROR_COLUMN_2);
								// 最終更新年月日時分秒
								String lastUpdDtmExc =
										getTemplateListValue(inMap, getMaxTempTempleteKey(inMap, TEMP_TEMPLATE_KEY_2), TEMPLATE_ID_2_DETAIL,
												EKK0081A010CBSMsg1List.LAST_UPD_DTM, JFUStrConst.I_ZERO);

								lastUpdDtmList.add(lastUpdDtmExc);
							}

							// 降順ソート
							Collections.sort(lastUpdDtmList);
							Collections.reverse(lastUpdDtmList);

							// ネット・TV・電話で最大のタイムスタンプ
							lastUpdDtm = lastUpdDtmList.get(JFUStrConst.I_ZERO);
						}

						// ●機器提供サービス契約登録
						// ユーザデータ初期化
						initData(param, fixedText, IN_COLUMN_LIST_11);
						// 上りマッピング
						setInMapKktkRegist(param, fixedText, inParamPcrsCd, inParamPplanCd, inParamTknkikiModelCd, inParamSvcKeiNo,
								inParamSvkeiKaisenUwNo, inParamSysId, inParamSeikyKeiNo, mskmDetailNo, kaisenUwUniqueMap, lastUpdDtm, inParamIdoDiv,
								tknkikiSbtCd, shelfCd, inParamKktkSvcCd, custMap, inParamKikiSoryoUm, tempData);
						// サービスIF実行
						executeSC(handle, param, fixedText, TEMPLATE_ID_11, TEMPLATE_ID_11_DETAIL, IN_COLUMN_LIST_11, ERROR_COLUMN_11);
						// 更新年月日時分秒
						lastUpdDtm = getTemplateValue(inMap, getMaxTempTempleteKey(inMap, TEMP_TEMPLATE_KEY_11), EKK0341D010CBSMsg.UPD_DTM);
						// 機器提供サービス契約番号
						sendKktkSvcKeiNo = getTemplateValue(inMap, getMaxTempTempleteKey(inMap, TEMP_TEMPLATE_KEY_11), EKK0341D010CBSMsg.KKTK_SVC_KEI_NO);
						// 機器変更番号
						sendKikiChgNo = getTemplateValue(inMap, getMaxTempTempleteKey(inMap, TEMP_TEMPLATE_KEY_11), EKK0341D010CBSMsg.KIKI_CHG_NO);

						// ●機器提供サービス契約照査
						// ユーザデータ初期化
						initData(param, fixedText, IN_COLUMN_LIST_12);
						// 上りマッピング
						setInMapKktkShosa(param, fixedText, sendKktkSvcKeiNo, lastUpdDtm, inParamIdoDiv);
						// サービスIF実行
						executeSC(handle, param, fixedText, TEMPLATE_ID_12, TEMPLATE_ID_12_DETAIL, IN_COLUMN_LIST_12, ERROR_COLUMN_12);
						// 更新年月日時分秒
						lastUpdDtm = getTemplateValue(inMap, getMaxTempTempleteKey(inMap, TEMP_TEMPLATE_KEY_12), EKK0341C030CBSMsg.UPD_DTM);
						// 世代登録年月日時分秒
						sendKikiGeneAddDtm = getTemplateValue(inMap, getMaxTempTempleteKey(inMap, TEMP_TEMPLATE_KEY_12), EKK0341C030CBSMsg.GENE_ADD_DTM);
						// ●割引サービス自動適用CCマッピング
// ANK-3825-00-00 MOD START
						setInMapWrSvAtAplyNoPlanChg(param, fixedText, mskmNo, sendKktkSvcKeiNo, inParamPcrsCd, inParamPplanCd);
// ANK-3825-00-00 MOD END
						// ●端末購入通知書登録
						if (JFUStrConst.KK0771_KKTK_SVC_CD_C023.equals(inParamKktkSvcCd))
						{
							// ユーザデータ初期化
							initData(param, fixedText, IN_COLUMN_LIST_EKK3271D010);
							// 上りマッピング
							setInMapTmkntshoRegist(param, fixedText, sendKktkSvcKeiNo, mskmDetailNo, tnmt_buy_uk_tntsha_nm);
							// サービスIF実行
							executeSC(handle, param, fixedText, TEMPLATE_ID_EKK3271D010, TEMPLATE_ID_EKK3271D010_DETAIL, IN_COLUMN_LIST_EKK3271D010,
									ERROR_COLUMN_EKK3271D010);
						}
					}

					// 多機能ルーター申込の場合に、機器オプション関連の登録がいる。
					if (isKktkSvcTakino(inParamKktkSvcCd))
					{
						if (!JFUBPCommon.isNull(tknRouterKktkSvcKeiNo))
						{
							sendKktkSvcKeiNo = tknRouterKktkSvcKeiNo;
						}
						// 機器オプションサービス契約登録処理
						lastUpdDtm = setKkOpSvcKeiToroku(handle, param, fixedText, sendKktkSvcKeiNo, inParamSeikyKeiNo, seikyKeiNoTel, mskmDetailNo, lastUpdDtm,
										pcrsCdTel, svcKeiStatNet, tempData);

					}

					// B保有ルータが低速多機能ルータの場合
					if (OWN_TKN_RT_KIND_0.equals(inParamOwnTknRouterKind))
					{

						// ●機器提供サービス契約機器変更手続開始
						// ユーザデータ初期化
						initData(param, fixedText, IN_COLUMN_LIST_42);
						// 上りマッピング
						setInMapKktkSvcKeiKikiChgKaishi(param, fixedText, tknRouterKktkSvcKeiNo, lastUpdDtm, inParamIdoDiv, mskmDetailNo);
						// サービスIF実行
						executeSC(handle, param, fixedText, TEMPLATE_ID_42, TEMPLATE_ID_42_DETAIL, IN_COLUMN_LIST_42, ERROR_COLUMN_42);
						// 更新年月日時分秒
						lastUpdDtm = getTemplateValue(inMap, getMaxTempTempleteKey(inMap, TEMP_TEMPLATE_KEY_42), EKK0341C530CBSMsg.UPD_DTM);
						// 世代登録年月日時分秒
						String geneAddDtm = getTemplateValue(inMap, getMaxTempTempleteKey(inMap, TEMP_TEMPLATE_KEY_42), EKK0341C530CBSMsg.GENE_ADD_DTM);

						// ●機器提供サービス契約一意照会
						// ユーザデータ初期化
						initData(param, fixedText, IN_COLUMN_LIST_27);
						// 上りマッピング
						setInMapKktkSvcKeiUqSearch(param, fixedText, tknRouterKktkSvcKeiNo, geneAddDtm);
						// サービスIF実行
						executeSC(handle, param, fixedText, TEMPLATE_ID_27, TEMPLATE_ID_27_DETAIL, IN_COLUMN_LIST_27, ERROR_COLUMN_27);
						// 変更前の機器情報
						HashMap kikiInfoMap = getTemplateListMap(inMap, getMaxTempTempleteKey(inMap, TEMP_TEMPLATE_KEY_27), TEMPLATE_ID_27_DETAIL, 0);

						// ●機器提供サービス契約情報変更（契約変更中）
						// ユーザデータ初期化
						initData(param, fixedText, IN_COLUMN_LIST_43);
						// 上りマッピング
						setInMapKktkSvcKeiInfoChgTkn(param, fixedText, kikiInfoMap, lastUpdDtm, shelfCd, inParamKikiSoryoUm, kaisenUwUniqueMap, custMap);
						// サービスIF実行
						executeSC(handle, param, fixedText, TEMPLATE_ID_43, TEMPLATE_ID_43_DETAIL, IN_COLUMN_LIST_43, ERROR_COLUMN_43);
						// 更新年月日時分秒
						lastUpdDtm = getTemplateValue(inMap, getMaxTempTempleteKey(inMap, TEMP_TEMPLATE_KEY_43), EKK0341C231CBSMsg.UPD_DTM);
						String chgKikiGeneAddDtm = getTemplateValue(inMap, getMaxTempTempleteKey(inMap, TEMP_TEMPLATE_KEY_43), EKK0341C231CBSMsg.GENE_ADD_DTM);


						// ●機器提供サービス契約一意照会
						// ユーザデータ初期化
						initData(param, fixedText, IN_COLUMN_LIST_27);
						// 上りマッピング
						setInMapKktkSvcKeiUqSearch(param, fixedText, tknRouterKktkSvcKeiNo, chgKikiGeneAddDtm);
						// サービスIF実行
						executeSC(handle, param, fixedText, TEMPLATE_ID_27, TEMPLATE_ID_27_DETAIL, IN_COLUMN_LIST_27, ERROR_COLUMN_27);
						// 変更前の機器情報
						HashMap chgKikiInfoMap = getTemplateListMap(inMap, getMaxTempTempleteKey(inMap, TEMP_TEMPLATE_KEY_27), TEMPLATE_ID_27_DETAIL, 0);
						// 変更後の機器変更番号
						sendKikiChgNo = (String)chgKikiInfoMap.get(EKK0341A010CBSMsg1List.KIKI_CHG_NO);
						// 変更後の世代登録年月日
						sendKikiGeneAddDtm = chgKikiGeneAddDtm;

						tknRouterFlag = false;
					}
				}

				// 〇 保有ルーターが多機能ルーター以外の場合
				if (tknRouterFlag == false)
				{
					// 配送受付用機器提供サービス契約番号マップに設定
					kktkSvcKeiNoMap.put(JKKButuryuCtrlCC.KEY_KKTK_SVC_KEI_NO, sendKktkSvcKeiNo);
					kktkSvcKeiNoMap.put(EKK0341D010CBSMsg.GENE_ADD_DTM, sendKikiGeneAddDtm);

					// 配送受付用機器提供サービス契約番号リストに設定
					kktkSvcKeiNoList.add(kktkSvcKeiNoMap);

					// 「"多機能ルーター申込" 又は "工事会社配送"」の場合には、「フロント配送受付在庫更新登録処理」は呼ばない
					if ((!isKktkSvcTakino(inParamKktkSvcCd)) && (!isKojiHaiso(inKojiakNo)))
					{
						// ●フロント配送受付在庫更新登録処理
						chgFrntHisukZkup(handle, param, fixedText, sendKktkSvcKeiNo, sendKikiChgNo);
					}
				}

				// チケット利用申請依頼CCに機器契約情報を設定
				setFUSV013407CC(param, sendKktkSvcKeiNo, sendKikiChgNo);

				if (isKojiHaiso(inKojiakNo))
				{
					// 工事会社配送用リスト
					kojiKktkSvcKeiMap.put(JKKButuryuCtrlCC.KEY_KKTK_SVC_KEI_NO, sendKktkSvcKeiNo);
					kojiHaisoList.add(kojiKktkSvcKeiMap);
				}

				if (isOnuKokanKoji(inMap))
				{
					// ONU交換工事の登録
					execOnuKokanKoji(handle, param, fixedText, lastUpdDtm, inParamIdoDiv, mskmNo, mskmDetailNo, kktkSvcKeiNoList);

					// 工事会社配送用リストをクリア
					cancelKktkList.clear();
					kojiHaisoList.clear();
				}
			}
		}

		// 〇 保有ルーターが多機能ルーター以外の場合
		if (tknRouterFlag == false)
		{
			if (!isKojiHaiso(inKojiakNo))
			{
				//お客様直送
				HashMap<String, Object> haisoOutMap = new HashMap<String, Object>();
				// 配送予定年月日
				if (!JFUBPCommon.isNull(tempData.get(HAISOCC_HAISO_RSV_YMD)))
				{
					String haiso_rsv_ymd = tempData.get(HAISOCC_HAISO_RSV_YMD);
					JKKBpCommon.createHaiso(param, handle, mskmNo, mskmDetailNo, BLANK, kktkSvcKeiNoList, inParamIdoDiv, null, haisoOutMap,
							fixedText, JFUStrConst.DK0091_SOKO_CD_000001, haiso_rsv_ymd);
					inMap.put(HAISO_OUT_MAP_KEY, haisoOutMap);
				}
				else
				{
					JKKBpCommon.createHaiso(param, handle, mskmNo, mskmDetailNo, BLANK, kktkSvcKeiNoList, inParamIdoDiv, null, haisoOutMap,
							fixedText, JFUStrConst.DK0091_SOKO_CD_000001);
					inMap.put(HAISO_OUT_MAP_KEY, haisoOutMap);
				}
			}
			else
			{
				// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++//
				// 工事会社配送
				// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++//
				// 工事案件諸変更CC呼び出し（キャンセル処理）
				execKojiAnkenRenkei(handle, param, fixedText, tempData, mskmDetailNo, KOUJI_CANCEL_PARAM, cancelKktkList);
				// 工事案件諸変更CC呼び出し（更新処理）
				execKojiAnkenRenkei(handle, param, fixedText, tempData, mskmDetailNo, KOUJI_RENKEI_PARAM, kojiHaisoList);
			}
		} else {
			// ■多機能ルーターの有線無線切替
			if (isKojiHaiso(inKojiakNo))
			{
				// 既存の工事案件対象宅内機器情報を取得し、修正が必要な場合は更新処理を行う。（住変考慮）
				HashMap<String, String> kojiKikiMap = getKojiTknikiki(handle, param, fixedText, inKojiakNo);
				List<HashMap> workList = new ArrayList<HashMap>();
				for (HashMap dataMap : kojiHaisoList)
				{
					String kktkSvcKeiNo = convNull(dataMap, JKKButuryuCtrlCC.KEY_KKTK_SVC_KEI_NO);
					if (kojiKikiMap.containsKey(kktkSvcKeiNo))
					{
						workList.add(dataMap);
					}
				}
				if (workList.size() > 0)
				{
					// 工事案件諸変更CC呼び出し（更新処理）
					execKojiAnkenRenkei(handle, param, fixedText, tempData, mskmDetailNo, KOUJI_RENKEI_PARAM, workList);
				}
			}
		}

		// 工事スキップの場合
		if (isOnuKokanKoji(inMap) && !isKojiHaiso(inKojiakNo))
		{
			// 機器配送情報連結ＣＣ呼出
			JFUBPCommon.execKikiHaisoInfoRnkt(handle, param, JKK_KIKI_HAISO_RNKT_CC, mskmNo);
		}

		// ●進捗登録
		// ユーザデータ初期化
		initData(param, fixedText, IN_COLUMN_LIST_33);
		// 上りマッピング
		setInMapPrgRegist(param, fixedText, inParamSvcKeiNo, mskmDetailNo, prgTkjk1, prgTkjk2, inParamIdoDiv);
		// サービスIF実行
		executeSC(handle, param, fixedText, TEMPLATE_ID_33, TEMPLATE_ID_33_DETAIL, IN_COLUMN_LIST_33, ERROR_COLUMN_33);

		// ●申込明細照査・後続業務依頼
		// ユーザデータ初期化
		initData(param, fixedText, IN_COLUMN_LIST_34);
		// 上りマッピング
		setInMapMskmDtlShosaKzkWrk(param, fixedText, mskmDetailNo, updDtmMskm, inParamIdoDiv);
		// サービスIF実行
		executeSC(handle, param, fixedText, TEMPLATE_ID_34, TEMPLATE_ID_34_DETAIL, IN_COLUMN_LIST_34, ERROR_COLUMN_34);

		// 送信先一覧明細
		List<HashMap> mailList = (List<HashMap>)inMap.get(ECC0021D010CBSMsg.ECC0021D010CBSMSG1LIST);

		// 連絡先メールアドレスを追加
		addRrksMlad(handle, param, fixedText, inMap, inParamSysId, mailList);

		// メール送信
		super.sendMail(handle, param, fixedText);

		return param;
	}


	/**
	 * チェック処理を行います。
	 *
	 * <br>
	 * @param handle セッションハンドル
	 * @param param リクエストパラメータ
	 * @param fixedText サービスメッセージ
	 * @return リクエストパラメータ
	 * @throws Exception
	 */
	@Override
	public HashMap<String, Object> getInvokeCBS(SessionHandle handle, IRequestParameterReadWrite param, String fixedText) throws Exception
	{
		return null;
	}

	/**
	 * 上りマッピング項目設定(申込内容承認登録)
	 *
	 * <br>
	 * @param param リクエストパラメータ
	 * @param fixedText サービスメッセージ
	 * @param sysId SYSID
	 * @param mskmshoDtlNo 申込書明細番号
	 * @throws RequestParameterException
	 */
	private void setInMapMskmRegist(IRequestParameterReadWrite param, String fixedText, String sysId, String mskmshoDtlNo) throws RequestParameterException
	{
		// 機能コード設定(1:チェック&登録)
		setFuncCode(param, fixedText, JPCModelConstant.FUNC_CD_1);

		// ユーザデータ取得
		HashMap inMap = (HashMap)param.getData(fixedText);

		// SYSID
		inMap.put(EKK0011D020CBSMsg.SYSID, sysId);
		// 申込種別コード
		inMap.put(EKK0011D020CBSMsg.MSKM_SBT_CD, JFUStrConst.KK0971_MSKM_SBT_CD_00022);
		// 申込受付年月日時分秒
		inMap.put(EKK0011D020CBSMsg.MSKM_UK_DTM, JCCBPCommon.getOpeDateTimeStamp(null));
		// 申込年月日
		inMap.put(EKK0011D020CBSMsg.MSKM_YMD, JCCBPCommon.getOpeDate(null));
		// コンシューマ営業用申込状態識別コード
		inMap.put(EKK0011D020CBSMsg.CONSMBSN_MSKM_STAT_SKBT_CD, JFUStrConst.CD00760_04);

		ArrayList list = new ArrayList();
		HashMap childMap = new HashMap();

		for (String key : IN_COLUMN_LIST_1_DETAIL)
		{
			childMap.put(key, null);
		}

		// 申込形態コード
		childMap.put(EKK0011D020CBSMsg1List.MSKM_FORM_CD, JFUStrConst.CD00591_01);
		// 申込書明細番号
		childMap.put(EKK0011D020CBSMsg1List.MSKMSHO_DTL_NO, mskmshoDtlNo);
		list.add(childMap);

		inMap.put(EKK0011D020CBSMsg.EKK0011D020CBSMSG1LIST, list);
	}

	/**
	 * 上りマッピング項目設定(サービス契約回線内訳一覧照会（サービス契約番号））を行います。
	 *
	 * <br>
	 * @param param リクエストパラメータ
	 * @param fixedText サービスメッセージ
	 * @param svcKeiNo サービス契約番号
	 * @throws RequestParameterException
	 */
	private void setInMapKaisenUwSvcKeiSearch(IRequestParameterReadWrite param, String fixedText, String svcKeiNo) throws RequestParameterException
	{
		// 機能コード設定(1)
		setFuncCode(param, fixedText, JPCModelConstant.FUNC_CD_1);

		// ユーザデータ取得
		HashMap inMap = (HashMap)param.getData(fixedText);
		// ＫＥＹ＿サービス契約番号
		inMap.put(EKK0341B002CBSMsg.KEY_SVC_KEI_NO, svcKeiNo);
	}

	/**
	 * 上りマッピング項目設定(サービス契約回線内訳一意照会）を行います。
	 *
	 * <br>
	 * @param param リクエストパラメータ
	 * @param fixedText サービスメッセージ
	 * @param svcKeiKaisenUcwkNo
	 * @param geneAddDtm
	 * @throws RequestParameterException
	 */
	private void setInMapKaisenUwUniqueSearch(IRequestParameterReadWrite param, String fixedText, String svcKeiKaisenUcwkNo, String geneAddDtm)
			throws RequestParameterException
	{
		// 機能コード設定(1)
		setFuncCode(param, fixedText, JPCModelConstant.FUNC_CD_1);

		// ユーザデータ取得
		HashMap inMap = (HashMap)param.getData(fixedText);

		// ＫＥＹ＿サービス契約回線内訳番号
		inMap.put(EKK0251A010CBSMsg.KEY_SVC_KEI_KAISEN_UCWK_NO, svcKeiKaisenUcwkNo);
		// ＫＥＹ＿世代登録年月日時分秒
		inMap.put(EKK0251A010CBSMsg.KEY_GENE_ADD_DTM, geneAddDtm);
	}

	/**
	 * 上りマッピング項目設定(お客様一意照会）を行います。
	 *
	 * <br>
	 * @param param リクエストパラメータ
	 * @param fixedText サービスメッセージ
	 * @param sysId SYSID
	 * @throws RequestParameterException
	 */
	private void setInMapCustomerSearch(IRequestParameterReadWrite param, String fixedText, String sysId) throws RequestParameterException
	{
		// 機能コード設定(2:カレント)
		setFuncCode(param, fixedText, JPCModelConstant.FUNC_CD_2);

		// ユーザデータ取得
		HashMap inMap = (HashMap)param.getData(fixedText);
		// SYSID
		inMap.put(ECK0011A010CBSMsg.KEY_SYSID, sysId);
		// 予約適用年月日
		inMap.put(ECK0011A010CBSMsg.KEY_RSV_APLY_YMD, JCCBPCommon.getOpeDate(null));
	}

	/**
	 * 上りマッピング項目設定(機器提供サービス一意照会)を行います。
	 *
	 * <br>
	 * @param param リクエストパラメータ
	 * @param fixedText サービスメッセージ
	 * @param kktkSvcCd 機器提供サービスコード
	 * @throws RequestParameterException
	 */
	private void setInMapKkTkSvcSearch(IRequestParameterReadWrite param, String fixedText, String kktkSvcCd) throws RequestParameterException
	{
		// 機能コード設定(1)
		setFuncCode(param, fixedText, JPCModelConstant.FUNC_CD_1);

		// ユーザデータ取得
		HashMap inMap = (HashMap)param.getData(fixedText);
		// ＫＥＹ＿機器提供サービスコード
		inMap.put(EKK0771A010CBSMsg.KEY_KKTK_SVC_CD, kktkSvcCd);

	}

	/**
	 * 上りマッピング項目設定(機器提供サービス契約登録)を行います。
	 *
	 * <br>
	 * @param param リクエストパラメータ
	 * @param fixedText サービスメッセージ
	 * @param pcrsCd 料金コースコード
	 * @param pplanCd 料金プランコード
	 * @param taknkikiModelCd 宅内機器型式コード
	 * @param svcKeiNo サービス契約番号
	 * @param svcKeiKaisenUcwkNo サービス契約回線内訳番号
	 * @param sysId SYSID
	 * @param seikyKeiNo 請求契約番号
	 * @param mskmDtlNo 申込明細番号
	 * @param kaisenUwMap サービス契約回線内訳情報マップ
	 * @param updDtmSvcKei 更新年月日時分秒(サービス契約)
	 * @param idoDiv 異動区分
	 * @param taknkikiSbtCd 宅内機器種別コード
	 * @param kikiHkatShiteiSkdnCd 機器引当指定倉庫棚コード
	 * @param kktkSvcCd 機器提供サービスコード
	 * @param custMap お客様情報マップ
	 * @param kikiSoryoUm 機器送料有無
	 * @param tempData 当機能内の連携ワーク
	 * @throws RequestParameterException
	 */
	private void setInMapKktkRegist(IRequestParameterReadWrite param, String fixedText, String pcrsCd, String pplanCd, String taknkikiModelCd,
			String svcKeiNo, String svcKeiKaisenUcwkNo, String sysId, String seikyKeiNo, String mskmDtlNo, HashMap kaisenUwMap, String updDtmSvcKei,
			String idoDiv, String taknkikiSbtCd, String kikiHkatShiteiSkdnCd, String kktkSvcCd, HashMap custMap, String kikiSoryoUm,
			HashMap<String, String> tempData) throws RequestParameterException
	{
		// 機能コード設定(1:チェック&登録)
		setFuncCode(param, fixedText, JPCModelConstant.FUNC_CD_1);

		// ユーザデータ取得
		HashMap inMap = (HashMap)param.getData(fixedText);
		// 機器提供サービスコード
		inMap.put(EKK0341D010CBSMsg.KKTK_SVC_CD, kktkSvcCd);
		// 機器提供種別コード
		if ("C023".equals(kktkSvcCd))
		{
			// IP-STBの場合は買取
			inMap.put(EKK0341D010CBSMsg.KKTK_SBT_CD, JFUStrConst.CD00212_01);
		}
		else
		{
			// それ以外はレンタル
			inMap.put(EKK0341D010CBSMsg.KKTK_SBT_CD, JFUStrConst.CD00212_02);
		}
		// 料金コースコード
		inMap.put(EKK0341D010CBSMsg.PCRS_CD, pcrsCd);
		// 料金プランコード
		inMap.put(EKK0341D010CBSMsg.PPLAN_CD, pplanCd);
		// 宅内機器型式コード
		inMap.put(EKK0341D010CBSMsg.TAKNKIKI_MODEL_CD, taknkikiModelCd);
		// 親契約識別コード
		String oyaKeiSkbtCd = "";
		if (isKktkSvcTakino(kktkSvcCd))
		{
			// 多機能ルーターの場合
			oyaKeiSkbtCd = JFUStrConst.CD00804_02; // 02:サービス契約回線内訳
		}
		else
		{
			// 多機能ルーターの以外（ＰＬＣ）場合
			oyaKeiSkbtCd = JFUStrConst.CD00804_01; // 01:サービス契約
		}
		inMap.put(EKK0341D010CBSMsg.OYA_KEI_SKBT_CD, oyaKeiSkbtCd);
		// サービス契約番号
		if (isKktkSvcTakino(kktkSvcCd))
		{
			// 多機能ルーターの場合
			svcKeiNo = "";
		}
		inMap.put(EKK0341D010CBSMsg.SVC_KEI_NO, svcKeiNo);
		// サービス契約回線内訳番号
		if (!isKktkSvcTakino(kktkSvcCd))
		{
			// 多機能ルーター以外の場合
			svcKeiKaisenUcwkNo = "";
		}
		inMap.put(EKK0341D010CBSMsg.SVC_KEI_KAISEN_UCWK_NO, svcKeiKaisenUcwkNo);
		// SYSID
		inMap.put(EKK0341D010CBSMsg.SYSID, sysId);
		// 配送区分
		inMap.put(EKK0341D010CBSMsg.HAISO_DIV, JFUStrConst.CD00020_00);
		// 請求契約番号
		inMap.put(EKK0341D010CBSMsg.SEIKY_KEI_NO, seikyKeiNo);
		// 申込明細番号
		inMap.put(EKK0341D010CBSMsg.MSKM_DTL_NO, mskmDtlNo);
		// 機器引当指定倉庫コード
		inMap.put(EKK0341D010CBSMsg.KIKI_HKAT_SHITEI_SOKO_CD, SOKO_CD_MINATO);
		// 機器引当指定倉庫棚コード
		inMap.put(EKK0341D010CBSMsg.KIKI_HKAT_SHITEI_SKDN_CD, kikiHkatShiteiSkdnCd);

		// 機器送料有無
		inMap.put(EKK0341D010CBSMsg.KIKI_SORYO_UM, kikiSoryoUm);
		// ※工事会社配送分は、他の機器が存在するはずなので送付先住所が取得出来るはず。
		// 工事会社配送用の住所
		HashMap<String, String> kojiHaisoAdr = (HashMap<String, String>)inMap.get(IN_KOJI_HAISO_ADR);
		if (kojiHaisoAdr == null || kojiHaisoAdr.size() == 0)
		{
			//■お客様直送、工事会社配送(ONU交換工事)
			// 機器送付先名
			inMap.put(EKK0341D010CBSMsg.KIKI_SOHUS_NM, custMap.get(ECK0011A010CBSMsg1List.CUST_NM));
			// 機器送付先カナ名
			inMap.put(EKK0341D010CBSMsg.KIKI_SOHUS_KANA, custMap.get(ECK0011A010CBSMsg1List.CUST_KANA));
			// 機器送付先
			if (!isKojiHaiso((String)inMap.get(IN_PARAM_KU0011_KOJIAK_NO)))
			{
				// 機器送付先住所コード
				inMap.put(EKK0341C231CBSMsg.KIKI_SOHUS_AD_CD, custMap.get(ECK0011A010CBSMsg1List.KEISHA_AD_CD));
				// 機器送付先郵便番号
				inMap.put(EKK0341C231CBSMsg.KIKI_SOHUS_PCD, custMap.get(ECK0011A010CBSMsg1List.KEISHA_PCD));
				// 機器送付先都道府県名
				inMap.put(EKK0341C231CBSMsg.KIKI_SOHUS_STATE_NM, custMap.get(ECK0011A010CBSMsg1List.KEISHA_STATE_NM));
				// 機器送付先市区町村名
				inMap.put(EKK0341C231CBSMsg.KIKI_SOHUS_CITY_NM, custMap.get(ECK0011A010CBSMsg1List.KEISHA_CITY_NM));
				// 機器送付先大字通称名
				inMap.put(EKK0341C231CBSMsg.KIKI_SOHUS_OAZTSU_NM, custMap.get(ECK0011A010CBSMsg1List.KEISHA_OAZTSU_NM));
				// 機器送付先字丁目名
				inMap.put(EKK0341C231CBSMsg.KIKI_SOHUS_AZCHO_NM, custMap.get(ECK0011A010CBSMsg1List.KEISHA_AZCHO_NM));
				// 機器送付先番地号
				inMap.put(EKK0341C231CBSMsg.KIKI_SOHUS_BNCHIGO, custMap.get(ECK0011A010CBSMsg1List.KEISHA_BNCHIGO));
				// 機器送付先住所補記・建物名
				inMap.put(EKK0341C231CBSMsg.KIKI_SOHUS_ADRTTM, custMap.get(ECK0011A010CBSMsg1List.KEISHA_ADRTTM));
				// 機器送付先住所補記・部屋番号
				inMap.put(EKK0341C231CBSMsg.KIKI_SOHUS_ADRRM, custMap.get(ECK0011A010CBSMsg1List.KEISHA_ADRRM));
				// 機器送付先電話番号
				inMap.put(EKK0341C231CBSMsg.KIKI_SOHUS_TELNO, custMap.get(ECK0011A010CBSMsg1List.KEISHA_TELNO));
			}
			else
			{
				// 機器送付先住所コード
				inMap.put(EKK0341C231CBSMsg.KIKI_SOHUS_AD_CD, kaisenUwMap.get(EKK0251A010CBSMsg1List.KAISEN_PLACE_AD_CD));
				// 機器送付先郵便番号
				inMap.put(EKK0341C231CBSMsg.KIKI_SOHUS_PCD, kaisenUwMap.get(EKK0251A010CBSMsg1List.KAISEN_PLACE_PCD));
				// 機器送付先都道府県名
				inMap.put(EKK0341C231CBSMsg.KIKI_SOHUS_STATE_NM, kaisenUwMap.get(EKK0251A010CBSMsg1List.KAISEN_PLACE_STATE_NM));
				// 機器送付先市区町村名
				inMap.put(EKK0341C231CBSMsg.KIKI_SOHUS_CITY_NM, kaisenUwMap.get(EKK0251A010CBSMsg1List.KAISEN_PLACE_CITY_NM));
				// 機器送付先大字通称名
				inMap.put(EKK0341C231CBSMsg.KIKI_SOHUS_OAZTSU_NM, kaisenUwMap.get(EKK0251A010CBSMsg1List.KAISEN_PLACE_OAZTSU_NM));
				// 機器送付先字丁目名
				inMap.put(EKK0341C231CBSMsg.KIKI_SOHUS_AZCHO_NM, kaisenUwMap.get(EKK0251A010CBSMsg1List.KAISEN_PLACE_AZCHO_NM));
				// 機器送付先番地号
				inMap.put(EKK0341C231CBSMsg.KIKI_SOHUS_BNCHIGO, kaisenUwMap.get(EKK0251A010CBSMsg1List.KAISEN_PLACE_BNCHIGO));
				// 機器送付先住所補記・建物名
				inMap.put(EKK0341C231CBSMsg.KIKI_SOHUS_ADRTTM, kaisenUwMap.get(EKK0251A010CBSMsg1List.KAISEN_PLACE_ADRTTM));
				// 機器送付先住所補記・部屋番号
				inMap.put(EKK0341C231CBSMsg.KIKI_SOHUS_ADRRM, kaisenUwMap.get(EKK0251A010CBSMsg1List.KAISEN_PLACE_ADRRM));
				// 機器送付先電話番号
				inMap.put(EKK0341C231CBSMsg.KIKI_SOHUS_TELNO, kaisenUwMap.get(EKK0251A010CBSMsg1List.KAISEN_PLACE_TELNO));
			}
			// 機器送付先個別指定フラグ
			inMap.put(EKK0341D010CBSMsg.KIKI_SHS_KBT_SHITEI_FLG, JFUStrConst.KK0341_KIKI_SHS_KBT_SHITEI_FLG_1);
		}
		else
		{
			//■工事会社配送(新設工事)
			// 機器送付先名
			inMap.put(EKK0341D010CBSMsg.KIKI_SOHUS_NM, kojiHaisoAdr.get(EKK0341B029CBSMsg1List.KIKI_SOHUS_NM));
			// 機器送付先カナ名
			inMap.put(EKK0341D010CBSMsg.KIKI_SOHUS_KANA, kojiHaisoAdr.get(EKK0341B029CBSMsg1List.KIKI_SOHUS_KANA));
			// 機器送付先住所コード
			inMap.put(EKK0341C231CBSMsg.KIKI_SOHUS_AD_CD, kojiHaisoAdr.get(EKK0341B029CBSMsg1List.KIKI_SOHUS_AD_CD));
			// 機器送付先郵便番号
			inMap.put(EKK0341C231CBSMsg.KIKI_SOHUS_PCD, kojiHaisoAdr.get(EKK0341B029CBSMsg1List.KIKI_SOHUS_PCD));
			// 機器送付先都道府県名
			inMap.put(EKK0341C231CBSMsg.KIKI_SOHUS_STATE_NM, kojiHaisoAdr.get(EKK0341B029CBSMsg1List.KIKI_SOHUS_STATE_NM));
			// 機器送付先市区町村名
			inMap.put(EKK0341C231CBSMsg.KIKI_SOHUS_CITY_NM, kojiHaisoAdr.get(EKK0341B029CBSMsg1List.KIKI_SOHUS_CITY_NM));
			// 機器送付先大字通称名
			inMap.put(EKK0341C231CBSMsg.KIKI_SOHUS_OAZTSU_NM, kojiHaisoAdr.get(EKK0341B029CBSMsg1List.KIKI_SOHUS_OAZTSU_NM));
			// 機器送付先字丁目名
			inMap.put(EKK0341C231CBSMsg.KIKI_SOHUS_AZCHO_NM, kojiHaisoAdr.get(EKK0341B029CBSMsg1List.KIKI_SOHUS_AZCHO_NM));
			// 機器送付先番地号
			inMap.put(EKK0341C231CBSMsg.KIKI_SOHUS_BNCHIGO, kojiHaisoAdr.get(EKK0341B029CBSMsg1List.KIKI_SOHUS_BNCHIGO));
			// 機器送付先住所補記・建物名
			inMap.put(EKK0341C231CBSMsg.KIKI_SOHUS_ADRTTM, kojiHaisoAdr.get(EKK0341B029CBSMsg1List.KIKI_SOHUS_ADRTTM));
			// 機器送付先住所補記・部屋番号
			inMap.put(EKK0341C231CBSMsg.KIKI_SOHUS_ADRRM, kojiHaisoAdr.get(EKK0341B029CBSMsg1List.KIKI_SOHUS_ADRRM));
			// 機器送付先電話番号
			inMap.put(EKK0341C231CBSMsg.KIKI_SOHUS_TELNO, kojiHaisoAdr.get(EKK0341B029CBSMsg1List.KIKI_SOHUS_TELNO));
			// 機器送付先個別指定フラグ
			inMap.put(EKK0341D010CBSMsg.KIKI_SHS_KBT_SHITEI_FLG, JFUStrConst.KK0341_KIKI_SHS_KBT_SHITEI_FLG_1);
		}

		if(JFUStrConst.CD01148_2.equals(tempData.get(EKK0341D010CBSMsg.HAISO_WAY_CD))) {
			// 配送方法コード
			inMap.put(EKK0341D010CBSMsg.HAISO_WAY_CD, tempData.get(EKK0341D010CBSMsg.HAISO_WAY_CD));
			// 機器設置先区画整理中フラグ
			inMap.put(EKK0341D010CBSMsg.KIKI_STS_KKK_SEIRI_CHU_FLG, "");
		}

		// 住所未確定フラグ
		inMap.put(EKK0341D010CBSMsg.AD_MI_FIX_FLG, JFUStrConst.CD00467_0);
		// 更新年月日時分秒
		inMap.put(EKK0341D010CBSMsg.UPD_DTM_BF, updDtmSvcKei);
		// 異動区分
		inMap.put(EKK0341D010CBSMsg.IDO_DIV, idoDiv);
		// 販売種別コード
		inMap.put(EKK0341D010CBSMsg.HAMBAI_SBT_CD, JFUStrConst.CD00348_10);
		// 宅内機器種別コード
		inMap.put(EKK0341D010CBSMsg.TAKNKIKI_SBT_CD, taknkikiSbtCd);
		// 機器設置先場所番号
		inMap.put(EKK0341D010CBSMsg.KIKI_STC_SAKI_PLACE_NO, kaisenUwMap.get(EKK0251A010CBSMsg1List.KAISEN_PLACE_NO));
		// 機器設置先住所コード
		inMap.put(EKK0341D010CBSMsg.KIKI_STC_SAKI_AD_CD, kaisenUwMap.get(EKK0251A010CBSMsg1List.KAISEN_PLACE_AD_CD));
		// 機器設置先郵便番号
		inMap.put(EKK0341D010CBSMsg.KIKI_STC_SAKI_PCD, kaisenUwMap.get(EKK0251A010CBSMsg1List.KAISEN_PLACE_PCD));
		// 機器設置先都道府県名
		inMap.put(EKK0341D010CBSMsg.KIKI_STC_SAKI_STATE_NM, kaisenUwMap.get(EKK0251A010CBSMsg1List.KAISEN_PLACE_STATE_NM));
		// 機器設置先市区町村名
		inMap.put(EKK0341D010CBSMsg.KIKI_STC_SAKI_CITY_NM, kaisenUwMap.get(EKK0251A010CBSMsg1List.KAISEN_PLACE_CITY_NM));
		// 機器設置先大字通称名
		inMap.put(EKK0341D010CBSMsg.KIKI_STC_SAKI_OAZTSU_NM, kaisenUwMap.get(EKK0251A010CBSMsg1List.KAISEN_PLACE_OAZTSU_NM));
		// 機器設置先字丁目名
		inMap.put(EKK0341D010CBSMsg.KIKI_STC_SAKI_AZCHO_NM, kaisenUwMap.get(EKK0251A010CBSMsg1List.KAISEN_PLACE_AZCHO_NM));
		// 機器設置先番地号
		inMap.put(EKK0341D010CBSMsg.KIKI_STC_SAKI_BNCHIGO, kaisenUwMap.get(EKK0251A010CBSMsg1List.KAISEN_PLACE_BNCHIGO));
		// 機器設置先住所補記・建物名
		inMap.put(EKK0341D010CBSMsg.KIKI_STC_SAKI_ADRTTM, kaisenUwMap.get(EKK0251A010CBSMsg1List.KAISEN_PLACE_ADRTTM));
		// 機器設置先住所補記・部屋番号
		inMap.put(EKK0341D010CBSMsg.KIKI_STC_SAKI_ADRRM, kaisenUwMap.get(EKK0251A010CBSMsg1List.KAISEN_PLACE_ADRRM));
		// 機器設置先_契約者住所差異フラグ <-- サービス契約回線内訳情報.回線場所_契約者住所差異フラグ
		inMap.put(EKK0341D010CBSMsg.KIKI_STC_SK_KSH_AD_SAI_FLG, kaisenUwMap.get(EKK0251A010CBSMsg1List.KAISEN_PLC_KSH_AD_SAI_FLG));
		// 機器設置先電話番号
		inMap.put(EKK0341D010CBSMsg.KIKI_STC_SK_TELNO, kaisenUwMap.get(EKK0251A010CBSMsg1List.KAISEN_PLACE_TELNO));
		// 機器付加情報コード
		inMap.put(EKK0341D010CBSMsg.KIKI_HUKA_INFO_CD, tempData.get(EKK0341D010CBSMsg.KIKI_HUKA_INFO_CD));
		// マンション物件番号
		inMap.put(EKK0341D010CBSMsg.MANSION_BUKKEN_NO, kaisenUwMap.get(EKK0251A010CBSMsg1List.MANSION_BUKKEN_NO));
		// 配送依頼指定年月日
		String haiso_req_shitei_ymd = tempData.get(HAISOCC_HAISO_REQ_SHITEI_YMD);
		inMap.put(EKK0341D010CBSMsg.HAISO_REQ_SHITEI_YMD, haiso_req_shitei_ymd);
		// 機器送付先住所手動入力フラグ
		inMap.put(EKK0341D010CBSMsg.KIKI_SHS_AD_MAN_INPUT_FLG, JFUStrConst.CD01239_0);
	}

	/**
	 * 上りマッピング項目設定(機器提供サービス契約照査)を行います。
	 *
	 * <br>
	 * @param param リクエストパラメータ
	 * @param fixedText サービスメッセージ
	 * @param pcrsCd 料金コースコード
	 * @param kktkSvcKeiNo 機器提供サービス契約番号
	 * @param updDtm 更新年月日時分秒
	 * @param idoDiv 異動区分
	 * @throws RequestParameterException
	 */
	private void setInMapKktkShosa(IRequestParameterReadWrite param, String fixedText, String kktkSvcKeiNo, String updDtm, String idoDiv)
			throws RequestParameterException
	{
		// 機能コード設定(1:チェック&登録)
		setFuncCode(param, fixedText, JPCModelConstant.FUNC_CD_1);

		// ユーザデータ取得
		HashMap inMap = (HashMap)param.getData(fixedText);

		// 機器提供サービス契約番号
		inMap.put(EKK0341C030CBSMsg.KKTK_SVC_KEI_NO, kktkSvcKeiNo);
		// 更新年月日時分秒(更新前)
		inMap.put(EKK0341C030CBSMsg.UPD_DTM_BF, updDtm);
		// 異動区分
		inMap.put(EKK0341C030CBSMsg.IDO_DIV, idoDiv);
		// 照査解約完了コード
		inMap.put(EKK0341C030CBSMsg.SHOSA_DSL_FIN_CD, JFUStrConst.CD00469_1);	// "1"：照査OK

	}

	/**
	 * 上りマッピング項目設定(機器提供サービス契約一意照会)を行います。
	 *
	 * <br>
	 * @param param リクエストパラメータ
	 * @param fixedText サービスメッセージ
	 * @param kktkSvcKeiNo 機器提供サービス契約番号
	 * @throws RequestParameterException
	 */
	private void setInMapKktkSvcKeiUqSearch(IRequestParameterReadWrite param, String fixedText, String kktkSvcKeiNo) throws RequestParameterException
	{
		// 機能コード設定(2:カレント)
		setFuncCode(param, fixedText, JPCModelConstant.FUNC_CD_2);

		// ユーザデータ取得
		HashMap inMap = (HashMap)param.getData(fixedText);

		// ＫＥＹ＿サービス契約番号
		inMap.put(EKK0341A010CBSMsg.KEY_KKTK_SVC_KEI_NO, kktkSvcKeiNo);
		// ＫＥＹ＿予約適用年月日
		inMap.put(EKK0341A010CBSMsg.KEY_RSV_APLY_YMD, JCCBPCommon.getOpeDate(null));
	}

	/**
	 * 上りマッピング項目設定(機器提供サービス契約一意照会)
	 *
	 * <br>
	 * @param param リクエストパラメータ
	 * @param fixedText サービスメッセージ
	 * @param kktkSvcKeiNo 機器提供サービス契約番号
	 * @param geneAddDtm 世代登録年月日時分秒
	 * @throws RequestParameterException
	 */
	private void setInMapKktkSvcKeiUqSearch(IRequestParameterReadWrite param, String fixedText, String kktkSvcKeiNo, String geneAddDtm)
			throws RequestParameterException
	{
		// 機能コード設定(1:PK)
		setFuncCode(param, fixedText, JPCModelConstant.FUNC_CD_1);

		// ユーザデータ取得
		HashMap inMap = (HashMap)param.getData(fixedText);

		// ＫＥＹ＿サービス契約番号
		inMap.put(EKK0341A010CBSMsg.KEY_KKTK_SVC_KEI_NO, kktkSvcKeiNo);
		// ＫＥＹ＿世代登録年月日時分秒
		inMap.put(EKK0341A010CBSMsg.KEY_GENE_ADD_DTM, geneAddDtm);
	}

	/**
	 * 上りマッピング項目設定(機器提供サービス契約情報変更)を行います。
	 *
	 * <br>
	 * @param param リクエストパラメータ
	 * @param fixedText サービスメッセージ
	 * @param kikiInfoMap 機器情報マップ
	 * @param updDtm 更新年月日時分秒
	 * @param idoDiv 異動区分
	 * @param tempData 当機能内の連携ワーク
	 * @throws RequestParameterException
	 */
	private void setInMapKktkSvcKeiInfoChg(IRequestParameterReadWrite param, String fixedText, HashMap kikiInfoMap, String updDtm, String idoDiv, HashMap<String, String> tempData)
			throws RequestParameterException
	{
		// 機能コード設定(2:カレント)
		setFuncCode(param, fixedText, JPCModelConstant.FUNC_CD_1);

		// ユーザデータ取得
		HashMap inMap = (HashMap)param.getData(fixedText);

		// 同一項目を移送
		super.copyProperties(inMap, kikiInfoMap);

		// 更新年月日時分秒(更新前)
		inMap.put(EKK0341C230CBSMsg.UPD_DTM_BF, updDtm);
		// 機器送付先住所手動入力フラグ
		inMap.put(EKK0341C230CBSMsg.KIKI_SHS_AD_MAN_INPUT_FLG, JFUStrConst.CD01239_0);
		// 回収機器有無
		inMap.put(EKK0341C230CBSMsg.KAISHU_KIKI_UM, JFUStrConst.CD00002_1);
		// 異動区分
		inMap.put(EKK0341C230CBSMsg.IDO_DIV, idoDiv);
		// 機器付加情報コード
		inMap.put(EKK0341C230CBSMsg.KIKI_HUKA_INFO_CD, tempData.get(EKK0341D010CBSMsg.KIKI_HUKA_INFO_CD));
	}

	/**
	 * 上りマッピング項目設定(機器提供サービス契約情報変更手続開始)を行います。
	 *
	 * <br>
	 * @param param リクエストパラメータ
	 * @param fixedText サービスメッセージ
	 * @param kikiInfoMap 機器提供サービス契約番号
	 * @param updDtm 更新年月日時分秒
	 * @param idoDiv 異動区分
	 * @param mskmDtlNo 申込明細番号
	 * @throws RequestParameterException
	 */
	private void setInMapKktkSvcKeiKikiChgKaishi(IRequestParameterReadWrite param, String fixedText, String kktkSvcKeiNo, String updDtm, String idoDiv, String mskmDtlNo)
			throws RequestParameterException
	{
		// 機能コード設定(2:カレント)
		setFuncCode(param, fixedText, JPCModelConstant.FUNC_CD_1);

		// ユーザデータ取得
		HashMap inMap = (HashMap)param.getData(fixedText);

		// 機器提供サービス契約番号
		inMap.put(EKK0341C530CBSMsg.KKTK_SVC_KEI_NO, kktkSvcKeiNo);
		// 申込明細番号
		inMap.put(EKK0341C530CBSMsg.MSKM_DTL_NO, mskmDtlNo);
		// 更新年月日時分秒(更新前)
		inMap.put(EKK0341C530CBSMsg.UPD_DTM_BF, updDtm);
		// 予約適用コード
		inMap.put(EKK0341C530CBSMsg.RSV_APLY_CD, JFUStrConst.CD00343_1);
		// 予約適用年月日
		inMap.put(EKK0341C530CBSMsg.RSV_APLY_YMD, null);
		// 異動区分
		inMap.put(EKK0341C530CBSMsg.IDO_DIV, idoDiv);
	}

	/**
	 * 上りマッピング項目設定(機器提供サービス契約解約)を行います。
	 *
	 * <br>
	 * @param param リクエストパラメータ
	 * @param fixedText サービスメッセージ
	 * @param kktkSvcKeiNo 機器提供サービス契約番号
	 * @param updDtm 更新年月日時分秒
	 * @param mskmDtlNo 申込明細番号
	 * @param idoDiv 異動区分
	 * @throws RequestParameterException
	 */
	private void setInMapKktkSvcKeiDsl(IRequestParameterReadWrite param, String fixedText, String kktkSvcKeiNo, String updDtm, String mskmDtlNo,
			String idoDiv) throws RequestParameterException
	{
		// 機能コード設定(1:チェック&登録)
		setFuncCode(param, fixedText, JPCModelConstant.FUNC_CD_1);

		// ユーザデータ取得
		HashMap inMap = (HashMap)param.getData(fixedText);

		// 機器提供サービス契約番号
		inMap.put(EKK0341C340CBSMsg.KKTK_SVC_KEI_NO, kktkSvcKeiNo);
		// サービス解約理由コード
		inMap.put(EKK0341C340CBSMsg.SVC_DLRE_CD, JFUStrConst.CD00879_01);
		// サービス終了年月日
		inMap.put(EKK0341C340CBSMsg.SVC_ENDYMD, JCCBPCommon.getOpeDate(null));
		// 更新年月日時分秒(更新前)
		inMap.put(EKK0341C340CBSMsg.UPD_DTM_BF, updDtm);
		// 申込明細番号
		inMap.put(EKK0341C340CBSMsg.MSKM_DTL_NO, mskmDtlNo);
		// 異動区分
		inMap.put(EKK0341C340CBSMsg.IDO_DIV, idoDiv);
		// サービス課金終了年月日
		inMap.put(EKK0341C340CBSMsg.SVC_CHRG_ENDYMD, JFUBPCommon.getSvcChrgEndYmdKiki(null));
	}

	/**
	 * 上りマッピング項目設定(機器提供サービス契約解約確定)
	 *
	 * <br>
	 * @param param リクエストパラメータ
	 * @param fixedText サービスメッセージ
	 * @param kktkSvcKeiNo 機器提供サービス契約番号
	 * @param updDtm 更新年月日時分秒
	 * @throws RequestParameterException
	 */
	private void setInMapKktkSvcKeiDslFix(IRequestParameterReadWrite param, String fixedText, String kktkSvcKeiNo, String updDtm)
			throws RequestParameterException
	{
		// 機能コード設定(1:チェック&登録)
		setFuncCode(param, fixedText, JPCModelConstant.FUNC_CD_1);

		// ユーザデータ取得
		HashMap inMap = (HashMap)param.getData(fixedText);
		// 機器提供サービス契約番号
		inMap.put(EKK0341C350CBSMsg.KKTK_SVC_KEI_NO, kktkSvcKeiNo);
		// サービス終了年月日
		inMap.put(EKK0341C350CBSMsg.SVC_ENDYMD, JCCBPCommon.getOpeDate(null));
		// サービス課金終了年月日
		inMap.put(EKK0341C350CBSMsg.SVC_CHRG_ENDYMD, JFUBPCommon.getSvcChrgEndYmdKiki(null));
		// サービス解約理由コード
		inMap.put(EKK0341C350CBSMsg.SVC_DLRE_CD, JFUStrConst.CD00879_01);
		// 宅内機器異動コード
		inMap.put(EKK0341C350CBSMsg.TAKNKIKI_IDO_CD, JFUStrConst.CD00562_02);
		// 回収機器有無
		inMap.put(EKK0341C350CBSMsg.KAISHU_KIKI_UM, JFUStrConst.CD00002_1);
		// 更新年月日時分秒(更新前)
		inMap.put(EKK0341C350CBSMsg.UPD_DTM_BF, updDtm);
	}

	/**
	 * 上りマッピング項目設定(機器提供サービス契約キャンセル)を行います。
	 *
	 * <br>
	 * @param param リクエストパラメータ
	 * @param fixedText サービスメッセージ
	 * @param kktkSvcKeiNo 機器提供サービス契約番号
	 * @param mskmDtlNo 申込明細番号
	 * @param idoDiv 異動区分
	 * @param updDtmBf 更新年月日時分秒
	 * @throws RequestParameterException
	 */
	private void setInMapKktkSvcKeiCancel(IRequestParameterReadWrite param, String fixedText, String kktkSvcKeiNo, String mskmDtlNo, String idoDiv,
			String updDtmBf) throws RequestParameterException
	{
		// 機能コード設定(1)
		setFuncCode(param, fixedText, JPCModelConstant.FUNC_CD_1);

		// ユーザデータ取得
		HashMap inMap = (HashMap)param.getData(fixedText);

		// 機器提供サービス契約番号
		inMap.put(EKK0341C330CBSMsg.KKTK_SVC_KEI_NO, kktkSvcKeiNo);
		// 申込明細番号
		inMap.put(EKK0341C330CBSMsg.MSKM_DTL_NO, mskmDtlNo);
		// 異動区分
		inMap.put(EKK0341C330CBSMsg.IDO_DIV, idoDiv);
		// 更新年月日時分秒(更新前)
		inMap.put(EKK0341C330CBSMsg.UPD_DTM_BF, updDtmBf);

	}

	/**
	 * 上りマッピング項目設定(引当棚一意照会)を行います。
	 *
	 * <br>
	 * @param param リクエストパラメータ
	 * @param fixedText サービスメッセージ
	 * @throws RequestParameterException
	 */
	private void setInMapHkAtShelfSearch(IRequestParameterReadWrite param, String fixedText) throws RequestParameterException
	{
		// 機能コード設定(1)
		setFuncCode(param, fixedText, JPCModelConstant.FUNC_CD_1);

		// ユーザデータ取得
		HashMap inMap = (HashMap)param.getData(fixedText);
		// ＫＥＹ＿販売種別コード：標準（新品）
		inMap.put(EDK0451A010CBSMsg.KEY_HAMBAI_SBT_CD, JFUStrConst.CD00348_10);
		// ＫＥＹ＿運用日付
		inMap.put(EDK0451A010CBSMsg.KEY_UNYO_YMD, JCCBPCommon.getOpeDate(null));

	}

	/**
	 * 上りマッピング項目設定(進捗登録)
	 *
	 * <br>
	 * @param param リクエストパラメータ
	 * @param fixedText サービスメッセージ
	 * @param svcKeiNo サービス契約番号
	 * @param mskmDtlNo 申込明細番号
	 * @param prgTkjk1 進捗特記事項1
	 * @param prgTkjk2 進捗特記事項2
	 * @param idoDiv 異動区分
	 * @throws RequestParameterException
	 */
	private void setInMapPrgRegist(IRequestParameterReadWrite param, String fixedText, String svcKeiNo, String mskmDtlNo, String prgTkjk1,
			String prgTkjk2, String idoDiv) throws RequestParameterException
	{
		// 機能コード設定(1:チェック&登録)
		setFuncCode(param, fixedText, JPCModelConstant.FUNC_CD_1);

		// ユーザデータ取得
		HashMap inMap = (HashMap)param.getData(fixedText);

		// サービス契約番号
		inMap.put(EKK1091D010CBSMsg.SVC_KEI_NO, svcKeiNo);
		// 進捗ステータス
		inMap.put(EKK1091D010CBSMsg.PRG_STAT, JFUStrConst.CD00647_3501);
		// 申込明細番号
		inMap.put(EKK1091D010CBSMsg.MSKM_DTL_NO, mskmDtlNo);
		// 異動区分
		inMap.put(EKK1091D010CBSMsg.IDO_DIV, idoDiv);
		// 異動年月日時分秒
		inMap.put(EKK1091D010CBSMsg.IDO_DTM, JCCBPCommon.getSysDateTimeStamp());
		// 進捗特記事項1
		inMap.put(EKK1091D010CBSMsg.PRG_TKJK_1, prgTkjk1);
		// 進捗特記事項2
		inMap.put(EKK1091D010CBSMsg.PRG_TKJK_2, prgTkjk2);

		ArrayList list = new ArrayList();
		HashMap childMap = new HashMap();

		// 異動理由コード
		childMap.put(EKK1091D010CBSMsg1List.IDO_RSN_CD, JFUStrConst.CD00846_F3);
		// 異動理由メモ
		childMap.put(EKK1091D010CBSMsg1List.IDO_RSN_MEMO, null);
		list.add(childMap);

		inMap.put(EKK1091D010CBSMsg.EKK1091D010CBSMSG1LIST, list);
	}

	/**
	 * 上りマッピング項目設定(申込明細照査・後続業務依頼)
	 *
	 * <br>
	 * @param param リクエストパラメータ
	 * @param fixedText サービスメッセージ
	 * @param mskmDtlNo 申込明細番号
	 * @param updDtm 更新年月日時分秒
	 * @param idoDiv 異動区分
	 * @throws RequestParameterException
	 */
	private void setInMapMskmDtlShosaKzkWrk(IRequestParameterReadWrite param, String fixedText, String mskmDtlNo, String updDtm, String idoDiv)
			throws RequestParameterException
	{
		// 機能コード設定(1:チェック&登録)
		setFuncCode(param, fixedText, JPCModelConstant.FUNC_CD_1);

		// ユーザデータ取得
		HashMap inMap = (HashMap)param.getData(fixedText);

		// 申込明細番号
		inMap.put(EKK0021C060CBSMsg.MSKM_DTL_NO, mskmDtlNo);
		// 後続業務依頼年月日
		inMap.put(EKK0021C060CBSMsg.KZKWRK_REQYMD, JCCBPCommon.getOpeDate(null));
		// 更新年月日時分秒(更新前)
		inMap.put(EKK0021C060CBSMsg.UPD_DTM_BF, updDtm);
		// 異動区分
		inMap.put(EKK0021C060CBSMsg.IDO_DIV, idoDiv);
	}

	/**
	 * 機器オプションサービス契約登録処理
	 *
	 * <br>
	 * @param handle セッションハンドル
	 * @param param リクエストパラメータ
	 * @param fixedText サービスメッセージ
	 * @param kktkSvcKeiNo 機器提供サービス契約番号
	 * @param seikyKeiNoNet 請求契約番号（ネット）
	 * @param seikyKeiNoTel 請求契約番号（電話）
	 * @param mskmDtlNo 申込明細番号
	 * @param lastUpdDtm 最終更新年月日
	 * @param pcrsCdTel 料金コースコード（電話）
	 * @param svcKeiStatNet サービス契約ステータス（ネット）
	 * @param tempData 当機能内の連携ワーク
	 * @throws Exception
	 */
	private String setKkOpSvcKeiToroku(SessionHandle handle, IRequestParameterReadWrite param, String fixedText, String kktkSvcKeiNo,
			String seikyKeiNoNet, String seikyKeiNoTel, String mskmDtlNo, String lastUpdDtm, String pcrsCdTel, String svcKeiStatNet, HashMap<String, String> tempData) throws Exception
	{

		// ●INパラメータ取得
		HashMap<String, Object> inMap = (HashMap<String, Object>)(param.getData(fixedText));
		ArrayList<Object> workLst = (ArrayList<Object>)inMap.get(KKTK_SVKEI_ADD_LIST);
		HashMap inParamMap = (HashMap)workLst.get(JFUStrConst.I_ZERO);

		// IN項目:SYSID
		String inParamSysId = (String)inParamMap.get(IN_PARAM_SYSID);
		// IN項目:異動区分
		String inParamIdoDiv = (String)inParamMap.get(IN_PARAM_IDO_DIV);
		// IN項目:サービス契約回線内訳番号
		String inParamSvkeiKaisenUwNo = (String)inMap.get("svc_kei_kaisen_ucwk_no");
		// IN項目:保有多機能ルーター機能種別
		String inParamOwnTknRouterKind = (String)inMap.get("own_tkn_router_kind");
		// IN項目:返品機器提供サービス契約番号（ＶＡ）
		String inParamhmpinKktkSvcKeiNoVa = (String)inMap.get("hmpin_kktk_svc_kei_no_va");
		// IN項目:ルター機能名
		String inParamRouterkinoNm = (String)inMap.get("router_kino_nm");


		// 〇ルーターを保有している場合
		String pcrsCd = "";
		String pplanCd = "";
		if (ROUTER_KINO_YUSEN.equals(inParamRouterkinoNm))
		{
			// 有線
			pcrsCd = JFUStrConst.CD00134_G01;
			pplanCd = JFUStrConst.CD00565_PG0101;
		}
		else
		{
			// 無線
			pcrsCd = JFUStrConst.CD00134_G02;
			pplanCd = JFUStrConst.CD00565_PG0201;
		}
		setNewRtPcrs(tempData, pcrsCd);

		if (JFUBPCommon.isNull(inParamOwnTknRouterKind) || OWN_TKN_RT_KIND_0.equals(inParamOwnTknRouterKind))
		{
			// 〇保有ルーターが多機能ルーター(ルーター機能）以外の場合
			// ※多機能ルーター保有なし 又は 5ギガ10ギガで低速多機能ルータを保有
			// ※「低速多機能→10G交換」で、5ギガ10ギガで多機能のルーター機能のみ保有はありえない。多機能VAの場合のみ考慮しオーダ発行を実行。
			{

				// ● 機器オプションサービス契約登録（ルーター用）
				// ユーザデータ初期化
				initData(param, fixedText, IN_COLUMN_LIST_35);
				// 上りマッピング
				setInMapKkOpSvcKeiToroku(param, fixedText, JFUStrConst.KK2801_KKOP_SVC_CD_G01, pcrsCd, pplanCd, kktkSvcKeiNo, inParamSysId,
						mskmDtlNo, inParamIdoDiv, seikyKeiNoNet, JFUStrConst.KK2811_KIKI_RNTAI_KEI_CHGECHU_FLG_0, lastUpdDtm);
				// サービスIF実行
				executeSC(handle, param, fixedText, TEMPLATE_ID_35, TEMPLATE_ID_35_DETAIL, IN_COLUMN_LIST_35, ERROR_COLUMN_35);
				// 世代登録年月日時分秒
				lastUpdDtm = getTemplateValue(inMap, getMaxTempTempleteKey(inMap, TEMP_TEMPLATE_KEY_35), EKK2811D010CBSMsg.UPD_DTM);
				// 機器オプションサービス契約番号
				String kkopSvcKeiNoRT = getTemplateValue(inMap, getMaxTempTempleteKey(inMap, TEMP_TEMPLATE_KEY_35), EKK2811D010CBSMsg.KKOP_SVC_KEI_NO);


				// ■多機能ルーター（電話機能）があるかチェック
				// ●機器オプションサービス契約一覧照会（フロント）※多機能電話
				// ユーザデータ初期化
				initData(param, fixedText, IN_COLUMN_LIST_KKOP_SVKEI_LIST_SHOKAI);
				// 上りマッピング
				setInMapKkOpSvcKeiListShokai(param, fixedText, inParamSysId, inParamSvkeiKaisenUwNo);
				//検索エラーなし設定
				ignoreSearchError(param, fixedText);
				// サービスIF実行
				executeSC(handle, param, fixedText, TEMPLATE_ID_KKOP_SVKEI_LIST_SHOKAI, TEMPLATE_ID_DETAIL_KKOP_SVKEI_LIST_SHOKAI,
						IN_COLUMN_LIST_KKOP_SVKEI_LIST_SHOKAI, BLANK);

				// 〇機器オプションサービス契約番号（電話機能）
				String kkOpSvcKeiNoTEL = null;
				// 〇宅内機器型式コード
				String taknkikiModelCd = null;
				// 〇機器製造番号
				String kikiSeizoNo = null;
				// 〇機器提供サービス契約ステータス
				String kktkSvcKeiStat = null;
				for (HashMap dataMap : getTemplateList(inMap, getMaxTempTempleteKey(inMap, TEMP_TEMPLATE_KEY_KKOP_SVKEI_LIST_SHOKAI),
						TEMPLATE_ID_DETAIL_KKOP_SVKEI_LIST_SHOKAI))
				{
					String kkopSvcKeiStat = (String)dataMap.get(EKK2811B503CBSMsg1List.KKOP_SVC_KEI_STAT);
					if (KKOP_SVC_KEI_STAT_MUKO.contains(kkopSvcKeiStat))
					{
						continue;
					}
					String kkopSvcCd = (String)dataMap.get(EKK2811B503CBSMsg1List.KKOP_SVC_CD);
					String kktkSvcKeiNoKkop = (String)dataMap.get(EKK2811B503CBSMsg1List.KKTK_SVC_KEI_NO);
					if (!kktkSvcKeiNoKkop.equals(kktkSvcKeiNo))
					{
						// 既存機器オプでない場合、電話機器オプを登録するためＶＡ返却扱いにする
						inParamhmpinKktkSvcKeiNoVa = kktkSvcKeiNo;
						continue;
					}
					if (JFUStrConst.KK2801_KKOP_SVC_CD_G02.equals(kkopSvcCd))
					{
						// 多機能ルーター（電話機能）がある場合
						// 〇機器オプションサービス契約番号
						kkOpSvcKeiNoTEL = (String)dataMap.get(EKK2811B503CBSMsg1List.KKOP_SVC_KEI_NO);
						// 〇宅内機器型式コード
						taknkikiModelCd = (String)dataMap.get(EKK2811B503CBSMsg1List.TAKNKIKI_MODEL_CD);
						// 〇機器製造番号
						kikiSeizoNo = (String)dataMap.get(EKK2811B503CBSMsg1List.KIKI_SEIZO_NO);
						// 〇機器提供サービス契約ステータス
						kktkSvcKeiStat = (String)dataMap.get(EKK2811B503CBSMsg1List.KKTK_SVC_KEI_STAT);
					}
				}

				// 〇機器オプションサービス契約番号（ルーター機能）
				String kkOpSvcKeiNoRT = null;
				if (JFUBPCommon.isNull(kkOpSvcKeiNoTEL))
				{
					// 多機能ルーター（ルーター機能）のデータが存在しない場合は、照査ずみまで。
					// ● 機器オプションサービス契約照査（ルーター用）
					// ユーザデータ初期化
					initData(param, fixedText, IN_COLUMN_LIST_36);
					// 上りマッピング
					setInMapKkOpSvcKeiShosa(param, fixedText, kkopSvcKeiNoRT, inParamIdoDiv, lastUpdDtm);
					// サービスIF実行
					executeSC(handle, param, fixedText, TEMPLATE_ID_36, TEMPLATE_ID_36_DETAIL, IN_COLUMN_LIST_36, ERROR_COLUMN_36);
					// 世代登録年月日時分秒
					lastUpdDtm = getTemplateValue(inMap, getMaxTempTempleteKey(inMap, TEMP_TEMPLATE_KEY_36), EKK2811C030CBSMsg.UPD_DTM);
					// 機器オプションサービス契約番号（ルーター機能）
					kkOpSvcKeiNoRT = getTemplateValue(inMap, getMaxTempTempleteKey(inMap, TEMP_TEMPLATE_KEY_36), EKK2811C030CBSMsg.KKOP_SVC_KEI_NO);
				}
				if (!JFUBPCommon.isNull(kkOpSvcKeiNoTEL))
				{
					// 多機能ルーター（ルーター機能）のデータが存在する場合は、多機能ルーターの機器のステータスに合わせる。（VA機能付加）
					String geneAddDtmAft = null;
					// ■ネットのサービス契約が照査済の場合
					if (JFUStrConst.CD00037_020.equals(svcKeiStatNet) || JFUStrConst.CD00056_020.equals(kktkSvcKeiStat))
					{
						// ● 機器オプションサービス契約照査（ルーター用）
						// ユーザデータ初期化
						initData(param, fixedText, IN_COLUMN_LIST_36);
						// 上りマッピング
						setInMapKkOpSvcKeiShosa(param, fixedText, kkopSvcKeiNoRT, inParamIdoDiv, lastUpdDtm);
						// サービスIF実行
						executeSC(handle, param, fixedText, TEMPLATE_ID_36, TEMPLATE_ID_36_DETAIL, IN_COLUMN_LIST_36, ERROR_COLUMN_36);
						// 世代登録年月日時分秒
						lastUpdDtm = getTemplateValue(inMap, getMaxTempTempleteKey(inMap, TEMP_TEMPLATE_KEY_36), EKK2811C030CBSMsg.UPD_DTM);
						// 機器オプションサービス契約番号（ルーター機能）
						kkOpSvcKeiNoRT = getTemplateValue(inMap, getMaxTempTempleteKey(inMap, TEMP_TEMPLATE_KEY_36), EKK2811C030CBSMsg.KKOP_SVC_KEI_NO);
						// 〇世代登録年月日時分秒（変更後）
						geneAddDtmAft = getTemplateValue(inMap, getMaxTempTempleteKey(inMap, TEMP_TEMPLATE_KEY_36), EKK2811C030CBSMsg.GENE_ADD_DTM);
					}
					else if (JFUStrConst.CD00056_030.equals(kktkSvcKeiStat) || JFUStrConst.CD00056_100.equals(kktkSvcKeiStat))
					{
					// ■提供中、締結済みの場合
						// ● 機器オプションサービス契約照査締結（ルーター用）
						// ユーザデータ初期化
						initData(param, fixedText, IN_COLUMN_LIST_EKK2811C050);
						// 上りマッピング
						setInMapKkOpSvcKeiShosa(param, fixedText, kkopSvcKeiNoRT, inParamIdoDiv, lastUpdDtm);
						// サービスIF実行
						executeSC(handle, param, fixedText, TEMPLATE_ID_EKK2811C050, TEMPLATE_ID_EKK2811C050_DETAIL, IN_COLUMN_LIST_EKK2811C050,
								ERROR_COLUMN_36);
						// 更新年月日時分秒
						lastUpdDtm = getTemplateValue(inMap, getMaxTempTempleteKey(inMap, TEMP_TEMPLATE_KEY_EKK2811C050), EKK2811C050CBSMsg.UPD_DTM);
						// 〇世代登録年月日時分秒（変更後）
						geneAddDtmAft =
								getTemplateValue(inMap, getMaxTempTempleteKey(inMap, TEMP_TEMPLATE_KEY_EKK2811C050), EKK2811C050CBSMsg.GENE_ADD_DTM);
					}
					// 提供中の場合
					if (JFUStrConst.CD00056_100.equals(kktkSvcKeiStat) && JFUStrConst.CD00037_100.equals(svcKeiStatNet))
					{

						// ●機器提供サービス契約一意照会
						// ユーザデータ初期化
						initData(param, fixedText, IN_COLUMN_LIST_27);
						// 上りマッピング
						setInMapKktkSvcKeiUqSearch(param, fixedText, kktkSvcKeiNo);
						// サービスIF実行
						executeSC(handle, param, fixedText, TEMPLATE_ID_27, TEMPLATE_ID_27_DETAIL, IN_COLUMN_LIST_27, ERROR_COLUMN_27);
						// サービス開始日
						String svcStaYmd =
								getTemplateListValue(inMap, getMaxTempTempleteKey(inMap, TEMP_TEMPLATE_KEY_27), TEMPLATE_ID_27_DETAIL,
										EKK0341A010CBSMsg1List.SVC_STA_YMD, 0);

						String dojiStaUm = JFUStrConst.CD00002_0;
						if (JCCBPCommon.getOpeDate(null).compareTo(svcStaYmd) < 0) {
							// サービス開始日が運用日より未来日付の場合
							dojiStaUm = JFUStrConst.CD00002_1;
						}

						// ● 機器オプションサービス開始（ルーター用）
						// ユーザデータ初期化
						initData(param, fixedText, IN_COLUMN_LIST_EKK2811C070);
						// 上りマッピング
						setEKK2811C070(param, fixedText, kkopSvcKeiNoRT, inParamIdoDiv, lastUpdDtm, dojiStaUm);

						// サービスIF実行
						executeSC(handle, param, fixedText, TEMPLATE_ID_EKK2811C070, TEMPLATE_ID_EKK2811C070_DETAIL, IN_COLUMN_LIST_EKK2811C070,
								ERROR_COLUMN_EKK2811C070);
						// 更新年月日時分秒
						lastUpdDtm = getTemplateValue(inMap, getMaxTempTempleteKey(inMap, TEMP_TEMPLATE_KEY_EKK2811C070), EKK2811C030CBSMsg.UPD_DTM);
						// 〇世代登録年月日時分秒（変更後）
						geneAddDtmAft =
								getTemplateValue(inMap, getMaxTempTempleteKey(inMap, TEMP_TEMPLATE_KEY_EKK2811C070), EKK2811C260CBSMsg.GENE_ADD_DTM);
					}

					// 電話サービス有り かつ 多機能ルーター（ＶＡ機能のみ使用）の場合 【多機能ルーター設定・変更(ルーター機能・登録)】
					if (isShukkaZumi(kikiSeizoNo))
					{
						// ●サービスオーダー登録
						printDebugLog("■■■JFUSetVariTsushinKikiMskmCC サービスオーダー登録(多機能ルーター設定・変更(ルーター機能・登録))■■■" + kikiSeizoNo);
						hakkoSOD(handle, param, fixedText, kktkSvcKeiNo, taknkikiModelCd, kikiSeizoNo, kkOpSvcKeiNoRT, null, geneAddDtmAft,
								JFUStrConst.CD01105_402);
					}
				}

			}

			if (!JFUBPCommon.isNull(inParamhmpinKktkSvcKeiNoVa))
			{
				// 〇ＶＡを保有している場合（多機能未保有の場合のみ）

				String pcrsCdVa = JFUStrConst.EMPTY;
				String pplanCdVa = JFUStrConst.EMPTY;
				if (JFUStrConst.CD00134_A31.equals(pcrsCdTel))
				{
					// 電話アダプター機能（１番号）
					pcrsCdVa = JFUStrConst.CD00134_G03;
					pplanCdVa = JFUStrConst.CD00565_PG0301;
				}
				else if (JFUStrConst.CD00134_A32.equals(pcrsCdTel))
				{
					// 電話アダプター機能（２番号）
					pcrsCdVa = JFUStrConst.CD00134_G04;
					pplanCdVa = JFUStrConst.CD00565_PG0401;
				}

				// ● 機器オプションサービス契約登録（ＶＡ用）
				// ユーザデータ初期化
				initData(param, fixedText, IN_COLUMN_LIST_35);
				// 上りマッピング
				setInMapKkOpSvcKeiToroku(param, fixedText, JFUStrConst.KK2801_KKOP_SVC_CD_G02, pcrsCdVa, pplanCdVa, kktkSvcKeiNo, inParamSysId,
						mskmDtlNo, inParamIdoDiv, seikyKeiNoTel, JFUStrConst.KK2811_KIKI_RNTAI_KEI_CHGECHU_FLG_1, lastUpdDtm);
				// サービスIF実行
				executeSC(handle, param, fixedText, TEMPLATE_ID_35, TEMPLATE_ID_35_DETAIL, IN_COLUMN_LIST_35, ERROR_COLUMN_35);
				// 世代登録年月日時分秒
				lastUpdDtm = getTemplateValue(inMap, getMaxTempTempleteKey(inMap, TEMP_TEMPLATE_KEY_35), EKK2811D010CBSMsg.UPD_DTM);
				// 機器オプションサービス契約番号
				String kkopSvcKeiNo = getTemplateValue(inMap, getMaxTempTempleteKey(inMap, TEMP_TEMPLATE_KEY_35), EKK2811D010CBSMsg.KKOP_SVC_KEI_NO);

				// ● 機器オプションサービス契約照査（ＶＡ用）
				// ユーザデータ初期化
				initData(param, fixedText, IN_COLUMN_LIST_36);
				// 上りマッピング
				setInMapKkOpSvcKeiShosa(param, fixedText, kkopSvcKeiNo, inParamIdoDiv, lastUpdDtm);
				// サービスIF実行
				executeSC(handle, param, fixedText, TEMPLATE_ID_36, TEMPLATE_ID_36_DETAIL, IN_COLUMN_LIST_36, ERROR_COLUMN_36);
				// 世代登録年月日時分秒
				lastUpdDtm = getTemplateValue(inMap, getMaxTempTempleteKey(inMap, TEMP_TEMPLATE_KEY_36), EKK2811C030CBSMsg.UPD_DTM);

				// ※VA機器の状態が照査済、締結済は対象外のため、保有しているVA機器のキャンセル・解約処理を行わない。
			}
		}
		else
		{
			// 〇 保有ルーターが多機能ルーターの場合
			// ※保有多機能ルーター機能種別（1：無線ルーター機能、1：有線ルーター機能）

			// ●機器オプションサービス契約一覧照会（フロント）
			// ユーザデータ初期化
			initData(param, fixedText, IN_COLUMN_LIST_KKOP_SVKEI_LIST_SHOKAI);
			// 上りマッピング
			setInMapKkOpSvcKeiListShokai(param, fixedText, inParamSysId, inParamSvkeiKaisenUwNo);
			//検索エラーなし設定
			ignoreSearchError(param, fixedText);
			// サービスIF実行
			executeSC(handle, param, fixedText, TEMPLATE_ID_KKOP_SVKEI_LIST_SHOKAI, TEMPLATE_ID_DETAIL_KKOP_SVKEI_LIST_SHOKAI,
					IN_COLUMN_LIST_KKOP_SVKEI_LIST_SHOKAI, BLANK);

			// 〇機器オプションサービス契約番号
			String kkOpSvcKeiNoRT = null;
			// 〇世代登録年月日時分秒（変更前）
			String geneAddDtmBef = null;
			// 〇宅内機器型式コード
			String taknkikiModelCd = null;
			// 〇機器製造番号
			String kikiSeizoNo = null;
			// 〇機器提供サービス契約ステータス
			String kktkSvcKeiStat = null;
			String rtKkopSvcKeiStat = JFUStrConst.EMPTY;
			// ■EKK2811B503_機器オプションサービス契約一覧照会（フロント）
			for (HashMap dataMap : getTemplateList(inMap, getMaxTempTempleteKey(inMap, TEMP_TEMPLATE_KEY_KKOP_SVKEI_LIST_SHOKAI),
					TEMPLATE_ID_DETAIL_KKOP_SVKEI_LIST_SHOKAI))
			{
				String kkopSvcKeiStat = (String)dataMap.get(EKK2811B503CBSMsg1List.KKOP_SVC_KEI_STAT);
				if (KKOP_SVC_KEI_STAT_MUKO.contains(kkopSvcKeiStat))
				{
					continue;
				}
				String kkopSvcCd = (String)dataMap.get(EKK2811B503CBSMsg1List.KKOP_SVC_CD);
				if (JFUStrConst.KK2801_KKOP_SVC_CD_G01.equals(kkopSvcCd))
				{
					// 多機能ルーター（ルーター機能）がある場合
					// 〇機器オプションサービス契約番号
					kkOpSvcKeiNoRT = (String)dataMap.get(EKK2811B503CBSMsg1List.KKOP_SVC_KEI_NO);
					// 〇世代登録年月日時分秒（変更前）
					geneAddDtmBef = (String)dataMap.get(EKK2811B503CBSMsg1List.GENE_ADD_DTM);
					// 〇宅内機器型式コード
					taknkikiModelCd = (String)dataMap.get(EKK2811B503CBSMsg1List.TAKNKIKI_MODEL_CD);
					// 〇機器製造番号
					kikiSeizoNo = (String)dataMap.get(EKK2811B503CBSMsg1List.KIKI_SEIZO_NO);
					// 〇機器提供サービス契約ステータス
					kktkSvcKeiStat = (String)dataMap.get(EKK2811B503CBSMsg1List.KKTK_SVC_KEI_STAT);
					rtKkopSvcKeiStat = kkopSvcKeiStat;
				}
			}

			String geneAddDtmAft = JFUStrConst.EMPTY;
			if (JFUStrConst.CD01616_100.equals(rtKkopSvcKeiStat))
			{
				// ■サービス提供中
				// ● 機器オプションサービス契約料金プラン変更（EKK2811C250）
				// ユーザデータ初期化
				initData(param, fixedText, IN_COLUMN_LIST_38);
				// 上りマッピング
				setInMapKkOpSvcKeiPcrsHenko(param, fixedText, kkOpSvcKeiNoRT, inParamIdoDiv, mskmDtlNo, pcrsCd, pplanCd, lastUpdDtm);
				// サービスIF実行
				executeSC(handle, param, fixedText, TEMPLATE_ID_38, TEMPLATE_ID_38_DETAIL, IN_COLUMN_LIST_38, ERROR_COLUMN_38);
				// 世代登録年月日時分秒
				lastUpdDtm = getTemplateValue(inMap, getMaxTempTempleteKey(inMap, TEMP_TEMPLATE_KEY_38), EKK2811D010CBSMsg.UPD_DTM);

				// ● 機器オプションサービス契約料金プラン変更確定（EKK2811C260）
				// ユーザデータ初期化
				initData(param, fixedText, IN_COLUMN_LIST_39);
				// 上りマッピング
				setInMapKkOpSvcKeiPcrsHenkoKakutei(param, fixedText, kkOpSvcKeiNoRT, lastUpdDtm);
				// サービスIF実行
				executeSC(handle, param, fixedText, TEMPLATE_ID_39, TEMPLATE_ID_39_DETAIL, IN_COLUMN_LIST_39, ERROR_COLUMN_39);
				// 世代登録年月日時分秒
				lastUpdDtm = getTemplateValue(inMap, getMaxTempTempleteKey(inMap, TEMP_TEMPLATE_KEY_39), EKK2811D010CBSMsg.UPD_DTM);
				// 〇世代登録年月日時分秒（変更後）
				geneAddDtmAft = getTemplateValue(inMap, getMaxTempTempleteKey(inMap, TEMP_TEMPLATE_KEY_39), EKK2811C260CBSMsg.GENE_ADD_DTM);
			}
			else
			{
				// ■受付済、照査済、締結済の場合
				// ●EKK2811C240_機器オプションサービス契約手続中料金プラン変更
				initData(param, fixedText, IN_COLUMN_LIST_EKK2811C240);
				// 上りマッピング
				setEKK2811C240(param, fixedText, kkOpSvcKeiNoRT, pcrsCd, pplanCd, lastUpdDtm, mskmDtlNo, lastUpdDtm);
				// サービスIF実行
				executeSC(handle, param, fixedText, TEMPLATE_ID_EKK2811C240, TEMPLATE_ID_EKK2811C240_DETAIL, IN_COLUMN_LIST_EKK2811C240,
						ERROR_COLUMN_EKK2811C240);
				// 更新年月日時分秒
				geneAddDtmAft = getTemplateValue(inMap, getMaxTempTempleteKey(inMap, TEMP_TEMPLATE_KEY_EKK2811C240), EKK2811C240CBSMsg.UPD_DTM);
				// 世代登録年月日時分秒
				lastUpdDtm = getTemplateValue(inMap, getMaxTempTempleteKey(inMap, TEMP_TEMPLATE_KEY_EKK2811C240), EKK2811C240CBSMsg.UPD_DTM);

				// 提供中の場合
				if (JFUStrConst.CD00056_100.equals(kktkSvcKeiStat) && JFUStrConst.CD00037_100.equals(svcKeiStatNet))
				{
					// ●機器提供サービス契約一意照会
					// ユーザデータ初期化
					initData(param, fixedText, IN_COLUMN_LIST_27);
					// 上りマッピング
					setInMapKktkSvcKeiUqSearch(param, fixedText, kktkSvcKeiNo);
					// サービスIF実行
					executeSC(handle, param, fixedText, TEMPLATE_ID_27, TEMPLATE_ID_27_DETAIL, IN_COLUMN_LIST_27, ERROR_COLUMN_27);
					// サービス開始日
					String svcStaYmd =
							getTemplateListValue(inMap, getMaxTempTempleteKey(inMap, TEMP_TEMPLATE_KEY_27), TEMPLATE_ID_27_DETAIL,
									EKK0341A010CBSMsg1List.SVC_STA_YMD, 0);

					String dojiStaUm = JFUStrConst.CD00002_0;
					if (JCCBPCommon.getOpeDate(null).compareTo(svcStaYmd) < 0) {
						// サービス開始日が運用日より未来日付の場合
						dojiStaUm = JFUStrConst.CD00002_1;
					}

					// ● 機器オプションサービス開始（ルーター用）
					// ユーザデータ初期化
					initData(param, fixedText, IN_COLUMN_LIST_EKK2811C070);
					// 上りマッピング
					setEKK2811C070(param, fixedText, kkOpSvcKeiNoRT, inParamIdoDiv, lastUpdDtm, dojiStaUm);

					// サービスIF実行
					executeSC(handle, param, fixedText, TEMPLATE_ID_EKK2811C070, TEMPLATE_ID_EKK2811C070_DETAIL, IN_COLUMN_LIST_EKK2811C070,
							ERROR_COLUMN_EKK2811C070);
					// 更新年月日時分秒
					geneAddDtmAft =
							getTemplateValue(inMap, getMaxTempTempleteKey(inMap, TEMP_TEMPLATE_KEY_EKK2811C070), EKK2811C260CBSMsg.GENE_ADD_DTM);
					// 世代登録年月日時分秒
					lastUpdDtm = getTemplateValue(inMap, getMaxTempTempleteKey(inMap, TEMP_TEMPLATE_KEY_EKK2811C070), EKK2811C260CBSMsg.UPD_DTM);
				}
			}
			// 多機能ルーター（ＶＡ機能のみ使用）の場合 【多機能ルーター設定・変更(ルーター機能・無線/有線変更) 】
			if (isShukkaZumi(kikiSeizoNo))
			{
				// ●サービスオーダー登録
				printDebugLog("■■■JFUSetVariTsushinKikiMskmCC サービスオーダー登録(多機能ルーター設定・変更(ルーター機能・無線/有線変更))■■■" + kikiSeizoNo);
				hakkoSOD(handle, param, fixedText, kktkSvcKeiNo, taknkikiModelCd, kikiSeizoNo, kkOpSvcKeiNoRT, geneAddDtmBef, geneAddDtmAft,
						JFUStrConst.CD01105_418);
			}

		}
		return lastUpdDtm;
	}

	/**
	 * 上りマッピング項目設定(機器オプションサービス契約登録)
	 *
	 * <br>
	 * @param param リクエストパラメータ
	 * @param fixedText サービスメッセージ
	 * @param mskmDtlNo 申込明細番号
	 * @param updDtm 更新年月日時分秒
	 * @param idoDiv 異動区分
	 * @throws RequestParameterException
	 */
	private void setInMapKkOpSvcKeiToroku(IRequestParameterReadWrite param, String fixedText, String kkopSvcCd, String pcrsCd, String pplanCd,
			String kktkSvcKeiNo, String sysId, String mskmDtlNo, String idoDiv, String seikyKeiNo, String kiki_rntai_kei_chgechu_flg, String updDtmBf)
			throws RequestParameterException
	{
		// 機能コード設定(1:チェック&登録)
		setFuncCode(param, fixedText, JPCModelConstant.FUNC_CD_1);

		// ユーザデータ取得
		HashMap inMap = (HashMap)param.getData(fixedText);

		// 機器オプションサービスコード
		inMap.put(EKK2811D010CBSMsg.KKOP_SVC_CD, kkopSvcCd);
		// 料金コースコード
		inMap.put(EKK2811D010CBSMsg.PCRS_CD, pcrsCd);
		// 料金プランコード
		inMap.put(EKK2811D010CBSMsg.PPLAN_CD, pplanCd);
		// 機器提供サービス契約番号
		inMap.put(EKK2811D010CBSMsg.KKTK_SVC_KEI_NO, kktkSvcKeiNo);
		// SYSID
		inMap.put(EKK2811D010CBSMsg.SYSID, sysId);
		// 申込明細番号
		inMap.put(EKK2811D010CBSMsg.MSKM_DTL_NO, mskmDtlNo);
		// 予約適用年月日
		inMap.put(EKK2811D010CBSMsg.RSV_APLY_YMD, JCCBPCommon.getOpeDate(null));
		// 予約適用コード
		inMap.put(EKK2811D010CBSMsg.RSV_APLY_CD, JFUStrConst.CD00343_2);
		// 異動区分
		inMap.put(EKK2811D010CBSMsg.IDO_DIV, idoDiv);
		// 機器連帯契約変更手続中フラグ
		inMap.put(EKK2811D010CBSMsg.KIKI_RNTAI_KEI_CHGECHU_FLG, kiki_rntai_kei_chgechu_flg);
		// 請求契約番号
		inMap.put(EKK2811D010CBSMsg.SEIKY_KEI_NO, seikyKeiNo);
		// 更新年月日時分秒(更新前)
		inMap.put(EKK2811D010CBSMsg.UPD_DTM_BF, updDtmBf);

	}

	/**
	 * 上りマッピング項目設定(機器オプションサービス契約開始)
	 *
	 * <br>
	 * @param param リクエストパラメータ
	 * @param fixedText サービスメッセージ
	 * @param kkopSvcKeiNo 機器オプションサービス契約番号
	 * @param idoDiv 異動区分
	 * @param updDtmBf 更新年月日時分秒(更新前)
	 * @param dojiStaUm 同時開始有無
	 * @throws Exception 例外
	 */
	private void setEKK2811C070(IRequestParameterReadWrite param, String fixedText, String kkopSvcKeiNo, String idoDiv, String updDtmBf, String dojiStaUm) throws Exception
	{
		// リクエストデータ
		HashMap dataMap = (HashMap)param.getData(fixedText);

		// 機能コード
		setFuncCode(param, fixedText, JPCModelConstant.FUNC_CD_1);
		// 機器オプションサービス契約番号
		dataMap.put(EKK2811C070CBSMsg.KKOP_SVC_KEI_NO, kkopSvcKeiNo);
		// 異動区分
		dataMap.put(EKK2811C070CBSMsg.IDO_DIV, idoDiv);
		// 更新年月日時分秒
		dataMap.put(EKK2811C070CBSMsg.UPD_DTM_BF, updDtmBf);
		// 同時開始有無
		dataMap.put(EKK2811C070CBSMsg.DOJI_STA_UMU, dojiStaUm);
	}

	/**
	 * 上りマッピング項目設定(機器オプションサービス契約照査)
	 *
	 * <br>
	 * @param param リクエストパラメータ
	 * @param fixedText サービスメッセージ
	 * @param kkopSvcKeiNo 機器オプションサービス契約番号
	 * @param idoDiv 異動区分
	 * @param updDtmBf 更新年月日時分秒(更新前)
	 * @throws RequestParameterException
	 */
	private void setInMapKkOpSvcKeiShosa(IRequestParameterReadWrite param, String fixedText, String kkopSvcKeiNo, String idoDiv, String updDtmBf)
			throws RequestParameterException
	{
		// 機能コード設定(1:チェック&登録)
		setFuncCode(param, fixedText, JPCModelConstant.FUNC_CD_1);

		// ユーザデータ取得
		HashMap inMap = (HashMap)param.getData(fixedText);

		// 機器オプションサービス契約番号
		inMap.put(EKK2811D010CBSMsg.KKOP_SVC_KEI_NO, kkopSvcKeiNo);
		// 異動区分
		inMap.put(EKK2811D010CBSMsg.IDO_DIV, idoDiv);
		// 更新年月日時分秒(更新前)
		inMap.put(EKK2811D010CBSMsg.UPD_DTM_BF, updDtmBf);
	}

	/**
	 * 上りマッピング項目設定(機器オプションサービス契約一意照会)
	 *
	 * <br>
	 * @param param リクエストパラメータ
	 * @param fixedText サービスメッセージ
	 * @param mskmDtlNo 申込明細番号
	 * @param updDtm 更新年月日時分秒
	 * @param idoDiv 異動区分
	 * @throws RequestParameterException
	 */
	private void setInMapKkOpSvcKeiListShokai(IRequestParameterReadWrite param, String fixedText, String sysId, String svcKeiKaisenUcwkNo)
			throws RequestParameterException
	{
		// 機能コード設定(1:)
		setFuncCode(param, fixedText, JPCModelConstant.FUNC_CD_1);

		// ユーザデータ取得
		HashMap inMap = (HashMap)param.getData(fixedText);

		// ＫＥＹ＿ＳＹＳＩＤ
		inMap.put(EKK2811B503CBSMsg.KEY_SYSID, sysId);
		// ＫＥＹ＿サービス契約回線内訳番号
		inMap.put(EKK2811B503CBSMsg.KEY_SVC_KEI_KAISEN_UCWK_NO, svcKeiKaisenUcwkNo);
//		// ＫＥＹ＿宅内機器種別コード
//		inMap.put(EKK2811B503CBSMsg.KEY_TAKNKIKI_SBT_CD, JFUStrConst.CD01262_R0); // R0：多機能ルーター);
	}

	/**
	 * 上りマッピング項目設定(機器オプションサービス契約料金プラン変更)
	 *
	 * <br>
	 * @param param リクエストパラメータ
	 * @param fixedText サービスメッセージ
	 * @param mskmDtlNo 申込明細番号
	 * @param updDtm 更新年月日時分秒
	 * @param idoDiv 異動区分
	 * @throws RequestParameterException
	 */
	private void setInMapKkOpSvcKeiPcrsHenko(IRequestParameterReadWrite param, String fixedText, String kkopSvcKeiNo, String idoDiv,
			String mskmDtlNo, String pcrsCd, String pplanCd, String updDtmBf) throws RequestParameterException
	{
		// 機能コード設定(1:チェック&登録)
		setFuncCode(param, fixedText, JPCModelConstant.FUNC_CD_1);

		// ユーザデータ取得
		HashMap inMap = (HashMap)param.getData(fixedText);

		// 機器オプションサービス契約番号
		inMap.put(EKK2811C250CBSMsg.KKOP_SVC_KEI_NO, kkopSvcKeiNo);
		// 異動区分
		inMap.put(EKK2811C250CBSMsg.IDO_DIV, idoDiv);
		// 予約適用年月日
		inMap.put(EKK2811C250CBSMsg.RSV_APLY_YMD, JCCBPCommon.getOpeDate(null));
		// 申込明細番号
		inMap.put(EKK2811C250CBSMsg.MSKM_DTL_NO, mskmDtlNo);
		// 料金コースコード
		inMap.put(EKK2811C250CBSMsg.PCRS_CD, pcrsCd);
		// 料金プランコード
		inMap.put(EKK2811C250CBSMsg.PPLAN_CD, pplanCd);
		// 更新年月日時分秒(更新前)
		inMap.put(EKK2811D010CBSMsg.UPD_DTM_BF, updDtmBf);
	}

	/**
	 * 上りマッピング項目設定(機器オプションサービス契約料金プラン変更確定)
	 *
	 * <br>
	 * @param param リクエストパラメータ
	 * @param fixedText サービスメッセージ
	 * @param mskmDtlNo 申込明細番号
	 * @param updDtm 更新年月日時分秒
	 * @param idoDiv 異動区分
	 * @throws RequestParameterException
	 */
	private void setInMapKkOpSvcKeiPcrsHenkoKakutei(IRequestParameterReadWrite param, String fixedText, String kkopSvcKeiNo, String updDtmBf)
			throws RequestParameterException
	{
		// 機能コード設定(1:チェック&登録)
		setFuncCode(param, fixedText, JPCModelConstant.FUNC_CD_1);

		// ユーザデータ取得
		HashMap inMap = (HashMap)param.getData(fixedText);

		// 機器オプションサービス契約番号
		inMap.put(EKK2811C250CBSMsg.KKOP_SVC_KEI_NO, kkopSvcKeiNo);
		// 予約適用年月日
		inMap.put(EKK2811C250CBSMsg.RSV_APLY_YMD, JCCBPCommon.getOpeDate(null));
		// 更新年月日時分秒(更新前)
		inMap.put(EKK2811D010CBSMsg.UPD_DTM_BF, updDtmBf);
	}

	/**
	 * SOD発行(多機能ルーターオプション変更時)
	 *
	 * <br>
	 * @param param リクエストパラメータ
	 * @param fixedText サービスメッセージ
	 * @param mskmDtlNo 申込明細番号
	 * @param updDtm 更新年月日時分秒
	 * @param idoDiv 異動区分
	 * @param odrNaiyoCd オーダー内容コード
	 * @throws RequestParameterException
	 */
	private void hakkoSOD(SessionHandle handle, IRequestParameterReadWrite param, String fixedText, String kktkSvcKeiNo, String taknkikiModelCd,
			String kikiSeizoNo, String kkopSvcKeiNo, String geneAddDtmBef, String geneAddDtmAft, String odrNaiyoCd) throws Exception
	{

		// ●INパラメータ取得
		HashMap<String, Object> inMap = (HashMap<String, Object>)(param.getData(fixedText));
		ArrayList<Object> workLst = (ArrayList<Object>)inMap.get(KKTK_SVKEI_ADD_LIST);
		HashMap inParamMap = (HashMap)workLst.get(JFUStrConst.I_ZERO);

		// IN項目:サービス契約番号
		String inParamSvcKeiNo = (String)inParamMap.get(IN_PARAM_SVC_KEI_NO);
		// IN項目:サービス契約回線内訳番号
		String inParamSvkeiKaisenUwNo = (String)inMap.get("svc_kei_kaisen_ucwk_no");

		// ●サービス契約一意照会
		// ユーザデータ初期化
		initData(param, fixedText, IN_COLUMN_LIST_2);
		// 上りマッピング
		setInMapSvcKeiUniqueSearch(param, fixedText, inParamSvcKeiNo);
		// サービスIF実行
		executeSC(handle, param, fixedText, TEMPLATE_ID_2, TEMPLATE_ID_2_DETAIL, IN_COLUMN_LIST_2, ERROR_COLUMN_2);
		// サービス契約世代登録年月日
		String svcKeiGeneAddDtm =
				getTemplateListValue(inMap, getMaxTempTempleteKey(inMap, TEMP_TEMPLATE_KEY_2), TEMPLATE_ID_2_DETAIL,
						EKK0081A010CBSMsg1List.GENE_ADD_DTM, 0);

		// ●機器提供サービス契約一意照会
		// ユーザデータ初期化
		initData(param, fixedText, IN_COLUMN_LIST_27);
		// 上りマッピング
		setInMapKktkSvcKeiUqSearch(param, fixedText, kktkSvcKeiNo);
		// サービスIF実行
		executeSC(handle, param, fixedText, TEMPLATE_ID_27, TEMPLATE_ID_27_DETAIL, IN_COLUMN_LIST_27, ERROR_COLUMN_27);
		// 機器提供サービス契約世代登録年月日
		String kktkSvcKeiGeneAddDtm =
				getTemplateListValue(inMap, getMaxTempTempleteKey(inMap, TEMP_TEMPLATE_KEY_27), TEMPLATE_ID_27_DETAIL,
						EKK0341A010CBSMsg1List.GENE_ADD_DTM, 0);

		// ●現サービス契約内訳情報一覧照会(ネット)
		// ユーザデータ初期化
		initData(param, fixedText, IN_COLUMN_LIST_SVC_KEI_UCWK_LIST_SHOKAI);
		// 上りマッピング
		setInMapSvcKeiUcwkSearch(param, fixedText, inParamSvcKeiNo);
		// サービスIF実行
		executeSC(handle, param, fixedText, TEMPLATE_ID_SVC_KEI_UCWK_LIST_SHOKAI, TEMPLATE_ID_DETAIL_SVC_KEI_UCWK_LIST_SHOKAI,
				IN_COLUMN_LIST_SVC_KEI_UCWK_LIST_SHOKAI, ERROR_COLUMN_SVC_KEI_UCWK);

		// 最大値を取得
		String svcKeiUcwkNo = "";
		String svcKeiUcwkGeneAddDtm = "";
		for (HashMap dataMap : getTemplateList(inMap, getMaxTempTempleteKey(inMap, TEMP_TEMPLATE_KEY_SVC_KEI_UCWK_LIST_SHOKAI),
				TEMPLATE_ID_DETAIL_SVC_KEI_UCWK_LIST_SHOKAI))
		{
// OM-2017-0000899 2017/09/14 ADD START
			// サービス契約内訳ステータスが解約済、キャンセル済以外であるか確認
			String svcKeiUcwkStat = (String)dataMap.get(EKK0161B504CBSMsg1List.SVC_KEI_UCWK_STAT);
			if (!(JFUStrConst.CD00037_910.equals(svcKeiUcwkStat) || JFUStrConst.CD00037_920.equals(svcKeiUcwkStat)))
			{
// OM-2017-0000899 2017/09/14 ADD END
			// サービス契約内訳番号
			svcKeiUcwkNo = (String)dataMap.get(EKK0161B504CBSMsg1List.SVC_KEI_UCWK_NO);
			// サービス契約内訳世代登録年月日
			svcKeiUcwkGeneAddDtm = (String)dataMap.get(EKK0161B504CBSMsg1List.GENE_ADD_DTM);
// OM-2017-0000899 2017/09/14 ADD START
			}
// OM-2017-0000899 2017/09/14 ADD END
		}

		// ● オーダー発行条件登録
		// ユーザデータ初期化
		initData(param, fixedText, IN_COLUMN_LIST_40);
		// 上りマッピング
		setInMapOrderHakkoJyokenToroku(param, fixedText, inParamSvcKeiNo, inParamSvkeiKaisenUwNo, kktkSvcKeiNo, taknkikiModelCd, kikiSeizoNo);
		// サービスIF実行
		executeSC(handle, param, fixedText, TEMPLATE_ID_40, TEMPLATE_ID_40_DETAIL, IN_COLUMN_LIST_40, ERROR_COLUMN_40);
		// オーダ発行条件番号
		String odrHakkoJokenNo = getTemplateValue(inMap, getMaxTempTempleteKey(inMap, TEMP_TEMPLATE_KEY_40), EKK1081D010CBSMsg.ODR_HAKKO_JOKEN_NO);

		// ● オーダー情報作成ワーク登録
		// ユーザデータ初期化
		initData(param, fixedText, IN_COLUMN_LIST_41);
		// 上りマッピング
		setInMapOrderJyohoSakuseiWork(param, fixedText, odrHakkoJokenNo, inParamSvcKeiNo, svcKeiGeneAddDtm, svcKeiUcwkNo, svcKeiUcwkGeneAddDtm,
				kktkSvcKeiNo, kktkSvcKeiGeneAddDtm, kkopSvcKeiNo, geneAddDtmBef, geneAddDtmAft, odrNaiyoCd);
		// サービスIF実行
		executeSC(handle, param, fixedText, TEMPLATE_ID_41, TEMPLATE_ID_41_DETAIL, IN_COLUMN_LIST_41, ERROR_COLUMN_41);

	}

	/**
	 * 上りマッピング項目設定(オーダー発行条件登録)
	 *
	 * <br>
	 * @param param リクエストパラメータ
	 * @param fixedText サービスメッセージ
	 * @param mskmDtlNo 申込明細番号
	 * @param updDtm 更新年月日時分秒
	 * @param idoDiv 異動区分
	 * @throws RequestParameterException
	 */
	private void setInMapOrderHakkoJyokenToroku(IRequestParameterReadWrite param, String fixedText, String svcKeiNo, String svcKeiUcwkNo,
			String kktkSvcKeiNo, String taknkikiModelCd, String kikiSeizoNo) throws RequestParameterException
	{
		// 機能コード設定(1:チェック&登録)
		setFuncCode(param, fixedText, JPCModelConstant.FUNC_CD_1);

		// ユーザデータ取得
		HashMap inMap = (HashMap)param.getData(fixedText);

		// サービス契約番号
		inMap.put(EKK1081D010CBSMsg.SVC_KEI_NO, svcKeiNo);
		// 機器提供サービス契約番号
		inMap.put(EKK1081D010CBSMsg.KKTK_SVC_KEI_NO, kktkSvcKeiNo);
		// オーダ種別コード
		inMap.put(EKK1081D010CBSMsg.ORDER_SBT_CD, JFUStrConst.CD00309_2); // "2":電話
		// サービスオーダコード
		inMap.put(EKK1081D010CBSMsg.SVC_ORDER_CD, JFUStrConst.CD00310_26); // "26":多機能
		// 要求種別コード
		inMap.put(EKK1081D010CBSMsg.YOKYU_SBT_CD, JFUStrConst.CD00317_04); // "04":変更
		// オーダ発行条件コード
		inMap.put(EKK1081D010CBSMsg.ODR_HAKKO_JOKEN_CD, JFUStrConst.CD01104_01); // "01":即時発行
		// 宅内機器型式コード
		inMap.put(EKK1081D010CBSMsg.TAKNKIKI_MODEL_CD, taknkikiModelCd);
		// 機器製造番号
		inMap.put(EKK1081D010CBSMsg.KIKI_SEIZO_NO, kikiSeizoNo);
		// サービス契約回線内訳番号
		inMap.put(EKK1081D010CBSMsg.SVC_KEI_KAISEN_UCWK_NO, svcKeiUcwkNo);

	}

	/**
	 * 上りマッピング項目設定(オーダー情報作成ワーク登録)
	 *
	 * <br>
	 * @param param リクエストパラメータ
	 * @param fixedText サービスメッセージ
	 * @param odrHakkoJokenNo オーダー発行条件番号
	 * @param svcKeiNo サービス契約番号
	 * @param svcKeiGeneAddDtm サービス契約世代登録年月日
	 * @param svcKeiUcwkNo サービス契約内訳番号
	 * @param svcKeiUcwkGeneAddDtm サービス契約内訳世代登録年月日
	 * @param kktkSvcKeiNo 機器提供サービス契約番号
	 * @param kktkSvcKeiGeneAddDtm 機器提供サービス契約世代登録年月日
	 * @param kkopSvcKeiNo 機器オプションサービス契約番号
	 * @param geneAddDtmBef 世代登録年月日（機器オプションサービス契約 変更前）
	 * @param geneAddDtmAft 世代登録年月日（機器オプションサービス契約 変更後）
	 * @param odrNaiyoCd オーダ内容コード
	 * @throws RequestParameterException
	 */
	private void setInMapOrderJyohoSakuseiWork(IRequestParameterReadWrite param, String fixedText, String odrHakkoJokenNo, String svcKeiNo,
			String svcKeiGeneAddDtm, String svcKeiUcwkNo, String svcKeiUcwkGeneAddDtm, String kktkSvcKeiNo, String kktkSvcKeiGeneAddDtm, String kkopSvcKeiNo, String geneAddDtmBef,
			String geneAddDtmAft, String odrNaiyoCd) throws RequestParameterException
	{
		// 機能コード設定(1:チェック&登録)
		setFuncCode(param, fixedText, JPCModelConstant.FUNC_CD_1);

		// ユーザデータ取得
		HashMap inMap = (HashMap)param.getData(fixedText);

		// オーダ発行条件番号
		inMap.put(EKK1551D010CBSMsg.ODR_HAKKO_JOKEN_NO, odrHakkoJokenNo);
		// オーダ内容コード
		// 多機能ルーター保有時 "418":多機能ルーター設定・変更(ルーター機能・無線/有線/ネット契約有無変更)
		// 多機能VAのみ保有時 "402":多機能ルーター設定・変更(ルーター機能・登録)
		inMap.put(EKK1551D010CBSMsg.ODR_NAIYO_CD, odrNaiyoCd);
		// サービス契約番号
		inMap.put(EKK1551D010CBSMsg.SVC_KEI_NO, svcKeiNo);
		// サービス契約世代登録年月日時分秒
		inMap.put(EKK1551D010CBSMsg.SVKEI_GADTM, svcKeiGeneAddDtm);
		// サービス契約内訳番号
		inMap.put(EKK1551D010CBSMsg.SVC_KEI_UCWK_NO, svcKeiUcwkNo);
		// サービス契約内訳世代登録年月日時分秒
		inMap.put(EKK1551D010CBSMsg.SVKEIUW_GADTM, svcKeiUcwkGeneAddDtm);
		// 機器提供サービス契約番号
		inMap.put(EKK1551D010CBSMsg.KKTK_SVC_KEI_NO, kktkSvcKeiNo);
		// 機器提供サービス契約世代登録年月日時分秒
		inMap.put(EKK1551D010CBSMsg.KKTSVKEI_GADTM, kktkSvcKeiGeneAddDtm);
		// 機器オプションサービス契約番号1
		inMap.put(EKK1551D010CBSMsg.KKOP_SVC_KEI_NO_1, kkopSvcKeiNo);
		// 機器オプションサービス契約世代登録年月日時分秒1
		inMap.put(EKK1551D010CBSMsg.KKOSVKEI_GADTM_1, geneAddDtmAft);
		// 変更前機器オプションサービス契約世代登録年月日時分秒1
		inMap.put(EKK1551D010CBSMsg.CHBF_KKOSVKEI_GADTM_1, geneAddDtmBef);

	}

	/**
	 * 回線対象サービス契約一覧照会の上りマッピング処理です。
	 *
	 * <br>
	 * @param param リクエストパラメータ
	 * @param fixedText サービスメッセージ
	 * @param svcKeiKaisenUcwkNo サービス契約回線内訳番号
	 * @throws RequestParameterException
	 */
	private void setInMapEKK0241B002(IRequestParameterReadWrite param, String fixedText, String svcKeiKaisenUcwkNo) throws RequestParameterException
	{
		// 機能コード設定(1)
		setFuncCode(param, fixedText, JPCModelConstant.FUNC_CD_1);

		// ユーザデータ取得
		HashMap inMap = (HashMap)param.getData(fixedText);

		// ＫＥＹ＿整理番号
		inMap.put(EKK0241B002CBSMsg.KEY_SVC_KEI_KAISEN_UCWK_NO, svcKeiKaisenUcwkNo);
	}

	/**
	 * 上りマッピング項目設定(サービス契約一意照会)
	 *
	 * <br>
	 * @param param リクエストパラメータ
	 * @param fixedText サービスメッセージ
	 * @param svcKeiNo サービス契約番号
	 * @throws RequestParameterException
	 */
	private void setInMapSvcKeiUniqueSearch(IRequestParameterReadWrite param, String fixedText, String svcKeiNo) throws RequestParameterException
	{
		// 機能コード設定(2:カレント)
		setFuncCode(param, fixedText, JPCModelConstant.FUNC_CD_2);

		// ユーザデータ取得
		HashMap inMap = (HashMap)param.getData(fixedText);
		// ＫＥＹ＿サービス契約番号
		inMap.put(EKK0081A010CBSMsg.KEY_SVC_KEI_NO, svcKeiNo);
		// ＫＥＹ＿予約適用年月日
		inMap.put(EKK0081A010CBSMsg.KEY_RSV_APLY_YMD, JCCBPCommon.getOpeDate(null));

	}

	/**
	 * 上りマッピング項目設定(現サービス契約内訳情報一覧照会(ネット))
	 *
	 * <br>
	 * @param param リクエストパラメータ
	 * @param fixedText サービスメッセージ
	 * @param svcKeiNo サービス契約番号
	 * @throws RequestParameterException
	 */
	private void setInMapSvcKeiUcwkSearch(IRequestParameterReadWrite param, String fixedText, String svcKeiNo) throws RequestParameterException
	{
		// 機能コード設定(1:現サービス契約内訳情報一覧照会(ネット))
		setFuncCode(param, fixedText, JPCModelConstant.FUNC_CD_1);

		// ユーザデータ取得
		HashMap inMap = (HashMap)param.getData(fixedText);
		// ＫＥＹ＿サービス契約番号
		inMap.put(EKK0081A010CBSMsg.KEY_SVC_KEI_NO, svcKeiNo);

	}

	/**
	 * 上りマッピング項目設定(課金先一覧照会（請求契約番号/サービス契約番号）)
	 *
	 * <br>
	 * @param param リクエストパラメータ
	 * @param fixedText サービスメッセージ
	 * @param svcKeiNo サービス契約番号
	 * @throws RequestParameterException
	 */
	private void setInMapKakinsSearch(IRequestParameterReadWrite param, String fixedText, String svcKeiNo) throws RequestParameterException
	{
		// 機能コード設定(1)
		setFuncCode(param, fixedText, JPCModelConstant.FUNC_CD_1);
		// ユーザデータ取得
		HashMap inMap = (HashMap)param.getData(fixedText);

		inMap.put(EKK0321B002CBSMsg.KEY_SVC_KEI_NO, svcKeiNo);
	}

	/**
	 * 上りマッピング項目設定(機器提供サービス契約情報変更（契約変更中）)
	 *
	 * <br>
	 * @param param リクエストパラメータ
	 * @param fixedText サービスメッセージ
	 * @param kikiInfoMap 機器情報マップ
	 * @param updDtm 更新年月日時分秒
	 * @param shelfCd 棚コード
	 * @param kikiSoryoUm 機器送料有無
	 * @param kaisenUwMap サービス契約回線内訳情報マップ
	 * @throws RequestParameterException
	 */
	private void setInMapKktkSvcKeiInfoChgTkn(IRequestParameterReadWrite param, String fixedText, HashMap kikiInfoMap, String updDtm, String shelfCd, String kikiSoryoUm,
			HashMap kaisenUwMap, HashMap custMap) throws RequestParameterException
	{
		// 機能コード設定(1)
		setFuncCode(param, fixedText, JPCModelConstant.FUNC_CD_1);

		// ユーザデータ取得
		HashMap inMap = (HashMap)param.getData(fixedText);

		// 同一項目を移送
		super.copyProperties(inMap, kikiInfoMap);

		// 更新年月日時分秒(更新前)
		inMap.put(EKK0341C231CBSMsg.UPD_DTM_BF, updDtm);
		// 異動区分
		inMap.put(EKK0341C231CBSMsg.IDO_DIV, JFUStrConst.CD00576_00026);
		// 機器引当指定倉庫コード
		inMap.put(EKK0341C231CBSMsg.KIKI_HKAT_SHITEI_SOKO_CD, SOKO_CD_MINATO);
		// 機器引当指定倉庫棚コード
		inMap.put(EKK0341C231CBSMsg.KIKI_HKAT_SHITEI_SKDN_CD, shelfCd);

		// 機器種別コード
		inMap.put(EKK0341C231CBSMsg.KKTK_SBT_CD, JFUStrConst.CD00212_02);
		// 販売種別コード
		inMap.put(EKK0341C231CBSMsg.HAMBAI_SBT_CD, JFUStrConst.CD00348_10);
		// 機器送料有無
		inMap.put(EKK0341C231CBSMsg.KIKI_SORYO_UM, kikiSoryoUm);
		// 機器送付先住所手動入力フラグ
		inMap.put(EKK0341C231CBSMsg.KIKI_SHS_AD_MAN_INPUT_FLG, JFUStrConst.CD01239_0);
		// 機器送付先個別指定フラグ
		inMap.put(EKK0341C231CBSMsg.KIKI_SHS_KBT_SHITEI_FLG, JFUStrConst.KK0341_KIKI_SHS_KBT_SHITEI_FLG_1);
		// 配送区分
		inMap.put(EKK0341C231CBSMsg.HAISO_DIV, JFUStrConst.CD00020_00);
		// 機器送付先名
		inMap.put(EKK0341C231CBSMsg.KIKI_SOHUS_NM, custMap.get(ECK0011A010CBSMsg1List.CUST_NM));
		// 機器送付先カナ名
		inMap.put(EKK0341C231CBSMsg.KIKI_SOHUS_KANA, custMap.get(ECK0011A010CBSMsg1List.CUST_KANA));
		// 機器送付先
		if (!isKojiHaiso((String)inMap.get(IN_PARAM_KU0011_KOJIAK_NO)))
		{
			// 機器送付先住所コード
			inMap.put(EKK0341C231CBSMsg.KIKI_SOHUS_AD_CD, custMap.get(ECK0011A010CBSMsg1List.KEISHA_AD_CD));
			// 機器送付先郵便番号
			inMap.put(EKK0341C231CBSMsg.KIKI_SOHUS_PCD, custMap.get(ECK0011A010CBSMsg1List.KEISHA_PCD));
			// 機器送付先都道府県名
			inMap.put(EKK0341C231CBSMsg.KIKI_SOHUS_STATE_NM, custMap.get(ECK0011A010CBSMsg1List.KEISHA_STATE_NM));
			// 機器送付先市区町村名
			inMap.put(EKK0341C231CBSMsg.KIKI_SOHUS_CITY_NM, custMap.get(ECK0011A010CBSMsg1List.KEISHA_CITY_NM));
			// 機器送付先大字通称名
			inMap.put(EKK0341C231CBSMsg.KIKI_SOHUS_OAZTSU_NM, custMap.get(ECK0011A010CBSMsg1List.KEISHA_OAZTSU_NM));
			// 機器送付先字丁目名
			inMap.put(EKK0341C231CBSMsg.KIKI_SOHUS_AZCHO_NM, custMap.get(ECK0011A010CBSMsg1List.KEISHA_AZCHO_NM));
			// 機器送付先番地号
			inMap.put(EKK0341C231CBSMsg.KIKI_SOHUS_BNCHIGO, custMap.get(ECK0011A010CBSMsg1List.KEISHA_BNCHIGO));
			// 機器送付先住所補記・建物名
			inMap.put(EKK0341C231CBSMsg.KIKI_SOHUS_ADRTTM, custMap.get(ECK0011A010CBSMsg1List.KEISHA_ADRTTM));
			// 機器送付先住所補記・部屋番号
			inMap.put(EKK0341C231CBSMsg.KIKI_SOHUS_ADRRM, custMap.get(ECK0011A010CBSMsg1List.KEISHA_ADRRM));
			// 機器送付先電話番号
			inMap.put(EKK0341C231CBSMsg.KIKI_SOHUS_TELNO, custMap.get(ECK0011A010CBSMsg1List.KEISHA_TELNO));
			// お客様直送
			inMap.put(EKK0341C231CBSMsg.HAISO_WAY_CD, JFUStrConst.CD01148_1);
		}
		else
		{
			// 機器送付先住所コード
			inMap.put(EKK0341C231CBSMsg.KIKI_SOHUS_AD_CD, kaisenUwMap.get(EKK0251A010CBSMsg1List.KAISEN_PLACE_AD_CD));
			// 機器送付先郵便番号
			inMap.put(EKK0341C231CBSMsg.KIKI_SOHUS_PCD, kaisenUwMap.get(EKK0251A010CBSMsg1List.KAISEN_PLACE_PCD));
			// 機器送付先都道府県名
			inMap.put(EKK0341C231CBSMsg.KIKI_SOHUS_STATE_NM, kaisenUwMap.get(EKK0251A010CBSMsg1List.KAISEN_PLACE_STATE_NM));
			// 機器送付先市区町村名
			inMap.put(EKK0341C231CBSMsg.KIKI_SOHUS_CITY_NM, kaisenUwMap.get(EKK0251A010CBSMsg1List.KAISEN_PLACE_CITY_NM));
			// 機器送付先大字通称名
			inMap.put(EKK0341C231CBSMsg.KIKI_SOHUS_OAZTSU_NM, kaisenUwMap.get(EKK0251A010CBSMsg1List.KAISEN_PLACE_OAZTSU_NM));
			// 機器送付先字丁目名
			inMap.put(EKK0341C231CBSMsg.KIKI_SOHUS_AZCHO_NM, kaisenUwMap.get(EKK0251A010CBSMsg1List.KAISEN_PLACE_AZCHO_NM));
			// 機器送付先番地号
			inMap.put(EKK0341C231CBSMsg.KIKI_SOHUS_BNCHIGO, kaisenUwMap.get(EKK0251A010CBSMsg1List.KAISEN_PLACE_BNCHIGO));
			// 機器送付先住所補記・建物名
			inMap.put(EKK0341C231CBSMsg.KIKI_SOHUS_ADRTTM, kaisenUwMap.get(EKK0251A010CBSMsg1List.KAISEN_PLACE_ADRTTM));
			// 機器送付先住所補記・部屋番号
			inMap.put(EKK0341C231CBSMsg.KIKI_SOHUS_ADRRM, kaisenUwMap.get(EKK0251A010CBSMsg1List.KAISEN_PLACE_ADRRM));
			// 機器送付先電話番号
			inMap.put(EKK0341C231CBSMsg.KIKI_SOHUS_TELNO, kaisenUwMap.get(EKK0251A010CBSMsg1List.KAISEN_PLACE_TELNO));
			// 機器送付先個別指定フラグ
			inMap.put(EKK0341C231CBSMsg.KIKI_SHS_KBT_SHITEI_FLG, JFUStrConst.KK0341_KIKI_SHS_KBT_SHITEI_FLG_1);
			// 工事会社配送
			inMap.put(EKK0341C231CBSMsg.HAISO_WAY_CD, JFUStrConst.CD01148_2);
		}
	}

	/**
	 * チケット利用申請依頼CCの上りマッピングを設定する
	 * @param param  リクエストパラメータ
	 * @param kktkSvcKeiNo 機器提供サービス契約番号
	 * @param kikiChgNo 機器変更番号
	 * @throws RequestParameterException
	 */
	private void setFUSV013407CC(IRequestParameterReadWrite param, String kktkSvcKeiNo, String kikiChgNo) throws RequestParameterException
	{
		// チケット利用申請依頼CCマップ
		HashMap<String, Object> parentMap = (HashMap<String, Object>)param.getData(FUSV013407CC);

		ArrayList list = null;

		// チケット利用申請依頼リスト
		if (parentMap.containsKey(FUSV013407CC_LIST))
		{
			list = (ArrayList)parentMap.get(FUSV013407CC_LIST);
		}
		else
		{
			return;
		}

		for (int i = 0; i < list.size(); i++)
		{
			HashMap childMap = (HashMap)list.get(i);
			// チケット利用申請依頼リストの施策コードが「eo光多機能ルーター追加・交換費用　割引」の場合に設定を行う
			if (SISAK_CD_PARAMSET.contains(((String)childMap.get(FUSV013407CC_SISAK_CD))))
			{
				// 機器提供サービス契約番号 → チケット利用申請依頼リスト.キャンペーン登録契機対象キー1
				childMap.put(FUSV013407CC_KEY1, kktkSvcKeiNo);
				// 機器変更番号 → チケット利用申請依頼リスト.キャンペーン登録契機対象キー2
				childMap.put(FUSV013407CC_KEY2, kikiChgNo);
			}

		}
		parentMap.put(FUSV013407CC_LIST, list);
	}

	/**
	 * 上りマッピング項目設定(割引自動適用CC)を行います。
	 *
	 * <br>
	 * @param param リクエストパラメータ
	 * @param fixedText サービスメッセージ
	 * @param pcrsCd 料金コース
	 * @param mskmNo 申込番号
	 * @param sendKktkSvcKeiNo 機器提供サービス契約番号
	 * @param pplanCd 料金プラン
	 * @throws Throwable
	 */
	private void setInMapWrSvAtAplyNoPlanChg(IRequestParameterReadWrite param, String fixedText, String mskmNo, String sendKktkSvcKeiNo, String pcrsCd, String pplanCd) throws Throwable
	{

		// 割引サービス自動登録CC用マップ設定

		// ユーザデータ取得 [割引サービス自動登録CC用マップ]
		HashMap<String, Object> wrSvMap = (HashMap)param.getData("FUSV013409CC");

		if (wrSvMap == null)
		{
			return;
		}

		// サービス契約グループリスト
		ArrayList svcKeiGrpList = new ArrayList();
		// サービス契約リスト
		ArrayList svcKeiList = new ArrayList();

		// ■共通項目
		// 登録/変更区分：登録("01")
		wrSvMap.put("add_chge_div", JFUStrConst.WRISVC_ADD_CHGE_DIV_TOROKU);
		// 申込番号
		wrSvMap.put("mskm_no", mskmNo);
		// 申込種別コード：機器契約変更申込("00022")
		wrSvMap.put("mskm_sbt_cd", JFUStrConst.KK0971_MSKM_SBT_CD_00022);
		// 異動区分：機器契約変更("00026")
		wrSvMap.put("ido_div", JFUStrConst.CD00576_00026);

		// ■サービス契約グループリスト
		HashMap svcKeiGrpMap = new HashMap();
		// グループ区分:基準契約("00")
		svcKeiGrpMap.put("grp_div", JFUStrConst.WRISVC_GRP_DIV_KIJYUN);

		// ■サービス契約リスト
		HashMap svcKeiMap = new HashMap();
		// 対象契約識別コード：機器提供サービス契約("06")
		svcKeiMap.put("tg_kei_skbt_cd", JFUStrConst.WRISVC_TG_KEI_SKBT_CD_KKTK);
		// 機器提供サービス契約番号
		svcKeiMap.put("kktk_svc_kei_no", sendKktkSvcKeiNo);
		// 機器提供サービス契約ステータス
		svcKeiMap.put("kktk_svc_kei_stat", JFUStrConst.CD00056_020);
		// 機器提供サービスコード
		svcKeiMap.put("kktk_svc_cd", JFUStrConst.KK0771_KKTK_SVC_CD_C015);
		// 機器提供種別コード
		svcKeiMap.put("kktk_sbt_cd", JFUStrConst.CD00212_02);
// ANK-3825-00-00 MOD START
		// 料金コースコード
		svcKeiMap.put("pcrs_cd", pcrsCd);
		// 料金プランコード
		svcKeiMap.put("pplan_cd", pplanCd);
// ANK-3825-00-00 MOD END

		svcKeiList.add(svcKeiMap);
		svcKeiGrpMap.put("svc_kei_list", svcKeiList);

		svcKeiGrpList.add(svcKeiGrpMap);
		wrSvMap.put("svc_kei_grp_list", svcKeiGrpList);

	}

	/**
	 * 上りマッピング項目設定(端末購入通知書登録)を行います。
	 *
	 * <br>
	 * @param param リクエストパラメータ
	 * @param fixedText サービスメッセージ
	 * @param kktkSvcKeiNo 機器提供サービス契約番号
	 * @param mskmDtlNo 申込明細番号
	 * @param tnmtBuyUkTntshaNm 端末購入受付担当者名
	 * @throws RequestParameterException
	 */
	private void setInMapTmkntshoRegist(IRequestParameterReadWrite param, String fixedText, String kktkSvcKeiNo, String mskmDtlNo, String tnmtBuyUkTntshaNm) throws RequestParameterException
	{
		// 機能コード設定(1:チェック&登録)
		setFuncCode(param, fixedText, JPCModelConstant.FUNC_CD_1);

		// ユーザデータ取得
		HashMap inMap = (HashMap)param.getData(fixedText);
		// 機器提供サービス契約番号
		inMap.put(EKK3271D010CBSMsg.KKTK_SVC_KEI_NO, kktkSvcKeiNo);
		// 端末購入通知書出力識別コード
		inMap.put(EKK3271D010CBSMsg.TNMT_BUY_TCHISHO_OPUT_SKCD, "1");
		// 申込明細番号
		inMap.put(EKK3271D010CBSMsg.MSKM_DTL_NO, mskmDtlNo);
		// 端末購入受付担当者名
		inMap.put(EKK3271D010CBSMsg.TNMT_BUY_UK_TNTSHA_NM, tnmtBuyUkTntshaNm);
	}

	/**
	 * 上りマッピング項目設定(業務パラメータ管理一意照会)
	 *
	 * <br>
	 * @param param リクエストパラメータ
	 * @param fixedText サービスメッセージ
	 * @throws RequestParameterException
	 */
	private void setInMapWorkParam(IRequestParameterReadWrite param, String fixedText) throws RequestParameterException
	{
		// ユーザデータ作成
		HashMap inMap = (HashMap)param.getData(fixedText);

		// 機能コード設定
		setFuncCode(param, fixedText, JPCModelConstant.FUNC_CD_1);
		// 検索エラーなし設定
		ignoreSearchError(param, fixedText);

		// ＫＥＹ＿業務パラメータＩＤ
		inMap.put(EZM0321A010CBSMsg.KEY_WORK_PARAM_ID, JFUStrConst.KK_TNMT_BUY_UK_WEB);
	}

	/**
	 * 工事会社配送
	 *
	 * <br>
	 * @param inKojiakNo 工事案件番号
	 * @return true：工事会社配送、false：お客様直送
	 */
	private boolean isKojiHaiso(String inKojiakNo)
	{
		boolean flg = JFUCommonUtil.isNull(inKojiakNo);
		if (flg)
		{
			return false;
		}
		return true;
	}

	/**
	 * 工事案件対象宅内機器編集用情報を取得する（変更分機器のみ）。
	 *
	 * <br>
	 * @param handle
	 * @param param
	 * @param fixedText
	 * @param koujiParamKind キャンセル処理 又は 追加処理
	 * @param kojiHaisoList 変更機器の情報
	 * @param tempData 当機能内の連携ワーク
	 * @return 工事案件対象宅内機器を変更する機器の情報
	 * @throws Exception
	 */
	private List<HashMap> getKktkSvcKeiKojiMap(SessionHandle handle, IRequestParameterReadWrite param, String fixedText, String koujiParamKind,
			List<HashMap> kojiHaisoList, HashMap<String, String> tempData) throws Exception
	{

		HashMap<String, Object> inMap = (HashMap<String, Object>)(param.getData(fixedText));

		// ■EKK0341A010_機器提供サービス ＋ 情報付加
		List<HashMap> kktkSvcOutList = new ArrayList<HashMap>();

		for (HashMap dataMap : kojiHaisoList)
		{
			// ●機器提供サービス契約一意照会
			String kktkSvcKeiNo = convNull(dataMap, JKKButuryuCtrlCC.KEY_KKTK_SVC_KEI_NO);
			// ユーザデータ初期化
			initData(param, fixedText, IN_COLUMN_LIST_27);
			// 上りマッピング
			setInMapKktkSvcKeiUqSearch(param, fixedText, kktkSvcKeiNo);
			// サービスIF実行
			executeSC(handle, param, fixedText, TEMPLATE_ID_27, TEMPLATE_ID_27_DETAIL, IN_COLUMN_LIST_27, ERROR_COLUMN_27);
			// 機器情報
			HashMap kikiInfoMap = getTemplateListMap(inMap, getMaxTempTempleteKey(inMap, TEMP_TEMPLATE_KEY_27), TEMPLATE_ID_27_DETAIL, 0);

			// 最新の機器提供サービス契約の情報 ＋ 工事情報
			kikiInfoMap.put("kiki_edit_kbn", JFUStrConst.EMPTY); //編集区分

			String takinort_rtr_kino_cd = JFUStrConst.EMPTY;
			String takinort_rtr_kino_skcd = JFUStrConst.EMPTY;
			String kktk_svc_cd = convNull(kikiInfoMap, EKK0341A010CBSMsg1List.KKTK_SVC_CD);
			if (KOUJI_CANCEL_PARAM.equals(koujiParamKind))
			{
				// 宅内機器異動コードを未設定（null）に置き換えます。
				kikiInfoMap.put(EKK0341A010CBSMsg1List.TAKNKIKI_IDO_CD, null);
			}
			else
			{
				// 追加機器
				kikiInfoMap.put("taknkiki_ido_cd", JFUStrConst.CD00562_01); //宅内機器異動コード
				// 機器提供サービス契約＋工事情報
				kikiInfoMap.put("kiki_edit_kbn", KIKI_EDIT_KBN_KISHU_ADD); //編集区分
				if (isKktkSvcTakino(kktk_svc_cd))
				{
					// 最新の多機能ルーターの機器オプションの情報を取得
					getNewKkopSvcCd(handle, param, fixedText, tempData, kktkSvcKeiNo);
					takinort_rtr_kino_cd = JFUBPCommon.getKojiTakinortKinoCd(tempData);
					takinort_rtr_kino_skcd = JFUBPCommon.getKojiTakinortRtRtKinoSkcd(tempData);
				}
			}

			kikiInfoMap.put("tk_sbt_cd", convNull(kikiInfoMap, EKK0341A010CBSMsg1List.KKTK_SBT_CD)); //機器提供種別コード-->提供種別コード
			kikiInfoMap.put("takinort_kino_cd", takinort_rtr_kino_cd); //多機能ルーター機能コード
			kikiInfoMap.put("takinort_rtr_kino_skcd", takinort_rtr_kino_skcd); //多機能ルータールーター機能識別コード
			kikiInfoMap.put("stb_kei_tv_course_cd", JFUStrConst.EMPTY); //STB契約TVコースコード
			kikiInfoMap.put("moto_tcase_no", JFUStrConst.EMPTY); //元トムソンケース番号

			kktkSvcOutList.add(kikiInfoMap);
		}
		return kktkSvcOutList;
	}

	/**
	 * 工事案件連携実行メソッド
	 *
	 * @param handle セッションハンドル
	 * @param param リクエストパラメータ
	 * @param fixedText サービスメッセージ
	 * @param tempData 当機能内の連携ワーク
	 * @param mskmDetailNo 申込明細番号
	 * @param koujiParamKind キャンセル処理 又は 追加処理
	 * @param kojiHaisoList 工事配送対象機器リスト
	 * @return boolean true：工事連携あり、false：工事連携なし
	 * @throws Throwable
	 */
	private boolean execKojiAnkenRenkei(SessionHandle handle, IRequestParameterReadWrite param, String fixedText,
			HashMap<String, String> tempData, String mskmDetailNo, String koujiParamKind, List<HashMap> kojiHaisoList)
			throws Throwable
	{

		// 参考：JKKKikiIchiranIkkatsuCC.isExecKojiAnkenRenkei

		if (kojiHaisoList == null || kojiHaisoList.size() == 0)
		{
			return false;
		}
		HashMap inMap = (HashMap)param.getData(fixedText);

		// 画面の一覧パラメタ
		HashMap<String, Object> scrnItemMap = new HashMap<String, Object>();
		scrnItemMap.put("kiki_edit_kbn", JFUStrConst.EMPTY);
		scrnItemMap.put("kinkyu_moto_tomson_cd_edit", JFUStrConst.EMPTY);

		// 工事案件番号（変更対象）
		String kojiAkNoAf = (String)inMap.get(IN_PARAM_KU0011_KOJIAK_NO); //IN項目:工事案件番号
		// IN項目:サービス契約番号
		String inParamSvcKeiNo = (String)inMap.get(IN_PARAM_KK0081_SVC_KEI_NO);
		String kojiakSbtcd = "";

		// ●工事案件一意照会
		HashMap eku0011a010map = execEKU0011A010(handle, param, fixedText, kojiAkNoAf);
		kojiakSbtcd = getKojiakSbtCd(eku0011a010map);
		tempData.put(KEY_KOJI_AK_SBT_CD, kojiakSbtcd);

		// 工事案件対象宅内機器編集用情報を取得する（変更分機器のみ）
		List<HashMap> kktkSvcOutList = getKktkSvcKeiKojiMap(handle, param, fixedText, koujiParamKind, kojiHaisoList, tempData);
		if (kktkSvcOutList == null || kktkSvcOutList.size() == 0)
		{
			return false;
		}

		// 工事案件諸変更CC呼び出し
		JFUKojiakUpdCC jFuKojiakUpCC = new JFUKojiakUpdCC();

		param.setData(JFU_KOJIAK_UPD_CC, new HashMap<String, Object>());
		HashMap<String, Object> outMap = (HashMap<String, Object>)param.getData(JFU_KOJIAK_UPD_CC);

		// 機能コード
		outMap.put("func_code", JPCModelConstant.FUNC_CD_1);
		// 申込明細番号
		outMap.put("mskm_dtl_no", mskmDetailNo);
		// 異動区分
		outMap.put("ido_div", inMap.get("ido_div"));
		// 工事受付コード
		outMap.put("koji_uk_cd", "070");
		// 工事受付詳細コード
		outMap.put("koji_uk_dtail_cd", "A6");
		// サービス契約番号
		outMap.put("svc_kei_no", inParamSvcKeiNo);
		// 工事案件番号（変更対象）
		outMap.put("kojiak_no", kojiAkNoAf);

		// 連携明細データ
		outMap.put("kktkSvcOutList", kktkSvcOutList);

		setMskmDtlNo(param, mskmDetailNo);

		jFuKojiakUpCC.updKojiInfo(handle, param, JFU_KOJIAK_UPD_CC);
		param.removeData(JFU_KOJIAK_UPD_CC);

		return true;
	}

	/**
	 * 工事連携用のキャンセルデータ設定。
	 *
	 * <br>
	 * @param kikiInfoMap 機器情報
	 * @return 機器情報
	 */
	private HashMap setKojiCancelInfo(HashMap kikiInfoMap)
	{

		// 宅内機器異動コードを未設定（null）に置き換えます。
		kikiInfoMap.put(EKK0341A010CBSMsg1List.TAKNKIKI_IDO_CD, null);
		return kikiInfoMap;

	}

	/**
	 * 申込明細番号設定メソッド <br>
	 * ワーク領域に設定します。
	 *
	 * @param param リクエストパラメータ
	 * @param mskmDtlNo 申込明細番号
	 * @throws Exception
	 */
	private void setMskmDtlNo(IRequestParameterReadWrite param, String mskmDtlNo) throws Exception
	{

		Map<Object, Object> workMap = param.getMappingWorkArea();
		workMap.put("mskm_dtl_no", mskmDtlNo);
	}

	/**
	 * 工事案件一意照会を取得。
	 *
	 * @param eku0011a010map 工事案件一意照会明細
	 * @param 工事案件種別コード
	 * @throws Exception
	 */
	private String getKojiakSbtCd(HashMap eku0011a010map) throws Exception
	{
		String kojiakSbtCd = "";

		if (eku0011a010map != null && eku0011a010map.size() > 0)
		{
			kojiakSbtCd = (String)eku0011a010map.get(EKU0011A010CBSMsg1List.KOJIAK_SBT_CD);
		}

		return kojiakSbtCd;
	}

	/**
	 * 工事案件一意照会を取得。
	 *
	 * @param handle セッションハンドル
	 * @param param リクエストパラメータ
	 * @param fixedText サービスメッセージ
	 * @param inKojiakNo 工事案件番号
	 * @throws Exception
	 */
	private HashMap execEKU0011A010(SessionHandle handle, IRequestParameterReadWrite param, String fixedText, String inKojiakNo) throws Exception
	{
		HashMap inMap = (HashMap)param.getData(fixedText);

		// ユーザデータ初期化
		initData(param, fixedText, IN_COLUMN_LIST_EKU0011A010);
		// 上りマッピング
		setEKU0011A010(param, fixedText, inKojiakNo);

		// サービスIF実行
		executeSC(handle, param, fixedText, TEMPLATE_ID_EKU0011A010, TEMPLATE_ID_EKU0011A010_DETAIL, IN_COLUMN_LIST_EKU0011A010,
				ERROR_COLUMN_EKU0011A010);
		HashMap resultMap =
				getTemplateList(inMap, getMaxTempTempleteKey(inMap, TEMP_TEMPLATE_KEY_EKU0011A010), TEMPLATE_ID_EKU0011A010_DETAIL).get(0);

		return resultMap;
	}

	/**
	 * 上りマッピング項目設定(工事案件一意照会)
	 *
	 * <br>
	 * @param param リクエストパラメータ
	 * @param fixedText サービスメッセージ
	 * @param inKojiakNo 工事案件番号
	 * @throws Exception 例外
	 */
	private void setEKU0011A010(IRequestParameterReadWrite param, String fixedText, String inKojiakNo) throws Exception
	{
		// リクエストデータ
		HashMap dataMap = (HashMap)param.getData(fixedText);

		// 機能コード
		setFuncCode(param, fixedText, JPCModelConstant.FUNC_CD_1);
		// 工事案件番号
		dataMap.put(EKU0011A010CBSMsg.KEY_KOJIAK_NO, inKojiakNo);
	}

	/**
	 * 既存の工事案件対象宅内機器情報取得。
	 *
	 * @param handle セッションハンドル
	 * @param param リクエストパラメータ
	 * @param fixedText サービスメッセージ
	 * @param inKojiakNo 工事案件番号
	 * @throws Exception
	 */
	private HashMap<String, String> getKojiTknikiki(SessionHandle handle, IRequestParameterReadWrite param, String fixedText, String inKojiakNo)
			throws Exception
	{

		String kikiChgNo = "";
		// 設置撤去フラグ取得
		String stcTekkyoFlg = "";
		// 工事案件対象宅内機器ステータス
		String kojiakTrgtTaknkikiStat = "";
		// 機器提供サービス契約番号
		String kktk_svc_kei_no = "";

		HashMap<String, String> kikiMap = new HashMap<String, String>();

		// ■EKU0141B020：工事案件対象宅内機器一覧照会２
		List<HashMap> eku0141b020cbsMsg1list = execEKU0141B020(handle, param, fixedText, inKojiakNo);

		// 工事案件対象宅内機器一覧照会2から機器情報を取得します。
		if (eku0141b020cbsMsg1list != null && 0 < eku0141b020cbsMsg1list.size())
		{
			for (HashMap eku0141b020cbsMsg : eku0141b020cbsMsg1list)
			{
				// 設置撤去フラグ取得
				stcTekkyoFlg = convNull(eku0141b020cbsMsg, EKU0141B020CBSMsg1List.STC_TEKKYO_FLG);
				// 工事案件対象宅内機器ステータス
				kojiakTrgtTaknkikiStat = convNull(eku0141b020cbsMsg, EKU0141B020CBSMsg1List.KOJIAK_TRGT_TAKNKIKI_STAT);
				// 機器提供サービス契約番号
				kktk_svc_kei_no = convNull(eku0141b020cbsMsg, EKU0141B020CBSMsg1List.KKTK_SVC_KEI_NO);

				// （なし）110または撤去（9）は連携されていないため読み飛ばします。
				if ("110".equals(kojiakTrgtTaknkikiStat) || "9".equals(stcTekkyoFlg))
				{
					continue;
				}
				// 工事対象宅内機器に連携されている機器変更番号を取得します。
				kikiChgNo = getKikiChgNo(eku0141b020cbsMsg);

				if ("".equals(kikiChgNo))
				{
					continue;
				}

				kikiMap.put(kktk_svc_kei_no, kktk_svc_kei_no);
			}
		}

		return kikiMap;
	}

	/**
	 * 工事案件対象宅内機器一覧照会２を取得。
	 *
	 * @param handle セッションハンドル
	 * @param param リクエストパラメータ
	 * @param fixedText サービスメッセージ
	 * @param inKojiakNo 工事案件番号
	 * @throws Exception
	 */
	private List<HashMap> execEKU0141B020(SessionHandle handle, IRequestParameterReadWrite param, String fixedText, String inKojiakNo)
			throws Exception
	{
		HashMap inMap = (HashMap)param.getData(fixedText);

		// ユーザデータ初期化
		initData(param, fixedText, IN_COLUMN_LIST_EKU0141B020);
		//検索エラーなし設定
		ignoreSearchError(param, fixedText);
		// 上りマッピング
		setEKU0141B020(param, fixedText, inKojiakNo);
		// サービスIF実行
		executeSC(handle, param, fixedText, TEMPLATE_ID_EKU0141B020, TEMPLATE_ID_EKU0141B020_DETAIL, IN_COLUMN_LIST_EKU0141B020,
				ERROR_COLUMN_EKU0141B020);
		List<HashMap> resultList =
				getTemplateList(inMap, getMaxTempTempleteKey(inMap, TEMP_TEMPLATE_KEY_EKU0141B020), TEMPLATE_ID_EKU0141B020_DETAIL);

		return resultList;
	}

	/**
	 * 上りマッピング項目設定(工事案件対象宅内機器一覧照会２)
	 *
	 * <br>
	 * @param param リクエストパラメータ
	 * @param fixedText サービスメッセージ
	 * @param inKojiakNo 工事案件番号
	 * @throws Exception 例外
	 */
	private void setEKU0141B020(IRequestParameterReadWrite param, String fixedText, String inKojiakNo) throws Exception
	{
		// リクエストデータ
		HashMap dataMap = (HashMap)param.getData(fixedText);

		// 機能コード
		setFuncCode(param, fixedText, JPCModelConstant.FUNC_CD_1);
		// 機器オプションサービス契約番号
		dataMap.put(EKU0141B020CBSMsg.KEY_KOJIAK_NO, inKojiakNo);

		dataMap.put(EKU0141B020CBSMsg.SEARCH_TYPE, "1");
		dataMap.put(EKU0141B020CBSMsg.MAX_SEARCH_NUM, "10000");
		dataMap.put(EKU0141B020CBSMsg.TOTAL_PAGE_NUM, "1");

	}

	/**
	 * 工事対象宅内機器連携機器変更番号取得
	 * 変更機器変更番号に設定されている場合、そのまま返却
	 * 変更機器変更番号に設定されていない場合、予定機器変更番号を返却
	 *
	 * @param eku0141b020cbsMsg 工事案件一意照会明細
	 * @return String 機器変更番号
	 */
	private String getKikiChgNo(HashMap eku0141b020cbsMsg)
	{
		String kikiChgNo = "";

		// 変更機器変更番号を取得
		kikiChgNo = convNull(eku0141b020cbsMsg, EKU0141B020CBSMsg1List.CHGE_KIKI_CHG_NO);

		if(!"".equals(kikiChgNo))
		{
			return kikiChgNo;
		}

		// 予定機器変更番号を取得
		kikiChgNo = convNull(eku0141b020cbsMsg, EKU0141B020CBSMsg1List.RSV_KIKI_CHG_NO);

		return kikiChgNo;
	}

	/**
	 * EKK2811C240_機器オプションサービス契約手続中料金プラン変更の上りマッピング処理です。
	 *
	 * <br>
	 * @param param リクエストパラメータ
	 * @param fixedText サービスメッセージ
	 * @param kkopSvcKeiNo 機器オプションサービス契約番号
	 * @param pcrsCd 料金コースコード
	 * @param pplanCd 料金プランコード
	 * @param updDtmBf 更新年月日時分秒(更新前)
	 * @param mskmDtlNo 申込明細番号
	 * @param geneAddDtm 世代登録年月日時分秒
	 * @throws RequestParameterException
	 */
	private void setEKK2811C240(IRequestParameterReadWrite param, String fixedText, String kkopSvcKeiNo, String pcrsCd,
			String pplanCd, String updDtmBf, String mskmDtlNo, String geneAddDtm) throws RequestParameterException
	{
		// 機能コード設定(1)
		setFuncCode(param, fixedText, JPCModelConstant.FUNC_CD_1);

		// ユーザデータ取得
		HashMap inMap = (HashMap)param.getData(fixedText);

		// 機器オプションサービス契約番号
		inMap.put(EKK2811C240CBSMsg.KKOP_SVC_KEI_NO, kkopSvcKeiNo);
		// 世代登録年月日時分秒
		inMap.put(EKK2811C240CBSMsg.GENE_ADD_DTM, geneAddDtm);
		// 申込明細番号
		inMap.put(EKK2811C240CBSMsg.MSKM_DTL_NO, mskmDtlNo);
		// 料金コースコード
		inMap.put(EKK2811C240CBSMsg.PCRS_CD, pcrsCd);
		// 料金プランコード
		inMap.put(EKK2811C240CBSMsg.PPLAN_CD, pplanCd);
		// 更新年月日時分秒(更新前)
		inMap.put(EKK2811C240CBSMsg.UPD_DTM_BF, updDtmBf);
	}

	/**
	 *
	 * 最新の機器オプションの情報を取得
	 * <br>
	 * @param handle セッションハンドル
	 * @param param リクエストパラメータ
	 * @param fixedText サービスメッセージ
	 * @param tempData 情報連携用ワーク
	 * @param inKktkSvcKeiNo 機器提供サービス契約番号
	 * @throws Exception
	 */
	private void getNewKkopSvcCd(SessionHandle handle, IRequestParameterReadWrite param, String fixedText, HashMap<String, String> tempData,
			String inKktkSvcKeiNo) throws Exception
	{
		// ユーザデータ取得
		HashMap inMap = (HashMap)param.getData(fixedText);

		// ●EKK2811B504_機器オプションサービス契約一覧照会（複合検索）
		initData(param, fixedText, IN_COLUMN_LIST_EKK2811B504_NEW);
		// 上りマッピング
		setEKK2811B504_NEW(param, fixedText, tempData, inKktkSvcKeiNo);
		//検索エラーなし設定
		ignoreSearchError(param, fixedText);
		// サービスIF実行
		executeSC(handle, param, fixedText, TEMPLATE_ID_EKK2811B504_NEW, TEMPLATE_ID_DETAIL_EKK2811B504_NEW, IN_COLUMN_LIST_EKK2811B504_NEW,
				ERROR_COLUMN_EKK2811B504_NEW);

		for (HashMap dataMap : getTemplateList(inMap, getMaxTempTempleteKey(inMap, TEMP_TEMPLATE_KEY_EKK2811B504_NEW),
				TEMPLATE_ID_DETAIL_EKK2811B504_NEW))
		{
			String kkopSvcKeiStat = (String)dataMap.get(EKK2811B504CBSMsg1List.KKOP_SVC_KEI_STAT);
			String kkopSvcCd = (String)dataMap.get(EKK2811B504CBSMsg1List.KKOP_SVC_CD);
			if (KKOP_SVC_KEI_STAT_MUKO.contains(kkopSvcKeiStat))
			{
				continue;
			}
			tempData.put(kkopSvcCd, kkopSvcCd);
		}
	}

	/**
	 * 上りマッピング項目設定(EKK2811B504_機器オプションサービス契約一覧照会（複合検索）)
	 *
	 * <br>
	 * @param param リクエストパラメータ
	 * @param fixedText サービスメッセージ
	 * @param tempData 当機能内の連携ワーク
	 * @param inKktkSvcKeiNo 機器提供サービス契約番号
	 * @throws RequestParameterException
	 */
	private void setEKK2811B504_NEW(IRequestParameterReadWrite param, String fixedText, HashMap<String, String> tempData, String inKktkSvcKeiNo)
			throws RequestParameterException
	{
		// ユーザデータ取得
		HashMap inMap = (HashMap)param.getData(fixedText);

		// 検索エラーなし設定
		ignoreSearchError(param, fixedText);

		// 機能コード設定(1:抽出条件に一致するレコードの一覧照会を行う)
		setFuncCode(param, fixedText, JPCModelConstant.FUNC_CD_1);

		// ＫＥＹ＿SYSID
		inMap.put(EKK2811B504CBSMsg.KEY_SYSID, tempData.get(EKK0341D010CBSMsg.SYSID));
		// ＫＥＹ＿機器提供サービス契約番号
		inMap.put(EKK2811B504CBSMsg.KEY_KKTK_SVC_KEI_NO, inKktkSvcKeiNo);
		// ＫＥＹ＿予約適用年月日
		inMap.put(EKK2811B504CBSMsg.KEY_RSV_APLY_YMD, JCCBPCommon.getOpeDate(null));
	}

	/**
	 * 多機能ルーターの料金コースを保存
	 *
	 * <br>
	 * @param tempData 当機能内の連携ワーク
	 * @param pcrsCd 多機能ルーターの料金コース
	 */
	private void setNewRtPcrs(HashMap<String, String> tempData, String pcrsCd)
	{
		tempData.put("takino_pcrs_cd", pcrsCd);
	}

	/**
	 * 該当機器が出荷済か判定
	 *
	 * <br>
	 * @param kktkSvcKeiNo 機器製造番号
	 * @return true:出荷済、false:未出荷
	 */
	private boolean isShukkaZumi(String kikiSeizoNo)
	{
		// 出荷済の機器か判定について
		// （機器提供サービス契約の機器製造番号が設定されていれば、出荷済として扱う）
		if (JFUBPCommon.isNull(kikiSeizoNo))
		{
			return false;
		}
		return true;
	}

	/**
	 * null値を空文字に変換
	 *
	 * <br>
	 * @param dataMap データマップ
	 * @param itemName 項目名
	 * @return 項目値
	 */
	private String convNull(HashMap dataMap, String itemName)
	{
		String strWk = (String)dataMap.get(itemName);
		return JFUCommonUtil.nvl(strWk, JFUStrConst.EMPTY);
	}

	/**
	 * eo光ネットマンションタイプ（イーサ／VDSL／光コンセント／お客様直送（ＭＡＮＭＯＳ管理））か判定を行う。
	 *
	 * <br>
	 * @param tk_hoshiki_cd 提供方式コード
	 * @param tk_hoshiki_pattern_cd 提供方式パターンコード
	 * @param svcKeiStatNet ネットのサービス契約ステータス
	 * @param svcKeiNoTel 電話のサービス契約ステータス
	 * @param prc_grp_cd 料金グループコード
	 * @param hhs_1gonly_flg 光配線1Gのみフラグ
	 * @param isKojiHaiso 工事会社配送
	 * @return true：eo光ネットマンションタイプ（イーサ／VDSL／光コンセント／お客様直送（ＭＡＮＭＯＳ管理））、false：それ以外
	 */
	private boolean executeHaisoYotei(String tk_hoshiki_cd, String tk_hoshiki_pattern_cd, String svcKeiStatNet, String svcKeiNoTel,
			String prc_grp_cd, String hhs_1gonly_flg, boolean isKojiHaiso)
	{

		if (!JFUStrConst.CD00133_04.equals(prc_grp_cd))
		{
			// マンションでない場合
			return false;
		}
		if (!SVC_KEI_STAT_OPBMPB.contains(svcKeiStatNet))
		{
			// ネットが開通前でない場合
			return false;
		}
		if (MT_ENET_VDSL.contains(tk_hoshiki_cd))
		{
			// eo光ネットマンションタイプ（イーサ／VDSL）
			return true;
		}
		if (JFUStrConst.CD00590_008.equals(tk_hoshiki_cd) && JFUStrConst.CD01213_51.equals(tk_hoshiki_pattern_cd))
		{
			// 光コンセント
			return true;
		}
		if ((JFUStrConst.HHS_1GONLY_FLG_1.equals(hhs_1gonly_flg) || JFUStrConst.CD01213_53.equals(tk_hoshiki_pattern_cd)) && (!isKojiHaiso))
		{
			// ＭＡＮＭＯＳ管理 お客様直送
			return true;
		}
		return false;
	}

	/**
	 * 配送予定年月日（配送依頼指定年月日）の取得を行う。
	 *
	 * <br>
	 * @param handle セッションハンドル
	 * @param param リクエストパラメータ
	 * @param svcKeiNoNet ネットのサービス契約番号
	 * @param svcKeiStatNet ネットのサービス契約ステータス
	 * @param svcKeiNoTel 電話のサービス契約番号
	 * @param svcKeiStatTel 電話のサービス契約ステータス
	 * @return
	 * @throws Throwable
	 */
	private HashMap<String, Object> getHaisoReqShiteiYmd(SessionHandle handle, IRequestParameterReadWrite param, String svcKeiNoNet, String svcKeiStatNet,
			String svcKeiNoTel, String svcKeiStatTel) throws Throwable
	{
		// eo光ネットマンションタイプ（イーサ／VDSL／光コンセント）の場合、配送予定年月日取得
		param.setData(WK_REQSHITEI_YMD, new HashMap<String, Object>());
		HashMap<String, Object> paramHaiso = (HashMap<String, Object>)param.getData(WK_REQSHITEI_YMD);

		// パラメータ設定
		paramHaiso.put("net_svc_kei_no", svcKeiNoNet);
		paramHaiso.put("net_svc_kei_stat", svcKeiStatNet);

		paramHaiso.put("tel_svc_kei_no", svcKeiNoTel);
		paramHaiso.put("tel_svc_kei_stat", svcKeiStatTel);

		// 配送依頼指定年月日取得コンポーネント部品
		JFUGetHaisoReqShiteiYmdCC haisoShiteiYmd = new JFUGetHaisoReqShiteiYmdCC();
		haisoShiteiYmd.getHaisoReqShiteiYmd(handle, param, WK_REQSHITEI_YMD);
		HashMap<String, Object> resultHaiso = (HashMap)param.getData(WK_REQSHITEI_YMD);
		return resultHaiso;

	}

	/**
	 * ONU交換工事登録の処理を実行する
	 * <br>
	 * @param handle セッションハンドル
	 * @param param リクエストパラメータ
	 * @param fixedText サービスメッセージ
	 * @param idoDiv 異動区分
	 * @param lastUpdDtm 最終更新年月日
	 * @param mskmNo 申込番号
	 * @param mskmDetailNo 申込明細番号
	 * @param kktkSvcKeiNoList 配送受付用機器提供サービス契約リスト
	 * @throws Throwable
	 */
	private void execOnuKokanKoji(SessionHandle handle,
			IRequestParameterReadWrite param,
			String fixedText,
			String lastUpdDtm,
			String idoDiv,
			String mskmNo,
			String mskmDetailNo,
			List<HashMap<String, Object>> kktkSvcKeiNoList) throws Throwable
	{
		// ユーザデータ取得
		HashMap inMap = (HashMap)param.getData(fixedText);

		inMap.put("onuKokanFlg", "1");

		// サービス契約番号
		String svcKeiNo = (String)inMap.get(IN_PARAM_KK0081_SVC_KEI_NO);

		// ●サービス契約一意照会
		// ユーザデータ初期化
		initData(param, fixedText, IN_COLUMN_LIST_2);
		// 上りマッピング
		setInMapSvcKeiUniqueSearch(param, fixedText, svcKeiNo);
		// サービスIF実行
		executeSC(handle, param, fixedText, TEMPLATE_ID_2, TEMPLATE_ID_2_DETAIL, IN_COLUMN_LIST_2, ERROR_COLUMN_2);
		// 料金コース
		String pcrsCd =
				getTemplateListValue(inMap, getMaxTempTempleteKey(inMap, TEMP_TEMPLATE_KEY_2), TEMPLATE_ID_2_DETAIL,
						EKK0081A010CBSMsg1List.PCRS_CD, JFUStrConst.I_ZERO);

		// ONU交換工事の登録
		execOnuKokankojiAdd(handle, param, fixedText, idoDiv, mskmNo, mskmDetailNo, pcrsCd, kktkSvcKeiNoList);
	}

	/**
	 * ONU交換工事登録処理を実行する
	 * <br>
	 * @param handle セッションハンドル
	 * @param param リクエストパラメータ
	 * @param fixedText サービスメッセージ
	 * @param idoDiv 異動区分
	 * @param mskmNo 申込番号
	 * @param mskmDetailNo 申込明細番号
	 * @param shelfCd 棚コード
	 * @param pcrsCd 料金コースコード
	 * @param createList 宅内機器リスト
	 * @throws Throwable
	 */
	private void execOnuKokankojiAdd(SessionHandle handle,
			IRequestParameterReadWrite param,
			String fixedText,
			String idoDiv,
			String mskmNo,
			String mskmDtlNo,
			String pcrsCd,
			List<HashMap<String, Object>> createList) throws Throwable {

		HashMap<String, Object> ccMsg = (HashMap<String, Object>)param.getData(fixedText);

		HashMap<String, Object> outMap = new HashMap<String, Object>();

		// 工事受付コード
		outMap.put(JKKKojiAnkenConstCC.KOJI_UK_CD, JKKStrConst.KOJI_UK_CD_007);
		// 工事受付詳細コード
		outMap.put(JKKKojiAnkenConstCC.KOJI_UK_DTL_CD, JKKStrConst.CD00885_ONU_KOKAN_KOJI);
		// サービス契約番号
		outMap.put(JKKKojiAnkenConstCC.SVC_KEI_NO, ccMsg.get(IN_PARAM_KK0081_SVC_KEI_NO));
		// SYSID
		outMap.put(JKKKojiAnkenConstCC.SYSID, ccMsg.get(IN_PARAM_KK0081_SYSID));
		// 申込番号
		outMap.put(JKKKojiAnkenConstCC.MSKM_NO, mskmNo);
		// 申込明細番号
		outMap.put(JKKKojiAnkenConstCC.MSKM_DTL_NO, mskmDtlNo);
		// 異動区分
		outMap.put(JKKKojiAnkenConstCC.IDO_DIV, idoDiv);
		// 料金コースコード
		outMap.put(JKKKojiAnkenConstCC.PCRS_CD, pcrsCd);
/*
		//宅内工事希望アポ期限年月日
		outMap.put(JKKKojiAnkenConstCC.TNKJ_KIBO_APO_KIGEN_YMD, getNullToStr((String)ccMsg.get("tnkj_kibo_apo_kigen_ymd")));
		//工事アポ連絡先指定コード
		outMap.put(JKKKojiAnkenConstCC.KOJI_APO_RRKS_SHITEI_CD, getNullToStr((String)ccMsg.get("koji_apo_rrks_shitei_cd")));
		//工事アポ連絡先電話番号
		outMap.put(JKKKojiAnkenConstCC.KOJI_APO_RRKS_TELNO, getNullToStr((String)ccMsg.get("koji_apo_rrks_telno")));
		//電話連絡希望年月日
		outMap.put(JKKKojiAnkenConstCC.TEL_RRK_KIBO_YMD, getNullToStr((String)ccMsg.get("tel_rrk_kibo_ymd")));
		//電話連絡希望時間帯コード
		outMap.put(JKKKojiAnkenConstCC.TEL_RRK_KIBO_TIME_CD, getNullToStr((String)ccMsg.get("tel_rrk_kibo_time")));
		//工事案件備考
		outMap.put(JKKKojiAnkenConstCC.KOJIAK_BIKO, getNullToStr((String)ccMsg.get("kojiak_biko")));
		//工事案件備考１
		outMap.put(JKKKojiAnkenConstCC.KOJIAK_BIKO_1, getNullToStr((String)ccMsg.get("kojiak_biko_1")));
		//工事案件備考２
		outMap.put(JKKKojiAnkenConstCC.KOJIAK_BIKO_2, getNullToStr((String)ccMsg.get("kojiak_biko_2")));
*/

		//宅内機器情報一覧
		ArrayList<HashMap> taknkiki_info_list = new ArrayList<HashMap>();

		// 工事会社配送の場合のみ、宅内機器リストに追加
		if (isKojiHaiso((String)ccMsg.get(IN_PARAM_KU0011_KOJIAK_NO)))
		{
			for (int i = 0; i < createList.size(); i++)
			{
				// データ格納用Map
				HashMap<String, String> taknkikiinfolistmsg = new HashMap<String, String>();

				Map<String, Object> createDataMap = createList.get(i);

				//機器提供サービス契約番号
				taknkikiinfolistmsg.put(JKKKojiAnkenConstCC.KKTK_SVC_KEI_NO, (String)createDataMap.get(JKKButuryuCtrlCC.KEY_KKTK_SVC_KEI_NO));
				//機器提供サービス契約番号_世代登録年月日時分秒
				taknkikiinfolistmsg.put(JKKKojiAnkenConstCC.KKTK_SVC_KEI_NO_GENE_ADD_DTM, (String)createDataMap
						.get(EKK0341A010CBSMsg1List.GENE_ADD_DTM));

				if (!JFUBPCommon.isNull(createDataMap.get(JKKKojiAnkenConstCC.CHGBF_KKTK_SVC_KEI_NO)))
				{
					//変更前_機器提供サービス契約番号
					taknkikiinfolistmsg.put(JKKKojiAnkenConstCC.CHGBF_KKTK_SVC_KEI_NO, (String)createDataMap
							.get(JKKKojiAnkenConstCC.CHGBF_KKTK_SVC_KEI_NO));
					//変更前_機器提供サービス契約番号
					taknkikiinfolistmsg.put(JKKKojiAnkenConstCC.CHGBF_KKTK_SVC_KEI_NO_GENE_ADD_DTM, (String)createDataMap
							.get(JKKKojiAnkenConstCC.CHGBF_KKTK_SVC_KEI_NO_GENE_ADD_DTM));
				}

				taknkiki_info_list.add(taknkikiinfolistmsg);
			}
			// 工事範囲コード
			outMap.put(JKKKojiAnkenConstCC.KOJI_SCOPE_CD, "");
			// 宅内機器リスト
			outMap.put(JKKKojiAnkenConstCC.TAKNKIKI_INFO_LIST, taknkiki_info_list);
		}
		else
		{
			// 工事範囲コード
			outMap.put(JKKKojiAnkenConstCC.KOJI_SCOPE_CD, JFUStrConst.CD00484_070);
		}

		param.setData(JKK_KOJI_ANKEN_CC, outMap);

		// 工事案件登録CC実行
		JKKKojiAnkenCC jkkKojiAnkenCC = new JKKKojiAnkenCC();
		jkkKojiAnkenCC.executeKojiAnken(handle, param, JKK_KOJI_ANKEN_CC);
	}

	/**
	 * 申込書明細番号を採番
	 *
	 * <br>
	 * @param handle セッションハンドル
	 * @param param リクエストパラメータ
	 * @param fixedText サービスメッセージ
	 * @return 申込書明細番号
	 * @throws Exception
	 */
	private String getMskmshoDtlNoSibn(SessionHandle handle, IRequestParameterReadWrite param, String fixedText) throws Exception
	{
		// ユーザデータ取得
		HashMap inMap = (HashMap)param.getData(fixedText);

		// ＯＮＵ交換工事有の場合
		if (isOnuKokanKoji(inMap))
		{
			// ●申込書明細番号採番
			// ユーザデータ初期化
			initData(param, fixedText, IN_COLUMN_LIST_EKK0021C014);

			// 上りマッピング
			// 機能コード設定
			setFuncCode(param, fixedText, JPCModelConstant.FUNC_CD_1);
			// 申込形態コード
			inMap.put(EKK0021C014CBSMsg.MSKM_FORM_CD, JFUStrConst.CD00591_01);
			// サービス体系コード
			inMap.put(EKK0021C014CBSMsg.SVC_TIKI_CD, SVC_TIKI_HGW);
			// 年月日
			inMap.put(EKK0021C014CBSMsg.YMD, JCCBPCommon.getOpeDate(null));

			// サービスIF実行
			executeSC(handle, param, fixedText, TEMPLATE_ID_EKK0021C014, TEMPLATE_ID_EKK0021C014_DETAIL, IN_COLUMN_LIST_EKK0021C014, ERROR_COLUMN_EKK0021C014);

			// 申込書明細番号
			String mskmshoDtlNo = getTemplateValue(inMap, getMaxTempTempleteKey(inMap, TEMP_TEMPLATE_KEY_EKK0021C014), EKK0021C014CBSMsg.MSKMSHO_DTL_NO);

			return mskmshoDtlNo;
		}

		return null;
	}

	/**
	 * ONU交換工事
	 *
	 * <br>
	 * @param inMap ユーザデータ
	 * @return true：ONU交換工事、false：以外
	 */
	private boolean isOnuKokanKoji(HashMap<String, Object> inMap)
	{
		return JFUStrConst.CD00002_1.equals(inMap.get(IN_ONU_KOKAN_KOJI_UM));
	}

	/**
	 * 多機能ＲＴまたはＨＧＷを判定する
	 *
	 * <br>
	 * @param kktkSvcCd 機器提供サービスコード
	 * @return true：多機能またはＨＧＷ、false：以外
	 */
	private boolean isKktkSvcTakino(String kktkSvcCd)
	{
		return JFUStrConst.CD00132_C024.equals(kktkSvcCd) || JFUStrConst.CD00132_C025.equals(kktkSvcCd);
	}
}
