/*********************************************************************
*	All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名		：eo顧客基幹システム
*	モジュール名	：FUSV0047_FUSV0047OPDBMapper
*	ソースファイル名：FUSV0047_FUSV0047OPDBMapper.java
*	作成者			：富士通
*	日付			：2011年12月05日
*＜機能概要＞
*	BP（eo光ネットホームタイププラン変更申込(申込)）へのＤ−Ｂマッピングクラスです。
*＜修正履歴＞
*   バージョン  修正日       修正者      修正内容
*   v1.00.00    2011/12/05   FJ）中谷    新規作成
*   v4.00       2012/08/01   FJ）知識    変更【ANK-0275-00-00】■ＨＴグレードアップキャンペーン対応
*   v4.00       2012/09/19   FJ）中谷    変更【ANK-0545-00-00】■PMP：サービスコード対応
*   v4.00       2012/10/10   FJ) 岡井    変更【ANK-1223-00-00】進捗補足事項編集対応
*   v4.00       2012/10/10   FJ）知識    変更【ANK-0275-00-00】■ＨＴグレードアップキャンペーン対応(工事案件番号採番)
*   v4.00       2012/10/18   FJ）中谷    変更【IT1-2012-0001104】
*   v4.00       2012/10/24   FJ）岡井    変更【IT1-2012-0001100】「サービス契約内訳」スキーマの提供方式契約番号対応
*   v4.00       2012/10/25	 FJ) 岡井    変更【IT1-2012-0001669】LOT2-IT1障害対応
*   v4.00       2012/11/13	 FJ) 岡井    変更【IT1-2012-0001952】割引サービス契約解約IT1障害対応
*   v4.00       2013/01/08	 FJ) 岡井    変更【ST4-2012-0000238】性能障害対応
*   v5.00       2013/02/10   FJ）中谷    変更【ANK-1416-00-00】１１月末案件
*   v5.00       2013/03/25   FJ）中谷    変更【IT1-2013-0000565】工事受付Sへの異動無機器情報連携対応
*   v9.00       2014/07/10   FJ) 畑中    変更【ANK-1996-00-00】【ＮＯ．１３８６】ID通知書出力不良の是正
*   v9.00       2014/07/24   FJ) 畑中    変更【ANK-2264-00-00】【ＮＯ．１６６４】フロントのコース変更画面でそのた住所を選んだ時、カナ氏名の入力を可能とする
*   v19.00      2015/10/26   FJ) 岡井    変更【ANK-2631-00-00】【WO7】ワンストップ案件（ＳＴＥＰ１）
*   v23.00      2016/01/27   FJ) 岡井    変更【ANK-2737-00-00】消費者保護ルールの見直し対応
*	v26.00      2016/06/06   FJ) 張本    変更【ANK-2687-00-00】プレミアムサポート施策
*	v26.00      2016/07/20   FJ) 張本    変更【ANK-2687-09-00】プレミアムサポート施策（案件内仕変）
*	v29.00      2017/03/02   FJ) 川島    変更【ANK-3099-00-00】【eoプレミアムクラブ】プレクラ施策のフロント表示名称変更
*   v40.00      2018/11/07   FJ）張本    変更【ANK-3412-00-00】５ギガ・１０ギガコース導入対応
*   v40.01      2018/12/27   FJ）張本    変更【ANK-3412-03-00】特約プログラム対応
*   v40.01      2019/01/29   FJ）張本    変更【ANK-3412-07-00】メゾン向け5G・10G提供情報表示対応
*   v41.00      2019/02/27   FJ）張本    変更【ANK-3412-16-00】【５ギガ・１０ギガ】アップグレードチケット利用時の工事案件連絡事項連
*   v48.00      2020/01/29   FJ）大島    変更【ANK-3777-00-00】【10G】コース変更時のWEB導線見直し
*   v51.00      2020/12/25   FJ）大島    変更【ANK-3872-00-00】OPMSへの電話番号連携内容変更
*   v52.00      2021/01/22   FJ) 張本    変更【ANK-3987-00-00】Netflix導入対応（STEP2）
*   v55.00      2021/10/11   FJ）西川    変更【ANK-4146-00-00】【eo定期】多機能ルーター枯渇対応 STEP2
*   v56.00      2021/10/21   FJ）張本    変更【ANK-4038-00-00】【eo定期】光ローゼット化対応
*   v60.00      2022/07/11   FJ）張本    変更【ANK-4287-00-00】【eo定期】機器オプションの予約機能対応
*   v66.00      2023/01/31   FJ) 美濃原  変更【ANK-4307-00-00】【eo定期】プレミアムクラブリニューアル対応
*   v61.00      2023/04/20   FJ) 張本    変更【ANK-4315-00-00】【eo定期】eo光ホームゲートウェイ導入対応
*   v68.00      2023/12/05   FJ) 飯田    変更【ANK-4517-00-00】202401月CP対応
*   v71.00      2024/06/10   FJ) 張本    変更【ANK-4468-00-00】eo光ネット「シンプルプラン」追加対応
*   v73.00      2024/11/15   FJ) 張本    変更【ANK-4493-00-00】【eo定期】光配線マンションのコースアップ対応
*   
**********************************************************************/
package eo.web.webview.mapping;

import static com.fujitsu.futurity.web.x31.X31SWebLog.DEBUG_LOG;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.fujitsu.futurity.web.x31.X31CWebConst;
import com.fujitsu.futurity.web.x31.X31SDataBeanAccess;
import com.fujitsu.futurity.web.x31.X31SDataBeanAccessArray;

import eo.common.constant.JFUStrConst;
import eo.common.constant.JPCModelConstant;
import eo.web.webview.CommonInfoCF.CommonInfoCFConst;
import eo.web.webview.FUW01301SF.FUW01301SFConst;
import eo.web.webview.common.JFUEoPremiumClubConst;
import eo.web.webview.common.JFUEoPremiumClubDsp;
import eo.web.webview.common.JFUScreenConst;
import eo.web.webview.common.JFUWebCommon;

/**
 * DataBean-BPマッピングをする。
 *
 * <br>
 * @author 富士通
 */
public class FUSV0047_FUSV0047OPDBMapper
{
	/** FUSV004701CC */
	private static final String FUSV004701CC = "FUSV004701CC";
	/** CKSV900101CC */
	private static final String CKSV900101CC = "CKSV900101CC";
	/** 住所情報分割コモンコンポーネント部品 */
	private static final String FUSV004705CC = "FUSV004705CC";
	/** FUSV004710CC */
	private static final String FUSV004710CC = "FUSV004710CC";

	/** 登録処理区分 */
	private static final String PROC_DIV_REG = "01";

	/** キャンペーン対象有無 0:無し */
	private static final String CMP_TRGT_UM_0 = "0";
	/** キャンペーン対象有無 1:有り */
	private static final String CMP_TRGT_UM_1 = "1";
	/** 文字列：有 */
	private static final String STR_ARI = "有";
	/** 文字列：無 */
	private static final String STR_NASHI = "無";

	/** OUT項目:認証ID */
	private static final String OUT_PARAM_NNSHO_ID = "out_nnsho_id";
	/** OUT項目:認証IDパスワード */
	private static final String OUT_PARAM_NNSHO_ID_PW = "out_nnsho_id_pw";
	/** OUT項目:マルチセッション認証ID */
	private static final String OUT_PARAM_MSESS_NNSHO_ID = "out_msess_nnsho_id";
	/** OUT項目:固定IPアドレス */
	private static final String OUT_PARAM_KOTEI_IP = "out_kotei_ip";
	/** OUT項目:工事案件番号 */
	private static final String OUT_PARAM_KJAIK_NO = "out_kojiak_no";
	/** OUT項目:申込書番号(受付番号) */
	private static final String OUT_MSKMSHO_NO = "out_mskmsho_no";
	/** OUT項目:申込書明細番号(申込番号)*/
	private static final String OUT_MSKMSHO_DTL_NO = "out_mskmsho_dtl_no";
	/** 機能コード */
	private static final String FUNC_CODE = "func_code";

	/** 配列番号[0]:SFBean */
	private static final int INFO_IDX_SF_BEAN = 0;
	/** 配列番号[2]:サービス契約情報 */
	private static final int INFO_IDX_SVC_KEI = 2;
	/** 配列番号[3]:サービス契約回線内訳情報 */
	private static final int INFO_IDX_SVC_KEI_KAI_UCWK = 3;
	/** 配列番号[4]:現顧客契約情報 */
	private static final int INFO_IDX_GEN_KOKYAKU = 4;
	/** 配列番号[5]:サービス契約内訳情報 */
	private static final int INFO_IDX_SVC_KEI_UCWK = 5;
	/** 配列番号[6]:請求契約情報 */
	private static final int INFO_IDX_SEIKY_KEI = 6;
	/** 配列番号[7]:割引サービス契約情報 */
	private static final int INFO_IDX_WRIB_SVC_KEI = 7;
	/** 配列番号[8]:機器提供サービス契約情報 */
	private static int INFO_IDX_KKTK_SVC_KEI = 8;

