/*********************************************************************
* All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*   システム名      ：eo顧客基幹システム
*   モジュール名    ：JFUAddSthStbCC
*   ソースファイル名：JFUAddSthStbCC.java
*   作成者          ：富士通
*   日付            ：2013年02月18日
*＜機能概要＞
*   eo光スティックレンタルサービス申込登録コンポーネント部品です。
*＜修正履歴＞
*   バージョン  修正日       修正者      修正内容
*   v5.00	    2013/02/27   FJ)大島     新規作成
*   v5.00       2013/03/14   FJ）瀧澤    変更【IT1-2013-0000473】機器提供サービス契約登録時の上りマッピング修正
*   v5.00       2013/10/01   FJ）谷本    変更【OM-2013-0002637】配送依頼指定年月日 対応
*   v5.00       2013/11/14   FJ）中谷    変更【OM-2013-0004319】宅内在庫更新連携不備対応
*   v7.00       2013/10/01   FJ）谷本    変更【OM-2014-0000351】照査解約完了コード 対応
*   
**********************************************************************/
package com.fujitsu.futurity.bp.custom.common;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
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.JPCModelConstant;
import eo.ejb.cbs.cbsmsg.ECK0011A010CBSMsg;
import eo.ejb.cbs.cbsmsg.ECK0011A010CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EDK0451A010CBSMsg;
import eo.ejb.cbs.cbsmsg.EDK0451A010CBSMsg1List;
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.EKK0341A010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0341B002CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0341C030CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0341C230CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0341D010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0771A010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0771A010CBSMsg1List;

/**
 * eo光スティックレンタルサービス申込登録コンポーネント部品です。
 * <br>
 * @author 富士通
 */
