/*********************************************************************
 *	All Rights reserved,Copyright (c) K-Opticom
 **********************************************************************
 *＜プログラム内容＞
 *	システム名		：eo顧客基幹システム
 *	モジュール名	：JFUMkmInfoAddFrontiaMapper
 *	ソースファイル名：JFUMkmInfoAddFrontiaMapper.java
 *	作成者			：FJ
 *	日付			：2022年02月8日
 *＜機能概要＞
 *	フロンティア申込内容登録マッピングクラス。
 *＜修正履歴＞
 *	バージョン	修正日		修正者		修正内容
 *	v58.0.0		2022/2/8	FJ			新規作成 ANK-4217-00-00_一般Webサービス申込機能再構築に伴うAPI作成
 *	v60.0.0		2022/7/21	FJ			ANK-4231-00-00_OMO構想対応
 *	v60.0.1		2022/8/22	FJ) 新谷	ANK-4252-00-00_WEB申込受付の優先連絡先続柄選択肢変更対応
 *	v58.0.1		2022/09/08	FJ) 新谷	ANK-3846-00-00_【クレカ】クリアパス→ペイジェント移行
 *	v63.0.0		2023/12/20	FJ) 行武	OM-2021-0001630_法人の新規申込時にFAX番号の登録不備
 *	v66.0.0		2023/4/8	FJ) 西川	ANK-4397-00-00_価格COM経由申込のフロンティア巻取り対応
 *	v66.0.0		2023/6/8	FJ) 西川	ANK-4412-00-00_FRONTIERからの改善要望対応(2023年6月下旬リリース)
 *	v68.0.0		2023/10/30	FJ) 西川    ANK-4416-00-00_紹介コード、提携先企業向けエントリーコード同時入力対応
 *  v71.00      2024/04/02  FJ) 張本    【ANK-4468-00-00】eo光ネット「シンプルプラン」追加対応
 *  v67.0.0		2023/08/09	FJ) 西川	ANK-4467-00-00_FRONTIERのマンション導線巻き取りに伴うAPI変更
 *	v72.00      2024/05/08	FJ)美濃原  【ANK-4494-00-00】【eo定期】双方向番ポ対応
 *  v71.0.0		2024/09/03	FJ) 張本	IT1-2024-0000035_STB主従登録の不正
 *  v72.0.0		2024/10/16	FJ) 美濃原	ANK-4494-19-00_【双方向番ポ対応】 FRONTIERの利用場所住所連携内容変更
 *  v73.00      2024/11/19  FJ) 張本    【ANK-4427-00-00】NTT卸対応
 *  v73.01      2024/11/19  FJ) 張本    【ANK-4493-00-00】【eo定期】光配線マンションのコースアップ対応
 *  v73.02      2025/01/05  FJ) 浅井    【ANK-4427-00-00】NTT卸対応
 *  v73.03      2025/01/30  FJ) 張本    【#86397】Frontierからメゾン・マンションを申込しても、申込番号がホームタイプで採番される
 *  v74.0.0		2025/02/06	FJ) 余野木	ANK-4592-00-00_テレビ新コース（スカパー用）導入対応
 *  v75.0.0     2025/04/10  FJ) 浅井    【ANK-4640-00-00】typeN：追加要件対応
 *  v75.0.1		2025/05/09	FJ) 橋本	ANK-4619-00-00_3Dセキュア対応
 *  v75.0.2     2025/06/09  FJ) 浅井    【ANK-4640-03-00】typeN：追加要件対応
 **********************************************************************/
package com.fujitsu.futurity.bp.custom.common;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.Map.Entry;

import org.nkjmlab.gis.datum.LatLon.Detum;
import org.nkjmlab.gis.datum.LatLon.Unit;
import org.nkjmlab.gis.datum.jprect.BasisWithZone;
import org.nkjmlab.gis.datum.jprect.XYWithZone;
import org.nkjmlab.gis.datum.jprect.JapanPlaneRectangular.ZoneId;

import com.fujitsu.futurity.bp.custom.constant.JFUMkmInfoAddFrontiaConstCC;
import com.fujitsu.futurity.bp.x21.bpm.exception.RequestParameterException;
import com.fujitsu.futurity.bp.x21.bpm.parameter.IRequestParameterReadWrite;
import com.fujitsu.futurity.common.JCMConstants;
import com.fujitsu.futurity.model.common.JCMAPLConstMgr;

import eo.common.constant.JFUStrConst;
import eo.common.constant.JPCModelConstant;
import eo.common.util.JCHCommonFormatUtil;
import eo.common.util.JFUCommonUtil;
import eo.common.util.JFUDecryptAES;
import eo.common.util.JFUMkmInfoAddUtil;

/**
 * フロンティア申込内容登録マッピングクラス<br>
 * 
 *  * @author FJ
 */
public class JFUMkmInfoAddFrontiaMapper
{
	/** 請求口座追加CC */
	private static final String CC_TITLE_JFU_ADD_SEIKY_KOZA_CC = "JFUAddSeikyKozaCC";
	/** 支払方法コード */
	private static final String PAYWAY_CD = "payway_cd";
    /** 金融機関コード */
    private static final String BANK_CD = "bank_cd" ;
    /** 金融機関支店コード */
    private static final String BANK_SHITEN_CD = "bank_shiten_cd" ;
    /** 預金種目コード */
    private static final String YOKIN_SHUMOKU_CD = "yokin_shumoku_cd" ;
    /** 口座番号 */
    private static final String KOZA_NO = "koza_no" ;
    /** 口座名義人カナ名 */
    private static final String KOZA_MEIGIN_KANA = "koza_meigin_kana" ;
    /** 通帳記号 */
    private static final String TSUCHO_SYMBOL = "tsucho_symbol" ;
    /** 通帳番号 */
    private static final String TSUCHO_NO = "tsucho_no" ;
    /** 金融機関コード：ゆうちょ銀行 */
    private static final String BANK_CD_POSTAL = "9900" ;
    /** 審査与信結果コード */
    private static final String PAYWAY_PAY_SKEKKA_CD = "payway_pay_skekka_cd" ;
	/** 請求契約番 */
	private static final String SEIKY_KEI_NO = "seiky_kei_no";

	/** 機能コード */
	private static final String FUNC_CODE = "func_code";
	/** 異動区分 */
	private static final String IDO_DIV = "ido_div";
	/** 課金開始年月日補正有無 */
	private static final String CHRG_STA_YMD_HOSEI_UM_0 = "0";
	/** 機器引当指定倉庫コード（みなと倉庫） */
	private static final String KIKI_SOUKO_MINATO = "000001";
	/** SYSID */
	private static final String SYSID = "sysid";
	/** 更新年月日時分秒 */
	private static final String UPD_DTM = "upd_dtm";
	/** 登録／変更区分 */
	private static final String ADD_CHGE_DIV = "add_chge_div";
	/** 申込番号 */
	private static final String MSKM_NO = "mskm_no";

	/** mineoセット割適用可否照会・変更依頼CC */
	private static final String JFUMINEO_SETPLANR_ENKEI_CC = "JFUMineoSetPlanRenkeiCC";
	/** 更新区分 */
	private static final String KSN_KBN = "1";
	/** 処理区分 */
	private static final String PROCESSING_TYPE = "1";
	/** ＫＥＹ＿更新区分 */
	private static final String KEY_KSN_KBN = "key_ksnKbn";
	/** ＫＥＹ＿リクエストID */
	private static final String KEY_REQUEST_ID = "key_requestID";
	/** ＫＥＹ＿運用日時 */
	private static final String KEY_OPERATE_DATETIME = "key_operateDateTime";
	/** ＫＥＹ＿処理区分 */
	private static final String KEY_PROCESSING_TYPE = "key_processingType";
	/** ＫＥＹ＿キャンペーンコード */
	private static final String KEY_DISCOUT_CODE = "key_discoutCode";
	/** ＫＥＹ＿サービス契約番号 */
	private static final String KEY_SERIVCE_NUM = "key_serivceNum";
	/** ＫＥＹ＿SYSID */
	private static final String KEY_SYSID = "key_sysid";
	/** ＫＥＹ＿請求先番号 */
	private static final String KEY_INVOICE_NUM = "key_invoiceNum";
	/** ＫＥＹ＿契約者住所コード */
	private static final String KEY_CONTRACTOR_ADDRESS_CODE = "key_contractorAddressCode";
	/** ＫＥＹ＿サービス */
	private static final String KEY_SERVICE = "key_service";
	/** ＫＥＹ＿料金グループ */
	private static final String KEY_FEE_GROUP = "key_feeGroup";
	/** ＫＥＹ＿料金コース */
	private static final String KEY_FEE_COURCE = "key_feeCource";
	/** ＫＥＹ＿料金プラン */
	private static final String KEY_FEE_PLAN = "key_feePlan";
	/** ＫＥＹ＿契約形態コード */
	private static final String KEY_CONTRACT_FORM = "key_contractForm";
	/** ＫＥＹ＿申込日 */
	private static final String KEY_SUBSCRIPTION_DATE = "key_subscriptionDate";
	/** ＫＥＹ＿照査日 */
	private static final String KEY_INSPECTION_DATE = "key_inspectionDate";
	/** ＫＥＹ＿受付番号 */
	private static final String KEY_ACCEPTANCE_NUM = "key_acceptanceNum";
	/** ＫＥＹ＿契約状態 */
	private static final String KEY_CONTRACT_CONDITION = "key_contractCondition";
	/** ＫＥＹ＿利用場所住所コード */
	private static final String KEY_USINGPLACE_ADDRESS_CODE = "key_usingPlaceAddressCode";
	/** ＫＥＹ＿回線内訳番号 */
	private static final String KEY_LINE_NUM = "key_lineNum";
	/** ＫＥＹ＿入力mineo受付番号・電話番号 */
	private static final String KEY_INPUT_MINE_NUM = "key_inputMineNum";
	/** ＫＥＹ＿入力解除メール通知有無1 */
	private static final String KEY_KEI_1_MAIL_SEND_FLAG = "key_kei_1_mail_send_flag";
	/** ＫＥＹ＿入力解除メール通知有無2 */
	private static final String KEY_KEI_2_MAIL_SEND_FLAG = "key_kei_2_mail_send_flag";

	/** 工事費割賦契約登録SC */
	private static final String FUSV015233SC = "FUSV015233SC";
	/** 割賦契約ステータス */
	private static final String KAP_KEI_STAT = "kap_kei_stat";
	/** 割賦プランコード */
	private static final String KAP_PLAN_CD = "kap_plan_cd";
	/** サービス契約回線内訳番号 */
	private static final String SVC_KEI_KAISEN_UCWK_NO = "svc_kei_kaisen_ucwk_no";
	/** 初回請求サービス契約番号 */
	private static final String FIRST_SEIKY_SVC_KEI_NO = "first_seiky_svc_kei_no";
	/** 割賦一括請求切替年月 */
	private static final String KAP_IKT_SIKY_SWCH_YM = "kap_ikt_siky_swch_ym";
	/** 割賦契約締結年月日 */
	private static final String KAP_KEI_CNC_YMD = "kap_kei_cnc_ymd";
	/** 割賦契約終了年月日 */
	private static final String KAP_KEI_ENDYMD = "kap_kei_endymd";
	/** 割賦契約キャンセル年月日 */
	private static final String KAP_KEI_CANCEL_YMD = "kap_kei_cancel_ymd";
	/** 割賦契約サービス開始年月日 */
	private static final String KAP_KEI_SVC_STAYMD = "kap_kei_svc_staymd";
	/** 割賦契約課金開始年月日 */
	private static final String KAP_KEI_CHRG_STAYMD = "kap_kei_chrg_staymd";
	/** 割賦請求開始年月 */
	private static final String KAP_SEIKY_STA_YM = "kap_seiky_sta_ym";
	/** 割賦支払い残回数 */
	private static final String KAP_PAY_ZEN_CNT = "kap_pay_zan_cnt";
	/** 割賦請求済回数 */
	private static final String KAP_SEIKY_ZUMI_CNT = "kap_seiky_zumi_cnt";
	/** 割賦請求済金額 */
	private static final String KAP_SEIKY_ZUMI_AMNT = "kap_seiky_zumi_amnt";
	/** 標準工事費お支払い方法 */
	private static final String STDARD_KOJIHI_PAYWAY = "stdard_kojihi_payway";
	/** 工事費割賦契約登録実行判定マップ */
	private static final String FUSV015233_REQ_CHK = "FUSV015233ReqChk";

	/** スターチャンネルセット割CC */
	private static final String FUSV015229CC = "FUSV015229CC";
	/** 処理区分 */
	private static final String TRN_DIV = "trn_div";
	/** サービス契約番号 */
	private static final String SVC_KEI_NO = "svc_kei_no";
	/** サービスキャンセル理由コード */
	private static final String SVC_CANCEL_RSN_CD = "svc_cancel_rsn_cd";
	/** 起算日 */
	private static final String KISAN_YMD = "kisan_ymd";
	/** 利用開始希望日 */
	private static final String USE_STA_KIBO_YMD = "use_sta_kibo_ymd";
	/** 更新年月日時分秒（更新前） */
	private static final String KK0081_UPD_DTM = "kk0081_upd_dtm";
	/** テレビコース（ｅｏ光テレビ） */
	private static final String EO_TV_COURSE = "eo_tv_course";
	/** スターチャンネルセット割実行判定マップ */
	private static final String FUSV015229_REQ_CHK = "FUSV015229ReqChk";

	/** 申込時登録不可契約予約登録CC */
	private static final String EKK2931D010 = "EKK2931D010";
	/** 申込時登録不可契約予約種別コード */
	private static final String MKJ_ADDF_KEI_RV_SBT_CD = "mkj_addf_kei_rv_sbt_cd";
	/** オプションサービスコード */
	private static final String OP_SVC_CD = "op_svc_cd";
	/** 割引サービスコード */ 
	private static final String WRIB_SVC_CD = "wrib_svc_cd";
	/** 予約契約数 */
	private static final String RSV_KEI_CNT = "rsv_kei_cnt";
	/** 設定対象契約識別コード */
	private static final String SETE_TG_KEI_SKBT_CD = "sete_tg_kei_skbt_cd";
	/** 設定対象契約番号 */
	private static final String SETE_TG_KEI_NO = "sete_tg_kei_no";
	/** 申込時登録不可契約予約反映方法コード */
	private static final String MKJ_ADDF_KEI_RVHNE_WAY_CD = "mkj_addf_kei_rvhne_way_cd";
	/** 申込時登録不可契約予約反映タイミングコード */
	private static final String MKJ_ADDF_KEI_RVHNE_TMG_CD = "mkj_addf_kei_rvhne_tmg_cd";
	/** 申込時登録不可契約予約反映年月日 */
	private static final String MKJ_ADDF_KEI_RV_HANEI_YMD = "mkj_addf_kei_rv_hanei_ymd";
	/** 更新年月日時分秒(更新前) */
	private static final String UPD_DTM_BF = "upd_dtm_bf";
	/** 申込時登録不可契約予約登録実行判定マップ */
	private static final String FUSV015230_REQ_CHK = "FUSV015230ReqChk";

	/** オプトインメール情報チェック登録CC */
	private static final String FUSV015232CC = "FUSV015232CC";
	/** メール受信設定表示フラグ */
	private static final String MAIL_JUSIN_SETTEI_DSP_FLG = "mail_jusin_settei_dsp_flg";
	/** SYSID取得先コンポーネント名 */
	private static final String GET_SYSID_COMP_NM = "get_sysid_comp_nm";
	/** SYSID */
	private static final String IN_SYSID = "in_sysid";
	/** オプトインメール登録リスト */
	private static final String OPTINM_ADD_LIST = "optinm_add_list";
	/** オプトインメール番号 */
	private static final String OPTINM_NO = "optinm_no";
	/** 受信区分 */
	private static final String RCV_DIV = "rcv_div";
	/** メール受信設定表示フラグ 1：表示 */
	private static final String MAIL_JUSIN_SETTEI_DSP_FLG_1 = "1";
	/** SYSID取得マップキー(個人) */
	private static final String MAP_KEY_ECK0021D010 = "ECK0021D010";
	/** SYSID取得マップキー(法人) */
	private static final String MAP_KEY_ECK0031D010 = "ECK0031D010";
	/** 連絡用コンテンツメールアドレス */
	private static final String IN_MLAD = "in_mlad";

	/** 機器オプションサービス契約登録 */
	/** IN項目：ファミリーパック申込有無 */
	private static final String IN_FAMIPA_MSKM_UM = "in_famipa_mskm_um";
	/** IN項目：サービス契約番号(電話) */
	private static final String IN_SVC_KEI_NO_TEL = "in_svc_kei_no_tel";
	/** IN項目：異動区分 */
	private static final String IN_IDO_DIV = "in_ido_div";
	/** IN項目：選択中サービス(電話) */
	private static final String IN_SELECT_SVC_TEL = "in_select_svc_tel";
	/** IN項目：請求契約番号 */
	private static final String IN_SEIKY_KEI_NO = "in_seiky_kei_no";
	/** IN項目：申込明細番号 */
	private static final String IN_MSKM_DTL_NO = "in_mskm_dtl_no";
	/** IN項目：サービス契約回線内訳番号 */
	private static final String IN_SVC_KEI_KAISEN_UW_NO = "in_svc_kei_kaisen_uw_no";

	/** セキュリティパック操作CC */
	private static final String JKKSECURITYPACKOPERATECC = "JKKSecurityPackOperateCC";
	/** 引継有無 無 */
	private static final String HIKITUGI_UM_NON = "0";
	/** 対象フラグ 無 */
	private static final String TG_FLG_NON = "0";
	/** 対象フラグ 有 */
	private static final String TG_FLG_ARI = "1";

	/** 同番移転チェックCC */
	private static final String CC_TITLE_JKK_CHK_DOBANITEN_PSB_AREA = "JKKChkDobanitenPsbAreaCC";
	/** 住所情報分割CC(利用場所住所) */
	private static final String CC_TITLE_FUSV016006 = "FUSV016006CC";
	/** サービスIF結果データ移送CC */
	private static final String CC_TITLE_JFU_TRANSFER = "JFUTransferCC";
	/** NTT卸ネット電話情報操作CC */
	private static final String CC_TITLE_JKKNTTORS_OPERATE_CC = "JKKNttorsNetTelInfOperateCC";
	/** NTT卸ネット電話情報操作CC（番ポ住所） */
	private static final String CC_TITLE_FUSV016008_TYPEN_CC = "FUSV016008TypeNCC";

	/** 移送用キー1 */
	private static final String TRANS_KEY_1 = "key_1";
	/** 移送用キー1 */
	private static final String TRANS_KEY_2 = "key_2";
	/** 移送用キー1 */
	private static final String TRANS_KEY_3 = "key_3";
	/** 移送用キー1 */
	private static final String TRANS_KEY_4 = "key_4";

	/** 都道府県 */
	private static final String TRANS_KEY_1_VALUE_1 = CC_TITLE_FUSV016006 + "::state_nm,::key_state_nm";
	/** 市区町村 */
	private static final String TRANS_KEY_1_VALUE_2 = CC_TITLE_FUSV016006 + "::city_nm,::key_city_nm";
	/** 大字通称名 */
	private static final String TRANS_KEY_1_VALUE_3 = CC_TITLE_FUSV016006 + "::oaztsu_nm,::key_oaztsu_nm";
	/** 字丁目名 */
	private static final String TRANS_KEY_1_VALUE_4 = CC_TITLE_FUSV016006 + "::azcho_nm,::key_azcho_nm";
	/** マップキー 移送先名取得 */
	private static final String KEY_TRAN_NAME = "tranNm";
	/** マップキー キーカウント */
	private static final String KEY_KEY_CNT = "key_cnt";
	/** マップキー キーカウント */
	private static final String RPG_KEY_CNT_4 = "4";

	/** サービスIF結果データ移送CC */
	private static final String TRANSFER_CC_FUSV035689CC = "FUSV035689CC";
	/** サービス契約番号 */
	private static final String TRANS_NTT_KEY_1_VALUE_1 = "FUSV035601CC::okid_net,::svc_kei_no";
	/** SYSID */
	private static final String TRANS_NTT_KEY_1_VALUE_2 = "FUSV035601CC::sysid,::sysid";
	/** 建物名 */
	private static final String TRANS_NTT_KEY_1_VALUE_3 = "FUSV016008CC::adrttm,add_info_list::typen_adrttm";
	/** 部屋番号 */
	private static final String TRANS_NTT_KEY_1_VALUE_4 = "FUSV016008CC::adrrm,add_info_list::typen_adrrm";
	/** マップキー キーカウント */
	private static final String RPG_KEY_CNT_2 = "2";

	/** 番ポ電話番号登録可否チェック用 */
	/** 電話番号 */
	private static final String KEY_TEL_NO1 = "key_telno1";
	private static final String KEY_TEL_NO2 = "key_telno2";
	/** 郵便番号（前） */
	private static final String KEY_PDC_BF = "key_pcd_bf";
	/** 郵便番号（後） */
	private static final String KEY_PDC_AF = "key_pcd_af";
	/** 例外入力 */
	private static final String KEY_EXCEPTION_INPUT = "key_exception_input";
	/** 同一住所フラグ */
	private static final String SAME_AD_FLG = "same_ad_flg";
	/** 住所コード一覧最大検索件数 */
	private static final String AD_CD_LIST_MAX_SEARCH_NUM = "ad_cd_list_max_search_num";


	/** データ抽出項目登録CC */
	private static final String JFUADDDCHSKMCDCCMAP = "JFUAddDchskmCdCC";
	/** 割引サービス登録CC */
	private static final String JFUADDWRIBSVCCCMAP = "JFUAddWribSvcCdCC";
	/** データ抽出項目コードリスト名 */
	private static final String ADDDCHSKMCDLIST = "AddDchskmCdList";
	/** 割引サービスリスト名 */
	private static final String ADDWRIBSVCLIST = "AddWribSvcCdList";
	/** 申込明細番号 */
	private static final String MSKM_DTL_NO = "mskm_dtl_no";
	/** 割引サービスコード */
	private static final String ADDWRIBSVCCD = "addWribSvcCd";
	/** 即時適用フラグ */
	private static final String APLY_JUN = "aply_jun";
	/** 割引登録契機コード */
	private static final String WRIB_ADD_OPTY_CD = "wrib_add_opty_cd";
	/** 最大検索件数 */
	private static final String MAX_SEARCH_NUM = "max_search_num";
	/** データ抽出項目コード */
	private static final String ADDDCHSKMCD = "addDchskmCd";
	/** データ抽出項目設定登録契機コード */
	private static final String DCHSKMST_ADD_OPTY_CD = "dchskmst_add_opty_cd";
	/** 適用期間チェック有無 */
	private static final String CHK_TERM = "chk_term";
	/** チェック用料金グループコード */
	private static final String CHK_PRC_GRP_CD = "chk_prc_grp_cd";
	/** チェック用料金コースコード */
	private static final String CHK_PCRS_CD = "chk_pcrs_cd";
	/** チェック用料金プランコード */
	private static final String CHK_PPLAN_CD = "chk_pplan_cd";

	/** 割引サービス自動適用CC */
	private static final String JKKWRISVCAUTOAPLYCCMAP = "JKKWrisvcAutoAplyCCMap";
	/** 申込種別コード */
	private static final String MSKM_SBT_CD = "mskm_sbt_cd";
	/** グループ区分 */
	private static final String GRP_DIV = "grp_div";
	/** サービス契約グループリスト */
	private static final String SVC_KEI_GRP_LIST = "svc_kei_grp_list";
	/** 工事費割賦操作ステータス */
	private static final String KOJIHI_KAP_OPERATE_STAT = "kojihi_kap_operate_stat";
	/** 工事費割賦操作ステータス 登録・変更・削除 */
	private static final String KOJIHI_KAP_OPERATE_STAT_1 = "1";
	
	/** その他 */
	private static final String MKM_YUSEN_RRKS_SKBT_CD_ELSE = "3";

	/** eo電気案内希望（eo電気見込み客）*/
	public static final String ELEC_TR = "ELEC_TR";
	/** 問合せ客タイプ名  */
	public static final String ELEC_TR_PROSCST_TYPE_NM = "proscst_type_nm";
	/** 問合せ状態名 */
	public static final String ELEC_TR_TOIAWASE_STAT_NM = "toiawase_stat_nm";
	/** 対応記録ステータス名 */
	public static final String ELEC_TR_TAIOKRK_STAT_NM = "taiokrk_stat_nm";
	/** 受付者 */
	public static final String ELEC_TR_UKETSUKESYA = "uketsukesya";
	/** 担当者 */
	public static final String ELEC_TR_TNTSHA = "tntsha";
	/** キューBOX名 */
	public static final String ELEC_TR_QUE_BOX_NM = "que_box_nm";
	/** 問合せ受付種別名 */
	public static final String ELEC_TR_TOIAWASE_UK_SBT_NM = "toiawase_uk_sbt_nm";
	/** タイトル */
	public static final String ELEC_TR_TITLE = "title";
	/** eo電気案内希望（eo電気見込み客）*/
	public static final String ELEC_TR_TAIO_KIROK_RIREKI = "taio_kirok_rireki";
	/** eo電気案内希望（eo電気見込み客）*/
	public static final String ELEC_TR_MSKM_UK_DTM = "mskm_uk_dtm";
	/** eo電気案内希望（eo電気見込み客）*/
	public static final String ELEC_TR_CSFL_SBT_CD = "csfl_sbt_cd";
	/** CASEファイル作成済フラグ  */
	private static final String ELEC_TR_CSFL_SKSI_ZM_FLG = "csfl_sksi_zm_flg";
	/** 置き換え文字列1 */
	private static final String RE_1 = "%1%";

	/** 処理区分 登録 **/
	private static final String SHORI_DIV_2 = "2";
	
	/** 処理区分 **/
	private static final String SHORI_DIV = "shori_div";
	/** 申込年月日 **/
	private static final String MKSM_YMD = "mksm_ymd";
	/** ＰＣプラン対象フラグ **/
	private static final String PC_PLAN_TG_FLG = "pc_plan_tg_flg";
	/** ＰＣプラン申込日 **/
	private static final String PC_PLAN_MKSM_YMD = "pc_plan_mksm_ymd";
	/** ＰＣワイドプラン対象フラグ **/
	private static final String PC_WIDE_PLAN_TG_FLG = "pc_wide_plan_tg_flg";
	/** ＰＣワイドプラン申込日 **/
	private static final String PC_WIDE_PLAN_MKSM_YMD = "pc_wide_plan_mksm_ymd";
	/** ＴＶプラン対象フラグ **/
	private static final String TV_PLAN_TG_FLG = "tv_plan_tg_flg";
	/** ＴＶプラン申込日 **/
	private static final String TV_PLAN_MKSM_YMD = "tv_plan_mksm_ymd";
	/** ｅｏ光ネット　端末補償 申し込む */
	private static final String PLAN_MSKM = "1";
	/** ｅｏ光ネット　端末補償 申し込まない */
	private static final String PLAN_NOT_MSKM = "0";

	/** MAPキー 連絡先メールアドレス本登録用の定数：メールアドレス */
	private static final String MAP_KEY_MLAD = "mlad";
	
	/** 利用中のネット回線 */	
	private static final String USE_NET_KSN = "use_net_ksn";
	/** 利用中の機器の設置場所変更予定 */	
	private static final String KIKI_PLACE_CHG = "kiki_place_chg";
	/** 宅内調査と工事の同日実施 */	
	private static final String TKC_KOJI_SAME = "tkc_koji_same";
	/** 早期開通早期連絡希望有無 */	
	private static final String TSYRN_EARLY_OPEN_EARLY_RRK_KBUN_SCREEN = "tsyrn_early_open_early_rrk_kbum_screen";
	/** PASCO情報共通 なし*/
	private static final String PASCO_NOT = "0";
	/** PASCO情報共通 あり*/
	private static final String PASCO_YES = "1";
	/** PASCO情報 10G申込可能 */
	private static final String PASCO_NET_DETAIL_10G = "4";
	/** PASCO情報 1G申込可能 */
	private static final String PASCO_NET_DETAIL_1G = "3";
	/** PASCO情報 K-CAT */
	private static final String PASCO_TV_DETAIL_K_CAT = "1";

	/**
	 * 利用場所住所分割処理上りマッピング
	 * 
	 * @param workArea
	 * @param param
	 * @return
	 * @throws RequestParameterException 
	 */
	public IRequestParameterReadWrite setFUSV015211CC(JFUMkmInfoAddFrontiaWorkArea workArea , IRequestParameterReadWrite param) throws RequestParameterException
	{

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 利用場所：都道府県・市区町村
		parentMap.put("state_city", workArea.getAdd1());
		// 利用場所：字
		parentMap.put("aza", workArea.getAdd2());
		// 利用場所：丁目・番地等
		parentMap.put("chome_bnchi", workArea.getAdd3());

		param.setData("FUSV015211CC", parentMap);

		return param;
	}
	
	/**
	 * 契約者住所分割処理上りマッピング
	 * 
	 * @param workArea
	 * @param param
	 * @return
	 * @throws RequestParameterException
	 */
	public IRequestParameterReadWrite setFUSV015212CC(JFUMkmInfoAddFrontiaWorkArea workArea, IRequestParameterReadWrite param) throws RequestParameterException
	{

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 契約者情報：都道府県・市区町村
		parentMap.put("state_city", "");
		// 契約者情報：字
		parentMap.put("aza", "");
		// 契約者情報：丁目・番地等
		parentMap.put("chome_bnchi", workArea.getKsh_Address1() + workArea.getKsh_Address1_bnchigo());

		param.setData("FUSV015212CC", parentMap);

		return param;
	}

	/**
	 * 機器提供サービス利用場所住所分割処理上りマッピング
	 * 
	 * @param workArea
	 * @param param
	 * @return
	 * @throws RequestParameterException
	 */
	public IRequestParameterReadWrite setFUSV016006CC(JFUMkmInfoAddFrontiaWorkArea workArea, IRequestParameterReadWrite param) throws RequestParameterException
	{

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, JPCModelConstant.FUNC_CD_1);

		// 都道府県・市区町村
		parentMap.put("state_city", workArea.getAdd1());
		// 字
		parentMap.put("aza", workArea.getAdd2());
		// 丁目・番地等
		parentMap.put("chome_bnchi", workArea.getAdd3());

		param.setData("FUSV016006CC", parentMap);

		return param;
	}

	/**
	 * 番号ポータビリティ利用住所情報分割処理上りマッピング
	 * 
	 * @param workArea
	 * @param param
	 * @return
	 * @throws RequestParameterException 
	 */
	public IRequestParameterReadWrite setFUSV016008CC(JFUMkmInfoAddFrontiaWorkArea workArea, IRequestParameterReadWrite param) throws RequestParameterException
	{

		if ("1".equals(workArea.getUse_bmp_1()))
		{
			HashMap<String, Object> parentMap = new HashMap<String, Object>();

			// 共通情報のマッピング
			parentMap.put(FUNC_CODE, JPCModelConstant.FUNC_CD_1);

			// 番号ポータビリティ利用場所：都道府県・市区町村
			parentMap.put("state_city", "");
			// 番号ポータビリティ利用場所：字
			parentMap.put("aza", "");
			// 番号ポータビリティ利用場所：丁目・番地等
			parentMap.put("chome_bnchi", workArea.getBmp_Address1_1() + workArea.getBmp_Address1_1_bnchigo());

			param.setData("FUSV016008CC", parentMap);
		}
		if ("1".equals(workArea.getUse_bmp_2()))
		{
			HashMap<String, Object> parentMap = new HashMap<String, Object>();

			// 共通情報のマッピング
			parentMap.put(FUNC_CODE, JPCModelConstant.FUNC_CD_1);

			// 番号ポータビリティ利用場所：都道府県・市区町村
			parentMap.put("state_city", "");
			// 番号ポータビリティ利用場所：字
			parentMap.put("aza", "");
			// 番号ポータビリティ利用場所：丁目・番地等
			parentMap.put("chome_bnchi", workArea.getBmp_Address1_2() + workArea.getBmp_Address1_2_bnchigo());

			param.setData("FUSV016009CC", parentMap);
		}

		return param;
	}

	/**
	 * お客様登録変更上りマッピング
	 * 
	 * @param workArea
	 * @param param
	 * @return
	 * @throws RequestParameterException 
	 */
	public IRequestParameterReadWrite setJFUCustCC(JFUMkmInfoAddFrontiaWorkArea workArea, IRequestParameterReadWrite param) throws RequestParameterException
	{

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, JPCModelConstant.FUNC_CD_1);

		// 会員種別
		parentMap.put("kiin_sbt", "");
		// SYSID(追加申込用)
		parentMap.put("sysid", "");
		// 契約者タイプコード設定
		parentMap.put("keisha_type_cd", workArea.getKei_sbt());
		// お客様＜個人＞登録マップキー
		parentMap.put("cust_kojin_map_key", "ECK0021D010");
		// お客様＜法人＞登録マップキー
		parentMap.put("cust_hojin_map_key", "ECK0031D010");
		// 連絡先登録マップキー
		parentMap.put("rrks_add_map_key", "ECK0201D010");
		// 連絡先登録リストキー
		parentMap.put("rrks_add_list_key", "ECK0201D010List");
		// 契約者分割住所マップキー
		parentMap.put("keisha_split_address_map_key", "FUSV015212CC");
		// eoID
		parentMap.put("eoid", workArea.getEoid());

		param.setData("FUSV015201CC", parentMap);

		return param;
	}

	/**
	 * お客様＜個人＞登録上りマッピング
	 * 
	 * @param workArea
	 * @param param
	 * @param opeDate
	 * @return
	 * @throws RequestParameterException 
	 */
	public IRequestParameterReadWrite setECK0021D010(JFUMkmInfoAddFrontiaWorkArea workArea, IRequestParameterReadWrite param, String opeDate) throws RequestParameterException
	{

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 契約者住所情報を取得
		HashMap<String, Object> contractorAddressMap = (HashMap<String, Object>)param.getData("FUSV015212CC");

		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, JPCModelConstant.FUNC_CD_1);
		// 契約者タイプコード
		parentMap.put("keisha_type_cd", JFUStrConst.CD00036_1);
		// お客様＜個人＞登録マップ.お客様名
		parentMap.put("cust_nm", workArea.getKshnm());
		// お客様＜個人＞登録マップ.お客様カナ名
		parentMap.put("cust_kana", workArea.getKshkn());
		// 契約者・性別→ お客様＜個人＞登録マップ.お客様性別コード
		parentMap.put("cust_sex_cd", workArea.getSex());
		parentMap.put("cust_birthd", workArea.getBirthday_kojin());
		// お客様＜個人＞登録マップ.契約者郵便番号
		parentMap.put("keisha_pcd", contractorAddressMap.get("pcd"));
		// お客様＜個人＞登録マップ.契約者住所補記・建物名
		parentMap.put("keisha_adrttm", contractorAddressMap.get("adrttm"));
		// お客様＜個人＞登録マップ.契約者住所補記・部屋番号
		parentMap.put("keisha_adrrm", contractorAddressMap.get("adrrm"));
		// お客様＜個人＞登録マップ.契約者電話番号
		parentMap.put("keisha_telno", workArea.getKsh_telno());
		// お客様＜個人＞登録マップ.会員種別コード
		parentMap.put("member_sbt_cd", JFUStrConst.CD00039_00);
		// 入会年月日
		parentMap.put("join_ymd", opeDate);
		// 内販外販コード
		parentMap.put("naihan_gaihan_cd", JFUStrConst.CD00682_001);
		// 会員ISP決済状態コード
		parentMap.put("mmb_isp_kssai_stat_cd", JFUStrConst.CD00870_0);
		// 契約者住所手動入力フラグ
		parentMap.put("keisha_ad_man_input_flg", JFUStrConst.CD01239_0); /* 2012/10/27 Y.Saitou IT1-2012-0001108 MOD */
		
		// 関電Ｇ個人情報取扱同意有無
		parentMap.put("kepg_kjnif_trat_doi_um", workArea.getKepg_kjnif_trat_doi_um());
		// 関電G個人情報取扱同意年月日
		parentMap.put("kepg_kjnif_trat_doi_ymd", opeDate);
		// 関電Ｇ個人情報提供不可フラグ
		parentMap.put("kepg_kjnift_ffg", workArea.getKepg_kjnift_ffg());
		// 関電G個人情報提供不可フラグ変更年月日
		parentMap.put("kepg_kjnift_ffg_chg_ymd", opeDate);

		String fax_select = workArea.getFax_kibo();
		// FAX連絡希望選択が"1":選択の場合
		if ("1".equals(fax_select))
		{
			// 連絡手段コード 01:FAX
			parentMap.put("rrk_way_cd", JFUStrConst.CD00251_01);
			// FAX番号→連絡手段補記
			parentMap.put("rrk_way_hoki", workArea.getFaxno());
		}

		// 親権者情報
		String under20flg = workArea.getUnder_20_flg();
		if ("1".equals(under20flg))
		{
			// 親権者名
			parentMap.put("sksha_nm", workArea.getSksha());
			// 親権者カナ名
			parentMap.put("sksha_kana", workArea.getSksha_sei());
			// 親権者生年月日
			parentMap.put("sksha_birthd", workArea.getSksha_birthday());
			// 親権者続柄コード
			parentMap.put("sksha_zokugara_cd", workArea.getSksha_zokugara_cd());
			// 続柄その他
			parentMap.put("zokugara_other", workArea.getZokugara_other());
			// 親権者電話番号
			parentMap.put("sksha_telno", workArea.getSksha_telno());
		}

		parentMap.put("eoid", workArea.getEoid());

		param.setData("ECK0021D010", parentMap);

		return param;
	}

	/**
	 * お客様＜法人＞登録上りマッピング
	 * 
	 * @param workArea
	 * @param param
	 * @param opeDate
	 * @return
	 * @throws RequestParameterException
	 */
	@SuppressWarnings("unchecked")
	public IRequestParameterReadWrite setECK0031D010(JFUMkmInfoAddFrontiaWorkArea workArea, IRequestParameterReadWrite param, String opeDate) throws RequestParameterException
	{
		ArrayList list = null;
		HashMap subMap = null;

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 契約者住所情報を取得
		HashMap<String, Object> contractorAddressMap = (HashMap<String, Object>)param.getData("FUSV015212CC");

		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, JPCModelConstant.FUNC_CD_1);
		// 契約者タイプコード
		parentMap.put("keisha_type_cd", JFUStrConst.CD00036_2);
		// お客様＜法人＞登録マップ.代表者名
		parentMap.put("dihysha_nm", workArea.getDhsnm());
		// お客様＜法人＞登録マップ.お客様カナ名
		parentMap.put("dihysha_kana", workArea.getDhskn());
		// お客様＜法人＞登録マップ.お客様名
		parentMap.put("cust_nm", workArea.getHojinnm());
		// お客様＜法人＞登録マップ.お客様カナ名
		parentMap.put("cust_kana", workArea.getHojinkn());
		// お客様＜法人＞登録マップ.契約者郵便番号
		parentMap.put("keisha_pcd", contractorAddressMap.get("pcd"));
		// お客様＜法人＞登録マップ.契約者住所補記・建物名
		parentMap.put("keisha_adrttm", contractorAddressMap.get("adrttm"));
		// お客様＜法人＞登録マップ.契約者住所補記・部屋番号
		parentMap.put("keisha_adrrm", contractorAddressMap.get("adrrm"));
		// お客様＜法人＞登録マップ.契約者電話番号
		parentMap.put("keisha_telno", workArea.getKsh_telno());
		// 会員種別コード
		parentMap.put("member_sbt_cd", JFUStrConst.CD00039_00);
		// システム日付 → お客様＜法人＞登録マップ.入会年月日
		parentMap.put("join_ymd", opeDate);
		// 会員ISP決済状態コード
		parentMap.put("mmb_isp_kssai_stat_cd", JFUStrConst.CD00870_0);
		// お客様＜法人＞登録マップ.会社名
		parentMap.put("comp_nm", workArea.getHojinnm());
		// 契約者・法人名かなをカタカナに変換 → お客様＜法人＞登録マップ.会社カナ名
		parentMap.put("comp_kana", workArea.getHojinkn());
		// 法人格前後指定コード
		parentMap.put("hojin_zengo_shitei_cd", JFUStrConst.CD00247_2);
		// 法人格種別コード
		parentMap.put("hojin_sbt_cd", JFUStrConst.CD00246_00);
		// 契約者住所手動入力フラグ
		parentMap.put("keisha_ad_man_input_flg", JFUStrConst.CD01239_0); /* 2012/10/27 Y.Saitou IT1-2012-0001108 MOD */
		// 法人連絡先明細
		list = new ArrayList();
		subMap = new HashMap();
		// 連絡先コード
		subMap.put("rrks_cd", JFUStrConst.CD00268_01);
		// 法人連絡先名
		subMap.put("hjrrks_nm", workArea.getRrks_nm());
		// 法人連絡先住所コード
		subMap.put("hjrrks_ad_cd", "");
		// 法人連絡先郵便番号
		subMap.put("hjrrks_pcd", "");
		// 法人連絡先都道府県名
		subMap.put("hjrrks_state_nm", "");
		// 法人連絡先市区町村名
		subMap.put("hjrrks_city_nm", "");
		// 法人連絡先大字通称名
		subMap.put("hjrrks_oaztsu_nm", "");
		// 法人連絡先字丁目名
		subMap.put("hjrrks_azcho_nm", "");
		// 法人連絡先番地号
		subMap.put("hjrrks_bnchigo", "");
		// 法人連絡先住所補記・建物名
		subMap.put("hjrrks_adrttm", "");
		// 法人連絡先住所補記・部屋番号
		subMap.put("hjrrks_adrrm", "");
		// 法人連絡先担当者名
		subMap.put("hjrrks_tntsha_nm", "");
		// 法人連絡先担当者カナ名
		subMap.put("hjrrks_tntsha_kana", "");
		// 法人連絡先担当者所属部署名
		subMap.put("hjrrks_tntsha_shozkbsho_nm", "");
		list.add(subMap);
		// 内販外販コード
		parentMap.put("naihan_gaihan_cd", JFUStrConst.CD00682_001);

		// 関電Ｇ個人情報取扱同意有無
		parentMap.put("kepg_kjnif_trat_doi_um", workArea.getKepg_kjnif_trat_doi_um());
		// 関電G個人情報取扱同意年月日
		parentMap.put("kepg_kjnif_trat_doi_ymd", opeDate);
		// 関電Ｇ個人情報提供不可フラグ
		parentMap.put("kepg_kjnift_ffg", workArea.getKepg_kjnift_ffg());
		// 関電G個人情報提供不可フラグ変更年月日
		parentMap.put("kepg_kjnift_ffg_chg_ymd", opeDate);
		
		// 2022/12/19 OM-2021-0001630対応 START
		String fax_select = workArea.getFax_kibo();
		// FAX連絡希望選択が"1":選択の場合
		if ("1".equals(fax_select))
		{
			// 連絡手段コード 01:FAX
			parentMap.put("rrk_way_cd", JFUStrConst.CD00251_01);
			// FAX番号→連絡手段補記
			parentMap.put("rrk_way_hoki", workArea.getFaxno());
		}
		// 2022/12/19 OM-2021-0001630対応 END
		
		parentMap.put("eoid", workArea.getEoid());
		parentMap.put("cust_birthd", workArea.getBirthday_hojin());
		
		parentMap.put("ECK0031D010CBSMsg1List", list);
		param.setData("ECK0031D010", parentMap);

		return param;
	}

	/**
	 * 連絡先登録の上りマッピング
	 * 
	 * @param workArea
	 * @param param
	 * @return
	 * @throws Exception
	 */
	@SuppressWarnings("unchecked")
	public IRequestParameterReadWrite setECK0201D010(JFUMkmInfoAddFrontiaWorkArea workArea, IRequestParameterReadWrite param) throws Exception
	{

		ArrayList list = null; // 連絡先リスト
		HashMap childMap = null; // 連絡先
		int intRrkCnt = 0; // 連絡先数(メールアドレス、連絡先電話番号、FAX番号、契約者電話番号)
		HashMap wrkMap = null;// 登録する連絡先を詰める

		ArrayList wrkList = new ArrayList();
		wrkMap = new HashMap<String, Object>();
		wrkMap.put("key", "telno");
		// 連絡方法コード
		wrkMap.put("rrkwaycd", JFUStrConst.CD00790_003);
		// 連絡先電話番号
		wrkMap.put("rrkno", workArea.getRrks_telno());
		wrkList.add(wrkMap);

		// 連絡方法コード
		wrkMap = new HashMap<String, Object>();
		wrkMap.put("key", MAP_KEY_MLAD);
		wrkMap.put("rrkwaycd", JFUStrConst.CD00790_001);
		wrkMap.put("rrkno", workArea.getMlad());
		wrkList.add(wrkMap);
		// FAX希望
		String fax_kibo = workArea.getFax_kibo();
		if ("1".equals(fax_kibo))
		{
			wrkMap = new HashMap<String, Object>();
			wrkMap.put("key", "fax_no");
			wrkMap.put("rrkwaycd", JFUStrConst.CD00790_005);
			wrkMap.put("rrkno", workArea.getFaxno());
			wrkList.add(wrkMap);
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, JPCModelConstant.FUNC_CD_1);

		list = new ArrayList();
		HashMap inMap = null;

		// 連絡先情報カウント
		intRrkCnt = wrkList.size();
		for (int i = 0; i < intRrkCnt; i++)
		{
			// ワークマップ
			inMap = (HashMap)wrkList.get(i);

			// childMapの初期化
			childMap = new HashMap();

			// 共通情報のマッピング
			childMap.put(FUNC_CODE, JPCModelConstant.FUNC_CD_1);

			// 共有フォームBean.契約種別が2:法人の場合
			if (JFUStrConst.KEI_SBT_KOJINCD.equals(workArea.getKei_sbt()))
			{
				// 個人の場合
				childMap.put("rrks_cd", "");
			}
			else if (JFUStrConst.KEI_SBT_HOJINCD.equals(workArea.getKei_sbt()))
			{
				// 法人の場合
				// "01"： 契約者（固定）→ 連絡先登録マップ.連絡先コード
				childMap.put("rrks_cd", JFUStrConst.CD00268_01);
			}
			// 連絡方法コード
			childMap.put("rrk_way_cd", inMap.get("rrkwaycd"));

			// 連絡先種別コード
			if (inMap.get("rrkwaycd").equals(JFUStrConst.CD00790_003))
			{
				//連絡先種別：携帯
				childMap.put("rrks_sbt_cd", JFUStrConst.CD00254_2);
			}
			else
			{
				//連絡先種別：その他
				if (inMap.get("rrkwaycd").equals(JFUStrConst.CD00790_001))
				{
					childMap.put("rrks_sbt_cd", JFUStrConst.CD00254_1);
				} else {
					childMap.put("rrks_sbt_cd", JFUStrConst.CD00254_5);
				}
			}
			if (inMap.get("rrkwaycd").equals(JFUStrConst.CD00790_001))
			{
				childMap.put("rrks_bunrui_cd", JFUStrConst.CD00871_1);
			} else {
				childMap.put("rrks_bunrui_cd", JFUStrConst.CD00871_0);
			}
			// メールアドレス or 電話番号 or FAX番号
			childMap.put(inMap.get("key"), inMap.get("rrkno"));

			// レコード作成
			list.add(childMap);
		}

		// 追加申込の場合、申込区分フラグを設定する
		parentMap.put("mskm_kbn", JFUStrConst.MSKM_KBN_NEW);

		parentMap.put("ECK0201D010List", list);
		param.setData("ECK0201D010", parentMap);

		return param;
	}

	/**
	 * 申込書明細番号採番CC上りマッピング
	 * @param bean 共有フォームBean
	 * @param inputMap サービスに設定するinputMap
	 * @return inputMap
	 * @throws RequestParameterException 
	 */
	public IRequestParameterReadWrite setJFUMskmshoDtlSibnCC(JFUMkmInfoAddFrontiaWorkArea workArea, IRequestParameterReadWrite param) throws RequestParameterException
	{

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 申込回線サービス・申込マンションタイプ
		setMskmKsnSvc(workArea, parentMap);

		// 販売タイプ
		parentMap.put("hanbai_type", JFUStrConst.HNBAI_TYPE_CON);

		// 契約中サービス（ネット）
		parentMap.put("now_svc_net", "");

		// 契約中サービス（電話）
		parentMap.put("now_svc_tel", "");

		// 契約中サービス（テレビ）
		parentMap.put("now_svc_tv", "");

		// 契約中サービス（モバイル）
		parentMap.put("now_svc_mobile", "");

		String selectNet = JFUStrConst.SELECT_SVC_NET_MI_CHOICE;
		String selectTel = JFUStrConst.SELECT_SVC_TEL_MI_CHOICE;
		String selectTv = JFUStrConst.SELECT_SVC_TV_MI_CHOICE;
		// 選択サービス（ネット）
		if (workArea.getEonet())
		{
			selectNet = JFUStrConst.SELECT_SVC_NET_CHOICE;
		}
		parentMap.put("select_svc_net", selectNet);

		// 選択サービス（電話）
		if (workArea.getEotel())
		{
			selectTel = JFUStrConst.SELECT_SVC_TEL_CHOICE;
		}
		parentMap.put("select_svc_tel", selectTel);

		// 選択サービス（テレビ）
		if (workArea.getEotv())
		{
			selectTv = JFUStrConst.SELECT_SVC_TV_CHOICE;
		}
		parentMap.put("select_svc_tv", selectTv);

		// モバイルコース
		parentMap.put("mobile_course", JFUStrConst.MOBILE_COURSE_NON);

		param.setData("JFUMskmshoDtlNoSibnCC", parentMap);

		return param;
	}

	/**
	 * 申込登録の上りマッピング
	 * 
	 * @param workArea
	 * @param param
	 * @param opeDate
	 * @param opeDateTime
	 * @return
	 * @throws Exception
	 */
	@SuppressWarnings("unchecked")
	public IRequestParameterReadWrite setEKK0011D010(JFUMkmInfoAddFrontiaWorkArea workArea, IRequestParameterReadWrite param, String opeDate, String opeDateTime) throws Exception
	{
		ArrayList list = null;
		HashMap childMap = null;
		int srvCnt = 0;

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, JPCModelConstant.FUNC_CD_1);

		// SYSID
		parentMap.put("sysid", "");
		// 申込種別コード
		parentMap.put("mskm_sbt_cd", JFUStrConst.KK0971_MSKM_SBT_CD_00001);
		// 申込書到着年月日
		parentMap.put("mskmsho_ariv_ymd", opeDate);
		// 申込受付年月日時分秒
		parentMap.put("mskm_uk_dtm", opeDateTime);
		// 申込年月日
		parentMap.put("mskm_ymd", opeDate);
		// 仮申込フラグ
		parentMap.put("kari_mskm_flg", "");

		// 関西電力お客様情報授受同意有無
		if (JFUMkmInfoAddFrontiaConstCC.SERVICE_SBT_HT.equals(workArea.getService_sbt()))
		{
			// サービス種別が「1：ホーム」
			String kanden_doui = workArea.getKepco_custinfo_juju_doi_um();
			if ("".equals(kanden_doui))
			{
				// 関西電力お客様情報授受同意有無が空白の場合0に初期化する(マンション・メゾン向け)
				kanden_doui = "0";
			}
			parentMap.put("kepco_custinfo_juju_doi_um", kanden_doui);
		}
		else
		{
			// サービス種別が「2：メゾン」または「3：マンション」
			parentMap.put("kepco_custinfo_juju_doi_um", "0");
		}

		// コンシューマ営業用申込状態識別コード
		parentMap.put("consmbsn_mskm_stat_skbt_cd", JFUStrConst.CD00760_04);
		// 利用サービス継続種別コード
		parentMap.put("use_svc_keizk_sbt_cd", "");
		// 提携住宅会社コード
		parentMap.put("tkjcp_cd", "");
		// 提携住宅会社名
		parentMap.put("tkjcp_nm", "");
		// 提携住宅会社支店・営業所名
		parentMap.put("tkjcp_stnegs_nm", "");
		// 提携住宅会社担当者名
		parentMap.put("tkjcptts_nm", "");
		// 提携住宅会社担当者職種名
		parentMap.put("tkjcptts_shksnm", "");
		// 提携住宅会社担当者電話番号
		parentMap.put("tkjcptts_tln", "");
		// 分譲地名メモ
		parentMap.put("bunjochi_nm", "");
		// 分譲地区各番号メモ
		parentMap.put("bunjochi_kkk_no_memo", "");
		// 入居予定時期
		parentMap.put("nyukyo_rsv_jk", "");
		// 電気同時申込意思有無
		parentMap.put("eoelec_doji_mskm_ishi_um", workArea.getEoelec_doji_mskm_ishi_um());
		// 定額サービス申込機器
		StringBuilder sb = new StringBuilder();
		List<Map<String, Object>> tegakMapList = workArea.getTegak_svc_list();
		for (int i = 0; i < tegakMapList.size() ; i++)
		{
			Map<String, Object> tmpMap = tegakMapList.get(i);
//			if ("1".equals(tmpMap.get(JFUMkmInfoAddFrontiaConstCC.TEGAK_SVC_SHORI_KBN)))
//			{
				if (i > 0)
				{
					sb.append(",");
				}
				sb.append(tmpMap.get(JFUMkmInfoAddFrontiaConstCC.TEGAK_SVC_KEI_SBT_CD)).append("/").append(JFUMkmInfoAddFrontiaConstCC.TEGAK_SVC_KIKI_SBT_CD);
//			}
		}
		parentMap.put("tegak_svc_mskm_kiki", sb.toString());
		
		// 申込登録明細
		if (parentMap.containsKey("EKK0011D010CBSMsg1List"))
		{
			list = (ArrayList)parentMap.get("EKK0011D010CBSMsg1List");
		}
		else
		{
			list = new ArrayList();
		}

		// eo光ネット
		if (workArea.getEonet())
		{
			srvCnt = srvCnt + 1;
		}
		// eo光テレビ
		if (workArea.getEotv())
		{
			srvCnt = srvCnt + 1;
		}
		// eo光電話
		if (workArea.getEotel())
		{
			srvCnt = srvCnt + 1;
		}

		for (int i = 0; i < srvCnt; i++)
		{
			childMap = new HashMap();

			if (workArea.getEonet())
			{
				// eo光ネット申込明細番号
				childMap.put("ekk0091_mskm_dtl_no", "");
				childMap.put("ekk0091_kk0021_gene_add_dtm", "");
				// -----初期値を設定する-----
				// 解約書類送付希望有無
				childMap.put("dsl_aticle_sohu_kibo_um", JFUStrConst.CD00002_0);
				// オプションサービス引継有無
				childMap.put("op_svc_hktgi_um", JFUStrConst.CD00002_0);

				// 契約付加コード
				childMap.put("kei_huka_cd", JFUMkmInfoAddFrontiaUtil.getMskmDtlkeiHukaCd(workArea));

			}
			else if (workArea.getEotv())
			{
				// eo光テレビ申込明細番号
				childMap.put("ekk0101_mskm_dtl_no", "");
				childMap.put("ekk0101_kk0021_gene_add_dtm", "");

				// オプションサービス引継有無
				childMap.put("op_svc_hktgi_um", JFUStrConst.CD00002_0);
				// 解約書類送付希望有無
				childMap.put("dsl_aticle_sohu_kibo_um", JFUStrConst.CD00002_0);

				// 契約付加コード
				childMap.put("kei_huka_cd", "");
			}
			if (workArea.getEotel())
			{
				// eo光電話申込明細番号
				childMap.put("ekk0111_mskm_dtl_no", "");
				// eo光電話世代登録年月日時分秒
				childMap.put("ekk0111_kk0021_gene_add_dtm", "");
				// オプションサービス引継有無
				childMap.put("op_svc_hktgi_um", JFUStrConst.CD00002_0);
				// 解約書類送付希望有無
				childMap.put("dsl_aticle_sohu_kibo_um", JFUStrConst.CD00002_0);

				// 契約付加コード
				childMap.put("kei_huka_cd", JFUMkmInfoAddFrontiaUtil.getMskmDtlkeiHukaCd(workArea));
			}
			// 申込形態コード
			childMap.put("mskm_form_cd", JFUStrConst.CD00591_01);
			// 新規申込種別コード
			childMap.put("new_mskm_sbt_cd", JFUStrConst.CD00683_001);
			// 申込連絡先メールアドレス
			childMap.put("mskm_rrks_mlad", workArea.getMlad());
			// 新築物件コード
			childMap.put("newconst_bukken_cd", JFUStrConst.CD00480_0);
			if (!JFUBPCommon.isNull(workArea.getNewconst_bukken_cd()))
			{
				childMap.put("newconst_bukken_cd", workArea.getNewconst_bukken_cd());
			}
			// 復活案件フラグ
			childMap.put("hukkat_anken_flg", JFUStrConst.CD00777_0);

			// 同一設備再申込コード
			childMap.put("same_equip_re_mskm_cd", JFUStrConst.CD00485_0);

			if (JFUMkmInfoAddFrontiaConstCC.SERVICE_SBT_HT.equals(workArea.getService_sbt()))
			{
				// サービス種別が「1：ホーム」
				// 申込書種別コード
				childMap.put("mskmsho_sbt_cd", JFUStrConst.CD00752_1);
			}
			else if (JFUMkmInfoAddFrontiaConstCC.SERVICE_SBT_MZ.equals(workArea.getService_sbt()))
			{
				// サービス種別が「2：メゾン」
				// 申込書種別コード
				childMap.put("mskmsho_sbt_cd", JFUStrConst.CD00752_3);
			}
			else if (JFUMkmInfoAddFrontiaConstCC.SERVICE_SBT_MT.equals(workArea.getService_sbt()))
			{
				// サービス種別が「3：マンション」
				// 申込書種別コード
				childMap.put("mskmsho_sbt_cd", JFUStrConst.CD00752_2);
			}
			else
			{
				// 申込書種別コード
				childMap.put("mskmsho_sbt_cd", JFUStrConst.CD00752_1);
			}

			// マンションID
			childMap.put("mansion_id", workArea.getW_mansion_id());
			// CAT-ID
			childMap.put("catid", workArea.getW_catid());

			// 申込受付種別コード
			// コンシューマ(WEB)
			childMap.put("mkm_uk_sbt_cd", "4");
			// ----- 2012/05/11 サービスインターフェイス取込対応 h.iwamoto END -----

			// 利用中のネット回線
			childMap.put(USE_NET_KSN, workArea.getUse_net_ksn());
			// 利用中の機器の設置場所変更予定
			childMap.put(KIKI_PLACE_CHG, workArea.getKiki_place_chg());
			// 宅内調査と工事の同日実施
			childMap.put(TKC_KOJI_SAME, workArea.getTkc_koji_same());
			// 早期開通早期連絡希望有無
			childMap.put(TSYRN_EARLY_OPEN_EARLY_RRK_KBUN_SCREEN, JFUStrConst.EMPTY);

			list.add(childMap);
		}

		parentMap.put("EKK0011D010CBSMsg1List", list);
		param.setData("EKK0011D010", parentMap);

		return param;
	}

	/**
	 * 申込断面登録CC上りマッピング
	 * 
	 * @param workArea
	 * @param param
	 * @return
	 * @throws Exception 
	 */
	@SuppressWarnings("unchecked")
	public IRequestParameterReadWrite setMskmDmenXmlMap(JFUMkmInfoAddFrontiaWorkArea workArea, IRequestParameterReadWrite param) throws Exception
	{

		// JFUAddMskmDmenCCで受付番号拾えるように設定採番SCのタイトルに受付番号を設定。
		
		HashMap<String, Object> parentMap = new HashMap<String, Object>();
		parentMap.put("mskmsho_no", workArea.getMskmsho_no());
		param.setData("SC_TITLE_EKK0021C013", parentMap);
		
		// 申込断面XMLマップ
		HashMap<String, Object> mskmDmenXmlMap = new HashMap<String, Object>();

		//----------------------------------------------
		// 共通情報のマッピング
		//----------------------------------------------
		// 機能コード:1
		mskmDmenXmlMap.put(JCMConstants.FUNC_CODE_KEY, JPCModelConstant.FUNC_CD_1);
		// 種別：フロント
		mskmDmenXmlMap.put(JFUStrConst.MSKM_DMEN_XMLCC_IN_SBT, JFUStrConst.MSKM_DMEN_SBT_FRONT);

		// WEB新規情報
		HashMap web_new_info_map = new HashMap();
		List<HashMap> tmpMapList = new ArrayList<HashMap>();
		HashMap tmpMap = new HashMap();

		// 画面遷移モード
		web_new_info_map.put("screen_mode", JFUStrConst.SCREEN_MODE_DEF);
		// 申込回線サービス・申込マンションタイプ
		setMskmKsnSvc(workArea, web_new_info_map);

		// 申込区分（種別）
		web_new_info_map.put("mskm_kbn", JFUStrConst.MSKM_KBN_NEW);
		// 販売タイプ
		web_new_info_map.put("hanbai_type", JFUStrConst.HNBAI_TYPE_CON);
		// ｅｏＩＤ
		web_new_info_map.put("eoid", "");
		// ｓｙｓＩＤ
		web_new_info_map.put("sysid", "");
		// ｅｏＩＤ会員種別変更承諾
//		web_new_info_map.put("member_sbt", );
		// 契約種別
		web_new_info_map.put("kei_sbt", workArea.getKei_sbt());
		// 電話コース
		if (!JFUBPCommon.isNull(workArea.getEotel_course()) && workArea.getEotel())
		{
			web_new_info_map.put("tel_course", workArea.getEotel_course());
		}
		// 工期文言（ネット）
		web_new_info_map.put("intro_msg_net", "");
		// 工期文言（テレビ）
		web_new_info_map.put("intro_msg_tv", "");
		// 申込区分２
		web_new_info_map.put("mskm_kbn2", JFUStrConst.MSKM_KBN_HON);
		// 回線場所選択
		web_new_info_map.put("kaisen_select", "");
		// アンケート表示フラグ
		web_new_info_map.put("enquete_disp_flg", "");
		// 標準工事費お支払い方法
		web_new_info_map.put("stdard_kojihi_payway", workArea.getStdard_kojihi_payway());
		// 定額サービス
		StringBuilder sb = new StringBuilder();
		List<Map<String, Object>> tegakMapList = workArea.getTegak_svc_list();
		for (int i = 0; i < tegakMapList.size() ; i++)
		{
			Map<String, Object> workMap = tegakMapList.get(i);
//			if ("1".equals(workMap.get(JFUMkmInfoAddFrontiaConstCC.TEGAK_SVC_SHORI_KBN)))
//			{
				if (i > 0)
				{
					sb.append(",");
				}
				sb.append(workMap.get(JFUMkmInfoAddFrontiaConstCC.TEGAK_SVC_KEI_SBT_CD)).append("/").append(workMap.get(JFUMkmInfoAddFrontiaConstCC.TEGAK_SVC_KIKI_SBT_CD));
//			}
		}
		web_new_info_map.put("tegak_svc_course", sb.toString());
		// 電子書面交付同意
		web_new_info_map.put("dnskh_doi_um_screen", workArea.getDnskh_doi_um_screen());

// ANK-4427-00-00 ADD START
		// typeNの場合
		if (JFUMkmInfoAddFrontiaUtil.isTypeN(workArea))
		{
			// 現在利用中のＮＴＴ光ネットサービス
			if(JFUMkmInfoAddFrontiaConstCC.USE_NET_SVC_0.equals(workArea.getUse_net_svc()))
			{
				web_new_info_map.put("now_use_ntt_net_svc", "1");
			}
			else if(JFUMkmInfoAddFrontiaConstCC.USE_NET_SVC_1.equals(workArea.getUse_net_svc()))
			{
				web_new_info_map.put("now_use_ntt_net_svc", "2");
			}
			else if(JFUMkmInfoAddFrontiaConstCC.USE_NET_SVC_2.equals(workArea.getUse_net_svc()))
			{
				web_new_info_map.put("now_use_ntt_net_svc", "3");
			}
			// 転用承諾番号
			web_new_info_map.put("tenyo_shodaku_no", workArea.getTenyo_syodaku_no());
			// 事業者変更承諾番号
			web_new_info_map.put("jigyosha_shodaku_no", workArea.getJigyosya_syodaku_no());
			// 工事希望年月日１
			web_new_info_map.put("koji_kibo_ymd1", workArea.getFirst_koji_kibobi());
			// 工事希望時間帯１
			web_new_info_map.put("koji_kibo_timez1", getKibotimeZ(workArea.getFirst_koji_kibotime()));
			// 工事希望年月日２
			web_new_info_map.put("koji_kibo_ymd2", workArea.getSecond_koji_kibobi());
			// 工事希望時間帯２
			web_new_info_map.put("koji_kibo_timez2", getKibotimeZ(workArea.getSecond_koji_kibotime()));
			// 工事希望年月日３
			web_new_info_map.put("koji_kibo_ymd3", workArea.getThird_koji_kibobi());
			// 工事希望時間帯３
			web_new_info_map.put("koji_kibo_timez3", getKibotimeZ(workArea.getThird_koji_kibotime()));
			// ｔｙｐｅＮフラグ
			if(JFUMkmInfoAddFrontiaConstCC.SERVICE_SBT_TYPEN_HT.equals(workArea.getService_sbt()))
			{
				web_new_info_map.put("typen_flg", "1");
			}
			else if(JFUMkmInfoAddFrontiaConstCC.SERVICE_SBT_TYPEN_MT.equals(workArea.getService_sbt()))
			{
				web_new_info_map.put("typen_flg", "2");
			}
			// 工事希望選択
			if("0".equals(workArea.getKoji_kibo()))
			{
				web_new_info_map.put("koji_kibo_select", "1");
			}
			else if("1".equals(workArea.getKoji_kibo()))
			{
				web_new_info_map.put("koji_kibo_select", "2");
			}
			else if("2".equals(workArea.getKoji_kibo()))
			{
				web_new_info_map.put("koji_kibo_select", "3");
			}
			// 番地未確定時の補足情報
			web_new_info_map.put("ad_bnchi_memo", workArea.getSetting_place_fixed_hsk());
		}
// ANK-4427-00-00 ADD END

		/** PASCO情報 */
		tmpMapList = new ArrayList<HashMap>();
		tmpMap = new HashMap();
		// 郵便番号
		tmpMap.put("pcd", "");
		// 都道府県
		tmpMap.put("state", "");
		// 市区町村・番地
		tmpMap.put("bnchi", "");
		// 丁字名
		tmpMap.put("cho_aza", "");
		// ｘ座標
		tmpMap.put("coord_x", "");
		// ｙ座標
		tmpMap.put("coord_y", "");
		// 住所コード
		tmpMap.put("addcd", workArea.getZ());
		// ｘ座標（平面直角座標第Y系）
		tmpMap.put("coord6_x", workArea.getX6());
		// ｙ座標（平面直角座標第Y系）
		tmpMap.put("coord6_y", workArea.getY6());
		// ＨＦ凡例コード
		tmpMap.put("hf_hcd", "");
		// 光テレビ凡例コード
		tmpMap.put("tv_hcd", "");
		// １０Ｇ申込可能フラグ
		tmpMap.put("mobile_10g", workArea.getFlag_10g());
		// １Ｇ申込可能フラグ
		tmpMap.put("mobile_1g", workArea.getFlag_1g());
		// ２００メガ申込可能フラグ
		tmpMap.put("mobile_200m", "");
		// １００メガ申込可能フラグ
		tmpMap.put("mobile_100m", "");
		// 光テレビ申込可能フラグ
		tmpMap.put("tv", workArea.getFlag_tv());
		// 光電話申込可能フラグ
		tmpMap.put("tel", workArea.getFlag_tel());
		// 経度
		tmpMap.put("lgtd", "");
		// 緯度
		tmpMap.put("lttd", "");
		
		tmpMapList.add(tmpMap);
		web_new_info_map.put("pasco_info", tmpMapList);
		
		/** 利用場所情報 */
		tmpMapList = new ArrayList<HashMap>();
		tmpMap = new HashMap();

		// 郵便番号（上）
		tmpMap.put("useplace_pcd1", workArea.getZip().substring(0, 3));
		// 郵便番号（下）
		tmpMap.put("useplace_pcd2", workArea.getZip().substring(3, 7));
		// 府県・市区町村
		tmpMap.put("useplace_state", workArea.getAdd1());
		// 字
		String strAdd2 = workArea.getAdd2();
		if (!JFUBPCommon.isNull(strAdd2))
		{
			strAdd2 = strAdd2 + JFUStrConst.SPACE;
		}
		tmpMap.put("useplace_aza", strAdd2);
		// 丁目・番地等
		tmpMap.put("useplace_cho_bnchi", workArea.getAdd3());
		// 建物名
		tmpMap.put("useplace_ttm", workArea.getAdd4());
		// 部屋番号
		tmpMap.put("useplace_rrm", workArea.getAdd5());
		// 棟情報
		tmpMap.put("useplace_bildNo", workArea.getTou_no());
		// 電話番号（１）
		tmpMap.put("useplace_telno1", workArea.getUseplace_telno());
		// 電話番号（２）
		tmpMap.put("useplace_telno2", "");
		// 電話番号（３）
		tmpMap.put("useplace_telno3", "");
		// 利用場所の形態
		tmpMap.put("setplace_form", workArea.getSetplace_form());
		// 住まいの階数
		tmpMap.put("setplace_flr", "");
		// 住所番地
		tmpMap.put("setplace_bnchi", workArea.getSetplace_bnchi());
		if (!JFUBPCommon.isNull(workArea.getShunko_rsv_ymd()))
		{
			// 竣工予定年月（年）
			tmpMap.put("shunko_rsv_year", workArea.getShunko_rsv_ymd().substring(0, 4));
			// 竣工予定年月（月）
			tmpMap.put("shunko_rsv_month", workArea.getShunko_rsv_ymd().substring(4, 6));
		}
		// 利用場所の形態文言
		if ("08".equals(workArea.getSetplace_form()))
		{
			tmpMap.put("setplace_form_mng", "一戸建て(持家)");
		} else if ("09".equals(workArea.getSetplace_form()))
		{
			tmpMap.put("setplace_form_mng", "一戸建て(賃貸)");
			
		}
		// 住まいの階数文言
		tmpMap.put("setplace_flr_mng", "");
		// 住所番地文言
		if ("0".equals(workArea.getSetplace_bnchi()))
		{
			tmpMap.put("setplace_bnchi_mng", "建築途中で決まっていない");
		} else if ("1".equals(workArea.getSetplace_bnchi()))
		{
			tmpMap.put("setplace_bnchi_mng", "決まっている");
			
		}
		// 利用中のネット回線
		if ("1".equals(workArea.getUse_net_ksn()))
		{
			tmpMap.put("use_net_ksn", "光回線");
		} else if ("9".equals(workArea.getUse_net_ksn()))
		{
			tmpMap.put("use_net_ksn", "その他光回線以外（or不明）");
		}
		// 利用中の機器の設置場所変更予定
		if ("0".equals(workArea.getKiki_place_chg()))
		{
			tmpMap.put("kiki_place_chg", "位置変更なし");
		} else if ("1".equals(workArea.getKiki_place_chg()))
		{
			tmpMap.put("kiki_place_chg", "位置変更あり（or未定）");
		}
		// 宅内調査と工事の同日実施
		if ("0".equals(workArea.getTkc_koji_same()))
		{
			tmpMap.put("tkc_koji_same", "いいえ（別日で実施）");
		} else if ("1".equals(workArea.getTkc_koji_same()))
		{
			tmpMap.put("tkc_koji_same", "はい（同日実施）");
		}
		// 新築物件コード
		if (JFUStrConst.CD00480_0.equals(workArea.getNewconst_bukken_cd()))
		{
			tmpMap.put("newconst_bukken", "false");
		}
		else if (JFUStrConst.CD00480_1.equals(workArea.getNewconst_bukken_cd()))
		{
			tmpMap.put("newconst_bukken", "true");
		}
		// 調査員訪問の希望有無
		if (JFUStrConst.CHS_VSIT_KIBO_UM_0.equals(workArea.getChs_vsit_kibo_um()))
		{
			tmpMap.put("chs_vsit_kibo_um", "希望しない");
		}
		else if (JFUStrConst.CHS_VSIT_KIBO_UM_1.equals(workArea.getChs_vsit_kibo_um()))
		{
			tmpMap.put("chs_vsit_kibo_um", "希望する");
		}
		// 宅内調査予約形態
		if (JFUStrConst.TAKCHO_RSV_FORM_0.equals(workArea.getTakcho_apo_kaden_kibo_um()))
		{
			tmpMap.put("takcho_rsv_form_screen", "訪問宅調(SMS)");
		}
		else if (JFUStrConst.TAKCHO_RSV_FORM_2.equals(workArea.getTakcho_apo_kaden_kibo_um()))
		{
			tmpMap.put("takcho_rsv_form_screen", "遠隔宅内調査");
		}
		else if (JFUStrConst.TAKCHO_RSV_FORM_3.equals(workArea.getTakcho_apo_kaden_kibo_um()))
		{
			tmpMap.put("takcho_rsv_form_screen", "宅調宅工同時");
		}
		
		tmpMapList.add(tmpMap);
		web_new_info_map.put("riyobasho_info", tmpMapList);
		
		/** 契約者情報 */
		tmpMapList = new ArrayList<HashMap>();
		tmpMap = new HashMap();

		// ｅｏＩＤ
		tmpMap.put("eoid", workArea.getEoid());
		// ソーシャルＩＤ種別
		tmpMap.put("social_id_sbt", workArea.getSocial_id_sbt());
		String[] kshnm = nameSprit(workArea.getKshnm());
		// 氏名（姓）
		tmpMap.put("kshnm_sei", kshnm[0]);
		// 氏名（名）
		tmpMap.put("kshnm_nm", kshnm[1]);
		String[] kshkn = nameSprit(workArea.getKshkn());
		// 氏名かな（姓）
		tmpMap.put("kshkn_sei", kshkn[0]);
		// 氏名かな（名）
		tmpMap.put("kshkn_nm", kshkn[1]);
		
		if (JFUStrConst.KEI_SBT_KOJINCD.equals(workArea.getKei_sbt()))
		{
			// 生年月日（年）
			tmpMap.put("birthd_year", workArea.getBirthday_kojin().substring(0, 4));
			// 生年月日（月）
			tmpMap.put("birthd_month", JCHCommonFormatUtil.toZeroSuppress(workArea.getBirthday_kojin().substring(4, 6)));
			// 生年月日（日）
			tmpMap.put("birthd_day", JCHCommonFormatUtil.toZeroSuppress(workArea.getBirthday_kojin().substring(6, 8)));
		} 
		else if (JFUStrConst.KEI_SBT_HOJINCD.equals(workArea.getKei_sbt()))
		{
			// 生年月日（年）
			tmpMap.put("birthd_year", workArea.getBirthday_hojin().substring(0, 4));
			// 生年月日（月）
			tmpMap.put("birthd_month", JCHCommonFormatUtil.toZeroSuppress(workArea.getBirthday_hojin().substring(4, 6)));
			// 生年月日（日）
			tmpMap.put("birthd_day", JCHCommonFormatUtil.toZeroSuppress(workArea.getBirthday_hojin().substring(6, 8)));
		}
		// 性別
		if (JFUStrConst.CD00245_3.equals(workArea.getSex()))
		{
			tmpMap.put("sex", "");
		} else {
			tmpMap.put("sex", workArea.getSex());
		}
		// 会員種別
		tmpMap.put("kiin_sbt", "");
		// 個人メールアドレス
		if (JFUStrConst.KEI_SBT_KOJINCD.equals(workArea.getKei_sbt()))
		{
			tmpMap.put("kojin_mlad", workArea.getMlad());
		}
		if (JFUStrConst.KEI_SBT_HOJINCD.equals(workArea.getKei_sbt()))
		{
			// 法人名
			tmpMap.put("hojinnm", workArea.getHojinnm());
			// 法人名かな
			tmpMap.put("hojinkn", workArea.getHojinkn());
			String[] dhsnm = nameSprit(workArea.getDhsnm());
			// 代表者氏名（姓）
			tmpMap.put("dhsnm_sei", dhsnm[0]);
			// 代表者氏名（名）
			tmpMap.put("dhsnm_nm", dhsnm[1]);
			String dhskn[] = nameSprit(workArea.getDhskn());
			// 代表者かな（姓）
			tmpMap.put("dhskn_sei", dhskn[0]);
			// 代表者かな（名）
			tmpMap.put("dhskn_nm", dhskn[1]);
			// 法人メールアドレス
			tmpMap.put("hojin_mlad", workArea.getMlad());
		}
		// 契約者住所選択
		tmpMap.put("kshadd_cmf", workArea.getKshadd_cmf());
		// ご契約者住所（現住所）の変更状況
		tmpMap.put("ksh_genadd_change_jk", "");
		// 契約者住所情報を取得
		HashMap<String, Object> contractorAddressMap = (HashMap<String, Object>)param.getData("FUSV015212CC");
		// 契約者情報＿郵便番号
		String ksh_pcd = (String)contractorAddressMap.get("pcd");
		if (!JFUBPCommon.isNull(ksh_pcd))
		{
			// 郵便番号（上）
			tmpMap.put("ksh_pcd1", ksh_pcd.substring(0, 3));
			// 郵便番号（下）
			tmpMap.put("ksh_pcd2", ksh_pcd.substring(3, 7));
		}
		// 都道府県・市区町村
		tmpMap.put("ksh_state", joinMapValue(contractorAddressMap, new String[] { "state_nm", "city_nm", "oaztsu_nm", "azcho_nm", "after_bnchi" }));
		// 字
		tmpMap.put("ksh_aza", "");
		// 丁目・番地等
		tmpMap.put("ksh_cho_bnchi", "");
		// 建物名
		tmpMap.put("ksh_ttm", ((String)contractorAddressMap.get("adrttm")));
		// 部屋番号
		tmpMap.put("ksh_rrm", ((String)contractorAddressMap.get("adrrm")));
		// 電話番号（１）
		tmpMap.put("ksh_telno1", workArea.getKsh_telno());
		// 電話番号（２）
		tmpMap.put("ksh_telno2", "");
		// 電話番号（３）
		tmpMap.put("ksh_telno3", "");
		// 連絡先選択
		tmpMap.put("rrks_choice", "3");
		// 連絡先電話番号（１）
		tmpMap.put("rrks_telno1", workArea.getRrks_telno());
		// 連絡先電話番号（２）
		tmpMap.put("rrks_telno2", "");
		// 連絡先電話番号（３）
		tmpMap.put("rrks_telno3", "");
		// ＦＡＸ連絡希望選択
		tmpMap.put("fax_kibo", workArea.getFax_kibo());
		// ＦＡＸ連絡希望ＦＡＸ番号（１）
		tmpMap.put("faxno1", workArea.getFaxno());
		// ＦＡＸ連絡希望ＦＡＸ番号（２）
		tmpMap.put("faxno2", "");
		// ＦＡＸ連絡希望ＦＡＸ番号（３）
		tmpMap.put("faxno3", "");
		// 関電Ｇ個人情報取扱同意有無文言
		if ("1".equals(workArea.getKepg_kjnif_trat_doi_um()))
		{
			tmpMap.put("kepg_kjnif_trat_doi_um_mng", "同意する");
		} else {
			tmpMap.put("kepg_kjnif_trat_doi_um_mng", "同意しない");
		}
		// 関電Ｇ個人情報提供不可フラグ文言
		if ("1".equals(workArea.getKepg_kjnift_ffg()))
		{
			tmpMap.put("kepg_kjnift_ffg_mng", "不可");
		} else {
			tmpMap.put("kepg_kjnift_ffg_mng", "可");
		}
		// 関西電力とのお客様情報の授受について
		tmpMap.put("kepco_custinfo_juju_doi_um", workArea.getKepco_custinfo_juju_doi_um());
		// 関西電力お客様情報授受同意有無
		if (!JFUMkmInfoAddFrontiaConstCC.SERVICE_SBT_HT.equals(workArea.getService_sbt()))
		{
			// サービス種別が「2：メゾン」または「3：マンション」
			tmpMap.put("kepco_custinfo_juju_doi_um", "0");
		}

		// 連絡先名称
		tmpMap.put("rrks_nm", workArea.getRrks_nm());
		// 本人確認書類選択
		tmpMap.put("honnin_select", "");
		// 本人確認書類詳細
		tmpMap.put("honnin_detail", "");
		// 契約者住所上書フラグ
		tmpMap.put("kshadd_overwrite_flg", workArea.getKshadd_overwrite_flg());
		// 親権者名
		tmpMap.put("sksha_nm", workArea.getSksha());
		String sksha[] = nameSprit(workArea.getSksha());
		// 親権者名（姓）
		tmpMap.put("sksha_sei", sksha[0]);
		// 親権者名（名）
		tmpMap.put("sksha_mei", sksha[1]);
		// 親権者カナ名
		tmpMap.put("sksha_kana", workArea.getSksha_sei());
		String skshaKn[] = nameSprit(workArea.getSksha_sei());
		// 親権者かな名（姓）
		tmpMap.put("sksha_sei_kana", skshaKn[0]);
		// 親権者かな名（名）
		tmpMap.put("sksha_mei_kana", skshaKn[1]);
		if (!JFUBPCommon.isNull(workArea.getSksha_birthday()))
		{
			// 親権者生年月日（年）
			tmpMap.put("sksha_birthd_year", workArea.getSksha_birthday().substring(0, 4));
			// 親権者生年月日（月）
			tmpMap.put("sksha_birthd_month", JCHCommonFormatUtil.toZeroSuppress(workArea.getSksha_birthday().substring(4, 6)));
			// 親権者生年月日（日）
			tmpMap.put("sksha_birthd_day", JCHCommonFormatUtil.toZeroSuppress(workArea.getSksha_birthday().substring(6, 8)));
		}
		// 親権者続柄コード
		tmpMap.put("sksha_zokugara_cd", workArea.getSksha_zokugara_cd());
		// 続柄その他
		tmpMap.put("zokugara_other", workArea.getZokugara_other());
		// 親権者電話番号
		tmpMap.put("sksha_telno", workArea.getSksha_telno());
		// 親権者電話番号（市外局番）
		tmpMap.put("sksha_telno1", "");
		// 親権者電話番号（市内局番）
		tmpMap.put("sksha_telno2", "");
		// 親権者電話番号（番号）
		tmpMap.put("sksha_telno3", "");
		
		tmpMapList.add(tmpMap);
		web_new_info_map.put("keiyakusha_info", tmpMapList);
		
		/** 契約サービス情報 */
		tmpMapList = new ArrayList<HashMap>();
		tmpMap = new HashMap();

		// 申込番号
		tmpMap.put("ttdki_no", "");
		// 更新年月日時分秒（申込）
		tmpMap.put("upd_dtm_mskm_no", "");
		// サービス契約回線内訳番号
		tmpMap.put("svc_kei_kaisen_ucwk_no", "");
		// 更新年月日時分秒（サービス契約回線内訳）
		tmpMap.put("upd_dtm_svc_kei_kaisen_ucwk", "");
		// 仮申込状態
		tmpMap.put("mskm_state", "");
		// 契約中サービス（ネット）
		tmpMap.put("now_svc_net", "");
		// 契約中サービス（電話）
		tmpMap.put("now_svc_tel", "");
		// 契約中サービス（テレビ）
		tmpMap.put("now_svc_tv", "");
		// 選択サービス（ネット）
		if (workArea.getEonet())
		{
			tmpMap.put("select_svc_net", "1");
		} else {
			tmpMap.put("select_svc_net", "0");
		}
		// 選択サービス（電話）
		if (workArea.getEotel())
		{
			tmpMap.put("select_svc_tel", "1");
		} else {
			tmpMap.put("select_svc_tel", "0");
		}
		// 選択サービス（テレビ）
		if (workArea.getEotv())
		{
			tmpMap.put("select_svc_tv", "1");
		} else {
			tmpMap.put("select_svc_tv", "0");
		}
		// 選択サービス（モバイル）
		tmpMap.put("select_svc_mobile", "0");
		// 選択サービス（ＡＤＳＬ）
		tmpMap.put("select_adsl", "");
		// 契約中サービス（モバイル）
		tmpMap.put("now_svc_mobile", "");
		// 申込書番号
		tmpMap.put("mskmsho_no", workArea.getMskmsho_no());
		// ｗｉｆｉ単独契約中フラグ
		tmpMap.put("now_svc_wifi_single", "");
		
		tmpMapList.add(tmpMap);
		web_new_info_map.put("keiyaku_svc_info", tmpMapList);
		
		/** ｅｏ光ネット */
		tmpMapList = new ArrayList<HashMap>();
		tmpMap = new HashMap();

		String fuTeikyoHoshikiPtnCd = JFUMkmInfoAddUtil.getFuTeikyoHoshikiPtnCd(workArea.getW_tk_hoshiki_cd(), workArea.getW_tk_prc_sbt_cd());

		// 申込書番号
		tmpMap.put("mskmsho_no", workArea.getMskmsho_no());
		// 申込明細番号
		tmpMap.put("mskm_dtl_no", "");
		// サービス契約番号
		tmpMap.put("svc_kei_no", "");
		// サービス契約内訳番号
		tmpMap.put("svc_kei_ucwk_no", "");
		// 登録年月日時分秒（申込明細）
		tmpMap.put("upd_dtm_mskm_dtl", "");
		// 更新年月日時分秒（サービス契約）
		tmpMap.put("upd_dtm_svc_kei", "");
		// 更新年月日時分秒（サービス契約内訳）
		tmpMap.put("upd_dtm_svc_kei_ucwk", "");
		// 光ネットコース
		tmpMap.put("net_course", JFUMkmInfoAddFrontiaUtil.getNetCourse(workArea));
		// モデムプラン
		tmpMap.put("modem_plan", "");

		// VDSLマンションの場合
		if (JFUStrConst.TK_HOSHIKI_PTN_VDSL.equals(fuTeikyoHoshikiPtnCd) || JFUStrConst.TK_HOSHIKI_PTN_VDSLS.equals(fuTeikyoHoshikiPtnCd))
		{
			// モデムプラン（レンタル）を設定。
			tmpMap.put("modem_plan", JFUStrConst.MODEM_PLAN_RENT);
		}

		// 即割り
		if ("1".equals(workArea.getNet_sokuwari()))
		{
			tmpMap.put("net_sokuwari", "1");
		} else {
			tmpMap.put("net_sokuwari", "0");
		}
		// 高速割
		tmpMap.put("net_kosokuwari", "");
		// サービス開始希望日
		tmpMap.put("svc_sta_kibo", workArea.getSvc_sta_kibo_ymd());
		// ファミリーパック
		tmpMap.put("fp_mskm", "");
		// 無線ルータ
		tmpMap.put("radio_router_mskm", "");
		// ベーシックルータ
		tmpMap.put("basic_router_mskm", "");
		// 多機能ルーター（無線ルーター機能）
		if ("2".equals(workArea.getRouter_mskm()))
		{
			tmpMap.put("tkn_router_musen_mskm", "1");
		} else {
			tmpMap.put("tkn_router_musen_mskm", "0");
		}
		// 多機能ルーター（有線ルーター機能）
		if ("1".equals(workArea.getRouter_mskm()))
		{
			tmpMap.put("tkn_router_yusen_mskm", "1");
		} else {
			tmpMap.put("tkn_router_yusen_mskm", "0");
		}
		// ＰＬＣアダプタレンタル
		if ("1".equals(workArea.getPlc_mskm()))
		{
			tmpMap.put("plc_mskm", "1");
		} else if ("1".equals(workArea.getMesh_wifi()))
		{
			tmpMap.put("plc_mskm", "2");
		} else
		{
			tmpMap.put("plc_mskm", "0");
		}
		// スティック型ＳＴＢレンタル
		tmpMap.put("net_stick_stb_mskm", workArea.getNet_stick_stb_mskm());
		if ("1".equals(workArea.getNet_stick_stb_mskm()))
		{
			// ＳＭＰ型番
			tmpMap.put("smp_model_no", workArea.getSmp_model_no());
			// ＳＭＰ端末購入受付担当者名
			tmpMap.put("smp_buy_uk_tntsha_nm", workArea.getSmp_buy_uk_tntsha_nm());
		} else {
			// ＳＭＰ型番
			tmpMap.put("smp_model_no", "");
			// ＳＭＰ端末購入受付担当者名
			tmpMap.put("smp_buy_uk_tntsha_nm", "");
		}
		// 電話回線種類
		tmpMap.put("dksn_kind", "");
		// ＩＳＤＮ回線からアナログ回線への切替予定日（年）
		tmpMap.put("isdn_rsv_year", "");
		// ＩＳＤＮ回線からアナログ回線への切替予定日（月）
		tmpMap.put("isdn_rsv_month", "");
		// ＩＳＤＮ回線からアナログ回線への切替予定日（日）
		tmpMap.put("isdn_rsv_day", "");
		// ＡＤＳＬ解約予定日（年）
		tmpMap.put("adsl_rsv_year", "");
		// ＡＤＳＬ解約予定日（月）
		tmpMap.put("adsl_rsv_month", "");
		// ＡＤＳＬ解約予定日（日）
		tmpMap.put("adsl_rsv_day", "");
		// 他社ＶＤＳＬ解約予定日（年）
		tmpMap.put("vdsl_rsv_year", "");
		// 他社ＶＤＳＬ解約予定日（月）
		tmpMap.put("vdsl_rsv_month", "");
		// 他社ＶＤＳＬ解約予定日（日）
		tmpMap.put("vdsl_rsv_day", "");
		// 利用場所電話回線・２回線以上有無
		tmpMap.put("net_hukusu_kisn", "");
		// ネット接続用回線
		tmpMap.put("net_kisn_type", "");
		// 契約者住所以外の回線・電話番号（１）
		tmpMap.put("net_kisn_telno1", "");
		// 契約者住所以外の回線・電話番号（２）
		tmpMap.put("net_kisn_telno2", "");
		// 契約者住所以外の回線・電話番号（３）
		tmpMap.put("net_kisn_telno3", "");
		// 請求契約番号
		tmpMap.put("seiky_kei_no", "");
		// オプションサービス契約番号
		tmpMap.put("op_svc_kei_no", "");
		// 更新年月日時分秒（オプションサービス契約）
		tmpMap.put("upd_dtm_svc_op", "");
		// 世代登録年月日時分秒（サービス契約）
		tmpMap.put("gene_add_dtm_svc_kei", "");
		// 長割り
		if ("1".equals(workArea.getNet_chowari()))
		{
			tmpMap.put("net_chowari", "1");
		} else {
			tmpMap.put("net_chowari", "0");
		}
		// 自動継続
		if ("1".equals(workArea.getNet_chowari()))
		{
			tmpMap.put("auto_keizoku", workArea.getAuto_keizoku());
		} else {
			tmpMap.put("auto_keizoku", "");
		}
		// サービスの引継ぎ
		tmpMap.put("svc_hktgi", "");
		// 解約書の送付
		tmpMap.put("dsl_sho_sofu", "");
		// メールアドレスマイＨＰ継続
		tmpMap.put("mail_myhp_continue", "");
		// 長割申込
		tmpMap.put("chowari_mskm", "1");
		// タブレット端末
		tmpMap.put("tablet_tanmt", "");
		// タブレット端末−端末名
		tmpMap.put("tablet_tanmt_nm_screen", "");
		// タブレット端末−ご希望のキャンペーン
		tmpMap.put("tablet_tanmt_campaign_nm", "");
		// タブレット端末−支払方法
		tmpMap.put("tablet_tanmt_payway", "");
		// タブレット端末−端末補償
		tmpMap.put("tablet_tanmt_comps", "");
		// プレミアムパック
		tmpMap.put("premium_pack", "");
		// 即割り割引コード
		tmpMap.put("net_sokuwari_cd", "");
		// 高速割割引コード
		tmpMap.put("net_kosokuwari_cd", "");
		// ｅｏセキュリティーパック
		if ("1".equals(workArea.getSecurity_pack_mskm()))
		{
			tmpMap.put("security_pack_mskm", "1");
		} else {
			tmpMap.put("security_pack_mskm", "0");
		}
		// リモートサポートプラス
		if ("1".equals(workArea.getSecurity_pack_mskm()))
		{
			tmpMap.put("rmtsprt_mskm", "1");
		} else {
			tmpMap.put("rmtsprt_mskm", workArea.getRmtsprt_mskm());
		}
		// インターネットサギウォール
		tmpMap.put("inetsgwl_mskm", workArea.getInetsgwl_mskm());
		// ノートンファミリープレミア
		tmpMap.put("ntfmlprm_mskm", workArea.getNtfmlprm_mskm());
		// 申し込む（ＰＣプラン）
		tmpMap.put("kk_comp_pc_mskm", workArea.getKk_comp_pc_mskm());
		// 申し込む（ＰＣワイドプラン）
		tmpMap.put("kk_comp_pcw_mskm", workArea.getKk_comp_pcw_mskm());
		// 申し込む（ＴＶプラン）
		tmpMap.put("kk_comp_tv_mskm", workArea.getKk_comp_tv_mskm());

		// マンションは長割即割なし
		if (JFUMkmInfoAddFrontiaConstCC.SERVICE_SBT_MT.equals(workArea.getService_sbt()))
		{
			// 即割り
			tmpMap.put("net_sokuwari", "");
			// 長割り
			tmpMap.put("net_chowari", "");
			// 長割申込
			tmpMap.put("chowari_mskm", "");
		}

// ANK-4427-00-00 ADD START
		// typeNの場合
		if (JFUMkmInfoAddFrontiaUtil.isTypeN(workArea))
		{
			if ("1".equals(workArea.getUse_bmp_1()))
			{
				// 番ポ利用有無
				tmpMap.put("use_bmp", "1");
				// 番ポ・設置場所住所選択
				tmpMap.put("bmp_stc_place_ad_choice", workArea.getBmp_stc_place_ad_choice_1());
				// 番ポ・電話番号（１）
				tmpMap.put("bmp_telno1", workArea.getBmp_telno_1());
				// 番ポ・電話番号（２）
				tmpMap.put("bmp_telno2", "");
				// 番ポ・電話番号（３）
				tmpMap.put("bmp_telno3", "");
				// 番ポ・電話サービス提供事業者コード
				tmpMap.put("bmp_tel_svctk_jgs", workArea.getBmp_tel_svctk_jgs_1());
				// 番ポ・ＮＴＴ番号移転手続き名称
				if (JFUStrConst.BMP_USE_PLC_CD_HIKKOSHI.equals(workArea.getBmp_ad_choice_1()))
				{
					if ("0".equals(workArea.getNtt_no_iten_ttdk_choice_1()))
					{
						tmpMap.put("ntt_no_iten_ttdk_screen", "お客さまにて手続きを実施する");
					} else if ("1".equals(workArea.getNtt_no_iten_ttdk_choice_1())){
						tmpMap.put("ntt_no_iten_ttdk_screen", "当社にて手続きを実施する");
					} else {
						tmpMap.put("ntt_no_iten_ttdk_screen", "");
					}
				}
				// 番ポ・電話サービス提供事業者名
				tmpMap.put("bmp_tel_svctk_jgs_nm", workArea.getBmp_tel_svctk_jgs_nm_1());
				// 番ポ・契約者名義選択
				tmpMap.put("bmp_kshnm_choice", workArea.getBmp_kshnm_choice_1());
				String bmp_kshnm[] = nameSprit(workArea.getBmp_kshnm_1());
				// 番ポ・契約者名義（姓）
				tmpMap.put("bmp_kshnm_sei", bmp_kshnm[0]);
				// 番ポ・契約者名義（名）
				tmpMap.put("bmp_kshnm_nm", bmp_kshnm[1]);
				String bmp_kshkn[] = nameSprit(workArea.getBmp_kshkn_1());
				// 番ポ・契約者名義かな（姓）
				tmpMap.put("bmp_kshkn_sei", bmp_kshkn[0]);
				// 番ポ・契約者名義かな（名）
				tmpMap.put("bmp_kshkn_nm", bmp_kshkn[1]);
				if (JFUStrConst.KEI_SBT_HOJINCD.equals(workArea.getKei_sbt()))
				{
					// 番ポ・契約者名義（法人）
					tmpMap.put("bmp_kshnm_hojin", workArea.getBmp_kshnm_1());
					// 番ポ・契約者名義かな（法人）
					tmpMap.put("bmp_kshkn_hojin", workArea.getBmp_kshkn_1());
				}
				// ｅｏ光電話（１番号）の番ポ住所情報を取得
				HashMap<String, Object> bmpAddressMap1 = (HashMap<String, Object>)param.getData("FUSV016008CC");
				// 番ポ・郵便番号＿１
				String bmp_pcd_1 = (String)bmpAddressMap1.get("pcd");
				if (!JFUBPCommon.isNull(bmp_pcd_1))
				{
					// 番ポ・郵便番号（上）
					tmpMap.put("bmp_pcd1", bmp_pcd_1.substring(0, 3));
					// 番ポ・郵便番号（下）
					tmpMap.put("bmp_pcd2", bmp_pcd_1.substring(3, 7));
				}
				// 番ポ・府県・市区町村
				tmpMap.put("bmp_state", joinMapValue(bmpAddressMap1, new String[] { "state_nm", "city_nm", "oaztsu_nm", "azcho_nm", "after_bnchi" }));
				// 番ポ・字
				tmpMap.put("bmp_aza", "");
				// 番ポ・丁目・番地等
				tmpMap.put("bmp_cho_bnchi", "");
				// 番ポ・建物名
				tmpMap.put("bmp_ttm", bmpAddressMap1.get("adrttm"));
				// 番ポ・部屋番号
				tmpMap.put("bmp_rrm", bmpAddressMap1.get("adrrm"));
				// 番ポ・住所選択
				tmpMap.put("bmp_ad_choice", workArea.getBmp_ad_choice_1());
				// 番ポ・住所選択名称コード
				tmpMap.put("bmp_use_plc", workArea.getBmp_ad_choice_1());
				// 番ポ・住所選択名称
				if ("1".equals( workArea.getBmp_ad_choice_1()))
				{
					tmpMap.put("bmp_use_plc_screen", "現在のご利用場所で利用");
				} else if ("2".equals( workArea.getBmp_ad_choice_1()))
				{
					tmpMap.put("bmp_use_plc_screen", "契約者住所と電話サービス契約住所が同じ");
				} else if ("3".equals( workArea.getBmp_ad_choice_1()))
				{
					tmpMap.put("bmp_use_plc_screen", "引越し先で利用");
					tmpMap.put("bmp_use_plc", JFUStrConst.BMP_USE_PLC_NAME_CD_HIKKOSHI);
				}
				// 番ポ・ＮＴＴ番号移転手続き選択
				if ("0".equals(workArea.getNtt_no_iten_ttdk_choice_1()))
				{
					tmpMap.put("ntt_no_iten_ttdk_choice", true);
				}
				else if ("1".equals(workArea.getNtt_no_iten_ttdk_choice_1()))
				{
					tmpMap.put("ntt_no_iten_ttdk_choice", false);
				}
				// 番ポ・設置場所住所選択名称
				if ("1".equals(workArea.getBmp_stc_place_ad_choice_1()))
				{
					tmpMap.put("bmp_stc_place_ad_choice_nm", "利用場所住所と同じ");
				}
				else if ("2".equals(workArea.getBmp_stc_place_ad_choice_1()))
				{
					tmpMap.put("bmp_stc_place_ad_choice_nm", "契約者住所と同じ");
				}
				else if ("3".equals(workArea.getBmp_stc_place_ad_choice_1()))
				{
					tmpMap.put("bmp_stc_place_ad_choice_nm", "その他住所");
				}
				// 番ポ・電話番号選択
				tmpMap.put("bmp_telno_choice", "");
				// 番ポ・契約者名義選択名称
				if( "0".equals(workArea.getBmp_kshnm_choice_1()))
				{
					tmpMap.put("bmp_kshnm_choice_nm", "その他の契約者名義");
				}
				else if( "1".equals(workArea.getBmp_kshnm_choice_1()))
				{
					tmpMap.put("bmp_kshnm_choice_nm", "契約申込者と同じ");
				}
			}
			else
			{
				// 番ポ利用有無
// ANK-4640-00-00 MOD START
//				tmpMap.put("use_bmp", "0");
				tmpMap.put("use_bmp", workArea.getUse_bmp_1());
// ANK-4640-00-00 MOD END
			}

			// 発信者番号通知
			if ("1".equals(workArea.getHashinno_tch_1()))
			{
				tmpMap.put("hashinno_tch", "1");
			} else {
				tmpMap.put("hashinno_tch", "0");
			}
			// あんしん電話パック
			if ("1".equals(workArea.getEase_pack_1()))
			{
				// 発信者番号表示
				tmpMap.put("hashinno_dsp", "");
				// 非通知着信拒否
				tmpMap.put("hitsuchi_dny", "");
			} else {
				// 発信者番号表示
				if ("1".equals(workArea.getHashinno_dsp_1()))
				{
					tmpMap.put("hashinno_dsp", "1");
				} else {
					tmpMap.put("hashinno_dsp", "0");
				}
				// 非通知着信拒否
				if ("1".equals(workArea.getHitsuchi_dny_1()))
				{
					tmpMap.put("hitsuchi_dny", "1");
				} else {
					tmpMap.put("hitsuchi_dny", "0");
				}
			}
			// ｅｏ光電話
			if (JFUStrConst.TEL_COURSE_1BANGOU_SVC.equals(workArea.getEotel_course()))
			{
				tmpMap.put("eo_tel", "1");
			}
			else
			{
				tmpMap.put("eo_tel", "0");
			}
		}
// ANK-4427-00-00 ADD END

		tmpMapList.add(tmpMap);
		web_new_info_map.put("eonet", tmpMapList);
		
		/** 機器情報リスト（ネット） */
		tmpMapList = new ArrayList<HashMap>();
		tmpMap = new HashMap();

		// 機器提供サービス契約番号
		tmpMap.put("kktk_svc_kei_no", "");
		// 更新年月日時分秒（機器提供サービス契約）
		tmpMap.put("upd_dtm_kktk_svc_kei", "");
		// 機器提供サービスコード
		tmpMap.put("kktk_svc_cd", "");
		// 機器提供サービス名称
		tmpMap.put("kktk_svc_nm", "");
		// 料金コースコード
		tmpMap.put("pcrs_cd", "");
		// 料金プランコード
		tmpMap.put("pplan_cd", "");
		// 宅内機器種別コード
		tmpMap.put("taknkiki_sbt_cd", "");
		// 入力種別コード
		tmpMap.put("ipt_sbt_cd", "");

		tmpMapList.add(tmpMap);
		web_new_info_map.put("kiki_info_net", tmpMapList);
		
// ANK-4427-00-00 ADD START
		// typeNでない場合
		if (!JFUMkmInfoAddFrontiaUtil.isTypeN(workArea))
		{
// ANK-4427-00-00 ADD END
			/** ｅｏ光電話 1番号*/
			tmpMapList = new ArrayList<HashMap>();
			tmpMap = new HashMap();
			// 申込書番号
			tmpMap.put("mskmsho_no", workArea.getMskmsho_no());
			// 申込明細番号
			tmpMap.put("mskm_dtl_no", "");
			// サービス契約番号
			tmpMap.put("svc_kei_no", "");
			// サービス契約内訳番号
			tmpMap.put("svc_kei_ucwk_no", "");
			// 登録年月日時分秒（申込明細）
			tmpMap.put("upd_dtm_mskm_dtl", "");
			// 更新年月日時分秒（サービス契約）
			tmpMap.put("upd_dtm_svc_kei", "");
			// 更新年月日時分秒（サービス契約内訳）
			tmpMap.put("upd_dtm_svc_kei_ucwk", "");
			// 発信者番号通知
			if ("1".equals(workArea.getHashinno_tch_1()))
			{
				tmpMap.put("hashinno_tch", "1");
			} else {
				tmpMap.put("hashinno_tch", "0");
			}
			// 割込電話
			tmpMap.put("warikomi_tel", "");
			// 転送電話サービス
			tmpMap.put("forward_tel", "");
			// あんしん電話パック
			if ("1".equals(workArea.getEase_pack_1()))
			{
				tmpMap.put("ease_pack", "1");
				// 発信者番号表示
				tmpMap.put("hashinno_dsp", "");
				// 非通知着信拒否
				tmpMap.put("hitsuchi_dny", "");
			} else {
				tmpMap.put("ease_pack", "0");
				// 発信者番号表示
				if ("1".equals(workArea.getHashinno_dsp_1()))
				{
					tmpMap.put("hashinno_dsp", "1");
				} else {
					tmpMap.put("hashinno_dsp", "0");
				}
				// 非通知着信拒否
				if ("1".equals(workArea.getHitsuchi_dny_1()))
				{
					tmpMap.put("hitsuchi_dny", "1");
				} else {
					tmpMap.put("hitsuchi_dny", "0");
				}
			}
			// ｅｏ光電話パック３
			tmpMap.put("eohtl_pack3", "");
			// ｅｏ光電話パック７
			tmpMap.put("eohtl_pack7", "");
			if ("1".equals(workArea.getUse_bmp_1()))
			{
				// 番ポ利用有無
				tmpMap.put("use_bmp", "1");
				// 番ポ・住所選択名称コード
				tmpMap.put("bmp_use_plc", workArea.getBmp_ad_choice_1());
				// 番ポ・住所選択名称
				if ("1".equals( workArea.getBmp_ad_choice_1()))
				{
					tmpMap.put("bmp_use_plc_screen", "現在のご利用場所で利用");
				} else if ("2".equals( workArea.getBmp_ad_choice_1()))
				{
					tmpMap.put("bmp_use_plc_screen", "契約者住所と電話サービス契約住所が同じ");
				} else if ("3".equals( workArea.getBmp_ad_choice_1()))
				{
					tmpMap.put("bmp_use_plc_screen", "引越し先で利用");
					tmpMap.put("bmp_use_plc", JFUStrConst.BMP_USE_PLC_NAME_CD_HIKKOSHI);
				}
				// 番ポ・ＮＴＴ番号移転手続き名称
				if (JFUStrConst.BMP_USE_PLC_CD_HIKKOSHI.equals(workArea.getBmp_ad_choice_1()))
				{
					if ("0".equals(workArea.getNtt_no_iten_ttdk_choice_1()))
					{
						tmpMap.put("ntt_no_iten_ttdk_screen", "お客さまにて手続きを実施する");
					} else if ("1".equals(workArea.getNtt_no_iten_ttdk_choice_1())){
						tmpMap.put("ntt_no_iten_ttdk_screen", "当社にて手続きを実施する");
					} else {
						tmpMap.put("ntt_no_iten_ttdk_screen", "");
					}
				}
				// 番ポ・住所選択
				tmpMap.put("bmp_ad_choice", workArea.getBmp_ad_choice_1());
				// 番ポ・設置場所住所選択
				tmpMap.put("bmp_stc_place_ad_choice", workArea.getBmp_stc_place_ad_choice_1());
				// 番ポ・電話番号（１）
				tmpMap.put("bmp_telno1", workArea.getBmp_telno_1());
				// 番ポ・電話番号（２）
				tmpMap.put("bmp_telno2", "");
				// 番ポ・電話番号（３）
				tmpMap.put("bmp_telno3", "");
				// 番ポ・電話サービス提供事業者コード
				tmpMap.put("bmp_tel_svctk_jgs", workArea.getBmp_tel_svctk_jgs_1());
				// 番ポ・電話サービス提供事業者名
				tmpMap.put("bmp_tel_svctk_jgs_nm", workArea.getBmp_tel_svctk_jgs_nm_1());
				// 番ポ・契約者名義選択
				tmpMap.put("bmp_kshnm_choice", workArea.getBmp_kshnm_choice_1());

				// ｅｏ光電話（１番号）の番ポ住所情報を取得
				HashMap<String, Object> bmpAddressMap1 = (HashMap<String, Object>)param.getData("FUSV016008CC");
				// 番ポ・郵便番号＿１
				String bmp_pcd_1 = (String)bmpAddressMap1.get("pcd");
				if (!JFUBPCommon.isNull(bmp_pcd_1))
				{
					// 番ポ・郵便番号（上）
					tmpMap.put("bmp_pcd1", bmp_pcd_1.substring(0, 3));
					// 番ポ・郵便番号（下）
					tmpMap.put("bmp_pcd2", bmp_pcd_1.substring(3, 7));
				}

				// 番ポ・府県・市区町村
				tmpMap.put("bmp_state", joinMapValue(bmpAddressMap1, new String[] { "state_nm", "city_nm", "oaztsu_nm", "azcho_nm", "after_bnchi" }));
				// 番ポ・字
				tmpMap.put("bmp_aza", "");
				// 番ポ・丁目・番地等
				tmpMap.put("bmp_cho_bnchi", "");
				// 番ポ・建物名
				tmpMap.put("bmp_ttm", bmpAddressMap1.get("adrttm"));
				// 番ポ・部屋番号
				tmpMap.put("bmp_rrm", bmpAddressMap1.get("adrrm"));
				String bmp_kshnm[] = nameSprit(workArea.getBmp_kshnm_1());
				// 番ポ・契約者名義（姓）
				tmpMap.put("bmp_kshnm_sei", bmp_kshnm[0]);
				// 番ポ・契約者名義（名）
				tmpMap.put("bmp_kshnm_nm", bmp_kshnm[1]);
				String bmp_kshkn[] = nameSprit(workArea.getBmp_kshkn_1());
				// 番ポ・契約者名義かな（姓）
				tmpMap.put("bmp_kshkn_sei", bmp_kshkn[0]);
				// 番ポ・契約者名義かな（名）
				tmpMap.put("bmp_kshkn_nm", bmp_kshkn[1]);
				if (JFUStrConst.KEI_SBT_HOJINCD.equals(workArea.getKei_sbt()))
				{
					// 番ポ・契約者名義（法人）
					tmpMap.put("bmp_kshnm_hojin", workArea.getBmp_kshnm_1());
					// 番ポ・契約者名義かな（法人）
					tmpMap.put("bmp_kshkn_hojin", workArea.getBmp_kshkn_1());
				}
				// 請求契約番号
				tmpMap.put("seiky_kei_no", "");
				// 番ポキャンセルフラグ
				tmpMap.put("bmp_cancel_flg", "");
			} else {
				// 番ポ利用有無
				tmpMap.put("use_bmp", "0");
			}
			// 世代登録年月日時分秒（サービス契約）
			tmpMap.put("gene_add_dtm_svc_kei", "");
			// オプションサービス契約番号
			tmpMap.put("op_svc_kei_no", "");
			// 更新年月日時分秒（オプションサービス契約）
			tmpMap.put("upd_dtm_svc_op", "");

			tmpMapList.add(tmpMap);
			
			/** ｅｏ光電話 2番号*/
			tmpMap = new HashMap();

			// 申込書番号
			tmpMap.put("mskmsho_no", workArea.getMskmsho_no());
			// 申込明細番号
			tmpMap.put("mskm_dtl_no", "");
			// サービス契約番号
			tmpMap.put("svc_kei_no", "");
			// サービス契約内訳番号
			tmpMap.put("svc_kei_ucwk_no", "");
			// 登録年月日時分秒（申込明細）
			tmpMap.put("upd_dtm_mskm_dtl", "");
			// 更新年月日時分秒（サービス契約）
			tmpMap.put("upd_dtm_svc_kei", "");
			// 更新年月日時分秒（サービス契約内訳）
			tmpMap.put("upd_dtm_svc_kei_ucwk", "");
			// 発信者番号通知
			if ("1".equals(workArea.getHashinno_tch_2()))
			{
				tmpMap.put("hashinno_tch", "1");
			} else {
				tmpMap.put("hashinno_tch", "0");
			}
			// 割込電話
			tmpMap.put("warikomi_tel", "");
			// 転送電話サービス
			tmpMap.put("forward_tel", "");
			// あんしん電話パック
			if ("1".equals(workArea.getEase_pack_2()))
			{
				tmpMap.put("ease_pack", "1");
				// 発信者番号表示
				tmpMap.put("hashinno_dsp", "");
				// 非通知着信拒否
				tmpMap.put("hitsuchi_dny", "");
			} else {
				tmpMap.put("ease_pack", "0");
				// 発信者番号表示
				if ("1".equals(workArea.getHashinno_dsp_2()))
				{
					tmpMap.put("hashinno_dsp", "1");
				} else {
					tmpMap.put("hashinno_dsp", "0");
				}
				// 非通知着信拒否
				if ("1".equals(workArea.getHitsuchi_dny_2()))
				{
					tmpMap.put("hitsuchi_dny", "1");
				} else {
					tmpMap.put("hitsuchi_dny", "0");
				}
			}
			// ｅｏ光電話パック３
			tmpMap.put("eohtl_pack3", "");
			// ｅｏ光電話パック７
			tmpMap.put("eohtl_pack7", "");
			if ("1".equals(workArea.getUse_bmp_2()))
			{
				// 番ポ利用有無
				tmpMap.put("use_bmp", "1");
				// 番ポ・住所選択名称コード
				tmpMap.put("bmp_use_plc", workArea.getBmp_ad_choice_2());
				// 番ポ・住所選択名称
				if ("1".equals( workArea.getBmp_ad_choice_2()))
				{
					tmpMap.put("bmp_use_plc_screen", "現在のご利用場所で利用");
				} else if ("2".equals( workArea.getBmp_ad_choice_2()))
				{
					tmpMap.put("bmp_use_plc_screen", "契約者住所と電話サービス契約住所が同じ");
				} else if ("3".equals( workArea.getBmp_ad_choice_2()))
				{
					tmpMap.put("bmp_use_plc_screen", "引越し先で利用");
					tmpMap.put("bmp_use_plc", JFUStrConst.BMP_USE_PLC_NAME_CD_HIKKOSHI);
				}
				// 番ポ・ＮＴＴ番号移転手続き名称
				if (JFUStrConst.BMP_USE_PLC_CD_HIKKOSHI.equals(workArea.getBmp_ad_choice_2()))
				{
					if ("0".equals(workArea.getNtt_no_iten_ttdk_choice_2()))
					{
						tmpMap.put("ntt_no_iten_ttdk_screen", "お客さまにて手続きを実施する");
					} else if ("1".equals(workArea.getNtt_no_iten_ttdk_choice_2())){
						tmpMap.put("ntt_no_iten_ttdk_screen", "当社にて手続きを実施する");
					} else {
						tmpMap.put("ntt_no_iten_ttdk_screen", "");
					}
				}
				// 番ポ・住所選択
				tmpMap.put("bmp_ad_choice", workArea.getBmp_ad_choice_2());
				// 番ポ・設置場所住所選択
				tmpMap.put("bmp_stc_place_ad_choice", workArea.getBmp_stc_place_ad_choice_2());
				// 番ポ・電話番号（１）
				tmpMap.put("bmp_telno1", workArea.getBmp_telno_2());
				// 番ポ・電話番号（２）
				tmpMap.put("bmp_telno2", "");
				// 番ポ・電話番号（３）
				tmpMap.put("bmp_telno3", "");
				// 番ポ・電話サービス提供事業者コード
				tmpMap.put("bmp_tel_svctk_jgs", workArea.getBmp_tel_svctk_jgs_2());
				// 番ポ・電話サービス提供事業者名
				tmpMap.put("bmp_tel_svctk_jgs_nm", workArea.getBmp_tel_svctk_jgs_nm_2());
				// 番ポ・契約者名義選択
				tmpMap.put("bmp_kshnm_choice", workArea.getBmp_kshnm_choice_2());

				// ｅｏ光電話（２番号）の番ポ住所情報を取得
				HashMap<String, Object> bmpAddressMap2 = (HashMap<String, Object>)param.getData("FUSV016009CC");
				// 番ポ・郵便番号＿２
				String bmp_pcd_2 = (String)bmpAddressMap2.get("pcd");
				if (!JFUBPCommon.isNull(bmp_pcd_2))
				{
					// 番ポ・郵便番号（上）
					tmpMap.put("bmp_pcd1", bmp_pcd_2.substring(0, 3));
					// 番ポ・郵便番号（下）
					tmpMap.put("bmp_pcd2", bmp_pcd_2.substring(3, 7));
				}
				// 番ポ・府県・市区町村
				tmpMap.put("bmp_state", joinMapValue(bmpAddressMap2, new String[] { "state_nm", "city_nm", "oaztsu_nm", "azcho_nm", "after_bnchi" }));
				// 番ポ・字
				tmpMap.put("bmp_aza", "");
				// 番ポ・丁目・番地等
				tmpMap.put("bmp_cho_bnchi", "");
				// 番ポ・建物名
				tmpMap.put("bmp_ttm", bmpAddressMap2.get("adrttm"));
				// 番ポ・部屋番号
				tmpMap.put("bmp_rrm", bmpAddressMap2.get("adrrm"));
				String bmp_kshnm[] = nameSprit(workArea.getBmp_kshnm_2());
				// 番ポ・契約者名義（姓）
				tmpMap.put("bmp_kshnm_sei", bmp_kshnm[0]);
				// 番ポ・契約者名義（名）
				tmpMap.put("bmp_kshnm_nm", bmp_kshnm[1]);
				String bmp_kshkn[] = nameSprit(workArea.getBmp_kshkn_2());
				// 番ポ・契約者名義かな（姓）
				tmpMap.put("bmp_kshkn_sei", bmp_kshkn[0]);
				// 番ポ・契約者名義かな（名）
				tmpMap.put("bmp_kshkn_nm", bmp_kshkn[1]);
				if (JFUStrConst.KEI_SBT_HOJINCD.equals(workArea.getKei_sbt()))
				{
					// 番ポ・契約者名義（法人）
					tmpMap.put("bmp_kshnm_hojin", workArea.getBmp_kshnm_2());
					// 番ポ・契約者名義かな（法人）
					tmpMap.put("bmp_kshkn_hojin", workArea.getBmp_kshkn_2());
				}
				// 請求契約番号
				tmpMap.put("seiky_kei_no", "");
				// 番ポキャンセルフラグ
				tmpMap.put("bmp_cancel_flg", "");
			} else {
				// 番ポ利用有無
				tmpMap.put("use_bmp", "0");
			}
			// 世代登録年月日時分秒（サービス契約）
			tmpMap.put("gene_add_dtm_svc_kei", "");
			// オプションサービス契約番号
			tmpMap.put("op_svc_kei_no", "");
			// 更新年月日時分秒（オプションサービス契約）
			tmpMap.put("upd_dtm_svc_op", "");
			
			tmpMapList.add(tmpMap);
			web_new_info_map.put("eotel", tmpMapList);
// ANK-4427-00-00 ADD START
		}
// ANK-4427-00-00 ADD END
		
		/** 機器情報リスト（電話） */
		tmpMapList = new ArrayList<HashMap>();
		tmpMap = new HashMap();

		// 機器提供サービス契約番号
		tmpMap.put("kktk_svc_kei_no", "");
		// 更新年月日時分秒（機器提供サービス契約）
		tmpMap.put("upd_dtm_kktk_svc_kei", "");
		// 機器提供サービスコード
		tmpMap.put("kktk_svc_cd", "");
		// 機器提供サービス名称
		tmpMap.put("kktk_svc_nm", "");
		// 料金コースコード
		tmpMap.put("pcrs_cd", "");
		// 料金プランコード
		tmpMap.put("pplan_cd", "");
		// 宅内機器種別コード
		tmpMap.put("taknkiki_sbt_cd", "");
		// 入力種別コード
		tmpMap.put("ipt_sbt_cd", "");

		tmpMapList.add(tmpMap);
		web_new_info_map.put("kiki_info_tel", tmpMapList);
		
		/** ｅｏ光テレビ */
		tmpMapList = new ArrayList<HashMap>();
		tmpMap = new HashMap();

		// 申込書番号
		tmpMap.put("mskmsho_no", "");
		// 申込明細番号
		tmpMap.put("mskm_dtl_no", "");
		// サービス契約番号
		tmpMap.put("svc_kei_no", "");
		// サービス契約内訳番号
		tmpMap.put("svc_kei_ucwk_no", "");
		// 登録年月日時分秒（申込明細）
		tmpMap.put("upd_dtm_mskm_dtl", "");
		// 更新年月日時分秒（サービス契約）
		tmpMap.put("upd_dtm_svc_kei", "");
		// 更新年月日時分秒（サービス契約内訳）
		tmpMap.put("upd_dtm_svc_kei_ucwk", "");
		// テレビコース
		tmpMap.put("tv_course", JFUStrConst.TV_COURSE_KCAT);
		// テレビコース（ｅｏ光テレビ入力）
		tmpMap.put("eo_tv_course", workArea.getEo_tv_course());
		// テレビ．コース選択（表示）
		if ("1".equals(workArea.getEo_tv_course()))
		{
			tmpMap.put("mskm_svc_choice_nm_cfm_screen", "地デジ・BSコース");
		} else if ("2".equals(workArea.getEo_tv_course()))
		{
			tmpMap.put("mskm_svc_choice_nm_cfm_screen", "スマートプレミアム・スマートベーシック・スマートコンパクト");
		} else if ("3".equals(workArea.getEo_tv_course()))
		{
			tmpMap.put("mskm_svc_choice_nm_cfm_screen", "地デジ・BSコース　スターチャンネルセット");
		}
// ANK-4592-00-00 ADD START
		else if ("4".equals(workArea.getEo_tv_course()))
		{
			tmpMap.put("mskm_svc_choice_nm_cfm_screen", "CSベーシック");
		}
		else if ("5".equals(workArea.getEo_tv_course()))
		{
			tmpMap.put("mskm_svc_choice_nm_cfm_screen", "CSプレミアム");
		}
// ANK-4592-00-00 ADD END
		// テレビチューナー台数
		tmpMap.put("stb_cnt", workArea.getStb_cnt());
		// ガイド誌数
		tmpMap.put("guidemg_cnt", workArea.getGuidemg_cnt());
		// テレビチューナー・種類（１）
		tmpMap.put("stb_hd1", convertStbHd(workArea.getStb_hd1()));
		// テレビチューナー・機器（１）
		tmpMap.put("stb_hd1_kiki", workArea.getStb_hd1_kiki());
		// テレビチューナー・種類（２）
		tmpMap.put("stb_hd2", convertStbHd(workArea.getStb_hd2()));
		// テレビチューナー・機器（２）
		tmpMap.put("stb_hd2_kiki", workArea.getStb_hd2_kiki());
		// テレビチューナー・種類（３）
		tmpMap.put("stb_hd3", convertStbHd(workArea.getStb_hd3()));
		// テレビチューナー・機器（３）
		tmpMap.put("stb_hd3_kiki", workArea.getStb_hd3_kiki());
		// テレビチューナー・種類（４）
		tmpMap.put("stb_hd4", convertStbHd(workArea.getStb_hd4()));
		// テレビチューナー・機器（４）
		tmpMap.put("stb_hd4_kiki", workArea.getStb_hd4_kiki());
		// テレビチューナー・種類（５）
		tmpMap.put("stb_hd5", convertStbHd(workArea.getStb_hd5()));
		// テレビチューナー・機器（５）
		tmpMap.put("stb_hd5_kiki", workArea.getStb_hd5_kiki());
		// 請求契約番号
		tmpMap.put("seiky_kei_no", "");
		// テレビチューナー・名称（１）
		if (!JFUBPCommon.isNull(workArea.getStb_hd1_model_nm()))
		{
			tmpMap.put("stb_hd1_nm", workArea.getStb_hd1_model_nm() + JFUStrConst.KIGOU_KAKKO_STA + workArea.getStb_hd1_kiki() + JFUStrConst.KIGOU_KAKKO_END);
		}
		// テレビチューナー・名称（２）
		if (!JFUBPCommon.isNull(workArea.getStb_hd2_model_nm()))
		{
			tmpMap.put("stb_hd2_nm", workArea.getStb_hd2_model_nm() + JFUStrConst.KIGOU_KAKKO_STA + workArea.getStb_hd2_kiki() + JFUStrConst.KIGOU_KAKKO_END);
		}
		// テレビチューナー・名称（３）
		if (!JFUBPCommon.isNull(workArea.getStb_hd3_model_nm()))
		{
			tmpMap.put("stb_hd3_nm", workArea.getStb_hd3_model_nm() + JFUStrConst.KIGOU_KAKKO_STA + workArea.getStb_hd3_kiki() + JFUStrConst.KIGOU_KAKKO_END);
		}
		// テレビチューナー・名称（４）
		if (!JFUBPCommon.isNull(workArea.getStb_hd4_model_nm()))
		{
			tmpMap.put("stb_hd4_nm", workArea.getStb_hd4_model_nm() + JFUStrConst.KIGOU_KAKKO_STA + workArea.getStb_hd4_kiki() + JFUStrConst.KIGOU_KAKKO_END);
		}
		// テレビチューナー・名称（５）
		if (!JFUBPCommon.isNull(workArea.getStb_hd5_model_nm()))
		{
			tmpMap.put("stb_hd5_nm", workArea.getStb_hd5_model_nm() + JFUStrConst.KIGOU_KAKKO_STA + workArea.getStb_hd5_kiki() + JFUStrConst.KIGOU_KAKKO_END);
		}
		// 世代登録年月日時分秒（サービス契約）
		tmpMap.put("gene_add_dtm_svc_kei", "");
		// 宅内機器種別コード
		tmpMap.put("taknkiki_sbt_cd", "");
		// 機器提供サービスコード
		tmpMap.put("kktk_svc_cd", "");

		tmpMapList.add(tmpMap);
		web_new_info_map.put("eotv", tmpMapList);
		
		/** 機器情報リスト（テレビ） */
		tmpMapList = new ArrayList<HashMap>();
		tmpMap = new HashMap();

		// 機器提供サービス契約番号
		tmpMap.put("kktk_svc_kei_no", "");
		// 更新年月日時分秒（機器提供サービス契約）
		tmpMap.put("upd_dtm_kktk_svc_kei", "");
		// 機器提供サービスコード
		tmpMap.put("kktk_svc_cd", "");
		// 機器提供サービス名称
		tmpMap.put("kktk_svc_nm", "");
		// 料金コースコード
		tmpMap.put("pcrs_cd", "");
		// 料金プランコード
		tmpMap.put("pplan_cd", "");
		// 宅内機器種別コード
		tmpMap.put("taknkiki_sbt_cd", "");
		// 入力種別コード
		tmpMap.put("ipt_sbt_cd", "");

		tmpMapList.add(tmpMap);
		web_new_info_map.put("kiki_info_tv", tmpMapList);
		
		/** ｅｏモバイル */
		tmpMapList = new ArrayList<HashMap>();
		tmpMap = new HashMap();

		tmpMapList.add(tmpMap);
		web_new_info_map.put("eomobile", tmpMapList);
		
		/** コンテンツ情報 */
		tmpMapList = new ArrayList<HashMap>();
		tmpMap = new HashMap();

		for (Map<String, Object> contMap : workArea.getCont_svc_list())
		{
			// コンテンツサービス名
			tmpMap.put("cont_svc_nm", contMap.get(JFUMkmInfoAddFrontiaConstCC.CONT_SVC_NM));
			// コンテンツサービス申込選択
			tmpMap.put("cont_svc_mskm_choice", "true");
		}

		tmpMapList.add(tmpMap);
		web_new_info_map.put("cont_svc_info", tmpMapList);

		/** 支払い方法情報 */
		tmpMapList = new ArrayList<HashMap>();
		tmpMap = new HashMap();

		// 支払方法引継
		tmpMap.put("payway_continue", "");
		// 引継支払方法
		tmpMap.put("hktgi_payway", "");
		// 支払方法選択
		if ("2".equals(workArea.getPayway()))
		{
			tmpMap.put("payway", "2");
		} else {
			tmpMap.put("payway", "1");
		}
		if ("2".equals(workArea.getPayway()))
		{
			// クレジット会社名
			tmpMap.put("crecard_comp_nm", workArea.getCrecard_comp_nm());
			// クレジット番号（１）
			tmpMap.put("crecard_no1", "0000");
			// クレジット番号（２）
			tmpMap.put("crecard_no2", "0000");
			// クレジット番号（３）
			tmpMap.put("crecard_no3", "0000");
			// クレジット番号（４）
			tmpMap.put("crecard_no4", "0000");
//			if ("0".equals(workArea.getCr_cardNmKana_sbt()))
//			{
//				// クレジット・名義人種別（契約者と同じ）
//				tmpMap.put("cust_nm_sbt_same", "1");
//				// クレジット・名義人種別（契約者と異なる）
//				tmpMap.put("cust_nm_sbt_diff", "");
//			} else if ("1".equals(workArea.getCr_cardNmKana_sbt()))
//			{
//				// クレジット・名義人種別（契約者と同じ）
//				tmpMap.put("cust_nm_sbt_same", "");
//				// クレジット・名義人種別（契約者と異なる）
//				tmpMap.put("cust_nm_sbt_diff", "1");
//			}
			// クレジット・名義人種別（契約者と同じ）
			tmpMap.put("cust_nm_sbt_same", "");
			// クレジット・名義人種別（契約者と異なる）
			tmpMap.put("cust_nm_sbt_diff", "");
			String cust_nm_kana[] = nameSprit(workArea.getCr_cardNmKana());
			// クレジット・名義人（カナ・名）
			tmpMap.put("cust_nm_kana_nm", cust_nm_kana[1]);
			// クレジット・名義人（カナ・姓）
			tmpMap.put("cust_nm_kana_sei", cust_nm_kana[0]);
			// クレジット・名義人（漢字・名）
			tmpMap.put("cust_nm_kanji_nm", "");
			// クレジット・名義人（漢字・姓）
			tmpMap.put("cust_nm_kanji_sei", "");
			// クレジット・名義人同意
			tmpMap.put("crecard_meigin_doi", "");
			String credit_kigenMMyy = workArea.getCr_cardexp();
			String credit_kigenM = credit_kigenMMyy.substring(0, 2);
			String credit_kigenY = "20" + credit_kigenMMyy.substring(2, 4);
			// クレジット・有効期限（月）
			tmpMap.put("crecard_yk_kigen_month", credit_kigenM);
			// クレジット・有効期限（年）
			tmpMap.put("crecard_yk_kigen_year", credit_kigenY);
			// クレジットカード番号預りＩＤ
			tmpMap.put("crecard_no_azkri_id", workArea.getSave_id());
			// 取扱コード
			tmpMap.put("trat_cd", "");
			// 請求契約番号
			tmpMap.put("seiky_kei_no", "");
			// 請求方法番号（クレジットカード）
			tmpMap.put("seiky_way_no_crecard", "");
			// 課金先番号
			tmpMap.put("kakins_no", "");
			// 更新年月日時分秒（請求契約）
			tmpMap.put("upd_dtm_seiky_kei", "");
			// 更新年月日時分秒（クレジットカード）
			tmpMap.put("upd_dtm_crecard", "");
			// 更新年月日時分秒（課金先）
			tmpMap.put("upd_dtm_kakins", "");
			// クレジット会社コード
			tmpMap.put("crecard_comp_cd", "");
			// 引継（サービス契約番号）
			tmpMap.put("hktgi_svc_kei_no", "");
			// 処理結果コード
			tmpMap.put("cr_resultcode", "");
			// 取引ＩＤ
			tmpMap.put("cr_orderid", "");
			// 仕向先カード会社コード
			tmpMap.put("cr_brandcode", workArea.getCr_brandcode());
			// 伝票番号
			tmpMap.put("cr_slipnumber", "");
			// オーソリ承認番号
			tmpMap.put("cr_authnumber", workArea.getCr_authnumber());
			// 決済金額
			tmpMap.put("cr_paidamount", "");
			// 世代登録年月日時分秒（請求契約）
			tmpMap.put("gene_add_dtm_seiky_kei", "");
			// 引継（請求契約番号）
			tmpMap.put("hktgi_seiky_kei_no", "");
			// 引継（更新年月日時分秒（請求契約））
			tmpMap.put("hktgi_upd_dtm_seiky_kei", "");
			// 更新年月日時分秒（取扱コード）
			tmpMap.put("upd_dtm_bf", "");
			// クレジット・名義人（カナ）
			tmpMap.put("cust_nm_kana", workArea.getCr_cardNmKana());
			// クレジット・名義人種別
			tmpMap.put("cust_nm_sbt", "");
		}
		// 口座名義人（カナ）
		tmpMap.put("account_holder", workArea.getAccount_holder());
		// 金融機関名
		tmpMap.put("bank_nm", workArea.getBank_nm());
		// 金融機関支店名
		tmpMap.put("bank_shiten_nm", workArea.getShiten_nm());
		if (JFUStrConst.BANK_CD_POSTAL.equals(workArea.getBank_cd()))
		{
			// 通帳記号
			tmpMap.put("tsucho_symbol", workArea.getBranch_cd());
			// 通帳番号
			tmpMap.put("tsucho_no", workArea.getAccount_number() + "1");
		} else {
			// 口座番号
			tmpMap.put("account_number", workArea.getAccount_number());
		}
		// 預金種目名
		if ("1".equals(workArea.getDepodit_item()))
		{
			tmpMap.put("depodit_item_nm", "普通");
		} else if ("2".equals(workArea.getDepodit_item()))
		{
			tmpMap.put("depodit_item_nm", "当座");
		}
		// 支払方法名
		if ("0".equals(workArea.getPayway()))
		{
			tmpMap.put("payway_nm", "未設定（請求書でのお支払い）");
		} else if ("1".equals(workArea.getPayway()))
		{
			if (JFUStrConst.BANK_CD_POSTAL.equals(workArea.getBank_cd()))
			{
				tmpMap.put("payway_nm", "ゆうちょ銀行自動払い込み");
			} else {
				tmpMap.put("payway_nm", "預金口座振替");
			}
		} else if ("2".equals(workArea.getPayway()))
		{
			tmpMap.put("payway_nm", "クレジットカード払い");
		}

		tmpMapList.add(tmpMap);
		web_new_info_map.put("payway_info", tmpMapList);

		/** マンション情報 */
		tmpMapList = new ArrayList<HashMap>();
		tmpMap = new HashMap();

		// マンションID
		tmpMap.put("mansion_id", workArea.getW_mansion_id());
		// ＣＡＴ−ＩＤ
		tmpMap.put("catid", workArea.getW_catid());
		// Ｐ−ＩＤ
		tmpMap.put("shugo_pid", workArea.getPid());
		// 提供方式パターンコード */
		tmpMap.put("teikyo_hoshiki_ptn_cd", fuTeikyoHoshikiPtnCd);
		// マンション価格帯コード
		tmpMap.put("mansion_kakakutai_cd", workArea.getW_mansion_kakakutai_cd());
		// 宅内特殊配線有料工事コード
		tmpMap.put("takni_tokuhsen_yrkoji_cd", workArea.getW_takni_tokuhsen_yrkoji_cd());

		tmpMapList.add(tmpMap);
		web_new_info_map.put("mansion_info", tmpMapList);

		/** リダイレクト情報 */
		tmpMapList = new ArrayList<HashMap>();
		tmpMap = new HashMap();

		// アクション
		tmpMap.put("red_action", "");
		// ＫＣＮ申込フラグ
		tmpMap.put("red_kcn_mskm", "");
		// リダイレクト・郵便番号（上）
		tmpMap.put("red_pcd1", "");
		// リダイレクト・郵便番号（下）
		tmpMap.put("red_pcd2", "");
		// 紹介コード
		tmpMap.put("red_introduce", workArea.getRed_introduce());
		// クーポンコード
		tmpMap.put("coupon_cd", workArea.getCoupon_cd());
		// ＷｉＭＡＸＲＯＭ
		tmpMap.put("red_wimaxrom", "");
		// コース選択済フラグ
		tmpMap.put("course_select", "");
		// 新規申込用割引サービスコード
		tmpMap.put("new_wrib_svc_cd", "");
		// 新規申込用取扱コード（割引）
		tmpMap.put("new_trat_cd_wrib", "");
		// 追加申込用割引サービスコード
		tmpMap.put("add_wrib_svc_cd", "");
		// 追加申込用取扱コード（割引）
		tmpMap.put("add_trat_cd_wrib", "");
		// 新規申込用データ抽出項目コード
		tmpMap.put("new_dchskm_cd", "");
		// 新規申込用取扱コード（汎用）
		tmpMap.put("new_trat_cd_dchskm", "");
		// 追加申込用データ抽出項目コード
		tmpMap.put("add_dchskm_cd", "");
		// 追加申込用取扱コード（汎用）
		tmpMap.put("add_trat_cd_dchskm", "");
		// リファラー
		tmpMap.put("referer", "");
		// 機器引当指定倉庫コード
		tmpMap.put("kiki_hkat_shitei_soko_cd", "");
		// 機器引当指定倉庫棚コード
		tmpMap.put("kiki_hkat_shitei_skdn_cd", "");
		// ＷｉＭＡＸ（白ロム）用割引サービスコード
		tmpMap.put("wimax_white_wrib_svc_cd", "");
		// 紹介用割引サービスコード
		tmpMap.put("intr_wrib_svc_cd", "");
		// 資料請求フラグ
		tmpMap.put("siryo_seiky_flg", "");
		// ナビゲーションパターン
		tmpMap.put("navigator_ptn", "");
		// 選択可能サービス確認結果フラグ
		tmpMap.put("select_svc_result_flg", "");

		tmpMapList.add(tmpMap);
		web_new_info_map.put("redirect_info", tmpMapList);

		/** その他情報 */
		tmpMapList = new ArrayList<HashMap>();
		tmpMap = new HashMap();

		// 取扱店ＩＤ
		tmpMap.put("toriatsukai_id", "");
		// 取扱店名
		tmpMap.put("toriatsukai_nm", "");
		// 担当者ＩＤ
		tmpMap.put("tantosha_id", "");
		// 担当者名
		tmpMap.put("tantosha_nm", "");
		// 汎用コード
		tmpMap.put("hanyo_cd", "");
		// 集合住宅名
		tmpMap.put("shugo_nm", "");
		// 印刷の種類
		tmpMap.put("print_kind", "");
		// 取扱店用取扱コード（取扱コード1-1）
		tmpMap.put("toriten_toriatsukai_cd", workArea.getTrat_cd_1_1());
		// 担当者用取扱コード（取扱コード1-2）
		tmpMap.put("tntsha_toriatsukai_cd", workArea.getTrat_cd_1_2());
		// 取扱店用取扱コード2（取扱コード2-1）
		tmpMap.put("toriten_toriatsukai_cd2", workArea.getTrat_cd_2_1());
		// 取扱店用取扱コード2（取扱コード2-2）
		tmpMap.put("toriten_toriatsukai_cd2_2", workArea.getTrat_cd_2_2());

		// 印刷用受付年月日時分（登録）
		tmpMap.put("print_reg_dtm", "");
		// 代理店コード
		tmpMap.put("agnt_cd", "");
		// 汎用コード区分
		tmpMap.put("hanyo_cd_kbn", "");
		// ＡＵスマートバリューコード
		tmpMap.put("au_smart_value_cd", "");
		// 更新年月日時分秒（取扱コード１ー１）
		tmpMap.put("upd_dtm_bf_1_1", "");
		// 更新年月日時分秒（取扱コード１ー２）
		tmpMap.put("upd_dtm_bf_1_2", "");
		// 更新年月日時分秒（取扱コード２ー１）
		tmpMap.put("upd_dtm_bf_2_1", "");
		// ｍｉｎｅｏセット割申請方法
		tmpMap.put("mineo_setplan_kbn", workArea.getMineo_setplan_kbn());
		// ｍｉｎｅｏセット割申請時番号
		tmpMap.put("mineo_setplan_no", workArea.getMineo_setplan_no());
		// 早期開通早期連絡希望有無
		tmpMap.put("tsyrn_early_open_early_rrk_kbum_screen", "");

		tmpMapList.add(tmpMap);
		web_new_info_map.put("else_info", tmpMapList);

		/** 汎用コードリスト */
		tmpMapList = new ArrayList<HashMap>();

		for (Map<String, Object> campMap : workArea.getCampaign_cd_list())
		{
//			if ("1".equals(campMap.get(JFUMkmInfoAddFrontiaConstCC.CAMPAIGN_SHORI_KBN)))
//			{
				tmpMap = new HashMap();
				// 汎用コード
				tmpMap.put("hanyo_cd", campMap.get(JFUMkmInfoAddFrontiaConstCC.CAMPAIGN_SVC_CD));
				// 汎用表示用コード
				tmpMap.put("hanyo_dsp_cd", campMap.get(JFUMkmInfoAddFrontiaConstCC.CAMPAIGN_CD));
				// 汎用名称
				tmpMap.put("hanyo_nm", campMap.get(JFUMkmInfoAddFrontiaConstCC.CAMPAIGN_NM));
				// 受付開始日
				tmpMap.put("hanyo_sta_dtm", campMap.get(JFUMkmInfoAddFrontiaConstCC.CAMPAIGN_STA_DTM));
				// 受付終了日
				tmpMap.put("hanyo_end_dtm", campMap.get(JFUMkmInfoAddFrontiaConstCC.CAMPAIGN_END_DTM));
				// 汎用種別コード
				tmpMap.put("hanyo_sbt_cd", campMap.get(JFUMkmInfoAddFrontiaConstCC.CAMPAIGN_SBT_CD));
				// 適用可否フラグ
				tmpMap.put("hanyo_kh_flg", "");
//			}
			tmpMapList.add(tmpMap);
		}

		// マンションの場合
		if (workArea.getEonet())
		{
			for (Map<String, Object> campMap : workArea.getW_net_mans_campaign_list())
			{
				tmpMap = new HashMap();
				// 汎用コード
				tmpMap.put("hanyo_cd", campMap.get(JFUMkmInfoAddFrontiaConstCC.NET_MANS_WRIB_SVC_CD));
				// 汎用表示用コード
				tmpMap.put("hanyo_dsp_cd", campMap.get(JFUMkmInfoAddFrontiaConstCC.NET_MANS_CAMPAIGN_CD));
				// 汎用名称
				tmpMap.put("hanyo_nm", campMap.get(JFUMkmInfoAddFrontiaConstCC.CAMPAIGN_NM));
				// 受付開始日
				tmpMap.put("hanyo_sta_dtm", campMap.get(JFUMkmInfoAddFrontiaConstCC.CAMPAIGN_STA_DTM));
				// 受付終了日
				tmpMap.put("hanyo_end_dtm", campMap.get(JFUMkmInfoAddFrontiaConstCC.CAMPAIGN_END_DTM));
				// 汎用種別コード
				tmpMap.put("hanyo_sbt_cd", campMap.get(JFUMkmInfoAddFrontiaConstCC.CAMPAIGN_SBT_CD));
				// 適用可否フラグ
				tmpMap.put("hanyo_kh_flg", "");

				tmpMapList.add(tmpMap);
			}
		}
		// マンションの場合
		if (workArea.getEotv())
		{
			for (Map<String, Object> campMap : workArea.getW_tv_mans_campaign_list())
			{
				tmpMap = new HashMap();
				// 汎用コード
				tmpMap.put("hanyo_cd", campMap.get(JFUMkmInfoAddFrontiaConstCC.TV_MANS_WRIB_SVC_CD));
				// 汎用表示用コード
				tmpMap.put("hanyo_dsp_cd", campMap.get(JFUMkmInfoAddFrontiaConstCC.TV_MANS_CAMPAIGN_CD));
				// 汎用名称
				tmpMap.put("hanyo_nm", campMap.get(JFUMkmInfoAddFrontiaConstCC.CAMPAIGN_NM));
				// 受付開始日
				tmpMap.put("hanyo_sta_dtm", campMap.get(JFUMkmInfoAddFrontiaConstCC.CAMPAIGN_STA_DTM));
				// 受付終了日
				tmpMap.put("hanyo_end_dtm", campMap.get(JFUMkmInfoAddFrontiaConstCC.CAMPAIGN_END_DTM));
				// 汎用種別コード
				tmpMap.put("hanyo_sbt_cd", campMap.get(JFUMkmInfoAddFrontiaConstCC.CAMPAIGN_SBT_CD));
				// 適用可否フラグ
				tmpMap.put("hanyo_kh_flg", "");

				tmpMapList.add(tmpMap);
			}
		}

		web_new_info_map.put("hanyo_cd_list", tmpMapList);

		/** アンケート結果情報 */
		tmpMapList = new ArrayList<HashMap>();
		tmpMap = new HashMap();

		tmpMapList.add(tmpMap);
		web_new_info_map.put("enquete_rslt_info", tmpMapList);

		/** メール送信情報 */
		tmpMapList = new ArrayList<HashMap>();
		tmpMap = new HashMap();

		tmpMapList.add(tmpMap);
		web_new_info_map.put("email_send_info", tmpMapList);

		/** 住宅情報 */
		tmpMapList = new ArrayList<HashMap>();
		tmpMap = new HashMap();

		tmpMapList.add(tmpMap);
		web_new_info_map.put("jutaku_info", tmpMapList);

		mskmDmenXmlMap.put("web_new_info", web_new_info_map);

		param.setData(JFUStrConst.MSKM_DMEN_XMLCC_MAP_NM, mskmDmenXmlMap);

		return param;
	}

	/**
	 * // 申込内容承認登録の上りマッピング
	 *
	 * @param bean
	 *            　[0]：入力内容確認　[1]：共有フォームビーン
	 * @param outputMap
	 * @param func_code
	 *            　機能コード
	 * @param DateTimeStamp タイムスタンプ
	 * @param opeDate 運用日付
	 * @param bl 実行中のVIEWロジックインスタンス
	 * @return HashMap
	 * @throws Exception
	 */
	@SuppressWarnings("unchecked")
	public IRequestParameterReadWrite setEKK0011D020(JFUMkmInfoAddFrontiaWorkArea workArea, IRequestParameterReadWrite param, String opeDateTimeStamp, String opeDate)
			throws Exception
	{
		ArrayList list = null;
		HashMap childMap = null;
		int srvCnt = 0;
		String workNet = "";
		String workTv = "";
		String workTel = "";

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, JPCModelConstant.FUNC_CD_1);

		// SYSID
		parentMap.put("sysid", "");
		parentMap.put("mskm_sbt_cd", JFUStrConst.KK0971_MSKM_SBT_CD_00001);

		// システム日付
		String opeDateTime = opeDateTimeStamp;
		// 申込書到着年月日
		parentMap.put("mskmsho_ariv_ymd", opeDate);
		// 申込受付年月日時分秒
		parentMap.put("mskm_uk_dtm", opeDateTime);
		// 申込受付担当ユーザーID
		parentMap.put("mskm_uk_tnt_user_id", "");
		// 申込年月日
		parentMap.put("mskm_ymd", opeDate);
		// 総合営業センター受付番号
		parentMap.put("ttl_business_center_uk_no", "");
		// 総合営業申込契機コード
		parentMap.put("ttl_business_mskm_opt_cd", "");
		// 申込実施者種別コード
		parentMap.put("mskm_rrks_telno", "");

		// お客様ご要望事項
		parentMap.put("cust_yobo_jiko", "");

		// リファラー
		parentMap.put("referer", "");
		parentMap.put("kari_mskm_flg", JFUStrConst.EMPTY);

		// 関西電力お客様情報授受同意有無
		parentMap.put("kepco_custinfo_juju_doi_um", workArea.getKepco_custinfo_juju_doi_um());
		if (!JFUMkmInfoAddFrontiaConstCC.SERVICE_SBT_HT.equals(workArea.getService_sbt()))
		{
			// サービス種別が「2：メゾン」または「3：マンション」
			parentMap.put("kepco_custinfo_juju_doi_um", "0");
		}

		// 照査前連絡事項要否
		parentMap.put("shosa_bf_rrk_jiko_yh", "");

		// 照査前連絡事項
		parentMap.put("shosa_bf_rrk_jiko", "");

		// 利用サービス継続種別コード
		parentMap.put("use_svc_keizk_sbt_cd", "");

		// コンシューマ営業用申込状態識別コード
		// 03:申請中
		parentMap.put("consmbsn_mskm_stat_skbt_cd", JFUStrConst.CD00760_04);

		// 工事依頼情報連絡事項
		parentMap.put("koji_req_info_rrk_jiko", "");
		// 電気同時申込意思有無
		parentMap.put("eoelec_doji_mskm_ishi_um", workArea.getEoelec_doji_mskm_ishi_um());
		// 定額サービス申込機器
		StringBuilder sb = new StringBuilder();
		List<Map<String, Object>> tegakMapList = workArea.getTegak_svc_list();
		for (int i = 0; i < tegakMapList.size() ; i++)
		{
			Map<String, Object> tmpMap = tegakMapList.get(i);
//			if ("1".equals(tmpMap.get(JFUMkmInfoAddFrontiaConstCC.TEGAK_SVC_SHORI_KBN)))
//			{
				if (i > 0)
				{
					sb.append(",");
				}
				sb.append(tmpMap.get(JFUMkmInfoAddFrontiaConstCC.TEGAK_SVC_KEI_SBT_CD)).append("/").append(tmpMap.get(JFUMkmInfoAddFrontiaConstCC.TEGAK_SVC_KIKI_SBT_CD));
//			}
		}
		parentMap.put("tegak_svc_mskm_kiki", sb.toString());
		// セット割申込識別区分
		parentMap.put("set_wari_mkm_skbt_div", workArea.getMineo_setplan_kbn());
		// セット割申込識別番号
		parentMap.put("set_wari_mkm_skbt_no", workArea.getMineo_setplan_no());
		// 申込内容承認年月日
		parentMap.put("mskm_nyo_shonin_ymd", opeDate);
		list = new ArrayList();
		// eo光ネット
		if (workArea.getEonet())
		{
			srvCnt = srvCnt + 1;
		}
		// eo光テレビ
		if (workArea.getEotv())
		{
			srvCnt = srvCnt + 1;
		}
		// eo光電話
		if (workArea.getEotel())
		{
			srvCnt = srvCnt + 1;
		}

		for (int i = 0; i < srvCnt; i++)
		{
			childMap = new HashMap();

			childMap.put("mskmsho_no", workArea.getMskmsho_no());
			if (workArea.getEonet() && workNet.length() == 0)
			{
				// eo光ネット申込明細番号
				childMap.put("ekk0091_mskm_dtl_no", "");
				childMap.put("ekk0091_kk0021_gene_add_dtm", "");

				// 契約付加コード
				// ホーム／メゾンの場合は未設定
				childMap.put("kei_huka_cd", JFUMkmInfoAddFrontiaUtil.getMskmDtlkeiHukaCd(workArea));

				workNet = "1";
			}
			else if (workArea.getEotv() && workTv.length() == 0)
			{
				// eo光テレビ申込明細番号
				childMap.put("ekk0101_mskm_dtl_no", "");
				childMap.put("ekk0101_kk0021_gene_add_dtm", "");

				// 契約付加コード
				childMap.put("kei_huka_cd", JFUStrConst.EMPTY);

				workTv = "1";
			}
			else if (workArea.getEotel() && workTel.length() == 0)
			{
				// eo光電話申込明細番号
				childMap.put("ekk0111_mskm_dtl_no", "");
				// eo光電話世代登録年月日時分秒
				childMap.put("ekk0111_kk0021_gene_add_dtm", "");

				// 契約付加コード
				// ホーム／メゾンの場合は未設定
				childMap.put("kei_huka_cd", JFUMkmInfoAddFrontiaUtil.getMskmDtlkeiHukaCd(workArea));

				workTel = "1";
			}

			// WEB受付番号
			childMap.put("web_uk_no", "");

			// 申込形態コード
			childMap.put("mskm_form_cd", JFUStrConst.CD00591_01);
			// 新規申込種別コード
			childMap.put("new_mskm_sbt_cd", JFUStrConst.CD00683_001);

			// 申込明細種別コード
			childMap.put("mskm_dtl_sbt_cd", "");
			// 連絡先携帯電話番号
			childMap.put("rrks_ktai_telno", "");
			// 連絡先勤務先名
			childMap.put("rrks_offc_nm", "");
			//TDO 昼間連絡先電話番号
			childMap.put("dt_rrks_telno", "");
			// 申込契機コード
			childMap.put("mskm_optnty_cd", "");
			// 申込経路コード
			childMap.put("mskm_route_cd", "");
			// 宅内調査希望アポ期限年月日
			childMap.put("takcho_kibo_apo_kigen_ymd", "");
			// 工事アポ連絡先指定コード
			childMap.put("koji_apo_rrks_shitei_cd", "");
			// 工事アポ連絡先電話番号
			childMap.put("koji_apo_rrks_telno", "");
			// 連絡事項登録年月日時分秒
			childMap.put("rrk_jiko_add_dtm", "");

			// メールアドレス
			childMap.put("mskm_rrks_mlad", workArea.getMlad());

			// 工事進捗通知メールアドレス
			childMap.put("koji_prg_tchi_mlad", "");
			// 連絡事項
			childMap.put("rrk_jiko", "");
			// 工事進捗通知携帯メールアドレス
			childMap.put("kjsc_tch_ktai_mlad", "");
			// メール送信除外フラグ
			childMap.put("ml_send_jgi_flg", "");
			// メール送信除外理由メモ
			childMap.put("ml_send_jgi_rsn_memo", "");
			// 番ポ申込連絡先電話番号
			childMap.put("bmp_mskm_rrks_tln", "");

			// オプションサービス引継有無
			childMap.put("op_svc_hktgi_um", JFUStrConst.CD00002_0);
			// 解約書類送付希望有無
			childMap.put("dsl_aticle_sohu_kibo_um", JFUStrConst.CD00002_0);
			// 連絡手段補記
			childMap.put("rrk_way_hoki", "");
			// 新築物件コード
			childMap.put("newconst_bukken_cd", JFUStrConst.CD00480_0);
			if (!JFUBPCommon.isNull(workArea.getNewconst_bukken_cd()))
			{
				childMap.put("newconst_bukken_cd", workArea.getNewconst_bukken_cd());
			}
			// 復活案件フラグ
			childMap.put("hukkat_anken_flg", JFUStrConst.CD00777_0);
			// 同一設備再申込コード
			childMap.put("same_equip_re_mskm_cd", JFUStrConst.CD00485_0);
			// 本人確認書類種別コード
			childMap.put("hnin_cfm_aticle_sbt_cd", "");

			if (JFUMkmInfoAddFrontiaConstCC.SERVICE_SBT_HT.equals(workArea.getService_sbt()))
			{
				// サービス種別が「1：ホーム」
				// 申込書種別コード
				childMap.put("mskmsho_sbt_cd", JFUStrConst.CD00752_1);
			}
			else if (JFUMkmInfoAddFrontiaConstCC.SERVICE_SBT_MZ.equals(workArea.getService_sbt()))
			{
				// サービス種別が「2：メゾン」
				// 申込書種別コード
				childMap.put("mskmsho_sbt_cd", JFUStrConst.CD00752_3);
			}
			else if (JFUMkmInfoAddFrontiaConstCC.SERVICE_SBT_MT.equals(workArea.getService_sbt()))
			{
				// サービス種別が「3：マンション」
				// 申込書種別コード
				childMap.put("mskmsho_sbt_cd", JFUStrConst.CD00752_2);
			}
			else
			{
				// 申込書種別コード
				childMap.put("mskmsho_sbt_cd", JFUStrConst.CD00752_1);
			}

			// 地図添付有無
			childMap.put("map_temp_um", "");
			// マンション設備システム連携用記事欄
			childMap.put("manssbsys_rnki_yo_kijiran", "");
			// マンションID
			childMap.put("mansion_id", workArea.getW_mansion_id());
			// CAT-ID
			childMap.put("catid", workArea.getW_catid());
			// 申込受付種別コード
			childMap.put("mkm_uk_sbt_cd", "4");
			// 申込書取扱情報担当者名
			childMap.put("mskmsho_trat_if_tntsha_nm", "");
			// 申込書取扱情報電話番号
			childMap.put("mskmsho_trat_if_telno", "");
			// 電子交付同意有無
			childMap.put("dnskh_doi_um", workArea.getDnskh_doi_um_screen());

			if (!JFUMkmInfoAddFrontiaConstCC.SERVICE_SBT_MT.equals(workArea.getService_sbt()))
			{
				// サービス種別が「1：ホーム」または「2：メゾン」の場合
	
				// 他システム連携_宅内調査時連絡先氏名
				if (JFUStrConst.KEI_SBT_KOJINCD.equals(workArea.getKei_sbt()))
				{
					// 個人の場合
					if ("1".equals(workArea.getRrks_zokugara_cd()))
					{
						childMap.put("tsyrn_takcho_ji_rrks_nm", "本人");
					} else if ("2".equals(workArea.getRrks_zokugara_cd()))
					{
						childMap.put("tsyrn_takcho_ji_rrks_nm", "配偶者");
					} else if ("3".equals(workArea.getRrks_zokugara_cd()))
					{
						childMap.put("tsyrn_takcho_ji_rrks_nm", "子供");
					} else if ("4".equals(workArea.getRrks_zokugara_cd()))
					{
						childMap.put("tsyrn_takcho_ji_rrks_nm", "その他家族");
					} else if ("5".equals(workArea.getRrks_zokugara_cd()))
					{
						childMap.put("tsyrn_takcho_ji_rrks_nm", "その他代理人");
					} else if ("7".equals(workArea.getRrks_zokugara_cd()))
					{
						childMap.put("tsyrn_takcho_ji_rrks_nm", "父母");
					} else if ("8".equals(workArea.getRrks_zokugara_cd()))
					{
						childMap.put("tsyrn_takcho_ji_rrks_nm", "孫");
					} else {
						childMap.put("tsyrn_takcho_ji_rrks_nm", workArea.getRrks_zokugara_nm());
					}
				}
				else if (JFUStrConst.KEI_SBT_HOJINCD.equals(workArea.getKei_sbt()))
				{
					// 法人の場合
					childMap.put("tsyrn_takcho_ji_rrks_nm", workArea.getRrks_nm());
				}
				// 他システム連携_宅内調査時連絡先電話番号
				childMap.put("tsyrn_takcho_ji_rrks_tln", workArea.getRrks_telno());
			}

			// 現在利用先契約回線区分
			childMap.put("now_use_sk_kei_kisn_div", workArea.getUse_net_ksn());
			// 機器設置場所変更有無
			childMap.put("kiki_setplc_chgum", workArea.getKiki_place_chg());
			// 同日実施希望有無
			childMap.put("dojitu_jssi_kbum", workArea.getTkc_koji_same());
			// 早期開通早期連絡希望有無
			childMap.put("early_open_early_rrk_kbum", JFUStrConst.EMPTY);
			// 宅内調査アポ架電希望有無
			childMap.put("takcho_apo_kaden_kibo_um", workArea.getTakcho_apo_kaden_kibo_um());

			list.add(childMap);
		}

		parentMap.put("EKK0011D020CBSMsg1List", list);

		param.setData("FUSV035614SC", parentMap);

		return param;
	}

	/**
	 * 請求口座追加CCの上りマッピング
	 * 
	 * @param workArea
	 * @param param
	 * @return
	 * @throws RequestParameterException 
	 */
	public IRequestParameterReadWrite setJFUAddSeikyKozaCC(JFUMkmInfoAddFrontiaWorkArea workArea, IRequestParameterReadWrite param) throws RequestParameterException
	{
		
		// 支払い方法を引き継ぐ場合または 支払い方法が銀行・ゆうちょ以外の場合は、nullを返します。
		if (!JFUStrConst.PAYWAY_BANK_POSTAL.equals(workArea.getPayway()))
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, JPCModelConstant.FUNC_CD_1);

		String tmpBankCd = workArea.getBank_cd();
	    // 金融機関コード
		parentMap.put(BANK_CD, tmpBankCd);
		
		// 金融機関コードにより分岐
		if (BANK_CD_POSTAL.equals(tmpBankCd)) {
			// ゆうちょ銀行の場合
		    // 金融機関支店コード
			parentMap.put(BANK_SHITEN_CD, "001");
		    // 通帳記号
			parentMap.put(TSUCHO_SYMBOL, workArea.getBranch_cd());
		    // 通帳番号
			parentMap.put(TSUCHO_NO, workArea.getAccount_number() + "1");
			// 支払方法コード
			parentMap.put(PAYWAY_CD, JFUStrConst.CD00166_3);
			// 審査与信結果コード
			parentMap.put(PAYWAY_PAY_SKEKKA_CD, JFUStrConst.CD00249_30);
			
		} else {
			
			// ゆうちょ銀行以外の場合
		    // 金融機関支店コード
			parentMap.put(BANK_SHITEN_CD, workArea.getBranch_cd());
		    // 預金種目コード
			parentMap.put(YOKIN_SHUMOKU_CD, workArea.getDepodit_item());
		    // 口座番号
			parentMap.put(KOZA_NO, workArea.getAccount_number());
			// 支払方法コード
			parentMap.put(PAYWAY_CD, JFUStrConst.CD00166_2);
			// 審査与信結果コード
			parentMap.put(PAYWAY_PAY_SKEKKA_CD, JFUStrConst.CD00249_20);
		}
		
		
	    // 口座名義人カナ名
		parentMap.put(KOZA_MEIGIN_KANA, workArea.getAccount_holder());
		// 異動区分
		parentMap.put(IDO_DIV, JFUStrConst.CD00576_00001);
		// 請求契約情報.請求契約番号 
		parentMap.put(SEIKY_KEI_NO, "");

		param.setData(CC_TITLE_JFU_ADD_SEIKY_KOZA_CC, parentMap);
		
		return param;

	}

	/**
	 * 請求契約登録上りマッピング
	 * 
	 * @param workArea
	 * @param param
	 * @param opeDate
	 * @return
	 * @throws RequestParameterException 
	 */
	public IRequestParameterReadWrite setEKK0491D010(JFUMkmInfoAddFrontiaWorkArea workArea, IRequestParameterReadWrite param, String opeDate) throws RequestParameterException
	{

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, JPCModelConstant.FUNC_CD_1);

		// ＳＹＳＩＤ
		parentMap.put("sysid", "");
		// 申込明細番号
		parentMap.put("mskm_dtl_no", "");
		
		// 初期値として窓口払いを設定
		String seiky_way_cd = JFUStrConst.CD00166_1;
		if (JFUStrConst.PAYWAY_BANK_POSTAL.equals(workArea.getPayway()))
		{
			// 銀行・ゆうちょ
			// 金融機関コードにより分岐
			if (BANK_CD_POSTAL.equals(workArea.getBank_cd())) {
				// ゆうちょ銀行の場合
				// 請求方法コード（3:ゆうちょ銀行）
				seiky_way_cd = JFUStrConst.CD00166_3;
			} else {
				// ゆうちょ銀行以外の場合
				// 請求方法コード（3:ゆうちょ銀行）
				seiky_way_cd = JFUStrConst.CD00166_2;
			}
			
			parentMap.put("seiky_kei_kana",  workArea.getAccount_holder());
			
		} else if (JFUStrConst.PAYWAY_CREDIT.equals(workArea.getPayway()))
		{
			// クレジット
			// 請求方法コード（4:クレジット）
			seiky_way_cd = JFUStrConst.CD00166_4;
			parentMap.put("seiky_kei_kana", workArea.getCr_cardNmKana());
		}
		
		// 請求方法コード
		parentMap.put("seiky_way_cd", seiky_way_cd);

		// 請求書発行要否
		// 発行対象外
		parentMap.put("seikyus_hakko_yh", JFUStrConst.CD00930_0);
		// 請求書送付先_契約者住所差異フラグ
		parentMap.put("sks_shs_ksh_ad_sai_flg", JFUStrConst.SAI_FLG_SAI_NON);
		// 請求書送付先名_お客様名差異フラグ
		parentMap.put("sks_shs_nm_cust_nm_sai_flg", JFUStrConst.SAI_FLG_SAI_NON);
		// 送付先
		if (JFUStrConst.KEI_SBT_KOJINCD.equals(workArea.getKei_sbt()))
		{
			// 個人の場合
			// 送付先カナ名
			// 契約者情報.氏名カナ
			parentMap.put("shs_kana", workArea.getKshkn());
			//送付先名
			//  契約者情報.氏名
			parentMap.put("sohus_nm", workArea.getKshnm());
		}
		else if (JFUStrConst.KEI_SBT_HOJINCD.equals(workArea.getKei_sbt()))
		{
			// 法人の場合
			// 送付先カナ名
			// 契約者情報.法人名カナ
			parentMap.put("shs_kana", workArea.getHojinkn());
			//送付先名
			// 契約者情報.法人名
			parentMap.put("sohus_nm", workArea.getHojinnm());
		}
		// 送付先部課名
		parentMap.put("sohus_bkm", "");
		// 送付先担当者名
		parentMap.put("sohus_tntsha_nm", "");
		// 送付先住所コード
		parentMap.put("sohus_ad_cd", "");

		// 契約者住所情報を取得
		HashMap<String, Object> contractorAddressMap = (HashMap<String, Object>)param.getData("FUSV015212CC");

		// 契約者情報.契約者情報＿郵便番号
		parentMap.put("sohus_pcd", contractorAddressMap.get("pcd"));
		// 契約者情報.契約者情報＿建物名
		parentMap.put("sohus_adrttm", contractorAddressMap.get("adrttm"));
		// 契約者情報.契約者情報＿部屋番号
		parentMap.put("sohus_adrrm", contractorAddressMap.get("adrrm"));

		// 送付先番地号
		parentMap.put("sohus_bnchigo", "");
		// 契約者情報.契約者情報＿電話番号
		parentMap.put("sohus_telno", workArea.getKsh_telno());

		// 異動区分
		parentMap.put(IDO_DIV, JFUStrConst.CD00576_00001);

		if (!"0".equals(workArea.getPayway()))
		{
			parentMap.put("first_pay_mskmsho_rcp_ymd", opeDate);
		} else {
			parentMap.put("first_pay_mskmsho_rcp_ymd", "");
		}
		// 初回支払申込書送付要否 (空固定)
		parentMap.put("first_pay_mskmsho_sohu_yh", "");

	// 契約者情報.メールアドレス
		parentMap.put("sohus_mlad", workArea.getMlad());

		// 契約締結年月日
		parentMap.put("kei_cnc_ymd", opeDate);

		param.setData("EKK0491D010", parentMap);

		return param;
	}

	/**
	 * オーソリ実績登録上がりマッピング
	 * 
	 * @param workArea
	 * @param param
	 * @param opeDateTime
	 * @return
	 * @throws RequestParameterException 
	 */
	public IRequestParameterReadWrite setEKK1031D010(JFUMkmInfoAddFrontiaWorkArea workArea, IRequestParameterReadWrite param) throws RequestParameterException
	{

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, JPCModelConstant.FUNC_CD_1);

		// 支払い方法がクレジット以外の場合処理終了
		if (!JFUStrConst.PAYWAY_CREDIT.equals(workArea.getPayway()))
		{
			return null;
		}

//		// クレジットカード有効期限
		String credit_kigenMMyy = workArea.getCr_cardexp();
		String credit_kigenM = credit_kigenMMyy.substring(0, 2);
		String credit_kigenY = credit_kigenMMyy.substring(2, 4);
		String credit_kigen = "20" + credit_kigenY + credit_kigenM;

		// 請求契約番号
		String seiky_kei_no = "";

		// 請求契約世代年月日時分秒
		String gene_add_dtm = "";

		// 請求契約番号
		parentMap.put("seiky_kei_no", seiky_kei_no);

		// 請求契約世代年月日時分秒
		parentMap.put("seiky_kei_gene_add_dtm", gene_add_dtm);

		// クレジットカード会社コード
		parentMap.put("crecard_comp_cd", workArea.getCard_brand_optcd());

		// オーソリ処理コード 入会オーソリ
		parentMap.put("auth_tran_cd", JFUStrConst.CD00421_02);

		// クレジットカード番号
		parentMap.put("crecard_no", workArea.getCr_cardnumber());

		// クレジットカード有効期限
		parentMap.put("crecard_yk_kigen", credit_kigen);

		// 仕向先会社コード
		parentMap.put("shikosaki_comp_cd", workArea.getCr_brandcode());

		// オーソリ要求コード 新規契約
		parentMap.put("authori_yokyu_cd", JFUStrConst.CD00463_1);

		// 取消コード 0:未処理
		parentMap.put("cl_cd", JFUStrConst.CD00616_0);

		String selectedMembstrNo = workArea.getMembstr_no();
		if (selectedMembstrNo.length() >= 12)
		{
			selectedMembstrNo = selectedMembstrNo.substring(0, 11);
		}
		selectedMembstrNo = selectedMembstrNo.trim();
		// 加盟店番号
		parentMap.put("membstr_no", selectedMembstrNo);

		param.setData("EKK1031D010", parentMap);

		return param;
	}

	/**
	 * オーソリ初回依頼CCのワークマップ作成
	 * 
	 * @param workArea
	 * @param param
	 * @return
	 * @throws RequestParameterException
	 */
	@SuppressWarnings("unchecked")
	public IRequestParameterReadWrite setJFUAuthCheckCCWork(JFUMkmInfoAddFrontiaWorkArea workArea, IRequestParameterReadWrite param) throws RequestParameterException
	{
		HashMap<String, Object> parentMap = new HashMap<String, Object>();
		Map workMap = new HashMap();
		
		// 申込断面登録に必要な情報のため、先に設定しておく
		parentMap.put("py_masked_card_number", workArea.getCr_cardnumber());
		parentMap.put("py_card_brand", workArea.getCard_brand_optcd());
		
		workMap.put("JFUAuthCheckCCWork", parentMap);
		param.setMappingWorkArea(workMap);

		return param;
	}
	
	/**
	 * 審査済クレジットカード登録上がりマッピング
	 * 
	 * @param workArea
	 * @param param
	 * @return
	 * @throws RequestParameterException
	 */
	public IRequestParameterReadWrite setEKK0521D020(JFUMkmInfoAddFrontiaWorkArea workArea, IRequestParameterReadWrite param, String opeDateTimeStamp) throws RequestParameterException
	{

		// 支払い方法がクレジット払い以外の場合は、nullを返します。
		if (!JFUStrConst.PAYWAY_CREDIT.equals(workArea.getPayway()))
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, JPCModelConstant.FUNC_CD_1);

		// 支払い方法がクレジットカードの場合
		// クレジットカード有効期限
		String credit_kigenMMyy = workArea.getCr_cardexp();
		String credit_kigen = JFUStrConst.EMPTY;
		if (!JFUBPCommon.isNull(credit_kigenMMyy))
		{
			String credit_kigenM = credit_kigenMMyy.substring(0, 2);
			String credit_kigenY = credit_kigenMMyy.substring(2, 4);
			credit_kigen = "20" + credit_kigenY + credit_kigenM;
		}

		// クレジットカード会社コード
		parentMap.put("crecard_comp_cd", workArea.getCard_brand_optcd());
		// クレジット事業コード
		parentMap.put("crecard_jigyo_cd", JFUStrConst.CD00420_2);
		// クレジットカード番号
		parentMap.put("crecard_no", workArea.getCr_cardnumber());
		// クレジットカード有効期限
		parentMap.put("crecard_yk_kigen", credit_kigen);
		// クレジットカード名義カナ名
		parentMap.put("crecard_nm_kana", workArea.getCr_cardNmKana());
// ANK-4619-00-00 ADD START
		// クレジットカード名義（ローマ字）
		parentMap.put("crecard_nm_romaji", workArea.getCrecard_nm_romaji());
// ANK-4619-00-00 ADD END
		// 仕向先会社コード
		parentMap.put("shikosaki_comp_cd", workArea.getCr_brandcode());
		// 異動区分
		parentMap.put(IDO_DIV, JFUStrConst.CD00576_00001);

		// クレジットカード番号預りID
		parentMap.put("crecard_no_azkri_id", workArea.getSave_id());
		// 支払い審査結果コード
		parentMap.put("pay_skekka_cd", JFUStrConst.CD00249_40);
		// オーソリ確認年月日時分秒
		parentMap.put("authori_cfm_dtm", opeDateTimeStamp);
		// オーソリ承認番号
		parentMap.put("authori_shonin_no", workArea.getCr_authnumber());
		// クレジットカード種別コード
		parentMap.put("crecard_sbt_cd", workArea.getCrecard_sbt_cd());
		// クレジットイシュア区分
		parentMap.put("crdt_issuer_div", workArea.getCrdt_issuer_div());

		param.setData("EKK0521D020", parentMap);

		return param;
	}

	/**
	 * クレジット請求手続上がりマッピング
	 * 
	 * @param workArea
	 * @param param
	 * @return
	 * @throws RequestParameterException 
	 */
	public IRequestParameterReadWrite setEKK0521D010(JFUMkmInfoAddFrontiaWorkArea workArea, IRequestParameterReadWrite param) throws RequestParameterException
	{

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, JPCModelConstant.FUNC_CD_1);

		// クレジットカード有効期限
		String credit_kigenMMyy = workArea.getCr_cardexp();
		String credit_kigen = JFUStrConst.EMPTY;
		if (!JFUBPCommon.isNull(credit_kigenMMyy))
		{
			String credit_kigenM = credit_kigenMMyy.substring(0, 2);
			String credit_kigenY = credit_kigenMMyy.substring(2, 4);
			credit_kigen = "20" + credit_kigenY + credit_kigenM;
		}

		// クレジットカード会社コード
		parentMap.put("crecard_comp_cd", workArea.getCard_brand_optcd());
		// クレジット事業コード
		parentMap.put("crecard_jigyo_cd", JFUStrConst.CD00420_2);
		// クレジットカード番号
		parentMap.put("crecard_no", workArea.getCr_cardnumber());
		// クレジットカード有効期限
		parentMap.put("crecard_yk_kigen", credit_kigen);
		// クレジットカード名義カナ名
		parentMap.put("crecard_nm_kana", workArea.getCr_cardNmKana());
// ANK-4619-00-00 ADD START
		// クレジットカード名義（ローマ字）
		parentMap.put("crecard_nm_romaji", workArea.getCrecard_nm_romaji());
// ANK-4619-00-00 ADD END
		// 仕向先会社コード
		parentMap.put("shikosaki_comp_cd", workArea.getCr_brandcode());
		// 異動区分
		parentMap.put(IDO_DIV, JFUStrConst.CD00576_00001);

		// 更新前年月日時分秒
		parentMap.put("upd_dtm_bf", "");

		// 一括フラグ(モバイル単独)
		parentMap.put("iktFlg", "1");

		param.setData("EKK0521D010", parentMap);

		return param;
	}

	/**
	 * サービス契約＜eo光ネット＞登録上りマッピング
	 * 
	 * @param workArea
	 * @param param
	 * @return
	 * @throws RequestParameterException 
	 */
// ANK-4427-00-00 MOD START
//	public IRequestParameterReadWrite setEKK0091D010(JFUMkmInfoAddFrontiaWorkArea workArea, IRequestParameterReadWrite param) throws RequestParameterException
	public IRequestParameterReadWrite setEKK0091D010(JFUMkmInfoAddFrontiaWorkArea workArea, IRequestParameterReadWrite param, String opeDate) throws RequestParameterException
// ANK-4427-00-00 MOD END
	{

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, JPCModelConstant.FUNC_CD_1);

		// SYSID
		parentMap.put("sysid", "");
		// サービスコード
		parentMap.put("svc_cd", JFUStrConst.CD00130_01);
		// 申込明細番号
		parentMap.put("mskm_dtl_no", "");

		// 料金グループコード
		parentMap.put("prc_grp_cd", JFUMkmInfoAddFrontiaUtil.getNetPrcGrpCd(workArea));
		// マンションタイプ
		if (JFUMkmInfoAddFrontiaConstCC.SERVICE_SBT_MT.equals(workArea.getService_sbt()))
		{
			// マンション識別コード
			parentMap.put("mans_skbt_cd", JFUStrConst.CD00002_1);
		}
		// 料金コースコード
		parentMap.put("pcrs_cd", JFUMkmInfoAddFrontiaUtil.getPcrsCdNet(workArea));
		// 料金プランコード
		parentMap.put("pplan_cd", JFUMkmInfoAddFrontiaUtil.getPplanCdNet(workArea));
		// 提供方式契約番号
		// マンションタイプの場合、設定される
		parentMap.put("tk_hoshiki_kei_no", workArea.getNet_tk_hoshiki_kei_no());
		// 共有フォームBean.サービス開始希望日 → サービス利用開始希望年月日
		parentMap.put("svc_use_sta_kibo_ymd", workArea.getSvc_sta_kibo_ymd());
		// 支払い方法継続フラグ
		parentMap.put("payway_keizoku_flg", "");
		// 異動区分
		parentMap.put(IDO_DIV, JFUStrConst.CD00576_00001);
		// 課金開始年月日補正有無
		parentMap.put("chrg_sta_ymd_hosei_um", CHRG_STA_YMD_HOSEI_UM_0);
		// 紹介コード
		parentMap.put("intr_cd", workArea.getRed_introduce());
		// 自動照査処理状態コード
		parentMap.put("auto_shosa_tran_stat_cd", JFUStrConst.CD00628_0);
		// PCパック有無
		parentMap.put("pc_pack_um", "0");
		// 固定IPアドレス引継ぎ有無
		parentMap.put("kotei_ip_ad_hktgi_um", "0");
		parentMap.put("rule0059_auto_aply", JFUStrConst.JMTE_AUTO_APLY_YH_YK);
		// 工事費自動適用要否
		parentMap.put("rule0079_auto_aply", JFUStrConst.CD00001_0);

		// 機器提供種別コード
		// レンタル
		parentMap.put("kktk_sbt_cd", ""); //初期値
		if (JFUMkmInfoAddFrontiaConstCC.SERVICE_SBT_MT.equals(workArea.getService_sbt()))
		{
			// フロント用提供方式パターンコードを取得
			String fuTeikyoHoshikiPtnCd = JFUMkmInfoAddUtil.getFuTeikyoHoshikiPtnCd(workArea.getW_tk_hoshiki_cd(), workArea.getW_tk_prc_sbt_cd());

			if (JFUStrConst.TK_HOSHIKI_PTN_VDSL.equals(fuTeikyoHoshikiPtnCd) || JFUStrConst.TK_HOSHIKI_PTN_VDSLS.equals(fuTeikyoHoshikiPtnCd))
			{
				// VDSLマンションの場合

				// 機器提供種別コードにモデムプラン（レンタル）を設定。
				parentMap.put("kktk_sbt_cd", JFUStrConst.CD00212_02);
			}
		}
		// サービス契約回線内訳番号
		parentMap.put("svc_kei_kaisen_ucwk_no", "");

		parentMap.put("fp_mskm", "");

		// typeNの場合
		if (JFUMkmInfoAddFrontiaUtil.isTypeN(workArea))
		{
			// 工事希望年月日１
			parentMap.put("wao_koji_kibo_ymd_1", workArea.getFirst_koji_kibobi());
			// 工事希望時間帯１
			parentMap.put("wao_koji_kibo_timez_1", getKibotimeZ(workArea.getFirst_koji_kibotime()));
			// 工事希望年月日２
			parentMap.put("wao_koji_kibo_ymd_2", workArea.getSecond_koji_kibobi());
			// 工事希望時間帯２
			parentMap.put("wao_koji_kibo_timez_2", getKibotimeZ(workArea.getSecond_koji_kibotime()));
			// 工事希望年月日３
			parentMap.put("wao_koji_kibo_ymd_3", workArea.getThird_koji_kibobi());
			// 工事希望時間帯３
			parentMap.put("wao_koji_kibo_timez_3", getKibotimeZ(workArea.getThird_koji_kibotime()));
			// 「現在利用中のＮＴＴ光ネットサービス」
			String tenyoDiv = workArea.getUse_net_svc();

			// 「新規」を選択した場合
			if (JFUMkmInfoAddFrontiaConstCC.USE_NET_SVC_0.equals(tenyoDiv))
			{
				// 転用区分[新規]を設定
				parentMap.put("wao_tenyo_div", JFUStrConst.CD01845_01);
			}
			// 「フレッツ光を利用中（転用）」を選択した場合
			else if (JFUMkmInfoAddFrontiaConstCC.USE_NET_SVC_1.equals(tenyoDiv))
			{
				// 転用区分[フレッツ光利用中（転用）]を設定
				parentMap.put("wao_tenyo_div", JFUStrConst.CD01845_02);
				// 転用承諾番号を設定
				parentMap.put("wao_tenyo_shodaku_no", workArea.getTenyo_syodaku_no());
			}
			// 「コラボ光を利用中（事業者変更）」を選択した場合
			else if (JFUMkmInfoAddFrontiaConstCC.USE_NET_SVC_2.equals(tenyoDiv))
			{
				// 転用区分[コラボ光利用中（事業者変更）]を設定
				parentMap.put("wao_tenyo_div", JFUStrConst.CD01845_03);
				// 事業者変更承諾番号を設定
				parentMap.put("wao_tenyo_shodaku_no", workArea.getJigyosya_syodaku_no());
			}
			// 番地未確定時の補足情報
			parentMap.put("wao_ad_bnchi_memo", workArea.getSetting_place_fixed_hsk());

// ANK-4427-00-00 ADD START
			// 有効期限
			String shodakuNo = null;
			String ykKigen = null;
			if (!JFUBPCommon.isNull(workArea.getTenyo_syodaku_no()))
			{
				shodakuNo = workArea.getTenyo_syodaku_no();
			}
			if (!JFUBPCommon.isNull(workArea.getJigyosya_syodaku_no()))
			{
				shodakuNo = workArea.getJigyosya_syodaku_no();
			}
			if (!JFUBPCommon.isNull(shodakuNo))
			{
				String mm = shodakuNo.substring(1, 3);
				String dd = shodakuNo.substring(3, 5);
				String yyyy = opeDate.substring(0, 4);
				String umm = opeDate.substring(4, 6);
				if ("01".equals(mm) && "12".equals(umm))
				{
					yyyy = String.valueOf(Integer.parseInt(yyyy)+1);
				}
				ykKigen = yyyy+mm+dd;
			}
			parentMap.put("wao_yk_kigen", ykKigen);
// ANK-4427-00-00 ADD END

		}

		param.setData("EKK0091D010", parentMap);

		return param;
	}

	/**
	 * サービス契約内訳＜eo光ネット＞登録上がりマッピング
	 * 
	 * @param workArea
	 * @param param
	 * @return
	 * @throws RequestParameterException 
	 */
	public IRequestParameterReadWrite setEKK0171D010(JFUMkmInfoAddFrontiaWorkArea workArea, IRequestParameterReadWrite param) throws RequestParameterException
	{

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, JPCModelConstant.FUNC_CD_1);

		// サービスコード
		parentMap.put("svc_cd", JFUStrConst.CD00130_01);
		// 申込明細番号
		parentMap.put("mskm_dtl_no", "");

		// 支払い方法継続フラグ
		parentMap.put("payway_keizoku_flg", "");
		// 異動区分
		parentMap.put(IDO_DIV, JFUStrConst.CD00576_00001);
		// 提供帯域コード
		// 100Mコース
		if (JFUStrConst.NET_COURSE_100M.equals(workArea.getNet_course()))
		{
			parentMap.put("tk_taiiki_cd", JFUStrConst.CD00893_01);
		}
		// 1Gコース
		else if (JFUStrConst.NET_COURSE_1G.equals(workArea.getNet_course()))
		{
			parentMap.put("tk_taiiki_cd", JFUStrConst.CD00893_03);
		}
		// 5Gコース
		else if (JFUStrConst.NET_COURSE_5G.equals(workArea.getNet_course()))
		{
			parentMap.put("tk_taiiki_cd", JFUStrConst.CD00893_04);
		}
		// 10Gコース
		else if (JFUStrConst.NET_COURSE_10G.equals(workArea.getNet_course()))
		{
			parentMap.put("tk_taiiki_cd", JFUStrConst.CD00893_04);
		}
		// 1Gコース Netflixパック
		else if (JFUStrConst.NET_COURSE_1G_NF.equals(workArea.getNet_course()))
		{
			parentMap.put("tk_taiiki_cd", JFUStrConst.CD00893_03);
		}
		// 5Gコース Netflixパック
		else if (JFUStrConst.NET_COURSE_5G_NF.equals(workArea.getNet_course()))
		{
			parentMap.put("tk_taiiki_cd", JFUStrConst.CD00893_04);
		}
		// 10Gコース Netflixパック
		else if (JFUStrConst.NET_COURSE_10G_NF.equals(workArea.getNet_course()))
		{
			parentMap.put("tk_taiiki_cd", JFUStrConst.CD00893_04);
		}
		else if (JFUMkmInfoAddFrontiaConstCC.NET_COURSE_5G10G.contains(workArea.getNet_course()))
		{
			parentMap.put("tk_taiiki_cd", JFUStrConst.CD00893_04);
		}
		else if (JFUMkmInfoAddFrontiaConstCC.NET_COURSE_1G.contains(workArea.getNet_course()))
		{
			parentMap.put("tk_taiiki_cd", JFUStrConst.CD00893_03);
		}
		else if (JFUMkmInfoAddFrontiaConstCC.NET_COURSE_100M.contains(workArea.getNet_course()))
		{
			parentMap.put("tk_taiiki_cd", JFUStrConst.CD00893_01);
		}

		// マンションの場合
		if (JFUMkmInfoAddFrontiaConstCC.SERVICE_SBT_MT.equals(workArea.getService_sbt()))
		{
			// 料金コースと画面表示コースが異なる
			if (JFUMkmInfoAddUtil.isTkHosikiChgSbtCd(workArea.getW_tk_hoshiki_chg_sbt_cd()))
			{
				parentMap.put("tk_taiiki_cd", JFUStrConst.CD00893_03);
			}
		}

		param.setData("EKK0171D010", parentMap);

		return param;
	}

	/**
	 * 機器提供サービス契約登録(多機能ルーター)の上りマッピング
	 * 
	 * @param workArea
	 * @param param
	 * @param shelf_cd
	 * @return
	 * @throws Exception
	 */
	@SuppressWarnings("unchecked")
	public IRequestParameterReadWrite setEKK0341D010Tkn(JFUMkmInfoAddFrontiaWorkArea workArea, IRequestParameterReadWrite param) throws Exception
	{

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		ArrayList list = null;
		HashMap childMap = null;
		list = new ArrayList();

		// サービス設定用パラメータをセットします。
		// 機器判定フラグを設定します。
		boolean musen_router_flg = false;
		boolean yusen_router_flg = false;

		if ("2".equals(workArea.getRouter_mskm()))
		{
			musen_router_flg = true;
		} else if ("1".equals(workArea.getRouter_mskm()))
		{
			yusen_router_flg = true;
		}

		if (musen_router_flg || yusen_router_flg)
		{
			childMap = new HashMap();
	
			// 共通情報のマッピング
			childMap.put(FUNC_CODE, JPCModelConstant.FUNC_CD_1);

			// コード値をクリアします。
			String kk1861_pcrs_cd = "";
			StringBuffer kk1861_hoyu_router_cd = new StringBuffer();

			// 料金コースコード
			kk1861_pcrs_cd = JFUMkmInfoAddFrontiaUtil.getPcrsCdNet(workArea);
	
			// 無線ルーター機能の場合
			if (musen_router_flg)
			{
				// 保有ルーターコード 
				kk1861_hoyu_router_cd = kk1861_hoyu_router_cd.append(JFUStrConst.CD01313_04).append(JFUStrConst.COMMA).append(JFUStrConst.CD01313_05).append(JFUStrConst.COMMA).append(JFUStrConst.CD01313_06);
			}
			// 有線ルーター機能の場合
			else if (yusen_router_flg)
			{
				// 保有ルーターコード 
				kk1861_hoyu_router_cd = kk1861_hoyu_router_cd.append(JFUStrConst.CD01313_01).append(JFUStrConst.COMMA).append(JFUStrConst.CD01313_02);
			}
	
			// 宅内機器種別コード
			childMap.put("taknkiki_sbt_cd", JFUStrConst.CD01262_R0);
			// 機器種別コード
			childMap.put("kktk_svc_cd", JFUStrConst.KK0771_KKTK_SVC_CD_C024);
			// 料金コースコード
			childMap.put("pcrs_cd", JFUStrConst.CD00134_C94);
			// 料金プランコード
			childMap.put("pplan_cd", JFUStrConst.CD00565_PC9401);
			// "02"（レンタル）固定 → eo光ネットオプションマップ.機器提供種別コード
			childMap.put("kktk_sbt_cd", JFUStrConst.CD00212_02);
			// eo光ネット情報.サービス開始希望日 → eo光ネットオプションマップ.サービス利用開始希望年月日
			childMap.put("svc_use_sta_kibo_ymd", workArea.getSvc_sta_kibo_ymd());
			// "10"（標準（新品））固定 → eo光ネットオプションマップ.販売種別コード
			childMap.put("hambai_sbt_cd", JFUStrConst.CD00348_10);
			// "02"（サービス契約回線内訳）固定 → eo光ネットオプションマップ.親契約識別コード
			childMap.put("oya_kei_skbt_cd", JFUStrConst.CD00804_02);
			// サービス契約回線内訳番号
			childMap.put("svc_kei_kaisen_ucwk_no", "");
			// SYSID → eo光ネットオプションマップ.SYSID
			childMap.put("sysid", "");
			// サービス契約番号（ネット）
			childMap.put("tg_svc_kei_no", "");
			// 申込明細番号
			childMap.put("mskm_dtl_no", "");
			// 機器送付先名
			// 機器送付先カナ名
			if (JFUStrConst.KEI_SBT_KOJINCD.equals(workArea.getKei_sbt()))
			{
				childMap.put("kiki_sohus_nm", workArea.getKshnm());
				childMap.put("kiki_sohus_kana", workArea.getKshkn());
			} else if (JFUStrConst.KEI_SBT_HOJINCD.equals(workArea.getKei_sbt()))
			{
				childMap.put("kiki_sohus_nm", workArea.getHojinnm());
				childMap.put("kiki_sohus_kana", workArea.getHojinkn());
			}
			// 機器送付先郵便番号
			childMap.put("kiki_sohus_pcd", workArea.getZip());
			// 機器送付先住所補記・建物名
			childMap.put("kiki_sohus_adrttm", workArea.getAdd4());
			// 機器送付先住所補記・部屋番号
			childMap.put("kiki_sohus_adrrm", workArea.getAdd5());
			// 機器送付先電話番号 → eo光ネットオプションマップ.機器送付先電話番号★結合が必要
			childMap.put("kiki_sohus_telno", workArea.getUseplace_telno());
			// 機器送付先＿契約者住所差異フラグ
			childMap.put("kiki_sohus_ksh_ad_sai_flg", getKysAddSaiFlg(workArea.getKshadd_cmf()));
			// 機器設置先＿契約者住所差異フラグ
			childMap.put("kiki_stc_sk_ksh_ad_sai_flg", getKysAddSaiFlg(workArea.getKshadd_cmf()));
			// 利用場所情報.郵便番号
			childMap.put("kiki_stc_saki_pcd", workArea.getZip());
			// 利用場所情報.建物名
			childMap.put("kiki_stc_saki_adrttm", workArea.getAdd4());
			// 利用場所情報.部屋番号 → eo光ネットオプションマップ.機器設置先住所補記・部屋番号
			childMap.put("kiki_stc_saki_adrrm", workArea.getAdd5());
			// 利用場所情報.電話番号
			childMap.put("kiki_stc_sk_telno", workArea.getUseplace_telno());
			// 異動区分
			childMap.put(IDO_DIV, JFUStrConst.CD00576_00001);
			// 請求契約番号
			childMap.put("seiky_kei_no", "");
			// 配送区分(00：直送)
			childMap.put("haiso_div", JFUStrConst.CD00020_00);
			// 機器送付先個別指定フラグ
			childMap.put("kiki_shs_kbt_shitei_flg", JFUStrConst.KK0341_KIKI_SHS_KBT_SHITEI_FLG_1);
			// ↓↓■2011/10/15 機器IF項目追加対応■↓↓
			// 機器引当指定倉庫コード("000001")
			childMap.put("kiki_hkat_shitei_soko_cd", KIKI_SOUKO_MINATO);
			// 機器引当指定倉庫棚コード("000")
			childMap.put("kiki_hkat_shitei_skdn_cd", workArea.getShelf_cd());
			// 住所未確定フラグ
			childMap.put("ad_mi_fix_flg", getAdMiFixFlg(workArea.getSetplace_bnchi()));
			// 更新年月日時分秒(更新前)
			childMap.put("upd_dtm_bf", "");
			// 機器送付先住所手動入力フラグ
			childMap.put("kiki_shs_ad_man_input_flg", JFUStrConst.CD01239_0);
			// 料金コースコード(サービス別宅内機器型式候補検索用)
			childMap.put("kk1861_pcrs_cd", kk1861_pcrs_cd);
			// 保有コースコード(サービス別宅内機器型式候補検索用)
			childMap.put("kk1861_hoyu_router_cd", kk1861_hoyu_router_cd.toString());
			
			if (!JFUMkmInfoAddFrontiaConstCC.SERVICE_SBT_HT.equals(workArea.getService_sbt()))
			{
				// マンション物件番号
				childMap.put("mansion_bukken_no", workArea.getW_mansion_bukken_no());
			}

			list.add(childMap);

			// マンションの場合
			if (JFUMkmInfoAddFrontiaConstCC.SERVICE_SBT_MT.equals(workArea.getService_sbt()))
			{
				setMnsKikiSohus(workArea, childMap);
				// 契約者住所を機器送付先にするためフラグを設定
				parentMap.put("MSKM_MNS_TYPE", "1");
			}

			parentMap.put("EKK0341D010TknList", list);
			param.setData("EKK0341D010Tkn", parentMap);
		}

		return param;
	}

	/**
	 * 機器オプションサービス契約＜eo光ネット＞の上りマッピング
	 * 
	 * @param workArea
	 * @param param
	 * @return
	 * @throws Exception
	 */
	@SuppressWarnings("unchecked")
	public IRequestParameterReadWrite setEKK2811D010Net02(JFUMkmInfoAddFrontiaWorkArea workArea, IRequestParameterReadWrite param) throws Exception
	{

		ArrayList list = null;
		HashMap childMap = null;
		HashMap<String, Object> parentMap = new HashMap<String, Object>();
		list = new ArrayList();

		// 機器判定フラグを設定します。
		boolean musen_router_flg = false;
		boolean yusen_router_flg = false;

		// 繰り返し回数を設定します。
		int count = 0;

		if ("2".equals(workArea.getRouter_mskm()))
		{
			musen_router_flg = true;
			count = count + 1;
		} else if ("1".equals(workArea.getRouter_mskm()))
		{
			yusen_router_flg = true;
			count = count + 1;
		}

		if (count == 0)
		{
			return null;
		}

		// 必要数分マップを作成します。
		for (int i = 0; i < count; i++)
		{
			childMap = new HashMap();

			// コード値をクリアします。
			String kkop_svc_cd = "";
			String pcrs_cd = "";
			String pplan_cd = "";

			if (musen_router_flg)
			{
				// 無線ルーター機能の場合
				kkop_svc_cd = JFUStrConst.KK2801_KKOP_SVC_CD_G01;
				pcrs_cd = JFUStrConst.CD00134_G02;
				pplan_cd = JFUStrConst.CD00565_PG0201;

				musen_router_flg = false;

			}
			else if (yusen_router_flg)
			{
				// 有線ルーター機能の場合
				kkop_svc_cd = JFUStrConst.KK2801_KKOP_SVC_CD_G01;
				pcrs_cd = JFUStrConst.CD00134_G01;
				pplan_cd = JFUStrConst.CD00565_PG0101;

				yusen_router_flg = false;
			}

			// 共通情報のマッピング
			childMap.put(FUNC_CODE, JPCModelConstant.FUNC_CD_1);

			// 機器オプションサービスコード
			childMap.put("kkop_svc_cd", kkop_svc_cd);
			// 料金コースコード
			childMap.put("pcrs_cd", pcrs_cd);
			// 料金プランコード
			childMap.put("pplan_cd", pplan_cd);
			// 請求契約番号
			childMap.put("seiky_kei_no", "");
			// 異動区分
			childMap.put(IDO_DIV, JFUStrConst.CD00576_00001);
			// SYSID
			childMap.put("sysid", "");
			// 申込明細番号
			childMap.put("mskm_dtl_no", "");
			// 機器連帯契約変更手続中フラグ
			childMap.put("kiki_rntai_kei_chgechu_flg", JFUStrConst.KK2811_KIKI_RNTAI_KEI_CHGECHU_FLG_0);
			// 更新年月日時分秒(更新前)
			childMap.put("upd_dtm_bf", "");
		}

		// ファミパ有無
		childMap.put("famipa_um", "0");
		// 加入契約申込条件コード
		childMap.put("knykei_mskm_joken_cd", workArea.getW_knykei_mskm_joken_cd());

		list.add(childMap);

		parentMap.put("EKK2811D010Net02List", list);
		param.setData("EKK2811D010Net02", parentMap);

		return param;
	}

	/**
	 * 機器オプションサービス契約登録＜eo光電話＞の上りマッピング（ｅｏ光ネットオプション登録ＣＣ）
	 * 
	 * @param workArea
	 * @param param
	 * @return
	 * @throws Exception
	 */
	@SuppressWarnings("unchecked")
	public IRequestParameterReadWrite setEKK2811D010Tel02(JFUMkmInfoAddFrontiaWorkArea workArea, IRequestParameterReadWrite param) throws Exception
	{

		ArrayList list = null;
		HashMap childMap = null;

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		list = new ArrayList();

		childMap = new HashMap();

		// 共通情報のマッピング
		childMap.put(FUNC_CODE, JPCModelConstant.FUNC_CD_1);
		// 機器オプションサービスコード(電話)
		childMap.put("kkop_svc_cd", JFUStrConst.KK2801_KKOP_SVC_CD_G02);
		// 請求契約番号
		childMap.put("seiky_kei_no", "");
		// SYSID
		childMap.put("sysid", "");
		// 申込明細番号
		childMap.put("mskm_dtl_no", "");
		// 異動区分
		childMap.put(IDO_DIV, JFUStrConst.CD00576_00001);
		// 機器連帯契約変更手続中フラグ
		childMap.put("kiki_rntai_kei_chgechu_flg", JFUStrConst.KK2811_KIKI_RNTAI_KEI_CHGECHU_FLG_1);
		// 更新年月日時分秒(更新前)
		childMap.put("upd_dtm_bf", "");

		list.add(childMap);

		parentMap.put("EKK2811D010Tel02List", list);
		param.setData("EKK2811D010Tel02", parentMap);

		return param;
	}
	
	/**
	 * 機器オプションサービス契約＜eo光電話＞の上りマッピング
	 * 
	 * @param workArea
	 * @param param
	 * @return
	 * @throws Exception
	 */
	@SuppressWarnings("unchecked")
	public IRequestParameterReadWrite setEKK2811D010(JFUMkmInfoAddFrontiaWorkArea workArea, IRequestParameterReadWrite param) throws Exception
	{

		ArrayList list = null;
		HashMap childMap = null;

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 電話コース取得
		String telNoSvc = workArea.getEotel_course();

		list = new ArrayList();

		childMap = new HashMap();

		// 共通情報のマッピング
		childMap.put(FUNC_CODE, JPCModelConstant.FUNC_CD_1);

		// 機器オプションサービスコード(光電話)
		childMap.put("kkop_svc_cd", JFUStrConst.KK2801_KKOP_SVC_CD_G02);

		// 1番号サービス
		if (telNoSvc.equals(JFUStrConst.TEL_COURSE_1BANGOU_SVC))
		{
			// →料金コースコード G03（電話アダプター機能（１番号）)
			childMap.put("pcrs_cd", JFUStrConst.CD00134_G03);
			// →料金プランコード PG0301（電話アダプター機能（１番号） )
			childMap.put("pplan_cd", JFUStrConst.CD00565_PG0301);

		}
		// 2番号サービス
		else if (telNoSvc.equals(JFUStrConst.TEL_COURSE_2BANGOU_SVC))
		{
			// →料金コースコード G04（電話アダプター機能（２番号）)
			childMap.put("pcrs_cd", JFUStrConst.CD00134_G04);
			// →料金プランコード PG0401（電話アダプター機能（２番号） )
			childMap.put("pplan_cd", JFUStrConst.CD00565_PG0401);

		}

		// 異動区分
		childMap.put(IDO_DIV, JFUStrConst.CD00576_00001);
		// SYSID
		childMap.put("sysid", "");
		// 機器連帯契約変更手続中フラグ
		childMap.put("kiki_rntai_kei_chgechu_flg", JFUStrConst.KK2811_KIKI_RNTAI_KEI_CHGECHU_FLG_0);

		list.add(childMap);

		parentMap.put("EKK2811D010TelList", list);
		param.setData("EKK2811D010Tel", parentMap);

		return param;
	}

	/**
	 * 機器オプションサービス契約登録＜eo光ネット＞の上りマッピング
	 * 
	 * @param workArea
	 * @param param
	 * @return
	 * @throws Exception
	 */
	@SuppressWarnings("unchecked")
	public IRequestParameterReadWrite setEKK2811D01002(JFUMkmInfoAddFrontiaWorkArea workArea, IRequestParameterReadWrite param) throws Exception
	{

		ArrayList list = null;
		HashMap childMap = null;

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		list = new ArrayList();

		childMap = new HashMap();

		// 共通情報のマッピング
		childMap.put(FUNC_CODE, JPCModelConstant.FUNC_CD_1);
		// 機器オプションサービスコード(ネット)
		childMap.put("kkop_svc_cd", JFUStrConst.KK2801_KKOP_SVC_CD_G01);
		// SYSID
		childMap.put("sysid", "");
		// 異動区分
		childMap.put(IDO_DIV, JFUStrConst.CD00576_00001);
		// 機器連帯契約変更手続中フラグ
		childMap.put("kiki_rntai_kei_chgechu_flg", JFUStrConst.KK2811_KIKI_RNTAI_KEI_CHGECHU_FLG_1);
		// 更新年月日時分秒(更新前)
		childMap.put("upd_dtm_bf", "");

		list.add(childMap);

		parentMap.put("EKK2811D010NetList", list);
		param.setData("EKK2811D010Net", parentMap);

		return param;
	}

	/**
	 * 業務パラメータ管理一意照会マップの上りマッピング
	 * 
	 * @param workArea
	 * @param param
	 * @return
	 * @throws RequestParameterException 
	 */
	@SuppressWarnings("unchecked")
	public IRequestParameterReadWrite setEZM0321A010(JFUMkmInfoAddFrontiaWorkArea workArea, IRequestParameterReadWrite param) throws RequestParameterException
	{

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, JPCModelConstant.FUNC_CD_1);

		// 通話料指定到達通知金額初期値 → 業務パラメータ管理一意照会マップ.ＫＥＹ＿業務パラメータID
		parentMap.put("key_work_param_id", JFUStrConst.KK_TWRYO_UPPL_SHKV);

		ArrayList list = new ArrayList();
		HashMap childMap = new HashMap();

		list.add(childMap);

		parentMap.put("EZM0321A010CBSMsg1List", list);
		param.setData("EZM0321A010", parentMap);

		return param;
	}
	
	/**
	 * オプションサービス契約＜サポート＞登録の上りマッピング
	 * 
	 * @param workArea
	 * @param param
	 * @return
	 * @throws RequestParameterException 
	 */
	public IRequestParameterReadWrite setEKK0391D010(JFUMkmInfoAddFrontiaWorkArea workArea, IRequestParameterReadWrite param, String opeDate) throws RequestParameterException
	{

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// リモートサポートを選択していない場合は処理終了
		// セキュリテーパック申し込まれている場合は処理終了
		if (!"1".equals(workArea.getRmtsprt_mskm()) || "1".equals(workArea.getSecurity_pack_mskm()))
		{
			return null;
		}
		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, JPCModelConstant.FUNC_CD_1);

		// サービス設定用パラメータをセットします。
		// "B021"固定（リモートサポートプラス） → オプションサービスマップ.オプションサービスコード
		parentMap.put("op_svc_cd", JFUStrConst.CD00136_B021);
		// "B25"固定（リモートサポートプラス） → オプションサービスマップ.料金コースコード
		parentMap.put("pcrs_cd", JFUStrConst.CD00134_B25);
		// "PB2501"固定（リモートサポートプラス） → オプションサービスマップ.料金プランコード
		parentMap.put("pplan_cd", JFUStrConst.CD00565_PB2501);
		// サービス利用開始希望年月日
		parentMap.put("svc_use_sta_kibo_ymd", workArea.getSvc_sta_kibo_ymd());
		// "01"固定（サービス契約） → オプションサービスマップ.親契約識別コード
		parentMap.put("oya_kei_skbt_cd", JFUStrConst.CD00804_01);
		// eo光ネット.サービス契約番号 → オプションサービスマップ.サービス契約番号
		parentMap.put("svc_kei_no", "");
		// SYSID→ オプションサービスマップ.SYSID
		parentMap.put("sysid", "");
		// eo光ネット.申込明細番号 → オプションサービスマップ.申込明細番号
		parentMap.put("mskm_dtl_no", "");
		// 異動区分
		parentMap.put(IDO_DIV, JFUStrConst.CD00576_00001);
		// 請求契約番号 → オプションサービスマップ.請求契約番号
		parentMap.put("seiky_kei_no", "");

		// 更新年月日時分秒(更新前)
		parentMap.put("upd_dtm_bf", "");

		param.setData("EKK0391D010", parentMap);

		return param;
	}

	/**
	 * 機器オプションサービス契約一覧照会(フロント)の上りマッピング
	 * 
	 * @param workArea
	 * @param param
	 * @return
	 * @throws Exception
	 */
	public IRequestParameterReadWrite setEKK2811B503(JFUMkmInfoAddFrontiaWorkArea workArea, IRequestParameterReadWrite param) throws Exception
	{

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		String net_flg = "0";
		String tel_flg = "0";
		String musenRouter = "0";
		String yusenRouter = "0";

		// 選択サービス(ネット)又は、選択サービス(テレビ)又は、選択サービス(電話)が選択されている場合
		if (workArea.getEonet())
		{
			net_flg = "1";
		}
		if (workArea.getEotel())
		{
			tel_flg = "1";
		}
		if ("1".equals(workArea.getRouter_mskm()))
		{
			yusenRouter = "1";
		} else if ("2".equals(workArea.getRouter_mskm()))
		{
			musenRouter = "1";
		}
		
		// SYSID
		parentMap.put("key_sysid", "");
		// サービス契約回線内訳番号
		parentMap.put("key_svc_kei_kaisen_ucwk_no", "");
		// 宅内機器種別コード
		parentMap.put("key_taknkiki_sbt_cd", JFUStrConst.TKNI_KIKI_SBT_CD_RD);
		// 申込区分
		parentMap.put("mskmKbn", JFUStrConst.MSKM_KBN_NEW);
		// 加入契約申込条件コード
		parentMap.put("knykeiMskmJokenCd", "");
		// 選択サービス（ネット）
		parentMap.put("selectSvcNet", net_flg);
		// 選択サービス（電話）
		parentMap.put("selectSvcTel", tel_flg);
		// 多機能ルーター(無線ルーター機能)
		parentMap.put("musenRouter", musenRouter);
		// 多機能ルーター(有線ルーター機能)
		parentMap.put("yusenRouter",  yusenRouter);
		// 販売タイプ
		parentMap.put("hanbaiType", JFUStrConst.HNBAI_TYPE_CON);
		param.setData("EKK2811B503", parentMap);

		return param;
	}

	/**
	 * 進捗登録上りマッピング
	 * 
	 * @param workArea
	 * @param param
	 * @return
	 * @throws RequestParameterException 
	 */
	@SuppressWarnings("unchecked")
	public IRequestParameterReadWrite setEKK1091D010(JFUMkmInfoAddFrontiaWorkArea workArea, IRequestParameterReadWrite param) throws RequestParameterException
	{
		int srvCnt = 0; // サービス契約個数
		ArrayList list = null;
		ArrayList subList = null;
		HashMap childMap = null;
		HashMap subChildMap = null;
		HashMap wrkMap = null;
		ArrayList wrkList = null;

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		wrkList = new ArrayList();

		// サービス契約個数算出
		// eo光ネット
		if (workArea.getEonet())
		{
			srvCnt = srvCnt + 1;
			wrkMap = new HashMap();
			wrkMap.put("svc_kei_no", workArea.getSvc_kei_no_net());
			wrkMap.put("seiky_kei_no", workArea.getSeiky_kei_no());
			wrkList.add(wrkMap);
		}
		// eo光テレビ
		if (workArea.getEotv())
		{
			srvCnt = srvCnt + 1;
			wrkMap = new HashMap();
			wrkMap.put("svc_kei_no", workArea.getSvc_kei_no_tel());
			wrkMap.put("seiky_kei_no", workArea.getSeiky_kei_no());
			wrkList.add(wrkMap);
		}
		// eo光電話
		if (workArea.getEotel())
		{
			srvCnt = srvCnt + 1;
			wrkMap = new HashMap();
			wrkMap.put("svc_kei_no", workArea.getSvc_kei_no_tv());
			wrkMap.put("seiky_kei_no", workArea.getSeiky_kei_no());
			wrkList.add(wrkMap);
		}

		list = new ArrayList();

		for (int i = 0; i < srvCnt; i++)
		{
			childMap = new HashMap();

			wrkMap = (HashMap)wrkList.get(i);
			// 共通情報のマッピング
			childMap.put(FUNC_CODE, JPCModelConstant.FUNC_CD_1);
			// 請求契約番号
			childMap.put("seiky_kei_no", wrkMap.get("seiky_kei_no"));
			// 請求方法番号(クレジットカード)
			//TODO
			childMap.put("seiky_way_no_crecard", "");
			// サービス契約番号
			childMap.put("svc_kei_no", wrkMap.get("svc_kei_no"));
			// 異動区分
			childMap.put(IDO_DIV, JFUStrConst.CD00576_00001);
			childMap.put("ido_dtm", "");
			// 進捗ステータス
			childMap.put("prg_stat", JFUStrConst.CD00647_0200);
			// 異動理由明細
			if (parentMap.containsKey("EKK1091D010CBSMsg1List"))
			{
				subList = (ArrayList)parentMap.get("EKK1091D010CBSMsg1List");
			}
			else
			{
				subList = new ArrayList();
			}
			subChildMap = new HashMap();
			// 異動理由コード
			subChildMap.put("ido_rsn_cd", JFUStrConst.CD00846_16);

			subList.add(subChildMap);
			childMap.put("EKK1091D010CBSMsg1List", subList);

			list.add(childMap);
		}
		parentMap.put("EKK1091D010List", list);
		param.setData("EKK1091D010", parentMap);

		return param;
	}

	/**
	 * サービス契約＜eo光電話＞登録マップの上りマッピング
	 * 
	 * @param workArea
	 * @param param
	 * @return
	 * @throws RequestParameterException 
	 */
	public IRequestParameterReadWrite setEKK0111D010(JFUMkmInfoAddFrontiaWorkArea workArea, IRequestParameterReadWrite param) throws RequestParameterException
	{

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, JPCModelConstant.FUNC_CD_1);

		// SYSID
		parentMap.put("sysid", "");
		// サービスコード
		parentMap.put("svc_cd", JFUStrConst.CD00130_02);
		// 申込明細番号
		parentMap.put("mskm_dtl_no", "");
		// 料金グループコード
		parentMap.put("prc_grp_cd", JFUStrConst.CD00133_10);

		// 電話コースが1:1番号サービスの場合
		if (!JFUBPCommon.isNull(workArea.getEotel_course()))
		{
			if (JFUStrConst.TEL_COURSE_1BANGOU_SVC.equals(workArea.getEotel_course()))
			{
				// 1番号コース
				// 料金コースコード
				parentMap.put("pcrs_cd", JFUStrConst.CD00134_A31);
				// 料金プランコード
				if (JFUMkmInfoAddFrontiaConstCC.SERVICE_SBT_HT.equals(workArea.getService_sbt()))
				{
					// サービス種別が「1：ホーム」
					parentMap.put("pplan_cd", JFUStrConst.CD00565_PA3101);
				}
				else if (JFUMkmInfoAddFrontiaConstCC.SERVICE_SBT_MZ.equals(workArea.getService_sbt()))
				{
					// サービス種別が「2：メゾン」
					parentMap.put("pplan_cd", JFUStrConst.CD00565_PA3103);

				}
				else if (JFUMkmInfoAddFrontiaConstCC.SERVICE_SBT_MT.equals(workArea.getService_sbt()))
				{

					// フロント用提供方式パターンコードを取得
					String fuTeikyoHoshikiPtnCd = JFUMkmInfoAddUtil.getFuTeikyoHoshikiPtnCd(workArea.getW_tk_hoshiki_cd(), workArea.getW_tk_prc_sbt_cd());

					if (JFUStrConst.TK_HOSHIKI_PTN_HIKARI_HAISEN.equals(fuTeikyoHoshikiPtnCd))
					{
						// 光配線
						// 料金プランコード
						parentMap.put("pplan_cd", JFUStrConst.CD00565_PA3104);
					}
					else
					{
						// 光配線以外
						parentMap.put("pplan_cd", JFUStrConst.CD00565_PA3102);
					}

					// マンション識別コード
					parentMap.put("mans_skbt_cd", JFUStrConst.CD00002_1);
				}

			}
			// 電話コースが2:2番号サービスの場合
			else if (JFUStrConst.TEL_COURSE_2BANGOU_SVC.equals(workArea.getEotel_course()))
			{
				// 2番号コース
				// 料金コースコード
				parentMap.put("pcrs_cd", JFUStrConst.CD00134_A32);
				// 料金プランコード
				if (JFUMkmInfoAddFrontiaConstCC.SERVICE_SBT_HT.equals(workArea.getService_sbt()))
				{
					// サービス種別が「1：ホーム」
					parentMap.put("pplan_cd", JFUStrConst.CD00565_PA3201);
				}
				else if (JFUMkmInfoAddFrontiaConstCC.SERVICE_SBT_MZ.equals(workArea.getService_sbt()))
				{
					// サービス種別が「2：メゾン」
					parentMap.put("pplan_cd", JFUStrConst.CD00565_PA3203);

				}
				else if (JFUMkmInfoAddFrontiaConstCC.SERVICE_SBT_MT.equals(workArea.getService_sbt()))
				{

					// フロント用提供方式パターンコードを取得
					String fuTeikyoHoshikiPtnCd = JFUMkmInfoAddUtil.getFuTeikyoHoshikiPtnCd(workArea.getW_tk_hoshiki_cd(), workArea.getW_tk_prc_sbt_cd());

					if (JFUStrConst.TK_HOSHIKI_PTN_HIKARI_HAISEN.equals(fuTeikyoHoshikiPtnCd))
					{
						// 光配線
						// 料金プランコード
						parentMap.put("pplan_cd", JFUStrConst.CD00565_PA3204);
					}
					else
					{
						// 光配線以外
						parentMap.put("pplan_cd", JFUStrConst.CD00565_PA3202);
					}

					// マンション識別コード
					parentMap.put("mans_skbt_cd", JFUStrConst.CD00002_1);
				}
			}
		}
		// 提供方式契約番号
		parentMap.put("tk_hoshiki_kei_no", workArea.getNet_tk_hoshiki_kei_no());
		// 支払い方法継続フラグ
		parentMap.put("payway_keizoku_flg", "");
		// 異動区分
		parentMap.put(IDO_DIV, JFUStrConst.CD00576_00001);
		// 紹介コード
		parentMap.put("intr_cd", workArea.getRed_introduce());
		// 自動照査処理状態コード
		parentMap.put("auto_shosa_tran_stat_cd", JFUStrConst.CD00628_0);
		// 事務手数料自動適用要否
		parentMap.put("rule0059_auto_aply", JFUStrConst.JMTE_AUTO_APLY_YH_YK);
		// 工事費自動適用要否
		parentMap.put("rule0079_auto_aply", JFUStrConst.CD00001_0);
		// サービス利用開始希望年月日
		parentMap.put("svc_use_sta_kibo_ymd", workArea.getSvc_sta_kibo_ymd());
		// 機器提供種別コード
		parentMap.put("kktk_sbt_cd", ""); //初期値

		if (JFUMkmInfoAddFrontiaConstCC.SERVICE_SBT_MT.equals(workArea.getService_sbt()))
		{
			// フロント用提供方式パターンコードを取得
			String fuTeikyoHoshikiPtnCd = JFUMkmInfoAddUtil.getFuTeikyoHoshikiPtnCd(workArea.getW_tk_hoshiki_cd(), workArea.getW_tk_prc_sbt_cd());

			if (JFUStrConst.TK_HOSHIKI_PTN_VDSL.equals(fuTeikyoHoshikiPtnCd) || JFUStrConst.TK_HOSHIKI_PTN_VDSLS.equals(fuTeikyoHoshikiPtnCd))
			{
				// VDSLマンションの場合

				// 機器提供種別コードにモデムプラン（レンタル）を設定。
				parentMap.put("kktk_sbt_cd", JFUStrConst.CD00212_02);
			}
		}

		// サービス契約回線内訳番号
		parentMap.put("svc_kei_kaisen_ucwk_no", "");

		param.setData("EKK0111D010", parentMap);

		return param;
	}

	/**
	 * サービス契約内訳＜eo光電話＞登録マップの上りマッピング
	 * 
	 * @param workArea
	 * @param param
	 * @return
	 * @throws Exception
	 */
	@SuppressWarnings("unchecked")
	public IRequestParameterReadWrite setEKK0191D010(JFUMkmInfoAddFrontiaWorkArea workArea, IRequestParameterReadWrite param) throws Exception
	{
		ArrayList list = null;
		HashMap childMap = null;

		String telno_jun = "";

		// 電話番号配列数
		int telArray = 0;

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		if (JFUBPCommon.isNull(workArea.getEotel_course()))
		{
			return null;
		}

		telArray = Integer.parseInt(workArea.getEotel_course());
			
		list = new ArrayList();

		for (int i = 0; i < telArray; i++)
		{
			// childMapの初期化
			childMap = new HashMap();

			// 共通情報のマッピング
			childMap.put(FUNC_CODE, JPCModelConstant.FUNC_CD_1);

			// 異動区分
			childMap.put(IDO_DIV, JFUStrConst.CD00576_00001);

			childMap.put("emg_hosei_pcd", workArea.getZip());

			if (JFUStrConst.KEI_SBT_KOJINCD.equals(workArea.getKei_sbt()))
			{
				childMap.put("emg_ksh_nm", workArea.getKshnm());
				childMap.put("emg_ksh_kana", workArea.getKshkn());
			}
			else if (JFUStrConst.KEI_SBT_HOJINCD.equals(workArea.getKei_sbt()))
			{
				childMap.put("emg_ksh_nm", workArea.getHojinnm());
				childMap.put("emg_ksh_kana", workArea.getHojinkn());
			}
			// 利用場所情報.建物名
			String keyakusya_adrttm = workArea.getAdd4();
			// 利用場所情報.部屋番号
			String keyakusya_adrrrm = workArea.getAdd5();
			// 建物名と部屋番号を結合
			String kinkyuBuilding = keyakusya_adrttm + keyakusya_adrrrm;

			// 桁数判定
			if (!JFUBPCommon.isNull(kinkyuBuilding) && kinkyuBuilding.length() > 45)
			{
				// 45桁以上の場合
				// 利用場所.建物名 → 緊急通報用建物名
				childMap.put("emg_adrttm", kinkyuBuilding.substring(0, 45));

				// 利用場所.部屋番号 → 緊急通報用部屋番号
				if (kinkyuBuilding.length() > 60)
				{
					childMap.put("emg_adrrm", kinkyuBuilding.substring(45, 60));
				}
				else
				{
					childMap.put("emg_adrrm", kinkyuBuilding.substring(45, kinkyuBuilding.length()));
				}
			}
			else
			{
				// 45桁以下の場合
				// 利用場所.建物名 → 緊急通報用建物名
				childMap.put("emg_adrttm", kinkyuBuilding);
			}

			childMap.put("emg_ksh_ksitei_flg", "0");

			// 電話番号順番（契約内訳）
			telno_jun = String.valueOf(i + 1);
			childMap.put("telno_jun", telno_jun);
			// NTT番号案内有無（契約内訳）
			childMap.put("ntt_no_guide_um", JFUStrConst.CD00002_0);
			// ハローページ掲載有無（契約内訳）
			childMap.put("hellopage_keisai_um", JFUStrConst.CD00002_0);
			// 通話明細公開要否（契約内訳）
			childMap.put("tuwa_dtl_kokai_yh", "");
			childMap.put("telno", "");

			String tsjgs_cd = JFUStrConst.EMPTY;
			String useBmp = JFUStrConst.EMPTY;
			String bmp_ad_choice = JFUStrConst.EMPTY;
			Boolean iten_ttdk = false;
			if (0 == i)
			{
				childMap.put("telno", "");
				tsjgs_cd = workArea.getBmp_tel_svctk_jgs_1();
				useBmp = workArea.getUse_bmp_1();
				bmp_ad_choice = workArea.getBmp_ad_choice_1();
				if ("0".equals(workArea.getNtt_no_iten_ttdk_choice_1()))
				{
					iten_ttdk = true;
				}
			} else {
				tsjgs_cd = workArea.getBmp_tel_svctk_jgs_2();
				useBmp = workArea.getUse_bmp_2();
				bmp_ad_choice = workArea.getBmp_ad_choice_2();
				if ("0".equals(workArea.getNtt_no_iten_ttdk_choice_2()))
				{
					iten_ttdk = true;
				}
			}
			// 通信事業者コード（契約内訳）
			childMap.put("tsjgs_cd", tsjgs_cd);
			// 番ポ有無
			childMap.put("bmp_um", useBmp);
			// 同番移転申込有無
			if (JFUStrConst.USE_BMP_USE.equals(useBmp))
			{
				if (JFUStrConst.BMP_USE_PLC_CD_GENZAI.equals(bmp_ad_choice))
				{
					childMap.put("dobaniten_mskm_um", JFUStrConst.CD00002_0);
				}
				else if (JFUStrConst.BMP_USE_PLC_CD_HIKKOSHI.equals(bmp_ad_choice))
				{
					childMap.put("dobaniten_mskm_um", JFUStrConst.CD00002_1);
				}
				// 同番移転手続実施者識別コード
				// 引越し先で利用の場合のみ設定する。
				if (JFUStrConst.BMP_USE_PLC_CD_HIKKOSHI.equals(bmp_ad_choice))
				{
					if (iten_ttdk)
					{
						childMap.put("dobaniten_ttdk_jssis_skcd", JFUStrConst.CD01658_1);
					}
					else
					{
						childMap.put("dobaniten_ttdk_jssis_skcd", JFUStrConst.CD01658_2);
					}
				}
				// 同番移転自動連携候補抽出済フラグ
				childMap.put("dbnitn_at_rnkkh_cst_zm_flg", JFUStrConst.CD00581_0);
			}
			// 手動切替予定年月日時分秒（契約内訳）
			childMap.put("man_switch_rsv_dtm", "");
			// 事務手数料自動適用要否
			childMap.put("rule0059_auto_aply", JFUStrConst.JMTE_AUTO_APLY_YH_YK);
			// VAポート番号 2番号サービスの場合のみ設定
			if (JFUStrConst.TEL_COURSE_2BANGOU_SVC.equals(workArea.getEotel_course()))
			{
				childMap.put("va_port_no", telno_jun);
			}

			// 同番移転判定コード わからないので「未設定」をいれておきます。
			childMap.put("dobaniten_jdg_cd", JFUStrConst.CD01281_0);

			// 移転先開通後トーキ希望有無 わからないので「無」を入れておきます。
			childMap.put("itens_opaf_toki_kibo_um", JFUStrConst.CD00002_0);

			// 仮申込フラグ
			childMap.put("kari_mskm_flg", "");

			list.add(childMap);
		}

		parentMap.put("EKK0191D010List", list);
		param.setData("EKK0191D010", parentMap);

		return param;
	}
	
	/**
	 * オプションサービス契約＜eo光電話＞登録マップの上りマッピング
	 * 
	 * @param workArea
	 * @param param
	 * @return
	 * @throws RequestParameterException 
	 */
	@SuppressWarnings("unchecked")
	public IRequestParameterReadWrite setEKK0371D010_1(JFUMkmInfoAddFrontiaWorkArea workArea, IRequestParameterReadWrite param) throws RequestParameterException
	{

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, JPCModelConstant.FUNC_CD_1);

		int count = 0;
		if (JFUStrConst.TEL_COURSE_1BANGOU_SVC.equals(workArea.getEotel_course()))
		{
			count = 1;
		}
		else if (JFUStrConst.TEL_COURSE_2BANGOU_SVC.equals(workArea.getEotel_course()))
		{
			count = 2;
		}
		ArrayList list = null;
		HashMap childMap = null;
		list = new ArrayList();
		// 電話コースの分だけＭＡＰを作成する
		for (int i = 0; i < count; i++)
		{
			childMap = new HashMap();

			// オプションサービスコード
			childMap.put("op_svc_cd", JFUStrConst.CD00136_B072);
			// 料金コースコード
			childMap.put("pcrs_cd", JFUStrConst.CD00134_B76);
			// 料金プランコード
			childMap.put("pplan_cd", JFUStrConst.CD00565_PB7601);
			// 親契約識別コード(サービス契約内訳)
			childMap.put("oya_kei_skbt_cd", JFUStrConst.CD00804_03);
			// SYSID
			childMap.put("sysid", "");
			// サービス利用開始希望年月日
			childMap.put("svc_use_sta_kibo_ymd", null);
			// 異動区分
			childMap.put(IDO_DIV, JFUStrConst.CD00576_00001);

			list.add(childMap);
		}
		parentMap.put("EKK0371D010TelList", list);

		param.setData("EKK0371D010Tel", parentMap);

		return param;
	}

	/**
	 * サービス契約内訳＜eo光電話＞情報変更の上りマッピング
	 * 
	 * @param workArea
	 * @param param
	 * @return
	 * @throws RequestParameterException 
	 */
	@SuppressWarnings("unchecked")
	public IRequestParameterReadWrite setEKK0191C012(JFUMkmInfoAddFrontiaWorkArea workArea, IRequestParameterReadWrite param) throws RequestParameterException
	{

		ArrayList list = null;
		HashMap childMap = null;
		HashMap<String, Object> parentMap = new HashMap<String, Object>();
		list = new ArrayList();

		// サービス設定用パラメータをセットします。
		// 番号ポータビリティ情報フラグを設定します。
		boolean bnp_flg1 = false;
		boolean bnp_flg2 = false;

		// 繰り返し回数を設定します。
		int count = 0;
		
		List<HashMap<String, Object>> hashMapList = new ArrayList<HashMap<String, Object>>();
		// 番号ポータビリティ利用有無（１番号目）
		if ("1".equals(workArea.getUse_bmp_1()))
		{
			HashMap<String, Object> bmpAddressMap1 = (HashMap<String, Object>)param.getData("FUSV016008CC");
			HashMap<String, Object> hashMap = new HashMap<String, Object>();
			hashMap.put("telno", workArea.getBmp_telno_1());
			hashMap.put("ntt_keisha_pcd", bmpAddressMap1.get("pcd"));
			hashMap.put("ntt_keisha_adrttm", bmpAddressMap1.get("adrttm"));
			hashMap.put("ntt_keisha_adrrm", bmpAddressMap1.get("adrrm"));
			hashMap.put("ntt_ksh_kana" ,workArea.getBmp_kshkn_1());
			hashMap.put("ntt_keisha_nm" ,workArea.getBmp_kshnm_1());
			hashMap.put("tsjgs_cd" ,workArea.getBmp_tel_svctk_jgs_1());
			hashMap.put("use_bmp" ,workArea.getUse_bmp_1());
			hashMap.put("bmp_ad_choice" ,workArea.getBmp_ad_choice_1());
			if ("0".equals(workArea.getNtt_no_iten_ttdk_choice_1()))
			{
				hashMap.put("iten_ttdk", true);
			} else {
				hashMap.put("iten_ttdk", false);
			}
			hashMapList.add(hashMap);
			
			bnp_flg1 = true;
			count = count + 1;
		}
		// 番号ポータビリティ利用有無（２番号目）
		if ("1".equals(workArea.getUse_bmp_2()))
		{
			HashMap<String, Object> bmpAddressMap2 = (HashMap<String, Object>)param.getData("FUSV016009CC");
			HashMap<String, Object> hashMap = new HashMap<String, Object>();
			hashMap.put("telno", workArea.getBmp_telno_2());
			hashMap.put("ntt_keisha_pcd", bmpAddressMap2.get("pcd"));
			hashMap.put("ntt_keisha_adrttm" ,bmpAddressMap2.get("adrttm"));
			hashMap.put("ntt_keisha_adrrm" , bmpAddressMap2.get("adrrm"));
			hashMap.put("ntt_ksh_kana" ,workArea.getBmp_kshkn_2());
			hashMap.put("ntt_keisha_nm" ,workArea.getBmp_kshnm_2());
			hashMap.put("tsjgs_cd" ,workArea.getBmp_tel_svctk_jgs_2());
			hashMap.put("use_bmp" ,workArea.getUse_bmp_2());
			hashMap.put("bmp_ad_choice" ,workArea.getBmp_ad_choice_2());
			if ("0".equals(workArea.getNtt_no_iten_ttdk_choice_2()))
			{
				hashMap.put("iten_ttdk", true);
			} else {
				hashMap.put("iten_ttdk", false);
			}
			hashMapList.add(hashMap);

			bnp_flg2 = true;
			count = count + 1;
		}

		if (count == 0)
		{
			return null;
		}

		// 必要数分マップを作成します。
		for (int i = 0; i < count; i++)
		{
//			String telno = JFUStrConst.EMPTY;
//			String ntt_keisha_pcd = JFUStrConst.EMPTY;
//			String ntt_keisha_adrttm = JFUStrConst.EMPTY;
//			String ntt_keisha_adrrm = JFUStrConst.EMPTY;
//			String ntt_ksh_kana = JFUStrConst.EMPTY;
//			String ntt_keisha_nm = JFUStrConst.EMPTY;
//			String tsjgs_cd = JFUStrConst.EMPTY;
//			String use_bmp = JFUStrConst.EMPTY;
//			String bmp_ad_choice = JFUStrConst.EMPTY;
//			Boolean iten_ttdk = false;
			
			HashMap<String, Object> hashMap = hashMapList.get(i);
			String telno = (String) hashMap.get("telno");
			String ntt_keisha_pcd = (String) hashMap.get("ntt_keisha_pcd");
			String ntt_keisha_adrttm = (String) hashMap.get("ntt_keisha_adrttm");
			String ntt_keisha_adrrm = (String) hashMap.get("ntt_keisha_adrrm");
			String ntt_ksh_kana = (String) hashMap.get("ntt_ksh_kana");
			String ntt_keisha_nm = (String) hashMap.get("ntt_keisha_nm");
			String tsjgs_cd = (String) hashMap.get("tsjgs_cd");
			String use_bmp = (String) hashMap.get("use_bmp");
			String bmp_ad_choice = (String) hashMap.get("bmp_ad_choice");
			Boolean iten_ttdk = (Boolean) hashMap.get("iten_ttdk");

//			
//			if (bnp_flg1)
//			{
//				telno = workArea.getBmp_telno_1();
//				ntt_keisha_pcd = workArea.getBmp_pcd_1();
//				ntt_keisha_adrttm = workArea.getBmp_Address2_1();
//				ntt_keisha_adrrm = workArea.getBmp_Address3_1();
//				ntt_ksh_kana = workArea.getBmp_kshkn_1();
//				ntt_keisha_nm = workArea.getBmp_kshnm_1();
//				tsjgs_cd = workArea.getBmp_tel_svctk_jgs_1();
//				use_bmp = workArea.getUse_bmp_1();
//				bmp_ad_choice = workArea.getUse_bmp_1();
//				if ("0".equals(workArea.getNtt_no_iten_ttdk_choice_1()))
//				{
//					iten_ttdk = true;
//				}
//			}
//			else if (bnp_flg2)
//			{
//				telno = workArea.getBmp_telno_2();
//				ntt_keisha_pcd = workArea.getBmp_pcd_2();
//				ntt_keisha_adrttm = workArea.getBmp_Address2_2();
//				ntt_keisha_adrrm = workArea.getBmp_Address3_2();
//				ntt_ksh_kana = workArea.getBmp_kshkn_2();
//				ntt_keisha_nm = workArea.getBmp_kshnm_2();
//				tsjgs_cd = workArea.getBmp_tel_svctk_jgs_2();
//				use_bmp = workArea.getUse_bmp_2();
//				bmp_ad_choice = workArea.getUse_bmp_2();
//				if ("0".equals(workArea.getNtt_no_iten_ttdk_choice_2()))
//				{
//					iten_ttdk = true;
//				}
//			}

			childMap = new HashMap();

			// 共通情報のマッピング
			childMap.put(FUNC_CODE, JPCModelConstant.FUNC_CD_1);

			// サービス契約内訳番号 → サービス契約内訳番号
			childMap.put("svc_kei_ucwk_no", "");
			// 申込明細番号 → 申込明細番号
			childMap.put("mskm_dtl_no", "");
			childMap.put("rsv_aply_ymd", "");
			// 異動区分
			childMap.put(IDO_DIV, JFUStrConst.CD00576_00001);
			// 電話番号
			// 番ポ電話番号取得
			childMap.put("telno", telno);
			// ＮＴＴ契約者郵便番号
			childMap.put("ntt_keisha_pcd", ntt_keisha_pcd);
			// 緊急通報用郵便番号
			childMap.put("emg_hosei_pcd", workArea.getZip());
			// ＮＴＴ契約者住所補記・建物名
			childMap.put("ntt_keisha_adrttm", ntt_keisha_adrttm);
			// ＮＴＴ契約者住所補記・部屋番号
			childMap.put("ntt_keisha_adrrm", ntt_keisha_adrrm);
			// ＮＴＴ契約者カナ名
			childMap.put("ntt_ksh_kana", ntt_ksh_kana);
			// ＮＴＴ契約者カナ名
			if (JFUStrConst.KEI_SBT_KOJINCD.equals(workArea.getKei_sbt()))
			{
				childMap.put("emg_ksh_kana", workArea.getKshkn());
				childMap.put("emg_ksh_nm", workArea.getKshnm());
			}
			else if (JFUStrConst.KEI_SBT_HOJINCD.equals(workArea.getKei_sbt()))
			{
				childMap.put("emg_ksh_kana", workArea.getHojinkn());
				childMap.put("emg_ksh_nm", workArea.getHojinnm());
			}

			childMap.put("ntt_keisha_nm", ntt_keisha_nm);

			// 【内部障害】緊急通報先住所補記・建物名、緊急通報先住所補記・部屋番号対応
			// 利用場所情報.建物名
			String keyakusya_adrttm = workArea.getAdd4();
			// 利用場所情報.部屋番号
			String keyakusya_adrrrm = workArea.getAdd5();
			// 建物名と部屋番号を結合
			String kinkyuBuilding = keyakusya_adrttm + keyakusya_adrrrm;

			// 桁数判定
			if (!JFUBPCommon.isNull(kinkyuBuilding) && kinkyuBuilding.length() > 45)
			{
				// 45桁以上の場合
				// 利用場所.建物名 → 緊急通報用建物名
				childMap.put("emg_adrttm", kinkyuBuilding.substring(0, 45));

				// 利用場所.部屋番号 → 緊急通報用部屋番号
				if (kinkyuBuilding.length() > 60)
				{
					childMap.put("emg_adrrm", kinkyuBuilding.substring(45, 60));
				}
				else
				{
					childMap.put("emg_adrrm", kinkyuBuilding.substring(45, kinkyuBuilding.length()));
				}
			}
			else
			{
				// 45桁以下の場合
				// 利用場所.建物名 → 緊急通報用建物名
				childMap.put("emg_adrttm", kinkyuBuilding);
			}

			// 通信事業者コード
			childMap.put("tsjgs_cd", tsjgs_cd);
			// 緊急通報用契約者名の個別指定は行わないため、当該項目は0固定
			// 緊急通報用契約者個別指定フラグ
			childMap.put("emg_ksh_ksitei_flg", "0");
			// 番ポ有無
			childMap.put("bmp_um", use_bmp);

			// 更新年月日時分秒(更新前)
			childMap.put("upd_dtm_bf", "");

			// 同番移転判定コード 0:未設定を設定する。
			childMap.put("dobaniten_jdg_cd", JFUStrConst.CD01281_0);

			// 同番移転申込有無
			if (JFUStrConst.USE_BMP_USE.equals(use_bmp))
			{
				if (JFUStrConst.BMP_USE_PLC_CD_GENZAI.equals(bmp_ad_choice))
				{
					childMap.put("dobaniten_mskm_um", JFUStrConst.CD00002_0);
				}
				else if (JFUStrConst.BMP_USE_PLC_CD_HIKKOSHI.equals(bmp_ad_choice))
				{
					childMap.put("dobaniten_mskm_um", JFUStrConst.CD00002_1);
				}
				// 引越し先で利用の場合のみ設定する。
				if (JFUStrConst.BMP_USE_PLC_CD_HIKKOSHI.equals(bmp_ad_choice))
				{
					if (iten_ttdk)
					{
						childMap.put("dobaniten_ttdk_jssis_skcd", JFUStrConst.CD01658_1);
					}
					else
					{
						childMap.put("dobaniten_ttdk_jssis_skcd", JFUStrConst.CD01658_2);
					}
				}
				childMap.put("dbnitn_at_rnkkh_cst_zm_flg", JFUStrConst.CD00581_0);
			}

			list.add(childMap);
		}

		parentMap.put("EKK0191C012List", list);
		param.setData("EKK0191C012", parentMap);

		return param;
	}

	/**
	 * サブオプションサービス契約＜電話＞登録の上りマッピング
	 * 
	 * @param workArea
	 * @param param
	 * @return
	 * @throws RequestParameterException 
	 */
	public IRequestParameterReadWrite setEKK0431D010(JFUMkmInfoAddFrontiaWorkArea workArea, IRequestParameterReadWrite param) throws RequestParameterException
	{
		ArrayList<Object> list = null;
		list = new ArrayList<Object>();
		HashMap<String, Object> childMap = null;
		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 電話オプションフラグを設定します。
		boolean kyohi_flg1 = false;
		boolean kyohi_flg2 = false;

		// 繰り返し回数を設定します。
		int count = 0;
		// 非通知着信拒否１
		if (JFUStrConst.HITSUCHI_DNY_CHOICE.equals(workArea.getHitsuchi_dny_1()) 
				|| JFUStrConst.EASE_PACK_CHOICE.equals(workArea.getEase_pack_1())
				)
		{
			kyohi_flg1 = true;
			count = count + 1;
		}

		// 非通知着信拒否２
		if (JFUStrConst.HITSUCHI_DNY_CHOICE.equals(workArea.getHitsuchi_dny_2()) 
				|| JFUStrConst.EOHTL_PACK7_CHOICE.equals(workArea.getEase_pack_2())
				)
		{
			kyohi_flg2 = true;
			count = count + 1;
		}

		if (count == 0)
		{
			return null;
		}

		// 必要数分マップを作成します。
		for (int i = 0; i < count; i++)
		{
			childMap = new HashMap<String, Object>();

			// 共通情報のマッピング
			childMap.put(FUNC_CODE, JPCModelConstant.FUNC_CD_1);

			if (kyohi_flg1)
			{
				// 固定"D08" → サブオプションサービスコード
				childMap.put("sbop_svc_cd", JFUStrConst.CD00137_D08);
				// 固定"D08" →料金コースコード
				childMap.put("pcrs_cd", JFUStrConst.CD00134_D08);
				// 固定"PD0801" → 料金プランコード
				childMap.put("pplan_cd", JFUStrConst.CD00565_PD0801);
				// 電話サービス番号 １番号
				childMap.put("tel_svc_no", "1");

				kyohi_flg1 = false;

			}
			else if (kyohi_flg2)
			{
				// 固定"D08" → サブオプションサービスコード
				childMap.put("sbop_svc_cd", JFUStrConst.CD00137_D08);
				// 固定"D08" →料金コースコード
				childMap.put("pcrs_cd", JFUStrConst.CD00134_D08);
				// 固定"PD0801" → 料金プランコード
				childMap.put("pplan_cd", JFUStrConst.CD00565_PD0801);
				// 電話サービス番号 ２番号
				childMap.put("tel_svc_no", "2");

				kyohi_flg2 = false;
			}

			// 申込明細番号
			childMap.put("mskm_dtl_no", "");
			// 異動区分
			childMap.put(IDO_DIV, JFUStrConst.CD00576_00001);

			if (JFUMkmInfoAddFrontiaConstCC.SERVICE_SBT_MT.equals(workArea.getService_sbt()))
			{
				// マンションの場合

				//サービス開始希望日
				childMap.put("svc_sta_kibo", workArea.getSvc_sta_kibo_ymd());
			}

			// 請求契約番号
			childMap.put("seiky_kei_no", "");
			// 更新年月日時分秒(更新前)
			childMap.put("upd_dtm_bf", "");
			
			list.add(childMap);
		}
		
		
		
		parentMap.put("EKK0431D010List", list);
		param.setData("EKK0431D010", parentMap);

		return param;
	}

	/**
	 * 割引サービス契約登録＜eo光電話パック＞の上りマッピング(1番号用)
	 * 
	 * @param workArea
	 * @param param
	 * @param opeDate
	 * @return
	 * @throws RequestParameterException 
	 */
	public IRequestParameterReadWrite setEKK0451D01001(JFUMkmInfoAddFrontiaWorkArea workArea, IRequestParameterReadWrite param, String opeDate) throws RequestParameterException
	{

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		String ease_pack1 = workArea.getEase_pack_1();
		// あんしん電話パックが申し込まれている場合、パック割区分に"3"を設定
		if (JFUStrConst.EASE_PACK_CHOICE.equals(ease_pack1))
		{
			parentMap.put("pack_div", "3");
		}

		// 機能コード
		parentMap.put("func_cd", JPCModelConstant.FUNC_CD_1);

		// 処理区分("01"(登録)固定)
		parentMap.put("trn_div", "01");
		// ＳＹＳＩＤ
		parentMap.put("sysid", "");
		// サービス契約番号
		parentMap.put("svc_kei_no", "");
		// サービス契約内訳番号
		parentMap.put("svc_kei_ucwk_no", "");
		// 申込明細番号
		parentMap.put("mskm_dtl_no", "");
		// 起算日
		parentMap.put("kisan_ymd", opeDate);
		// 異動区分
		parentMap.put(IDO_DIV, JFUStrConst.CD00576_00001);
		// 課金区分("1"(課金)固定)
		parentMap.put("kakin_div", "1");
		// 更新年月日時分秒(更新前)
		parentMap.put("kk0081_upd_dtm", "");
		// 1番号の申し込みがある("1"固定)(実行判定に使用)
		parentMap.put("telMskm1", "1");

		param.setData("EKK0451D01001", parentMap);

		return param;
	}

	/**
	 * 割引サービス契約登録＜eo光電話パック＞の上りマッピング(2番号用)
	 * 
	 * @param workArea
	 * @param param
	 * @param opeDate
	 * @return
	 * @throws RequestParameterException 
	 */
	public IRequestParameterReadWrite setEKK0451D01002(JFUMkmInfoAddFrontiaWorkArea workArea, IRequestParameterReadWrite param, String opeDate) throws RequestParameterException
	{

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		String ease_pack2 = workArea.getEase_pack_2();

		// あんしん電話パックが申し込まれている場合、パック割区分に"3"を設定
		if (JFUStrConst.EASE_PACK_CHOICE.equals(ease_pack2))
		{
			parentMap.put("pack_div", "3");
		}

		// 機能コード
		parentMap.put("func_cd", JPCModelConstant.FUNC_CD_1);

		// 処理区分("01"(登録)固定)
		parentMap.put("trn_div", "01");
		// ＳＹＳＩＤ
		parentMap.put("sysid", "");
		// サービス契約番号
		parentMap.put("svc_kei_no", "");
		// サービス契約内訳番号
		parentMap.put("svc_kei_ucwk_no", "");
		// 申込明細番号
		parentMap.put("mskm_dtl_no", "");
		// 起算日
		parentMap.put("kisan_ymd", opeDate);
		// 異動区分
		parentMap.put(IDO_DIV, JFUStrConst.CD00576_00001);
		// 課金区分("1"(課金)固定)
		parentMap.put("kakin_div", "1");
		// 更新年月日時分秒(更新前)
		parentMap.put("kk0081_upd_dtm", "");
		// 2番号の申し込みがある("1"固定)(実行判定に使用)
		parentMap.put("telMskm2", "1");

		param.setData("EKK0451D01002", parentMap);

		return param;
	}

	/**
	 * サービス契約＜eo光TV＞登録マップの上りマッピング
	 * 
	 * @param workArea
	 * @param param
	 * @return
	 * @throws RequestParameterException 
	 */
	public IRequestParameterReadWrite setEKK0101D010(JFUMkmInfoAddFrontiaWorkArea workArea, IRequestParameterReadWrite param) throws RequestParameterException
	{

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, JPCModelConstant.FUNC_CD_1);

		// SYSID
		parentMap.put("sysid", "");
		// サービスコード
		parentMap.put("svc_cd", JFUStrConst.CD00130_03);
		// 申込明細番号
		parentMap.put("mskm_dtl_no", "");

		// 料金グループコード
		parentMap.put("prc_grp_cd", JFUStrConst.CD00133_11);
		if (JFUStrConst.EO_TV_COURSE_BS.equals(workArea.getEo_tv_course())
				|| JFUStrConst.EO_TV_COURSE_BS_STAR.equals(workArea.getEo_tv_course()))
		{
			// 地デジＢＳ
			// 料金コースコード
			parentMap.put("pcrs_cd", JFUStrConst.CD00134_A37);
			// 料金プランコード
			parentMap.put("pplan_cd", JFUStrConst.CD00565_PA3701);
		}
		else if (JFUStrConst.EO_TV_COURSE_BASIC.equals(workArea.getEo_tv_course()))
		{
			// ＨＤ
			// 料金コースコード
			parentMap.put("pcrs_cd", JFUStrConst.CD00134_A39);
			// 料金プランコード
			parentMap.put("pplan_cd", JFUStrConst.CD00565_PA3901);
		}
// ANK-4592-00-00 ADD START
		else if (JFUStrConst.EO_TV_COURSE_CS_BAS.equals(workArea.getEo_tv_course()))
		{
			// CSベーシック
			// 料金コースコード
			parentMap.put("pcrs_cd", JFUStrConst.CD00134_AC0);
			// 料金プランコード
			parentMap.put("pplan_cd", JFUStrConst.CD00565_PAC001);
		}
		else if (JFUStrConst.EO_TV_COURSE_CS_PRE.equals(workArea.getEo_tv_course()))
		{
			// CSプレミアム
			// 料金コースコード
			parentMap.put("pcrs_cd", JFUStrConst.CD00134_AC1);
			// 料金プランコード
			parentMap.put("pplan_cd", JFUStrConst.CD00565_PAC101);
		}
// ANK-4592-00-00 ADD END

		// 提供方式契約番号
		parentMap.put("tk_hoshiki_kei_no", workArea.getTv_tk_hoshiki_kei_no());
		// 支払い方法継続フラグ
		parentMap.put("payway_keizoku_flg", "");
		// 異動区分
		parentMap.put(IDO_DIV, JFUStrConst.CD00576_00001);
		// 紹介コード
		parentMap.put("intr_cd", workArea.getRed_introduce());
		// 自動照査処理状態コード
		parentMap.put("auto_shosa_tran_stat_cd", JFUStrConst.CD00628_0);
		parentMap.put("rule0059_auto_aply", JFUStrConst.JMTE_AUTO_APLY_YH_YK);
		// 工事費自動適用要否
		parentMap.put("rule0079_auto_aply", JFUStrConst.CD00001_0);
		// サービス利用開始希望年月日
		parentMap.put("svc_use_sta_kibo_ymd", workArea.getSvc_sta_kibo_ymd());

		param.setData("EKK0101D010", parentMap);

		return param;
	}

	/**
	 * サービス契約内訳＜eo光TV＞登録マップの上りマッピング
	 * 
	 * @param workArea
	 * @param param
	 * @return
	 * @throws RequestParameterException 
	 */
	@SuppressWarnings("unchecked")
	public IRequestParameterReadWrite setEKK0181D010(JFUMkmInfoAddFrontiaWorkArea workArea, IRequestParameterReadWrite param) throws RequestParameterException
	{
		HashMap childMap = null;
		int tvTunCnt = 0; // TVチューナ台数
		ArrayList list = new ArrayList();; // TVチューナ用リスト

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// TVチューナ台数
		if (!JFUBPCommon.isNull(workArea.getStb_cnt()))
		{
			tvTunCnt = Integer.parseInt(workArea.getStb_cnt());
			ArrayList<String> tvList = new ArrayList<String>();
			if ("1".equals(workArea.getStb_cnt()))
			{
				tvList.add(workArea.getStb_hd1());
				
			} else if ("2".equals(workArea.getStb_cnt()))
			{
				tvList.add(workArea.getStb_hd1());
				tvList.add(workArea.getStb_hd2());
				tvList.add(workArea.getStb_hd3());
				
			} else if ("3".equals(workArea.getStb_cnt()))
			{
				tvList.add(workArea.getStb_hd1());
				tvList.add(workArea.getStb_hd2());
				tvList.add(workArea.getStb_hd3());
				
			} else if ("4".equals(workArea.getStb_cnt()))
			{
				tvList.add(workArea.getStb_hd1());
				tvList.add(workArea.getStb_hd2());
				tvList.add(workArea.getStb_hd3());
				tvList.add(workArea.getStb_hd4());
			} else if ("5".equals(workArea.getStb_cnt()))
			{
				tvList.add(workArea.getStb_hd1());
				tvList.add(workArea.getStb_hd2());
				tvList.add(workArea.getStb_hd3());
				tvList.add(workArea.getStb_hd4());
				tvList.add(workArea.getStb_hd5());
			}

			// リスト内の最上位コースより
			// 表示する料金が異なるため、最上位コースをリストの0番目に設定する
			if(tvList.size() > 1){
				// テレビリストが2台以上存在する場合

				// スマートプレミアムコースがはじめから何台目に存在するかを調べる。
				int preCnt = tvList.indexOf("1");

				// スマートベーシックコースがはじめから何台目に存在するかを調べる。
				int basCnt = tvList.indexOf("2");

				// スマートコンパクトコースがはじめから何台目に存在するかを調べる。
				int comCnt = tvList.indexOf("3");

				if (preCnt > 0)
				{
					// スマートプレミアムがリスト内の先頭以外に存在する場合
					// 1台目にスマートプレミアムコースを設定します。
					tvList.set(0, "1");

					if (basCnt == 0)
					{
						tvList.set(preCnt, "2");
					}
					else if (comCnt == 0)
					{
						tvList.set(preCnt, "3");
					}
				}
				else if (preCnt == -1 && basCnt > 0)
				{
					// リスト内の最上位コースがスマートベーシックで且つ先頭以外に存在する場合
					// 1台目にスマートベーシックコースを設定します。
					tvList.set(0, "2");

					if (comCnt == 0)
					{
						// スマートコンパクトコースを設定します。
						tvList.set(basCnt, "3");
					}
				}
			}

			// 料金コースコード
			HashMap mapPcrsCd = new HashMap();
			// 料金プランコード　ホーム
			HashMap mapPplanCdHome = new HashMap();
			// 料金プランコード　ホーム　追加
			HashMap mapPplanCdHomeAd = new HashMap();

			// 料金プランコード　マンション
			HashMap mapPplanCdMansion = new HashMap();
			// 料金プランコード　メゾン
			HashMap mapPplanCdMezon = new HashMap();
			// 料金プランコード　マンション　追加
			HashMap mapPplanCdMansionAd = new HashMap();
			// 料金プランコード　メゾン　追加
			HashMap mapPplanCdMezonAd = new HashMap();
			
			// 料金コースコード
			mapPcrsCd.put("3", JFUStrConst.CD00134_A85);
			mapPcrsCd.put("1", JFUStrConst.CD00134_A87);
			mapPcrsCd.put("2", JFUStrConst.CD00134_A86);
			// 料金プランコード　ホーム
			mapPplanCdHome.put("3", JFUStrConst.CD00565_PA8501);
			mapPplanCdHome.put("1", JFUStrConst.CD00565_PA8701);
			mapPplanCdHome.put("2", JFUStrConst.CD00565_PA8601);
			// 料金プランコード　ホーム　追加
			mapPplanCdHomeAd.put("3", JFUStrConst.CD00565_PA8502);
			mapPplanCdHomeAd.put("1", JFUStrConst.CD00565_PA8702);
			mapPplanCdHomeAd.put("2", JFUStrConst.CD00565_PA8602);

			// 料金プランコード　マンション
			mapPplanCdMansion.put("3", JFUStrConst.CD00565_PA8503);
			mapPplanCdMansion.put("1", JFUStrConst.CD00565_PA8703);
			mapPplanCdMansion.put("2", JFUStrConst.CD00565_PA8603);
			// 料金プランコード　マンション　追加
			mapPplanCdMansionAd.put("3", JFUStrConst.CD00565_PA8504);
			mapPplanCdMansionAd.put("1", JFUStrConst.CD00565_PA8704);
			mapPplanCdMansionAd.put("2", JFUStrConst.CD00565_PA8604);
			// 料金プランコード　メゾン
			mapPplanCdMezon.put("3", JFUStrConst.CD00565_PA8505);
			mapPplanCdMezon.put("1", JFUStrConst.CD00565_PA8705);
			mapPplanCdMezon.put("2", JFUStrConst.CD00565_PA8605);
			// 料金プランコード　メゾン　追加
			mapPplanCdMezonAd.put("3", JFUStrConst.CD00565_PA8506);
			mapPplanCdMezonAd.put("1", JFUStrConst.CD00565_PA8706);
			mapPplanCdMezonAd.put("2", JFUStrConst.CD00565_PA8606);

			for (int i = 0; i < tvTunCnt; i++)
			{
				// childMapの初期化
				childMap = new HashMap();

				// 共通情報のマッピング
				childMap.put(FUNC_CODE, JPCModelConstant.FUNC_CD_1);
				// SYSID
				childMap.put("sysid", "");
				// サービスコード
				childMap.put("svc_cd", JFUStrConst.CD00130_03);
				// 機器提供サービスコード STB
				childMap.put("kktk_svc_cd", JFUStrConst.CD00132_C009);
				// 料金コースコード
				childMap.put("pcrs_cd", mapPcrsCd.get(tvList.get(i)));

				// 1台目の場合
				if (i == 0)
				{
					// 1台目の場合

					if (JFUMkmInfoAddFrontiaConstCC.SERVICE_SBT_HT.equals(workArea.getService_sbt()))
					{
						// サービス種別が「1：ホーム」
						childMap.put("pplan_cd", mapPplanCdHome.get(tvList.get(i))); // ホーム
					}
					else if (JFUMkmInfoAddFrontiaConstCC.SERVICE_SBT_MZ.equals(workArea.getService_sbt()))
					{
						// サービス種別が「2：メゾン」
						childMap.put("pplan_cd", mapPplanCdMezon.get(tvList.get(i))); // メゾン
					}
					else if (JFUMkmInfoAddFrontiaConstCC.SERVICE_SBT_MT.equals(workArea.getService_sbt()))
					{
						// サービス種別が「3：マンション」
						childMap.put("pplan_cd", mapPplanCdMansion.get(tvList.get(i))); // マンション
					}
				}
				else
				{
				// 2〜5台目の場合

					if (JFUMkmInfoAddFrontiaConstCC.SERVICE_SBT_HT.equals(workArea.getService_sbt()))
					{
						// 料金プランコード
						childMap.put("pplan_cd", mapPplanCdHomeAd.get(tvList.get(i))); // 追加　ホーム
					}
					else if (JFUMkmInfoAddFrontiaConstCC.SERVICE_SBT_MZ.equals(workArea.getService_sbt()))
					{
						// サービス種別が「2：メゾン」
						childMap.put("pplan_cd", mapPplanCdMezonAd.get(tvList.get(i))); // 追加　メゾン
					}
					else if (JFUMkmInfoAddFrontiaConstCC.SERVICE_SBT_MT.equals(workArea.getService_sbt()))
					{
						// サービス種別が「3：マンション」
						childMap.put("pplan_cd", mapPplanCdMansionAd.get(tvList.get(i))); // 追加　マンション
					}
				}

				// 支払い方法継続フラグ
				childMap.put("payway_keizoku_flg", "");
				// 異動区分
				childMap.put(IDO_DIV, JFUStrConst.CD00576_00001);

				list.add(childMap);
			}
		}

		parentMap.put("EKK0181D010List", list);
		param.setData("EKK0181D010", parentMap);

		return param;
	}

	/**
	 * 機器提供サービス＜eo光テレビ＞の上りマッピング
	 * 
	 * @param workArea
	 * @param param
	 * @param shelf_cd
	 * @return
	 * @throws RequestParameterException 
	 */
	@SuppressWarnings("unchecked")
	public IRequestParameterReadWrite setEKK0341D01003(JFUMkmInfoAddFrontiaWorkArea workArea, IRequestParameterReadWrite param) throws RequestParameterException
	{

		// テレビ
		int tvTunCnt = 0; // TVチューナ台数
		int dtlCnt = 0; // 明細数
		ArrayList list = null;
		HashMap childMap = null;

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		list = new ArrayList();
		List<Map<String, String>> tvList = new ArrayList<Map<String, String>>();
		Map<String, String> tvMap = new HashMap<String, String>();
		if ("1".equals(workArea.getStb_cnt()))
		{
			tvMap = new HashMap<String, String>();
			tvMap.put("hd", workArea.getStb_hd1());
			tvMap.put("kiki", workArea.getStb_hd1_kiki());
			tvMap.put("pcrs_cd", workArea.getStb_hd1_pcrs_cd());
			tvMap.put("pplan_cd", workArea.getStb_hd1_pplan_cd());
			tvMap.put("capa_cd", workArea.getStb_hd1_hdd_capa_cd());
			tvList.add(tvMap);
		} else if ("2".equals(workArea.getStb_cnt()))
		{
			tvMap = new HashMap<String, String>();
			tvMap.put("hd", workArea.getStb_hd1());
			tvMap.put("kiki", workArea.getStb_hd1_kiki());
			tvMap.put("pcrs_cd", workArea.getStb_hd1_pcrs_cd());
			tvMap.put("pplan_cd", workArea.getStb_hd1_pplan_cd());
			tvMap.put("capa_cd", workArea.getStb_hd1_hdd_capa_cd());
			tvList.add(tvMap);

			tvMap = new HashMap<String, String>();
			tvMap.put("hd", workArea.getStb_hd2());
			tvMap.put("kiki", workArea.getStb_hd2_kiki());
			tvMap.put("pcrs_cd", workArea.getStb_hd2_pcrs_cd());
			tvMap.put("pplan_cd", workArea.getStb_hd2_pplan_cd());
			tvMap.put("capa_cd", workArea.getStb_hd2_hdd_capa_cd());
			tvList.add(tvMap);
		} else if ("3".equals(workArea.getStb_cnt()))
		{
			tvMap = new HashMap<String, String>();
			tvMap.put("hd", workArea.getStb_hd1());
			tvMap.put("kiki", workArea.getStb_hd1_kiki());
			tvMap.put("pcrs_cd", workArea.getStb_hd1_pcrs_cd());
			tvMap.put("pplan_cd", workArea.getStb_hd1_pplan_cd());
			tvMap.put("capa_cd", workArea.getStb_hd1_hdd_capa_cd());
			tvList.add(tvMap);

			tvMap = new HashMap<String, String>();
			tvMap.put("hd", workArea.getStb_hd2());
			tvMap.put("kiki", workArea.getStb_hd2_kiki());
			tvMap.put("pcrs_cd", workArea.getStb_hd2_pcrs_cd());
			tvMap.put("pplan_cd", workArea.getStb_hd2_pplan_cd());
			tvMap.put("capa_cd", workArea.getStb_hd2_hdd_capa_cd());
			tvList.add(tvMap);
			
			tvMap = new HashMap<String, String>();
			tvMap.put("hd", workArea.getStb_hd3());
			tvMap.put("kiki", workArea.getStb_hd3_kiki());
			tvMap.put("pcrs_cd", workArea.getStb_hd3_pcrs_cd());
			tvMap.put("pplan_cd", workArea.getStb_hd3_pplan_cd());
			tvMap.put("capa_cd", workArea.getStb_hd3_hdd_capa_cd());
			tvList.add(tvMap);
		} else if ("4".equals(workArea.getStb_cnt()))
		{
			tvMap = new HashMap<String, String>();
			tvMap.put("hd", workArea.getStb_hd1());
			tvMap.put("kiki", workArea.getStb_hd1_kiki());
			tvMap.put("pcrs_cd", workArea.getStb_hd1_pcrs_cd());
			tvMap.put("pplan_cd", workArea.getStb_hd1_pplan_cd());
			tvMap.put("capa_cd", workArea.getStb_hd1_hdd_capa_cd());
			tvList.add(tvMap);

			tvMap = new HashMap<String, String>();
			tvMap.put("hd", workArea.getStb_hd2());
			tvMap.put("kiki", workArea.getStb_hd2_kiki());
			tvMap.put("pcrs_cd", workArea.getStb_hd2_pcrs_cd());
			tvMap.put("pplan_cd", workArea.getStb_hd2_pplan_cd());
			tvMap.put("capa_cd", workArea.getStb_hd2_hdd_capa_cd());
			tvList.add(tvMap);
			
			tvMap = new HashMap<String, String>();
			tvMap.put("hd", workArea.getStb_hd3());
			tvMap.put("kiki", workArea.getStb_hd3_kiki());
			tvMap.put("pcrs_cd", workArea.getStb_hd3_pcrs_cd());
			tvMap.put("pplan_cd", workArea.getStb_hd3_pplan_cd());
			tvMap.put("capa_cd", workArea.getStb_hd3_hdd_capa_cd());
			tvList.add(tvMap);

			tvMap = new HashMap<String, String>();
			tvMap.put("hd", workArea.getStb_hd4());
			tvMap.put("kiki", workArea.getStb_hd4_kiki());
			tvMap.put("pcrs_cd", workArea.getStb_hd4_pcrs_cd());
			tvMap.put("pplan_cd", workArea.getStb_hd4_pplan_cd());
			tvMap.put("capa_cd", workArea.getStb_hd4_hdd_capa_cd());
			tvList.add(tvMap);
		} else if ("5".equals(workArea.getStb_cnt()))
		{
			tvMap = new HashMap<String, String>();
			tvMap.put("hd", workArea.getStb_hd1());
			tvMap.put("kiki", workArea.getStb_hd1_kiki());
			tvMap.put("pcrs_cd", workArea.getStb_hd1_pcrs_cd());
			tvMap.put("pplan_cd", workArea.getStb_hd1_pplan_cd());
			tvMap.put("capa_cd", workArea.getStb_hd1_hdd_capa_cd());
			tvList.add(tvMap);

			tvMap = new HashMap<String, String>();
			tvMap.put("hd", workArea.getStb_hd2());
			tvMap.put("kiki", workArea.getStb_hd2_kiki());
			tvMap.put("pcrs_cd", workArea.getStb_hd2_pcrs_cd());
			tvMap.put("pplan_cd", workArea.getStb_hd2_pplan_cd());
			tvMap.put("capa_cd", workArea.getStb_hd2_hdd_capa_cd());
			tvList.add(tvMap);
			
			tvMap = new HashMap<String, String>();
			tvMap.put("hd", workArea.getStb_hd3());
			tvMap.put("kiki", workArea.getStb_hd3_kiki());
			tvMap.put("pcrs_cd", workArea.getStb_hd3_pcrs_cd());
			tvMap.put("pplan_cd", workArea.getStb_hd3_pplan_cd());
			tvMap.put("capa_cd", workArea.getStb_hd3_hdd_capa_cd());
			tvList.add(tvMap);

			tvMap = new HashMap<String, String>();
			tvMap.put("hd", workArea.getStb_hd4());
			tvMap.put("kiki", workArea.getStb_hd4_kiki());
			tvMap.put("pcrs_cd", workArea.getStb_hd4_pcrs_cd());
			tvMap.put("pplan_cd", workArea.getStb_hd4_pplan_cd());
			tvMap.put("capa_cd", workArea.getStb_hd4_hdd_capa_cd());
			tvList.add(tvMap);

			tvMap = new HashMap<String, String>();
			tvMap.put("hd", workArea.getStb_hd5());
			tvMap.put("kiki", workArea.getStb_hd5_kiki());
			tvMap.put("pcrs_cd", workArea.getStb_hd5_pcrs_cd());
			tvMap.put("pplan_cd", workArea.getStb_hd5_pplan_cd());
			tvMap.put("capa_cd", workArea.getStb_hd5_hdd_capa_cd());
			tvList.add(tvMap);
		}
		
		int tvPreCnt = -1; // プレミアムコースが初めて存在した台数目
		// スマートプレミアムコースがはじめから何台目に存在するかを調べる。
		int idx = 0;
		int cntSmp = -1;
		int cntSmb = -1;
		for (Map<String, String> tmpMap : tvList)
		{
			if (cntSmp < 0 && "1".equals(tmpMap.get("hd")))
			{
				cntSmp = idx;
			}
			if (cntSmb < 0 && "2".equals(tmpMap.get("hd")))
			{
				cntSmb = idx;
			}
			idx += 1;
		}

		// スマートプレミアムが存在する場合
		if (cntSmp > -1) {
			tvPreCnt = cntSmp;
		}
		// スマートプレミアムが存在せずスマートベーシックが存在する場合
		else if (cntSmb > -1) {
			tvPreCnt = cntSmb;
		}

		// TVチューナ台数
		if (!JFUBPCommon.isNull(workArea.getStb_cnt()))
		{
			tvTunCnt = Integer.parseInt(workArea.getStb_cnt());
			dtlCnt = tvTunCnt * 3;

			for (int i = 0; i < dtlCnt; i++)
			{
				childMap = new HashMap();

				// 共通情報のマッピング
				childMap.put(FUNC_CODE, JPCModelConstant.FUNC_CD_1);
				// 親契約識別コード(サービス契約内訳)
				childMap.put("oya_kei_skbt_cd", JFUStrConst.CD00804_03);

				if (i == 0 || i == 3 || i == 6 || i == 9 || i == 12) // STB
				{
					int stbIdx = 0;
					try {
						stbIdx = i / 3;
					} catch(ArithmeticException e) {
						stbIdx = 0;
					}
					Map<String, String> tvInfoMap = new HashMap<String, String>();
					// → 機器提供サービスコード
					childMap.put("kktk_svc_cd", JFUStrConst.CD00132_C009);
					// プレミアムコースが1台目または、プレミアムコースが存在しない場合
					if ((tvPreCnt == 0) || (tvPreCnt == -1))
					{
						tvInfoMap = tvList.get(stbIdx);
					}
					// プレミアムコースが2台目以降に存在する場合
					else
					{
						// 1台目をプレミアムコースに入れ替える。
						if (i == 0)
						{
							tvInfoMap = tvList.get(tvPreCnt);
						}
						// プレミアムコースが初めて存在した台数目
						else if ((tvPreCnt * 3) == i)
						{
							tvInfoMap = tvList.get(0);
						}
						// それ以外は通常通り
						else
						{
							tvInfoMap = tvList.get(stbIdx);
						}
					}
					// 料金コースコード;
					childMap.put("pcrs_cd", tvInfoMap.get("pcrs_cd"));
					// 料金プランコード
					childMap.put("pplan_cd", tvInfoMap.get("pplan_cd"));
					// HD容量
					childMap.put("hdd_capa_cd", tvInfoMap.get("capa_cd"));
					// 宅内機器種別コード
					childMap.put("taknkiki_sbt_cd", JFUStrConst.TKNI_KIKI_SBT_CD_A0);
					// リンクSTBフラグ
					childMap.put("link_stb_flg", JFUStrConst.CD00002_0);
					// 宅内機器異動コード
					childMap.put("taknkiki_ido_cd", JFUStrConst.CD00562_01);
				}
				if (i == 1 || i == 4 || i == 7 || i == 10 || i == 13) // B-CASカード
				{
					// → 機器提供サービスコード
					childMap.put("kktk_svc_cd", JFUStrConst.KK0771_KKTK_SVC_CD_C010);
					// → 料金コースコード;
					childMap.put("pcrs_cd", JFUStrConst.CD00134_C16);
					// → 料金プランコード
					childMap.put("pplan_cd", JFUStrConst.CD00565_PC1601);
					// 宅内機器種別コード("B0")
					childMap.put("taknkiki_sbt_cd", JFUStrConst.TKNI_KIKI_SBT_CD_B0);
				}
				if (i == 2 || i == 5 || i == 8 || i == 11 || i == 14) // C-CASカード
				{
					// → 機器提供サービスコード
					childMap.put("kktk_svc_cd", JFUStrConst.KK0771_KKTK_SVC_CD_C011);
					// → 料金コースコード;
					childMap.put("pcrs_cd", JFUStrConst.CD00134_C17);
					// → 料金プランコード
					childMap.put("pplan_cd", JFUStrConst.CD00565_PC1701);
					// 宅内機器種別コード("C0")
					childMap.put("taknkiki_sbt_cd", JFUStrConst.TKNI_KIKI_SBT_CD_C0);
				}
				// 機器提供種別コード
				childMap.put("kktk_sbt_cd", JFUStrConst.CD00212_02);
				// 販売種別コード
				childMap.put("hambai_sbt_cd", JFUStrConst.CD00348_10);
				// 異動区分
				childMap.put(IDO_DIV, JFUStrConst.CD00576_00001);

				// 送付先
				// 機器送付先カナ名
				if (JFUStrConst.KEI_SBT_KOJINCD.equals(workArea.getKei_sbt()))
				{
					childMap.put("kiki_sohus_nm", workArea.getKshnm());
					childMap.put("kiki_sohus_kana", workArea.getKshkn());
				}
				else if (JFUStrConst.KEI_SBT_HOJINCD.equals(workArea.getKei_sbt()))
				{
					childMap.put("kiki_sohus_nm", workArea.getHojinnm());
					childMap.put("kiki_sohus_kana", workArea.getHojinkn());
				}
				
				// 機器送付先郵便番号
				childMap.put("kiki_sohus_pcd", workArea.getZip());
				// 機器送付先住所補記・建物名
				childMap.put("kiki_sohus_adrttm", workArea.getAdd4());
				// 機器送付先住所補記・部屋番号
				childMap.put("kiki_sohus_adrrm", workArea.getAdd5());
				// 機器送付先電話番号
				childMap.put("kiki_sohus_telno", workArea.getUseplace_telno());
				// 機器送付先＿契約者住所差異フラグ
				childMap.put("kiki_sohus_ksh_ad_sai_flg", getKysAddSaiFlg(workArea.getKshadd_cmf()));
				// マンション物件番号
				childMap.put("mansion_bukken_no", workArea.getW_mansion_bukken_no());
				// 機器送付先個別指定フラグ
				childMap.put("kiki_shs_kbt_shitei_flg", JFUStrConst.KK0341_KIKI_SHS_KBT_SHITEI_FLG_1);
				// 機器設置先郵便番号
				childMap.put("kiki_stc_saki_pcd", workArea.getZip());
				// 機器設置先住所補記・建物名
				childMap.put("kiki_stc_saki_adrttm", workArea.getAdd4());
				// 機器設置先住所補記・部屋番号
				childMap.put("kiki_stc_saki_adrrm", workArea.getAdd5());
				// 機器設置先＿契約者住所差異フラグ
				childMap.put("kiki_stc_sk_ksh_ad_sai_flg", getKysAddSaiFlg(workArea.getKshadd_cmf()));
				// 機器設置先電話番号
				childMap.put("kiki_stc_sk_telno", workArea.getUseplace_telno());
				// SYSID
				childMap.put("sysid", "");
				// 配送区分
				childMap.put("haiso_div", JFUStrConst.CD00020_00);
				// 機器引当指定倉庫コード("000001")
				childMap.put("kiki_hkat_shitei_soko_cd", "000001");
				// 機器引当指定倉庫棚コード("000")
				childMap.put("kiki_hkat_shitei_skdn_cd", workArea.getShelf_cd());
				// 住所未確定フラグ
				childMap.put("ad_mi_fix_flg", getAdMiFixFlg(workArea.getSetplace_bnchi()));
				// 機器送付先住所手動入力フラグ
				childMap.put("kiki_shs_ad_man_input_flg", JFUStrConst.CD01239_0);

				list.add(childMap);

				// マンションの場合
				if (JFUMkmInfoAddFrontiaConstCC.SERVICE_SBT_MT.equals(workArea.getService_sbt()))
				{
					setMnsKikiSohus(workArea, childMap);
					// 契約者住所を機器送付先にするためフラグを設定
					parentMap.put("MSKM_MNS_TYPE", "1");
				}
			}
		}

		parentMap.put("EKK0341D010TvList", list);
		param.setData("EKK0341D010Tv", parentMap);

		return param;
	}

	/**
	 * オプションサービス契約＜ISP＞登録上りマッピング
	 * 
	 * @param workArea
	 * @param param
	 * @return
	 * @throws RequestParameterException
	 */
	@SuppressWarnings("unchecked")
	public IRequestParameterReadWrite setEKK0361D010(JFUMkmInfoAddFrontiaWorkArea workArea, IRequestParameterReadWrite param) throws RequestParameterException
	{
		HashMap childMap = null;
		ArrayList list = null; // オプションサービスリスト

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		int trkCnt = 2; // 登録数（Eメール、Myホームページ）

		// シンプルプランは登録しない
		if (JFUStrConst.PCRS_CD_SIMPLE.contains(JFUMkmInfoAddFrontiaUtil.getPcrsCdNet(workArea)))
		{
			return param;
		}

		list = new ArrayList();
		for (int i = 0; i < trkCnt; i++)
		{
			// childMapの初期化
			childMap = new HashMap();

			// 共通情報のマッピング
			childMap.put(FUNC_CODE, JPCModelConstant.FUNC_CD_1);
			if (i == 0)
			{
				// Eメール
				// オプションサービスコード
				childMap.put("op_svc_cd", JFUStrConst.CD00136_B001);
				// 料金コースコード
				childMap.put("pcrs_cd", JFUStrConst.CD00134_B01);
				// 料金プランコード
				childMap.put("pplan_cd", JFUStrConst.CD00565_PB0101);
				// サブオプションサービスコード
				childMap.put("sbop_svc_cd", JFUStrConst.CD00134_D02);
			}
			else if (i == 1)
			{
				// Myホームページ
				// オプションサービスコード
				childMap.put("op_svc_cd", JFUStrConst.CD00136_B002);
				// 料金コースコード
				childMap.put("pcrs_cd", JFUStrConst.CD00134_B02);
				// 料金プランコード
				childMap.put("pplan_cd", JFUStrConst.CD00565_PB0201);
				// サブオプションサービスコード
				childMap.put("sbop_svc_cd", JFUStrConst.CD00134_D04);
			}
			// SYSID
			childMap.put("sysid", "");
			// 親契約識別コード
			childMap.put("oya_kei_skbt_cd", JFUStrConst.CD00804_01);
			// サービス利用開始希望年月日
			//「IT2-2012-0002142」サービス開始希望年月日>>>値設定不要のため、空を無条件で設定する
			childMap.put("svc_use_sta_kibo_ymd", null);
			//「IT2-2012-0002142」サービス開始希望年月日<<<E
			// 異動区分
			childMap.put(IDO_DIV, JFUStrConst.CD00576_00001);
			// 容量を取得するためのキー
			childMap.put("select_pcrs_cd", JFUMkmInfoAddFrontiaUtil.getPcrsCdNet(workArea));

			list.add(childMap);

			// typeNの場合
			if (JFUMkmInfoAddFrontiaUtil.isTypeN(workArea))
			{
				break;
			}
		}
		parentMap.put("EKK0361D010NetList", list);
		param.setData("EKK0361D010Net", parentMap);

		return param;
	}

	/**
	 * サービス契約回線内訳登録上りマッピング
	 * 
	 * @param workArea
	 * @param param
	 * @return
	 * @throws RequestParameterException 
	 */
	@SuppressWarnings("unchecked")
	public IRequestParameterReadWrite setEKK0251D010(JFUMkmInfoAddFrontiaWorkArea workArea, IRequestParameterReadWrite param) throws RequestParameterException
	{
		ArrayList list = null;
		ArrayList sublist = null;
		HashMap childMap = null;
		HashMap subMap = null;
		int ksnCnt = 0;// 回線内訳数
		int ksnMsCnt = 0;// 回線内訳明細数
		ArrayList wrklist = null;// ワークリスト
		HashMap wrkMap = null;// ワークマップ
		String ksnCd = "";//回線コード

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		wrkMap = new HashMap();
		wrklist = new ArrayList();
		// 選択サービス(ネット)又は、選択サービス(テレビ)又は、選択サービス(電話)が選択されている場合
		if (workArea.getEonet() || workArea.getEotv() || workArea.getEotel())
		{
			wrkMap.put("key", "ksnMs");
			wrklist.add(wrkMap);
			if (workArea.getEonet())
			{
				ksnMsCnt = ksnMsCnt + 1;
			}
			if (workArea.getEotv())
			{
				ksnMsCnt = ksnMsCnt + 1;
			}
			if (workArea.getEotel())
			{
				ksnMsCnt = ksnMsCnt + 1;
			}
		}

		list = new ArrayList();
		ksnCnt = wrklist.size();
		for (int i = 0; i < ksnCnt; i++)
		{
			childMap = new HashMap();

			// 共通情報のマッピング
			childMap.put(FUNC_CODE, JPCModelConstant.FUNC_CD_1);

			HashMap inMap = (HashMap)wrklist.get(i);

			// 回線場所住所未確定フラグ
			childMap.put("kisn_plc_ad_mi_fix_flg", getAdMiFixFlg(workArea.getSetplace_bnchi()));
			// 回線場所＿契約者住所差異フラグ
			childMap.put("kaisen_plc_ksh_ad_sai_flg", getKysAddSaiFlg(workArea.getKshadd_cmf()));
			// お客様申告住所未確定フラグ
			childMap.put("cust_skk_ad_mi_fix_flg", getAdMiFixFlg(workArea.getSetplace_bnchi()));

			if ("ksnMs".equals(inMap.get("key")))
			{
				if (JFUMkmInfoAddFrontiaConstCC.SERVICE_SBT_MT.equals(workArea.getService_sbt()))
				{
					// サービス種別が「3：マンション」

					// マンションのフロント用提供方式パターンを取得
					String tkhsk = JFUMkmInfoAddUtil.getFuTeikyoHoshikiPtnCd(workArea.getW_tk_hoshiki_cd(), workArea.getW_tk_prc_sbt_cd());

					if (JFUStrConst.TK_HOSHIKI_PTN_VDSL.equals(tkhsk) || JFUStrConst.TK_HOSHIKI_PTN_VDSLS.equals(tkhsk))
					{
						// 光回線(マンションVDSL)
						ksnCd = JFUStrConst.CD00380_1002;
					}
					else if (JFUStrConst.TK_HOSHIKI_PTN_ENET.equals(tkhsk) || JFUStrConst.TK_HOSHIKI_PTN_GG_ENET.equals(tkhsk))
					{
						// 光回線(マンションイーサネット・ギガイーサ)
						ksnCd = JFUStrConst.CD00380_1003;
					}
					else if (JFUStrConst.TK_HOSHIKI_PTN_HIKARI_HAISEN.equals(tkhsk))
					{
						// 光回線(マンション光配線)
						ksnCd = JFUStrConst.CD00380_1004;
					}
					else
					{
						// 光回線※テレビ単独マンションはネットの回線が無い為判断出来ないが、"1001"を設定するのが正しい。
						ksnCd = JFUStrConst.CD00380_1001;
					}
				}
				else
				{
					// 光回線
					ksnCd = JFUStrConst.CD00380_1001;
				}
			}

			// 回線コード
			childMap.put("kaisen_cd", ksnCd);
			// マンション物件番号
			childMap.put("mansion_bukken_no", workArea.getW_mansion_bukken_no());
			// 回線場所郵便番号
			childMap.put("kaisen_place_pcd", workArea.getZip());
			// 回線場所住所補記・建物名
			childMap.put("kaisen_place_adrttm", workArea.getAdd4());
			// 回線場所住所補記・部屋番号
			childMap.put("kaisen_place_adrrm", workArea.getAdd5());
			// 回線場所電話番号
			childMap.put("kaisen_place_telno", workArea.getUseplace_telno());

			// 光化マンションフラグ
			boolean hikarikaMansFlg = isHikarikaMans(workArea);

			// 回線場所棟情報
			if (hikarikaMansFlg)
			{
				// 光化マンションの場合
				childMap.put("kaisen_place_tou_info", workArea.getTou_no());
				// 回線場所連番（ＭＡＮＭＯＳ管理連番）
				childMap.put("kaisen_place_renban", workArea.getSeq());
			}
			else
			{
				// 光化マンション以外の場合(サービス契約回線内訳には登録しない)
				childMap.put("kaisen_place_tou_info", JFUStrConst.EMPTY);
				// 回線場所連番（ＭＡＮＭＯＳ管理連番）
				childMap.put("kaisen_place_renban", JFUStrConst.EMPTY);
			}

			// 回線場所住所確定後変更可否
			childMap.put("kisn_plc_ad_fix_af_chge_kh", JFUStrConst.CD00003_0);
			
			if (JFUMkmInfoAddFrontiaConstCC.SERVICE_SBT_HT.equals(workArea.getService_sbt()))
			{
				// ホームの場合
				// 住所形態コード
				childMap.put("ad_form_cd", workArea.getSetplace_form());
				// 竣工予定年月日
				if (JFUBPCommon.isNull(workArea.getShunko_rsv_ymd()))
				{
					childMap.put("shunko_rsv_ymd", JFUStrConst.EMPTY);
				}
				else
				{
					childMap.put("shunko_rsv_ymd", workArea.getShunko_rsv_ymd() + "01");
				}
				// X座標
				childMap.put("xzahyo", workArea.getX6());
				// Y座標
				childMap.put("yzahyo", workArea.getY6());
				
				// 緯度・経度の算出
				// ※国土地理院では兵庫県は5系であるが、全てを6系として扱う
				// ※eoでは国土地理院とは扱いが異なり、xが経度方向(東:+/西:-)、yが緯度方向(北:+、南:-)
				//   となるため、緯度経度算出時はX座標とY座標を入れ替える
				// X座標
				double x = Double.parseDouble(workArea.getX6());
				// Y座標
				double y = Double.parseDouble(workArea.getY6());
				XYWithZone tokyoXy = new XYWithZone(y, x,
						new BasisWithZone(Unit.DEGREE, Detum.TOKYO, ZoneId._6));

				String lat = String.valueOf(tokyoXy.toLatLonWithZone().getLat());
				String lon = String.valueOf(tokyoXy.toLatLonWithZone().getLon());

				BigDecimal latbd = new BigDecimal(lat);
				BigDecimal lonbd = new BigDecimal(lon);

				// 緯度
				childMap.put("lttd", latbd.setScale(6, BigDecimal.ROUND_HALF_UP).toString());
				// 経度
				childMap.put("lgtd", lonbd.setScale(6, BigDecimal.ROUND_HALF_UP).toString());

			}
			else if (JFUMkmInfoAddFrontiaUtil.isTypeMTMZ(workArea))
			{
				// マンション・メゾンの場合

				// 住所形態コードは02(アパート・マンション)固定
				childMap.put("ad_form_cd", JFUStrConst.CD00627_02);
			}
			// 座標補正有無
			childMap.put("zahyo_hosei_um", JFUStrConst.CD00002_0);
			// 回線住所コード
			childMap.put("kaisen_place_ad_cd", workArea.getZ());
			// 集合住宅入居階数コード
			childMap.put("shugj_nyukyo_flr_cnt_cd", "");
			// 回線場所区画整理中フラグ
			childMap.put("kisn_plc_kkk_seiri_chu_flg", "0");
			// 回線提供会社コード
			childMap.put("kaisen_tk_comp_cd", JFUStrConst.CD00092_01);
			String kshadd_overwrite_flg = workArea.getKshadd_overwrite_flg();
			if (JFUStrConst.CD00002_1.equals(kshadd_overwrite_flg))
			{
				// 契約者住所変更有無を有とする
				childMap.put("kshad_chg_um", kshadd_overwrite_flg);
				// 請求書送付先住所変更有無を有とする。
				childMap.put("sks_shs_ad_chg_um", kshadd_overwrite_flg);
			}
			else
			{
				// 契約者住所変更有無に空を設定する
				childMap.put("kshad_chg_um", JFUStrConst.EMPTY);
				// 請求書送付先住所変更有無を無とする。
				childMap.put("sks_shs_ad_chg_um", JFUStrConst.EMPTY);
			}
			// 回線対象サービス契約明細
			sublist = new ArrayList();
			// ネット、テレビ、電話
			if (inMap.get("key").equals("ksnMs"))
			{
				for (int subI = 0; subI < ksnMsCnt; subI++)
				{
					//サービス契約番号
					subMap = new HashMap();
					subMap.put("svc_kei_no", "");
					sublist.add(subMap);
				}
				// 起点変電所コード
				childMap.put("kiten_hdsho_cd", workArea.getW_kiten_hdsho_cd());
				// 集約局コード
				childMap.put("shyakk_cd", workArea.getW_shyakk_cd());
			}
			// 空のデータ
			if (sublist.size() == 0)
			{
				//サービス契約番号
				subMap = new HashMap();
				subMap.put("svc_kei_no", "");
				sublist.add(subMap);
			}
			childMap.put("mobile_ksn", "2");

			childMap.put("EKK0251D010CBSMsg1List", sublist);
			list.add(childMap);
		}

		parentMap.put("EKK0251D010List", list);
		param.setData("EKK0251D010", parentMap);

		return param;
	}

	/**
	 * 回線対象サービス契約登録上りマッピング
	 * 
	 * @param workArea
	 * @param param
	 * @return
	 * @throws RequestParameterException 
	 */
	@SuppressWarnings("unchecked")
	public IRequestParameterReadWrite setEKK0241D010(JFUMkmInfoAddFrontiaWorkArea workArea, IRequestParameterReadWrite param) throws RequestParameterException
	{
		ArrayList list = null;
		HashMap childMap = null;
		int ksnCnt = 0;
		String net_flg = ""; // ネットフラグ
		String tel_flg = ""; // 電話フラグ
		String tv_flg = ""; // テレビフラグ

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 選択サービス(ネット)又は、選択サービス(テレビ)又は、選択サービス(電話)が選択されている場合
		if (workArea.getEonet())
		{
			ksnCnt += 1;
			net_flg = "1";
		}
		if (workArea.getEotv())
		{
			ksnCnt += 1;
			tv_flg = "1";
		}
		if (workArea.getEotel())
		{
			ksnCnt += 1;
			tel_flg = "1";
		}

		ksnCnt = 0;
		list = new ArrayList();

		for (int i = 0; i < ksnCnt; i++)
		{
			childMap = new HashMap();

			// 共通情報のマッピング
			childMap.put(FUNC_CODE, JPCModelConstant.FUNC_CD_1);

			// サービス契約回線内訳番号
			childMap.put("svc_kei_kaisen_ucwk_no", "");

			if (workArea.getEonet())
			{
				childMap.put("net_flg", net_flg);
				net_flg = "";
				list.add(childMap);
				continue;

			}

			if (workArea.getEotel())
			{
				childMap.put("tel_flg", tel_flg);
				tel_flg = "";
				list.add(childMap);
				continue;
			}

			if (workArea.getEotv())
			{
				childMap.put("tv_flg", tv_flg);
				tv_flg = "";
				list.add(childMap);
				continue;
			}

		}

		parentMap.put("EKK0241D010List", list);
		param.setData("EKK0241D010", parentMap);

		return param;
	}

	/**
	 * サービス契約グループ設定登録上りマッピングをする
	 * 
	 * @param bean
	 *            　[0]：共有フォームビーン　[1]：入力内容確認
	 * @param outputMap
	 * @param func_code
	 *            　機能コード
	 * @return bean
	 */
	public IRequestParameterReadWrite setEKK2961D010(JFUMkmInfoAddFrontiaWorkArea workArea, IRequestParameterReadWrite param)
	{
		// eo電気にサービス追加は範囲外
		return param;
	}

	/**
	 * 工事費割賦契約登録SC上りマッピング
	 * 
	 * @param workArea
	 * @param param
	 * @param opeDate
	 * @return
	 * @throws RequestParameterException 
	 */
	public IRequestParameterReadWrite setFUSV015233SC(JFUMkmInfoAddFrontiaWorkArea workArea, IRequestParameterReadWrite param) throws RequestParameterException 
	{	
		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, JPCModelConstant.FUNC_CD_1);

		// 標準工事費お支払い方法
		String stdKojihiPayway = workArea.getStdard_kojihi_payway();
		String kapPlanCd = JFUStrConst.EMPTY;
		String kapPayZanCnt = JFUStrConst.EMPTY;
		
		if (JFUStrConst.STDARD_KOJIHI_PAYWAY_BUNKATSU.equals(stdKojihiPayway))
		{ // 標準工事費お支払い方法が "0"(分割払い) の場合
				// 蓋開け以降は24回で送る
				// 割賦プランコード = "KP0146"(割賦24回)
				kapPlanCd = JFUStrConst.KK3131_KAP_PLAN_CD_KP0146;
				
				// 割賦支払い残回数 = "24"(分割)
				kapPayZanCnt = JFUStrConst.KK3131_KAP_PAY_ZAN_CNT_24;
		}
		else if (JFUStrConst.STDARD_KOJIHI_PAYWAY_IKT.equals(stdKojihiPayway))
		{ // 標準工事費お支払い方法が[1:一括払い]の場合

			// 割賦プランコード = KP0141(一括)
			kapPlanCd = JFUStrConst.KK3131_KAP_PLAN_CD_KP0141;
			// 割賦支払い残回数 = "1"(一括)
			kapPayZanCnt = JFUStrConst.KK3131_KAP_PAY_ZAN_CNT_1;
		}

		// 割賦契約ステータス
		parentMap.put(KAP_KEI_STAT, JFUStrConst.CD01471_010);
		// 割賦プランコード
		parentMap.put(KAP_PLAN_CD, kapPlanCd);
		// サービス契約回線内訳番号
		parentMap.put(SVC_KEI_KAISEN_UCWK_NO, JFUStrConst.EMPTY);
		// 初回請求サービス契約番号
		parentMap.put(FIRST_SEIKY_SVC_KEI_NO, JFUStrConst.EMPTY);
		// 申込明細番号
		parentMap.put("mskm_dtl_no", JFUStrConst.EMPTY);
		// 異動区分
		parentMap.put(IDO_DIV, JFUStrConst.CD00576_00001);
		// 割賦一括請求切替年月
		parentMap.put(KAP_IKT_SIKY_SWCH_YM, JFUStrConst.EMPTY);
		// 割賦契約締結年月日
		parentMap.put(KAP_KEI_CNC_YMD, JFUStrConst.EMPTY);
		// 割賦契約終了年月日
		parentMap.put(KAP_KEI_ENDYMD, JFUStrConst.EMPTY);
		// 割賦契約キャンセル年月日
		parentMap.put(KAP_KEI_CANCEL_YMD, JFUStrConst.EMPTY);
		// 割賦契約サービス開始年月日
		parentMap.put(KAP_KEI_SVC_STAYMD, JFUStrConst.EMPTY);
		// 割賦契約課金開始年月日
		parentMap.put(KAP_KEI_CHRG_STAYMD, JFUStrConst.EMPTY);
		// 割賦請求開始年月
		parentMap.put(KAP_SEIKY_STA_YM, JFUStrConst.EMPTY);
		// 割賦支払い残回数
		parentMap.put(KAP_PAY_ZEN_CNT, kapPayZanCnt);
		// 割賦請求済回数
		parentMap.put(KAP_SEIKY_ZUMI_CNT, "0");
		// 割賦請求済金額
		parentMap.put(KAP_SEIKY_ZUMI_AMNT, "0");
		
		param.setData(FUSV015233SC, parentMap);
	
		return param;
	}

	/**
	 * 工事費割賦契約登録実行判定SC上りマッピング
	 * 
	 * @param param
	 * @param stdKojihiPayway
	 * @return
	 * @throws RequestParameterException
	 */
	public IRequestParameterReadWrite setFUSV015233ReqChk(JFUMkmInfoAddFrontiaWorkArea workArea, IRequestParameterReadWrite param) throws RequestParameterException 
	{
		HashMap<String, Object> parentMap = new HashMap<String, Object>();
		
		// 標準工事費のお支払い方法
		parentMap.put(STDARD_KOJIHI_PAYWAY, workArea.getStdard_kojihi_payway());
		
		param.setData(FUSV015233_REQ_CHK, parentMap);
		
		return param;
	}

	/**
	 * スターチャンネルセット割CC上りマッピング
	 * 
	 * @param workArea
	 * @param param
	 * @param opeDate
	 * @return
	 * @throws RequestParameterException 
	 */
	public IRequestParameterReadWrite setFUSV015229CC(JFUMkmInfoAddFrontiaWorkArea workArea, IRequestParameterReadWrite param, String opeDate) throws RequestParameterException 
	{
		HashMap<String, Object> parentMap = new HashMap<String, Object>();
		
		// 共通情報のマッピング
		parentMap.put("func_cd", JPCModelConstant.FUNC_CD_1);

		// 処理区分
		parentMap.put(TRN_DIV, JFUStrConst.TRN_DIV_TOROKU);
		// SYSID
		parentMap.put("sysid", JFUStrConst.EMPTY);
		// サービス契約番号
		parentMap.put(SVC_KEI_NO, JFUStrConst.EMPTY);
		// 申込明細番号
		parentMap.put("mskm_dtl_no", JFUStrConst.EMPTY);
		// サービスキャンセル理由コード
		parentMap.put(SVC_CANCEL_RSN_CD, JFUStrConst.EMPTY);
		// 起算日
		parentMap.put(KISAN_YMD, opeDate);
		// 利用開始希望日
		parentMap.put(USE_STA_KIBO_YMD, JFUStrConst.USE_STA_KIBO_YMD);
		// 異動区分
		parentMap.put(IDO_DIV, JFUStrConst.CD00576_00001);
		// 更新年月日時分秒（更新前）
		parentMap.put(KK0081_UPD_DTM, JFUStrConst.EMPTY);
		
		param.setData(FUSV015229CC, parentMap);
		
		return param;
	}
	
	/**
	 * スターチャンネルセット割実行判定CC上りマッピング
	 * 
	 * @param workArea
	 * @param param
	 * @return
	 * @throws RequestParameterException
	 */
	public IRequestParameterReadWrite setFUSV015229ReqChk(JFUMkmInfoAddFrontiaWorkArea workArea, IRequestParameterReadWrite param) throws RequestParameterException 
	{
		HashMap<String, Object> parentMap = new HashMap<String, Object>();
		
		// テレビコース（ｅｏ光テレビ）
		parentMap.put(EO_TV_COURSE, workArea.getEo_tv_course());
		
		param.setData(FUSV015229_REQ_CHK, parentMap);
		
		return param;
	}
	
	/**
	 * 申込時登録不可契約予約登録CC上りマッピング
	 * 
	 * @param workArea
	 * @param param
	 * @param opeDate
	 * @return
	 * @throws RequestParameterException 
	 */
	public IRequestParameterReadWrite setFUSV015230CC(JFUMkmInfoAddFrontiaWorkArea workArea, IRequestParameterReadWrite param, String opeDate) throws RequestParameterException 
	{
		HashMap<String, Object> parentMap = new HashMap<String, Object>();
		
		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, JPCModelConstant.FUNC_CD_1);
	
		// 処理区分
		parentMap.put(TRN_DIV, JFUStrConst.TRN_DIV_TOROKU);
		// 申込時登録不可契約予約種別コード
		parentMap.put(MKJ_ADDF_KEI_RV_SBT_CD, JFUStrConst.MKJ_ADDF_KEI_RV_SBT_CD_CDBS);
		// 申込明細番号
		parentMap.put("mskm_dtl_no", JFUStrConst.EMPTY);
		// 設定対象契約識別コード
		parentMap.put(SETE_TG_KEI_SKBT_CD, JFUStrConst.SETE_TG_KEI_SKBT_CD_SVC_KEI);
		// 設定対象契約番号
		parentMap.put(SETE_TG_KEI_NO, JFUStrConst.EMPTY);
		// オプションサービスコード
		parentMap.put(OP_SVC_CD, JFUStrConst.CD00136_B109);
		// 割引サービスコード
		parentMap.put(WRIB_SVC_CD, JFUStrConst.EMPTY);
		// 料金コースコード
		parentMap.put("pcrs_cd",JFUStrConst.CD00134_BB5);
		// 料金プランコード
		parentMap.put("pplan_cd", JFUStrConst.CD00565_PBB501);
		// 予約契約数
		parentMap.put(RSV_KEI_CNT, "1");
		// 申込時登録不可契約予約反映方法コード
		parentMap.put(MKJ_ADDF_KEI_RVHNE_WAY_CD, JFUStrConst.MKJ_ADDF_KEI_RVHNE_WAY_CD_MANUAL);
		// 申込時登録不可契約予約反映タイミングコード
		parentMap.put(MKJ_ADDF_KEI_RVHNE_TMG_CD, JFUStrConst.CD01649_01);
		// 申込時登録不可契約予約反映年月日
		parentMap.put(MKJ_ADDF_KEI_RV_HANEI_YMD, JFUStrConst.EMPTY);
		// 更新年月日時分秒(更新前)
		parentMap.put(UPD_DTM_BF,JFUStrConst.EMPTY);
		
		param.setData(EKK2931D010, parentMap);
		
		return param;
	}
	
	/**
	 * 申込時登録不可契約予約登録実行判定CC上りマッピング
	 * 
	 * @param workArea
	 * @param param
	 * @return
	 * @throws RequestParameterException 
	 */
	public IRequestParameterReadWrite setFUSV015230ReqChk(JFUMkmInfoAddFrontiaWorkArea workArea, IRequestParameterReadWrite param) throws RequestParameterException 
	{
		HashMap<String, Object> parentMap = new HashMap<String, Object>();
		
		// テレビコース（ｅｏ光テレビ）
		parentMap.put(EO_TV_COURSE, workArea.getEo_tv_course());
		
		param.setData(FUSV015230_REQ_CHK, parentMap);
		
		return param;
	}

	/**
	 * オプトインメール受信設定登録CCの上りマッピング
	 * 
	 * @param workArea
	 * @param param
	 * @return
	 * @throws RequestParameterException
	 */
	@SuppressWarnings("unchecked")
	public IRequestParameterReadWrite setFUSV015232CC(JFUMkmInfoAddFrontiaWorkArea workArea, IRequestParameterReadWrite param) throws RequestParameterException
	{

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// メール受信設定表示フラグ
		parentMap.put(MAIL_JUSIN_SETTEI_DSP_FLG, MAIL_JUSIN_SETTEI_DSP_FLG_1);

		// 契約種別
		String keiSbt = workArea.getKei_sbt();

		String mlad = workArea.getMlad();

		if (JFUBPCommon.isNull(mlad))
		{
			// 連絡用コンテンツメールアドレスが未設定の場合
			return param;
		}

		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, JPCModelConstant.FUNC_CD_1);

		// 連絡用コンテンツメールアドレス
		parentMap.put(IN_MLAD, mlad);

		// SYSID
		parentMap.put(IN_SYSID, JFUStrConst.EMPTY);

		// SYSID取得マップキー
		if (JFUStrConst.KEI_SBT_KOJINCD.equals(keiSbt))
		{
			// 個人の場合
			parentMap.put(GET_SYSID_COMP_NM, MAP_KEY_ECK0021D010);
		}
		else if (JFUStrConst.KEI_SBT_HOJINCD.equals(keiSbt))
		{
			// 法人の場合
			parentMap.put(GET_SYSID_COMP_NM, MAP_KEY_ECK0031D010);
		}

		ArrayList addList = new ArrayList();
		List<Map<String, Object>> mail_jusin_settei_list = workArea.getMail_jusin_settei_list();
		for (Map<String, Object> tmpMap : mail_jusin_settei_list)
		{
			HashMap childMap = new HashMap();
			// オプトインメール番号
			childMap.put(OPTINM_NO, tmpMap.get(JFUMkmInfoAddFrontiaConstCC.MAIL_JUSIN_SETTEI_NO));
			// 受信区分
			childMap.put(RCV_DIV, tmpMap.get(JFUMkmInfoAddFrontiaConstCC.MAIL_JUSIN_SETTEI_SEL));

			addList.add(childMap);
		}

		// オプトインメールワーク登録リスト
		parentMap.put(OPTINM_ADD_LIST, addList);

		param.setData(FUSV015232CC, parentMap);

		return param;
	}

	/**
	 * mineoセット割申込割引情報取得CC上がりマッピング
	 * 
	 * @param workArea
	 * @param param
	 * @return
	 * @throws RequestParameterException
	 */
	public IRequestParameterReadWrite setFUSV018101CC(JFUMkmInfoAddFrontiaWorkArea workArea, IRequestParameterReadWrite param) throws RequestParameterException
	{

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, JPCModelConstant.FUNC_CD_1);

		// ＫＥＹ＿更新区分　"1"（新規系）
		parentMap.put("key_upd_kbn", "1");

		param.setData("FUSV018101CC", parentMap);

		return param;
	}

	/**
	 * mineoセット割適用可否照会・変更依頼CC上がりマッピング
	 * 
	 * @param workArea
	 * @param param
	 * @return
	 * @throws RequestParameterException 
	 */
	@SuppressWarnings("unchecked")
	public IRequestParameterReadWrite setJFUMineoSetPlanRenkeiCC(JFUMkmInfoAddFrontiaWorkArea workArea, IRequestParameterReadWrite param, String mskmsho_no, String opeDateTimeStamp) throws RequestParameterException 
	{

		HashMap<String, Object> parentMap = new HashMap<String, Object>();
		
		HashMap<String, Object> adressMap = (HashMap<String, Object>)param.getData("FUSV015211CC");
		String contractor_address_code = (String) adressMap.get("ad_cd");

		// 申込時mineo番号を取得
		String strMineoSetPlanNo = workArea.getMineo_setplan_no();
		// ＫＥＹ＿更新区分
		parentMap.put(KEY_KSN_KBN, KSN_KBN);
		// ＫＥＹ＿リクエストID
		StringBuilder sbRequestID = new StringBuilder();
		sbRequestID.append("1")
			.append(PROCESSING_TYPE)
			.append(workArea.getSysid())
			.append(opeDateTimeStamp);
		parentMap.put(KEY_REQUEST_ID, sbRequestID.toString());
		// ＫＥＹ＿運用日時
		parentMap.put(KEY_OPERATE_DATETIME, opeDateTimeStamp);
		// ＫＥＹ＿処理区分
		parentMap.put(KEY_PROCESSING_TYPE, PROCESSING_TYPE);
		// ＫＥＹ＿キャンペーンコード
		parentMap.put(KEY_DISCOUT_CODE, workArea.getMineoSetCampaign_cd());
		// ＫＥＹ＿サービス契約番号
		parentMap.put(KEY_SERIVCE_NUM, workArea.getSvc_kei_no_net());
		// ＫＥＹ＿SYSID
		parentMap.put(KEY_SYSID, workArea.getSysid());
		// ＫＥＹ＿請求先番号
		parentMap.put(KEY_INVOICE_NUM, "");
		// ＫＥＹ＿料金グループ
		if (JFUMkmInfoAddFrontiaConstCC.SERVICE_SBT_HT.equals(workArea.getService_sbt()))
		{
			// ホームタイプ
			parentMap.put(KEY_FEE_GROUP, JFUStrConst.CD00133_02);
		}
		else if (JFUMkmInfoAddFrontiaConstCC.SERVICE_SBT_MZ.equals(workArea.getService_sbt()))
		{
			// メゾンタイプ
			parentMap.put(KEY_FEE_GROUP, JFUStrConst.CD00133_03);
		}
		else if (JFUMkmInfoAddFrontiaConstCC.SERVICE_SBT_MT.equals(workArea.getService_sbt()))
		{
			// マンションタイプ
			parentMap.put(KEY_FEE_GROUP, JFUStrConst.CD00133_04);
		}
		else
		{
			// ホームタイプ
			parentMap.put(KEY_FEE_GROUP, JFUStrConst.CD00133_02);
		}

		// ＫＥＹ＿契約者住所コード(利用場所住所コードを設定)
		parentMap.put(KEY_CONTRACTOR_ADDRESS_CODE, contractor_address_code);
		// ＫＥＹ＿サービス
		parentMap.put(KEY_SERVICE, JFUStrConst.CD00130_01);
		// ＫＥＹ＿料金コース
		parentMap.put(KEY_FEE_COURCE, JFUMkmInfoAddFrontiaUtil.getPcrsCdNet(workArea));
		// ＫＥＹ＿料金プラン
		parentMap.put(KEY_FEE_PLAN, JFUMkmInfoAddFrontiaUtil.getPplanCdNet(workArea));
		// ＫＥＹ＿契約形態コード
		parentMap.put(KEY_CONTRACT_FORM, workArea.getW_pay_hoshiki_cd());
		// ＫＥＹ＿申込日
		parentMap.put(KEY_SUBSCRIPTION_DATE, opeDateTimeStamp.substring(0, 8));
		// ＫＥＹ＿照査日
		parentMap.put(KEY_INSPECTION_DATE, opeDateTimeStamp.substring(0, 8));
		// ＫＥＹ＿受付番号
		parentMap.put(KEY_ACCEPTANCE_NUM, mskmsho_no);
		// ＫＥＹ＿契約状態
		parentMap.put(KEY_CONTRACT_CONDITION, JFUStrConst.CD00037_020);
		// ＫＥＹ＿利用場所住所コード
		parentMap.put(KEY_USINGPLACE_ADDRESS_CODE, "");
		// ＫＥＹ＿回線内訳番号
		parentMap.put(KEY_LINE_NUM, workArea.getSvc_kei_kaisen_ucwk_no());
		// ＫＥＹ＿入力mineo受付番号・電話番号 */
		parentMap.put(KEY_INPUT_MINE_NUM, strMineoSetPlanNo);
		// ＫＥＹ＿入力解除メール通知有無1
		parentMap.put(KEY_KEI_1_MAIL_SEND_FLAG, JFUStrConst.EMPTY);
		// ＫＥＹ＿入力解除メール通知有無2
		parentMap.put(KEY_KEI_2_MAIL_SEND_FLAG, JFUStrConst.EMPTY);
		
		param.setData(JFUMINEO_SETPLANR_ENKEI_CC, parentMap);

		return param;
	}

	/**
	 * 機器提供サービス契約登録の上りマッピング（ｅｏ光ネットオプション登録ＣＣ）
	 * 
	 * @param workArea
	 * @param param
	 * @param minKikiCnt
	 * @param mesh_taknkiki_model_cd
	 * @param smp_model_no
	 * @param smp_buy_uk_tntsha_nm
	 * @param shelf_cd
	 * @return
	 * @throws Exception
	 */
	@SuppressWarnings("unchecked")
	public IRequestParameterReadWrite setEKK0341D010(JFUMkmInfoAddFrontiaWorkArea workArea, IRequestParameterReadWrite param, String minKikiCnt, String taknkikiModelCd
			) throws Exception
	{

		/*
		 * ■判定条件■ 無線ルータ/ベーシックルータのいずれか PLCアダプタ(2件作る) 計 最大2件
		 */
		ArrayList list = null;
		HashMap childMap = null;
		HashMap<String, Object> parentMap = new HashMap<String, Object>();
		list = new ArrayList();

		// ネットコース
		String plc_router = workArea.getPlc_mskm();
		String mesh_wifi = workArea.getMesh_wifi();
		String net_stick_stb_mskm = workArea.getNet_stick_stb_mskm();
		String net_stick_stb_mskm_cnt = workArea.getNet_stick_stb_mskm_cnt();

		// 機器判定フラグを設定します。
		boolean plc_router_flg1 = false;
		boolean[] mesh_wifi_flg = { false, false };
		int mesh_wifi_idx = 0;

		boolean net_stick_stb_mskm_flg1 = false;
		boolean net_stick_stb_mskm_flg2 = false;
		boolean net_stick_stb_mskm_flg3 = false;
		boolean net_stick_stb_mskm_flg4 = false;
		boolean net_stick_stb_mskm_flg5 = false;
		boolean net_stick_stb_mskm_flg6 = false;
		boolean net_stick_stb_mskm_flg7 = false;
		boolean net_stick_stb_mskm_flg8 = false;
		boolean net_stick_stb_mskm_flg9 = false;
		boolean net_stick_stb_mskm_flg10 = false;

		// 繰り返し回数を設定します。
		int count = 0;

		if ("1".equals(plc_router))
		{
			plc_router_flg1 = true;
			count = count + 1;
		}

		// eoメッシュWi-Fiの申込ありの場合
		if ("1".equals(mesh_wifi))
		{
			mesh_wifi_flg[0] = true;
			count = count + 1;
			if ("2".equals(minKikiCnt))
			{
				mesh_wifi_flg[1] = true;
				count = count + 1;
			}
		}

		if ("1".equals(net_stick_stb_mskm))
		{
			net_stick_stb_mskm_flg1 = true;
			count++;
			if (Integer.parseInt(net_stick_stb_mskm_cnt) >= 2)
			{
				net_stick_stb_mskm_flg2 = true;
				count++;
				if (Integer.parseInt(net_stick_stb_mskm_cnt) >= 3)
				{
					net_stick_stb_mskm_flg3 = true;
					count++;
					if (Integer.parseInt(net_stick_stb_mskm_cnt) >= 4)
					{
						net_stick_stb_mskm_flg4 = true;
						count++;
						if (Integer.parseInt(net_stick_stb_mskm_cnt) >= 5)
						{
							net_stick_stb_mskm_flg5 = true;
							count++;
							if (Integer.parseInt(net_stick_stb_mskm_cnt) >= 6)
							{
								net_stick_stb_mskm_flg6 = true;
								count++;
								if (Integer.parseInt(net_stick_stb_mskm_cnt) >= 7)
								{
									net_stick_stb_mskm_flg7 = true;
									count++;
									if (Integer.parseInt(net_stick_stb_mskm_cnt) >= 8)
									{
										net_stick_stb_mskm_flg8 = true;
										count++;
										if (Integer.parseInt(net_stick_stb_mskm_cnt) >= 9)
										{
											net_stick_stb_mskm_flg9 = true;
											count++;
											if (Integer.parseInt(net_stick_stb_mskm_cnt) >= 10)
											{
												net_stick_stb_mskm_flg10 = true;
												count++;
											}
										}
									}
								}
							}
						}
					}
				}
			}
		}

		if (count == 0)
		{
			return null;
		}

		// 必要数分マップを作成します。
		for (int i = 0; i < count; i++)
		{
			childMap = new HashMap();

			// コード値をクリアします。
			String kktk_svc_cd = "";
			String pcrs_cd = "";
			String pplan_cd = "";
			String taknkiki_sbt_cd = "";
			String taknkiki_model_cd = "";
			String kk1861_pcrs_cd = "";
			StringBuffer kk1861_hoyu_router_cd = new StringBuffer();
			String kktk_sbt_cd = JFUStrConst.CD00212_02;

			// 料金コースコード
			kk1861_pcrs_cd = JFUMkmInfoAddFrontiaUtil.getPcrsCdNet(workArea);
// ANK-4432-00-00 MOD START
			// 機器のタイプによってコードを設定します。
			// ファミリーパックの場合⇒共通CCで行う
			if (plc_router_flg1)
			{
				kktk_svc_cd = JFUStrConst.KK0771_KKTK_SVC_CD_C015;
				pcrs_cd = JFUStrConst.CD00134_CA1;
				pplan_cd = JFUStrConst.CD00565_PCA101;
				taknkiki_sbt_cd = JFUStrConst.CD01262_G0;
				taknkiki_model_cd = taknkikiModelCd;
				plc_router_flg1 = false;
			}
			else if (mesh_wifi_idx < mesh_wifi_flg.length && mesh_wifi_flg[mesh_wifi_idx])
			{
				// eoメッシュWi-Fi
				kktk_svc_cd = JFUStrConst.KK0771_KKTK_SVC_CD_C015;
				pcrs_cd = JFUStrConst.CD00134_CA2;
				pplan_cd = JFUStrConst.CD00565_PCA201;
				taknkiki_sbt_cd = JFUStrConst.CD01262_G0;
				taknkiki_model_cd = taknkikiModelCd;
				mesh_wifi_flg[mesh_wifi_idx] = false;
				mesh_wifi_idx++;
			}
// ANK-4432-00-00 MOD END
			else if (net_stick_stb_mskm_flg1)
			{
				kktk_sbt_cd = JFUStrConst.CD00212_01;
				kktk_svc_cd = JFUStrConst.KK0771_KKTK_SVC_CD_C023;
				pcrs_cd = JFUStrConst.CD00134_CA3;
				pplan_cd = JFUStrConst.CD00565_PCA301;
				taknkiki_sbt_cd = JFUStrConst.CD01262_Q0;
				taknkiki_model_cd = workArea.getSmp_model_no();
				net_stick_stb_mskm_flg1 = false;
			}
			else if (net_stick_stb_mskm_flg2)
			{
				kktk_svc_cd = JFUStrConst.KK0771_KKTK_SVC_CD_C023;
				pcrs_cd = JFUStrConst.CD00134_CA3;
				pplan_cd = JFUStrConst.CD00565_PCA301;
				taknkiki_sbt_cd = JFUStrConst.CD01262_Q0;
				taknkiki_model_cd = workArea.getSmp_model_no();
				net_stick_stb_mskm_flg2 = false;
			}
			else if (net_stick_stb_mskm_flg3)
			{
				kktk_svc_cd = JFUStrConst.KK0771_KKTK_SVC_CD_C023;
				pcrs_cd = JFUStrConst.CD00134_CA3;
				pplan_cd = JFUStrConst.CD00565_PCA301;
				taknkiki_sbt_cd = JFUStrConst.CD01262_Q0;
				taknkiki_model_cd = workArea.getSmp_model_no();
				net_stick_stb_mskm_flg3 = false;
			}
			else if (net_stick_stb_mskm_flg4)
			{
				kktk_svc_cd = JFUStrConst.KK0771_KKTK_SVC_CD_C023;
				pcrs_cd = JFUStrConst.CD00134_CA3;
				pplan_cd = JFUStrConst.CD00565_PCA301;
				taknkiki_sbt_cd = JFUStrConst.CD01262_Q0;
				taknkiki_model_cd = workArea.getSmp_model_no();
				net_stick_stb_mskm_flg4 = false;
			}
			else if (net_stick_stb_mskm_flg5)
			{
				kktk_svc_cd = JFUStrConst.KK0771_KKTK_SVC_CD_C023;
				pcrs_cd = JFUStrConst.CD00134_CA3;
				pplan_cd = JFUStrConst.CD00565_PCA301;
				taknkiki_sbt_cd = JFUStrConst.CD01262_Q0;
				taknkiki_model_cd = workArea.getSmp_model_no();
				net_stick_stb_mskm_flg5 = false;
			}
			else if (net_stick_stb_mskm_flg6)
			{
				kktk_svc_cd = JFUStrConst.KK0771_KKTK_SVC_CD_C023;
				pcrs_cd = JFUStrConst.CD00134_CA3;
				pplan_cd = JFUStrConst.CD00565_PCA301;
				taknkiki_sbt_cd = JFUStrConst.CD01262_Q0;
				taknkiki_model_cd = workArea.getSmp_model_no();
				net_stick_stb_mskm_flg6 = false;
			}
			else if (net_stick_stb_mskm_flg7)
			{
				kktk_svc_cd = JFUStrConst.KK0771_KKTK_SVC_CD_C023;
				pcrs_cd = JFUStrConst.CD00134_CA3;
				pplan_cd = JFUStrConst.CD00565_PCA301;
				taknkiki_sbt_cd = JFUStrConst.CD01262_Q0;
				taknkiki_model_cd = workArea.getSmp_model_no();
				net_stick_stb_mskm_flg7 = false;
			}
			else if (net_stick_stb_mskm_flg8)
			{
				kktk_svc_cd = JFUStrConst.KK0771_KKTK_SVC_CD_C023;
				pcrs_cd = JFUStrConst.CD00134_CA3;
				pplan_cd = JFUStrConst.CD00565_PCA301;
				taknkiki_sbt_cd = JFUStrConst.CD01262_Q0;
				taknkiki_model_cd = workArea.getSmp_model_no();
				net_stick_stb_mskm_flg8 = false;
			}
			else if (net_stick_stb_mskm_flg9)
			{
				kktk_svc_cd = JFUStrConst.KK0771_KKTK_SVC_CD_C023;
				pcrs_cd = JFUStrConst.CD00134_CA3;
				pplan_cd = JFUStrConst.CD00565_PCA301;
				taknkiki_sbt_cd = JFUStrConst.CD01262_Q0;
				taknkiki_model_cd = workArea.getSmp_model_no();
				net_stick_stb_mskm_flg9 = false;
			}
			else if (net_stick_stb_mskm_flg10)
			{
				kktk_svc_cd = JFUStrConst.KK0771_KKTK_SVC_CD_C023;
				pcrs_cd = JFUStrConst.CD00134_CA3;
				pplan_cd = JFUStrConst.CD00565_PCA301;
				taknkiki_sbt_cd = JFUStrConst.CD01262_Q0;
				taknkiki_model_cd = workArea.getSmp_model_no();
				net_stick_stb_mskm_flg10 = false;
			}

			// 共通情報のマッピング
			childMap.put(FUNC_CODE, JPCModelConstant.FUNC_CD_1);
			// 宅内機器種別コード
			childMap.put("taknkiki_sbt_cd", taknkiki_sbt_cd);
			// 宅内機器型式コード
			if (!JFUBPCommon.isNull(taknkiki_model_cd))
			{
				childMap.put("taknkiki_model_cd", taknkiki_model_cd);
			}
			// 機器種別コード
			childMap.put("kktk_svc_cd", kktk_svc_cd);
			// 料金コースコード
			childMap.put("pcrs_cd", pcrs_cd);
			// 料金プランコード
			childMap.put("pplan_cd", pplan_cd);
			// 機器提供種別コード(02:レンタル)
			childMap.put("kktk_sbt_cd", kktk_sbt_cd);
			// サービス利用開始希望年月日
			childMap.put("svc_use_sta_kibo_ymd", workArea.getSvc_sta_kibo_ymd());
			// 販売種別コード(10:標準（新品）)
			childMap.put("hambai_sbt_cd", JFUStrConst.CD00348_10);
			// 親契約識別コード(01:サービス契約)
			childMap.put("oya_kei_skbt_cd", JFUStrConst.CD00804_01);
			// サービス契約番号
			childMap.put("svc_kei_no", "");
			// SYSID
			childMap.put("sysid", "");
			// 申込明細番号
			childMap.put("mskm_dtl_no", "");
			// 機器送付先名
			// 機器送付先カナ名
			if (JFUStrConst.KEI_SBT_KOJINCD.equals(workArea.getKei_sbt()))
			{
				// 個人の場合
				childMap.put("kiki_sohus_nm", workArea.getKshnm());
				childMap.put("kiki_sohus_kana", workArea.getKshkn());
			}
			else if (JFUStrConst.KEI_SBT_HOJINCD.equals(workArea.getKei_sbt()))
			{
				// 法人の場合
				childMap.put("kiki_sohus_nm", workArea.getHojinnm());
				childMap.put("kiki_sohus_kana", workArea.getHojinkn());
			}

// ANK-4640-03-00 ADD START
			// typeNでeoメッシュWi-Fiの申込ありで、利用場所住所と異なる場合
			if ("1".equals(mesh_wifi) && (JFUMkmInfoAddFrontiaUtil.isTypeN(workArea)) && "2".equals(workArea.getKshadd_cmf()))
			{
				// 機器送付先郵便番号
				childMap.put("kiki_sohus_pcd", workArea.getKsh_pcd());
				// 機器送付先住所補記・建物名
				childMap.put("kiki_sohus_adrttm", workArea.getKsh_Address2());
				// 機器送付先住所補記・部屋番号
				childMap.put("kiki_sohus_adrrm", workArea.getKsh_Address3());
			}
			else
			{
// ANK-4640-03-00 ADD END

				// 機器送付先郵便番号
				childMap.put("kiki_sohus_pcd", workArea.getZip());
				// 機器送付先住所補記・建物名
				childMap.put("kiki_sohus_adrttm", workArea.getAdd4());
				// 機器送付先住所補記・部屋番号
				childMap.put("kiki_sohus_adrrm", workArea.getAdd5());

// ANK-4640-00-00 ADD START
			}
// ANK-4640-00-00 ADD END

			// 機器送付先電話番号
			childMap.put("kiki_sohus_telno", workArea.getUseplace_telno());
			// 契約者住所差異フラグ
			childMap.put("kiki_sohus_ksh_ad_sai_flg", getKysAddSaiFlg(workArea.getKshadd_cmf()));
			// 機器設置先＿契約者住所差異フラグ
			childMap.put("kiki_stc_sk_ksh_ad_sai_flg", getKysAddSaiFlg(workArea.getKshadd_cmf()));
			// 機器設置先郵便番号
			childMap.put("kiki_stc_saki_pcd", workArea.getZip());
			// 機器設置先住所補記・建物名
			childMap.put("kiki_stc_saki_adrttm", workArea.getAdd4());
			// 機器設置先住所補記・部屋番号
			childMap.put("kiki_stc_saki_adrrm", workArea.getAdd5());
			// 機器設置先電話番号
			childMap.put("kiki_stc_sk_telno", workArea.getUseplace_telno());
			// 異動区分
			childMap.put(IDO_DIV, JFUStrConst.CD00576_00001);
			// 請求契約番号
			childMap.put("seiky_kei_no", "");
			// 配送区分(00：直送)
			childMap.put("haiso_div", JFUStrConst.CD00020_00);
			// 機器送付先個別指定フラグ
			childMap.put("kiki_shs_kbt_shitei_flg", JFUStrConst.KK0341_KIKI_SHS_KBT_SHITEI_FLG_1);
			// 機器引当指定倉庫コード("000001")
			childMap.put("kiki_hkat_shitei_soko_cd", KIKI_SOUKO_MINATO);
			// 機器引当指定倉庫棚コード("000")
			childMap.put("kiki_hkat_shitei_skdn_cd", workArea.getShelf_cd());
			// 住所未確定フラグ
			childMap.put("ad_mi_fix_flg", getAdMiFixFlg(workArea.getSetplace_bnchi()));
			childMap.put("upd_dtm_bf", "");
			// 機器送付先住所手動入力フラグ
			childMap.put("kiki_shs_ad_man_input_flg", JFUStrConst.CD01239_0);
			// 料金コースコード(サービス別宅内機器型式候補検索用)
			childMap.put("kk1861_pcrs_cd", kk1861_pcrs_cd);
			// 保有コースコード(サービス別宅内機器型式候補検索用)
			childMap.put("kk1861_hoyu_router_cd", kk1861_hoyu_router_cd.toString());

			if (!JFUMkmInfoAddFrontiaConstCC.SERVICE_SBT_HT.equals(workArea.getService_sbt()))
			{
				// マンション物件番号
				childMap.put("mansion_bukken_no", workArea.getW_mansion_bukken_no());
			}

			// ストリーミングメディアプレーヤー端末購入受付担当者名
			if (JFUStrConst.KK0771_KKTK_SVC_CD_C023.equals(kktk_svc_cd))
			{
				childMap.put("tnmt_buy_tchisho_oput_skcd", "1");
				childMap.put("tnmt_buy_uk_tntsha_nm", workArea.getSmp_buy_uk_tntsha_nm());
			}

			// マンションの場合
			if (JFUMkmInfoAddFrontiaConstCC.SERVICE_SBT_MT.equals(workArea.getService_sbt()))
			{
				setMnsKikiSohus(workArea, childMap);
				// 契約者住所を機器送付先にするためフラグを設定
				parentMap.put("MSKM_MNS_TYPE", "1");
			}

			list.add(childMap);
		}

		parentMap.put("EKK0341D010List", list);
		param.setData("EKK0341D010", parentMap);

		return param;
	}

	/**
	 * 機器オプション登録CCの上りマッピング
	 * 
	 * @param workArea
	 * @param param
	 * @return
	 * @throws RequestParameterException 
	 */
	public IRequestParameterReadWrite setJFUVaKikiCancelCC(JFUMkmInfoAddFrontiaWorkArea workArea, IRequestParameterReadWrite param) throws RequestParameterException
	{
		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// サービス契約番号(電話)
		parentMap.put(IN_SVC_KEI_NO_TEL, workArea.getSvc_kei_no_tel());
		// ファミリーパック申込有無
		parentMap.put(IN_FAMIPA_MSKM_UM, "0");
		// 異動区分
		parentMap.put(IN_IDO_DIV, JFUStrConst.CD00576_00001);
		// 選択中サービス(電話)
		String select_svc_tel = "0";
		if (workArea.getEotel())
		{
			select_svc_tel = "1";
		}
		parentMap.put(IN_SELECT_SVC_TEL, select_svc_tel);
		// SYSID
		parentMap.put(IN_SYSID, workArea.getSysid());
		// 請求契約番号
		parentMap.put(IN_SEIKY_KEI_NO, workArea.getSeiky_kei_no());
		// 申込明細番号
		parentMap.put(IN_MSKM_DTL_NO, workArea.getMskm_dtl_no_net());
		// サービス契約回線内訳番号
		parentMap.put(IN_SVC_KEI_KAISEN_UW_NO, workArea.getSvc_kei_kaisen_ucwk_no());

		param.setData("FUSV016020CC", parentMap);

		return param;
	}

	/**
	 * サービス契約<eo光ネット>一意照会の上りマッピング
	 * 
	 * @param workArea
	 * @param param
	 * @return
	 * @throws Exception
	 */
	public IRequestParameterReadWrite setFUSV016040SC(JFUMkmInfoAddFrontiaWorkArea workArea, IRequestParameterReadWrite param) throws Exception
	{
		
		// eoセキュリティーパック
		String netSecurityPack = workArea.getSecurity_pack_mskm();
		
		// インターネットサギウォール
		String netInetsgwl = workArea.getInetsgwl_mskm();
		
		// ノートンファミリープレミア
		String netNtfmlprm = workArea.getNtfmlprm_mskm();
		
		// ANK-3484-00-00 2018/10/12 ADD START
		// おうちの機器補償（ＰＣプラン）
		String netPcpln = workArea.getKk_comp_pc_mskm();
		
		// おうちの機器補償（ＰＣワイドプラン）
		String netPcwpln = workArea.getKk_comp_pcw_mskm();
		
		// おうちの機器補償（ＴＶプラン）
		String netTvpln = workArea.getKk_comp_tv_mskm();
		// ANK-3484-00-00 2018/10/12 ADD END

		// eoセキュリティーパックが"1"(申し込む)以外　かつ
		// インターネットサギウォールが"1"(申し込む)以外　かつ
		// ノートンファミリープレミアが"1"(申し込む)以外　かつ
		// おうちの聞き補償が"1"(申し込む)以外の場合、マッピングを行わない
		if (!JFUStrConst.SECURITY_PAC_MSKM.equals(netSecurityPack)
				&& !JFUStrConst.INETSGWL_MSKM.equals(netInetsgwl)
				&& !JFUStrConst.NTFMLPRM_MSKM.equals(netNtfmlprm)
				&& !JFUStrConst.PC_PLN_MSKM.equals(netPcpln)
				&& !JFUStrConst.PCW_PLN_MSKM.equals(netPcwpln)
				&& !JFUStrConst.TV_PLN_MSKM.equals(netTvpln)
				)
		{
			return null;
		}
		
		HashMap<String, Object> parentMap = new HashMap<String, Object>();
		
		// 機能コード
		parentMap.put(FUNC_CODE, JPCModelConstant.FUNC_CD_2);
		
		// サービス契約番号
		parentMap.put("key_svc_kei_no", workArea.getSvc_kei_no_net());
		
		param.setData("FUSV016040SC", parentMap);
		
		return param;
	}

	/**
	 * セキュリティパック操作CCの上りマッピング
	 * 
	 * @param workArea
	 * @param param
	 * @return
	 * @throws Exception
	 */
	@SuppressWarnings("unchecked")
	public IRequestParameterReadWrite setJKKSecurityPackOperateCC(JFUMkmInfoAddFrontiaWorkArea workArea, IRequestParameterReadWrite param) throws Exception
	{
		
		// eoセキュリティーパック
		String netSecurityPack = workArea.getSecurity_pack_mskm();
		// インターネットサギウォール
		String netInetsgwl = workArea.getInetsgwl_mskm();
		// ノートンファミリープレミア
		String netNtfmlprm = workArea.getNtfmlprm_mskm();
		
		// eoセキュリティーパックが"1"(申し込む)以外　かつ
		// インターネットサギウォールが"1"(申し込む)以外　かつ
		// ノートンファミリープレミアが"1"(申し込む)以外の場合、マッピングを行わない
		if (!JFUStrConst.SECURITY_PAC_MSKM.equals(netSecurityPack)
				&& !JFUStrConst.INETSGWL_MSKM.equals(netInetsgwl)
				&& !JFUStrConst.NTFMLPRM_MSKM.equals(netNtfmlprm))
		{
			return null;
		}
		
		HashMap<String, Object> parentMap = new HashMap<String, Object>();
		HashMap childMap = new HashMap();
		
		// 機能コード
		parentMap.put(FUNC_CODE, JPCModelConstant.FUNC_CD_1);
		
		// 引継有無
		parentMap.put("hikitugi_um", HIKITUGI_UM_NON);
		// 異動区分
		parentMap.put(IDO_DIV, JFUStrConst.CD00576_00001);
		// SYSID
		childMap.put("sysid", workArea.getSysid());
		// サービス契約番号
		childMap.put("svc_kei_no", workArea.getSvc_kei_no_net());
		// 申込明細番号
		childMap.put("mskm_dtl_no", workArea.getMskm_dtl_no_net());
		
		// セキュリティーパック対象フラグ
		if (JFUStrConst.SECURITY_PAC_MSKM.equals(netSecurityPack))
		{
			// eoセキュリティーパックが"1"(申し込む)の場合、"1"（有）を設定
			childMap.put("security_pack_tg_flg", TG_FLG_ARI);
		}
		else
		{
			// 上記以外の場合、"0"（無）を設定
			childMap.put("security_pack_tg_flg", TG_FLG_NON);
		}
		
		// プレミアムパック対象フラグ
		childMap.put("premium_pack_tg_flg", TG_FLG_NON);
		
		// インターネットサギウォール対象フラグ
		if (JFUStrConst.INETSGWL_MSKM.equals(netInetsgwl))
		{
			// インターネットサギウォールが"1"(申し込む)の場合、"1"（有）を設定
			childMap.put("inetsgwl_tg_flg", TG_FLG_ARI);
		}
		else
		{
			// 上記以外の場合、"0"（無）を設定
			childMap.put("inetsgwl_tg_flg", TG_FLG_NON);
		}
		
		// ノートンファミリープレミア対象フラグ
		if (JFUStrConst.NTFMLPRM_MSKM.equals(netNtfmlprm))
		{
			// ノートンファミリープレミアが"1"(申し込む)の場合、"1"（有）を設定
			childMap.put("ntfmlprm_tg_flg", TG_FLG_ARI);
		}
		else
		{
			// 上記以外の場合、"0"（無）を設定
			childMap.put("ntfmlprm_tg_flg", TG_FLG_NON);
		}
		
		// 登録用情報リスト
		ArrayList addInfoList = new ArrayList();
		addInfoList.add(childMap);
		parentMap.put("add_info_list", addInfoList);
		
		param.setData(JKKSECURITYPACKOPERATECC, parentMap);
		
		return param;
	}

	/**
	 * サービスIF結果データ移送上りマッピング
	 * 
	 * @param workArea
	 * @param param
	 * @return
	 * @throws RequestParameterException
	 */
	public IRequestParameterReadWrite setTransferCC(JFUMkmInfoAddFrontiaWorkArea workArea, IRequestParameterReadWrite param) throws RequestParameterException
	{
		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// データ移送数
		parentMap.put(KEY_KEY_CNT, RPG_KEY_CNT_4);

		// データ移送先
		parentMap.put(KEY_TRAN_NAME, CC_TITLE_JKK_CHK_DOBANITEN_PSB_AREA);

		// 都道府県
		parentMap.put(TRANS_KEY_1, TRANS_KEY_1_VALUE_1);
		// 市区町村
		parentMap.put(TRANS_KEY_2, TRANS_KEY_1_VALUE_2);
		// 大字通称名
		parentMap.put(TRANS_KEY_3, TRANS_KEY_1_VALUE_3);
		// 字丁目名
		parentMap.put(TRANS_KEY_4, TRANS_KEY_1_VALUE_4);

		// 共通情報10のマッピング
		param.setData(CC_TITLE_JFU_TRANSFER, parentMap);

		return param;
	}

	/**
	 * 番ポ電話番号登録可否チェックCCの上りマッピング
	 * 
	 * @param workArea
	 * @param param
	 * @return
	 * @throws RequestParameterException
	 */
	@SuppressWarnings("unchecked")
	public IRequestParameterReadWrite setJFUBmpTelNoAddChkCC(JFUMkmInfoAddFrontiaWorkArea workArea, IRequestParameterReadWrite param) throws RequestParameterException
	{
		ArrayList list = null;
		HashMap childMap = null;
		HashMap<String, Object> parentMap = new HashMap<String, Object>();
		list = new ArrayList();

		if ("1".equals(workArea.getUse_bmp_1()))
		{
			childMap = new HashMap();
			childMap.put("tel_no", workArea.getBmp_telno_1());
			list.add(childMap);
		}
		if ("1".equals(workArea.getUse_bmp_2()))
		{
			childMap = new HashMap();
			childMap.put("tel_no", workArea.getBmp_telno_2());
			list.add(childMap);
		}

		// 機能コード
		parentMap.put(FUNC_CODE, JPCModelConstant.FUNC_CD_2);

		parentMap.put("tel_no_list", list);

		param.setData("JFUBmpTelNoAddChkCC", parentMap);

		return param;

	}

	/**
	 * 同番移転可能エリアチェックCCの上りマッピング
	 * 
	 * @param workArea
	 * @param param
	 * @return
	 * @throws RequestParameterException
	 */
	public IRequestParameterReadWrite setJKKChkDobanitenPsbAreaCC(JFUMkmInfoAddFrontiaWorkArea workArea, IRequestParameterReadWrite param) throws RequestParameterException
	{

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 番ポ利用有無 0:利用しない 1:利用する
		String bnp_um1 = workArea.getUse_bmp_1();
		String bnp_um2 = workArea.getUse_bmp_2();

		// 住所選択を取得
		String adressSel1 = workArea.getBmp_ad_choice_1();
		String adressSel2 = workArea.getBmp_ad_choice_2();

		// チェック対象電話番号の数を設定します。
		int count = 0;

		// 番ポ電話番号１
		if ("1".equals(bnp_um1))
		{
			String telNo = workArea.getBmp_telno_1();
			// 電話番号を設定
			parentMap.put(KEY_TEL_NO1, telNo);
			count = count + 1;
		}
		// 番ポ電話番号２
		if ("1".equals(bnp_um2))
		{
			String telNo = workArea.getBmp_telno_2();
			// 電話番号を設定
			// 1つめを優先的に使用する。
			if (JFUBPCommon.isNull(parentMap.get(KEY_TEL_NO1))) {
				parentMap.put(KEY_TEL_NO1, telNo);
			} else {
				parentMap.put(KEY_TEL_NO2, telNo);
			}
			count = count + 1;
		}

		if (count == 0)
		{
			return null;
		}

		// 郵便番号
		String pcd_bf = workArea.getZip().substring(0, 3);
		String pcd_af = workArea.getZip().substring(3, 7);
		parentMap.put(KEY_PDC_BF, pcd_bf);
		parentMap.put(KEY_PDC_AF, pcd_af);

		// 例外入力
		parentMap.put(KEY_EXCEPTION_INPUT, "1");

		// 同一住所フラグ
		parentMap.put(SAME_AD_FLG, "1");

		// 住所コード一覧最大検索件数
		parentMap.put(AD_CD_LIST_MAX_SEARCH_NUM, JFUStrConst.MAX_SEARCH_NUM);

		// 返却マップに設定
		param.setData("JKKChkDobanitenPsbAreaCC", parentMap);

		return param;

	}

	/**
	 * 電話番号登録の上りマッピング（ｅｏ光電話オプション登録ＣＣ）
	 * 
	 * @param workArea
	 * @param param
	 * @return
	 * @throws RequestParameterException 
	 */
	@SuppressWarnings("unchecked")
	public IRequestParameterReadWrite setEZM0121D010(JFUMkmInfoAddFrontiaWorkArea workArea, IRequestParameterReadWrite param) throws RequestParameterException
	{

		HashMap childMap = null;
		HashMap<String, Object> parentMap = new HashMap<String, Object>();
		ArrayList list = setBmpTelMap(workArea, param);
		if (list == null || list.size() == 0)
		{
			return null;
		}
		parentMap.put("EZM0121D010List", list);

		// 契約者タイプコード設定(契約種別)
		parentMap.put("keisha_type_cd", workArea.getKei_sbt());

		param.setData("EZM0121D010", parentMap);

		return param;

	}

	/**
	 * 電話番号マスタ変更CCの上りマッピング処理です。
	 *
	 * <br>
	 * @param workArea
	 * @param param
	 * @return
	 * @throws RequestParameterException 
	 */
	public IRequestParameterReadWrite setJFUMstTelNoUpdCC(JFUMkmInfoAddFrontiaWorkArea workArea, IRequestParameterReadWrite param) throws RequestParameterException
	{
		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 番号ポータビリティの電話設定
		ArrayList<HashMap<String, Object>> telNoList = setBmpTelMap(workArea, param);
		if (telNoList == null || telNoList.size() == 0)
		{
			return null;
		}
		// リストに設定
		parentMap.put("tel_no_list", telNoList);

		// 機能コード
		parentMap.put(FUNC_CODE, JPCModelConstant.FUNC_CD_1);

		// 返却マップに設定
		param.setData("JFUMstTelNoUpdCC", parentMap);

		return param;
	}

	/**
	 * 番号ポータビリティの電話設定
	 * @param bean [0]：共有フォームビーン
	 * @return ArrayList
	 */
	private ArrayList<HashMap<String, Object>> setBmpTelMap(JFUMkmInfoAddFrontiaWorkArea workArea, IRequestParameterReadWrite param) throws RequestParameterException
	{
		HashMap childMap = null;
		ArrayList<HashMap<String, Object>> list = new ArrayList<HashMap<String, Object>>();
		if (!"1".equals(workArea.getUse_bmp_1()) && !"1".equals(workArea.getUse_bmp_2()))
		{
			return null;
		}

		// 必要数分マップを作成します。
		
		if ("1".equals(workArea.getUse_bmp_1()))
		{
			childMap = new HashMap();

			// 共通情報のマッピング
			childMap.put(FUNC_CODE, JPCModelConstant.FUNC_CD_1);
			
			// 電話番号
			childMap.put("telno", workArea.getBmp_telno_1());
			// 番号コード
			childMap.put("no_cd", JFUStrConst.CD00200_01);
			// ANK-4494-00-00_【eo定期】双方向番ポ対応 MOD START
//			// 割当通信事業者コード
//			childMap.put("wariate_tsjgs_cd", JFUStrConst.TU0051_TSJGS_CD_0000);
//			// 使用通信事業者コード	
//			childMap.put("use_tsjgs_cd", workArea.getBmp_tel_svctk_jgs_1());
			// 割当通信事業者コード
			childMap.put("wariate_tsjgs_cd",JFUStrConst.EMPTY);
			// 使用通信事業者コード	
			childMap.put("use_tsjgs_cd", JFUStrConst.EMPTY);
			// 初期個人法人電話番号帯コード
			childMap.put("shk_kojin_hojin_tln_tai_cd", "1");
			// 電話番号取得通信事業者コード
			childMap.put("tln_stku_tsjgs_cd", JFUStrConst.EMPTY);
			// 移転元通信事業者コード
			childMap.put("itnm_tsjgs_cd", workArea.getBmp_tel_svctk_jgs_1());
			// 移転先通信事業者コード
			childMap.put("itns_tsjgs_cd", JFUStrConst.TU0051_TSJGS_CD_5100);
			// ANK-4494-00-00_【eo定期】双方向番ポ対応 MOD END

			// サービス区分
			childMap.put("svc_div", JFUStrConst.CD00203_01);
			// 電話番号適用開始年月日⇒ＣＣ内でセット
			childMap.put("telno_tstaymd", "");
			childMap.put("kojin_hojin_tln_tai_cd", "1");

			list.add(childMap);
		}
		if ("1".equals(workArea.getUse_bmp_2()))
		{
			childMap = new HashMap();

			// 共通情報のマッピング
			childMap.put(FUNC_CODE, JPCModelConstant.FUNC_CD_1);
			
			// 電話番号
			childMap.put("telno", workArea.getBmp_telno_2());
			// 番号コード
			childMap.put("no_cd", JFUStrConst.CD00200_01);
			// ANK-4494-00-00_【eo定期】双方向番ポ対応 MOD START
//			// 割当通信事業者コード
//			childMap.put("wariate_tsjgs_cd", JFUStrConst.TU0051_TSJGS_CD_0000);
//			// 使用通信事業者コード	
//			childMap.put("use_tsjgs_cd", workArea.getBmp_tel_svctk_jgs_2());
			// 割当通信事業者コード
			childMap.put("wariate_tsjgs_cd",JFUStrConst.EMPTY);
			// 使用通信事業者コード	
			childMap.put("use_tsjgs_cd", JFUStrConst.EMPTY);
			// 初期個人法人電話番号帯コード
			childMap.put("shk_kojin_hojin_tln_tai_cd", "1");
			// 電話番号取得通信事業者コード
			childMap.put("tln_stku_tsjgs_cd", JFUStrConst.EMPTY);
			// 移転元通信事業者コード
			childMap.put("itnm_tsjgs_cd", workArea.getBmp_tel_svctk_jgs_2());
			// 移転先通信事業者コード
			childMap.put("itns_tsjgs_cd", JFUStrConst.TU0051_TSJGS_CD_5100);
			// ANK-4494-00-00_【eo定期】双方向番ポ対応 MOD END

			// サービス区分
			childMap.put("svc_div", JFUStrConst.CD00203_01);
			// 電話番号適用開始年月日⇒ＣＣ内でセット
			childMap.put("telno_tstaymd", "");
			childMap.put("kojin_hojin_tln_tai_cd", "1");

			list.add(childMap);
		}
		return list;
	}
	
	/**
	 * オプションサービス契約＜電話＞登録の上りマッピング
	 * 
	 * @param workArea
	 * @param param
	 * @return
	 * @throws RequestParameterException
	 */
	@SuppressWarnings("unchecked")
	public IRequestParameterReadWrite setEKK0371D010_2(JFUMkmInfoAddFrontiaWorkArea workArea, IRequestParameterReadWrite param) throws RequestParameterException
	{

		ArrayList list = new ArrayList();
		HashMap childMap = null;
		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		/*
		 * ■判定条件■ 
		 * 発信者番号通知(1)、 発信者番号表示(1)、転送電話サービス(1)、 
		 * 発信者番号通知(2) 発信者番号表示(2)、転送電話サービス(2) 計 最大6件
		//【IT2-2012-0001829】オプションサービス契約への割込電話対応 >>>
		 * 	割込電話(1) 割込電話(2)を追加
		//【IT2-2012-0001829】オプションサービス契約への割込電話対応 <<<
		 */
		String hassinsh_tuchi1 = workArea.getHashinno_tch_1();
		String hassinsh_hyoji1 = workArea.getHashinno_dsp_1();
		String forward_tel1 = "0";
		String hassinsh_tuchi2 = workArea.getHashinno_tch_2();
		String hassinsh_hyoji2 = workArea.getHashinno_dsp_2();
		String forward_tel2 = "0";
		String warikomi_tel1 = "0";
		String warikomi_tel2 = "0";
		String ease_pack1 = workArea.getEase_pack_1();
		String eohtl_packthree1 = "0";
		String eohtl_packseven1 = "0";
		String ease_pack2 = workArea.getEase_pack_2();
		String eohtl_packthree2 = "0";
		String eohtl_packseven2 = "0";

		// 電話オプションフラグを設定します。
		boolean tuchi_flg1 = false;
		boolean hyoji_flg1 = false;
		boolean tenso_flg1 = false;
		boolean tuchi_flg2 = false;
		boolean hyoji_flg2 = false;
		boolean tenso_flg2 = false;
		boolean warikomi_flg1 = false;
		boolean warikomi_flg2 = false;
		boolean meiwaku_flg1 = false;
		boolean sitei_flg1 = false;
		boolean easeSendRecv_flg1 = false;
		boolean meiwaku_flg2 = false;
		boolean sitei_flg2 = false;
		boolean easeSendRecv_flg2 = false;

		// 繰り返し回数を設定します。
		int count = 0;
		// 発信者番号通知１
		if (JFUStrConst.HASHINNO_TCH_CHOICE.equals(hassinsh_tuchi1))
		{
			tuchi_flg1 = true;
			count = count + 1;
		}
		// 発信者番号表示１
		if (JFUStrConst.HASHINNO_DSP_CHOICE.equals(hassinsh_hyoji1) 
				|| JFUStrConst.EASE_PACK_CHOICE.equals(ease_pack1)
				|| JFUStrConst.EOHTL_PACK3_CHOICE.equals(eohtl_packthree1)
				|| JFUStrConst.EOHTL_PACK7_CHOICE.equals(eohtl_packseven1))
		{
			hyoji_flg1 = true;
			count = count + 1;
		}
		// 発信者番号通知２
		if (JFUStrConst.HASHINNO_TCH_CHOICE.equals(hassinsh_tuchi2))
		{
			tuchi_flg2 = true;
			count = count + 1;
		}
		// 発信者番号表示２
		if (JFUStrConst.HASHINNO_DSP_CHOICE.equals(hassinsh_hyoji2)
				|| JFUStrConst.EASE_PACK_CHOICE.equals(ease_pack2)
				|| JFUStrConst.EOHTL_PACK3_CHOICE.equals(eohtl_packthree2)
				|| JFUStrConst.EOHTL_PACK7_CHOICE.equals(eohtl_packseven2))
		{
			hyoji_flg2 = true;
			count = count + 1;
		}

		// 転送電話サービス１
		if (JFUStrConst.FORWARD_TEL_CHOICE.equals(forward_tel1) 
				|| JFUStrConst.EOHTL_PACK3_CHOICE.equals(eohtl_packthree1)
				|| JFUStrConst.EOHTL_PACK7_CHOICE.equals(eohtl_packseven1))
		{
			tenso_flg1 = true;
			count = count + 1;
		}
		// 転送電話サービス２
		if (JFUStrConst.FORWARD_TEL_CHOICE.equals(forward_tel2)
				|| JFUStrConst.EOHTL_PACK3_CHOICE.equals(eohtl_packthree2)
				|| JFUStrConst.EOHTL_PACK7_CHOICE.equals(eohtl_packseven2))
		{
			tenso_flg2 = true;
			count = count + 1;
		}
		//【IT2-2012-0001829】オプションサービス契約への割込電話対応 >>>
		// 割込電話１
		if (JFUStrConst.WARIKOMI_TEL_CHOICE.equals(warikomi_tel1)
				|| JFUStrConst.EOHTL_PACK3_CHOICE.equals(eohtl_packthree1)
				|| JFUStrConst.EOHTL_PACK7_CHOICE.equals(eohtl_packseven1))
		{
			warikomi_flg1 = true;
			count = count + 1;
		}
		// 割込電話２
		if (JFUStrConst.WARIKOMI_TEL_CHOICE.equals(warikomi_tel2)
				|| JFUStrConst.EOHTL_PACK3_CHOICE.equals(eohtl_packthree2)
				|| JFUStrConst.EOHTL_PACK7_CHOICE.equals(eohtl_packseven2))
		{
			warikomi_flg2 = true;
			count = count + 1;
		}
		// あんしん発着信サービス１
		if (JFUStrConst.EASE_SEND_RECV_CHOICE.equals(ease_pack1))
		{
			easeSendRecv_flg1 = true;
			count = count + 1;
		}
		// あんしん発着信サービス２
		if (JFUStrConst.EASE_SEND_RECV_CHOICE.equals(ease_pack2))
		{
			easeSendRecv_flg2 = true;
			count = count + 1;
		}
		// あんしん電話パック_1の残り
		if (JFUStrConst.EASE_PACK_CHOICE.equals(ease_pack1))
		{
			meiwaku_flg1 = true;
			sitei_flg1 = true;
			count = count + 2;
		}
		// eo光電話パック７_1の残り
		if (JFUStrConst.EOHTL_PACK7_CHOICE.equals(eohtl_packseven1))
		{
			meiwaku_flg1 = true;
			sitei_flg1 = true;
			count = count + 2;
		}
		// あんしん電話パック_2の残り
		if (JFUStrConst.EASE_PACK_CHOICE.equals(ease_pack2))
		{
			meiwaku_flg2 = true;
			sitei_flg2 = true;
			count = count + 2;
		}
		// eo光電話パック７_2の残り
		if (JFUStrConst.EOHTL_PACK7_CHOICE.equals(eohtl_packseven2))
		{
			meiwaku_flg2 = true;
			sitei_flg2 = true;
			count = count + 2;
		}

		if (count == 0)
		{
			return null;
		}

		// 必要数分マップを作成します。
		for (int i = 0; i < count; i++)
		{
			String svc_kei_ucwk_no = JFUStrConst.EMPTY;
			String mskm_dtl_no = JFUStrConst.EMPTY;
			mskm_dtl_no = workArea.getMskm_dtl_no_tel();
			if (tuchi_flg1 || hyoji_flg1 || warikomi_flg1 ||  tenso_flg1 || meiwaku_flg1 || sitei_flg1 || easeSendRecv_flg1)
			{
				svc_kei_ucwk_no = workArea.getSvc_kei_ucwk_no_tel1();
			}
			else if (tuchi_flg2 || hyoji_flg2 || warikomi_flg2 || tenso_flg2 || meiwaku_flg2 || sitei_flg2 || easeSendRecv_flg2)
			{
				svc_kei_ucwk_no = workArea.getSvc_kei_ucwk_no_tel2();
			}

			childMap = new HashMap();

			// 共通情報のマッピング
			childMap.put(FUNC_CODE, JPCModelConstant.FUNC_CD_1);

			if (tuchi_flg1)
			{
				// 固定"B022" → オプションサービスコード
				childMap.put("op_svc_cd", JFUStrConst.CD00136_B022);
				// 固定"B26" →料金コースコード
				childMap.put("pcrs_cd", JFUStrConst.CD00134_B26);
				// 固定"PB2601" → 料金プランコード
				childMap.put("pplan_cd", JFUStrConst.CD00565_PB2601);
				childMap.put("tel_svc_no", "1");

				tuchi_flg1 = false;
			}
			else if (hyoji_flg1)
			{
				// 固定"B025" → オプションサービスコード
				childMap.put("op_svc_cd", JFUStrConst.CD00136_B025);
				// 固定"B29" →料金コースコード
				childMap.put("pcrs_cd", JFUStrConst.CD00134_B29);
				// 固定"PB2901" → 料金プランコード
				childMap.put("pplan_cd", JFUStrConst.CD00565_PB2901);
				childMap.put("tel_svc_no", "1");

				hyoji_flg1 = false;
			}
			else if (warikomi_flg1)
			{
				// 固定"B023" → オプションサービスコード
				childMap.put("op_svc_cd", JFUStrConst.CD00136_B023);
				// 固定"B27" →料金コースコード
				childMap.put("pcrs_cd", JFUStrConst.CD00134_B27);
				// 固定"PB2701" → 料金プランコード
				childMap.put("pplan_cd", JFUStrConst.CD00565_PB2701);
				childMap.put("tel_svc_no", "1");

				warikomi_flg1 = false;
			}
			else if (tenso_flg1)
			{
				// 固定"B024" → オプションサービスコード
				childMap.put("op_svc_cd", JFUStrConst.CD00136_B024);
				// 固定"B28" →料金コースコード
				childMap.put("pcrs_cd", JFUStrConst.CD00134_B28);
				// 固定"PB2801" → 料金プランコード
				childMap.put("pplan_cd", JFUStrConst.CD00565_PB2801);
				childMap.put("tel_svc_no", "1");

				tenso_flg1 = false;
			}
			else if (meiwaku_flg1)
			{
				// 固定"B026" → オプションサービスコード
				childMap.put("op_svc_cd", JFUStrConst.CD00136_B026);
				// 固定"B30" →料金コースコード
				childMap.put("pcrs_cd", JFUStrConst.CD00134_B30);
				// 固定"PB3001" → 料金プランコード
				childMap.put("pplan_cd", JFUStrConst.CD00565_PB3001);
				childMap.put("tel_svc_no", "1");

				meiwaku_flg1 = false;
			}
			else if(sitei_flg1)
			{
				// 固定"B027" → オプションサービスコード
				childMap.put("op_svc_cd", JFUStrConst.CD00136_B027);
				// 固定"B31" →料金コースコード
				childMap.put("pcrs_cd", JFUStrConst.CD00134_B31);
				// 固定"PB3101" → 料金プランコード
				childMap.put("pplan_cd", JFUStrConst.CD00565_PB3101);
				childMap.put("tel_svc_no", "1");

				sitei_flg1 = false;
			}
			else if(easeSendRecv_flg1)
			{
				// 固定"B135" → オプションサービスコード
				childMap.put("op_svc_cd", JFUStrConst.CD00136_B135);
				// 固定"BE6" →料金コースコード
				childMap.put("pcrs_cd", JFUStrConst.CD00134_BE6);
				// 固定"PBE601" → 料金プランコード
				childMap.put("pplan_cd", JFUStrConst.CD00565_PBE601);
				childMap.put("tel_svc_no", "1");

				easeSendRecv_flg1 = false;
			}
			else if (tuchi_flg2)
			{
				// 固定"B022" → オプションサービスコード
				childMap.put("op_svc_cd", JFUStrConst.CD00136_B022);
				// 固定"B26" →料金コースコード
				childMap.put("pcrs_cd", JFUStrConst.CD00134_B26);
				// 固定"PB2601" → 料金プランコード
				childMap.put("pplan_cd", JFUStrConst.CD00565_PB2601);
				childMap.put("tel_svc_no", "2");

				tuchi_flg2 = false;
			}
			else if (hyoji_flg2)
			{
				// 固定"B025" → オプションサービスコード
				childMap.put("op_svc_cd", JFUStrConst.CD00136_B025);
				// 固定"B29" →料金コースコード
				childMap.put("pcrs_cd", JFUStrConst.CD00134_B29);
				// 固定"PB2901" → 料金プランコード
				childMap.put("pplan_cd", JFUStrConst.CD00565_PB2901);
				childMap.put("tel_svc_no", "2");

				hyoji_flg2 = false;
			}
			else if (warikomi_flg2)
			{
				// 固定"B023" → オプションサービスコード
				childMap.put("op_svc_cd", JFUStrConst.CD00136_B023);
				// 固定"B27" →料金コースコード
				childMap.put("pcrs_cd", JFUStrConst.CD00134_B27);
				// 固定"PB2701" → 料金プランコード
				childMap.put("pplan_cd", JFUStrConst.CD00565_PB2701);
				childMap.put("tel_svc_no", "2");

				warikomi_flg2 = false;
			}
			else if (tenso_flg2)
			{
				// 固定"B024" → オプションサービスコード
				childMap.put("op_svc_cd", JFUStrConst.CD00136_B024);
				// 固定"B28" →料金コースコード
				childMap.put("pcrs_cd", JFUStrConst.CD00134_B28);
				// 固定"PB2801" → 料金プランコード
				childMap.put("pplan_cd", JFUStrConst.CD00565_PB2801);
				childMap.put("tel_svc_no", "2");

				tenso_flg2 = false;
			}
			else if (meiwaku_flg2){
				// 固定"B026" → オプションサービスコード
				childMap.put("op_svc_cd", JFUStrConst.CD00136_B026);
				// 固定"B30" →料金コースコード
				childMap.put("pcrs_cd", JFUStrConst.CD00134_B30);
				// 固定"PB3001" → 料金プランコード
				childMap.put("pplan_cd", JFUStrConst.CD00565_PB3001);
				childMap.put("tel_svc_no", "2");

				meiwaku_flg2 = false;
			}
			else if(sitei_flg2)
			{
				// 固定"B027" → オプションサービスコード
				childMap.put("op_svc_cd", JFUStrConst.CD00136_B027);
				// 固定"B31" →料金コースコード
				childMap.put("pcrs_cd", JFUStrConst.CD00134_B31);
				// 固定"PB3101" → 料金プランコード
				childMap.put("pplan_cd", JFUStrConst.CD00565_PB3101);
				childMap.put("tel_svc_no", "2");

				sitei_flg2 = false;
			}
			else if(easeSendRecv_flg2)
			{
				// 固定"B135" → オプションサービスコード
				childMap.put("op_svc_cd", JFUStrConst.CD00136_B135);
				// 固定"BE6" →料金コースコード
				childMap.put("pcrs_cd", JFUStrConst.CD00134_BE6);
				// 固定"PBE601" → 料金プランコード
				childMap.put("pplan_cd", JFUStrConst.CD00565_PBE601);
				childMap.put("tel_svc_no", "2");

				easeSendRecv_flg2 = false;
			}

			// "03"固定（サービス契約内訳） → eo光電話マップ.親契約識別コード
			childMap.put("oya_kei_skbt_cd", JFUStrConst.CD00804_03);
			// サービス契約内訳番号
			childMap.put("svc_kei_ucwk_no", svc_kei_ucwk_no);
			// ＳＹＳＩＤ
			childMap.put("sysid", workArea.getSysid());
			// 申込明細番号
			childMap.put("mskm_dtl_no", mskm_dtl_no);
			// 異動区分
			childMap.put(IDO_DIV, JFUStrConst.CD00576_00001);
			// 請求契約番号
			childMap.put("seiky_kei_no", workArea.getSeiky_kei_no());
			// 更新年月日時分秒(更新前)
			//TODO
			childMap.put("upd_dtm_bf", "");

			list.add(childMap);
		}

		parentMap.put("EKK0371D010List", list);
		param.setData("EKK0371D010", parentMap);

		return param;
	}

	/**
	 * eo光テレビオプション登録上りマッピング
	 * 
	 * @param workArea
	 * @param param
	 * @return
	 * @throws RequestParameterException 
	 */
	public IRequestParameterReadWrite setEKK0381D010(JFUMkmInfoAddFrontiaWorkArea workArea, IRequestParameterReadWrite param) throws RequestParameterException
	{

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

// ANK-4592-00-00 MOD START
		// "選択サービス(テレビ)"が"1"(選択)かつ、"テレビコース"が"1"(K-CAT)かつ、
		// "テレビコース(eo光テレビ入力)"が"2"(ベーシックHD、プレミアムHD)の場合、または"4"(CSベーシック)または"5"(CSプレミアム)の場合にマップを作成する
		if (!workArea.getEotv() || !(JFUStrConst.EO_TV_COURSE_BASIC.equals(workArea.getEo_tv_course())
				|| JFUStrConst.EO_TV_COURSE_CS_BAS.equals(workArea.getEo_tv_course()) || JFUStrConst.EO_TV_COURSE_CS_PRE.equals(workArea.getEo_tv_course())))
		{
			return null;
		}
// ANK-4592-00-00 MOD END

		// ガイド誌が0の場合は処理終了
		if (JFUBPCommon.isNull(workArea.getGuidemg_cnt()))
		{
			return null;
		}
		if ("0".equals(workArea.getGuidemg_cnt()))
		{
			return null;
		}

		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, JPCModelConstant.FUNC_CD_1);

		// オプションサービスコード → オプションサービスコード ケーブルガイド誌
		parentMap.put("op_svc_cd", JFUStrConst.KK0821_OP_SVC_CD_B068);
		// 料金コースコード → 料金コースコード
		parentMap.put("pcrs_cd", JFUStrConst.KK0791_PCRS_CD_B36);
		// 料金プランコード → 料金プランコード
		parentMap.put("pplan_cd", JFUStrConst.KK0591_PPLAN_CD_PB3601);
		// ■固定"01"（サービス契約） → 親契約識別コード
		parentMap.put("oya_kei_skbt_cd", JFUStrConst.CD00804_01);
		// eo光テレビ.サービス契約番号 → サービス契約番号
		parentMap.put("svc_kei_no", workArea.getSvc_kei_no_tv());
		// ＳＹＳＩＤ
		parentMap.put("sysid", workArea.getSysid());
		// eo光テレビ.申込明細番号 → 申込明細番号
		parentMap.put("mskm_dtl_no", workArea.getMskm_dtl_no_tv());
		// 異動区分
		parentMap.put(IDO_DIV, JFUStrConst.CD00576_00001);
		// eo光テレビ.ガイド誌数 → ケーブルガイド申込数
		parentMap.put("cable_guide_mskm_cnt", workArea.getGuidemg_cnt());
		// 請求契約番号
		parentMap.put("seiky_kei_no", workArea.getSeiky_kei_no());
		// ガイド誌送付先住所手動入力フラグ → サービス契約＜eo光TV＞登録SCマップ.ガイド誌送付先住所手動入力フラグ
		parentMap.put("gudmg_shs_ad_man_input_flg", JFUStrConst.CD01239_0);
		// ガイド誌送付先個別指定フラグ → サービス契約＜eo光TV＞登録SCマップ.ガイド誌送付先個別指定フラグ
		parentMap.put("guidemg_shs_ksitei_flg", JFUStrConst.CD00002_0);

		// 更新年月日時分秒(更新前)
		//TODO
		parentMap.put("upd_dtm_bf", "");

		param.setData("EKK0381D010", parentMap);

		return param;
	}
	
	/**
	 * 機器提供サービスONU登録上りマッピング
	 * 
	 * @param workArea
	 * @param param
	 * @param shelf_cd
	 * @return
	 * @throws RequestParameterException 
	 */
	public IRequestParameterReadWrite setEKK0341D01005(JFUMkmInfoAddFrontiaWorkArea workArea, IRequestParameterReadWrite param) throws RequestParameterException
	{

		if (JFUMkmInfoAddFrontiaConstCC.SERVICE_SBT_MT.equals(workArea.getService_sbt()))
		{
			// マンションの場合

			// マンションのフロント用提供方式パターンを取得
			String fuTeikyoHoshikiPtnCd = JFUMkmInfoAddUtil.getFuTeikyoHoshikiPtnCd(workArea.getW_tk_hoshiki_cd(), workArea.getW_tk_prc_sbt_cd());

			// マンションVDSL,VDSL-S,イーサ、ギガイーサの場合、登録しない
			if (JFUStrConst.TK_HOSHIKI_PTN_VDSL.equals(fuTeikyoHoshikiPtnCd) || JFUStrConst.TK_HOSHIKI_PTN_VDSLS.equals(fuTeikyoHoshikiPtnCd)
					|| JFUStrConst.TK_HOSHIKI_PTN_ENET.equals(fuTeikyoHoshikiPtnCd) || JFUStrConst.TK_HOSHIKI_PTN_GG_ENET.equals(fuTeikyoHoshikiPtnCd))
			{
				return null;
			}
		}

		// typeNの場合
		if (JFUMkmInfoAddFrontiaUtil.isTypeN(workArea))
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 機能コード
		parentMap.put(FUNC_CODE, JPCModelConstant.FUNC_CD_1);
		// ONU（GE-PON） → 機器提供サービスコード（ONU）
		parentMap.put("kktk_svc_cd", JFUStrConst.KK0771_KKTK_SVC_CD_C012);
		// 料金コースコード C18（ONU)
		parentMap.put("pcrs_cd", JFUStrConst.CD00134_C18);
		// 料金プランコード PC1801（ONU)
		parentMap.put("pplan_cd", JFUStrConst.CD00565_PC1801);
		// 機器提供種別コード
		parentMap.put("kktk_sbt_cd", JFUStrConst.CD00212_02);
		// 親契約識別コード(サービス契約回線内訳)
		parentMap.put("oya_kei_skbt_cd", JFUStrConst.CD00804_02);
		// サービス契約回線内訳番号
		parentMap.put("svc_kei_kaisen_ucwk_no", workArea.getSvc_kei_kaisen_ucwk_no());

		if (JFUMkmInfoAddFrontiaConstCC.SERVICE_SBT_MT.equals(workArea.getService_sbt()))
		{
		// サービス開始希望日
			if (JFUStrConst.TK_HOSHIKI_CHG_SBT_CD_CONCENT.equals(workArea.getW_tk_hoshiki_chg_sbt_cd()))
			{
				// 光コンセント：機器のサービス開始希望日を設定しない。
				parentMap.put("svc_use_sta_kibo_ymd", "");
			}
			else
			{
				parentMap.put("svc_use_sta_kibo_ymd", workArea.getSvc_sta_kibo_ymd());
			}
		}
		else
		{
			parentMap.put("svc_use_sta_kibo_ymd", "");
		}

		// 異動区分
		parentMap.put(IDO_DIV, JFUStrConst.CD00576_00001);
		// 契約者機器送付先名
		// 機器送付先カナ名
		if (JFUStrConst.KEI_SBT_KOJINCD.equals(workArea.getKei_sbt()))
		{
			parentMap.put("kiki_sohus_nm", workArea.getKshnm());
			parentMap.put("kiki_sohus_kana", workArea.getKshkn());
		} else if (JFUStrConst.KEI_SBT_HOJINCD.equals(workArea.getKei_sbt()))
		{
			parentMap.put("kiki_sohus_nm", workArea.getHojinnm());
			parentMap.put("kiki_sohus_kana", workArea.getHojinkn());
		}
		// 機器送付先郵便番号
		parentMap.put("kiki_sohus_pcd", workArea.getZip());
		// 機器送付先住所補記・建物名
		parentMap.put("kiki_sohus_adrttm", workArea.getAdd4());
		// 機器送付先住所補記・部屋番号
		parentMap.put("kiki_sohus_adrrm", workArea.getAdd5());
		// 機器送付先電話番号
		parentMap.put("kiki_sohus_telno", workArea.getUseplace_telno());
		// 機器送付先＿契約者住所差異フラグ
		parentMap.put("kiki_sohus_ksh_ad_sai_flg", getKysAddSaiFlg(workArea.getKshadd_cmf()));
		// マンション物件番号
		parentMap.put("mansion_bukken_no", workArea.getW_mansion_bukken_no());
		parentMap.put("kiki_stc_saki_pcd", workArea.getZip());
		// 機器設置先住所補記・建物名
		parentMap.put("kiki_stc_saki_adrttm", workArea.getAdd4());
		// 機器設置先住所補記・部屋番号
		parentMap.put("kiki_stc_saki_adrrm", workArea.getAdd5());
		// 機器設置先＿契約者住所差異フラグ
		parentMap.put("kiki_stc_sk_ksh_ad_sai_flg", getKysAddSaiFlg(workArea.getKshadd_cmf()));
		// 機器設置先電話番号
		parentMap.put("kiki_stc_sk_telno", workArea.getUseplace_telno());

		// SYSID
		parentMap.put("sysid", workArea.getSysid());
		// 販売種別コード :標準（新品）
		parentMap.put("hambai_sbt_cd", JFUStrConst.CD00348_10);
		// 配送区分
		parentMap.put("haiso_div", JFUStrConst.CD00020_00);
		// 機器送付先住所手動入力フラグ
		parentMap.put("kiki_shs_ad_man_input_flg", JFUStrConst.CD01239_0); // 2013/01/25 No.311 Otsuka

		// 機器引当指定倉庫コード("000001")
		parentMap.put("kiki_hkat_shitei_soko_cd", KIKI_SOUKO_MINATO);

		// 機器引当指定倉庫棚コード("000")
		parentMap.put("kiki_hkat_shitei_skdn_cd", workArea.getShelf_cd());

		// 住所未確定フラグ
		parentMap.put("ad_mi_fix_flg", getAdMiFixFlg(workArea.getSetplace_bnchi()));
		// 機器送付先個別指定フラグ
		parentMap.put("kiki_shs_kbt_shitei_flg", JFUStrConst.KK0341_KIKI_SHS_KBT_SHITEI_FLG_1);
		// 宅内機器種別コード("D0")
		parentMap.put("taknkiki_sbt_cd", JFUStrConst.TKNI_KIKI_SBT_CD_D0);
		// 機器送付先住所手動入力フラグ
		parentMap.put("kiki_shs_ad_man_input_flg", JFUStrConst.CD01239_0);

		// マンションの場合
		if (JFUMkmInfoAddFrontiaConstCC.SERVICE_SBT_MT.equals(workArea.getService_sbt()))
		{
			setMnsKikiSohus(workArea, parentMap);
			// 契約者住所を機器送付先にするためフラグを設定
			parentMap.put("MSKM_MNS_TYPE", "1");
		}

		param.setData("EKK0341D010Onu", parentMap);

		return param;
	}

	/**
	 * 機器提供サービス＜eo光ネット＞上りマッピングをする
	 * 
	 * @param workArea
	 * @param param
	 * @return
	 * @throws RequestParameterException 
	 */
	public IRequestParameterReadWrite setEKK0341D01001(JFUMkmInfoAddFrontiaWorkArea workArea, IRequestParameterReadWrite param) throws RequestParameterException
	{
		HashMap<String, Object> parentMap = new HashMap<String, Object>();
		if (JFUMkmInfoAddFrontiaConstCC.SERVICE_SBT_MT.equals(workArea.getService_sbt()))
		{
			// マンションの場合

			// マンションのフロント用提供方式パターンコードを取得
			String fuTeikyoHoshikiPtnCd = JFUMkmInfoAddUtil.getFuTeikyoHoshikiPtnCd(workArea.getW_tk_hoshiki_cd(), workArea.getW_tk_prc_sbt_cd());
			if (JFUStrConst.TK_HOSHIKI_PTN_VDSL.equals(fuTeikyoHoshikiPtnCd) || JFUStrConst.TK_HOSHIKI_PTN_VDSLS.equals(fuTeikyoHoshikiPtnCd))
			{
				// フロント用提供方式パターンコードがVDSL／VDSL-Sの場合

				if (workArea.getEonet() || workArea.getEotel())
				{
					// ネット／電話申し込みがある場合

					// 機器提供サービスコード
					parentMap.put("kktk_svc_cd", JFUStrConst.KK0771_KKTK_SVC_CD_C005);

					// 料金コースコード：モデム(レンタル)
					parentMap.put("pcrs_cd", JFUStrConst.CD00134_C06);
					// 料金プランコード：モデム(レンタル) 定額プラン
					parentMap.put("pplan_cd", JFUStrConst.CD00565_PC0601);
					// EKK0861B501(EKK0861B501_マンション検索一覧照会)で取得したマンション接続機器型式コードを設定
					parentMap.put("taknkiki_model_cd", workArea.getW_mcntkk_model_cd());
					// 親契約識別コード
					parentMap.put("oya_kei_skbt_cd", JFUStrConst.CD00804_02);
					// 機器提供種別コード(01：買取、02：レンタル) 
					// モデムプランは、レンタルのみ
					parentMap.put("kktk_sbt_cd", JFUStrConst.CD00212_02);

					// 共有フォームBean.サービス契約回線内訳番号 → サービス契約回線内訳番号
					parentMap.put("svc_kei_kaisen_ucwk_no", JFUStrConst.EMPTY);

					// 共有フォームBean.サービス開始希望日 → サービス利用開始希望年月日
					parentMap.put("svc_use_sta_kibo_ymd", workArea.getSvc_sta_kibo_ymd());

					// 契約者機器送付先名
					// 機器送付先カナ名
					if (JFUStrConst.KEI_SBT_KOJINCD.equals(workArea.getKei_sbt()))
					{
						parentMap.put("kiki_sohus_nm", workArea.getKshnm());
						parentMap.put("kiki_sohus_kana", workArea.getKshkn());
					} else if (JFUStrConst.KEI_SBT_HOJINCD.equals(workArea.getKei_sbt()))
					{
						parentMap.put("kiki_sohus_nm", workArea.getHojinnm());
						parentMap.put("kiki_sohus_kana", workArea.getHojinkn());
					}

					// 機器送付先郵便番号
					parentMap.put("kiki_sohus_pcd", workArea.getZip());
					// 機器送付先住所補記・建物名
					parentMap.put("kiki_sohus_adrttm", workArea.getAdd4());
					// 機器送付先住所補記・部屋番号
					parentMap.put("kiki_sohus_adrrm", workArea.getAdd5());
					// 機器送付先電話番号
					parentMap.put("kiki_sohus_telno", workArea.getUseplace_telno());
					// 機器送付先＿契約者住所差異フラグ
					parentMap.put("kiki_sohus_ksh_ad_sai_flg", getKysAddSaiFlg(workArea.getKshadd_cmf()));
					// マンション物件番号
					parentMap.put("mansion_bukken_no", workArea.getW_mansion_bukken_no());
					// 機器設置先郵便番号
					parentMap.put("kiki_stc_saki_pcd", workArea.getZip());
					// 機器設置先住所補記・建物名
					parentMap.put("kiki_stc_saki_adrttm", workArea.getAdd4());
					// 機器設置先住所補記・部屋番号
					parentMap.put("kiki_stc_saki_adrrm", workArea.getAdd5());
					// 機器設置先＿契約者住所差異フラグ
					parentMap.put("kiki_stc_sk_ksh_ad_sai_flg", getKysAddSaiFlg(workArea.getKshadd_cmf()));
					// 機器設置先電話番号
					parentMap.put("kiki_stc_sk_telno", workArea.getUseplace_telno());
					// 異動区分
					parentMap.put(IDO_DIV, JFUStrConst.CD00576_00001);
					// SYSID
					parentMap.put("sysid", workArea.getSysid());
					// 販売種別コード :標準（新品）
					parentMap.put("hambai_sbt_cd", JFUStrConst.CD00348_10);
					// 配送区分
					parentMap.put("haiso_div", JFUStrConst.CD00020_00);
					// 機器送付先住所手動入力フラグ
					parentMap.put("kiki_shs_ad_man_input_flg", JFUStrConst.CD01239_0);
					// 機器引当指定倉庫コード("000001")
					parentMap.put("kiki_hkat_shitei_soko_cd", KIKI_SOUKO_MINATO);
					// 機器引当指定倉庫棚コード("000")
					parentMap.put("kiki_hkat_shitei_skdn_cd", workArea.getShelf_cd());
					// 機器送付先個別指定フラグ
					parentMap.put("kiki_shs_kbt_shitei_flg", JFUStrConst.KK0341_KIKI_SHS_KBT_SHITEI_FLG_1);
					// 住所未確定フラグ
					parentMap.put("ad_mi_fix_flg", getAdMiFixFlg(workArea.getSetplace_bnchi()));
					// 宅内機器種別コード("E0")
					parentMap.put("taknkiki_sbt_cd", JFUStrConst.TKNI_KIKI_SBT_CD_E0);
					// 機器送付先住所手動入力フラグ
					parentMap.put("kiki_shs_ad_man_input_flg", JFUStrConst.CD01239_0);
					// 宅内機器種別コード("60")
					parentMap.put("taknkiki_sbt_cd", JFUStrConst.TKNI_KIKI_SBT_CD_60);
					// 共通情報のマッピング
					parentMap.put("func_code", JPCModelConstant.FUNC_CD_1);
					// 機器送付先個別指定フラグ
					parentMap.put("kiki_shs_kbt_shitei_flg", JFUStrConst.KK0341_KIKI_SHS_KBT_SHITEI_FLG_1);
					param.setData("EKK0341D010Net", parentMap);

					setMnsKikiSohus(workArea, parentMap);
					// 契約者住所を機器送付先にするためフラグを設定
					parentMap.put("MSKM_MNS_TYPE", "1");
				}
			}
		}
		return param;
	}

	/**
	 * 機器提供サービス＜ｅｏ光テレビ＞VONUの上りマッピング
	 * 
	 * @param workArea
	 * @param param
	 * @return
	 * @throws RequestParameterException 
	 */
	public IRequestParameterReadWrite setEKK0341D01006(JFUMkmInfoAddFrontiaWorkArea workArea, IRequestParameterReadWrite param) throws RequestParameterException
	{

		if (JFUMkmInfoAddFrontiaConstCC.SERVICE_SBT_MT.equals(workArea.getService_sbt()))
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, JPCModelConstant.FUNC_CD_1);
		// 親契約識別コード(サービス契約回線内訳)
		parentMap.put("oya_kei_skbt_cd", JFUStrConst.CD00804_02);
		// サービス契約回線内訳番号
		parentMap.put("svc_kei_kaisen_ucwk_no", workArea.getSvc_kei_kaisen_ucwk_no());
		// 機器提供サービスコード
		parentMap.put("kktk_svc_cd", JFUStrConst.KK0771_KKTK_SVC_CD_C013);
		// 料金コースコード
		parentMap.put("pcrs_cd", JFUStrConst.CD00134_C20);
		// 料金プランコード
		parentMap.put("pplan_cd", JFUStrConst.CD00565_PC2001);
		// 機器提供種別コード
		parentMap.put("kktk_sbt_cd", JFUStrConst.CD00212_02);
		// 販売種別コード
		parentMap.put("hambai_sbt_cd", JFUStrConst.CD00348_10);
		// 異動区分
		parentMap.put(IDO_DIV, JFUStrConst.CD00576_00001);

		// 契約者機器送付先名
		// 機器送付先カナ名
		if (JFUStrConst.KEI_SBT_KOJINCD.equals(workArea.getKei_sbt()))
		{
			parentMap.put("kiki_sohus_nm", workArea.getKshnm());
			parentMap.put("kiki_sohus_kana", workArea.getKshkn());
		} else if (JFUStrConst.KEI_SBT_HOJINCD.equals(workArea.getKei_sbt()))
		{
			parentMap.put("kiki_sohus_nm", workArea.getHojinnm());
			parentMap.put("kiki_sohus_kana", workArea.getHojinkn());
		}
		// 機器送付先郵便番号
		parentMap.put("kiki_sohus_pcd", workArea.getZip());
		// 機器送付先住所補記・建物名
		parentMap.put("kiki_sohus_adrttm", workArea.getAdd4());
		// 機器送付先住所補記・部屋番号
		parentMap.put("kiki_sohus_adrrm", workArea.getAdd5());
		// 機器送付先電話番号
		parentMap.put("kiki_sohus_telno", workArea.getUseplace_telno());
		// 機器送付先＿契約者住所差異フラグ
		parentMap.put("kiki_sohus_ksh_ad_sai_flg", getKysAddSaiFlg(workArea.getKshadd_cmf()));
		// マンション物件番号
		parentMap.put("mansion_bukken_no", workArea.getW_mansion_bukken_no());
		// 機器設置先郵便番号
		parentMap.put("kiki_stc_saki_pcd", workArea.getZip());
		// 機器設置先住所補記・建物名
		parentMap.put("kiki_stc_saki_adrttm", workArea.getAdd4());
		// 機器設置先住所補記・部屋番号
		parentMap.put("kiki_stc_saki_adrrm", workArea.getAdd5());
		// 機器設置先＿契約者住所差異フラグ
		parentMap.put("kiki_stc_sk_ksh_ad_sai_flg", getKysAddSaiFlg(workArea.getKshadd_cmf()));
		// 機器設置先電話番号
		parentMap.put("kiki_stc_sk_telno", workArea.getUseplace_telno());
		// SYSID
		parentMap.put("sysid", workArea.getSysid());
		// 販売種別コード :標準（新品）
		parentMap.put("hambai_sbt_cd", JFUStrConst.CD00348_10);
		// 配送区分
		parentMap.put("haiso_div", JFUStrConst.CD00020_00);
		// 機器送付先住所手動入力フラグ
		parentMap.put("kiki_shs_ad_man_input_flg", JFUStrConst.CD01239_0);

		// 機器引当指定倉庫コード("000001")
		parentMap.put("kiki_hkat_shitei_soko_cd", KIKI_SOUKO_MINATO);
		// 機器引当指定倉庫棚コード("000")
		parentMap.put("kiki_hkat_shitei_skdn_cd", workArea.getShelf_cd());
		// 機器送付先個別指定フラグ
		parentMap.put("kiki_shs_kbt_shitei_flg", JFUStrConst.KK0341_KIKI_SHS_KBT_SHITEI_FLG_1);
		// 住所未確定フラグ
		parentMap.put("ad_mi_fix_flg", getAdMiFixFlg(workArea.getSetplace_bnchi()));
		// 宅内機器種別コード("E0")
		parentMap.put("taknkiki_sbt_cd", JFUStrConst.TKNI_KIKI_SBT_CD_E0);
		// 機器送付先住所手動入力フラグ
		parentMap.put("kiki_shs_ad_man_input_flg", JFUStrConst.CD01239_0);

		param.setData("EKK0341D010Vonu", parentMap);

		return param;
	}

	/**
	 * 機器提供サービス＜eo光電話＞の上りマッピング
	 * 
	 * @param workArea
	 * @param param
	 * @return
	 * @throws Exception
	 */
	@SuppressWarnings("unchecked")
	public IRequestParameterReadWrite setEKK0341D01002(JFUMkmInfoAddFrontiaWorkArea workArea, IRequestParameterReadWrite param) throws Exception
	{
		ArrayList list = null;
		HashMap childMap = null;

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 電話コース取得
		String telNoSvc = workArea.getEotel_course();

		list = new ArrayList();

		childMap = new HashMap();

		// 共通情報のマッピング
		childMap.put(FUNC_CODE, JPCModelConstant.FUNC_CD_1);

		// 機器提供サービスコード(eo光多機能ルーター)
		childMap.put("kktk_svc_cd", JFUStrConst.KK0771_KKTK_SVC_CD_C024);

		// 1番号サービス
		if (telNoSvc.equals(JFUStrConst.TEL_COURSE_1BANGOU_SVC))
		{
			// →料金コースコード C04（VA１ポート)
			childMap.put("pcrs_cd", JFUStrConst.CD00134_C94);
			// →料金プランコード PC0401（VA1ポート 定額プラン )
			childMap.put("pplan_cd", JFUStrConst.CD00565_PC9401);

		}
		// 2番号サービス
		else if (telNoSvc.equals(JFUStrConst.TEL_COURSE_2BANGOU_SVC))
		{
			// →料金コースコード C05（VA２ポート)
			childMap.put("pcrs_cd", JFUStrConst.CD00134_C94);
			// →料金プランコード PC0501（VA2ポート 定額プラン )
			childMap.put("pplan_cd", JFUStrConst.CD00565_PC9401);

		}

		// 機器提供種別コード
		childMap.put("kktk_sbt_cd", JFUStrConst.CD00212_02);
		// 親契約識別コード(サービス契約回線内訳)
		childMap.put("oya_kei_skbt_cd", JFUStrConst.CD00804_02);
		// サービス契約回線内訳番号
		childMap.put("svc_kei_kaisen_ucwk_no", workArea.getSvc_kei_kaisen_ucwk_no());

		// 契約者機器送付先名
		// 機器送付先カナ名
		if (JFUStrConst.KEI_SBT_KOJINCD.equals(workArea.getKei_sbt()))
		{
			childMap.put("kiki_sohus_nm", workArea.getKshnm());
			childMap.put("kiki_sohus_kana", workArea.getKshkn());
		} else if (JFUStrConst.KEI_SBT_HOJINCD.equals(workArea.getKei_sbt()))
		{
			childMap.put("kiki_sohus_nm", workArea.getHojinnm());
			childMap.put("kiki_sohus_kana", workArea.getHojinkn());
		}
		// 機器送付先郵便番号
		childMap.put("kiki_sohus_pcd", workArea.getZip());
		// 機器送付先住所補記・建物名
		childMap.put("kiki_sohus_adrttm", workArea.getAdd4());
		// 機器送付先住所補記・部屋番号
		childMap.put("kiki_sohus_adrrm", workArea.getAdd5());
		// 機器送付先電話番号
		childMap.put("kiki_sohus_telno", workArea.getUseplace_telno());
		// 機器送付先＿契約者住所差異フラグ
		childMap.put("kiki_sohus_ksh_ad_sai_flg", getKysAddSaiFlg(workArea.getKshadd_cmf()));
		// マンション物件番号
		childMap.put("mansion_bukken_no", workArea.getW_mansion_bukken_no());
		// 機器設置先郵便番号
		childMap.put("kiki_stc_saki_pcd", workArea.getZip());
		// 機器設置先住所補記・建物名
		childMap.put("kiki_stc_saki_adrttm", workArea.getAdd4());
		// 機器設置先住所補記・部屋番号
		childMap.put("kiki_stc_saki_adrrm", workArea.getAdd5());
		// 機器設置先＿契約者住所差異フラグ
		childMap.put("kiki_stc_sk_ksh_ad_sai_flg", getKysAddSaiFlg(workArea.getKshadd_cmf()));
		// 機器設置先電話番号
		childMap.put("kiki_stc_sk_telno", workArea.getUseplace_telno());
		// 異動区分
		childMap.put(IDO_DIV, JFUStrConst.CD00576_00001);
		// SYSID
		childMap.put("sysid", workArea.getSysid());
		// 販売種別コード
		childMap.put("hambai_sbt_cd", JFUStrConst.CD00348_10);
		// 配送区分
		childMap.put("haiso_div", JFUStrConst.CD00020_00);
		// 機器引当指定倉庫コード("000001")
		childMap.put("kiki_hkat_shitei_soko_cd", KIKI_SOUKO_MINATO);
		// 機器引当指定倉庫棚コード("000")
		childMap.put("kiki_hkat_shitei_skdn_cd", workArea.getShelf_cd());
		// 住所未確定フラグ
		childMap.put("ad_mi_fix_flg", getAdMiFixFlg(workArea.getSetplace_bnchi()));
		// 機器送付先個別指定フラグ
		childMap.put("kiki_shs_kbt_shitei_flg", JFUStrConst.KK0341_KIKI_SHS_KBT_SHITEI_FLG_1);
		// 宅内機器種別コード("R0")
		childMap.put("taknkiki_sbt_cd", JFUStrConst.TKNI_KIKI_SBT_CD_RD);
		// 機器送付先住所手動入力フラグ
		childMap.put("kiki_shs_ad_man_input_flg", JFUStrConst.CD01239_0);

		list.add(childMap);

		// マンションの場合
		if (JFUMkmInfoAddFrontiaConstCC.SERVICE_SBT_MT.equals(workArea.getService_sbt()))
		{
			setMnsKikiSohus(workArea, childMap);
			// 契約者住所を機器送付先にするためフラグを設定
			parentMap.put("MSKM_MNS_TYPE", "1");
		}

		parentMap.put("EKK0341D010TelList", list);
		param.setData("EKK0341D010Tel", parentMap);

		return param;
	}

	/**
	 * データ抽出項目コード登録CC上りマッピング
	 * 
	 * @param workArea
	 * @param param
	 * @return
	 * @throws Exception
	 */
	@SuppressWarnings("unchecked")
	public IRequestParameterReadWrite setFUSV016034CC(JFUMkmInfoAddFrontiaWorkArea workArea, IRequestParameterReadWrite param) throws Exception
	{

		HashMap<String, Object> parentMap = new HashMap<String, Object>();
		ArrayList addDchsKmCdList = new ArrayList();

		for (Map<String, Object> tmpMap : workArea.getCampaign_cd_list())
		{
			String campaign_sbt_cd = (String) tmpMap.get(JFUMkmInfoAddFrontiaConstCC.CAMPAIGN_SBT_CD);
//			String campaign_shori_kbn = (String) tmpMap.get(JFUMkmInfoAddFrontiaConstCC.CAMPAIGN_SHORI_KBN);
			// キャンペーン種別コードが 1：汎用 の場合に設定）
			if ("1".equals(campaign_sbt_cd))
			{
				HashMap<String, Object> dtCdMap = new HashMap<String, Object>();
				dtCdMap.put(CHK_TERM, JFUStrConst.CD00002_0);
				// チェック用料金グループコード
//				dtCdMap.put(CHK_PRC_GRP_CD, JFUStrConst.CD00133_02);
				dtCdMap.put(CHK_PRC_GRP_CD, "");
//				String netCourse = workArea.getNet_course();
				// チェック用料金コースコード
//				dtCdMap.put(CHK_PCRS_CD, JFUMkmInfoAddUtil.getPcrsCdHomeNet(netCourse));
				dtCdMap.put(CHK_PCRS_CD, "");
				// チェック用料金プランコード 
//				dtCdMap.put(CHK_PPLAN_CD, JFUMkmInfoAddUtil.getPplanCdHomeNet(netCourse));
				dtCdMap.put(CHK_PPLAN_CD, "");
				// サービス契約番号
				dtCdMap.put(SVC_KEI_NO, workArea.getSvc_kei_no_net());
				// 申込明細番号
				dtCdMap.put(MSKM_DTL_NO, workArea.getMskm_dtl_no_net());
				// SYSID
				dtCdMap.put(SYSID, workArea.getSysid());
				// データ抽出項目コード
				dtCdMap.put(ADDDCHSKMCD, tmpMap.get(JFUMkmInfoAddFrontiaConstCC.CAMPAIGN_SVC_CD));
				// 即時適用フラグ
				dtCdMap.put(APLY_JUN, JFUStrConst.CD00403_1);
				// 異動区分
				dtCdMap.put(IDO_DIV, JFUStrConst.CD00576_00001);
				// 検索最大件数
				dtCdMap.put(MAX_SEARCH_NUM, JFUStrConst.MAX_SEARCH_NUM);
				// データ抽出項目設定登録契機コード
				dtCdMap.put(DCHSKMST_ADD_OPTY_CD, JFUStrConst.CD00874_2);

				addDchsKmCdList.add(dtCdMap);
			}
		}
		
		// リストをパラメータに設定
		parentMap.put(ADDDCHSKMCDLIST, addDchsKmCdList);
		param.setData(JFUADDDCHSKMCDCCMAP, parentMap);

		return param;
	}

	/**
	 * 割引サービスコード登録CC上りマッピング
	 * 
	 * @param workArea
	 * @param param
	 * @param camp_chk_list_netsvc
	 * @return
	 * @throws Exception
	 */
	@SuppressWarnings("unchecked")
	public IRequestParameterReadWrite setFUSV016033CC(JFUMkmInfoAddFrontiaWorkArea workArea, IRequestParameterReadWrite param, String[] camp_chk_list_netsvc) throws Exception
	{
		HashMap<String, Object> parentMap = new HashMap<String, Object>();
		ArrayList addWribSvcCdList = new ArrayList();

		if (!JFUMkmInfoAddFrontiaConstCC.SERVICE_SBT_MT.equals(workArea.getService_sbt()))
		{
			HashMap<String, Object> wribSvcMap = new HashMap<String, Object>();

			if (workArea.getEonet())
			{
				wribSvcMap = new HashMap();

				// シンプルプラン、タイプＮは登録しない
				if (!JFUStrConst.PCRS_CD_SIMPLE.contains(JFUMkmInfoAddFrontiaUtil.getPcrsCdNet(workArea)) && !JFUMkmInfoAddFrontiaUtil.isTypeN(workArea))
				{
					// 即割用割引サービスコードを格納する
					if ("1".equals(workArea.getNet_sokuwari()))
					{
						wribSvcMap.put("addWribSvcCd", "W00000021");
					} else {
						wribSvcMap.put("addWribSvcCd", "W00000011");
					}

					// SYSID
					wribSvcMap.put("sysid", "");

					// 即時適用フラグ
					wribSvcMap.put("aply_jun", JFUStrConst.CD00403_1);

					// 異動区分
					wribSvcMap.put(IDO_DIV, JFUStrConst.CD00576_00001);

					// 検索最大件数
					wribSvcMap.put("max_search_num", JFUStrConst.MAX_SEARCH_NUM);

					// 手動で登録する場合は割引登録契機コードは2
					wribSvcMap.put("wrib_add_opty_cd", JFUStrConst.CD00874_2);

					// 料金コースコード
					wribSvcMap.put("pcrs_cd", "");

					// 料金プランコード
					wribSvcMap.put("pplan_cd", "");

					addWribSvcCdList.add(wribSvcMap);
				}

				/**
				 * 長割
				 */

				// 長割の割引サービスコードが取得できた場合
				if ("1".equals(workArea.getNet_chowari()))
				{
					wribSvcMap = new HashMap();
					// 長割用割引サービスコードを格納する
					wribSvcMap.put("addWribSvcCd", "W00000041");

					// SYSID
					wribSvcMap.put("sysid", "");

					// 即時適用フラグ
					wribSvcMap.put("aply_jun", JFUStrConst.CD00403_1);

					// 異動区分
					wribSvcMap.put(IDO_DIV, JFUStrConst.CD00576_00001);

					// 検索最大件数
					wribSvcMap.put("max_search_num", JFUStrConst.MAX_SEARCH_NUM);

					// 割引登録契機コード
					wribSvcMap.put("wrib_add_opty_cd", JFUStrConst.CD00874_2); // No388 Otsuka 2013/02/18

					// 料金コースコード
					wribSvcMap.put("pcrs_cd", "");

					// 料金プランコード
					wribSvcMap.put("pplan_cd", "");

					// 割引サービス契約自動継続識別コード
					wribSvcMap.put("wrib_svc_kei_at_keizk_skcd", workArea.getAuto_keizoku());

					addWribSvcCdList.add(wribSvcMap);
				}
			}
		}
		else
		{
			// マンションの場合
			if (workArea.getEonet())
			{
				// ネット申し込みがある場合
				// マンション割引サービスコードの個数を取得
				List<Map<String, Object>> netMansCampaignList = workArea.getW_net_mans_campaign_list();

				if (netMansCampaignList != null && netMansCampaignList.size() > 0)
				{
					for (int i = 0; i < netMansCampaignList.size(); i++)
					{
						Map<String, Object> netMansCampaignMap = netMansCampaignList.get(i);

						String netMansWribSvcCd = (String)netMansCampaignMap.get(JFUMkmInfoAddFrontiaConstCC.NET_MANS_WRIB_SVC_CD);

						if (!JFUBPCommon.isNull(netMansWribSvcCd))
						{
							// マンション割引サービスコード

							HashMap<String, Object> wribSvcMap = new HashMap<String, Object>();

							// 割引サービスコード
							wribSvcMap.put("addWribSvcCd", netMansWribSvcCd);

							// SYSID
							wribSvcMap.put("sysid", workArea.getSysid());

							// 即時適用フラグ 適用する
							wribSvcMap.put("aply_jun", JFUStrConst.CD00403_1);

							// 異動区分
							wribSvcMap.put("ido_div", JFUStrConst.CD00576_00001);

							// 検索最大件数
							wribSvcMap.put("max_search_num", JFUStrConst.MAX_SEARCH_NUM);

							// 割引登録契機コード
							wribSvcMap.put("wrib_add_opty_cd", JFUStrConst.CD00874_2);

							// 料金コースコード
							wribSvcMap.put("pcrs_cd", "");

							// 料金プランコード
							wribSvcMap.put("pplan_cd", "");

							addWribSvcCdList.add(wribSvcMap);
						}
					}
				}
			}

			if (workArea.getEotv())
			{
				// テレビ申し込みがある場合
				// マンション割引サービスコードの個数を取得
				List<Map<String, Object>> tvMansCampaignList = workArea.getW_tv_mans_campaign_list();

				if (tvMansCampaignList != null && tvMansCampaignList.size() > 0)
				{
					for (int i = 0; i < tvMansCampaignList.size(); i++)
					{
						Map<String, Object> tvMansCampaignMap = tvMansCampaignList.get(i);

						String tvMansWribSvcCd = (String)tvMansCampaignMap.get(JFUMkmInfoAddFrontiaConstCC.TV_MANS_WRIB_SVC_CD);

						if (!JFUBPCommon.isNull(tvMansWribSvcCd))
						{
							// マンション割引サービスコード

							HashMap<String, Object> wribSvcMap = new HashMap<String, Object>();

							// 割引サービスコード
							wribSvcMap.put("addWribSvcCd", tvMansWribSvcCd);

							// SYSID
							wribSvcMap.put("sysid", workArea.getSysid());

							// 即時適用フラグ 適用する
							wribSvcMap.put("aply_jun", JFUStrConst.CD00403_1);

							// 異動区分
							wribSvcMap.put("ido_div", JFUStrConst.CD00576_00001);

							// 検索最大件数
							wribSvcMap.put("max_search_num", JFUStrConst.MAX_SEARCH_NUM);

							// 割引登録契機コード
							wribSvcMap.put("wrib_add_opty_cd", JFUStrConst.CD00874_2);

							// 料金コースコード
							wribSvcMap.put("pcrs_cd", "");

							// 料金プランコード
							wribSvcMap.put("pplan_cd", "");

							addWribSvcCdList.add(wribSvcMap);
						}
					}
				}
			}
		}

		
		for (Map<String, Object> tmpMap : workArea.getCampaign_cd_list())
		{
			String campaign_shori_kbn = (String) tmpMap.get(JFUMkmInfoAddFrontiaConstCC.CAMPAIGN_SHORI_KBN);
			String campaign_sbt_cd = (String) tmpMap.get(JFUMkmInfoAddFrontiaConstCC.CAMPAIGN_SBT_CD);
			String campaign_svc_cd = (String) tmpMap.get(JFUMkmInfoAddFrontiaConstCC.CAMPAIGN_SVC_CD);
			// キャンペーン種別コードが 2：割引キャンペーン の場合に設定）
			if ("2".equals(campaign_sbt_cd))
			{
				HashMap<String, Object> wariMap = new HashMap<String, Object>();
				// 適用期間チェックしない
				wariMap.put(CHK_TERM, JFUStrConst.CD00002_0);
				// チェック用料金グループコード
//				wariMap.put(CHK_PRC_GRP_CD, JFUStrConst.CD00133_02);
				wariMap.put(CHK_PRC_GRP_CD, "");
//				String netCourse = workArea.getNet_course();
				// チェック用料金コースコード
//				wariMap.put(CHK_PCRS_CD, JFUMkmInfoAddUtil.getPcrsCdHomeNet(netCourse));
				wariMap.put(CHK_PCRS_CD, "");
				// チェック用料金プランコード 
//				wariMap.put(CHK_PPLAN_CD, JFUMkmInfoAddUtil.getPplanCdHomeNet(netCourse));
				wariMap.put(CHK_PPLAN_CD, "");
				if (Arrays.asList(camp_chk_list_netsvc).contains(campaign_svc_cd)) {
					// サービス契約番号
					wariMap.put(SVC_KEI_NO, workArea.getSvc_kei_no_net());
					// 申込明細番号
					wariMap.put(MSKM_DTL_NO, workArea.getMskm_dtl_no_net());
					// 更新日時
					//TODO
					wariMap.put(UPD_DTM, "");
				}
				// SYSID
				wariMap.put(SYSID, workArea.getSysid());
				// 割引サービスコード
				wariMap.put(ADDWRIBSVCCD, campaign_svc_cd);
				// 即時適用フラグ
				wariMap.put(APLY_JUN, JFUStrConst.CD00403_1);
				// 異動区分
				wariMap.put(IDO_DIV, JFUStrConst.CD00576_00001);
				// 検索最大件数
				wariMap.put(MAX_SEARCH_NUM, JFUStrConst.MAX_SEARCH_NUM);
				// 割引登録契機コード
				wariMap.put(WRIB_ADD_OPTY_CD, JFUStrConst.CD00874_2);

				addWribSvcCdList.add(wariMap);
			}
		}

		// リストをパラメータに設定
		parentMap.put(ADDWRIBSVCLIST, addWribSvcCdList);
		param.setData(JFUADDWRIBSVCCCMAP, parentMap);
		
		return param;
	}

	/**
	 * 割引サービス自動適用CC上りマッピング
	 * 
	 * @param workArea
	 * @param param
	 * @return
	 * @throws Exception
	 */
	@SuppressWarnings("unchecked")
	public IRequestParameterReadWrite setJKKWrisvcAutoAplyCC(JFUMkmInfoAddFrontiaWorkArea workArea, IRequestParameterReadWrite param) throws Exception
	{
		
		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// サービス契約グループリストマップ
		HashMap<String, Object> svcKeiGrpListMap = new HashMap<String, Object>();

		// サービス契約グループリスト
		ArrayList svcKeiGrpList = new ArrayList();

		// SYSID
		parentMap.put(SYSID, workArea.getSysid());
		// 登録／変更区分 "01"
		parentMap.put(ADD_CHGE_DIV, "01");
		// 申込番号
		parentMap.put(MSKM_NO, workArea.getMskm_no());
		// 申込種別コード
		parentMap.put(MSKM_SBT_CD, "00001");
		// 異動区分
		parentMap.put(IDO_DIV, JFUStrConst.CD00576_00001);
		// 機能コード
		parentMap.put(FUNC_CODE, JPCModelConstant.FUNC_CD_1);
		// サービス契約グループリスト.グループ区分
		svcKeiGrpListMap.put(GRP_DIV, "00");
		// サービス契約グループリスト ← サービス契約グループリストマップ
		svcKeiGrpList.add(svcKeiGrpListMap);

		// サービス契約グループリストマップからサービス契約リスト取得
		ArrayList svcKeiList = new ArrayList();

		// ネットの申込がある場合
		if (workArea.getEonet())
		{
			// サービス契約リストマップ
			HashMap svcKeiListMap = new HashMap();

			// 対象契約識別コード
			svcKeiListMap.put("tg_kei_skbt_cd", "01");
			// サービス契約番号
			svcKeiListMap.put("svc_kei_no", workArea.getSvc_kei_no_net());
			// サービス契約ステータス 受付済み
			svcKeiListMap.put("svc_kei_stat", JFUStrConst.CD00037_010);
			// サービスコード インターネットサービス
			svcKeiListMap.put("svc_cd", JFUStrConst.CD00130_01);
			// 料金グループコード
			svcKeiListMap.put("prc_grp_cd", JFUMkmInfoAddFrontiaUtil.getNetPrcGrpCd(workArea));

			// 料金コースコード
			svcKeiListMap.put("pcrs_cd", JFUMkmInfoAddFrontiaUtil.getPcrsCdNet(workArea));
			// 料金プランコード
			svcKeiListMap.put("pplan_cd", JFUMkmInfoAddFrontiaUtil.getPplanCdNet(workArea));
			// サービス契約リストにサービス契約リストマップを格納する
			svcKeiList.add(svcKeiListMap);
		}

		// 電話の申込がある場合
		if (workArea.getEotel())
		{
			// サービス契約リストマップ
			HashMap svcKeiListMap = new HashMap();
			if ("1".equals(workArea.getEotel_course()))
			{
				svcKeiListMap = new HashMap();
				// 対象契約識別コード
				svcKeiListMap.put("tg_kei_skbt_cd", "01");
				// サービス契約番号
				svcKeiListMap.put("svc_kei_no", workArea.getSvc_kei_no_tel());

				// サービス契約ステータス 受付済み
				svcKeiListMap.put("svc_kei_stat", JFUStrConst.CD00037_010);
				// サービスコード 電話サービス
				svcKeiListMap.put("svc_cd", JFUStrConst.CD00130_02);
				// 料金グループコード
				svcKeiListMap.put("prc_grp_cd", JFUStrConst.CD00133_10);
				// 料金コースコード
				svcKeiListMap.put("pcrs_cd", JFUStrConst.CD00134_A31);
				// 料金プランコード
				if (JFUMkmInfoAddFrontiaConstCC.SERVICE_SBT_HT.equals(workArea.getService_sbt()))
				{
					// サービス種別が「1：ホーム」
					svcKeiListMap.put("pplan_cd", JFUStrConst.CD00565_PA3101);
				}
				else if (JFUMkmInfoAddFrontiaConstCC.SERVICE_SBT_MZ.equals(workArea.getService_sbt()))
				{
					// サービス種別が「2：メゾン」
					svcKeiListMap.put("pplan_cd", JFUStrConst.CD00565_PA3103);
				}
				else if (JFUMkmInfoAddFrontiaConstCC.SERVICE_SBT_MT.equals(workArea.getService_sbt()))
				{

					// フロント用提供方式パターンコードを取得
					String fuTeikyoHoshikiPtnCd = JFUMkmInfoAddUtil.getFuTeikyoHoshikiPtnCd(workArea.getW_tk_hoshiki_cd(), workArea.getW_tk_prc_sbt_cd());

					if (JFUStrConst.TK_HOSHIKI_PTN_HIKARI_HAISEN.equals(fuTeikyoHoshikiPtnCd))
					{
						// 光配線
						// 料金プランコード
						svcKeiListMap.put("pplan_cd", JFUStrConst.CD00565_PA3104);
					}
					else
					{
						// 光配線以外
						svcKeiListMap.put("pplan_cd", JFUStrConst.CD00565_PA3102);
					}
				}				
				// サービス契約リストにサービス契約リストマップを格納する
				svcKeiList.add(svcKeiListMap);
			}
			if ("2".equals(workArea.getEotel_course()))
			{
				svcKeiListMap = new HashMap();
				// 対象契約識別コード
				svcKeiListMap.put("tg_kei_skbt_cd", "01");
				// サービス契約番号
				svcKeiListMap.put("svc_kei_no", workArea.getSvc_kei_no_tel());

				// サービス契約ステータス 受付済み
				svcKeiListMap.put("svc_kei_stat", JFUStrConst.CD00037_010);
				// サービスコード 電話サービス
				svcKeiListMap.put("svc_cd", JFUStrConst.CD00130_02);
				// 料金グループコード
				svcKeiListMap.put("prc_grp_cd", JFUStrConst.CD00133_10);
				// 料金コースコード
				svcKeiListMap.put("pcrs_cd", JFUStrConst.CD00134_A32);
				// 料金プランコード
				if (JFUMkmInfoAddFrontiaConstCC.SERVICE_SBT_HT.equals(workArea.getService_sbt()))
				{
					// サービス種別が「1：ホーム」
					svcKeiListMap.put("pplan_cd", JFUStrConst.CD00565_PA3201);
				}
				else if (JFUMkmInfoAddFrontiaConstCC.SERVICE_SBT_MZ.equals(workArea.getService_sbt()))
				{
					// サービス種別が「2：メゾン」
					svcKeiListMap.put("pplan_cd", JFUStrConst.CD00565_PA3203);
				}
				else if (JFUMkmInfoAddFrontiaConstCC.SERVICE_SBT_MT.equals(workArea.getService_sbt()))
				{

					// フロント用提供方式パターンコードを取得
					String fuTeikyoHoshikiPtnCd = JFUMkmInfoAddUtil.getFuTeikyoHoshikiPtnCd(workArea.getW_tk_hoshiki_cd(), workArea.getW_tk_prc_sbt_cd());

					if (JFUStrConst.TK_HOSHIKI_PTN_HIKARI_HAISEN.equals(fuTeikyoHoshikiPtnCd))
					{
						// 光配線
						// 料金プランコード
						svcKeiListMap.put("pplan_cd", JFUStrConst.CD00565_PA3204);
					}
					else
					{
						// 光配線以外
						svcKeiListMap.put("pplan_cd", JFUStrConst.CD00565_PA3202);
					}
				}

				// サービス契約リストにサービス契約リストマップを格納する
				svcKeiList.add(svcKeiListMap);
			}
		}
		
		// テレビの申込がある場合
		if (workArea.getEotv())
		{
			// サービス契約リストマップ
			HashMap svcKeiListMap = new HashMap();

			// 対象契約識別コード
			svcKeiListMap.put("tg_kei_skbt_cd", "01");
			// サービス契約番号
			svcKeiListMap.put("svc_kei_no", workArea.getSvc_kei_no_tv());

			// サービス契約ステータス 受付済み
			svcKeiListMap.put("svc_kei_stat", JFUStrConst.CD00037_010);
			// サービスコード テレビサービス
			svcKeiListMap.put("svc_cd", JFUStrConst.CD00130_03);
			// 料金グループコード
			svcKeiListMap.put("prc_grp_cd", JFUStrConst.CD00133_11);
			if (JFUStrConst.EO_TV_COURSE_BS.equals(workArea.getEo_tv_course())
					|| JFUStrConst.EO_TV_COURSE_BS_STAR.equals(workArea.getEo_tv_course()))
			{
				// 地デジＢＳ
				// 料金コースコード
				svcKeiListMap.put("pcrs_cd", JFUStrConst.CD00134_A37);
				// 料金プランコード
				svcKeiListMap.put("pplan_cd", JFUStrConst.CD00565_PA3701);
			}
			else if (JFUStrConst.EO_TV_COURSE_BASIC.equals(workArea.getEo_tv_course()))
			{
				// ＨＤ
				// 料金コースコード
				svcKeiListMap.put("pcrs_cd", JFUStrConst.CD00134_A39);
				// 料金プランコード
				svcKeiListMap.put("pplan_cd", JFUStrConst.CD00565_PA3901);
			}
// ANK-4592-00-00 ADD START
			else if (JFUStrConst.EO_TV_COURSE_CS_BAS.equals(workArea.getEo_tv_course()))
			{
				// CSベーシック
				// 料金コースコード
				svcKeiListMap.put("pcrs_cd", JFUStrConst.CD00134_AC0);
				// 料金プランコード
				svcKeiListMap.put("pplan_cd", JFUStrConst.CD00565_PAC001);
			}
			else if (JFUStrConst.EO_TV_COURSE_CS_PRE.equals(workArea.getEo_tv_course()))
			{
				// CSプレミアム
				// 料金コースコード
				svcKeiListMap.put("pcrs_cd", JFUStrConst.CD00134_AC1);
				// 料金プランコード
				svcKeiListMap.put("pplan_cd", JFUStrConst.CD00565_PAC101);
			}
// ANK-4592-00-00 ADD END
			// サービス契約リストにサービス契約リストマップを格納する
			svcKeiList.add(svcKeiListMap);
		}

		// サービス契約グループリストマップにサービス契約リストを設定する
		svcKeiGrpListMap.put("svc_kei_list", svcKeiList);

		// 親マップ ← サービス契約グループリスト
		parentMap.put(SVC_KEI_GRP_LIST, svcKeiGrpList);

		// 工事費割賦操作ステータス
		if (!JFUBPCommon.isNull(workArea.getStdard_kojihi_payway()))
		{
			parentMap.put(KOJIHI_KAP_OPERATE_STAT, KOJIHI_KAP_OPERATE_STAT_1);
		}

		param.setData(JKKWRISVCAUTOAPLYCCMAP, parentMap);

		return param;
	}

	/**
	 * 申込_代理店登録CC上りマッピング
	 * 
	 * @param workArea
	 * @param param
	 * @return
	 * @throws Exception
	 */
	public IRequestParameterReadWrite setJFUAddAgntCC(JFUMkmInfoAddFrontiaWorkArea workArea, IRequestParameterReadWrite param) throws Exception
	{

		LinkedHashMap<String, String> agntCdMap = new LinkedHashMap<String, String>();

		if (!JFUBPCommon.isNull(workArea.getTrat_cd_1_1()))
		{
			agntCdMap.put(JFUStrConst.DSP_JUN_1, workArea.getTrat_cd_1_1());
		}

		if (!JFUBPCommon.isNull(workArea.getTrat_cd_1_2()))
		{
			agntCdMap.put(JFUStrConst.DSP_JUN_2, workArea.getTrat_cd_1_2());
		}

		if (!JFUBPCommon.isNull(workArea.getTrat_cd_2_1()))
		{
			agntCdMap.put(JFUStrConst.DSP_JUN_3, workArea.getTrat_cd_2_1());
		}

		if (!JFUBPCommon.isNull(workArea.getTrat_cd_2_2()))
		{
			agntCdMap.put("4", workArea.getTrat_cd_2_2());
		}

		Set<Entry<String, String>> agntCdMapSet = agntCdMap.entrySet();

		int count = 1;
		for (Iterator<Entry<String, String>> iterator = agntCdMapSet.iterator(); iterator.hasNext();)
		{
			Entry<String, String> agntCdMapEntry = (Entry<String, String>)iterator.next();

			HashMap<String, Object> parentMap = new HashMap<String, Object>();
			// 共通情報のマッピング
			parentMap.put(FUNC_CODE, JPCModelConstant.FUNC_CD_1);

			// 代理店コード
			parentMap.put("agnt_cd", agntCdMapEntry.getValue());
			parentMap.put("dsp_jun", agntCdMapEntry.getKey());

			param.setData("EKK0071D010_" + String.valueOf(count), parentMap);
			count++;
		}
		return param;
	}
	
	/**
	 * 申込画面入力支援ワーク登録上がりマッピング
	 * 
	 * @param workArea
	 * @param param
	 * @return
	 * @throws RequestParameterException 
	 */
	public IRequestParameterReadWrite setEKK2201D010(JFUMkmInfoAddFrontiaWorkArea workArea, IRequestParameterReadWrite param) throws RequestParameterException
	{

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, JPCModelConstant.FUNC_CD_1);

		// 電話コース取得
		String telNoSvc = workArea.getEotel_course();

		// 追加元サービス契約番号
		parentMap.put("add_moto_svc_kei_no", "");

		// eo光ネットエリアチェック結果有無
		parentMap.put("eohnt_area_ckrlt_um", "");
		// eo光電話エリアチェック結果有無
		parentMap.put("eohtl_area_ckrlt_um", "");
		// eo光テレビエリアチェック結果有無
		parentMap.put("eohtv_area_ckrlt_um", "");
		// eo光ネットエリアチェック結果詳細コード
		parentMap.put("eohnt_area_ckrlt_dtail_cd", "");
		// eo光テレビエリアチェック結果詳細コード
		parentMap.put("eohtv_area_ckrlt_dtail_cd", "");

		// 緊急通報用契約者名＿契約者名差異フラグ1 (差異なし固定)
		parentMap.put("emgksh_nm_ksh_nm_sai_flg_1", JFUStrConst.SAI_FLG_SAI_NON);
		// 緊急通報用契約者名＿契約者名差異フラグ2 (差異なし固定)
		parentMap.put("emgksh_nm_ksh_nm_sai_flg_2", JFUStrConst.SAI_FLG_SAI_NON);
		
		// 回線場所＿契約者住所差異フラグ
		parentMap.put("kaisen_plc_ksh_ad_sai_flg", getKysAddSaiFlg(workArea.getKshadd_cmf()));
		// 申込優先連絡先識別コード
		parentMap.put("mkm_yusen_rrks_skbt_cd", MKM_YUSEN_RRKS_SKBT_CD_ELSE);
		// 機器送付先住所識別コード(機器書類送付先住所識別コードを設定)
		parentMap.put("kiki_shs_ad_skbt_cd", "1"); // ご利用場所と同じ 固定
// ANK-4640-00-00 MOD START
//		if (JFUMkmInfoAddFrontiaConstCC.SERVICE_SBT_MT.equals(workArea.getService_sbt()))
		// マンションまたは、typeNでeoメッシュWi-Fiの申込ありで、利用場所住所と異なる場合
		if (JFUMkmInfoAddFrontiaConstCC.SERVICE_SBT_MT.equals(workArea.getService_sbt()) ||
			("1".equals(workArea.getMesh_wifi()) && (JFUMkmInfoAddFrontiaUtil.isTypeN(workArea))) && "2".equals(workArea.getKshadd_cmf()))
// ANK-4640-00-00 MOD END
		{
			//マンション申し込みの場合
			parentMap.put("kiki_shs_ad_skbt_cd", "2"); // ご契約者住所(現住所)と同じ 固定
		}

		// 請求書送付先名＿お客様名差異フラグ
		parentMap.put("sks_shs_nm_cust_nm_sai_flg", "0");
		// 請求書送付先住所識別コード(書類送付先識別コード)
		parentMap.put("sks_shs_ad_skbt_cd", "2"); // ご契約者住所(現住所)と同じ 固定
		// -----番号ポータビリティ1番号目-----
		String use_bmp_1 = workArea.getUse_bmp_1();
		if ("1".equals(use_bmp_1))
		{
			// NTT契約者住所識別コード1( 契約者住所電話番号選択識別コードを設定)
			parentMap.put("ntt_kshad_skbt_cd_1", "3");
			// NTT契約者名＿契約者名差異フラグ1
			String bmp_kshnm_choice = workArea.getBmp_kshnm_choice_1();
			if("0".equals(bmp_kshnm_choice))
			{
				// 登録対応：0→1
				bmp_kshnm_choice = "1";
			}
			else if("1".equals(bmp_kshnm_choice))
			{
				// 登録対応：1→0
				bmp_kshnm_choice = "0";
			}
			parentMap.put("nkys_nm_ksh_nm_sai_flg_1", bmp_kshnm_choice); 
		}
		else
		{
			// NTT契約者住所識別コード1( 契約者住所電話番号選択識別コードを設定)
			parentMap.put("ntt_kshad_skbt_cd_1", "");
			// NTT契約者名＿契約者名差異フラグ1
			parentMap.put("nkys_nm_ksh_nm_sai_flg_1", "");
		}
		// -----番号ポータビリティ2番号目-----
		String use_bmp_2 = "";
		if (JFUStrConst.TEL_COURSE_2BANGOU_SVC.equals(telNoSvc))
		{
			use_bmp_2 = workArea.getUse_bmp_2();
		}

		if ("1".equals(use_bmp_2))
		{
			// 番号ポータビリティを使用している場合
			// NTT契約者住所識別コード2( 契約者住所電話番号選択識別コードを設定)
			parentMap.put("ntt_kshad_skbt_cd_2", "3");
			
			String bmp_kshnm_choice = workArea.getBmp_kshnm_choice_2();
			if("0".equals(bmp_kshnm_choice))
			{
				// 登録対応：0→1
				bmp_kshnm_choice = "1";
			}
			else if("1".equals(bmp_kshnm_choice))
			{
				// 登録対応：1→0
				bmp_kshnm_choice = "0";
			}
			parentMap.put("nkys_nm_ksh_nm_sai_flg_2", bmp_kshnm_choice); 
		}
		else
		{
			// NTT契約者住所識別コード2( 契約者住所電話番号選択識別コードを設定)
			parentMap.put("ntt_kshad_skbt_cd_2", "");
			// NTT契約者名＿契約者名差異フラグ2
			parentMap.put("nkys_nm_ksh_nm_sai_flg_2", "");
		}

		//電話1タブTDIS情報制御コード
		parentMap.put("tel_1_tab_tdis_if_ctl_cd", "0");
		//電話2タブTDIS情報制御コード
		parentMap.put("tel_2_tab_tdis_if_ctl_cd", "0");

		// モバイル機器送付先住所識別コード( 機器書類送付先住所識別コードを設定)
		parentMap.put("mbl_kiki_shs_ad_skbt_cd", "");

		parentMap.put("sikykeikn_custkn_sai_flg", "0");

		// eo光ネットエリアチェック結果有無フラグ
		String netAreaCheckFlg = "";
		// eo光電話エリアチェック結果有無フラグ
		String telAreaCheckFlg = "";
		// eo光テレビエリアチェック結果有無フラグ
		String tvAreaCheckFlg = "";
		// eo光ネットエリアチェック結果詳細コード
		String netAreaCheckCd = "";
		// eo光テレビエリアチェック結果詳細コード
		String tvAreaCheckCd = "";
		// PASCO情報を取得
		String g1mskm_flg = workArea.getFlag_1g();
		String g10mskm_flg = workArea.getFlag_10g();
		String tvFlg = workArea.getFlag_tv();
		String telFlg = workArea.getFlag_tel();

		if (JFUMkmInfoAddFrontiaConstCC.SERVICE_SBT_HT.equals(workArea.getService_sbt()))
		{
			// ネット
			if (JFUStrConst.MOBILE_10G_MSKM_PSB.equals(g10mskm_flg))
			{
				netAreaCheckFlg = PASCO_YES;
				netAreaCheckCd = PASCO_NET_DETAIL_10G;
			}
			else if (JFUStrConst.MOBILE_1G_MSKM_PSB.equals(g1mskm_flg))
			{
				netAreaCheckFlg = PASCO_YES;
				netAreaCheckCd = PASCO_NET_DETAIL_1G;
			}
			else
			{
				netAreaCheckFlg = PASCO_NOT;
			}
	
			// 電話
			if (JFUStrConst.TEL_MSKM_PSB_FLG_MSKM_PSB.equals(telFlg))
			{
				telAreaCheckFlg = PASCO_YES;
			}
			else
			{
				telAreaCheckFlg = PASCO_NOT;
			}
	
			// テレビ
			if (JFUStrConst.TV_MSKM_PSB_FLG_KCAT.equals(tvFlg))
			{
				tvAreaCheckFlg = PASCO_YES;
				tvAreaCheckCd = PASCO_TV_DETAIL_K_CAT;
			}
			else
			{
				tvAreaCheckFlg = PASCO_NOT;
			}
			// eo光ネットエリアチェック結果有無
			parentMap.put("eohnt_area_ckrlt_um", netAreaCheckFlg);
			// eo光電話エリアチェック結果有無
			parentMap.put("eohtl_area_ckrlt_um", telAreaCheckFlg);
			// eo光テレビエリアチェック結果有無
			parentMap.put("eohtv_area_ckrlt_um", tvAreaCheckFlg);
			// eo光ネットエリアチェック結果詳細コード
			parentMap.put("eohnt_area_ckrlt_dtail_cd", netAreaCheckCd);
			// eo光テレビエリアチェック結果詳細コード
			parentMap.put("eohtv_area_ckrlt_dtail_cd", tvAreaCheckCd);
		}
		
		param.setData("EKK2201D010", parentMap);

		return param;
	}

	/**
	 * おうちの機器補償サービス登録CCの上りマッピング
	 * 
	 * @param workArea
	 * @param param
	 * @param opeDate
	 * @return
	 * @throws Exception
	 */
	@SuppressWarnings("unchecked")	
	public IRequestParameterReadWrite setJKKTmcpOperateCC(JFUMkmInfoAddFrontiaWorkArea workArea, IRequestParameterReadWrite param, String opeDate)throws Exception
	{

		HashMap<String, Object> parentMap = new HashMap<String, Object>();
		HashMap<String, String> childMap = new HashMap<String, String>();
		
		// 機能コード
		parentMap.put(FUNC_CODE, JPCModelConstant.FUNC_CD_1);
		// 処理区分
		parentMap.put(SHORI_DIV, SHORI_DIV_2);
						
		// 異動区分
		parentMap.put(IDO_DIV, JFUStrConst.CD00576_00001);
		
		// 申込明細番号
		childMap.put(MSKM_DTL_NO, workArea.getMskm_dtl_no_net());
		
		// 申込年月日
		childMap.put(MKSM_YMD, opeDate);
		
		if (JFUStrConst.PC_PLN_MSKM.equals(workArea.getKk_comp_pc_mskm()))
		{
			// PCプランが"1"(申し込む)の場合、"1"（有）を設定
			childMap.put(PC_PLAN_TG_FLG, PLAN_MSKM);
			// PCプラン申込日
			childMap.put(PC_PLAN_MKSM_YMD, opeDate);
		}
		else
		{
			// 上記以外の場合、"0"（無）を設定
			childMap.put(PC_PLAN_TG_FLG, PLAN_NOT_MSKM);
			childMap.put(PC_PLAN_MKSM_YMD, "");
		}
		
		if (JFUStrConst.PCW_PLN_MSKM.equals(workArea.getKk_comp_pcw_mskm()))
		{
			// PCワイドプランが"1"(申し込む)の場合、"1"（有）を設定
			childMap.put(PC_PLAN_TG_FLG, PLAN_MSKM);
			// PCプラン申込日
			childMap.put(PC_PLAN_MKSM_YMD, opeDate);
			// PCワイドプランが"1"(申し込む)の場合、"1"（有）を設定
			childMap.put(PC_WIDE_PLAN_TG_FLG, PLAN_MSKM);
			// PCワイドプラン申込日
			childMap.put(PC_WIDE_PLAN_MKSM_YMD, opeDate);
		}
		else
		{
			// 上記以外の場合、"0"（無）を設定
			childMap.put(PC_WIDE_PLAN_TG_FLG, PLAN_NOT_MSKM);
			childMap.put(PC_WIDE_PLAN_MKSM_YMD, "");
		}
		
		 
		if (JFUStrConst.TV_PLN_MSKM.equals(workArea.getKk_comp_tv_mskm()))
		{
			// TVプランが"1"(申し込む)の場合、"1"（有）を設定
			childMap.put(TV_PLAN_TG_FLG, PLAN_MSKM);
			// TVプラン申込日
			childMap.put(TV_PLAN_MKSM_YMD, opeDate);
		}
		else
		{
			// 上記以外の場合、"0"（無）を設定
			childMap.put(TV_PLAN_TG_FLG, PLAN_NOT_MSKM);
			childMap.put(TV_PLAN_MKSM_YMD, "");
		}
		// 登録用情報リスト
		ArrayList addInfoList = new ArrayList();
		addInfoList.add(childMap);
		parentMap.put("add_info_list", addInfoList);
		
		param.setData("JKKTmcpOperateCC", parentMap);
		
		return param;
	}

	/**
	 * 紹介一意照会の上りマッピング
	 * 
	 * @param workArea
	 * @param param
	 * @return
	 * @throws Exception
	 */
	@SuppressWarnings("unchecked")
	public IRequestParameterReadWrite setFUSV016044SC(JFUMkmInfoAddFrontiaWorkArea workArea, IRequestParameterReadWrite param)
			throws Exception
	{

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, JPCModelConstant.FUNC_CD_1);

		// リダイレクト情報.紹介コード → 紹介一意照会.紹介コード
		parentMap.put("key_intr_cd", workArea.getRed_introduce());

		ArrayList arrayList = new ArrayList<HashMap>();
		HashMap detailMap = new HashMap();
		arrayList.add(detailMap);
		parentMap.put("EKK0311A010CBSMsg1List", arrayList);

		param.setData("EKK0311A010", parentMap);

		return param;
	}

	/**
	 * 紹介更新の上りマッピング
	 * 
	 * @param workArea
	 * @param param
	 * @return
	 * @throws Exception
	 */
	public IRequestParameterReadWrite setFUSV016043SC(JFUMkmInfoAddFrontiaWorkArea workArea, IRequestParameterReadWrite param)
			throws Exception
	{

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, JPCModelConstant.FUNC_CD_1);

		// リダイレクト情報.紹介コード → 紹介更新.紹介コード
		parentMap.put("intr_cd", workArea.getRed_introduce());

		// 契約者情報.氏名（姓）・氏名（名） → 紹介更新.被紹介者名
		if (JFUStrConst.KEI_SBT_KOJINCD.equals(workArea.getKei_sbt()))
		{
			parentMap.put("hishokai_nm", workArea.getKshnm());
		} else if (JFUStrConst.KEI_SBT_HOJINCD.equals(workArea.getKei_sbt()))
		{
			parentMap.put("hishokai_nm", workArea.getHojinnm());
		}

		// 契約者情報.個人メールアドレス → 紹介更新.被紹介者連絡先メールアドレス
		parentMap.put("hishokai_rrks_mlad", workArea.getMlad());

		param.setData("EKK0311C010", parentMap);

		return param;
	}

	/**
	 * 紹介一意照会の上りマッピング
	 * 
	 * @param workArea
	 * @param param
	 * @return
	 * @throws Exception
	 */
	public IRequestParameterReadWrite setFUSV015216SC(JFUMkmInfoAddFrontiaWorkArea workArea, IRequestParameterReadWrite param)
			throws Exception
	{

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, JPCModelConstant.FUNC_CD_1);

		// リダイレクト情報.クーポンコード → 紹介一意照会.紹介コード
		parentMap.put("key_intr_cd", workArea.getCoupon_cd());

		ArrayList arrayList = new ArrayList<HashMap>();
		HashMap detailMap = new HashMap();
		arrayList.add(detailMap);
		parentMap.put("EKK0311A010CBSMsg1List", arrayList);

		param.setData("EKK0311A010_01", parentMap);

		return param;
	}

	/**
	 * 紹介更新の上りマッピング
	 * 
	 * @param workArea
	 * @param param
	 * @return
	 * @throws Exception
	 */
	public IRequestParameterReadWrite setFUSV015218SC(JFUMkmInfoAddFrontiaWorkArea workArea, IRequestParameterReadWrite param)
			throws Exception
	{

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, JPCModelConstant.FUNC_CD_1);

		// リダイレクト情報.クーポンコード → 紹介更新.紹介コード
		parentMap.put("intr_cd", workArea.getCoupon_cd());

		param.setData("EKK0311C010_01", parentMap);

		return param;
	}

	/**
	 * コンテンツ申込情報登録 上がりマッピング
	 * 
	 * @param workArea
	 * @param param
	 * @return
	 * @throws RequestParameterException 
	 */
	@SuppressWarnings("unchecked")
	public IRequestParameterReadWrite setFUSV016046SC(JFUMkmInfoAddFrontiaWorkArea workArea, IRequestParameterReadWrite param) throws RequestParameterException
	{

		String mskm_no = workArea.getMskm_no();
		
		HashMap<String, Object> parentMap = new HashMap<String, Object>();
		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, JPCModelConstant.FUNC_CD_1);

		ArrayList list = new ArrayList();
		for (Map<String, Object> tmpMap : workArea.getCont_svc_list())
		{
			String cont_shori_kbn = (String) tmpMap.get(JFUMkmInfoAddFrontiaConstCC.CONT_SHORI_KBN);
			String cont_svc_cd = (String) tmpMap.get(JFUMkmInfoAddFrontiaConstCC.CONT_SVC_CD);
//			if ("1".equals(cont_shori_kbn))
//			{
				Map<String, Object> childMap = new HashMap<String, Object>();
				childMap.put(FUNC_CODE, JPCModelConstant.FUNC_CD_1);
				childMap.put("mskm_no", mskm_no);
				childMap.put("cont_svc_cd", cont_svc_cd);
				childMap.put("cont_mkm_inf_stcd", "01");
				list.add(childMap);
//			}
		}
			
		if (list.size() > 0)
		{
			parentMap.put("FUSV016046SCList", list);
			param.setData("FUSV016046SC", parentMap);
		}

		return param;
	}

	/**
	 * eoID入力情報登録CC 上がりマッピング
	 * 
	 * @param workArea
	 * @param param
	 * @return
	 * @throws Exception 
	 */
	public IRequestParameterReadWrite setJFUEoidInputInfoAddCC(JFUMkmInfoAddFrontiaWorkArea workArea, IRequestParameterReadWrite param) throws Exception
	{

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		String mlad = workArea.getMlad();
		
		String social_id = workArea.getSocial_id();
		String decrypt_social_id = JFUStrConst.EMPTY;
		if (!JFUBPCommon.isNull(social_id))
		{
			// ソーシャルIDの複合化
			String essKey = JFUCommonUtil.decryptKey("ENCRYPT_KEY", JCMAPLConstMgr.getString("FU_FRONTIA_MSKM_ENCRYPTION_KEY"));
			String essIv = JFUCommonUtil.decryptKey("ENCRYPT_KEY", JCMAPLConstMgr.getString("FU_FRONTIA_MSKM_ENCRYPTION_IV_KEY"));
			// 暗号キー
			String ck = JFUDecryptAES.decryptAES(essKey, essIv, workArea.getCk());

			decrypt_social_id = JFUDecryptAES.decryptAES(ck, essIv, social_id);
		}
		
		parentMap.put(FUNC_CODE, JPCModelConstant.FUNC_CD_1);
		parentMap.put("mode", "1");
		parentMap.put("eoid_pwd_aleady_hash", "1");
		String social_id_sbt = workArea.getSocial_id_sbt();
		parentMap.put("social_id_sbt", social_id_sbt);
		parentMap.put("sys_id", workArea.getSysid());
		parentMap.put("mskm_no", workArea.getMskm_no());
		if ("0".equals(social_id_sbt))
		{
			parentMap.put("eoid", workArea.getEoid());
			parentMap.put("eoid_pwd", workArea.getEoid_pwd());
			parentMap.put("social_id", "");
		} else {
			parentMap.put("social_id", decrypt_social_id);
			parentMap.put("eoid", "");
			parentMap.put("eoid_pwd", "");
		}
		parentMap.put("mlad", mlad);
		// 認証レベル "2"(2段階認証) 固定
		parentMap.put("authentication_level", "2");
		// ワンタイムキー送付先優先区分ル "1"(メール)" 固定
		parentMap.put("onetimekey_destination", "1");
		
		param.setData("JFUEoidInputInfoAddCC", parentMap);

		return param;
	}
	
	/**
	 * 機器提供サービス契約一覧照会の上りマッピング
	 * 
	 * @param workArea
	 * @param param
	 * @return
	 * @throws Exception
	 */
	public IRequestParameterReadWrite setEKK0341B002(JFUMkmInfoAddFrontiaWorkArea workArea, IRequestParameterReadWrite param) throws Exception
	{

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// サービス契約番号
		parentMap.put("key_svc_kei_no", "");
		//契約中サービス(ネット)
		parentMap.put("nowSvcNet", "");

		param.setData("EKK0341B002", parentMap);

		return param;
	}
	
	/**
	 * 機器提供サービス契約キャンセルの上りマッピング
	 * 
	 * @param workArea
	 * @param param
	 * @return
	 * @throws Exception
	 */
	public IRequestParameterReadWrite setEKK0341C330(JFUMkmInfoAddFrontiaWorkArea workArea, IRequestParameterReadWrite param) throws Exception
	{

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// サービスキャンセル理由コード
		parentMap.put("svc_cancel_rsn_cd", JFUStrConst.CD01390_20);
		// 異動区分
		parentMap.put(IDO_DIV, JFUStrConst.CD00576_00001);
		// 申込区分
		parentMap.put("mskmKbn", JFUStrConst.MSKM_KBN_NEW);

		param.setData("EKK0341C33002", parentMap);

		return param;
	}

	/**
	 * サービス契約<eo光ネット>一意照会の上りマッピング
	 * 
	 * @param workArea
	 * @param param
	 * @return
	 * @throws Exception
	 */
	public IRequestParameterReadWrite setEKK0091A010(JFUMkmInfoAddFrontiaWorkArea workArea, IRequestParameterReadWrite param) throws Exception
	{

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, JPCModelConstant.FUNC_CD_2);

		// サービス契約番号
		parentMap.put("key_svc_kei_no", "");

		param.setData("EKK0091A010", parentMap);

		return param;
	}

	/**
	 * エイジング対象登録の上りマッピング
	 * 
	 * @param workArea
	 * @param param
	 * @return
	 * @throws RequestParameterException 
	 */
	@SuppressWarnings("unchecked")
	public IRequestParameterReadWrite setEZM0111D010(JFUMkmInfoAddFrontiaWorkArea workArea, IRequestParameterReadWrite param) throws RequestParameterException
	{

		ArrayList list = new ArrayList();
		HashMap childMap = null;

		HashMap<String, Object> parentMap = new HashMap<String, Object>();
		
		if (!"1".equals(workArea.getUse_bmp_1()) && !"1".equals(workArea.getUse_bmp_2()))
		{
			return null;
		}

		if ("1".equals(workArea.getUse_bmp_1()))
		{
			childMap = new HashMap();
			// 共通情報のマッピング
			childMap.put(FUNC_CODE, JPCModelConstant.FUNC_CD_1);
			// エイジング種別コード
			childMap.put("aging_sbt_cd", JFUStrConst.CD00412_001);
			// エイジング対象値
			childMap.put("aging_tg_value", workArea.getBmp_telno_1());
			list.add(childMap);
		}
		if ("1".equals(workArea.getUse_bmp_2()))
		{
			childMap = new HashMap();
			// 共通情報のマッピング
			childMap.put(FUNC_CODE, JPCModelConstant.FUNC_CD_1);
			// エイジング種別コード
			childMap.put("aging_sbt_cd", JFUStrConst.CD00412_001);
			// エイジング対象値
			childMap.put("aging_tg_value", workArea.getBmp_telno_2());
			list.add(childMap);
		}
		
		parentMap.put("EZM0111D010List", list);
		param.setData("EZM0111D010", parentMap);

		return param;
	}
	
	/**
	 * Web申込内容登録済ステータス更新上がりマッピング
	 * 
	 * @param workArea
	 * @param param
	 * @param upd_dtm_bf
	 * @param opeDateTimeStamp
	 * @return
	 * @throws RequestParameterException 
	 */
	public IRequestParameterReadWrite setEFU0381C020(JFUMkmInfoAddFrontiaWorkArea workArea, IRequestParameterReadWrite param, String upd_dtm_bf, String opeDateTimeStamp) throws RequestParameterException
	{
		
		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, JPCModelConstant.FUNC_CD_1);

		parentMap.put("mskmsho_no", workArea.getMskmsho_no());
		parentMap.put("mskm_uk_dtm", opeDateTimeStamp);
		parentMap.put("upd_dtm_bf", upd_dtm_bf);
		
		param.setData("EFU0381C020", parentMap);

		return param;
	}
	
	/**
	 *  機器オプションサービス契約一覧照会(フロント)の上りマッピング
	 * 
	 * @param workArea
	 * @param param
	 * @return
	 * @throws Exception
	 */
	public IRequestParameterReadWrite setEKK2811B50302(JFUMkmInfoAddFrontiaWorkArea workArea, IRequestParameterReadWrite param) throws Exception
	{

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// SYSID
		parentMap.put("key_sysid", "");
		// サービス契約回線内訳番号
		parentMap.put("key_svc_kei_kaisen_ucwk_no", "");
		// 宅内機器種別コード
		parentMap.put("key_taknkiki_sbt_cd", JFUStrConst.TKNI_KIKI_SBT_CD_RD);
		// 親機器識別コード
		parentMap.put("oya_kei_skbt_cd", JFUStrConst.CD00804_02);
		// 申込区分
		parentMap.put("mskmKbn", JFUStrConst.MSKM_KBN_NEW);

		param.setData("EKK2811B50302", parentMap);

		return param;
	}

	/**
	 * 機器提供サービス契約一覧照会上りマッピング
	 * 
	 * @param workArea
	 * @param param
	 * @return
	 * @throws Exception
	 */
	public IRequestParameterReadWrite setEKK0341B00202(JFUMkmInfoAddFrontiaWorkArea workArea, IRequestParameterReadWrite param) throws Exception
	{

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// サービス契約番号
		parentMap.put("key_svc_kei_no", "");
		// 契約中サービス（電話）
		parentMap.put("nowSvcTel", "");
		// 選択サービス（電話）
		if (workArea.getEotel())
		{
			parentMap.put("selectSvcTel", "1");
		} else {
			parentMap.put("selectSvcTel", "0");
		}
		// 申込区分
		parentMap.put("mskmKbn", JFUStrConst.MSKM_KBN_NEW);
		// サービス契約番号(電話)
		parentMap.put("svc_kei_no_tel", "");

		param.setData("EKK0341B00202", parentMap);

		return param;
	}

	/**
	 * クレジット会社一覧照会上りマッピング
	 * 
	 * @param workArea
	 * @param param
	 * @return
	 * @throws Exception
	 */
	public IRequestParameterReadWrite setEKK0531B501(JFUMkmInfoAddFrontiaWorkArea workArea, IRequestParameterReadWrite param) throws Exception
	{

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, JPCModelConstant.FUNC_CD_1);

		// クレジットカード事業コード → クレジット会社一覧照会マップ.ＫＥＹ＿クレジットカード事業コード
		parentMap.put("key_crecard_jigyo_cd", JFUStrConst.CD00420_2);

		param.setData("FUSV035660SC", parentMap);

		return param;
	}

	/**
	 * 機器設置先＿契約者住所差異フラグを取得する
	 * 
	 * @param kshadd_cmf
	 * @return
	 */
	private String getKysAddSaiFlg(String kshadd_cmf)
	{
		String retString = "";

		// 2:利用場所と異なるの場合
		if ("2".equals(kshadd_cmf))
		{
			// 差異あり
			retString = JFUStrConst.KK0341_KIKI_SOHUS_KSH_AD_SAI_FLG_1;
		}
		else
		{
			// 差異なし
			retString = JFUStrConst.KK0341_KIKI_SOHUS_KSH_AD_SAI_FLG_0;
		}

		return retString;
	}

	/**
	 * 住所未確定フラグを取得する
	 * 
	 * @param setplace_bnchi
	 * @return
	 */
	private String getAdMiFixFlg(String setplace_bnchi)
	{
		String retString = "";

		// 住所未確定フラグ
		retString = setplace_bnchi;
		// 0（確定）
		if (setplace_bnchi.length() == 0)
		{
			// 番地確定有無が設定されていない場合、"0"（確定）を設定
			retString = JFUStrConst.CD00467_0;
		}
		else if (JFUStrConst.SETPLACE_BNCHI_KAKUTEI.equals(setplace_bnchi))
		{
			// 番地確定の場合は"0"（確定）を設定
			retString = JFUStrConst.CD00467_0;
		}
		else if ("0".equals(setplace_bnchi))
		{
			// 番地未確定の場合は"1"（未確定）を設定
			retString = JFUStrConst.CD00467_1;
		}
		else if (JFUStrConst.SETPLACE_BNCHI_MIKAKUTEI.equals(setplace_bnchi))
		{
			// 番地未確定の場合は"1"（未確定）を設定
			retString = JFUStrConst.CD00467_1;
		}
		return retString;
	}

//	/**
//	 * 「対応記録履歴」文言取得処理。
//	 * 
//	 * @return String
//	 */
//	private String getRireki(JFUMkmInfoAddFrontiaWorkArea workArea, String tratCd1_1) throws Exception
//	{
//		boolean isBlank = false;
//
//		// 取扱コード１−１
//		if (JFUStrConst.EMPTY.equals(tratCd1_1))
//		{
//			// 取扱コードが設定されていない場合、以降の編集をしない。（切替前の対応用）
//			isBlank = true;
//		}
//		// 申込書番号（受付番号）
//		String mskmNo = JFUStrConst.EMPTY;
//		mskmNo = JFUMkmInfoAddFrontiaConstCC.TAIO_KIROK_MSKM_NO.replaceAll(RE_1, workArea.getMskmsho_no());
//		// 入力者（初期値：ブランク）
//		String opeacnt = JFUStrConst.EMPTY;
//		String opeacntStr = JFUMkmInfoAddFrontiaConstCC.TAIO_KIROK_OPEACNT.replaceAll(RE_1, opeacnt);
//		String webDosen = JFUMkmInfoAddFrontiaConstCC.TAIO_KIROK_WEB.replaceAll(RE_1, JFUMkmInfoAddFrontiaConstCC.TAIO_KIROK_IPPAN);
//
//		// ●架電希望時間
//		StringBuffer elecGuideTimeBf = new StringBuffer();
//
//		// 架電希望指定日/架電希望指定時間のいずれか選択された場合「true」
//		boolean selElecGuideDay = false;
//
//		// 架電希望指定日
//		String elecGuideDay = workArea.getElec_guide_kibo_day();
//
//		if ("1".equals(elecGuideDay))
//		{
//			// 1:平日
//			// 架電希望指定日の指定がある場合
//			selElecGuideDay = true;
//			elecGuideTimeBf.append(JFUMkmInfoAddFrontiaConstCC.TAIO_KIROK_DAY_1);
//		} else if ("2".equals(elecGuideDay))
//		{
//			// 2:土日
//			// 架電希望指定日の指定がある場合
//			selElecGuideDay = true;
//			elecGuideTimeBf.append(JFUMkmInfoAddFrontiaConstCC.TAIO_KIROK_DAY_2);
//		}
//
//		// 架電希望指定時間
//		String elecGuideTime = workArea.getElec_guide_kibo_time();
//
//		if ("1".equals(elecGuideTime) || "2".equals(elecGuideTime))
//		{
//			// 1:AM、2:PM
//			if (selElecGuideDay)
//			{
//				// 架電希望指定日の指定がある場合
//				elecGuideTimeBf.append(JFUStrConst.SPACE);
//			}
//			if ("1".equals(elecGuideTime))
//			{
//				elecGuideTimeBf.append(JFUMkmInfoAddFrontiaConstCC.TAIO_KIROK_TIME_1);
//			} else if ("2".equals(elecGuideTime))
//			{
//				elecGuideTimeBf.append(JFUMkmInfoAddFrontiaConstCC.TAIO_KIROK_TIME_2);
//			}
//		}
//
//		if ("0".equals(elecGuideDay) && "0".equals(elecGuideTime))
//		{
//			// 架電希望指定日/架電希望指定時間の両方が「0:指定なし」の場合
//			elecGuideTimeBf.append(JFUMkmInfoAddFrontiaConstCC.TAIO_KIROK_DAY_0);
//		}
//
//		String elecGuideDayTime = JFUMkmInfoAddFrontiaConstCC.TAIO_KIROK_TIME.replaceAll(RE_1, elecGuideTimeBf.toString());
//
//		// ●優先連絡先の続柄
//		String elecGuideZokugara = JFUMkmInfoAddFrontiaConstCC.TAIO_KIROK_ZOKUGARA.replaceAll(RE_1, workArea.getElec_guide_zokugara());
//
//		// ●新住所での利用(再点)
//		String elecGuideSaiten = workArea.getElec_guide_saiten();
//
//		if (JFUBPCommon.isNull(elecGuideSaiten))
//		{
//			elecGuideSaiten = JFUMkmInfoAddFrontiaConstCC.TAIO_KIROK_SAITEN.replaceAll(RE_1, JFUMkmInfoAddFrontiaConstCC.TAIO_KIROK_SAITEN_0);
//		}
//		else
//		{
//			if ("0".equals(elecGuideSaiten))
//			{
//				elecGuideSaiten = JFUMkmInfoAddFrontiaConstCC.TAIO_KIROK_SAITEN.replaceAll(RE_1, JFUMkmInfoAddFrontiaConstCC.TAIO_KIROK_SAITEN_0);
//			} else if ("1".equals(elecGuideSaiten))
//			{
//				elecGuideSaiten = JFUMkmInfoAddFrontiaConstCC.TAIO_KIROK_SAITEN.replaceAll(RE_1, JFUMkmInfoAddFrontiaConstCC.TAIO_KIROK_SAITEN_1);
//			}
//		}
//
//		// ■対応記録履歴 結果編集■
//		StringBuffer sb = new StringBuffer();
//		sb.append(JFUMkmInfoAddFrontiaConstCC.TAIO_KIROK_RIREKI_1)
//		.append(JFUStrConst.RETURN_CODE)
//		.append(JFUMkmInfoAddFrontiaConstCC.TAIO_KIROK_RIREKI_2)
//		.append(JFUStrConst.RETURN_CODE)
//		.append(JFUMkmInfoAddFrontiaConstCC.TAIO_KIROK_RIREKI_3)
//		.append(JFUStrConst.RETURN_CODE)
//		.append(JFUMkmInfoAddFrontiaConstCC.TAIO_KIROK_RIREKI_4);
//		if (!isBlank)
//		{
//			sb.append(JFUStrConst.S_LINE_SEPARAOR_LF);
//			sb.append(tratCd1_1);
//			sb.append(JFUStrConst.S_LINE_SEPARAOR_LF);
//			sb.append("");
//			sb.append(JFUStrConst.S_LINE_SEPARAOR_LF);
//			sb.append(mskmNo);
//			sb.append(JFUStrConst.S_LINE_SEPARAOR_LF);
//			sb.append(opeacntStr);
//			sb.append(JFUStrConst.S_LINE_SEPARAOR_LF);
//			sb.append(webDosen);
//			sb.append(JFUStrConst.S_LINE_SEPARAOR_LF);
//			sb.append(elecGuideDayTime);
//			sb.append(JFUStrConst.S_LINE_SEPARAOR_LF);
//			sb.append(elecGuideZokugara);
//			sb.append(JFUStrConst.S_LINE_SEPARAOR_LF);
//			sb.append(elecGuideSaiten);
//		}
//		return sb.toString();
//	}
	
	/**
	 * 名前を全角スペースで区切り、姓名に分割して返す
	 * 
	 * @param name
	 * @return
	 */
	private String[] nameSprit(String name)
	{
		String[] ret = new String[2];

		String[] nameSp = name.split("　");
		// 代表者氏名（姓）
		// 代表者氏名（名）
		if (nameSp.length == 1)
		{
			ret[0] = nameSp[0];
			ret[1] = "";
		} else if (nameSp.length > 1){
			ret[0] = nameSp[0];
			StringBuilder sb = new StringBuilder();
			for (int i = 1; i < nameSp.length; i++)
			{
				sb.append(nameSp[i]);
			}
			ret[1] = sb.toString();
		} else {
			ret[0] = "";
			ret[1] = "";
		}

		return ret;
	}
	
	/**
	 * stb_hdを、フロントで使用しているコード値に変換する。
	 * 
	 * @param Stb_hd
	 * @return
	 */
	public static String convertStbHd(String Stb_hd)
	{
		String ret = Stb_hd;
		
		if ("1".equals(Stb_hd))
		{
			ret = "5";
		} else if ("2".equals(Stb_hd))
		{
			ret = "4";
		} else if ("3".equals(Stb_hd))
		{
			ret = "3";
		}
		
		return ret;
	}

	/**
	 * Map内から指定キーの値を取得して連結して返却する。
	 * 
	 * @param map Map情報
	 * @param key キー
	 * @return 連結した文字列
	 */
	private String joinMapValue(HashMap map, String[] keyArray)
	{
		StringBuilder sb = new StringBuilder();
		for (int i = 0; i < keyArray.length; i++)
		{
			String key = keyArray[i];
			if (map.containsKey(key))
			{
				String value = (String)map.get(key);
				if (value == null)
				{
					continue;
				}
				sb.append(value);
			}
		}
		return sb.toString();
	}


	/**
	 * マンションタイプの場合の機器送付先を設定する
	 * 
	 * @param workArea
	 * @param childMap Map情報
	 */
	private void setMnsKikiSohus(JFUMkmInfoAddFrontiaWorkArea workArea, HashMap childMap)
	{
		if ("2".equals(workArea.getKshadd_cmf()))
		{
			// 機器送付先郵便番号
			childMap.put("kiki_sohus_pcd", workArea.getKsh_pcd());
			// 機器送付先住所補記・建物名
			childMap.put("kiki_sohus_adrttm", workArea.getKsh_Address2());
			// 機器送付先住所補記・部屋番号
			childMap.put("kiki_sohus_adrrm", workArea.getKsh_Address3());
		}
		// 機器送付先電話番号
		childMap.put("kiki_sohus_telno", workArea.getKsh_telno());
		// 機器送付先＿契約者住所差異フラグ
		childMap.put("kiki_sohus_ksh_ad_sai_flg", JFUStrConst.KK0341_KIKI_SOHUS_KSH_AD_SAI_FLG_0);
	}

	/**
	 * 上りマッピングをする（オプションサービス契約＜ISP＞登録 NTT卸用）
	 * 
	 * @param workArea
	 * @param param
	 * @return
	 * @throws RequestParameterException 
	 */
	@SuppressWarnings("unchecked")
	public IRequestParameterReadWrite setJKKNttorsNetTelInfOperateCC(JFUMkmInfoAddFrontiaWorkArea workArea, IRequestParameterReadWrite param)
			throws RequestParameterException
	{

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 機能コード
		parentMap.put("func_cd", JPCModelConstant.FUNC_CD_1);
		// 処理区分
		parentMap.put("shori_div", "1");
		// SYSID (JFUTransferCCで設定)
		parentMap.put("sysid", "");
		// サービス契約番号 (JFUTransferCCで設定)
		parentMap.put("svc_kei_no", "");
		// 異動区分
// ANK-4427-00-00 MOD START
//		parentMap.put("ido_div", JFUStrConst.CD00576_00031);
		parentMap.put("ido_div", JFUStrConst.CD00576_00001);
// ANK-4427-00-00 MOD END
		// 更新年月日時分秒(更新前)	JFUAddMappingTypeNCCで再設定
		parentMap.put("upd_dtm_bf", "");
		// 進捗特記事項1
		parentMap.put("prg_tkjk_1", "ｅｏ光電話（ｔｙｐｅ　Ｎ）情報登録");

		ArrayList subList = null;
		HashMap subChildMap = null;
		subList = new ArrayList();
		subChildMap = new HashMap();

		// 異動理由コード
		subChildMap.put("ido_rsn_cd", JFUStrConst.CD00846_56);
		// 異動理由メモ
		subChildMap.put("ido_rsn_memo", "");

		// 異動理由明細
		subList.add(subChildMap);
		parentMap.put("EKK1091D010CBSMsg1List", subList);

		ArrayList<Object> list = null;
		HashMap<String, Object> childMap = null;
		list = new ArrayList<Object>();
		childMap = new HashMap<String, Object>();

		// typeN電話番号
		childMap.put("typen_telno", workArea.getBmp_telno_1());

		// typeN番ポ種別
		String typenUseBmp = workArea.getUse_bmp_1();
		if (typenUseBmp.equals(JFUStrConst.CD00002_0))
		{
			// 利用しない場合(新番号)
			childMap.put("typen_bmp_sbt", "0");
		}
		else if (typenUseBmp.equals(JFUStrConst.CD00002_1))
		{
			String typenTelJgs = workArea.getBmp_tel_svctk_jgs_1();
			if (typenTelJgs.equals(JFUStrConst.TU0051_TSJGS_CD_0000))
			{
				// 利用する場合(NTT)
				childMap.put("typen_bmp_sbt", "1");
			}
			else
			{
				// 利用する場合(他社)
				childMap.put("typen_bmp_sbt", "2");
			}
		}

		// typeN契約者名
		childMap.put("typen_keisha_nm", workArea.getBmp_kshnm_1());

		//分割後の住所をJFUAddMappingTypeNCCで設定
		// typeN住所コード
		// typeN郵便番号
		// typeN都道府県名
		// typeN市区町村名
		// typeN大字通称名
		// typeN字丁目名
		// typeN番地号
		//分割後の住所をJFUTransferCCで設定
		// typeN建物名
		// typeN部屋番号

		// typeN住所手動入力フラグ
		String plcChoice = workArea.getBmp_stc_place_ad_choice_1();
		if (plcChoice.equals(JFUStrConst.STC_PLACE_AD_CHOICE_OTHER))
		{
			// 手動入力有り(その他の設置場所)
			childMap.put("typen_ad_man_input_flg", TG_FLG_ARI);
		}
		else
		{
			// 手動入力無し(その他の設置場所以外)
			childMap.put("typen_ad_man_input_flg", TG_FLG_NON);
		}

		// typeN電話加入権取扱コード
		childMap.put("typen_tel_knkn_trat_cd", "");

		// typeN電話番号種別コード
		// その他
		childMap.put("typen_telno_sbt_cd", "3");

// ANK-4640-00-00 ADD START
		// typeN通信事業者コード
		childMap.put("typen_tsjgs_cd", workArea.getBmp_tel_svctk_jgs_1());
// ANK-4640-00-00 ADD END

		// 電話番号通知申込有無
		childMap.put("telno_tchi_mskm_um", workArea.getHashinno_tch_1());
		// 発信者番号表示申込有無
		childMap.put("hasinsha_no_dsp_mskm_um", workArea.getHashinno_dsp_1());
		// 非通知着信拒否申込有無
		childMap.put("hitchi_incmhi_mskm_um", workArea.getHitsuchi_dny_1());
		// 国際電話利用抑止申込有無
		childMap.put("kokusai_tel_stp_mskm_um", TG_FLG_NON);

		list.add(childMap);

		// 登録用情報リスト
		parentMap.put("add_info_list", list);

		param.setData(CC_TITLE_JKKNTTORS_OPERATE_CC, parentMap);
		
		return param;
	}

	/**
	 * サービスIF結果データ移送上りマッピング（ＴｙｐｅＮ更新用のマッピング処理）
	 * 
	 * @param workArea
	 * @param param
	 * @return
	 * @throws RequestParameterException
	 */
	public IRequestParameterReadWrite setFUSV035689CC(JFUMkmInfoAddFrontiaWorkArea workArea, IRequestParameterReadWrite param)
			throws RequestParameterException
	{
		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// データ移送数
		parentMap.put(KEY_KEY_CNT, RPG_KEY_CNT_2);

		// データ移送先
		parentMap.put(KEY_TRAN_NAME, CC_TITLE_JKKNTTORS_OPERATE_CC);

		// サービス契約番号
		parentMap.put(TRANS_KEY_1, TRANS_NTT_KEY_1_VALUE_1);
		// SYSID
		parentMap.put(TRANS_KEY_2, TRANS_NTT_KEY_1_VALUE_2);

		if (JFUStrConst.USE_BMP_USE.equals(workArea.getUse_bmp_1()))
		{
			// 建物名
			parentMap.put(TRANS_KEY_3, TRANS_NTT_KEY_1_VALUE_3);
			// 部屋番号
			parentMap.put(TRANS_KEY_4, TRANS_NTT_KEY_1_VALUE_4);
			// データ移送数
			parentMap.put(KEY_KEY_CNT, RPG_KEY_CNT_4);
		}

		// 共通情報のマッピング
		param.setData(TRANSFER_CC_FUSV035689CC, parentMap);

		return param;
	}

	/**
	 * 番号ポータビリティ利用住所情報分割処理上りマッピング
	 * 
	 * @param workArea
	 * @param param
	 * @return
	 * @throws RequestParameterException 
	 */
	public IRequestParameterReadWrite setFUSV016008TypeNCC(JFUMkmInfoAddFrontiaWorkArea workArea, IRequestParameterReadWrite param)
			throws RequestParameterException
	{

		if (JFUStrConst.USE_BMP_USE.equals(workArea.getUse_bmp_1()))
		{
			if (!JFUBPCommon.isNull(param.getData("FUSV016008CC")))
			{
				// 共通情報のマッピング
				param.setData(CC_TITLE_FUSV016008_TYPEN_CC, param.getData("FUSV016008CC"));
			}

		}

		return param;
	}

	/**
	 * 工事希望時間帯の区分値を取得する
	 * 
	 * @param kibotime 希望時間
	 * @return 工事希望時間帯
	 */
	private String getKibotimeZ(String kibotime)
	{
		// 午前
		if ("0".equals(kibotime))
		{
			return JFUStrConst.CD01844_01;
		}
		// 午後
		else if ("1".equals(kibotime))
		{
			return JFUStrConst.CD01844_02;
		}
		// 以外
		else
		{
			return JFUStrConst.CD01844_00;
		}

	}

	/**
	 * ＭＡＮＭＯＳ管理物件かを判定する
	 * 
	 * @param workArea
	 * @return ＭＡＮＭＯＳ管理物件
	 */
	private boolean isHikarikaMans(JFUMkmInfoAddFrontiaWorkArea workArea)
	{
		return JFUStrConst.CD01213_50.equals(workArea.getW_tk_hoshiki_pattern_cd())
				&& JFUStrConst.HHS_1GONLY_FLG_1.equals(workArea.getW_hhs_1gonly_flg())
				|| JFUStrConst.CD01213_53.equals(workArea.getW_tk_hoshiki_pattern_cd());
	}

	/**
	 * 申込回線サービスを設定する
	 * 
	 * @param workArea
	 */
	@SuppressWarnings("unchecked")
	private void setMskmKsnSvc(JFUMkmInfoAddFrontiaWorkArea workArea, HashMap map)
	{
		// 申込回線サービス
		if (JFUMkmInfoAddFrontiaConstCC.SERVICE_SBT_HT.equals(workArea.getService_sbt()))
		{
			// サービス種別が「1：ホーム」
			map.put("mskm_ksn_svc", JFUStrConst.MSKM_KSN_SVC_HOME);
		}
		else if (JFUMkmInfoAddFrontiaConstCC.SERVICE_SBT_MZ.equals(workArea.getService_sbt()))
		{
			// サービス種別が「2：メゾン」
			map.put("mskm_ksn_svc", JFUStrConst.MSKM_KSN_SVC_MANSION);
			// 申込マンションタイプ
			map.put("mskm_mns_type", JFUStrConst.MSKM_MNS_TYPE_MEZON);
		}
		else if (JFUMkmInfoAddFrontiaConstCC.SERVICE_SBT_MT.equals(workArea.getService_sbt()))
		{
			// サービス種別が「3：マンション」
			map.put("mskm_ksn_svc", JFUStrConst.MSKM_KSN_SVC_MANSION);
			// 申込マンションタイプ
			map.put("mskm_mns_type", JFUStrConst.MSKM_MNS_TYPE_MANSION);
		}
		else 
		{
			// ホームタイプ
			map.put("mskm_ksn_svc", JFUStrConst.MSKM_KSN_SVC_HOME);
		}
	}
}