	/**IN項目マップキー  */
	private static final String IN_PARAM_KEY = "in_param";
	/** IN項目:SYSID */
	private static final String IN_PARAM_SYSID = "sysid";
	/** IN項目:サービス契約番号 */
	private static final String IN_PARAM_SVC_KEI_NO = "svc_kei_no";
	/** IN項目:サービス契約回線内訳番号 */
	private static final String IN_PARAM_SVC_KEI_KISN_UCWK_NO = "svc_kei_kaisen_ucwk_no";
	/** IN項目:サービス契約ステータス */
	private static final String IN_PARAM_SVC_KEI_STAT = "svc_kei_stat";
	/** IN項目:更新年月日時分秒_KK0081 */
	private static final String IN_PARAM_UPD_DTM_BF_KK0081 = "upd_dtm_bf_KK0081";
	/** IN項目:サービス契約内訳番号 */
	private static final String IN_PARAM_SVC_KEI_UCWK_NO = "svc_kei_ucwk_no";
	/** IN項目:更新年月日時分秒_KK0161 */
	private static final String IN_PARAM_UPD_DTM_BF_KK0161 = "upd_dtm_bf_KK0161";
	/** IN項目:請求契約番号 */
	private static final String IN_PARAM_SEIKY_KEI_NO = "seiky_kei_no";
	/** IN項目:割引サービス契約番号 */
	private static final String IN_PARAM_WRIB_SVC_KEI_NO = "wrib_svc_kei_no";
	/** IN項目:割引サービス契約番号 */
	private static final String IN_PARAM_WRIB_SVC_KEI_STAT = "wrib_svc_kei_stat";
	/** IN項目:更新年月日時分秒_KK0451 */
	private static final String IN_PARAM_UPD_DTM_BF_KK0451 = "upd_dtm_bf_KK0451";
	/** IN項目:料金グループコード */
	private static final String IN_PARAM_PRC_GRP_CD = "prc_grp_cd";
	/** IN項目:変更前料金コースコード */
	private static final String IN_PARAM_CHG_BF_PCRS_CD = "chg_bf_pcrs_cd";
	/** IN項目:変更前料金プランコード */
	private static final String IN_PARAM_CHG_BF_PPLAN_CD = "chg_bf_pplan_cd";
	/** IN項目:変更後料金コースコード */
	private static final String IN_PARAM_CHG_AF_PCRS_CD = "chg_af_pcrs_cd";
	/** IN項目:変更後料金プランコード */
	private static final String IN_PARAM_CHG_AF_PPLAN_CD = "chg_af_pplan_cd";
	/** IN項目:一時金設定番号_工事費 */
	private static final String IN_PARAM_ICJKN_SETTE_NO_KJ = "icjkn_sette_no_kj";
	/** IN項目:一時金設定番号_事務手数料 */
	private static final String IN_PARAM_ICJKN_SETTE_NO_JM = "icjkn_sette_no_jm";
	/** IN項目:一時支払料金番号_工事費 */
	private static final String IN_PARAM_TMP_PAY_PRC_NO_KJ = "tmp_pay_prc_no_kj";
	/** IN項目:一時支払料金番号_事務手数料 */
	private static final String IN_PARAM_TMP_PAY_PRC_NO_JM = "tmp_pay_prc_no_jm";
	/** IN項目:固定IPアドレスリスト */
	private static final String IN_PARAM_KOTEI_IP_LIST = "kotei_ip_list";
	/** IN項目:オプションサービス契約番号_固定IPアドレス */
	private static final String IN_PARAM_OP_SVC_KEI_NO_FIXED_IP = "op_svc_kei_no_fixed_ip";
	/** IN項目:マルチセッションリスト */
	private static final String IN_PARAM_MULTI_SESSION_LIST = "multi_session_list";
	/** IN項目:オプションサービス契約番号_マルチセッション */
	private static final String IN_PARAM_OP_SVC_KEI_NO_MULTI_SESSION = "op_svc_kei_no_multi_session";
	/** IN項目:サービス契約回線内訳番号 */
	private static final String IN_PARAM_SVC_KEI_KAISEN_UCWK_NO = "svc_kei_kaisen_ucwk_no";
	/** IN項目:お客様名 */
	private static final String IN_PARAM_CUST_NM = "cust_nm";
	/** IN項目:お客様カナ名 */
	private static final String IN_PARAM_CUST_KANA = "cust_kana";
	/** IN項目:契約者電話番号 */
	private static final String IN_PARAM_KEISHA_TELNO = "keisha_telno";
	/** IN項目:契約者住所コード */
	private static final String IN_PARAM_KEISHA_AD_CD = "keisha_ad_cd";
	/** IN項目:契約者郵便番号 */
	private static final String IN_PARAM_KEISHA_PCD = "keisha_pcd";
	/** IN項目:契約者都道府県名 */
	private static final String IN_PARAM_KEISHA_STATE_NM = "keisha_state_nm";
	/** IN項目:契約者市区町村名 */
	private static final String IN_PARAM_KEISHA_CITY_NM = "keisha_city_nm";
	/** IN項目:契約者大字通称名 */
	private static final String IN_PARAM_KEISHA_OAZTSU_NM = "keisha_oaztsu_nm";
	/** IN項目:契約者字丁目名 */
	private static final String IN_PARAM_KEISHA_AZCHO_NM = "keisha_azcho_nm";
	/** IN項目:契約者住所番地号 */
	private static final String IN_PARAM_KEISHA_AD_BNCHIGO = "keisha_ad_bnchigo";
	/** IN項目:契約者住所補記・建物名 */
	private static final String IN_PARAM_KEISHA_ADRTTM = "keisha_adrttm";
	/** IN項目:契約者住所補記・部屋番号 */
	private static final String IN_PARAM_KEISHA_ADRRM = "keisha_adrrm";
	/** IN項目:回線場所番号 */
	private static final String IN_PARAM_KAISEN_PLACE_NO = "kaisen_place_no";
	/** IN項目:回線場所住所コード */
	private static final String IN_PARAM_KAISEN_PLACE_AD_CD = "kaisen_place_ad_cd";
	/** IN項目:回線場所郵便番号 */
	private static final String IN_PARAM_KAISEN_PLACE_PCD = "kaisen_place_pcd";
	/** IN項目:回線場所都道府県名 */
	private static final String IN_PARAM_KAISEN_PLACE_STATE_NM = "kaisen_place_state_nm";
	/** IN項目:回線場所市区町村名 */
	private static final String IN_PARAM_KAISEN_PLACE_CITY_NM = "kaisen_place_city_nm";
	/** IN項目:回線場所大字通称名 */
	private static final String IN_PARAM_KAISEN_PLACE_OAZTSU_NM = "kaisen_place_oaztsu_nm";
	/** IN項目:回線場所字丁目名 */
	private static final String IN_PARAM_KAISEN_PLACE_AZCHO_NM = "kaisen_place_azcho_nm";
	/** IN項目:回線場所番地号 */
	private static final String IN_PARAM_KAISEN_PLACE_BNCHIGO = "kaisen_place_bnchigo";
	/** IN項目:回線場所住所補記・建物名 */
	private static final String IN_PARAM_KAISEN_PLACE_ADRTTM = "kaisen_place_adrttm";
	/** IN項目:回線場所住所補記・部屋番号 */
	private static final String IN_PARAM_KAISEN_PLACE_ADRRM = "kaisen_place_adrrm";
	/** IN項目:住所未確定フラグ */
	private static final String IN_PARAM_AD_MI_FIX_FLG = "ad_mi_fix_flg";
	/** IN項目:回線場所電話番号 */
	private static final String IN_PARAM_KAISEN_PLACE_TELNO = "kaisen_place_telno";
	/** IN項目:経度 */
	private static final String IN_PARAM_LGTD = "lgtd";
	/** IN項目:緯度 */
	private static final String IN_PARAM_LTTD = "lttd";
	/** IN項目:座標補正有無 */
	private static final String IN_PARAM_ZAHYO_HOSEI_UM = "zahyo_hosei_um";
	/** IN項目:住所形態コード */
	private static final String IN_PARAM_AD_FORM_CD = "ad_form_cd";
	/** IN項目:集合住宅入居階数コード */
	private static final String IN_PARAM_SHUGJ_NYUKYO_FLR_CNT_CD = "shugj_nyukyo_flr_cnt_cd";
	/** IN項目:戸建建築階数コード */
	private static final String IN_PARAM_KODATE_KCKU_FLR_CNT_CD = "kodate_kcku_flr_cnt_cd";
	/** IN項目:方角コード1 */
	private static final String IN_PARAM_DIRECTION_CD_1 = "direction_cd_1";
	/** IN項目:方角コード2 */
	private static final String IN_PARAM_DIRECTION_CD_2 = "direction_cd_2";
	/** IN項目:変更前割引サービスコード */
	private static final String IN_PARAM_CHGB_WRIB_SVC_CD = "chgb_wrib_svc_cd";
	/** IN項目:割引サービスコード */
	private static final String IN_PARAM_WRIB_SVC_CD = "wrib_svc_cd";
	/** IN項目:PON種別コード */
	private static final String IN_PARAM_PON_SBT_CD = "pon_sbt_cd";
	/** IN項目:即割有無 */
	private static final String IN_PARAM_SOKUWARI_UM = "sokuwari_um";
	/** IN項目:高速割有無 */
	private static final String IN_PARAM_KOSOKUWARI_UM = "kosokuwari_um";
	/** IN項目:起点変電所コード */
	private static final String IN_PARAM_KITEN_HDSHO_CD = "kiten_hdsho_cd";
	/** IN項目:集約局コード */
	private static final String IN_PARAM_SHYAKK_CD = "shyakk_cd";
	/** IN項目:マンション物件番号 */
	private static final String IN_PARAM_MANSION_BUKKEN_NO = "mansion_bukken_no";
	/** IN項目:回線コード */
	private static final String IN_PARAM_KAISEN_CD = "kaisen_cd";
	/** IN項目:関電営業所コード */
	private static final String IN_PARAM_KEPCO_BUSIOFFICE_CD = "kepco_busioffice_cd";
	/** IN項目:ファミリー契約フラグ */
	private static final String IN_PARAM_FAMILY_KEI_FLG = "family_kei_flg";
	/** IN項目:進捗特記事項1 */
	private static final String PRG_TKJK_1 = "prg_tkjk_1";
	/** IN項目:キャンペーン対象有無 */
	private static final String CMP_TRGT_UM = "cmp_trgt_um";
	/** IN項目:機器提供サービス契約番号(ONU) */
	protected static final String IN_PARAM_KKTK_SVC_KEI_NO_ONU = "kktk_svc_kei_no_onu";
	/** IN項目:宅内機器型式コード(ONU) */
	protected static final String IN_PARAM_TAKNKIKI_MODEL_CD_ONU = "taknkiki_model_cd_onu";
	/** IN項目:機器製造番号(ONU) */
	protected static final String IN_PARAM_KIKI_SEIZO_NO_ONU = "kiki_seizo_no_onu";
	/** IN項目:提供方式契約番号 */
	protected static final String IN_PARAM_TK_HOSHIKI_KEI_NO = "tk_hoshiki_kei_no";
	/** IN項目:サービス課金開始年月日 */
	protected static final String IN_PARAM_SVC_CHRG_STAYMD = "svc_chrg_staymd";
	/** IN項目:ＫＥＹ＿料金コースコード */
	protected static final String IN_PARAM_KEY_PCRS_CD = "key_pcrs_cd";
	/** IN項目:ＫＥＹ＿料金グループコード */
	protected static final String IN_PARAM_KEY_PRC_GRP_CD = "key_prc_grp_cd";
	/** IN項目:ＫＥＹ＿PON種別コード */
	protected static final String IN_PARAM_KEY_PON_SBT_CD = "key_pon_sbt_cd";
	/** IN項目:進捗特記事項1(契約内容通知書電子交付同意有無) */
	private static final String IN_PARAM_PRG_TKJK_1_DNSKHDOI_UM = "prg_tkjk_1_knytcs_dnskh_doi_um";
	/** IN項目:契約内容通知書電子交付同意有無 */
	private static final String IN_PARAM_KNYTCS_DNSKH_DOI_UM = "knytcs_dnskh_doi_um";
	/** IN項目:メゾン開通実績 */
	private static final String IN_MZ_KAITU_JSK = "mz_kaitu_jsk";
	/** IN項目:工事案件備考1 */
	private static final String IN_KOJIAK_BIKO_1 = "kojiak_biko_1";
// ANK-3777-00-00 ADD START
	/** IN項目:進捗ステータス(機器) */
	private static final String PRG_STAT_ROUTER = "prg_stat_router";
	/** IN項目:進捗特記事項1(機器) */
	private static final String PRG_TKJK_ROUTER_1 = "prg_tkjk_router_1";
	/** IN項目:進捗特記事項2(機器) */
	private static final String PRG_TKJK_ROUTER_2 = "prg_tkjk_router_2";
	/** IN項目:多機能ルーター申込 */
	private static final String IN_PARAM_TKN_RT_MSKM = "tkn_rt_mskm";
	/** IN項目:機器オプション申込 */
	private static final String IN_PARAM_KIKI_OP_MSKM = "kiki_op_mskm";
// ANK-3777-00-00 ADD END
	/** IN項目:ルータ新料金コース適用フラグ */
	private static final String IN_PARAM_RT_NEW_PCRS_APLY_FLG = "rt_new_pcrs_aply_flg";	
// ANK-3872-00-00 ADD START
	/** IN項目:他システム連携_工事連絡先電話番号 */
	private static final String IN_PARAM_TSYRN_KJ_RRKS_TLN = "tsyrn_kj_rrks_tln";
// ANK-3872-00-00 ADD END

	/** IN項目:送付先更新フラグ */
	protected static final String IN_PARAM_SENDTO_CHG_FLG = "sendto_chg_flg";
	/** IN項目:送付先氏名 */
	protected static final String IN_PARAM_SENDTO_NAME = "sendto_name";
	/** IN項目:送付先氏名カナ */
	protected static final String IN_PARAM_SENDTO_NAME_KANA = "sendto_name_kana";
	/** IN項目:送付先郵便番号 */
	protected static final String IN_PARAM_SENDTO_ZIP_CD = "sendto_zip_cd";
	/** IN項目:送付先建物名 */
	protected static final String IN_PARAM_SENDTO_BLD = "sendto_bld";
	/** IN項目:送付先部屋番号 */
	protected static final String IN_PARAM_SENDTO_ROOM = "sendto_room";
	/** IN項目:送付先電話番号 */
	protected static final String IN_PARAM_SENDTO_TELNO = "sendto_telno";

	/** IN項目:異動区分 */
	private static final String IN_PARAM_KEY_IDO_DIV = "ido_div";
	/** IN項目:料金コースコード */
	private static final String IN_PARAM_PCRS_CD = "pcrs_cd";
	/** IN項目:料金プランコード */
	private static final String IN_PARAM_PPLAN_CD = "pplan_cd";
	/** IN項目:申込内容承認登録SC名 */
	private static final String IN_PARAM_SC_NAME_MSKM = "sc_name_mskm";
	/** IN項目:課金先の登録（課金対象となる割引サービス契約番号の場合対象） */
	private static final String IN_PARAM_INS_KAKINS = "ins_kakins";

	/** Mapキー：サービス契約番号 */
	private static final String KEY_CMP_SVC_KEI_NO = "key_svc_kei_no_cmp";
	/** Mapキー：料金コースコード */
	private static final String KEY_CMP_PCRS_CD = "key_pcrs_cd_cmp";
	/** Mapキー：料金プランコード */
	private static final String KEY_CMP_PPLAN_CD = "key_pplan_cd_cmp";
	/** Mapキー：ＫＥＹ＿割引サービス適用条件種別コードリスト */
	private static final String KEY_CMP_WRSV_APLY_JKN_SBT_LIST = "key_wrsv_aply_jkn_sbt_cd_list_cmp";
	/** Mapキー：割引サービス適用条件種別コード */
	private static final String KEY_CMP_WRSV_APLY_JKN_SBT_CD = "key_wrsv_aply_jkn_sbt_cd_cmp";
	/** Mapキー：キャンペーン文言種別コードリスト */
	private static final String KEY_CMP_MONGON_SBT_CD_LIST = "key_cmp_mongon_sbt_cd_list_cmp";
	/** Mapキー：キャンペーン文言種別コード */
	private static final String KEY_CMP_MONGON_SBT_CD = "key_cmp_mongon_sbt_cd_cmp";
	/** Mapキー：処理区分 */
	private static final String KEY_CMP_PROC_DIV = "proc_div_cmp";
	/** Mapキー：料金グループコード */
	private static final String KEY_CMP_PRC_GRP_CD = "key_prc_grp_cd_cmp";
	/** Mapキー：ＳＹＳＩＤ */
	private static final String KEY_CMP_SYSID = "sysid_cmp";
	/** Mapキー：登録後料金コースコード */
	private static final String KEY_CMP_CHGE_AF_PCRS_CD = "pcrs_cd_cmp";
	/** Mapキー：登録後料金プランコード */
	private static final String KEY_CMP_CHGE_AF_PPLAN_CD = "pplan_cd_cmp";
	/** Mapキー：異動区分 */
	private static final String KEY_CMP_IDO_DIV = "ido_div_cmp";
	/** Mapキー：ＢＳパススルーの申し込みフラグ */
	private static final String KEY_CMP_BSPT_MSKM_FLG = "bspt_mskm_flg";

	/** マップキー 更新対象ＳＹＳＩＤ */
	private static final String UPD_TRGT_SYSID = "upd_trgt_sysid";

	/** 定義取得パス プラン名 */
	private static final String PATH_PPLAN_NM = "DISPSETTING/SETTING[@screenId='FUW01301']/DISPTEXT[@groupid='PPLAN_NM']";
// ANK-4517-00-00 ADD START
	/** 定義取得パス  除外施策*/
	public static final String QUERY_PATH_EXCLUDE_SISAK_CD = "DISPSETTING/SETTING[@screenId='FUW01301']/DISPTEXT[@groupid='EOPRMCL_EXCLUDE_SISAK']";
// ANK-4517-00-00 ADD END
	/** 属性名 */
	private static final String QUERY_ATTR_NAME = "id";