@SuppressWarnings("unchecked")
public class JFUAddStkStbCC 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_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_KIKI_CHG_NO = "in_param_kiki_chg_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項目:サービス契約ステータス */
	private static final String IN_PARAM_SVC_KEI_STAT = "svc_kei_stat";

	/** 配送受付結果マップキー */
	private static final String HAISO_OUT_MAP_KEY = "eDK0011D020SCHash";
	/** 排他テーブル用更新年月日時分秒（サービス契約） */
	private static final String HAITA_SVC_KEI_UPD_DTM = "haita_svc_kei_upd_dtm";
	/** eo光スティックレンタルサービス申込（申込）作業項目マップ01 */
	private static final String WORKKMK01 = "FUSV0263WORK01";
	/** 申込内容承認登録 作業項目マップ02*/
	private static final String WORKKMK02 = "FUSV026301SC";
	/** 申込内容承認登録 作業項目マップ(詳細)02*/
	private static final String WORKKMKDTL02 = "EKK0011D020CBSMsg1List";
	/** 申込明細番号項目名*/
	private static final String MSKM_DTL_NO = "mskm_dtl_no";
	/** 申込番号項目名*/
	private static final String MSKM_NO = "mskm_no";
	/** 倉庫コード(大阪みなとロジシスセンター) */
	private static final String SOKO_CD_MINATO = "000001";

	/* ■□ 機器提供サービス契約登録SC ■□ */
	/** テンプレートID(機器提供サービス契約登録) */
	private static final String TEMPLATE_ID_1 = "EKK0341D010";
	/** テンプレートID(機器提供サービス契約登録明細) */
	private static final String TEMPLATE_ID_1_DETAIL = null;
	/** IN項目リスト(機器提供サービス契約登録) */
	private static final List<String> IN_COLUMN_LIST_1 =
			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_1 = null;
	/** SC実行結果取得キー(機器提供サービス契約登録) */
	private static final String TEMP_TEMPLATE_KEY_1 = TEMP_TEMPLATE_PRIFIX + TEMPLATE_ID_1 + TEMP_TEMPLATE_PRIFIX_SEP;
	/** 現顧客契約情報.契約者住所コード */
	private static final String KIKI_SOHUS_AD_CD = "kiki_sohus_ad_cd";
	/** 現顧客契約情報.契約者郵便番号 */
	private static final String KIKI_SOHUS_PCD = "kiki_sohus_pcd";
	/** 現顧客契約情報.契約者都道府県名 */
	private static final String KIKI_SOHUS_STATE_NM = "kiki_sohus_state_nm";
	/** 現顧客契約情報.契約者市区町村名 */
	private static final String KIKI_SOHUS_CITY_NM = "kiki_sohus_city_nm";
	/** 現顧客契約情報.契約者大字通称名 */
	private static final String KIKI_SOHUS_OAZTSU_NM = "kiki_sohus_oaztsu_nm";
	/** 現顧客契約情報.契約者字丁目名 */
	private static final String KIKI_SOHUS_AZCHO_NM = "kiki_sohus_azcho_nm";
	/** 現顧客契約情報.契約者番地号 */
	private static final String KIKI_SOHUS_BNCHIGO = "kiki_sohus_bnchigo";
	/** 現顧客契約情報.契約者住所補記・建物名 */
	private static final String KIKI_SOHUS_ADRTTM = "kiki_sohus_adrttm";
	/** 現顧客契約情報.契約者住所補記・部屋番号 */
	private static final String KIKI_SOHUS_ADRRM = "kiki_sohus_adrrm";
	/** 現顧客契約情報.契約者電話番号 */
	private static final String KIKI_SOHUS_TELNO = "kiki_sohus_telno";

	/* ■□ 機器提供サービス契約照査SC ■□ */
	/** テンプレートID(機器提供サービス契約照査) */
	private static final String TEMPLATE_ID_2 = "EKK0341C030";
	/** テンプレートID(機器提供サービス契約照査明細) */
	private static final String TEMPLATE_ID_2_DETAIL = null;
	/** IN項目リスト(機器提供サービス契約照査) */
	private static final List<String> IN_COLUMN_LIST_2 =
			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_2 = null;
	/** 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_3 = "EKK0251B001";
	/** テンプレートID(サービス契約回線内訳一覧照会（サービス契約番号）明細) */
	private static final String TEMPLATE_ID_3_DETAIL = EKK0251B001CBSMsg.EKK0251B001CBSMSG1LIST;
	/** IN項目リスト(サービス契約回線内訳一覧照会（サービス契約番号）) */
	private static final List<String> IN_COLUMN_LIST_3 = Arrays.asList(EKK0251B001CBSMsg.KEY_SVC_KEI_NO);
	/** 関連チェックエラー項目(サービス契約回線内訳一覧照会（サービス契約番号）) */
	private static final String ERROR_COLUMN_3 = EKK0251B001CBSMsg.KEY_SVC_KEI_NO_ERR;
	/** SC実行結果取得キー(サービス契約回線内訳一覧照会（サービス契約番号）) */
	private static final String TEMP_TEMPLATE_KEY_3 = TEMP_TEMPLATE_PRIFIX + TEMPLATE_ID_3 + TEMP_TEMPLATE_PRIFIX_SEP;

	/* ■□ サービス契約回線内訳一意照会SC ■□ */
	/** テンプレートID(サービス契約回線内訳一意照会) */
	private static final String TEMPLATE_ID_4 = "EKK0251A010";
	/** テンプレートID(サービス契約回線内訳一意照会明細) */
	private static final String TEMPLATE_ID_4_DETAIL = EKK0251A010CBSMsg.EKK0251A010CBSMSG1LIST;
	/** IN項目リスト(サービス契約回線内訳一意照会) */
	private static final List<String> IN_COLUMN_LIST_4 =
			Arrays.asList(EKK0251A010CBSMsg.KEY_SVC_KEI_KAISEN_UCWK_NO, EKK0251A010CBSMsg.KEY_GENE_ADD_DTM);
	/** 関連チェックエラー項目(サービス契約回線内訳一意照会) */
	private static final String ERROR_COLUMN_4 = EKK0251A010CBSMsg.KEY_SVC_KEI_KAISEN_UCWK_NO_ERR;
	/** SC実行結果取得キー(サービス契約回線内訳一意照会) */
	private static final String TEMP_TEMPLATE_KEY_4 = TEMP_TEMPLATE_PRIFIX + TEMPLATE_ID_4 + TEMP_TEMPLATE_PRIFIX_SEP;

	/* ■□ お客様一意照会SC ■□ */
	/** テンプレートID(お客様一意照会) */
	private static final String TEMPLATE_ID_5 = "ECK0011A010";
	/** テンプレートID(お客様一意照会明細) */
	private static final String TEMPLATE_ID_5_DETAIL = ECK0011A010CBSMsg.ECK0011A010CBSMSG1LIST;
	/** IN項目リスト(お客様一意照会) */
	private static final List<String> IN_COLUMN_LIST_5 =
			Arrays.asList(ECK0011A010CBSMsg.KEY_SYSID, ECK0011A010CBSMsg.KEY_GENE_ADD_DTM, ECK0011A010CBSMsg.KEY_RSV_APLY_YMD);
	/** 関連チェックエラー項目(お客様一意照会) */
	private static final String ERROR_COLUMN_5 = ECK0011A010CBSMsg.KEY_SYSID_ERR;
	/** SC実行結果取得キー(お客様一意照会) */
	private static final String TEMP_TEMPLATE_KEY_5 = TEMP_TEMPLATE_PRIFIX + TEMPLATE_ID_5 + TEMP_TEMPLATE_PRIFIX_SEP;

	/* ■□ 機器提供サービス一意照会SC ■□ */
	/** テンプレートID(機器提供サービス一意照会) */
	private static final String TEMPLATE_ID_6 = "EKK0771A010";
	/** テンプレートID(機器提供サービス一意照会明細) */
	private static final String TEMPLATE_ID_6_DETAIL = EKK0771A010CBSMsg.EKK0771A010CBSMSG1LIST;
	/** IN項目リスト(機器提供サービス一意照会) */
	private static final List<String> IN_COLUMN_LIST_6 = Arrays.asList(EKK0771A010CBSMsg.KEY_KKTK_SVC_CD);
	/** 関連チェックエラー項目(機器提供サービス一意照会) */
	private static final String ERROR_COLUMN_6 = EKK0771A010CBSMsg.KEY_KKTK_SVC_CD;
	/** SC実行結果取得キー(機器提供サービス一意照会) */
	private static final String TEMP_TEMPLATE_KEY_6 = TEMP_TEMPLATE_PRIFIX + TEMPLATE_ID_6 + TEMP_TEMPLATE_PRIFIX_SEP;

	/* ■□ 引当棚一意照会SC ■□ */
	/** テンプレートID(引当棚一意照会) */
	private static final String TEMPLATE_ID_7 = "EDK0451A010";
	/** テンプレートID(引当棚一意照会明細) */
	private static final String TEMPLATE_ID_7_DETAIL = EDK0451A010CBSMsg.EDK0451A010CBSMSG1LIST;
	/** IN項目リスト(引当棚一意照会) */
	private static final List<String> IN_COLUMN_LIST_7 = Arrays.asList(EDK0451A010CBSMsg.KEY_HAMBAI_SBT_CD, EDK0451A010CBSMsg.KEY_UNYO_YMD);
	/** 関連チェックエラー項目(引当棚一意照会) */
	private static final String ERROR_COLUMN_7 = EDK0451A010CBSMsg.KEY_UNYO_YMD_ERR;
	/** SC実行結果取得キー(引当棚一意照会) */
	private static final String TEMP_TEMPLATE_KEY_7 = TEMP_TEMPLATE_PRIFIX + TEMPLATE_ID_7 + TEMP_TEMPLATE_PRIFIX_SEP;

	/* ■□ 機器提供サービス契約一意照会SC ■□ */
	/** テンプレートID(機器提供サービス契約一意照会) */
	private static final String TEMPLATE_ID_8 = "EKK0341A010";
	/** テンプレートID(機器提供サービス契約一意照会明細) */
	private static final String TEMPLATE_ID_8_DETAIL = EKK0341A010CBSMsg.EKK0341A010CBSMSG1LIST;
	/** IN項目リスト(機器提供サービス契約一意照会) */
	private static final List<String> IN_COLUMN_LIST_8 =
			Arrays.asList(EKK0341A010CBSMsg.KEY_KKTK_SVC_KEI_NO, EKK0341A010CBSMsg.KEY_GENE_ADD_DTM, EKK0341A010CBSMsg.KEY_RSV_APLY_YMD);
	/** 関連チェック,エラー項目(機器提供サービス契約一意照会) */
	private static final String ERROR_COLUMN_8 = EKK0341A010CBSMsg.KEY_KKTK_SVC_KEI_NO_ERR;
	/** SC実行結果取得キー(機器提供サービス契約一意照会) */
	private static final String TEMP_TEMPLATE_KEY_8 = TEMP_TEMPLATE_PRIFIX + TEMPLATE_ID_8 + TEMP_TEMPLATE_PRIFIX_SEP;

	/* ■□ 機器提供サービス契約情報変更SC ■□ */
	/** テンプレートID(機器提供サービス契約情報変更) */
	private static final String TEMPLATE_ID_9 = "EKK0341C230";
	/** テンプレートID(明細) */
	private static final String TEMPLATE_ID_9_DETAIL = null;
	/** IN項目リスト(機器提供サービス契約情報変更) */
	private static final List<String> IN_COLUMN_LIST_9 =
			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, EKK0341C230CBSMsg.SVC_STA_JI_HIS_JOKYO_SKCD,
					EKK0341C230CBSMsg.KIKI_SOHUS_AD_CHK_LV, EKK0341C230CBSMsg.KIKI_STC_AD_CHK_LV, EKK0341C230CBSMsg.KIKI_STI_JI_KRIPLACE_SKCD,
					EKK0341C230CBSMsg.KIKI_STI_JI_KOCOMP_CD, EKK0341C230CBSMsg.KIKI_STI_JI_KOCOMP_SLF_CD, EKK0341C230CBSMsg.KIKI_STI_JI_YTKSKOF_CD,
					EKK0341C230CBSMsg.KIKI_STI_JI_YTKSKOF_SLF_CD);
	/** 関連チェックエラー項目 */
	private static final String ERR_COLUMN_9 = null;
	/** SC実行結果取得キー(機器提供サービス契約情報変更)  */
	private static final String TEMP_TEMPLATE_KEY_9 = TEMP_TEMPLATE_PRIFIX + TEMPLATE_ID_9 + TEMP_TEMPLATE_PRIFIX_SEP;

	/** 割引サービス自動適用CC */
	private static final String SC_FIXED_TEXT_WRIBCC = "FUSV026302CC";
	/** 割引サービス自動適用CC(機能コード) */
	private static final String WRIBCC_FUNC_CODE = "func_code";

	/**
	 * eo光スティックレンタルサービス申込み登録実行処理を行います。
	 * <br>
	 * 
	 * @param handle セッションハンドル
	 * @param param リクエストパラメータ
	 * @param fixedText サービスメッセージ
	 * @return リクエストパラメータ管理クラス
	 * @throws Throwable 
	 */
	public IRequestParameterReadWrite addStkStb(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> inMapWorkKmkDtl01 = (HashMap<String, Object>)(param.getData(WORKKMK01));
		HashMap<String, Object> inMapWorkKmkDtl02 = (HashMap<String, Object>)(param.getData(WORKKMK02));
		ArrayList<Object> workLstWorkKmkDtl02 = (ArrayList<Object>)inMapWorkKmkDtl02.get(WORKKMKDTL02);
		HashMap<String, Object> workMapWorkKmkDtl02 = (HashMap<String, Object>)workLstWorkKmkDtl02.get(0);

		// IN項目:申込番号
		String inParamMskmNo = (String)inMapWorkKmkDtl02.get(MSKM_NO);
		// IN項目:申込明細
		String inParamMskmDetailNo = (String)workMapWorkKmkDtl02.get(MSKM_DTL_NO);

		HashMap<String, Object> inMap = (HashMap<String, Object>)(param.getData(fixedText));
		ArrayList<Object> workLst = (ArrayList<Object>)inMap.get(KKTK_SVKEI_ADD_LIST);

		// 現顧客の住所情報を取得
		String[] genCustInfo =
				{ (String)inMap.get(KIKI_SOHUS_AD_CD), (String)inMap.get(KIKI_SOHUS_PCD), (String)inMap.get(KIKI_SOHUS_STATE_NM),
						(String)inMap.get(KIKI_SOHUS_CITY_NM), (String)inMap.get(KIKI_SOHUS_OAZTSU_NM), (String)inMap.get(KIKI_SOHUS_AZCHO_NM),
						(String)inMap.get(KIKI_SOHUS_BNCHIGO), (String)inMap.get(KIKI_SOHUS_ADRTTM), (String)inMap.get(KIKI_SOHUS_ADRRM),
						(String)inMap.get(KIKI_SOHUS_TELNO) };

		// 更新年月日時分秒
		String lastUpdDtm = (String)inMapWorkKmkDtl01.get(HAITA_SVC_KEI_UPD_DTM);

		for (int i = 0; i < workLst.size(); i++)
		{
			HashMap<String, Object> workMap = (HashMap<String, Object>)workLst.get(i);

			// IN項目:異動区分
			String inParamIdoDiv = (String)workMap.get(IN_PARAM_IDO_DIV);
			// IN項目:申込数 
			int inParamMskmCnt = Integer.parseInt((String)workMap.get(IN_PARAM_MSKM_CNT));
			// IN項目:機器提供サービス契約番号 
			String inParamKktkSvcKeiNo = (String)workMap.get(IN_PARAM_KKTK_SVC_KEI_NO);
			// IN項目:機器変更番号
			String inParamKikiChgNo = (String)workMap.get(IN_PARAM_KIKI_CHG_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項目:宅内機器型式コード
			String inParamTknkikiModelCd = (String)workMap.get(IN_PARAM_TAKNKIKI_MODEL_CD);
			// IN項目:サービス契約番号
			String inParamSvcKeiNo = (String)workMap.get(IN_PARAM_SVC_KEI_NO);
			// IN項目:SYSID 
			String inParamSysId = (String)workMap.get(IN_PARAM_SYSID);
			// IN項目:請求契約番号 
			String inParamSeikyKeiNo = (String)workMap.get(IN_PARAM_SEIKY_KEI_NO);
			// IN項目:サービス契約ステータス 
			String svcKeiStat = (String)inMap.get(IN_PARAM_SVC_KEI_STAT);

			for (int j = 0; j < inParamMskmCnt; j++)
			{
				// ●サービス契約回線内訳一覧照会（サービス契約番号）
				// ユーザデータ初期化
				initData(param, fixedText, IN_COLUMN_LIST_3);
				// 上りマッピング
				setInMapKaisenUwSvcKeiSearch(param, fixedText, inParamSvcKeiNo);
				// サービスIF実行
				executeSC(handle, param, fixedText, TEMPLATE_ID_3, TEMPLATE_ID_3_DETAIL, IN_COLUMN_LIST_3, ERROR_COLUMN_3);
				HashMap kaisenUwMap = getTemplateList(inMap, getMaxTempTempleteKey(inMap, TEMP_TEMPLATE_KEY_3), TEMPLATE_ID_3_DETAIL).get(0);

				// ●サービス契約回線内訳一意照会
				// ユーザデータ初期化
				initData(param, fixedText, IN_COLUMN_LIST_4);
				// 上りマッピング
				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_4, TEMPLATE_ID_4_DETAIL, IN_COLUMN_LIST_4, ERROR_COLUMN_4);
				HashMap kaisenUwUniqueMap = getTemplateList(inMap, getMaxTempTempleteKey(inMap, TEMP_TEMPLATE_KEY_4), TEMPLATE_ID_4_DETAIL).get(0);

				// ●お客様一意照会
				// ユーザデータ初期化
				initData(param, fixedText, IN_COLUMN_LIST_5);
				// 上りマッピング
				setInMapCustomerSearch(param, fixedText, inParamSysId);
				// サービスIF実行
				executeSC(handle, param, fixedText, TEMPLATE_ID_5, TEMPLATE_ID_5_DETAIL, IN_COLUMN_LIST_5, ERROR_COLUMN_5);
				String custName =
						getTemplateListValue(inMap, getMaxTempTempleteKey(inMap, TEMP_TEMPLATE_KEY_5), TEMPLATE_ID_5_DETAIL,
								ECK0011A010CBSMsg1List.CUST_NM, 0);
				String custNameKana =
						getTemplateListValue(inMap, getMaxTempTempleteKey(inMap, TEMP_TEMPLATE_KEY_5), TEMPLATE_ID_5_DETAIL,
								ECK0011A010CBSMsg1List.CUST_KANA, 0);

				// ●機器提供サービス一意照会
				// ユーザデータ初期化
				initData(param, fixedText, IN_COLUMN_LIST_6);
				// 上りマッピング
				setInMapKkTkSvcSearch(param, fixedText, inParamKktkSvcCd);
				// サービスIF実行
				executeSC(handle, param, fixedText, TEMPLATE_ID_6, TEMPLATE_ID_6_DETAIL, IN_COLUMN_LIST_6, ERROR_COLUMN_6);
				// 宅内機器種別コード
				String tknkikiSbtCd =
						getTemplateListValue(inMap, getMaxTempTempleteKey(inMap, TEMP_TEMPLATE_KEY_6), TEMPLATE_ID_6_DETAIL,
								EKK0771A010CBSMsg1List.TAKNKIKI_SBT_CD, 0);

				// ●引当棚一意照会
				// 上りマッピング
				setInMapHkAtShelfSearch(param, fixedText);
				// サービスIF実行
				executeSC(handle, param, fixedText, TEMPLATE_ID_7, TEMPLATE_ID_7_DETAIL, IN_COLUMN_LIST_7, ERROR_COLUMN_7);
				// 棚コード
				String shelfCd =
						getTemplateListValue(inMap, getMaxTempTempleteKey(inMap, TEMP_TEMPLATE_KEY_7), TEMPLATE_ID_7_DETAIL,
								EDK0451A010CBSMsg1List.SHELF_CD, 0);

				// ●機器提供サービス契約登録
				// ユーザデータ初期化
				initData(param, fixedText, IN_COLUMN_LIST_1);
				// 上りマッピング
				setInMapKktkRegist(param, fixedText, inParamPcrsCd, inParamPplanCd, inParamTknkikiModelCd, inParamSvcKeiNo, inParamSysId,
						inParamSeikyKeiNo, inParamMskmDetailNo, kaisenUwUniqueMap, custName, custNameKana, lastUpdDtm, inParamIdoDiv, tknkikiSbtCd,
						shelfCd, inParamKktkSvcCd, genCustInfo);
				// サービスIF実行
				executeSC(handle, param, fixedText, TEMPLATE_ID_1, TEMPLATE_ID_1_DETAIL, IN_COLUMN_LIST_1, ERROR_COLUMN_1);
				// 更新年月日時分秒
				lastUpdDtm = getTemplateValue(inMap, getMaxTempTempleteKey(inMap, TEMP_TEMPLATE_KEY_1), EKK0341D010CBSMsg.UPD_DTM);
				// 機器提供サービス契約番号
				inParamKktkSvcKeiNo = getTemplateValue(inMap, getMaxTempTempleteKey(inMap, TEMP_TEMPLATE_KEY_1), EKK0341D010CBSMsg.KKTK_SVC_KEI_NO);
				// 機器変更番号
				inParamKikiChgNo = getTemplateValue(inMap, getMaxTempTempleteKey(inMap, TEMP_TEMPLATE_KEY_1), EKK0341D010CBSMsg.KIKI_CHG_NO);

				// ●機器提供サービス契約照査
				// ユーザデータ初期化
				initData(param, fixedText, IN_COLUMN_LIST_2);
				// 上りマッピング
				setInMapKktkShosa(param, fixedText, inParamKktkSvcKeiNo, lastUpdDtm, inParamIdoDiv);
				// サービスIF実行
				executeSC(handle, param, fixedText, TEMPLATE_ID_2, TEMPLATE_ID_2_DETAIL, IN_COLUMN_LIST_2, ERROR_COLUMN_2);
				// 更新年月日時分秒
				lastUpdDtm = getTemplateValue(inMap, getMaxTempTempleteKey(inMap, TEMP_TEMPLATE_KEY_2), EKK0341C030CBSMsg.UPD_DTM);

				// ●サービス契約ステータスの判定
				// サービス契約ステータスがサービス提供中(100)の場合
				if (JFUStrConst.CD00037_100.equals(svcKeiStat))
				{
					// ●配送受付
					HashMap<String, Object> haisoOutMap = new HashMap<String, Object>();
					JKKBpCommon.createHaiso(param, handle, inParamMskmNo, inParamMskmDetailNo, BLANK, inParamKktkSvcKeiNo, inParamIdoDiv,
							haisoOutMap, fixedText);
					inMap.put(HAISO_OUT_MAP_KEY, haisoOutMap);

					// ●フロント配送受付在庫更新登録処理 
					chgFrntHisukZkup(handle, param, fixedText, inParamKktkSvcKeiNo, inParamKikiChgNo);
				}
				else
				{
					// ●機器提供サービス契約一意照会
					// ユーザデータ初期化
					initData(param, fixedText, IN_COLUMN_LIST_8);
					// 上りマッピング
					setInMapKktkSvcKeiUqSearch(param, fixedText, inParamKktkSvcKeiNo);
					// サービスIF実行
					executeSC(handle, param, fixedText, TEMPLATE_ID_8, TEMPLATE_ID_8_DETAIL, IN_COLUMN_LIST_8, ERROR_COLUMN_8);
					// 変更前の機器情報
					HashMap kikiInfoMap = getTemplateListMap(inMap, getMaxTempTempleteKey(inMap, TEMP_TEMPLATE_KEY_8), TEMPLATE_ID_8_DETAIL, 0);
					
					// ●機器提供サービス契約情報変更
					// ユーザデータ初期化
					initData(param, fixedText, IN_COLUMN_LIST_9);
					// 上りマッピング
					setInMapKktkSvcKeiInfoChg(param, fixedText, kikiInfoMap, lastUpdDtm, inParamIdoDiv);
					// サービスIF実行
					executeSC(handle, param, fixedText, TEMPLATE_ID_9, TEMPLATE_ID_9_DETAIL, IN_COLUMN_LIST_9, ERR_COLUMN_9);
					// 更新年月日時分秒
					lastUpdDtm = getTemplateValue(inMap, getMaxTempTempleteKey(inMap, TEMP_TEMPLATE_KEY_9), EKK0341C030CBSMsg.UPD_DTM);
				}

				// 下りマッピング
				inMapWorkKmkDtl01.put(HAITA_SVC_KEI_UPD_DTM, lastUpdDtm);
			}
		}

		// ●割引サービス自動適用CCマッピング
		setInMapWrSvAtAplyNoPlanChg(param, fixedText);

		return param;
	}

	/**
	 * チェック処理を行います。
	 * 
	 * <br>
	 * @param handle セッションハンドル
	 * @param param リクエストパラメータ
	 * @param fixedText サービスメッセージ
	 * @return リクエストパラメータ
	 * @throws Exception
	 */
	public HashMap<String, Object> getInvokeCBS(SessionHandle handle, IRequestParameterReadWrite param, String fixedText) throws Exception
	{
		return null;
	}

	/**
	 * 上りマッピング項目設定(サービス契約回線内訳一覧照会（サービス契約番号））を行います。
	 * 
	 * <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, JFUBPCommon.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 sysId SYSID
	 * @param seikyKeiNo 請求契約番号
	 * @param mskmDtlNo 申込明細番号
	 * @param kaisenUwMap サービス契約回線内訳情報マップ
	 * @param custName お客様名
	 * @param custNameKana お客様カナ名
	 * @param updDtmSvcKei 更新年月日時分秒(サービス契約)
	 * @param idoDiv 異動区分
	 * @param taknkikiSbtCd 宅内機器種別コード
	 * @param kikiHkatShiteiSkdnCd 機器引当指定倉庫棚コード
	 * @param kktkSvcCd 機器提供サービスコード
	 * @param genCustInfo 現顧客情報の配列
	 * @throws RequestParameterException
	 */
	private void setInMapKktkRegist(IRequestParameterReadWrite param, String fixedText, String pcrsCd, String pplanCd, String taknkikiModelCd,
			String svcKeiNo, String sysId, String seikyKeiNo, String mskmDtlNo, HashMap kaisenUwMap, String custName, String custNameKana,
			String updDtmSvcKei, String idoDiv, String taknkikiSbtCd, String kikiHkatShiteiSkdnCd, String kktkSvcCd, String[] genCustInfo)
			throws RequestParameterException
	{
		// 機能コード設定(1:チェック&登録)
		setFuncCode(param, fixedText, JPCModelConstant.FUNC_CD_1);

		// ユーザデータ取得
		HashMap inMap = (HashMap)param.getData(fixedText);
		// 機器提供サービスコード
		inMap.put(EKK0341D010CBSMsg.KKTK_SVC_CD, kktkSvcCd);
		// 機器提供種別コード
		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);
		// 親契約識別コード
		inMap.put(EKK0341D010CBSMsg.OYA_KEI_SKBT_CD, JFUStrConst.CD00804_01);
		// サービス契約番号
		inMap.put(EKK0341D010CBSMsg.SVC_KEI_NO, svcKeiNo);
		// 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_SOHUS_NM, custName);
		// 機器送付先カナ名
		inMap.put(EKK0341D010CBSMsg.KIKI_SOHUS_KANA, custNameKana);

		int arrayNo = 0;
		// 機器送付先住所コード
		inMap.put(EKK0341D010CBSMsg.KIKI_SOHUS_AD_CD, genCustInfo[arrayNo++]);
		// 機器送付先郵便番号
		inMap.put(EKK0341D010CBSMsg.KIKI_SOHUS_PCD, genCustInfo[arrayNo++]);
		// 機器送付先都道府県名
		inMap.put(EKK0341D010CBSMsg.KIKI_SOHUS_STATE_NM, genCustInfo[arrayNo++]);
		// 機器送付先市区町村名
		inMap.put(EKK0341D010CBSMsg.KIKI_SOHUS_CITY_NM, genCustInfo[arrayNo++]);
		// 機器送付先大字通称名
		inMap.put(EKK0341D010CBSMsg.KIKI_SOHUS_OAZTSU_NM, genCustInfo[arrayNo++]);
		// 機器送付先字丁目名
		inMap.put(EKK0341D010CBSMsg.KIKI_SOHUS_AZCHO_NM, genCustInfo[arrayNo++]);
		// 機器送付先番地号
		inMap.put(EKK0341D010CBSMsg.KIKI_SOHUS_BNCHIGO, genCustInfo[arrayNo++]);
		// 機器送付先住所補記・建物名
		inMap.put(EKK0341D010CBSMsg.KIKI_SOHUS_ADRTTM, genCustInfo[arrayNo++]);
		// 機器送付先住所補記・部屋番号
		inMap.put(EKK0341D010CBSMsg.KIKI_SOHUS_ADRRM, genCustInfo[arrayNo++]);
		// 機器送付先電話番号
		inMap.put(EKK0341D010CBSMsg.KIKI_SOHUS_TELNO, genCustInfo[arrayNo++]);

		// 機器送付先個別指定フラグ
		inMap.put(EKK0341D010CBSMsg.KIKI_SHS_KBT_SHITEI_FLG, JFUStrConst.KK0341_KIKI_SHS_KBT_SHITEI_FLG_1);
		// 住所未確定フラグ
		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_TELNO, kaisenUwMap.get(EKK0251A010CBSMsg1List.KAISEN_PLACE_TELNO));
		// 機器設置先_契約者住所差異フラグ
		inMap.put(EKK0341D010CBSMsg.KIKI_STC_SK_KSH_AD_SAI_FLG, kaisenUwMap.get(EKK0251A010CBSMsg1List.KAISEN_PLC_KSH_AD_SAI_FLG));
		// 機器付加情報コード
		inMap.put(EKK0341D010CBSMsg.KIKI_HUKA_INFO_CD, JFUStrConst.CD00866_004);
		// マンション物件番号
		inMap.put(EKK0341D010CBSMsg.MANSION_BUKKEN_NO, kaisenUwMap.get(EKK0251A010CBSMsg1List.MANSION_BUKKEN_NO));
		// 配送依頼指定年月日
		inMap.put(EKK0341D010CBSMsg.HAISO_REQ_SHITEI_YMD, null);
		// 機器送付先住所手動入力フラグ
		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 kikiInfoMap 機器提供サービス情報マップ
	 * @param updDtm 更新年月日時分秒
	 * @param idoDiv 異動区分
	 * @throws RequestParameterException
	 */
	private void setInMapKktkSvcKeiInfoChg(IRequestParameterReadWrite param, String fixedText, HashMap kikiInfoMap, String updDtm, String idoDiv)
			throws RequestParameterException
	{
		// 機能コード設定
		setFuncCode(param, fixedText, JPCModelConstant.FUNC_CD_1);

		// ユーザデータ取得
		HashMap inMap = (HashMap)param.getData(fixedText);

		// 同一項目を移送
		super.copyProperties(inMap, kikiInfoMap);

		// 異動区分
		inMap.put(EKK0341C230CBSMsg.IDO_DIV, idoDiv);
		// サービス開始時配送状況識別コード
		inMap.put(EKK0341C230CBSMsg.SVC_STA_JI_HIS_JOKYO_SKCD, JFUStrConst.CD01472_1);
		// 更新年月日時分秒(更新前)
		inMap.put(EKK0341C230CBSMsg.UPD_DTM_BF, updDtm);
	}

	/**
	 * 上りマッピング項目設定(引当棚一意照会)を行います。
	 * 
	 * <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, JFUBPCommon.getOpeDate(null));

	}

	/**
	 * 上りマッピング項目設定(割引自動適用CC)を行います。
	 * 
	 * <br>
	 * @param param
	 * @param fixedText
	 * @throws Throwable
	 */
	private void setInMapWrSvAtAplyNoPlanChg(IRequestParameterReadWrite param, String fixedText) throws Throwable
	{
		// 割引サービス自動登録CC用マップ設定
		param.setData(SC_FIXED_TEXT_WRIBCC, new HashMap());

		// ユーザデータ取得
		HashMap<String, Object> inMap = (HashMap)param.getData(SC_FIXED_TEXT_WRIBCC);

		// 機能コード
		inMap.put(WRIBCC_FUNC_CODE, JPCModelConstant.FUNC_CD_2);
	}

	/**
	 * 上りマッピング項目設定(機器提供サービス契約一意照会)
	 * 
	 * <br>
	 * @param param リクエストパラメータ
	 * @param fixedText サービスメッセージ
	 * @param kktkSvcKeiNo 機器提供サービス契約番号
	 * @throws RequestParameterException
	 */
	private void setInMapKktkSvcKeiUqSearch(IRequestParameterReadWrite param, String fixedText, String kktkSvcKeiNo) throws RequestParameterException
	{
		// ユーザデータ取得
		HashMap inMap = (HashMap)param.getData(fixedText);

		// 機能コード設定(2:カレント)
		setFuncCode(param, fixedText, JPCModelConstant.FUNC_CD_2);

		// ＫＥＹ＿サービス契約番号
		inMap.put(EKK0341A010CBSMsg.KEY_KKTK_SVC_KEI_NO, kktkSvcKeiNo);
		// ＫＥＹ＿予約適用年月日
		inMap.put(EKK0341A010CBSMsg.KEY_RSV_APLY_YMD, JFUBPCommon.getOpeDate(null));
	}
}