	/** 特記事項１要素を取得する際のid(コース変更) */
	private static final String PRGADD_ID = "0";
	/** 特記事項１要素を取得する際のid(契約内容通知書電子交付同意有無) */
	private static final String PRGADD_ID_KNYTCS = "1";
// ANK-3777-00-00 ADD START
	/** 特記事項１要素を取得する際のid(多機能ルーター申込) */
	private static final String PRGADD_ID_RTMSKM = "2";
	/** 特記事項１要素を取得する際のid(機器オプション変更) */
	private static final String PRGADD_ID_KIKIOP = "3";
// ANK-3777-00-00 ADD START
	/** 置換文字列：%0% */
	private static final String REPLACE_STR_0 = "%0%";
	/** 置換文字列：%1% */
	private static final String REPLACE_STR_1 = "%1%";
	/** ルーター速度種別 */
	private static final String ROUTER_SPEED_SBT = "router_speed_sbt";
	/** 修理交換グループ種別コード */
	private static final String SHURI_KOKAN_GRP_SBT_CD = "shuri_kokan_grp_sbt_cd";
	/** ルーター自動登録:工事有無 */
	private static final String ROUTER_KOJI_UM = "koji_um";
	/** VA有無 */
	private static final String ROUTER_MSG_VA_UM = "va_um";

	/** 住所分割IN項目:都道府県・市区町村 */
	private static final String AD_SPLIT_STATE_CITY = "state_city";
	/** 住所分割IN項目:字 */
	private static final String AD_SPLIT_AZA = "aza";
	/** 住所分割IN項目:丁目・番地等 */
	private static final String AD_SPLIT_CHOME_BNCHI = "chome_bnchi";

	/** eoプレミアムクラブ一覧照会CC */
	private static final String CC_TITLE_FUSV004707 = "FUSV004707CC";
	/** チケット利用申請依頼CC */
	private static final String CC_TITLE_FUSV004708 = "FUSV004708CC";
	/** eoプレミアムクラブ一覧照会CC 共通チェック*/
	private static final String CHK_TITLE_FUSV004707 = "JFUEoPremiumClubShokaiCC";
	/** チケット利用申請依頼CC 共通チェック*/
	private static final String CHK_TITLE_FUSV004708 = "JFUTicketUseShinIraiCC";

	/** SYSID  */
	private static final String KEY_SYSID = "key_sysid";

	/** SYSID  */
	private static final String SYSID = "sysid";
	/** サービス契約番号  */
	private static final String SVC_KEI_NO = "svc_kei_no";
	
// ANK-3099-00-00 ADD START
// ANK-3099-00-00 ADD END

	/** 5G・10Gルーター機器自動交換CCマップ */
	private static final String JKK_ROUTER_KIKI_ATKN_CMN_CC = "JKKRouterKikiAtknCmnCC";

// ANK-3777-00-00 ADD START
	/** 割引サービス契約一覧照会（サービス契約番号）SC */
	private static final String SC_TITLE_FUSV004701 = "FUSV004701SC";
	/** サービス契約番号  */
	private static final String KEY_SVC_KEI_NO = "key_svc_kei_no";
// ANK-3777-00-00 ADD END

	/**
	 * コンストラクタ
	 */
	public FUSV0047_FUSV0047OPDBMapper()
	{
	}

	/**
	 * eo光ホームタイププラン変更CCの上りマッピングをします。
	 * @param bean データBean
	 * @param outputMap マップ
	 * @param func_code 機能コード
	 * @return HashMap 結果マップ
	 */
	@SuppressWarnings("unchecked")
	public HashMap<String, Object> setFUSV004701CC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{
		HashMap<String, Object> parentMap = new HashMap<String, Object>();
		HashMap<String, Object> childMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		childMap.put(FUNC_CODE, func_code);
		// サービス契約番号
		childMap.put(IN_PARAM_SVC_KEI_NO, bean[INFO_IDX_SVC_KEI].sendMessageString(CommonInfoCFConst.SVC_KEI_NO_23, X31CWebConst.DATABEAN_GET_VALUE));
		// サービス契約回線内訳番号
		childMap.put(IN_PARAM_SVC_KEI_KISN_UCWK_NO, bean[INFO_IDX_SVC_KEI_KAI_UCWK].sendMessageString(CommonInfoCFConst.SVC_KEI_KAISEN_UCWK_NO_26, X31CWebConst.DATABEAN_GET_VALUE));
		// 変更前料金コースコード
		childMap
				.put(IN_PARAM_CHG_BF_PCRS_CD, bean[INFO_IDX_SVC_KEI].sendMessageString(CommonInfoCFConst.PCRS_CD_23, X31CWebConst.DATABEAN_GET_VALUE));
		// 変更後料金コースコード
		childMap.put(IN_PARAM_CHG_AF_PCRS_CD, bean[INFO_IDX_SF_BEAN].sendMessageString(FUW01301SFConst.CHG_PCRS_CD, X31CWebConst.DATABEAN_GET_VALUE));
		// PON種別コード
		childMap.put(IN_PARAM_PON_SBT_CD, bean[INFO_IDX_SVC_KEI_KAI_UCWK].sendMessageString(CommonInfoCFConst.PON_SBT_CD_26,
				X31CWebConst.DATABEAN_GET_VALUE));
		// IN項目:料金グループコード
		childMap.put(IN_PARAM_PRC_GRP_CD, bean[INFO_IDX_SVC_KEI].sendMessageString(CommonInfoCFConst.PRC_GRP_CD_23, X31CWebConst.DATABEAN_GET_VALUE));
		// IN項目:メゾン開通実績
		childMap.put(IN_MZ_KAITU_JSK, bean[INFO_IDX_SF_BEAN].sendMessageString(FUW01301SFConst.MZ_KAITU_JSK, X31CWebConst.DATABEAN_GET_VALUE));
		// IN項目:SYSID
		childMap.put(IN_PARAM_SYSID, bean[INFO_IDX_GEN_KOKYAKU].sendMessageString(CommonInfoCFConst.SYSID_22, X31CWebConst.DATABEAN_GET_VALUE));

		// ルータオプションの設定
		setRtOp(bean, childMap);

		parentMap.put(IN_PARAM_KEY, childMap);
		outputMap.put(FUSV004701CC, parentMap);

		// メモリー開放
		parentMap = null;
		childMap = null;

		return outputMap;
	}

	/**
	 * ルータオプションの上りマッピングをします。
	 * @param bean
	 * @param childMap マップ
	 */
	private void setRtOp(X31SDataBeanAccess[] bean, HashMap<String, Object> childMap)
	{
		// 多機能ルーター申込(初期値:申込無)
		String tkn_mskm = JFUStrConst.CD00002_0;
		// ルーター機能オプション申込(初期値:変更無)
		String router_op = JFUStrConst.CD00002_0;
		// 保有ルーター区分
		String hoyuRouterCd = bean[INFO_IDX_SF_BEAN].sendMessageString(FUW01301SFConst.OWN_ROUTER_KBN, X31CWebConst.DATABEAN_GET_VALUE);
		// 変更前料金コース
		String bef_pcrs = bean[INFO_IDX_SVC_KEI].sendMessageString(CommonInfoCFConst.PCRS_CD_23, X31CWebConst.DATABEAN_GET_VALUE);
		// 変更前料金プラン
		String bef_pplan = bean[INFO_IDX_SVC_KEI].sendMessageString(CommonInfoCFConst.PPLAN_CD_23, X31CWebConst.DATABEAN_GET_VALUE);
		// 変更後料金コース
		String chg_pcrs = bean[INFO_IDX_SF_BEAN].sendMessageString(FUW01301SFConst.CHG_PCRS_CD, X31CWebConst.DATABEAN_GET_VALUE);
		// 変更後料金プラン
		String chg_pplan = bean[INFO_IDX_SF_BEAN].sendMessageString(FUW01301SFConst.CHG_PPLAN_CD, X31CWebConst.DATABEAN_GET_VALUE);
		// コース変更時のみ設定
		if (!(bef_pcrs + bef_pplan).equals(chg_pcrs + chg_pplan))
		{
			if ("1".equals(bean[INFO_IDX_SF_BEAN].sendMessageString(FUW01301SFConst.ROUTER_MSKM_PTN, X31CWebConst.DATABEAN_GET_VALUE)))
			{
				// 多機能ルーター交換可の場合(1:申込有)
				tkn_mskm = JFUStrConst.CD00002_1;
			} else if ("2".equals(bean[INFO_IDX_SF_BEAN].sendMessageString(FUW01301SFConst.ROUTER_MSKM_PTN, X31CWebConst.DATABEAN_GET_VALUE)))
			{
				// 多機能ルーター機能追加の場合
				if ("96".equals(hoyuRouterCd) && (JFUStrConst.PCRS_CD_5G10G.contains(chg_pcrs)))
				{
					// 1Gルーターで5G10Gに変更する場合(1:申込有)
					tkn_mskm = JFUStrConst.CD00002_1;
				}
			}
			if (bean[INFO_IDX_SF_BEAN].sendMessageBoolean(FUW01301SFConst.TKN_ROUTER_MUSEN_MSKM, X31CWebConst.DATABEAN_GET_VALUE))
			{
				// 無線選択時は"1"
				router_op = "1";
			}
			else if (bean[INFO_IDX_SF_BEAN].sendMessageBoolean(FUW01301SFConst.TKN_ROUTER_YUSEN_MSKM, X31CWebConst.DATABEAN_GET_VALUE))
			{
				// 有線選択時は"2"
				router_op = "2";
			}
			else
			{
				// 機能申し込まれていない場合(0:申込無)
				tkn_mskm = "0";
				router_op = "0";
			}
		}
		// IN項目:多機能ルーター申込(0:申込無、1:申込有)
		childMap.put(IN_PARAM_TKN_RT_MSKM, tkn_mskm);
		// IN項目:機器オプション申込(0:変更無、1:無線、2:有線)
		childMap.put(IN_PARAM_KIKI_OP_MSKM, router_op);
	}

	/**
	 * eo光ホームタイププラン変更CCの上りマッピングをします。
	 * @param bean
	 * @param outputMap マップ
	 * @param func_code
	 * @param sokuwariUm
	 * @param kosokuwariUm
	 * @param familyPackUm
	 * @param bfWribSvcCd
	 * @param afWribSvcCd
	 * @return HashMap 結果マップ
	 */
	@SuppressWarnings("unchecked")
	public HashMap<String, Object> setFUSV004701CC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code, String sokuwariUm, String kosokuwariUm,
			String familyPackUm, String bfWribSvcCd, String afWribSvcCd, String svcChrgStaYmdSoCho)
	{
		HashMap<String, Object> parentMap = new HashMap<String, Object>();
		HashMap<String, Object> childMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		childMap.put(FUNC_CODE, func_code);

		// IN項目:SYSID
		childMap.put(IN_PARAM_SYSID, bean[INFO_IDX_GEN_KOKYAKU].sendMessageString(CommonInfoCFConst.SYSID_22, X31CWebConst.DATABEAN_GET_VALUE));
		// IN項目:サービス契約番号
		childMap.put(IN_PARAM_SVC_KEI_NO, bean[INFO_IDX_SVC_KEI].sendMessageString(CommonInfoCFConst.SVC_KEI_NO_23, X31CWebConst.DATABEAN_GET_VALUE));
		// IN項目:サービス契約ステータス
		childMap.put(IN_PARAM_SVC_KEI_STAT, bean[INFO_IDX_SVC_KEI].sendMessageString(CommonInfoCFConst.SVC_KEI_STAT_23,
				X31CWebConst.DATABEAN_GET_VALUE));
		// IN項目:更新年月日時分秒_KK0081
		childMap.put(IN_PARAM_UPD_DTM_BF_KK0081, bean[INFO_IDX_SVC_KEI].sendMessageString(CommonInfoCFConst.LAST_UPD_DTM_23,
				X31CWebConst.DATABEAN_GET_VALUE));
		// IN項目:サービス契約内訳番号
		childMap.put(IN_PARAM_SVC_KEI_UCWK_NO, bean[INFO_IDX_SVC_KEI_UCWK].sendMessageString(CommonInfoCFConst.SVC_KEI_UCWK_NO_24,
				X31CWebConst.DATABEAN_GET_VALUE));
		// IN項目:更新年月日時分秒_KK0161
		childMap.put(IN_PARAM_UPD_DTM_BF_KK0161, bean[INFO_IDX_SVC_KEI_UCWK].sendMessageString(CommonInfoCFConst.LAST_UPD_DTM_24,
				X31CWebConst.DATABEAN_GET_VALUE));
		// IN項目:請求契約番号
		childMap.put(IN_PARAM_SEIKY_KEI_NO, bean[INFO_IDX_SEIKY_KEI].sendMessageString(CommonInfoCFConst.SEIKY_KEI_NO_32,
				X31CWebConst.DATABEAN_GET_VALUE));
		// IN項目:提供方式契約番号
		childMap.put(IN_PARAM_TK_HOSHIKI_KEI_NO, bean[INFO_IDX_SVC_KEI].sendMessageString(CommonInfoCFConst.TK_HOSHIKI_KEI_NO_23,
				X31CWebConst.DATABEAN_GET_VALUE));
		if (bean[INFO_IDX_WRIB_SVC_KEI] != null)
		{
			// IN項目:割引サービス契約番号
			childMap.put(IN_PARAM_WRIB_SVC_KEI_NO, bean[INFO_IDX_WRIB_SVC_KEI].sendMessageString(CommonInfoCFConst.WRIB_SVC_KEI_NO_30,
					X31CWebConst.DATABEAN_GET_VALUE));
			// IN項目:割引サービス契約ステータス
			childMap.put(IN_PARAM_WRIB_SVC_KEI_STAT, bean[INFO_IDX_WRIB_SVC_KEI].sendMessageString(CommonInfoCFConst.WRIB_SVC_KEI_STAT_30,
					X31CWebConst.DATABEAN_GET_VALUE));
			// IN項目:更新年月日時分秒_KK0451
			childMap.put(IN_PARAM_UPD_DTM_BF_KK0451, bean[INFO_IDX_WRIB_SVC_KEI].sendMessageString(CommonInfoCFConst.LAST_UPD_DTM_30,
					X31CWebConst.DATABEAN_GET_VALUE));
		}
		// IN項目:料金グループコード
		childMap.put(IN_PARAM_PRC_GRP_CD, bean[INFO_IDX_SVC_KEI].sendMessageString(CommonInfoCFConst.PRC_GRP_CD_23, X31CWebConst.DATABEAN_GET_VALUE));
		// IN項目:変更前料金コースコード
		childMap
				.put(IN_PARAM_CHG_BF_PCRS_CD, bean[INFO_IDX_SVC_KEI].sendMessageString(CommonInfoCFConst.PCRS_CD_23, X31CWebConst.DATABEAN_GET_VALUE));
		// IN項目:変更前料金プランコード
		childMap.put(IN_PARAM_CHG_BF_PPLAN_CD, bean[INFO_IDX_SVC_KEI].sendMessageString(CommonInfoCFConst.PPLAN_CD_23,
				X31CWebConst.DATABEAN_GET_VALUE));
		// IN項目:変更後料金コースコード
		childMap.put(IN_PARAM_CHG_AF_PCRS_CD, bean[INFO_IDX_SF_BEAN].sendMessageString(FUW01301SFConst.CHG_PCRS_CD, X31CWebConst.DATABEAN_GET_VALUE));
		// IN項目:変更後料金プランコード
		childMap.put(IN_PARAM_CHG_AF_PPLAN_CD, bean[INFO_IDX_SF_BEAN]
				.sendMessageString(FUW01301SFConst.CHG_PPLAN_CD, X31CWebConst.DATABEAN_GET_VALUE));
		// IN項目:一時金設定番号_工事費
		childMap.put(IN_PARAM_ICJKN_SETTE_NO_KJ, bean[INFO_IDX_SF_BEAN].sendMessageString(FUW01301SFConst.ICJKN_SETTE_NO_KJ,
				X31CWebConst.DATABEAN_GET_VALUE));
		// IN項目:一時金設定番号_事務手数料
		childMap.put(IN_PARAM_ICJKN_SETTE_NO_JM, bean[INFO_IDX_SF_BEAN].sendMessageString(FUW01301SFConst.ICJKN_SETTE_NO_JM,
				X31CWebConst.DATABEAN_GET_VALUE));
		// IN項目:一時支払料金番号_工事費
		childMap.put(IN_PARAM_TMP_PAY_PRC_NO_KJ, bean[INFO_IDX_SF_BEAN].sendMessageString(FUW01301SFConst.TMP_PAY_PRC_NO_KJ,
				X31CWebConst.DATABEAN_GET_VALUE));
		// IN項目:一時支払料金番号_事務手数料
		childMap.put(IN_PARAM_TMP_PAY_PRC_NO_JM, bean[INFO_IDX_SF_BEAN].sendMessageString(FUW01301SFConst.TMP_PAY_PRC_NO_JM,
				X31CWebConst.DATABEAN_GET_VALUE));

		// IN項目:送付先更新フラグ
		childMap.put(IN_PARAM_SENDTO_CHG_FLG, bean[INFO_IDX_SF_BEAN].sendMessageString(FUW01301SFConst.SENDTO_CFM_FLG, X31CWebConst.DATABEAN_GET_VALUE));
		// IN項目:送付先氏名
		childMap.put(IN_PARAM_SENDTO_NAME, bean[INFO_IDX_SF_BEAN].sendMessageString(FUW01301SFConst.SENDTO_NAME, X31CWebConst.DATABEAN_GET_VALUE));
		// IN項目:送付先氏名カナ
		childMap.put(IN_PARAM_SENDTO_NAME_KANA, bean[INFO_IDX_SF_BEAN].sendMessageString(FUW01301SFConst.SENDTO_NAME_KANA, X31CWebConst.DATABEAN_GET_VALUE));
		// IN項目:送付先郵便番号
		childMap.put(IN_PARAM_SENDTO_ZIP_CD, bean[INFO_IDX_SF_BEAN].sendMessageString(FUW01301SFConst.SENDTO_ZIP_CD, X31CWebConst.DATABEAN_GET_VALUE));
		// IN項目:送付先建物名
		childMap.put(IN_PARAM_SENDTO_BLD, bean[INFO_IDX_SF_BEAN].sendMessageString(FUW01301SFConst.SENDTO_ADDRESS_MANSION,
				X31CWebConst.DATABEAN_GET_VALUE));
		// IN項目:送付先部屋番号
		childMap.put(IN_PARAM_SENDTO_ROOM, bean[INFO_IDX_SF_BEAN].sendMessageString(FUW01301SFConst.SENDTO_ADDRESS_ROOM,
				X31CWebConst.DATABEAN_GET_VALUE));
		// IN項目:送付先電話番号
		childMap.put(IN_PARAM_SENDTO_TELNO, bean[INFO_IDX_SF_BEAN].sendMessageString(FUW01301SFConst.SENDTO_TELNO, X31CWebConst.DATABEAN_GET_VALUE));

		// ◆サービス契約内訳情報リスト
		X31SDataBeanAccessArray svcKeiUcwkArray = bean[INFO_IDX_SVC_KEI].getDataBeanArray(CommonInfoCFConst.SVC_KEI_UCWK_INFO);

		List<Map<String, String>> fixedIpList = new ArrayList<Map<String, String>>();
		List<Map<String, String>> multiSessionList = new ArrayList<Map<String, String>>();

		int svcKeiUwListSize = svcKeiUcwkArray.getCount();
		for (int i = 0; i < svcKeiUwListSize; i++)
		{
			X31SDataBeanAccessArray opSvcKeiInfoArray = svcKeiUcwkArray.getDataBean(i).getDataBeanArray(CommonInfoCFConst.OP_SVC_KEI_INFO);
			int opSvcKeiListSize = opSvcKeiInfoArray.getCount();
			for (int j = 0; j < opSvcKeiListSize; j++)
			{
				X31SDataBeanAccess tmpOpSvcKeiInfoBean = opSvcKeiInfoArray.getDataBean(j);
				String opSvcStat = tmpOpSvcKeiInfoBean.sendMessageString(CommonInfoCFConst.OP_SVC_KEI_STAT_28, X31CWebConst.DATABEAN_GET_VALUE);
				String opSvcCd = tmpOpSvcKeiInfoBean.sendMessageString(CommonInfoCFConst.OP_SVC_CD_28, X31CWebConst.DATABEAN_GET_VALUE);
				String opSvcKeiNo = tmpOpSvcKeiInfoBean.sendMessageString(CommonInfoCFConst.OP_SVC_KEI_NO_28, X31CWebConst.DATABEAN_GET_VALUE);

				if (!JFUStrConst.CD00037_910.equals(opSvcStat) && !JFUStrConst.CD00037_920.equals(opSvcStat))
				{
					// 固定IP
					if (JFUStrConst.CD00136_B004.equals(opSvcCd))
					{
						Map<String, String> map = new HashMap<String, String>();
						// IN項目:オプションサービス契約番号_固定IPアドレス
						map.put(IN_PARAM_OP_SVC_KEI_NO_FIXED_IP, opSvcKeiNo);

						// リストに格納
						fixedIpList.add(map);
					}

					// マルチセッション
					if (JFUStrConst.CD00136_B015.equals(opSvcCd))
					{
						Map<String, String> map = new HashMap<String, String>();
						// IN項目:オプションサービス契約番号_マルチセッション
						map.put(IN_PARAM_OP_SVC_KEI_NO_MULTI_SESSION, opSvcKeiNo);

						// リストに格納
						multiSessionList.add(map);
					}
				}
			}
		}

		// IN項目:固定IPアドレスリスト
		childMap.put(IN_PARAM_KOTEI_IP_LIST, fixedIpList);
		// IN項目:マルチセッションリスト
		childMap.put(IN_PARAM_MULTI_SESSION_LIST, multiSessionList);
		// IN項目:サービス契約回線内訳番号
		childMap.put(IN_PARAM_SVC_KEI_KAISEN_UCWK_NO, bean[INFO_IDX_SVC_KEI_KAI_UCWK].sendMessageString(CommonInfoCFConst.SVC_KEI_KAISEN_UCWK_NO_26,
				X31CWebConst.DATABEAN_GET_VALUE));
		// IN項目:お客様名
		childMap.put(IN_PARAM_CUST_NM, bean[INFO_IDX_GEN_KOKYAKU].sendMessageString(CommonInfoCFConst.CUST_NM_22, X31CWebConst.DATABEAN_GET_VALUE));
		// IN項目:お客様カナ名
		childMap.put(IN_PARAM_CUST_KANA, bean[INFO_IDX_GEN_KOKYAKU]
				.sendMessageString(CommonInfoCFConst.CUST_KANA_22, X31CWebConst.DATABEAN_GET_VALUE));
		// IN項目:契約者電話番号
		childMap
				.put(IN_PARAM_KEISHA_TELNO, bean[INFO_IDX_GEN_KOKYAKU].sendMessageString(CommonInfoCFConst.TELNO_22, X31CWebConst.DATABEAN_GET_VALUE));
		// IN項目:契約者住所コード
		childMap.put(IN_PARAM_KEISHA_AD_CD, bean[INFO_IDX_GEN_KOKYAKU].sendMessageString(CommonInfoCFConst.KEISHA_AD_CD_22,
				X31CWebConst.DATABEAN_GET_VALUE));
		// IN項目:契約者郵便番号
		childMap.put(IN_PARAM_KEISHA_PCD, bean[INFO_IDX_GEN_KOKYAKU].sendMessageString(CommonInfoCFConst.KEISHA_PCD_22,
				X31CWebConst.DATABEAN_GET_VALUE));
		// IN項目:契約者都道府県名
		childMap.put(IN_PARAM_KEISHA_STATE_NM, bean[INFO_IDX_GEN_KOKYAKU].sendMessageString(CommonInfoCFConst.KEISHA_STATE_NM_22,
				X31CWebConst.DATABEAN_GET_VALUE));
		// IN項目:契約者市区町村名
		childMap.put(IN_PARAM_KEISHA_CITY_NM, bean[INFO_IDX_GEN_KOKYAKU].sendMessageString(CommonInfoCFConst.KEISHA_CITY_NM_22,
				X31CWebConst.DATABEAN_GET_VALUE));
		// IN項目:契約者大字通称名
		childMap.put(IN_PARAM_KEISHA_OAZTSU_NM, bean[INFO_IDX_GEN_KOKYAKU].sendMessageString(CommonInfoCFConst.KEISHA_OAZTSU_NM_22,
				X31CWebConst.DATABEAN_GET_VALUE));
		// IN項目:契約者字丁目名
		childMap.put(IN_PARAM_KEISHA_AZCHO_NM, bean[INFO_IDX_GEN_KOKYAKU].sendMessageString(CommonInfoCFConst.KEISHA_AZCHO_NM_22,
				X31CWebConst.DATABEAN_GET_VALUE));
		// IN項目:契約者住所番地号
		childMap.put(IN_PARAM_KEISHA_AD_BNCHIGO, bean[INFO_IDX_GEN_KOKYAKU].sendMessageString(CommonInfoCFConst.KEISHA_BNCHIGO_22,
				X31CWebConst.DATABEAN_GET_VALUE));
		// IN項目:契約者住所補記・建物名
		childMap.put(IN_PARAM_KEISHA_ADRTTM, bean[INFO_IDX_GEN_KOKYAKU].sendMessageString(CommonInfoCFConst.KEISHA_ADRTTM_22,
				X31CWebConst.DATABEAN_GET_VALUE));
		// IN項目:契約者住所補記・部屋番号
		childMap.put(IN_PARAM_KEISHA_ADRRM, bean[INFO_IDX_GEN_KOKYAKU].sendMessageString(CommonInfoCFConst.KEISHA_ADRRM_22,
				X31CWebConst.DATABEAN_GET_VALUE));
		// IN項目:回線場所番号
		childMap.put(IN_PARAM_KAISEN_PLACE_NO, bean[INFO_IDX_SVC_KEI_KAI_UCWK].sendMessageString(CommonInfoCFConst.KAISEN_PLACE_NO_26,
				X31CWebConst.DATABEAN_GET_VALUE));
		// IN項目:回線場所住所コード
		childMap.put(IN_PARAM_KAISEN_PLACE_AD_CD, bean[INFO_IDX_SVC_KEI_KAI_UCWK].sendMessageString(CommonInfoCFConst.KAISEN_PLACE_AD_CD_26,
				X31CWebConst.DATABEAN_GET_VALUE));
		// IN項目:回線場所郵便番号
		childMap.put(IN_PARAM_KAISEN_PLACE_PCD, bean[INFO_IDX_SVC_KEI_KAI_UCWK].sendMessageString(CommonInfoCFConst.KAISEN_PLACE_PCD_26,
				X31CWebConst.DATABEAN_GET_VALUE));
		// IN項目:回線場所都道府県名
		childMap.put(IN_PARAM_KAISEN_PLACE_STATE_NM, bean[INFO_IDX_SVC_KEI_KAI_UCWK].sendMessageString(CommonInfoCFConst.KAISEN_PLACE_STATE_NM_26,
				X31CWebConst.DATABEAN_GET_VALUE));
		// IN項目:回線場所市区町村名
		childMap.put(IN_PARAM_KAISEN_PLACE_CITY_NM, bean[INFO_IDX_SVC_KEI_KAI_UCWK].sendMessageString(CommonInfoCFConst.KAISEN_PLACE_CITY_NM_26,
				X31CWebConst.DATABEAN_GET_VALUE));
		// IN項目:回線場所大字通称名
		childMap.put(IN_PARAM_KAISEN_PLACE_OAZTSU_NM, bean[INFO_IDX_SVC_KEI_KAI_UCWK].sendMessageString(CommonInfoCFConst.KAISEN_PLACE_OAZTSU_NM_26,
				X31CWebConst.DATABEAN_GET_VALUE));
		// IN項目:回線場所字丁目名
		childMap.put(IN_PARAM_KAISEN_PLACE_AZCHO_NM, bean[INFO_IDX_SVC_KEI_KAI_UCWK].sendMessageString(CommonInfoCFConst.KAISEN_PLACE_AZCHO_NM_26,
				X31CWebConst.DATABEAN_GET_VALUE));
		// IN項目:回線場所番地号
		childMap.put(IN_PARAM_KAISEN_PLACE_BNCHIGO, bean[INFO_IDX_SVC_KEI_KAI_UCWK].sendMessageString(CommonInfoCFConst.KAISEN_PLACE_BNCHIGO_26,
				X31CWebConst.DATABEAN_GET_VALUE));
		// IN項目:回線場所住所補記・建物名
		childMap.put(IN_PARAM_KAISEN_PLACE_ADRTTM, bean[INFO_IDX_SVC_KEI_KAI_UCWK].sendMessageString(CommonInfoCFConst.KAISEN_PLACE_ADRTTM_26,
				X31CWebConst.DATABEAN_GET_VALUE));
		// IN項目:回線場所住所補記・部屋番号
		childMap.put(IN_PARAM_KAISEN_PLACE_ADRRM, bean[INFO_IDX_SVC_KEI_KAI_UCWK].sendMessageString(CommonInfoCFConst.KAISEN_PLACE_ADRRM_26,
				X31CWebConst.DATABEAN_GET_VALUE));
		// IN項目:住所未確定フラグ
		childMap.put(IN_PARAM_AD_MI_FIX_FLG, bean[INFO_IDX_SVC_KEI_KAI_UCWK].sendMessageString(CommonInfoCFConst.KISN_PLC_AD_MI_FIX_FLG_26,
				X31CWebConst.DATABEAN_GET_VALUE));
		// IN項目:回線場所電話番号
		childMap.put(IN_PARAM_KAISEN_PLACE_TELNO, bean[INFO_IDX_SVC_KEI_KAI_UCWK].sendMessageString(CommonInfoCFConst.KAISEN_PLACE_TELNO_26,
				X31CWebConst.DATABEAN_GET_VALUE));
		// IN項目:経度
		childMap.put(IN_PARAM_LGTD, bean[INFO_IDX_SVC_KEI_KAI_UCWK].sendMessageString(CommonInfoCFConst.LGTD_26, X31CWebConst.DATABEAN_GET_VALUE));
		// IN項目:緯度
		childMap.put(IN_PARAM_LTTD, bean[INFO_IDX_SVC_KEI_KAI_UCWK].sendMessageString(CommonInfoCFConst.LTTD_26, X31CWebConst.DATABEAN_GET_VALUE));
		// IN項目:座標補正有無
		childMap.put(IN_PARAM_ZAHYO_HOSEI_UM, bean[INFO_IDX_SVC_KEI_KAI_UCWK].sendMessageString(CommonInfoCFConst.ZAHYO_HOSEI_UM_26,
				X31CWebConst.DATABEAN_GET_VALUE));
		// IN項目:住所形態コード
		childMap.put(IN_PARAM_AD_FORM_CD, bean[INFO_IDX_SVC_KEI_KAI_UCWK].sendMessageString(CommonInfoCFConst.AD_FORM_CD_26,
				X31CWebConst.DATABEAN_GET_VALUE));
		// IN項目:集合住宅入居階数コード
		childMap.put(IN_PARAM_SHUGJ_NYUKYO_FLR_CNT_CD, bean[INFO_IDX_SVC_KEI_KAI_UCWK].sendMessageString(
				CommonInfoCFConst.SHUGJ_NYUKYO_FLR_CNT_CD_26, X31CWebConst.DATABEAN_GET_VALUE));
		// IN項目:戸建建築階数コード
		childMap.put(IN_PARAM_KODATE_KCKU_FLR_CNT_CD, bean[INFO_IDX_SVC_KEI_KAI_UCWK].sendMessageString(CommonInfoCFConst.KODATE_KCKU_FLR_CNT_CD_26,
				X31CWebConst.DATABEAN_GET_VALUE));
		// IN項目:方角コード1
		childMap.put(IN_PARAM_DIRECTION_CD_1, bean[INFO_IDX_SVC_KEI_KAI_UCWK].sendMessageString(CommonInfoCFConst.DIRECTION_CD_1_26,
				X31CWebConst.DATABEAN_GET_VALUE));
		// IN項目:方角コード2
		childMap.put(IN_PARAM_DIRECTION_CD_2, bean[INFO_IDX_SVC_KEI_KAI_UCWK].sendMessageString(CommonInfoCFConst.DIRECTION_CD_2_26,
				X31CWebConst.DATABEAN_GET_VALUE));
		// PON種別コード
		childMap.put(IN_PARAM_PON_SBT_CD, bean[INFO_IDX_SVC_KEI_KAI_UCWK].sendMessageString(CommonInfoCFConst.PON_SBT_CD_26,
				X31CWebConst.DATABEAN_GET_VALUE));

		// 起点変電所コード
		childMap.put(IN_PARAM_KITEN_HDSHO_CD, bean[INFO_IDX_SVC_KEI_KAI_UCWK].sendMessageString(CommonInfoCFConst.KITEN_HDSHO_CD_26,
				X31CWebConst.DATABEAN_GET_VALUE));
		// 集約局コード
		childMap.put(IN_PARAM_SHYAKK_CD, bean[INFO_IDX_SVC_KEI_KAI_UCWK].sendMessageString(CommonInfoCFConst.SHYAKK_CD_26,
				X31CWebConst.DATABEAN_GET_VALUE));
		// マンション物件番号
		childMap.put(IN_PARAM_MANSION_BUKKEN_NO, bean[INFO_IDX_SVC_KEI_KAI_UCWK].sendMessageString(CommonInfoCFConst.MANSION_BUKKEN_NO_26,
				X31CWebConst.DATABEAN_GET_VALUE));
		// 回線コード
		childMap.put(IN_PARAM_KAISEN_CD, bean[INFO_IDX_SVC_KEI_KAI_UCWK].sendMessageString(CommonInfoCFConst.KAISEN_CD_26,
				X31CWebConst.DATABEAN_GET_VALUE));
		// 関電営業所コード
		childMap.put(IN_PARAM_KEPCO_BUSIOFFICE_CD, bean[INFO_IDX_SVC_KEI_KAI_UCWK].sendMessageString(CommonInfoCFConst.KEPCO_BUSIOFFICE_CD_26,
				X31CWebConst.DATABEAN_GET_VALUE));

		// 即割有無
		childMap.put(IN_PARAM_SOKUWARI_UM, sokuwariUm);
		// 高速割有無
		childMap.put(IN_PARAM_KOSOKUWARI_UM, kosokuwariUm);
		// ファミリー契約フラグ
		childMap.put(IN_PARAM_FAMILY_KEI_FLG, familyPackUm);
		// 変更前割引サービスコード
		childMap.put(IN_PARAM_CHGB_WRIB_SVC_CD, bfWribSvcCd);
		// 割引サービスコード
		childMap.put(IN_PARAM_WRIB_SVC_CD, afWribSvcCd);
		// 即割または長割のサービス課金開始年月日
		childMap.put(IN_PARAM_SVC_CHRG_STAYMD, svcChrgStaYmdSoCho);

		// 機器提供サービス契約番号(ONU) 
		childMap.put(IN_PARAM_KKTK_SVC_KEI_NO_ONU, bean[INFO_IDX_KKTK_SVC_KEI].sendMessageString(CommonInfoCFConst.KKTK_SVC_KEI_NO_19,
				X31CWebConst.DATABEAN_GET_VALUE));
		// 宅内機器型式コード(ONU) 
		childMap.put(IN_PARAM_TAKNKIKI_MODEL_CD_ONU, bean[INFO_IDX_KKTK_SVC_KEI].sendMessageString(CommonInfoCFConst.TAKNKIKI_MODEL_CD_27,
				X31CWebConst.DATABEAN_GET_VALUE));
		// 機器製造番号(ONU) 
		childMap.put(IN_PARAM_KIKI_SEIZO_NO_ONU, bean[INFO_IDX_KKTK_SVC_KEI].sendMessageString(CommonInfoCFConst.KIKI_SEIZO_NO_27,
				X31CWebConst.DATABEAN_GET_VALUE));

		// IN項目:メゾン開通実績
		childMap.put(IN_MZ_KAITU_JSK, bean[INFO_IDX_SF_BEAN].sendMessageString(FUW01301SFConst.MZ_KAITU_JSK, X31CWebConst.DATABEAN_GET_VALUE));
		// IN項目:工事案件備考１
		childMap.put(IN_KOJIAK_BIKO_1, getKojiAkBiko1(bean[INFO_IDX_SF_BEAN]));
		// ルータオプションの設定
		setRtOp(bean, childMap);

		// IN項目:多機能ルーター申込(0:申込無、1:申込有)
		String tkn_mskm = (String)childMap.get(IN_PARAM_TKN_RT_MSKM);
		// IN項目:機器オプション申込(0:変更無、1:無線、2:有線)
		String router_op = (String)childMap.get(IN_PARAM_KIKI_OP_MSKM);

// ANK-3777-00-00 ADD END
// ANK-3872-00-00 ADD START
		// IN項目:他システム連携_工事連絡先電話番号
		childMap.put(IN_PARAM_TSYRN_KJ_RRKS_TLN, bean[INFO_IDX_SF_BEAN].sendMessageString(FUW01301SFConst.RRKS_TELNO, X31CWebConst.DATABEAN_GET_VALUE));
// ANK-3872-00-00 ADD END

		// ルータ新料金コース適用フラグ
		String rtNewPcrsAplyFlg = bean[INFO_IDX_SF_BEAN].sendMessageString(FUW01301SFConst.RT_NEW_PCRS_APLY_FLG, X31CWebConst.DATABEAN_GET_VALUE);
		// 工事あり、無線申込の場合
		if ("1".equals(bean[INFO_IDX_SF_BEAN].sendMessageString(FUW01301SFConst.CFM_CHK_RAN_FLG, X31CWebConst.DATABEAN_GET_VALUE))
				&& "1".equals(router_op))
		{
			// IN項目:ルータ新料金コース適用フラグ (1:すぐに利用する、2:新コースから利用する)
			childMap.put(IN_PARAM_RT_NEW_PCRS_APLY_FLG, rtNewPcrsAplyFlg);
		}

		// 進捗特記事項1
		try
		{
			// 定義を取得
			Map<String, String> pplanNmMap = JFUWebCommon.getDispItemsAsMap(PATH_PPLAN_NM, QUERY_ATTR_NAME);

			// 変更前料金プラン名格納
			String bfPplanNm = JFUStrConst.EMPTY;
			// 変更後料金プラン名格納
			String afPplanNm = JFUStrConst.EMPTY;

			// 変更前料金プラン判別文字列
			String bfPplanHbtStr = bean[INFO_IDX_SF_BEAN].sendMessageString(FUW01301SFConst.NOW_PCRS_STR, X31CWebConst.DATABEAN_GET_VALUE);
			// 変更後料金プラン判別文字列
			String afPplanHbtStr = bean[INFO_IDX_SF_BEAN].sendMessageString(FUW01301SFConst.CHG_PCRS_STR, X31CWebConst.DATABEAN_GET_VALUE);

			if (pplanNmMap != null && pplanNmMap.size() > 0)
			{
				// 変更前料金プラン名取得
				bfPplanNm = pplanNmMap.get(bfPplanHbtStr);
				// 変更後料金プラン名取得
				afPplanNm = pplanNmMap.get(afPplanHbtStr);
			}

			// 設定文字列取得
			String prgTkjk1 = JFUWebCommon.getPrgAddTkjkFst(JFUScreenConst.SCREEN_ID_FUW01302, PRGADD_ID);
			String prgTkjk1DnsDoiUm = JFUWebCommon.getPrgAddTkjkFst(JFUScreenConst.SCREEN_ID_FUW01302, PRGADD_ID_KNYTCS);;

			// 特記事項1(コース変更)
			if (prgTkjk1 != null && prgTkjk1.length() > 0)
			{
				// 置換後マップに設定
				prgTkjk1 = prgTkjk1.replace(REPLACE_STR_0, bfPplanNm);
				prgTkjk1 = prgTkjk1.replace(REPLACE_STR_1, afPplanNm);
				childMap.put(PRG_TKJK_1, prgTkjk1);
			}
			else
			{
				DEBUG_LOG.debug("※進捗特記事項1(コース変更)がXMLから正常に取得できませんでした。処理は続行します。");
			}

			// 特記事項1(契約内容通知書電子交付同意有無)
			if (prgTkjk1DnsDoiUm != null && prgTkjk1DnsDoiUm.length() > 0)
			{
				boolean selDnsDoi = bean[INFO_IDX_SF_BEAN].sendMessageBoolean(FUW01301SFConst.SVKEINAIYOTCHISHO_DENSHISFDOIINFO,
						X31CWebConst.DATABEAN_GET_VALUE);

				// 置換後マップに設定
				if (selDnsDoi)
				{
					prgTkjk1DnsDoiUm = prgTkjk1DnsDoiUm.replace(REPLACE_STR_0, STR_NASHI);
					prgTkjk1DnsDoiUm = prgTkjk1DnsDoiUm.replace(REPLACE_STR_1, STR_ARI);
					childMap.put(IN_PARAM_PRG_TKJK_1_DNSKHDOI_UM, prgTkjk1DnsDoiUm);
				}
				else
				{
					// 同意有無が「有」でない場合更新しないため空文字を設定
					childMap.put(IN_PARAM_PRG_TKJK_1_DNSKHDOI_UM, JFUStrConst.EMPTY);
				}
			}
			else
			{
				DEBUG_LOG.debug("※進捗特記事項1(契約内容通知書電子交付同意有無)がXMLから正常に取得できませんでした。処理は続行します。");
			}
// ANK-3777-00-00 ADD START
			// 送付先住所聞き取り状態取得
			String sendtoCfmFlg = bean[INFO_IDX_SF_BEAN].sendMessageString(FUW01301SFConst.SENDTO_CFM_FLG, X31CWebConst.DATABEAN_GET_VALUE);
			String sendZipCode = JFUStrConst.EMPTY;
			String sendAddress = JFUStrConst.EMPTY;
			if (JFUStrConst.S_ONE.equals(sendtoCfmFlg))
			{
				sendZipCode = bean[INFO_IDX_SF_BEAN].sendMessageString(FUW01301SFConst.DISP_SENDTO_ZIP_CD, X31CWebConst.DATABEAN_GET_VALUE);
				sendAddress = bean[INFO_IDX_SF_BEAN].sendMessageString(FUW01301SFConst.DISP_SENDTO_ADDRESS, X31CWebConst.DATABEAN_GET_VALUE);
			}
			else
			{
				sendZipCode = (String)bean[INFO_IDX_SF_BEAN].sendMessageString(FUW01301SFConst.USE_PLACE_ZIP_CD, X31CWebConst.DATABEAN_GET_VALUE);
				sendAddress = bean[INFO_IDX_SF_BEAN].sendMessageString(FUW01301SFConst.DISP_USE_PLACE_ADDRESS, X31CWebConst.DATABEAN_GET_VALUE);
			}
			if ("1".equals(tkn_mskm))
			{
				// 進捗ステータス(3501:機種変更申込受付)
				childMap.put(PRG_STAT_ROUTER, JFUStrConst.CD00647_3501);
				// 多機能ルーター機種変更の進捗マッピングを追加
				prgTkjk1 = JFUWebCommon.getPrgAddTkjkFst(JFUScreenConst.SCREEN_ID_FUW01302, PRGADD_ID_RTMSKM);
				String prgTkjk2 = null;
				if (prgTkjk1 != null && prgTkjk1.length() > 0)
				{
					// 置換後マップに設定
					prgTkjk1 = prgTkjk1.replace(REPLACE_STR_0, sendZipCode);
					prgTkjk1 = prgTkjk1.replace(REPLACE_STR_1, sendAddress);

					// 128桁よりも桁数が多い場合、129桁目以降を進捗特記事項2へセットする
					if (128 < prgTkjk1.length())
					{
						prgTkjk2 = prgTkjk1.substring(128, prgTkjk1.length());
						prgTkjk1 = prgTkjk1.substring(0, 128);

						if (128 <= prgTkjk2.length())
						{
							prgTkjk2 = prgTkjk2.substring(0, 128);
						}
						childMap.put(PRG_TKJK_ROUTER_2, prgTkjk2);
					}
					childMap.put(PRG_TKJK_ROUTER_1, prgTkjk1);

				}
				else
				{
					DEBUG_LOG.debug("※進捗特記事項1(機種変更申込受付)がXMLから正常に取得できませんでした。処理は続行します。");
				}
			}
			else if (!"0".equals(router_op))
			{
				// 進捗ステータス(H001:機器オプション設定完了)
				childMap.put(PRG_STAT_ROUTER, JFUStrConst.CD00647_H001);
				// 機器オプション変更の進捗マッピングを追加
				prgTkjk1 = JFUWebCommon.getPrgAddTkjkFst(JFUScreenConst.SCREEN_ID_FUW01302, PRGADD_ID_KIKIOP);
				String kikiOpMngn = JFUStrConst.EMPTY;
				String rtNewPMngn = JFUStrConst.EMPTY;

				// ルータ新料金コース適用フラグ
				if ("1".equals(childMap.get(IN_PARAM_RT_NEW_PCRS_APLY_FLG)))
				{
					rtNewPMngn = "　ルーター機能の有効タイミング：新コースから利用する";
				}
				else
				{
					rtNewPMngn = "　ルーター機能の有効タイミング：すぐに利用する";
				}
				// ルーター機能追加の場合
				if ("2".equals(bean[INFO_IDX_SF_BEAN].sendMessageString(FUW01301SFConst.ROUTER_MSKM_PTN, X31CWebConst.DATABEAN_GET_VALUE)))
				{
					if ("1".equals(router_op))
					{
						kikiOpMngn = "なし→無線" + rtNewPMngn;
					}
					else if ("2".equals(router_op))
					{
						kikiOpMngn = "なし→有線" + rtNewPMngn;
					}
				}
				// ルーター機能変更の場合
				else
				{
					if ("1".equals(router_op))
					{
						kikiOpMngn = "有線→無線" + rtNewPMngn;
					}
					else if ("2".equals(router_op))
					{
						kikiOpMngn = "無線→有線" + rtNewPMngn;
					}
				}
				if (prgTkjk1 != null && prgTkjk1.length() > 0)
				{
					prgTkjk1 = prgTkjk1.replace(REPLACE_STR_0, kikiOpMngn);
					childMap.put(PRG_TKJK_ROUTER_1, kikiOpMngn);
					childMap.put(PRG_TKJK_ROUTER_2, JFUStrConst.EMPTY);
				}
				else
				{
					DEBUG_LOG.debug("※進捗特記事項1(機器オプション設定完了)がXMLから正常に取得できませんでした。処理は続行します。");
				}
			}
			else
			{
				childMap.put(PRG_STAT_ROUTER, JFUStrConst.EMPTY);
				childMap.put(PRG_TKJK_ROUTER_1, JFUStrConst.EMPTY);
				childMap.put(PRG_TKJK_ROUTER_2, JFUStrConst.EMPTY);
			}
// ANK-3777-00-00 ADD END
		}
		catch (Exception e)
		{
			DEBUG_LOG.debug("※進捗特記事項1がXMLから正常に取得できませんでした。処理は続行します。");
		}

		// キャンペーン対象有無の判定
		X31SDataBeanAccessArray campArray = bean[INFO_IDX_SF_BEAN].getDataBeanArray(FUW01301SFConst.CMP_MONGON_LIST);
		if (null != campArray)
		{
			X31SDataBeanAccess campBean = campArray.getDataBean(0);

			if (null != campBean)
			{
				// キャンペーン対象の場合
				childMap.put(CMP_TRGT_UM, CMP_TRGT_UM_1);
			}
			else
			{
				// キャンペーン対象で無い場合
				childMap.put(CMP_TRGT_UM, CMP_TRGT_UM_0);
			}
		}
		else
		{
			// キャンペーン対象で無い場合
			childMap.put(CMP_TRGT_UM, CMP_TRGT_UM_0);
		}

		// IN項目:契約内容通知書電子交付同意有無
		boolean dnskhDoiUm = bean[INFO_IDX_SF_BEAN]
		                          .sendMessageBoolean(FUW01301SFConst.SVKEINAIYOTCHISHO_DENSHISFDOIINFO, X31CWebConst.DATABEAN_GET_VALUE);
		if (dnskhDoiUm)
		{
			// 有
			childMap.put(IN_PARAM_KNYTCS_DNSKH_DOI_UM, JFUStrConst.CD00002_1);
		}
		else
		{
			// 無
			childMap.put(IN_PARAM_KNYTCS_DNSKH_DOI_UM, JFUStrConst.CD00002_0);
		}

		// サービス契約番号 → 割引サービス提供条件一覧照会マップ.ＫＥＹ＿サービス契約番号
		parentMap.put(KEY_CMP_SVC_KEI_NO, bean[INFO_IDX_SVC_KEI].sendMessageString(CommonInfoCFConst.SVC_KEI_NO_23, X31CWebConst.DATABEAN_GET_VALUE));
		// 料金コースコード → 割引サービス提供条件一覧照会マップ.ＫＥＹ＿料金コースコード
		parentMap.put(KEY_CMP_PCRS_CD, bean[INFO_IDX_SVC_KEI].sendMessageString(CommonInfoCFConst.PCRS_CD_23, X31CWebConst.DATABEAN_GET_VALUE));
		// 料金プランコード → 割引サービス提供条件一覧照会マップ.ＫＥＹ＿料金プランコード
		parentMap.put(KEY_CMP_PPLAN_CD, bean[INFO_IDX_SVC_KEI].sendMessageString(CommonInfoCFConst.PPLAN_CD_23, X31CWebConst.DATABEAN_GET_VALUE));
		// 固定値 "08" : グレードアップキャンペーン → 割引サービス提供条件一覧照会マップ.ＫＥＹ＿割引サービス適用条件種別コード
		Map<String, String> wrsvAplyJknSbtCdMap = new HashMap<String, String>();
		wrsvAplyJknSbtCdMap.put(KEY_CMP_WRSV_APLY_JKN_SBT_CD, JFUStrConst.CD01360_08);
		List<Map<String, String>> wrsvAplyJknSbtCdList = new ArrayList<Map<String, String>>();
		wrsvAplyJknSbtCdList.add(wrsvAplyJknSbtCdMap);
		// 対象となるキャンペーンがＢＳパススルーだけを想定している為、ＢＳパススルーの割引サービス適用条件種別コードのみをリストに設定
		parentMap.put(KEY_CMP_WRSV_APLY_JKN_SBT_LIST, wrsvAplyJknSbtCdList);

		// キャンペーン文言種別コードのセット
		List<HashMap<String, String>> cmpMongonSbtCdList = new ArrayList<HashMap<String, String>>();
		// 申込、確認画面に表示するキャンペーン文言リストを取得する為、申込用文言"01"、確認用文言"02"、完了用文言"03"の種別を設定
		HashMap<String, String> mskmCmpSbtMap = new HashMap<String, String>();
		mskmCmpSbtMap.put(KEY_CMP_MONGON_SBT_CD, JFUStrConst.CD01291_01);
		cmpMongonSbtCdList.add(mskmCmpSbtMap);
		HashMap<String, String> cfmCmpSbtMap = new HashMap<String, String>();
		cfmCmpSbtMap.put(KEY_CMP_MONGON_SBT_CD, JFUStrConst.CD01291_02);
		cmpMongonSbtCdList.add(cfmCmpSbtMap);
		HashMap<String, String> cfmFinSbtMap = new HashMap<String, String>();
		cfmFinSbtMap.put(KEY_CMP_MONGON_SBT_CD, JFUStrConst.CD01291_03);
		cmpMongonSbtCdList.add(cfmFinSbtMap);
		parentMap.put(KEY_CMP_MONGON_SBT_CD_LIST, cmpMongonSbtCdList);
		// 登録コードのセット
		parentMap.put(KEY_CMP_PROC_DIV, PROC_DIV_REG);
		// 料金グループコード → 割引サービス対象サービス一覧照会マップ.ＫＥＹ＿料金グループコード
		parentMap.put(KEY_CMP_PRC_GRP_CD, bean[INFO_IDX_SVC_KEI].sendMessageString(CommonInfoCFConst.PRC_GRP_CD_23, X31CWebConst.DATABEAN_GET_VALUE));
		// SYSID → 割引サービス契約登録マップ.ＫＥＹ＿SYSID
		parentMap.put(KEY_CMP_SYSID, bean[INFO_IDX_GEN_KOKYAKU].sendMessageString(CommonInfoCFConst.SYSID_22, X31CWebConst.DATABEAN_GET_VALUE));
		// 登録後の料金コースコード
		parentMap
				.put(KEY_CMP_CHGE_AF_PCRS_CD, bean[INFO_IDX_SF_BEAN].sendMessageString(FUW01301SFConst.CHG_PCRS_CD, X31CWebConst.DATABEAN_GET_VALUE));
		// 登録後の料金プランコード
		parentMap.put(KEY_CMP_CHGE_AF_PPLAN_CD, bean[INFO_IDX_SF_BEAN].sendMessageString(FUW01301SFConst.CHG_PPLAN_CD,
				X31CWebConst.DATABEAN_GET_VALUE));

		// 異動区分
		parentMap.put(KEY_CMP_IDO_DIV, JFUStrConst.CD00576_00009);
		// ＢＳパススルー申し込みフラグ
		parentMap.put(KEY_CMP_BSPT_MSKM_FLG, null);

		parentMap.put(IN_PARAM_KEY, childMap);
		outputMap.put(FUSV004701CC, parentMap);

		// メモリー開放
		parentMap = null;
		childMap = null;
		fixedIpList = null;
		multiSessionList = null;
		cmpMongonSbtCdList = null;

		return outputMap;
	}

	/**
	 * 上りマッピング処理です。
	 * <br>
	 * @param bean
	 * @param outputMap
	 * @return 
	 */
	@SuppressWarnings("unchecked")
	public HashMap<String, Object> setFUSV004705CC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{
		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, JPCModelConstant.FUNC_CD_1);

		// 都道府県・市区町村
		parentMap.put(AD_SPLIT_STATE_CITY, bean[INFO_IDX_SF_BEAN].sendMessageString(FUW01301SFConst.SENDTO_ADDRESS_PREF, X31CWebConst.DATABEAN_GET_VALUE));
		// 字
		parentMap.put(AD_SPLIT_AZA, bean[INFO_IDX_SF_BEAN].sendMessageString(FUW01301SFConst.SENDTO_ADDRESS_TOWN1, X31CWebConst.DATABEAN_GET_VALUE));
		// 丁目・番地等
		parentMap.put(AD_SPLIT_CHOME_BNCHI, bean[INFO_IDX_SF_BEAN].sendMessageString(FUW01301SFConst.SENDTO_ADDRESS_TOWN2, X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put(FUSV004705CC, parentMap);

		return outputMap;
	}

	/**
	 * FUSV005402CC 会員情報更新依頼CC 上りマッピングをします。
	 * @param bean データBean配列
	 * @param outputMap アウトマップ
	 * @return 結果マップ
	 */
	@SuppressWarnings("unchecked")
	public HashMap setCKSV900101CC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{
		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// SYSID
		parentMap.put(UPD_TRGT_SYSID, bean[INFO_IDX_GEN_KOKYAKU].sendMessageString(CommonInfoCFConst.SYSID_22, X31CWebConst.DATABEAN_GET_VALUE));

		// CCに設定
		outputMap.put(CKSV900101CC, parentMap);

		// メモリー開放
		parentMap = null;

		return outputMap;
	}

	/**
	 * eo光ホームタイププラン変更CCの下りマッピングをします。
	 * <br>
	 * @param bean
	 * @param outputMap
	 * @return X31SDataBeanAccess
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess getFUSV004701CC(X31SDataBeanAccess bean, HashMap outputMap)
	{
		HashMap parentMap = null;

		if (outputMap.containsKey(FUSV004701CC))
		{
			parentMap = (HashMap)outputMap.get(FUSV004701CC);
		}

		HashMap inParamMap = (HashMap)parentMap.get(IN_PARAM_KEY);
		// IN項目:機能コード
		String inMapFuncCd = (String)inParamMap.get(FUNC_CODE);

		// 機能コードが｢"2":保有ルーター情報取得｣の場合
		if (JPCModelConstant.FUNC_CD_2.equals(inMapFuncCd))
		{
			// ルーター速度種別
			bean.sendMessageString(FUW01301SFConst.ROUTER_SPEED_SBT, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get(ROUTER_SPEED_SBT));
			// 修理交換グループ種別コード
			bean.sendMessageString(FUW01301SFConst.SHURI_KOKAN_GRP_SBT_CD, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap
					.get(SHURI_KOKAN_GRP_SBT_CD));
			// 工事有無 ← 工事有無判定一意照会明細.工事有無
			bean.sendMessageString(FUW01301SFConst.KJ_CHG_FLG, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get(ROUTER_KOJI_UM));
			// VA有無
			bean.sendMessageString(FUW01301SFConst.VA_UM, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get(ROUTER_MSG_VA_UM));

			return bean;
		}

		if (parentMap != null && parentMap.size() > 0)
		{
			// 申込書番号(受付番号)
			bean.sendMessageString(FUW01301SFConst.UK_NO, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get(OUT_MSKMSHO_NO));
			// 申込書明細番号(申込番号)
			bean.sendMessageString(FUW01301SFConst.MSKM_NO, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get(OUT_MSKMSHO_DTL_NO));
			// 工事案件番号
			bean.sendMessageString(FUW01301SFConst.KOJIAK_NO, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get(OUT_PARAM_KJAIK_NO));

			// 認証ID
			bean.sendMessageString(FUW01301SFConst.NINSHO_ID, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get(OUT_PARAM_NNSHO_ID));
			// 認証IDパスワード
			bean.sendMessageString(FUW01301SFConst.NINSHO_ID_PWD, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get(OUT_PARAM_NNSHO_ID_PW));
			// マルチセッションID
			bean
					.sendMessageString(FUW01301SFConst.MLTISE_NINSHO_ID, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap
							.get(OUT_PARAM_MSESS_NNSHO_ID));
			// 固定アドレス
			bean.sendMessageString(FUW01301SFConst.FIXIPAD, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get(OUT_PARAM_KOTEI_IP));
		}

		return bean;
	}

	/**
	 * eoプレミアム施策一覧照会CCの上りマッピングをする
	 * @param bean データBean配列
	 * @param outputMap アウトマップ
	 * @return 結果マップ
	 * @throws Exception
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV004707CC(X31SDataBeanAccess[] bean, HashMap outputMap, String familyPackUm) throws Exception
	{
		if (bean == null)
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		ArrayList jknList = new ArrayList();
		HashMap jknMap = new HashMap();

		String bfPplnCd = bean[INFO_IDX_SVC_KEI].sendMessageString(CommonInfoCFConst.PPLAN_CD_23, X31CWebConst.DATABEAN_GET_VALUE);
		String afPplnCd = bean[INFO_IDX_SF_BEAN].sendMessageString(FUW01301SFConst.CHG_PPLAN_CD, X31CWebConst.DATABEAN_GET_VALUE);

		// SYSID → 共通フォームBean.SYSID 料金プランが異なる場合
		if (!bfPplnCd.equals(afPplnCd))
		{
			parentMap.put(KEY_SYSID, bean[INFO_IDX_GEN_KOKYAKU].sendMessageString(CommonInfoCFConst.SYSID_22, X31CWebConst.DATABEAN_GET_VALUE));
		}
		else
		{
			parentMap.put(KEY_SYSID, JFUStrConst.EMPTY);
		}

		// ｅｏプレミアムクラブ申請条件リスト.ｅｏプレミアムクラブ施策申請条件種別コード → 03:異動予約
		jknMap.put(JFUEoPremiumClubConst.KEY_EOPRMCL_SSKSSJK_SBT_CD, JFUStrConst.CD01691_03);
		// ｅｏプレミアムクラブ申請条件リスト.異動区分 → 00009:コース変更
		jknMap.put(JFUEoPremiumClubConst.KEY_IDO_DIV, JFUStrConst.CD00576_00009);
		// ｅｏプレミアムクラブ申請条件リスト.異動予約詳細コード → 003:コース変更
		jknMap.put(JFUEoPremiumClubConst.KEY_IDO_RSV_DTL_CD, JFUStrConst.CD01167_003);
		// ｅｏプレミアムクラブ申請条件リスト.新料金グループコード
		jknMap.put(JFUEoPremiumClubConst.KEY_NEW_PRC_GRP_CD, bean[INFO_IDX_SVC_KEI].sendMessageString(CommonInfoCFConst.PRC_GRP_CD_23, X31CWebConst.DATABEAN_GET_VALUE));
		// ｅｏプレミアムクラブ申請条件リスト.新料金コースコード
		jknMap.put(JFUEoPremiumClubConst.KEY_NEW_PCRS_CD, bean[INFO_IDX_SF_BEAN].sendMessageString(FUW01301SFConst.CHG_PCRS_CD, X31CWebConst.DATABEAN_GET_VALUE));
		// ｅｏプレミアムクラブ申請条件リスト.新料金プランコード
		jknMap.put(JFUEoPremiumClubConst.KEY_NEW_PPLAN_CD, bean[INFO_IDX_SF_BEAN].sendMessageString(FUW01301SFConst.CHG_PPLAN_CD, X31CWebConst.DATABEAN_GET_VALUE));
		// ｅｏプレミアムクラブ申請条件リスト.旧料金グループコード
		jknMap.put(JFUEoPremiumClubConst.KEY_OLD_PRC_GRP_CD, bean[INFO_IDX_SVC_KEI].sendMessageString(CommonInfoCFConst.PRC_GRP_CD_23, X31CWebConst.DATABEAN_GET_VALUE));
		// ｅｏプレミアムクラブ申請条件リスト.旧料金コースコード
		jknMap.put(JFUEoPremiumClubConst.KEY_OLD_PCRS_CD, bean[INFO_IDX_SVC_KEI].sendMessageString(CommonInfoCFConst.PCRS_CD_23, X31CWebConst.DATABEAN_GET_VALUE));
		// ｅｏプレミアムクラブ申請条件リスト.旧料金プランコード
		jknMap.put(JFUEoPremiumClubConst.KEY_OLD_PPLAN_CD, bean[INFO_IDX_SVC_KEI].sendMessageString(CommonInfoCFConst.PPLAN_CD_23, X31CWebConst.DATABEAN_GET_VALUE));
		
		// ｅｏプレミアムクラブ申請条件リスト追加
		jknList.add(jknMap);
// ANK-3777-00-00 ADD START
		// 無線ルーター機能申し込まれている場合、多機能ルーター用の施策も取ってくる 
		// Netflixパックコースの場合、Netflixパックコース変更用の施策も取ってくる
		if (isSisakJkn1(bean[INFO_IDX_SF_BEAN], familyPackUm) || isSisakJkn2(bean[INFO_IDX_SF_BEAN]))
		{
			jknMap = new HashMap();
			// ｅｏプレミアムクラブ申請条件リスト.ｅｏプレミアムクラブ施策申請条件種別コード → 00:登録
			jknMap.put(JFUEoPremiumClubConst.KEY_EOPRMCL_SSKSSJK_SBT_CD, JFUStrConst.CD01691_00);
			jknList.add(jknMap);
		}
// ANK-3777-00-00 ADD END

		// ｅｏプレミアムクラブ申請条件リスト設定
		parentMap.put(JFUEoPremiumClubConst.KEY_EOPRMCL_SNS_JKN_LST, jknList);

		// ＫＥＹ＿サービス契約番号
		parentMap.put(JFUEoPremiumClubConst.KEY_SVC_KEI_NO, bean[INFO_IDX_SVC_KEI].sendMessageString(CommonInfoCFConst.SVC_KEI_NO_23, X31CWebConst.DATABEAN_GET_VALUE));
		// ＫＥＹ＿割引サービス一覧取得実行フラグ
		parentMap.put(JFUEoPremiumClubConst.KEY_WRIB_SHOKAI_FLG, JFUEoPremiumClubDsp.getWribShokaiFlg(JFUEoPremiumClubDsp.QUERY_PATH_WRIB_CHK_PLANCHG));
		// ＫＥＹ＿オプションサービス契約取得実行フラグ
		parentMap.put(JFUEoPremiumClubConst.KEY_OPSVC_SHOKAI_FLG, JFUStrConst.EMPTY);
		// グレードアップ施策適用済判定処理実行フラグ
		parentMap.put(JFUEoPremiumClubConst.KEY_GRADE_UP_CHECK_FLG, JFUEoPremiumClubConst.FLG_ON);

		// ＫＥＹ＿画面ID
		parentMap.put(JFUEoPremiumClubConst.KEY_SCREEN_ID, "FUW01302");

		outputMap.put(CC_TITLE_FUSV004707, parentMap);

		// 共通CCチェック用にマップを設定
		outputMap.put(CHK_TITLE_FUSV004707, parentMap);

		return outputMap;
	}

	/**
	 * チケット利用申請依頼CCの上りマッピングをする
	 * @param bean データBean配列
	 * @param outputMap アウトマップ
	 * @return 結果マップ
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV004708CC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{

		if (bean == null)
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		ArrayList list = new ArrayList();

		// SYSID → コース変更申込マップ.SYSID
		parentMap.put(JFUEoPremiumClubConst.SYSID, bean[INFO_IDX_GEN_KOKYAKU].sendMessageString(CommonInfoCFConst.SYSID_22, X31CWebConst.DATABEAN_GET_VALUE));
		// サービス契約番号 → コース変更申込マップ.サービス契約番号
		parentMap.put(JFUEoPremiumClubConst.SVC_KEI_NO, bean[INFO_IDX_SVC_KEI].sendMessageString(CommonInfoCFConst.SVC_KEI_NO_23, X31CWebConst.DATABEAN_GET_VALUE));

		X31SDataBeanAccessArray arraybean = bean[INFO_IDX_SF_BEAN].getDataBeanArray(FUW01301SFConst.TICKET_USE_SHIN_IRAI_LIST);

		int cnt = 0;
		if (arraybean != null && arraybean.getCount() > 0)
		{
// ANK-3099-00-00 ADD START
			// チケット利用選択
			String ticUseSelect = bean[0].sendMessageString(FUW01301SFConst.TIC_USE_SELECT, X31CWebConst.DATABEAN_GET_VALUE);
			int sel = Integer.parseInt(ticUseSelect);
			
			// cnt=0はeoチケット申請無しなので削除
			arraybean.removeDataBean(cnt);
			sel--;
// ANK-3099-00-00 ADD END
			while (cnt < arraybean.getCount())
			{
				X31SDataBeanAccess subbean = arraybean.getDataBean(cnt);
// ANK-3777-00-00 DEL START
//				HashMap childMap = new HashMap();
// ANK-3777-00-00 DEL END

// ANK-3099-00-00 MOD START
//				// 利用選択
//				if (subbean == null || !subbean.sendMessageBoolean(FUW01301SFConst.USE_SELECT_11, X31CWebConst.DATABEAN_GET_VALUE))
				// 選ばれていないチケットは削除
				if (subbean == null || cnt != sel)
				{
					// 選択してないデータをリストから削除する
					arraybean.removeDataBean(cnt);
					sel--;
// ANK-3099-00-00 MOD END
					continue;
				}
				else
				{
					cnt++;
				}
// ANK-3777-00-00 MOD START
//				// コース変更申込み登録マップ.チケット利用申請依頼リスト.施策コード → チケット利用申請依頼リスト.キャンペーン登録契機コード
//				if (subbean != null)
//				{
//					childMap.put(SISAK_CD, subbean.sendMessageString(FUW01301SFConst.SISAK_CD_11, X31CWebConst.DATABEAN_GET_VALUE));
//				}
//				// コース変更申込み登録マップ.チケット利用申請依頼リスト.キャンペーン登録契機コード → チケット利用申請依頼リスト.キャンペーン登録契機コード
//				if (subbean != null)
//				{
//					childMap.put(CMP_ADD_OPTNTY_CD, subbean.sendMessageString(FUW01301SFConst.CMP_ADD_OPTNTY_CD_11, X31CWebConst.DATABEAN_GET_VALUE));
//				}
//
//				list.add(childMap);
				// 施策コード
				String sisakCd = subbean.sendMessageString(FUW01301SFConst.SISAK_CD_11, X31CWebConst.DATABEAN_GET_VALUE);
				// キャンペーン登録契機コード
				String cmpAddOptntyCd = subbean.sendMessageString(FUW01301SFConst.CMP_ADD_OPTNTY_CD_11, X31CWebConst.DATABEAN_GET_VALUE);
				String[] sisakcdL = sisakCd.split(JFUStrConst.COMMA);
				String[] cmpAddOptntyCdL = cmpAddOptntyCd.split(JFUStrConst.COMMA);
				// ■複合チケットも含まれているので繰り返し実行
				for (int idx = 0; idx < sisakcdL.length; idx++)
				{
					HashMap childMap = new HashMap();
					// 各種通信機器申込み登録マップ.チケット利用申請依頼リスト.施策コード → チケット利用申請依頼リスト.施策コード
					childMap.put(JFUEoPremiumClubConst.SISAK_CD, sisakcdL[idx]);
					// 各種通信機器申込み登録マップ.チケット利用申請依頼リスト.キャンペーン登録契機コード → チケット利用申請依頼リスト.キャンペーン登録契機コード
					childMap.put(JFUEoPremiumClubConst.CMP_ADD_OPTNTY_CD, cmpAddOptntyCdL[idx]);
					list.add(childMap);
				}
// ANK-3777-00-00 MOD END
			}
		}
		parentMap.put(JFUEoPremiumClubConst.TICKET_USE_SHIN_IRAI_LIST, list);

		outputMap.put(CC_TITLE_FUSV004708, parentMap);

		// 共通CCチェック用にマップを設定
		outputMap.put(CHK_TITLE_FUSV004708, parentMap);

		return outputMap;
	}

	/**
	 * eoプレミアム施策一覧照会CCの下りマッピングをする
	 * @param bean　サービスフォームBean
	 * @param outputMap アウトマップ
	 * @param func_code　機能コード
	 * @param opeDate オンライン運用日付
	 * @param familyPackUm ファミリーパック有無
	 * @return サービスBean配列
	 * @throws Exception 
	 */
	@SuppressWarnings("unchecked")
	public void getPremiumClubList(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code,
			String opeDate, String familyPackUm, String kojiSbt) throws Exception
	{

		// 確認でない場合は実行しない
		if (!JPCModelConstant.FUNC_CD_2.equals(func_code))
		{
			return;
		}

		HashMap sif_result_map = null;

		if (outputMap.containsKey(CC_TITLE_FUSV004707))
		{
			sif_result_map = (HashMap)outputMap.get(CC_TITLE_FUSV004707);
		}

		// ■画面施策リスト表示パラメータ
		HashMap<String, Object> dsp_sisak_settei = new HashMap<String, Object>();

		// サービス契約番号
		dsp_sisak_settei.put(JFUEoPremiumClubDsp.PARAM_SVC_KEI_NO, bean[INFO_IDX_SVC_KEI].sendMessageString(CommonInfoCFConst.SVC_KEI_NO_23,
				X31CWebConst.DATABEAN_GET_VALUE));
		//  プロパティキー（定義体のフォームID）
		dsp_sisak_settei.put(JFUEoPremiumClubDsp.PARAM_PROP_KEY, "FUW01302");

		//  対象施策リスト（※設定無しの場合はマスタ取得内容となる）
		dsp_sisak_settei.put(JFUEoPremiumClubDsp.PARAM_TAISYO_SISAK_LIST, null);
		//  グループ施策リスト（チケット申請中チェック対象の施策コード）
		dsp_sisak_settei.put(JFUEoPremiumClubDsp.PARAM_GRP_SISAK_LIST, JFUEoPremiumClubDsp.getGroupSisakList(JFUEoPremiumClubDsp.QUERY_PATH_WRIB_CHK_PLANCHG));

		//  オプションサービス判定用
		Map<String, List<String>> opsvc_cd_map = new HashMap<String, List<String>>();
		List<String> opSvcTaisyoList = new ArrayList<String>();
		List<String> opSvcMskmList = new ArrayList<String>();
		opsvc_cd_map.put(JFUEoPremiumClubDsp.PARAM_OPSVC_TAISYO_LIST, opSvcTaisyoList);
		opsvc_cd_map.put(JFUEoPremiumClubDsp.PARAM_OPSVC_MSKM_LIST, opSvcMskmList);
		dsp_sisak_settei.put(JFUEoPremiumClubDsp.PARAM_OPSVCCD_MAP, opsvc_cd_map);

		// 施策除外リスト
		List<String> sisak_jgi_list = new ArrayList<String>();
		boolean tkn_router_musen_mskm = isSisakJkn1(bean[INFO_IDX_SF_BEAN], familyPackUm);
		boolean net_flix_mskm = isSisakJkn2(bean[INFO_IDX_SF_BEAN]);
		sisak_jgi_list = JFUEoPremiumClubDsp.getJgiList(JFUScreenConst.SCREEN_ID_FUW01302, kojiSbt, tkn_router_musen_mskm, net_flix_mskm, sisak_jgi_list);

// ANK-4517-00-00 ADD START
		// 現在のeo光ネットの契約コース
		String nowPcrsCd = bean[INFO_IDX_SVC_KEI].sendMessageString(
				CommonInfoCFConst.PCRS_CD_23, X31CWebConst.DATABEAN_GET_VALUE);
		
		// フロント用画面表示定義ファイル非表示施策リスト情報マップ
		Map<String, String> excludeSisakMap = JFUWebCommon.getDispItemsAsMap(QUERY_PATH_EXCLUDE_SISAK_CD, QUERY_ATTR_NAME);

		String propNowPcrsCd = "";
		if (excludeSisakMap != null && excludeSisakMap.size() > 0)
		{
			if (excludeSisakMap.containsKey("NOW_PCRS_CD") && excludeSisakMap.containsKey("START_YMD") && excludeSisakMap.containsKey("END_YMD"))
			{
				String startYmd = excludeSisakMap.get("START_YMD");
				String endYmd = excludeSisakMap.get("END_YMD");
				// 非表示リストの非表示期間の場合
				if (!JFUWebCommon.isNull(opeDate)
						&& !JFUWebCommon.isNull(startYmd)
						&& !JFUWebCommon.isNull(endYmd) 
						&& Integer.parseInt(startYmd) <= Integer.parseInt(opeDate) 
						&& Integer.parseInt(opeDate) <= Integer.parseInt(endYmd) )
				{
					// 非表示対象料金グループコードを取得
					propNowPcrsCd = (String) excludeSisakMap.get("NOW_PCRS_CD");
					if(!JFUWebCommon.isNull(propNowPcrsCd) && !JFUWebCommon.isNull(nowPcrsCd) && propNowPcrsCd.indexOf(nowPcrsCd) > -1)
					{
						// 施策除外コード
						String excludeSisakCd = excludeSisakMap.get("EOPRMCL_SISAK_CD");
						if(!JFUWebCommon.isNull(excludeSisakCd)){
							sisak_jgi_list.add(excludeSisakCd);
						}
					}
				}
			}
		}
// ANK-4517-00-00 ADD END
		dsp_sisak_settei.put(JFUEoPremiumClubDsp.PARAM_SISAK_JGI_LIST, sisak_jgi_list);

		JFUEoPremiumClubDsp.getPremiumClubList(bean, dsp_sisak_settei, sif_result_map, opeDate);

	}
	/**
	 * 上りマッピングをする
	 * @param bean データBean
	 * @param outputMap マップ
	 * @param func_code 機能コード
	 * @return HashMap 結果マップ
	 */
	@SuppressWarnings("unchecked")
	public HashMap<String, Object> setJKKRouterKikiAtknCmnCC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// サービス契約番号
		parentMap.put(SVC_KEI_NO, bean[INFO_IDX_SVC_KEI].sendMessageString(CommonInfoCFConst.SVC_KEI_NO_23, X31CWebConst.DATABEAN_GET_VALUE));
		// サービス契約番号
		parentMap.put("ido_div", JFUStrConst.CD00576_00009);
		// 料金コースコード
		parentMap.put("pcrs_cd", bean[INFO_IDX_SF_BEAN].sendMessageString(FUW01301SFConst.CHG_PCRS_CD, X31CWebConst.DATABEAN_GET_VALUE));
		// サービス契約番号
		parentMap.put("func_cd", func_code);

		
		outputMap.put(JKK_ROUTER_KIKI_ATKN_CMN_CC, parentMap);

		return outputMap;
	}

	/**
	 * 工事案件備考１を取得する
	 * @param bean データBean配列
	 * @param func_code　機能コード
	 * @return 工事案件備考１
	 */
	private String getKojiAkBiko1(X31SDataBeanAccess bean)
	{
		// 工事案件備考１を編集する
		StringBuffer kojiakBk1 = new StringBuffer(JFUStrConst.EMPTY);

		X31SDataBeanAccessArray arraybean = bean.getDataBeanArray(FUW01301SFConst.TICKET_USE_SHIN_IRAI_LIST);

		if (arraybean != null && arraybean.getCount() > 0)
		{
			for (int i = 0; i < arraybean.getCount(); i++)
			{
				X31SDataBeanAccess subbean = arraybean.getDataBean(i);
				String ticUseSelect = bean.sendMessageString(FUW01301SFConst.TIC_USE_SELECT, X31CWebConst.DATABEAN_GET_VALUE);
				// 選択されたチケット、かつ、eoチケット申請無し以外
				if (subbean != null && String.valueOf(i).equals(ticUseSelect) && 0 < i)
				{
// ANK-3777-00-00 MOD START
//					kojiakBk1.append(JFUStrConst.HALF_SPACE).append(subbean.sendMessageString(FUW01301SFConst.KOJIAK_RRK_JIKO_HUKA_MNGN_11, X31CWebConst.DATABEAN_GET_VALUE));
					// ■複合チケットも含まれているので繰り返し実行
					// 工事案件連絡事項付加文言
					String jiko_huka_mngn = subbean.sendMessageString(FUW01301SFConst.KOJIAK_RRK_JIKO_HUKA_MNGN_11, X31CWebConst.DATABEAN_GET_VALUE);
					String[] jiko_huka_mngnL = jiko_huka_mngn.split(JFUStrConst.COMMA);
					for (int idx = 0; idx < jiko_huka_mngnL.length; idx++)
					{
						if (!JFUStrConst.EMPTY.equals(kojiakBk1))
						{
							kojiakBk1.append(JFUStrConst.HALF_SPACE).append(jiko_huka_mngnL[idx]);
						}
					}
// ANK-3777-00-00 MOD END
				}
			}
			if (kojiakBk1.toString().length() > 0)
			{
				return kojiakBk1.toString().substring(1);
			}
		}
		return JFUStrConst.EMPTY;
	}
// ANK-3777-00-00 ADD START
	/**
	 * 割引サービス契約一覧照会（サービス契約番号）SCの上りマッピングをします。
	 * <br>
	 * @param bean　[0]：eoスマートリンク申込
	 * @param outputMap マップ
	 * @param func_code　機能コード
	 * @return 送信情報
	 */
	@SuppressWarnings("unchecked")
	public HashMap<String, Object> setFUSV004701SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{
		// 確認でない場合は実行しない
		if (!JPCModelConstant.FUNC_CD_2.equals(func_code))
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, JPCModelConstant.FUNC_CD_1);

		// ＫＥＹ＿サービス契約番号
		parentMap.put(KEY_SVC_KEI_NO, bean[INFO_IDX_SVC_KEI].sendMessageString(CommonInfoCFConst.SVC_KEI_NO_23, X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put(SC_TITLE_FUSV004701, parentMap);

		return outputMap;
	}

	/**
	 * FUSV004710CC 上りマッピングをします。
	 * @param bean
	 * @param outputMap
	 * @param func_code 機能コード
	 * @param wribSvcCd 割引サービスコード
	 * @return
	 */
	public HashMap setFUSV004710CC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code, String wribSvcCd)
	{

		HashMap<String, Object> parentMap = new HashMap<String, Object>();
		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, func_code);

		// SYSID
		parentMap.put(KEY_SYSID, bean[INFO_IDX_GEN_KOKYAKU].sendMessageString(CommonInfoCFConst.SYSID_22, X31CWebConst.DATABEAN_GET_VALUE));
		// サービス契約番号
		parentMap.put(KEY_SVC_KEI_NO, bean[INFO_IDX_SVC_KEI].sendMessageString(CommonInfoCFConst.SVC_KEI_NO_23, X31CWebConst.DATABEAN_GET_VALUE));
		// 異動区分
		parentMap.put(IN_PARAM_KEY_IDO_DIV,  JFUStrConst.CD00576_00026);
		// 料金コースコード
		parentMap.put(IN_PARAM_PCRS_CD, JFUStrConst.EMPTY);
		// 料金プランコード
		parentMap.put(IN_PARAM_PPLAN_CD, JFUStrConst.EMPTY);
		// 割引サービスコード → 割引サービスコード
		parentMap.put(IN_PARAM_WRIB_SVC_CD, wribSvcCd);
		// 申込内容承認登録SC名
		parentMap.put(IN_PARAM_SC_NAME_MSKM,  FUSV004701CC);
		// 課金先の登録（課金対象となる割引サービス契約番号の場合対象）
		parentMap.put(IN_PARAM_INS_KAKINS,  JFUStrConst.CD00001_0);

		outputMap.put(FUSV004710CC, parentMap);

		return outputMap;
	}

	/**
	 * 施策条件を判定する
	 * @param bean データBean
	 * @param familyPackUm ファミリーパック有無
	 * @return 無線ルーター申込の有無
	 */
	private boolean isSisakJkn1(X31SDataBeanAccess bean, String familyPackUm)
	{
		// 無線ルーター機能申し込まれている場合、多機能ルーター用の施策も取ってくる
		if (bean.sendMessageBoolean(FUW01301SFConst.TKN_ROUTER_MUSEN_MSKM, X31CWebConst.DATABEAN_GET_VALUE)
				&& !JFUStrConst.CD00002_1.equals(familyPackUm))
		{
			return true;
		}
		return false;
	}

	/**
	 * 施策条件を判定する
	 * @param bean データBean
	 * @return Netflixパックコースの有無
	 */
	private boolean isSisakJkn2(X31SDataBeanAccess bean)
	{
		// Netflixパックコースの場合、Netflixパックコース変更用の施策も取ってくる
		if (JFUStrConst.PCRS_CD_NF.contains(bean.sendMessageString(FUW01301SFConst.CHG_PCRS_CD, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			return true;
		}
		return false;
	}

}