/*********************************************************************
*	All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名		：eo顧客基幹システム
*	モジュール名	：FUSV0244_FUSV0244OPDBMapper
*	ソースファイル名：FUSV0244_FUSV0244OPDBMapper.java
*	作成者			：富士通
*	日付			：2012年07月01日
*＜機能概要＞
*	BP（引越しナビ住所変更申込照会(確認)）へのＤ−Ｂマッピングクラスです。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v4.00   	2012/07/01	FJ)谷本		新規作成
*	v4.01   	2012/11/07	FJ)谷本		IT1-2012-0001896
*   v4.02       2012/12/26  FJ)岡井		【TAI-2012-0000136】料金表対応
*   v5.00		2013/01/16	FJ)井口		【ANK-1339-00-00】１０月案件
*   v5.00		2013/01/24	FJ)岡井		【ANK-1399-00-00】性能対策
*   v5.00       2013/04/05  FJ)瀧澤     551 お引越し手続き申込画面用の処理を新規追加
*   v5.00       2013/05/01  FJ)美濃原   課題：722 割引サービス単価エラーの修正
*   v6.00       2013/12/12  FJ)中谷      【OM-2013-0005017】VA料金表示の改修
*   v8.00       2014/01/27  FJ)文元     【ANK-1589-00-00】消費増税に伴う料金施策
*   v7.00       2014/03/06	FJ)文元     【OM-2014-0000994】電話のサービス契約取得結果、解約・キャンセルを除くよう修正
*  v10.00       2014/07/14  FJ)谷本     変更【ANK-2135-00-00】BSオプションチャンネル「スターチャンネル」とのセット割検討
*  v12.00       2015/01/30  FJ)臼杵     変更【ANK-2358-00-00】【ＮＯ．１８３３】【スタchセット割】フロントにおけるコース変更抑止条件の変更対応
*  v41.00       2019/02/07  FJ)原田     【OM-2019-0000147】現在のご利用場所住所表示不正
*  v45.00       2019/07/12  FJ)大島     ANK-3636-00-00_消費増税対応（8%⇒10%）
*  v45.00       2019/08/23  FJ)西川     ANK-3636-14-00_消費増税対応（8%⇒10%）（即割/旧長割の金額変更）
*  v46.00       2019/09/23  FJ)澤田     OM-2019-0001080_引越NAVIシステムで申込したSTBの台数が正しく表示されていない
*  v59.00       2022/04/19  FJ)張本     変更【ANK-4248-00-00】消費者保護ガイドライン改正対応
*  v63.00       2022/12/16  FJ）美濃原  変更【ANK-4334-00-00】100Mライト見直し対応
*  v71.00       2024/05/10  FJ)浅井     変更【ANK-4562-00-00】【eo】HGW導入フォロー対応２
*  v72.00       2024/09/20  FJ)余野木   変更【ANK-4577-00-00】シンプルプラン追加対応STEP2
*  v74.00       2025/03/19  FJ)美濃原   変更【ANK-4592-00-00】テレビ新コース（スカパー用）導入対応
*  v75.00       2025/06/11  FJ)飯田     変更【ANK-4649-05-00】2025年サービス基本料値上げ対応【仕変05】引っ越しNaviのマンションテレビ基本料変更
**********************************************************************/
package eo.web.webview.mapping;

import static com.fujitsu.futurity.web.x31.X31SWebLog.DEBUG_LOG;

import java.util.ArrayList;
import java.util.Arrays;
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 com.fujitsu.futurity.web.x31.X31SWebLog;

import eo.common.constant.JFUStrConst;
import eo.common.constant.JPCModelConstant;
import eo.common.util.JKKStringUtil;
import eo.web.webview.CommonInfoCF.CommonInfoCFConst;
import eo.web.webview.FUW10401SF.FUW10401SFConst;
import eo.web.webview.common.JFUWebCommon;

/**
 * DataBean-BPマッピングをします。
 * 
 * @author 富士通
 */
public class FUSV0244_FUSV0244OPDBMapper
{
	/** 共有フォームBean */
	private static final int BEAN_COM_0 = 0;
	/** サービスフォームBean */
	private static final int BEAN_SF_1 = 1;

	/** 引越しサービス選択(現在のサービスで申し込む) */
	private static final String SEL_HKS_SVC_0 = "0";
	/** サービス変更選択(電話)：利用しない */
	private static final String TEL_SVC_CHG_SEL_NOUSE = "0";
	/** サービス変更選択(電話)：1番号サービス */
	private static final String TEL_SVC_CHG_SEL_FIRST = "1";
	/** サービス変更選択(電話)：2番号サービス */
	private static final String TEL_SVC_CHG_SEL_SECOND = "2";
	/**サービス変更選択(テレビ) 「0:eo光テレビサービスを利用しない」*/
	private static final String TV_SVC_CHG_0 = "0";
	/**サービス選択 「0:現在のサービスで申し込む」*/
	private static final String TV_SVC_CHOICE_0 = "0";

	/** 機能コード */
	private static final String FUNC_CODE = "func_code";

	/** 料金コース一覧照会（eo光電話情報取得） */
	private static final String SC_TITLE_FUSV024401 = "FUSV024401SC";
	/** 料金コース一覧照会（eo光テレビ情報取得） */
	private static final String SC_TITLE_FUSV024402 = "FUSV024402SC";
	/** 割引サービス単価一覧照会（割引サービスコード）※即割 */
	private static final String SC_TITLE_FUSV024405 = "FUSV024405SC";
	/** 料金プラン従量単価（オプション申込料金）一覧照会※テレビガイド誌 */
	private static final String SC_TITLE_FUSV024406 = "FUSV024406SC";
	/** eo光ネットホームタイププラン変更基本料金一覧照会コモンコンポーネント部品 */
	private static final String CC_TITLE_FUSV024401 = "FUSV024401CC";
	/** 住所情報分割コモンコンポーネント部品 */
	private static final String CC_TITLE_FUSV024402 = "FUSV024402CC";
	/** コード名称管理一意照会CC */
	private static final String CC_TITLE_FUSV024403 = "FUSV024403CC";
	/** コード名称管理一意照会CC */
	private static final String CC_TITLE_FUSV024404 = "FUSV024404CC";
	/** コード名称管理一意照会CC */
	private static final String CC_TITLE_FUSV024405 = "FUSV024405CC";
	/** 引越しナビ住所変更申込料金取得CC */
	private static final String CC_TITLE_FUSV024406 = "FUSV024406CC";
	/** 住所情報分割コモンコンポーネント部品 */
	private static final String CC_TITLE_FUSV024407 = "FUSV024407CC";
	/** eo光ネットマンションタイププラン変更基本料金一覧照会コモンコンポーネント部品 */
	private static final String CC_TITLE_FUSV024408 = "FUSV024408CC";
	/** 住所情報分割コモンコンポーネント部品 */
	private static final String CC_TITLE_FUSV024409 = "FUSV024409CC";
	/** 住所情報分割コモンコンポーネント部品 */
	private static final String CC_TITLE_FUSV024410 = "FUSV024410CC";
	/** 住所情報分割コモンコンポーネント部品 */
	private static final String CC_TITLE_FUSV024411 = "FUSV024411CC";
	/** 住所情報分割コモンコンポーネント部品 */
	private static final String CC_TITLE_FUSV024412 = "FUSV024412CC";
	/** 住所情報分割コモンコンポーネント部品 */
	private static final String CC_TITLE_FUSV024413 = "FUSV024413CC";
	/** 住所情報分割コモンコンポーネント部品 */
	private static final String CC_TITLE_FUSV024414 = "FUSV024414CC";
	/** 料金シュミレーションコモンコンポーネント部品　※セット割 */
	private static final String CC_TITLE_FUSV024415 = "FUSV024415CC";

// ANK-3636-00-00 MOD START
	/** 料金項目コード：基本料金 */
	private static final String PRC_KMK_CD_KIHON = "21001101601";
	/** 料金項目コード：長割(1年目) */
	private static final String PRC_KMK_CD_TYOWARI_1 = "S1200100101";
	/** 料金項目コード：長割(2年目) */
	private static final String PRC_KMK_CD_TYOWARI_2 = "S1200100201";
	/** 料金項目コード：長割(3年目) */
	private static final String PRC_KMK_CD_TYOWARI_3 = "S1200100301";
	/** 料金項目コード：即割 */
	private static final String PRC_KMK_CD_SOKUWARI = "S1200200101";
	/** 料金項目コード：上限額 */
	private static final String PRC_KMK_CDJOGEN = "S1201101601";
// ANK-3636-00-00 MOD END

	/** 定義取得パス eo光テレビ　コース名 */
	private static final String PATH_TV_CRS_NM = "DISPSETTING/SETTING[@screenId='FUW10407']/DISPCTL[@groupid='TV_CRS_NM']";

	/** 定義取得パス【月額従量上限金額】100Mライト */
	private static final String PATH_100ML_JURYO_AMOUNT = "DISPSETTING/COMMONSETTING/DISPTEXT[@groupid='100ML_JURYO_AMOUNT']";

	/** 定義取得パス：割引キャンペーン表示順 */
	private static final String PATH_WRIB_CAMP_DISP_JUN = "DISPSETTING/SETTING[@screenId='FUW09903']/DISPCTL[@groupid='%']";

	/** 属性名 */
	private static final String QUERY_ATTR_NAME = "id";

	/** 変更後ＳＴＢ料金コースコード：撤去する */
	private static final String CHG_STB_PCRS_CD_REMOVE = "撤去する";

	/** 金額 0 */
	private static final String PRICE_ZERO = "0";

	/** 追加 */
	private static final String TV_COURSE_PCRS_NM_ADD = "［追加］";

	/** コース種別 地デジ・BSコース */
	private static final String TV_PCRS_TYPE_2 = "2";

	/** コース種別 地デジ・BSコース　スターチャンネルセット */
	private static final String TV_PCRS_TYPE_3 = "3";

	/** コース種別 地デジ・BSコース　スターチャンネルセット(割引無) */
	private static final String TV_PCRS_TYPE_4 = "4";

//	/** コース種別 HDコース(スマートプレミアム、スマートベーシック、スマートコンパクト) */
//	private static final String TV_PCRS_TYPE_5 = "5";

	/** コース種別 CSベーシック */
	private static final String TV_PCRS_TYPE_6 = "6";

	/** コース種別 CSプレミアム */
	private static final String TV_PCRS_TYPE_7 = "7";

	/** FUSV024407CC用：連絡先その他 */
	private static final String EO_ELEC_RRKS_SNT = "1";

	/** FUSV024413CC/FUSV024414CC用：現在のご利用場所住所と同じ */
	private static final String BNP_KIYK_AD_SEL_1 = "1";
	/** FUSV024413CC/FUSV024414CC用：引越し先の住所と同じ */
	private static final String BNP_KIYK_AD_SEL_2 = "2";
	/** FUSV024413CC/FUSV024414CC用：上記以外 */
	private static final String BNP_KIYK_AD_SEL_3 = "3";

	// マップキー
	/** 住所コード */
	private static final String AD_CD = "ad_cd";
	/** 番地 */
	private static final String AFTER_BNCHI = "after_bnchi";
	/** 字 */
	private static final String AZA = "aza";
	/** 字丁目名 */
	private static final String AZCHO_NM = "azcho_nm";
	/** コード区分 */
	private static final String CD_DIV = "cd_div";
	/** コード区分名 */
	private static final String CD_DIV_NM = "cd_div_nm";
	/** 丁目・番地等 */
	private static final String CHOME_BNCHI = "chome_bnchi";
	/** 市区町村名 */
	private static final String CITY_NM = "city_nm";
	/** 料金プラン従量単価（オプション申込料金）一覧照会明細 */
	private static final String EKK0611B501_LIST = "EKK0611B501CBSMsg1List";
	/** 割引サービス単価一覧照会明細 */
	private static final String EKK0711B001_LIST = "EKK0711B001CBSMsg1List";
	/** 料金コース一覧照会（ｅｏ光電話情報取得）明細 */
	private static final String EKK0791B502_LIST = "EKK0791B502CBSMsg1List";
	/** コード名称管理コード区分一覧照会明細 */
	private static final String EZM0171B012_LIST = "EZM0171B012CBSMsg1List";
	/** シミュレーションリスト */
	private static final String JACPRCSIMULATIONLIST = "JACPrcSimulationList";
	/** シミュレーション結果リスト */
	private static final String JACPRCSIMULATIONCCMSG2LIST = "JACPrcSimulationMsg2List";
	/** 基本料金リスト */
	private static final String JP_CHG_PRC_SHOKAI_HT_CC_MSG1_LIST = "JFUHTPlanChgPrcShokaiCCMsg1List";
	/** シミュレーションメッセージ */
	private static final String JACPRCSIMULATIONMSG = "JACPrcSimulationMsg";
	
	/** 基本料金リスト */
	private static final String JP_CHG_PRC_SHOKAI_MT_CC_MSG1_LIST = "JFUMTPlanChgPrcShokaiCCMsg1List";
	
	/** ＫＥＹ＿コード種別コード */
	private static final String KEY_CD_SBT_CD = "key_cd_sbt_cd";
	/** ＫＥＹ＿料金コースコード */
	private static final String KEY_PCRS_CD = "key_pcrs_cd";
	/** ＫＥＹ＿料金プランコード */
	private static final String KEY_PPLAN_CD = "key_prc_plan_cd";
	/** ＫＥＹ＿支払契約識別コード */
	private static final String KEY_PAY_KEI_SKBT_CD = "key_pay_kei_skbt_cd";
	/** ＫＥＹ＿提供方式契約番号 */
	private static final String KEY_TK_HOSHIKI_KEI_NO = "key_tk_hoshiki_kei_no";
	/** ＫＥＹ＿マンションID */
	private static final String KEY_MANSION_ID = "key_mansion_id";
	/** ＫＥＹ＿支払契約識別コード */
	private static final String KEY_KAISEN_USE_KEI_NO = "key_kaisen_use_kei_no";
	/** ＫＥＹ＿料金グループコード */
	private static final String KEY_PRC_GRP_CD = "key_prc_grp_cd";
	/** ＫＥＹ＿基準日 */
	private static final String KEY_STDARDYMD = "key_stdardymd";
	/** 大字通称名 */
	private static final String OAZTSU_NM = "oaztsu_nm";
	/** 料金コースコード */
	private static final String PCRS_CD = "pcrs_cd";
	/** 料金プランコード */
	private static final String PPLAN_CD = "pplan_cd";
	// ANK-4562-00-00 ADD START
	/** 料金プランコード */
	private static final String PPLAN_CD_ADD = "pplan_cd_add";
	// ANK-4562-00-00 ADD END
	/** 料金サービスコード（料金プランコード） */
	private static final String PRC_SVC_CD = "prc_svc_cd";
	/** 料金プラン従量金額 */
	private static final String PPLAN_JURYO_AMNT = "pplan_juryo_amnt";
	/** 料金項目コード */
	private static final String PRC_KMK_CD = "prc_kmk_cd";
	/** KEY_料金項目コード */
	private static final String KEY_PRC_KMK_CD = "key_prc_kmk_cd";
	/** ホーム基本プランの料金 */
	private static final String PRICE = "price";
	/** ホーム追加プランの料金 */
	private static final String PRICE_ADD = "price_add";
	/** マンション基本プランの料金 */
	private static final String PRICEM = "pricem";
	/** マンション追加プランの料金 */
	private static final String PRICEM_ADD = "pricem_add";
	/** 請求金額 */
	private static final String SEIKY_AMNT = "seiky_amnt";
	/** 都道府県・市区町村 */
	private static final String STATE_CITY = "state_city";
	/** 都道府県名 */
	private static final String STATE_NM = "state_nm";
	/** 割引額 */
	private static final String WRIB_AMNT = "wrib_amnt";
	/** 割引サービスコード */
	private static final String WRIB_SVC_CD = "wrib_svc_cd";
	/** サービスコード */
	private static final String SVC_CD = "svc_cd";
	/** サービスコード(ネット) */
	private static final String SVC_CD_NET = "01";
	/** サービスコード(電話) */
	private static final String SVC_CD_TEL = "02";
	/** サービスコード(テレビ) */
	private static final String SVC_CD_TV = "03";
	/** eo光ネット料金プラン全検索フラグ */
	private static final String ALL_SEARCH_FLG = "all_search_flg";
	/** 異動区分 */
	private static final String IDO_DIV = "ido_div";
	/** 申込種別コード */
	private static final String MSKM_SBT_CD = "mskm_sbt_cd";
	/** 申込形態 */
	private static final String MSKM_FORM_CD = "mskm_form_cd";
	/** 料金グループコード */
	private static final String PRC_GRP_CD = "prc_grp_cd";
	/** 料金プランコード */
	private static final String PRC_PLAN_CD = "prc_plan_cd";
	/** ファミパ有無 */
	private static final String FAMIPA_KEI_UM = "famipa_kei_um";
	/** 即割有無 */
	private static final String SOKU_WARI_UM = "soku_wari_um";
	/** 請求契約番号 */
	private static final String SEIKY_KEI_NO = "seiky_kei_no";
	/** サービス契約回線内訳番号 */
	private static final String SVC_KEI_KAISEN_UCWK_NO = "svc_kei_kaisen_ucwk_no";
	/** 料金サービスリスト */
	private static final String PRC_SVKEI_LIST = "prc_svkei_list";
	/** 割引サービスコードリスト */
	private static final String WRIB_SVC_CD_LIST = "wrib_svc_cd_list";

	/** 変更後ＴＶコース料金コース料金追加 */
	private static final String CHAF_TV_PCRS_CD_PRICE_ADD = "chafTvPcrsCdPriceAdd";
	/** 変更後ＴＶコース料金コース料金 */
	private static final String CHAF_TV_PCRS_CD_PRICE = "chafTvPcrsCdPrice";
	/** 変更後ＴＶコース料金コースコード */
	private static final String CHAF_TV_PCRS_CD = "chafTvPcrsCd";
	/** 変更前ＴＶコース料金コース料金 */
	private static final String CHAF_STB_PCRS_PRICE = "chafStbPcrsPrice";
	/** 変更前ＴＶコース料金コースコード */
	private static final String CHAF_STB_PCRS_CD = "chafStbPcrsCd";
	/** 変更前ＴＶコース料金コース料金追加 */
	private static final String CHBF_TV_PCRS_CD_PRICE_ADD = "chbfTvPcrsCdPriceAdd";
	/** 変更前ＴＶコース料金コース料金 */
	private static final String CHBF_TV_PCRS_CD_PRICE = "chbfTvPcrsCdPrice";
	/** 変更前ＴＶコース料金コースコード */
	private static final String CHBF_TV_PCRS_CD = "chbfTvPcrsCd";
	/** 変更前ＳＴＢ料金コース料金 */
	private static final String CHBF_STB_PCRS_PRICE = "chbfStbPcrsPrice";
	/** 変更前ＳＴＢ料金コースコード */
	private static final String CHBF_STB_PCRS_CD = "chbfStbPcrsCd";

	/** OUT項目:1ポートVAの料金 */
	private static final String OUT_PARAM_PPLAN_KOTEI_AMNT_1PORT_VA = "pplan_kotei_amnt_1port_va";
	/** OUT項目:2ポートVAの料金 */
	private static final String OUT_PARAM_PPLAN_KOTEI_AMNT_2PORT_VA = "pplan_kotei_amnt_2port_va";

	// ■汎用コード
	/** 汎用コード：0 */
	private static final String CODE_0 = "0";
	/** 引越し先住居種別コード(ホーム)：0 */
	private static final String HKKS_SK_JKYO_SBT_CD_HT = "0";
	/** 引越し先住居種別コード(マンション)：1 */
	private static final String HKKS_SK_JKYO_SBT_CD_MT = "1";
	/** 引越し先住居種別コード(メゾン)：2 */
	private static final String HKKS_SK_JKYO_SBT_CD_MZ = "2";

// ANK-3636-00-00 MOD START
	/** 料金項目コード：ＶＤＳＬ接続用子機レンタル料 */
	private static final String RKC_21003031101 = "21003031101";
	/** 料金項目コード：ＶＤＳＬ接続用子機代金 */
	private static final String RKC_21003031601 = "21003031601";
// ANK-3636-00-00 MOD END
	/**住居種別コード 「0:ホーム」*/
	private static final String JKYO_SBT_CD_0 = "0";
	/**住居種別コード 「1:マンション」*/
	private static final String JKYO_SBT_CD_1 = "1";

	/** テレビの料金コースコード（地デジ・BSコース、ＨＤコース、ＣＳコース）*/
	private static final List<String> PCRS_TV_LIST = Arrays.asList(
			JFUStrConst.CD00134_A37, JFUStrConst.CD00134_A39,
			JFUStrConst.CD00134_AC0, JFUStrConst.CD00134_AC1);
	/** 電話の料金コースコード*/
	private static final List<String> PCRS_TEL_LIST = Arrays.asList(JFUStrConst.CD00134_A31, JFUStrConst.CD00134_A32);
	/** 割引キャンペーンコード該当無し用コード */
	private static final String WRIB_CAMP_NOTHING = "99";
	/** 請求契約番号 */
	private static final String SEIKYU_KEIYAKU_DEF = "0000000000";
	/** サービス契約内訳番号 */
	private static final String SERVICE_KEIYAKU_DEF = "000000000000";

	/** テレビでSTBが不要なコース種別<br/>
	 *  (地デジ・BSコース、地デジ・BSコース　スターチャンネルセット、地デジ・BSコース　スターチャンネルセット(割引無)、CSベーシック、CSプレミアム)*/
	private static final List<String> TV_PCRS_TYPE_NOT_NECESSARY_LIST = Arrays.asList(
			TV_PCRS_TYPE_2, TV_PCRS_TYPE_3, TV_PCRS_TYPE_4,
			TV_PCRS_TYPE_6, TV_PCRS_TYPE_7);

	/**
	 * コンストラクタ
	 */
	public FUSV0244_FUSV0244OPDBMapper()
	{
	}

	/**
	 * 上りマッピング処理です。
	 * <br>
	 * @param bean
	 * @param outputMap
	 * @return HashMap
	 */
	public HashMap<String, Object> setFUSV024401SC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, JPCModelConstant.FUNC_CD_1);

		outputMap.put(SC_TITLE_FUSV024401, parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピング処理です。
	 * <br>
	 * @param bean
	 * @param outputMap
	 * @return HashMap
	 */
	public HashMap<String, Object> setFUSV024402SC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, JPCModelConstant.FUNC_CD_1);

		outputMap.put(SC_TITLE_FUSV024402, parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピング処理です。
	 * <br>
	 * @param bean
	 * @param outputMap
	 * @return HashMap
	 */
	public HashMap<String, Object> setFUSV024405SC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, JPCModelConstant.FUNC_CD_1);

		outputMap.put(SC_TITLE_FUSV024405, parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピング処理です。
	 * <br>
	 * @param bean
	 * @param outputMap
	 * @return HashMap
	 */
	public HashMap<String, Object> setFUSV024406SC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, JPCModelConstant.FUNC_CD_1);

		outputMap.put(SC_TITLE_FUSV024406, parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピング処理です。
	 * <br>
	 * @param bean
	 * @param outputMap
	 * @return 
	 */
	public HashMap<String, Object> setFUSV024401CC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{
		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, JPCModelConstant.FUNC_CD_1);

		// 共有フォームBean.サービス契約情報
		X31SDataBeanAccess svcKeiInfoBean = JFUWebCommon.getDataBeanTypeByPath(bean[BEAN_COM_0], JFUWebCommon.SVC_KEI_INFO);

		// ＫＥＹ＿料金グループコード
		String hkksSkJkyoSbtCd = bean[BEAN_SF_1].sendMessageString(FUW10401SFConst.HKKS_SK_JKYO_SBT_CD, X31CWebConst.DATABEAN_GET_VALUE);

		if (HKKS_SK_JKYO_SBT_CD_HT.equals(hkksSkJkyoSbtCd))
		{
			parentMap.put(KEY_PRC_GRP_CD, JFUStrConst.CD00133_02);
		}
		else if (HKKS_SK_JKYO_SBT_CD_MZ.equals(hkksSkJkyoSbtCd))
		{
			parentMap.put(KEY_PRC_GRP_CD, JFUStrConst.CD00133_03);
		}

		String pcrsCd = JFUStrConst.EMPTY;
		String pplanCd = JFUStrConst.EMPTY;

			// 1:サービス変更を行う
			pcrsCd = bean[BEAN_SF_1].sendMessageString(FUW10401SFConst.NET_AF_PCRS_CD, X31CWebConst.DATABEAN_GET_VALUE);
			pplanCd = bean[BEAN_SF_1].sendMessageString(FUW10401SFConst.NET_AF_PPLAN_CD, X31CWebConst.DATABEAN_GET_VALUE);

		// ＫＥＹ＿料金コースコード
		parentMap.put(KEY_PCRS_CD, pcrsCd);
		// ＫＥＹ＿料金プランコード
		parentMap.put(KEY_PPLAN_CD, pplanCd);

		// eo光ネット料金プラン全検索フラグ
		parentMap.put(ALL_SEARCH_FLG, CODE_0);

		outputMap.put(CC_TITLE_FUSV024401, parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピング処理です。
	 * <br>
	 * @param bean
	 * @param outputMap
	 * @return 
	 */
	public HashMap<String, Object> setFUSV024402CC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{
		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, JPCModelConstant.FUNC_CD_1);

		// 都道府県・市区町村
		parentMap.put(STATE_CITY, bean[BEAN_SF_1].sendMessageString(FUW10401SFConst.INP_STATE_CITY, X31CWebConst.DATABEAN_GET_VALUE));
		// 字
		parentMap.put(AZA, bean[BEAN_SF_1].sendMessageString(FUW10401SFConst.INP_AZ, X31CWebConst.DATABEAN_GET_VALUE));
		// 丁目・番地等
		parentMap.put(CHOME_BNCHI, bean[BEAN_SF_1].sendMessageString(FUW10401SFConst.INP_CHO, X31CWebConst.DATABEAN_GET_VALUE)
				+ bean[BEAN_SF_1].sendMessageString(FUW10401SFConst.INP_BNCHI, X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put(CC_TITLE_FUSV024402, parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピング処理です。
	 * <br>
	 * @param bean
	 * @param outputMap
	 * @return 
	 */
	public HashMap<String, Object> setFUSV024403CC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{
		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, JPCModelConstant.FUNC_CD_1);

		// ＫＥＹ＿コード種別コード
		parentMap.put(KEY_CD_SBT_CD, JFUStrConst.CD01438); // "CD01438":ネットサービス申込内容識別コード
		// ＫＥＹ＿基準日
		parentMap.put(KEY_STDARDYMD, bean[BEAN_SF_1].sendMessageString(FUW10401SFConst.OPE_DATE, X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put(CC_TITLE_FUSV024403, parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピング処理です。
	 * <br>
	 * @param bean
	 * @param outputMap
	 * @return 
	 */
	public HashMap<String, Object> setFUSV024404CC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{
		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, JPCModelConstant.FUNC_CD_1);

		// ＫＥＹ＿コード種別コード
		parentMap.put(KEY_CD_SBT_CD, JFUStrConst.CD01439); // "CD01439":電話サービス申込内容識別コード
		// ＫＥＹ＿基準日
		parentMap.put(KEY_STDARDYMD, bean[BEAN_SF_1].sendMessageString(FUW10401SFConst.OPE_DATE, X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put(CC_TITLE_FUSV024404, parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピング処理です。
	 * <br>
	 * @param bean
	 * @param outputMap
	 * @return 
	 */
	public HashMap<String, Object> setFUSV024405CC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{
		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, JPCModelConstant.FUNC_CD_1);

		// ＫＥＹ＿コード種別コード
		parentMap.put(KEY_CD_SBT_CD, JFUStrConst.CD01440); // "CD01440":テレビサービス申込内容識別コード
		// ＫＥＹ＿基準日
		parentMap.put(KEY_STDARDYMD, bean[BEAN_SF_1].sendMessageString(FUW10401SFConst.OPE_DATE, X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put(CC_TITLE_FUSV024405, parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピング処理です。
	 * <br>
	 * @param bean
	 * @param outputMap
	 * @return 
	 */
	public HashMap<String, Object> setFUSV024406CC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{
		HashMap<String, Object> parentMap = new HashMap<String, Object>();
		outputMap.put(CC_TITLE_FUSV024406, parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピング処理です。
	 * <br>
	 * @param bean
	 * @param outputMap
	 * @return 
	 */
	public HashMap<String, Object> setFUSV024407CC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{
		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, JPCModelConstant.FUNC_CD_1);

		if(EO_ELEC_RRKS_SNT.equals(bean[BEAN_SF_1].sendMessageString(FUW10401SFConst.ELEC_RRKS_AD_CHOICE, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			// 連絡先住所に「その他」が選択されている場合
			// 都道府県・市区町村
			parentMap.put(STATE_CITY, bean[BEAN_SF_1].sendMessageString(FUW10401SFConst.ELEC_RRKS_OTR_STATE_CITY, X31CWebConst.DATABEAN_GET_VALUE));
			// 字
			parentMap.put(AZA, bean[BEAN_SF_1].sendMessageString(FUW10401SFConst.ELEC_RRKS_OTR_AZ, X31CWebConst.DATABEAN_GET_VALUE));
			// 丁目・番地等
			parentMap.put(CHOME_BNCHI, bean[BEAN_SF_1].sendMessageString(FUW10401SFConst.ELEC_RRKS_OTR_CHO_BNCHI, X31CWebConst.DATABEAN_GET_VALUE));
		}
		else
		{
			// 連絡先住所に「その他」が選択されていない場合
			// 都道府県・市区町村
			parentMap.put(STATE_CITY, bean[BEAN_SF_1].sendMessageString(FUW10401SFConst.INP_STATE_CITY, X31CWebConst.DATABEAN_GET_VALUE));
			// 字
			parentMap.put(AZA, bean[BEAN_SF_1].sendMessageString(FUW10401SFConst.INP_AZ, X31CWebConst.DATABEAN_GET_VALUE));
			// 丁目・番地等
			parentMap.put(CHOME_BNCHI, bean[BEAN_SF_1].sendMessageString(FUW10401SFConst.INP_CHO, X31CWebConst.DATABEAN_GET_VALUE)
					+ bean[BEAN_SF_1].sendMessageString(FUW10401SFConst.INP_BNCHI, X31CWebConst.DATABEAN_GET_VALUE));
		}
		outputMap.put(CC_TITLE_FUSV024407, parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピング処理です。
	 * <br>
	 * @param bean
	 * @param outputMap
	 * @return 
	 */
	public HashMap<String, Object> setFUSV024408CC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{
		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, JPCModelConstant.FUNC_CD_1);

		String mansionId = JFUStrConst.EMPTY;
		String tkHoshikiKeiNo = JFUStrConst.EMPTY;

		mansionId = bean[BEAN_SF_1].sendMessageString(FUW10401SFConst.MT_ID, X31CWebConst.DATABEAN_GET_VALUE);
		tkHoshikiKeiNo = bean[BEAN_SF_1].sendMessageString(FUW10401SFConst.NET_TK_HOSHIKI_KEI_NO, X31CWebConst.DATABEAN_GET_VALUE);
		
		// 1:サービス変更を行う
		String pcrsCd = bean[BEAN_SF_1].sendMessageString(FUW10401SFConst.NET_AF_PCRS_CD, X31CWebConst.DATABEAN_GET_VALUE);
		String pplanCd = bean[BEAN_SF_1].sendMessageString(FUW10401SFConst.NET_AF_PPLAN_CD, X31CWebConst.DATABEAN_GET_VALUE);

		String kaisenUseKeiNoNet = bean[BEAN_SF_1].sendMessageString(FUW10401SFConst.KEY_KAISEN_USE_KEI_NO_NET, X31CWebConst.DATABEAN_GET_VALUE);


		// ＫＥＹ＿料金コースコード
		parentMap.put(KEY_PCRS_CD, pcrsCd);
		// ＫＥＹ＿料金プランコード
		parentMap.put(KEY_PPLAN_CD, pplanCd);
		//マンションID
		parentMap.put(KEY_MANSION_ID, mansionId);
		// ＫＥＹ＿提供方式契約番号
		parentMap.put(KEY_TK_HOSHIKI_KEI_NO, tkHoshikiKeiNo);
		// ＫＥＹ＿支払契約識別コード
		parentMap.put(KEY_PAY_KEI_SKBT_CD, "2");
		// ＫＥＹ＿回線使用契約番号（ネット）
		parentMap.put(KEY_KAISEN_USE_KEI_NO, kaisenUseKeiNoNet);

		outputMap.put(CC_TITLE_FUSV024408, parentMap);

		return outputMap;
	}
	
	/**
	 * 上りマッピング処理です。
	 * <br>
	 * @param bean
	 * @param outputMap
	 * @return 
	 */
	public HashMap<String, Object> setFUSV024409CC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{
		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, JPCModelConstant.FUNC_CD_1);

		String adBfShmnSohus = bean[BEAN_SF_1].sendMessageString(FUW10401SFConst.DSP_ATICLE_SOHUS_AD_HIKKOSHI_BF, X31CWebConst.DATABEAN_GET_VALUE);
		
		// 書面送付先住所＿お引越しまで
		if ("0".equals(adBfShmnSohus))
		{
			// 現在のご利用場所住所
			X31SDataBeanAccess svcKeiKaisenUcwkInfoBean = JFUWebCommon.getDataBeanTypeByPath(bean[BEAN_COM_0], JFUWebCommon.SVC_KEI_KAISEN_UCWK_INFO);
			
			// 都道府県・市区町村
			parentMap.put(STATE_CITY, svcKeiKaisenUcwkInfoBean.sendMessageString(CommonInfoCFConst.KAISEN_PLACE_STATE_NM_26, X31CWebConst.DATABEAN_GET_VALUE)
										+ svcKeiKaisenUcwkInfoBean.sendMessageString(CommonInfoCFConst.KAISEN_PLACE_CITY_NM_26, X31CWebConst.DATABEAN_GET_VALUE));
			// 字
			parentMap.put(AZA, svcKeiKaisenUcwkInfoBean.sendMessageString(CommonInfoCFConst.KAISEN_PLACE_OAZTSU_NM_26, X31CWebConst.DATABEAN_GET_VALUE));
			// 丁目・番地等
			parentMap.put(CHOME_BNCHI, svcKeiKaisenUcwkInfoBean.sendMessageString(CommonInfoCFConst.KAISEN_PLACE_AZCHO_NM_26, X31CWebConst.DATABEAN_GET_VALUE)
										+ svcKeiKaisenUcwkInfoBean.sendMessageString(CommonInfoCFConst.KAISEN_PLACE_BNCHIGO_26, X31CWebConst.DATABEAN_GET_VALUE));
		}
		else if ("1".equals(adBfShmnSohus))
		{
			// 移転先のご利用場所住所
			// 都道府県・市区町村
			parentMap.put(STATE_CITY, bean[BEAN_SF_1].sendMessageString(FUW10401SFConst.INP_STATE_CITY, X31CWebConst.DATABEAN_GET_VALUE));
			// 字
			parentMap.put(AZA, bean[BEAN_SF_1].sendMessageString(FUW10401SFConst.INP_AZ, X31CWebConst.DATABEAN_GET_VALUE));
			// 丁目・番地等
			parentMap.put(CHOME_BNCHI, bean[BEAN_SF_1].sendMessageString(FUW10401SFConst.INP_CHO, X31CWebConst.DATABEAN_GET_VALUE)
										+ bean[BEAN_SF_1].sendMessageString(FUW10401SFConst.INP_BNCHI, X31CWebConst.DATABEAN_GET_VALUE));
		}
		else if ("2".equals(adBfShmnSohus))
		{
			// その他住所
		// 都道府県・市区町村
		parentMap.put(STATE_CITY, bean[BEAN_SF_1].sendMessageString(FUW10401SFConst.INP_ATICLE_SOHUS_AD_HIKKOSHI_BF_STATE_CITY, X31CWebConst.DATABEAN_GET_VALUE));
		// 字
		parentMap.put(AZA, bean[BEAN_SF_1].sendMessageString(FUW10401SFConst.INP_ATICLE_SOHUS_AD_HIKKOSHI_BF_AZ, X31CWebConst.DATABEAN_GET_VALUE));
		// 丁目・番地等
		parentMap.put(CHOME_BNCHI, bean[BEAN_SF_1].sendMessageString(FUW10401SFConst.INP_ATICLE_SOHUS_AD_HIKKOSHI_BF_CHO, X31CWebConst.DATABEAN_GET_VALUE)
				+ bean[BEAN_SF_1].sendMessageString(FUW10401SFConst.INP_ATICLE_SOHUS_AD_HIKKOSHI_BF_BNCHI, X31CWebConst.DATABEAN_GET_VALUE));
		}
		
		
		outputMap.put(CC_TITLE_FUSV024409, parentMap);

		return outputMap;
	}
	
	/**
	 * 上りマッピング処理です。
	 * <br>
	 * @param bean
	 * @param outputMap
	 * @return 
	 */
	public HashMap<String, Object> setFUSV024410CC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{
		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, JPCModelConstant.FUNC_CD_1);

		// 書面送付先住所＿お引越し後
		String adAfShmnSohus = bean[BEAN_SF_1].sendMessageString(FUW10401SFConst.DSP_ATICLE_SOHUS_AD_HIKKOSHI_AF, X31CWebConst.DATABEAN_GET_VALUE);
		
		if ("0".equals(adAfShmnSohus))
		{
			// 現在のご利用場所住所
			X31SDataBeanAccess svcKeiKaisenUcwkInfoBean = JFUWebCommon.getDataBeanTypeByPath(bean[BEAN_COM_0], JFUWebCommon.SVC_KEI_KAISEN_UCWK_INFO);
			
			// 都道府県・市区町村
			parentMap.put(STATE_CITY, svcKeiKaisenUcwkInfoBean.sendMessageString(CommonInfoCFConst.KAISEN_PLACE_STATE_NM_26, X31CWebConst.DATABEAN_GET_VALUE)
										+ svcKeiKaisenUcwkInfoBean.sendMessageString(CommonInfoCFConst.KAISEN_PLACE_CITY_NM_26, X31CWebConst.DATABEAN_GET_VALUE));
			// 字
			parentMap.put(AZA, svcKeiKaisenUcwkInfoBean.sendMessageString(CommonInfoCFConst.KAISEN_PLACE_OAZTSU_NM_26, X31CWebConst.DATABEAN_GET_VALUE));
			// 丁目・番地等
			parentMap.put(CHOME_BNCHI, svcKeiKaisenUcwkInfoBean.sendMessageString(CommonInfoCFConst.KAISEN_PLACE_AZCHO_NM_26, X31CWebConst.DATABEAN_GET_VALUE)
										+ svcKeiKaisenUcwkInfoBean.sendMessageString(CommonInfoCFConst.KAISEN_PLACE_BNCHIGO_26, X31CWebConst.DATABEAN_GET_VALUE));
		}
		else if ("1".equals(adAfShmnSohus))
		{
			// 移転先のご利用場所住所
			// 都道府県・市区町村
			parentMap.put(STATE_CITY, bean[BEAN_SF_1].sendMessageString(FUW10401SFConst.INP_STATE_CITY, X31CWebConst.DATABEAN_GET_VALUE));
			// 字
			parentMap.put(AZA, bean[BEAN_SF_1].sendMessageString(FUW10401SFConst.INP_AZ, X31CWebConst.DATABEAN_GET_VALUE));
			// 丁目・番地等
			parentMap.put(CHOME_BNCHI, bean[BEAN_SF_1].sendMessageString(FUW10401SFConst.INP_CHO, X31CWebConst.DATABEAN_GET_VALUE)
										+ bean[BEAN_SF_1].sendMessageString(FUW10401SFConst.INP_BNCHI, X31CWebConst.DATABEAN_GET_VALUE));
		}
		else if ("2".equals(adAfShmnSohus))
		{
			// その他住所
		// 都道府県・市区町村
		parentMap.put(STATE_CITY, bean[BEAN_SF_1].sendMessageString(FUW10401SFConst.INP_ATICLE_SOHUS_AD_HIKKOSHI_AF_STATE_CITY, X31CWebConst.DATABEAN_GET_VALUE));
		// 字
		parentMap.put(AZA, bean[BEAN_SF_1].sendMessageString(FUW10401SFConst.INP_ATICLE_SOHUS_AD_HIKKOSHI_AF_AZ, X31CWebConst.DATABEAN_GET_VALUE));
		// 丁目・番地等
		parentMap.put(CHOME_BNCHI, bean[BEAN_SF_1].sendMessageString(FUW10401SFConst.INP_ATICLE_SOHUS_AD_HIKKOSHI_AF_CHO, X31CWebConst.DATABEAN_GET_VALUE)
				+ bean[BEAN_SF_1].sendMessageString(FUW10401SFConst.INP_ATICLE_SOHUS_AD_HIKKOSHI_AF_BNCHI, X31CWebConst.DATABEAN_GET_VALUE));
		}

		outputMap.put(CC_TITLE_FUSV024410, parentMap);

		return outputMap;
	}
	
	/**
	 * 上りマッピング処理です。
	 * <br>
	 * @param bean
	 * @param outputMap
	 * @return 
	 */
	public HashMap<String, Object> setFUSV024411CC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{
		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, JPCModelConstant.FUNC_CD_1);

		// 機器送付先住所＿お引越しまで
		String kikiSohusAdHikkoshiBf = bean[BEAN_SF_1].sendMessageString(FUW10401SFConst.DSP_KIKI_SOHUS_AD_HIKKOSHI_BF, X31CWebConst.DATABEAN_GET_VALUE);
		
		if ("0".equals(kikiSohusAdHikkoshiBf))
		{
			// 現在のご利用場所住所
			X31SDataBeanAccess svcKeiKaisenUcwkInfoBean = JFUWebCommon.getDataBeanTypeByPath(bean[BEAN_COM_0], JFUWebCommon.SVC_KEI_KAISEN_UCWK_INFO);
			
			// 都道府県・市区町村
			parentMap.put(STATE_CITY, svcKeiKaisenUcwkInfoBean.sendMessageString(CommonInfoCFConst.KAISEN_PLACE_STATE_NM_26, X31CWebConst.DATABEAN_GET_VALUE)
										+ svcKeiKaisenUcwkInfoBean.sendMessageString(CommonInfoCFConst.KAISEN_PLACE_CITY_NM_26, X31CWebConst.DATABEAN_GET_VALUE));
			// 字
			parentMap.put(AZA, svcKeiKaisenUcwkInfoBean.sendMessageString(CommonInfoCFConst.KAISEN_PLACE_OAZTSU_NM_26, X31CWebConst.DATABEAN_GET_VALUE));
			// 丁目・番地等
			parentMap.put(CHOME_BNCHI, svcKeiKaisenUcwkInfoBean.sendMessageString(CommonInfoCFConst.KAISEN_PLACE_AZCHO_NM_26, X31CWebConst.DATABEAN_GET_VALUE)
										+ svcKeiKaisenUcwkInfoBean.sendMessageString(CommonInfoCFConst.KAISEN_PLACE_BNCHIGO_26, X31CWebConst.DATABEAN_GET_VALUE));
		}
		else if ("1".equals(kikiSohusAdHikkoshiBf))
		{
			// 移転先のご利用場所住所
			// 都道府県・市区町村
			parentMap.put(STATE_CITY, bean[BEAN_SF_1].sendMessageString(FUW10401SFConst.INP_STATE_CITY, X31CWebConst.DATABEAN_GET_VALUE));
			// 字
			parentMap.put(AZA, bean[BEAN_SF_1].sendMessageString(FUW10401SFConst.INP_AZ, X31CWebConst.DATABEAN_GET_VALUE));
			// 丁目・番地等
			parentMap.put(CHOME_BNCHI, bean[BEAN_SF_1].sendMessageString(FUW10401SFConst.INP_CHO, X31CWebConst.DATABEAN_GET_VALUE)
										+ bean[BEAN_SF_1].sendMessageString(FUW10401SFConst.INP_BNCHI, X31CWebConst.DATABEAN_GET_VALUE));
		}
		else if ("2".equals(kikiSohusAdHikkoshiBf))
		{
		// 都道府県・市区町村
		parentMap.put(STATE_CITY, bean[BEAN_SF_1].sendMessageString(FUW10401SFConst.INP_KIKI_SOHUS_AD_HIKKOSHI_BF_STATE_CITY, X31CWebConst.DATABEAN_GET_VALUE));
		// 字
		parentMap.put(AZA, bean[BEAN_SF_1].sendMessageString(FUW10401SFConst.INP_KIKI_SOHUS_AD_HIKKOSHI_BF_AZ, X31CWebConst.DATABEAN_GET_VALUE));
		// 丁目・番地等
		parentMap.put(CHOME_BNCHI, bean[BEAN_SF_1].sendMessageString(FUW10401SFConst.INP_KIKI_SOHUS_AD_HIKKOSHI_BF_CHO, X31CWebConst.DATABEAN_GET_VALUE)
				+ bean[BEAN_SF_1].sendMessageString(FUW10401SFConst.INP_KIKI_SOHUS_AD_HIKKOSHI_BF_BNCHI, X31CWebConst.DATABEAN_GET_VALUE));
		}
		
		outputMap.put(CC_TITLE_FUSV024411, parentMap);

		return outputMap;
	}
	
	/**
	 * 上りマッピング処理です。
	 * <br>
	 * @param bean
	 * @param outputMap
	 * @return 
	 */
	public HashMap<String, Object> setFUSV024412CC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{
		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, JPCModelConstant.FUNC_CD_1);

		// 機器送付先住所＿お引越しまで
		String kikiSohusAdHikkoshiAf = bean[BEAN_SF_1].sendMessageString(FUW10401SFConst.DSP_KIKI_SOHUS_AD_HIKKOSHI_AF, X31CWebConst.DATABEAN_GET_VALUE);
		
		if ("0".equals(kikiSohusAdHikkoshiAf))
		{
			// 現在のご利用場所住所
			X31SDataBeanAccess svcKeiKaisenUcwkInfoBean = JFUWebCommon.getDataBeanTypeByPath(bean[BEAN_COM_0], JFUWebCommon.SVC_KEI_KAISEN_UCWK_INFO);
			
			// 都道府県・市区町村
			parentMap.put(STATE_CITY, svcKeiKaisenUcwkInfoBean.sendMessageString(CommonInfoCFConst.KAISEN_PLACE_STATE_NM_26, X31CWebConst.DATABEAN_GET_VALUE)
										+ svcKeiKaisenUcwkInfoBean.sendMessageString(CommonInfoCFConst.KAISEN_PLACE_CITY_NM_26, X31CWebConst.DATABEAN_GET_VALUE));
			// 字
			parentMap.put(AZA, svcKeiKaisenUcwkInfoBean.sendMessageString(CommonInfoCFConst.KAISEN_PLACE_OAZTSU_NM_26, X31CWebConst.DATABEAN_GET_VALUE));
			// 丁目・番地等
			parentMap.put(CHOME_BNCHI, svcKeiKaisenUcwkInfoBean.sendMessageString(CommonInfoCFConst.KAISEN_PLACE_AZCHO_NM_26, X31CWebConst.DATABEAN_GET_VALUE)
										+ svcKeiKaisenUcwkInfoBean.sendMessageString(CommonInfoCFConst.KAISEN_PLACE_BNCHIGO_26, X31CWebConst.DATABEAN_GET_VALUE));
		}
		else if ("1".equals(kikiSohusAdHikkoshiAf))
		{
			// 移転先のご利用場所住所
			// 都道府県・市区町村
			parentMap.put(STATE_CITY, bean[BEAN_SF_1].sendMessageString(FUW10401SFConst.INP_STATE_CITY, X31CWebConst.DATABEAN_GET_VALUE));
			// 字
			parentMap.put(AZA, bean[BEAN_SF_1].sendMessageString(FUW10401SFConst.INP_AZ, X31CWebConst.DATABEAN_GET_VALUE));
			// 丁目・番地等
			parentMap.put(CHOME_BNCHI, bean[BEAN_SF_1].sendMessageString(FUW10401SFConst.INP_CHO, X31CWebConst.DATABEAN_GET_VALUE)
										+ bean[BEAN_SF_1].sendMessageString(FUW10401SFConst.INP_BNCHI, X31CWebConst.DATABEAN_GET_VALUE));
		}
		else if ("2".equals(kikiSohusAdHikkoshiAf))
		{
		// 都道府県・市区町村
		parentMap.put(STATE_CITY, bean[BEAN_SF_1].sendMessageString(FUW10401SFConst.INP_KIKI_SOHUS_AD_HIKKOSHI_AF_STATE_CITY, X31CWebConst.DATABEAN_GET_VALUE));
		// 字
		parentMap.put(AZA, bean[BEAN_SF_1].sendMessageString(FUW10401SFConst.INP_KIKI_SOHUS_AD_HIKKOSHI_AF_AZ, X31CWebConst.DATABEAN_GET_VALUE));
		// 丁目・番地等
		parentMap.put(CHOME_BNCHI, bean[BEAN_SF_1].sendMessageString(FUW10401SFConst.INP_KIKI_SOHUS_AD_HIKKOSHI_AF_CHO, X31CWebConst.DATABEAN_GET_VALUE)
				+ bean[BEAN_SF_1].sendMessageString(FUW10401SFConst.INP_KIKI_SOHUS_AD_HIKKOSHI_AF_BNCHI, X31CWebConst.DATABEAN_GET_VALUE));
		}
		
		outputMap.put(CC_TITLE_FUSV024412, parentMap);

		return outputMap;
	}
	
	/**
	 * 上りマッピング処理です。
	 * <br>
	 * @param bean
	 * @param outputMap
	 * @return 
	 */
	public HashMap<String, Object> setFUSV024413CC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{
		X31SDataBeanAccessArray telSvcList = bean[BEAN_SF_1].getDataBeanArray(FUW10401SFConst.TEL_SVC_LIST);
		
		X31SDataBeanAccess telSvc1 = telSvcList.getDataBean(0);
		String bnpKiykAdSel = telSvc1.sendMessageString(FUW10401SFConst.BNP_KIYK_AD_SEL_04, X31CWebConst.DATABEAN_GET_VALUE);
		
		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, JPCModelConstant.FUNC_CD_1);

		// 番ポ電話番号契約住所＿お引越し後
		if(BNP_KIYK_AD_SEL_1.equals(bnpKiykAdSel))
		{
			// 現在のご利用場所住所と同じ
			X31SDataBeanAccess svcKeiKaisenUcwkInfoBean = JFUWebCommon.getDataBeanTypeByPath(bean[BEAN_COM_0], JFUWebCommon.SVC_KEI_KAISEN_UCWK_INFO);
			
			// 都道府県・市区町村
			parentMap.put(STATE_CITY, svcKeiKaisenUcwkInfoBean.sendMessageString(CommonInfoCFConst.KAISEN_PLACE_STATE_NM_26, X31CWebConst.DATABEAN_GET_VALUE)
										+ svcKeiKaisenUcwkInfoBean.sendMessageString(CommonInfoCFConst.KAISEN_PLACE_CITY_NM_26, X31CWebConst.DATABEAN_GET_VALUE));
			// 字
			parentMap.put(AZA, svcKeiKaisenUcwkInfoBean.sendMessageString(CommonInfoCFConst.KAISEN_PLACE_OAZTSU_NM_26, X31CWebConst.DATABEAN_GET_VALUE));
			// 丁目・番地等
			parentMap.put(CHOME_BNCHI, svcKeiKaisenUcwkInfoBean.sendMessageString(CommonInfoCFConst.KAISEN_PLACE_AZCHO_NM_26, X31CWebConst.DATABEAN_GET_VALUE)
										+ svcKeiKaisenUcwkInfoBean.sendMessageString(CommonInfoCFConst.KAISEN_PLACE_BNCHIGO_26, X31CWebConst.DATABEAN_GET_VALUE));
		}
		else if(BNP_KIYK_AD_SEL_2.equals(bnpKiykAdSel))
		{
			// 引越し先の住所と同じ
			// 都道府県・市区町村
			parentMap.put(STATE_CITY, bean[BEAN_SF_1].sendMessageString(FUW10401SFConst.INP_STATE_CITY, X31CWebConst.DATABEAN_GET_VALUE));
			// 字
			parentMap.put(AZA, bean[BEAN_SF_1].sendMessageString(FUW10401SFConst.INP_AZ, X31CWebConst.DATABEAN_GET_VALUE));
			// 丁目・番地等
			parentMap.put(CHOME_BNCHI, bean[BEAN_SF_1].sendMessageString(FUW10401SFConst.INP_CHO, X31CWebConst.DATABEAN_GET_VALUE)
										+ bean[BEAN_SF_1].sendMessageString(FUW10401SFConst.INP_BNCHI, X31CWebConst.DATABEAN_GET_VALUE));
		}
		else if(BNP_KIYK_AD_SEL_3.equals(bnpKiykAdSel))
		{
			// 上記以外
			// 都道府県・市区町村
			parentMap.put(STATE_CITY, telSvc1.sendMessageString(FUW10401SFConst.BMP_KIYK_AD_STATE_CITY_04, X31CWebConst.DATABEAN_GET_VALUE));
			// 字
			parentMap.put(AZA, telSvc1.sendMessageString(FUW10401SFConst.BMP_KIYK_AD_AZ_04, X31CWebConst.DATABEAN_GET_VALUE));
			// 丁目・番地等
			parentMap.put(CHOME_BNCHI, telSvc1.sendMessageString(FUW10401SFConst.BMP_KIYK_AD_CHO_BNCHI_04, X31CWebConst.DATABEAN_GET_VALUE)
					+ telSvc1.sendMessageString(FUW10401SFConst.BMP_KIYK_AD_BNCHI_04, X31CWebConst.DATABEAN_GET_VALUE));
		}
		
		outputMap.put(CC_TITLE_FUSV024413, parentMap);

		return outputMap;
	}
	
	/**
	 * 上りマッピング処理です。
	 * <br>
	 * @param bean
	 * @param outputMap
	 * @return 
	 */
	public HashMap<String, Object> setFUSV024414CC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{
		X31SDataBeanAccessArray telSvcList = bean[BEAN_SF_1].getDataBeanArray(FUW10401SFConst.TEL_SVC_LIST);
		
		X31SDataBeanAccess telSvc2 = telSvcList.getDataBean(1);
		String bnpKiykAdSel = telSvc2.sendMessageString(FUW10401SFConst.BNP_KIYK_AD_SEL_04, X31CWebConst.DATABEAN_GET_VALUE);
		
		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, JPCModelConstant.FUNC_CD_1);

		// 番ポ電話番号契約住所＿お引越し後
		if(BNP_KIYK_AD_SEL_1.equals(bnpKiykAdSel))
		{
			// 現在のご利用場所住所と同じ
			X31SDataBeanAccess svcKeiKaisenUcwkInfoBean = JFUWebCommon.getDataBeanTypeByPath(bean[BEAN_COM_0], JFUWebCommon.SVC_KEI_KAISEN_UCWK_INFO);
			
			// 都道府県・市区町村
			parentMap.put(STATE_CITY, svcKeiKaisenUcwkInfoBean.sendMessageString(CommonInfoCFConst.KAISEN_PLACE_STATE_NM_26, X31CWebConst.DATABEAN_GET_VALUE)
										+ svcKeiKaisenUcwkInfoBean.sendMessageString(CommonInfoCFConst.KAISEN_PLACE_CITY_NM_26, X31CWebConst.DATABEAN_GET_VALUE));
			// 字
			parentMap.put(AZA, svcKeiKaisenUcwkInfoBean.sendMessageString(CommonInfoCFConst.KAISEN_PLACE_OAZTSU_NM_26, X31CWebConst.DATABEAN_GET_VALUE));
			// 丁目・番地等
			parentMap.put(CHOME_BNCHI, svcKeiKaisenUcwkInfoBean.sendMessageString(CommonInfoCFConst.KAISEN_PLACE_AZCHO_NM_26, X31CWebConst.DATABEAN_GET_VALUE)
										+ svcKeiKaisenUcwkInfoBean.sendMessageString(CommonInfoCFConst.KAISEN_PLACE_BNCHIGO_26, X31CWebConst.DATABEAN_GET_VALUE));
			
		}
		else if(BNP_KIYK_AD_SEL_2.equals(bnpKiykAdSel))
		{
			// 引越し先の住所と同じ
			// 都道府県・市区町村
			parentMap.put(STATE_CITY, bean[BEAN_SF_1].sendMessageString(FUW10401SFConst.INP_STATE_CITY, X31CWebConst.DATABEAN_GET_VALUE));
			// 字
			parentMap.put(AZA, bean[BEAN_SF_1].sendMessageString(FUW10401SFConst.INP_AZ, X31CWebConst.DATABEAN_GET_VALUE));
			// 丁目・番地等
			parentMap.put(CHOME_BNCHI, bean[BEAN_SF_1].sendMessageString(FUW10401SFConst.INP_CHO, X31CWebConst.DATABEAN_GET_VALUE)
										+ bean[BEAN_SF_1].sendMessageString(FUW10401SFConst.INP_BNCHI, X31CWebConst.DATABEAN_GET_VALUE));
		}
		else if(BNP_KIYK_AD_SEL_3.equals(bnpKiykAdSel))
		{
			// 上記以外
			// 都道府県・市区町村
			parentMap.put(STATE_CITY, telSvc2.sendMessageString(FUW10401SFConst.BMP_KIYK_AD_STATE_CITY_04, X31CWebConst.DATABEAN_GET_VALUE));
			// 字
			parentMap.put(AZA, telSvc2.sendMessageString(FUW10401SFConst.BMP_KIYK_AD_AZ_04, X31CWebConst.DATABEAN_GET_VALUE));
			// 丁目・番地等
			parentMap.put(CHOME_BNCHI, telSvc2.sendMessageString(FUW10401SFConst.BMP_KIYK_AD_CHO_BNCHI_04, X31CWebConst.DATABEAN_GET_VALUE)
					+ telSvc2.sendMessageString(FUW10401SFConst.BMP_KIYK_AD_BNCHI_04, X31CWebConst.DATABEAN_GET_VALUE));
		}
		
		outputMap.put(CC_TITLE_FUSV024414, parentMap);

		return outputMap;
	}

	/**
	 * 下りマッピング処理です。
	 * <br>
	 * @param bean
	 * @param outputMap
	 * @return X31SDataBeanAccess
	 */
	public X31SDataBeanAccess getFUSV024401SC(X31SDataBeanAccess bean, HashMap outputMap)
	{
		HashMap parentMap = null;

		HashMap<String, String> dataMap = new HashMap<String, String>();
		// ANK-4562-00-00 ADD START
		HashMap<String, String> dataMap2 = new HashMap<String, String>();
		// ANK-4562-00-00 ADD END

		if (outputMap.containsKey(SC_TITLE_FUSV024401))
		{
			parentMap = (HashMap)outputMap.get(SC_TITLE_FUSV024401);
		}

		if (null != parentMap && parentMap.containsKey(EKK0791B502_LIST))
		{
			ArrayList childList = (ArrayList)parentMap.get(EKK0791B502_LIST);

			for (int i = 0; i < childList.size(); i++)
			{
				HashMap childMap = (HashMap)childList.get(i);

				if (childMap.containsKey(PRICE))
				{
					// マップに保存
					dataMap.put((String)childMap.get(PCRS_CD), (String)childMap.get(PRICE));
				}
				// ANK-4562-00-00 ADD START
				// マンションのVDSL/イーサ用金額を設定
				if (childMap.containsKey(PRICE_ADD))
				{
					// マップに保存
					dataMap2.put((String)childMap.get(PPLAN_CD_ADD), (String)childMap.get(PRICE_ADD));
				}
				// ANK-4562-00-00 ADD END

			}
		}

		// ANK-4562-00-00 ADD START
		// 引越先住居種別
		String hkksSk = bean.sendMessageString(FUW10401SFConst.HKKS_SK_JKYO_SBT_CD, X31CWebConst.DATABEAN_GET_VALUE);
		// 引越先提供方式パターンコード
		String hkksTk = bean.sendMessageString(FUW10401SFConst.HKKS_TK_HOSHIKI_PTN_CD, X31CWebConst.DATABEAN_GET_VALUE);
		// ANK-4562-00-00 ADD END

		// ●●サービス変更選択(電話)（0:利用しない、1:1番号サービス、2:2番号サービス）
		String telSvcChgSel = bean.sendMessageString(FUW10401SFConst.TEL_SVC_CHG_SEL, X31CWebConst.DATABEAN_GET_VALUE);

		// ○月額合計
		long monSum = Long.valueOf(bean.sendMessageString(FUW10401SFConst.KKN_GTGK_HI_GOKEI_AMNT, X31CWebConst.DATABEAN_GET_VALUE));

		// ●変更後電話月額料金を取得
		String chafTelGtgprcam = JFUStrConst.EMPTY;

		// VAの料金マップを取得
		HashMap parentMapVA = (HashMap)outputMap.get(CC_TITLE_FUSV024406);

		if (TEL_SVC_CHG_SEL_FIRST.equals(telSvcChgSel))
		{
			// ANK-4562-00-00 MOD START
			// 引越し先がマンションで、引越し先提供方式パターンコードが5以外（1:VDSL 2:VDSL-2 3:イーサ 4:ギガイーサ 5:光配線）
			if (hkksSk.equals(HKKS_SK_JKYO_SBT_CD_MT) && !hkksTk.equals(JFUStrConst.TK_HOSHIKI_PTN_HIKARI_HAISEN))
			{
				chafTelGtgprcam = dataMap2.get(JFUStrConst.CD00565_PA3102); // "A3102":1番号コース
			}
			else
			{
				chafTelGtgprcam = dataMap.get(JFUStrConst.CD00134_A31); // "A31":1番号コース
			}
			// ANK-4562-00-00 MOD END
			// VA料金を加算
			chafTelGtgprcam =
					String.valueOf(Long.parseLong(chafTelGtgprcam) + Long.parseLong((String)parentMapVA.get(OUT_PARAM_PPLAN_KOTEI_AMNT_1PORT_VA)));
		}
		else if (TEL_SVC_CHG_SEL_SECOND.equals(telSvcChgSel))
		{
			// ANK-4562-00-00 MOD START
			// 引越し先がマンションで、引越し先提供方式パターンコードが5以外（1:VDSL 2:VDSL-2 3:イーサ 4:ギガイーサ 5:光配線）
			if (hkksSk.equals(HKKS_SK_JKYO_SBT_CD_MT) && !hkksTk.equals(JFUStrConst.TK_HOSHIKI_PTN_HIKARI_HAISEN))
			{
				chafTelGtgprcam = dataMap2.get(JFUStrConst.CD00565_PA3202); // "A3202":2番号コース
			}
			else
			{
				chafTelGtgprcam = dataMap.get(JFUStrConst.CD00134_A32); // "A32":2番号コース
			}
			// ANK-4562-00-00 MOD END
			// VA料金を加算
			chafTelGtgprcam =
					String.valueOf(Long.parseLong(chafTelGtgprcam) + Long.parseLong((String)parentMapVA.get(OUT_PARAM_PPLAN_KOTEI_AMNT_2PORT_VA)));
		}
		// 確認_変更後電話月額料金額
		bean.sendMessageString(FUW10401SFConst.KKN_CHAF_TEL_GTGPRCAM, X31CWebConst.DATABEAN_SET_VALUE, chafTelGtgprcam);

		// シンプルプランの場合、電話料金不要(空になる)
		// ○電話サービスを利用する場合のみ設定
		if (!chafTelGtgprcam.isEmpty() && !TEL_SVC_CHG_SEL_NOUSE.equals(telSvcChgSel))
		{

			// ○月額合計計算
			monSum = monSum + Long.valueOf(chafTelGtgprcam).longValue();

			// ●月額合計
			bean.sendMessageString(FUW10401SFConst.KKN_GTGK_HI_GOKEI_AMNT, X31CWebConst.DATABEAN_SET_VALUE, String.valueOf(monSum));
		}

		return bean;
	}

	/**
	 * 下りマッピング処理です。
	 * <br>
	 * @param bean
	 * @param outputMap
	 * @return X31SDataBeanAccess
	 * @throws Exception
	 */
	public X31SDataBeanAccess getFUSV024402SC(X31SDataBeanAccess bean, HashMap outputMap) throws Exception
	{

		// ----------------------------------------------------
		// ◆ サービスIFからTV関係の料金データを取得（基本料金、追加料金）
		// ----------------------------------------------------

		// ホーム基本プランの料金マップ
		HashMap<String, String> dataMap = new HashMap<String, String>();
		// ホーム追加プランの料金マップ
		HashMap<String, String> dataAddMap = new HashMap<String, String>();

		// ●●料金データ
		HashMap parentMap = (HashMap)outputMap.get(SC_TITLE_FUSV024402);

		ArrayList childList = (ArrayList)parentMap.get(EKK0791B502_LIST);

		for (int i = 0; i < childList.size(); i++)
		{
			HashMap childMap = (HashMap)childList.get(i);
			// マップに保存
			if (HKKS_SK_JKYO_SBT_CD_MT.equals(bean.sendMessageString(FUW10401SFConst.HKKS_SK_JKYO_SBT_CD, X31CWebConst.DATABEAN_GET_VALUE))
					&& !JFUWebCommon.isNull(childMap.get(PRICEM)))
			{
				dataMap.put((String)childMap.get(PCRS_CD), (String)childMap.get(PRICEM));
				dataAddMap.put((String)childMap.get(PCRS_CD), (String)childMap.get(PRICEM_ADD));
			}
			else
			{
				dataMap.put((String)childMap.get(PCRS_CD), (String)childMap.get(PRICE));
				dataAddMap.put((String)childMap.get(PCRS_CD), (String)childMap.get(PRICE_ADD));
			}
		}

		// ----------------------------------------------------
		// ◆ TV関係のデータの設定（変更用、追加用）
		// ----------------------------------------------------

		// ■ 住所変更Web申込内容STB明細 ■
		X31SDataBeanAccessArray stbDtlList = bean.getDataBeanArray(FUW10401SFConst.KKN_STB_DTL_LIST);

		// ●●コース種別・・・変更前のコース
		//   0:旧コース、1:新コース（プレミアム、ベーシック、コンパクト）、2:地デジ・BS、3:地デジ・BS スターチャンネルセット、
		//   4:地デジ・BSコース　スターチャンネルセット(割引無)、5:スマートプレミアム、スマートベーシック、スマートコンパクト、
		//   6:CSベーシック、7:7、"":未契約
		String tvPcrsType = bean.sendMessageString(FUW10401SFConst.TV_PCRS_TYPE, X31CWebConst.DATABEAN_GET_VALUE);
		// ●●申込後コース種別（0:旧コース、1:新コース、2:地デジ・BS、"":未契約）・・・変更後のコース
		String tvPcrsTypeChg = bean.sendMessageString(FUW10401SFConst.TV_PCRS_TYPE_CHG, X31CWebConst.DATABEAN_GET_VALUE);

		// クリア
		bean.sendMessageString(FUW10401SFConst.KKN_CHAF_TV_GTGPRCAM, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);

		// 申込の前後でテレビが未契約の場合は抜ける。
		if (JFUWebCommon.isNull(tvPcrsType) && JFUWebCommon.isNull(tvPcrsTypeChg))
		{
			return bean;
		}

		// ○リスト
		// 変更後契約者情報リストの一覧を取得
		X31SDataBeanAccessArray tvChgKeiList = bean.getDataBeanArray(FUW10401SFConst.TV_CHG_KEI_LIST);
		// 追加契約者情報リスト（テレビ）の取得
		X31SDataBeanAccessArray tvAddKeiList = bean.getDataBeanArray(FUW10401SFConst.TV_ADD_KEI_LIST);
		// 追加後台数
		String tvAddCnt = bean.sendMessageString(FUW10401SFConst.TV_ADD_CNT, X31CWebConst.DATABEAN_GET_VALUE);
		// 契約中台数
		int kikiAllCnt = Integer.valueOf(bean.sendMessageString(FUW10401SFConst.KIKI_ALL_CNT, X31CWebConst.DATABEAN_GET_VALUE));
		// 合計台数
		//  追加が有る場合は、追加後合計台数を使用する。
		//  追加がない場合は追加後合計台数はNULL、その場合は契約中台数を使用する。
		int tvSumKiki = 0;
		if (JFUStrConst.S_ZERO.equals(nullToZero(tvAddCnt)) == false)
		{
			tvSumKiki = Integer.valueOf(tvAddCnt);
		}
		else
		{
			tvSumKiki = kikiAllCnt;
		}

		String hkksMtJkyoSbtCd = bean.sendMessageString(FUW10401SFConst.HKKS_MT_JKYO_SBT_CD, X31CWebConst.DATABEAN_GET_VALUE);
		String hkksSkJkyoSbtCd = bean.sendMessageString(FUW10401SFConst.HKKS_SK_JKYO_SBT_CD, X31CWebConst.DATABEAN_GET_VALUE);

		//解約・新規の場合
		if ((JKYO_SBT_CD_1.equals(hkksMtJkyoSbtCd) || JKYO_SBT_CD_1.equals(hkksSkJkyoSbtCd)))
		{
			
			if (JFUStrConst.S_ZERO.equals(nullToZero(tvAddCnt)) == false)
			{
				//追加台数と契約中を比べる
				if (Integer.valueOf(nullToZero(tvAddCnt)).intValue() > kikiAllCnt)
				{
					tvSumKiki = Integer.valueOf(nullToZero(tvAddCnt)).intValue();
				}
				else
				{
					tvSumKiki = kikiAllCnt;
				}
			} 
			else
			{
				tvSumKiki = kikiAllCnt;
			}
			
		}
		
		ArrayList tvList = new ArrayList();
		Long maxBfPrice = 0L;
		int baseBfPriceIndex = 0;
		Long maxAfPrice = 0L;
		int baseAfPriceIndex = 0;
		// 
		for (int i = 0; i < tvSumKiki; i++)
		{
			// 確認_STB明細リスト
			X31SDataBeanAccess stvData = stbDtlList.addDataBean();

			// 確認_住所変更Web申込内容STB明細番号（2桁にする）
			stvData.sendMessageString(FUW10401SFConst.ADCHWMN_STB_DTL_NO_17, X31CWebConst.DATABEAN_SET_VALUE, JFUWebCommon.fillZero(String
					.valueOf(i + 1), 2, false));

			if (i < kikiAllCnt && (!(JKYO_SBT_CD_1.equals(hkksMtJkyoSbtCd) || JKYO_SBT_CD_1.equals(hkksSkJkyoSbtCd))))
			{

				// ◆変更の場合

				// 申込後変更
				X31SDataBeanAccess stvSvcAftChg = tvChgKeiList.getDataBean(i);

				// 確認_TVコースサービス契約内訳番号
				stvData.sendMessageString(FUW10401SFConst.TV_COURSE_SVC_KEI_UCWK_NO_17, X31CWebConst.DATABEAN_SET_VALUE, stvSvcAftChg
						.sendMessageString(FUW10401SFConst.SVC_KEI_UCWK_NO_06, X31CWebConst.DATABEAN_GET_VALUE));
				// 確認_STB機器提供サービス契約番号
				stvData.sendMessageString(FUW10401SFConst.STB_KKTK_SVC_KEI_NO_17, X31CWebConst.DATABEAN_SET_VALUE, stvSvcAftChg.sendMessageString(
						FUW10401SFConst.KKTK_SVC_KEI_NO_06, X31CWebConst.DATABEAN_GET_VALUE));
				// 確認_住所変更時STB契約異動識別コード
				String jinStb = JFUStrConst.EMPTY;
				String nowKikiPcrsCd = stvSvcAftChg.sendMessageString(FUW10401SFConst.NOW_KIKI_PCRS_CD_06, X31CWebConst.DATABEAN_GET_VALUE);
				String chgStbPcrsCd = stvSvcAftChg.sendMessageString(FUW10401SFConst.CHG_STB_PCRS_CD_06, X31CWebConst.DATABEAN_GET_VALUE);
				if (nowKikiPcrsCd.equals(chgStbPcrsCd))
				{
					jinStb = JFUStrConst.CD01424_3; // "3":変更しない
				}
				else if (JFUWebCommon.isNull(chgStbPcrsCd) || CHG_STB_PCRS_CD_REMOVE.equals(chgStbPcrsCd))
				{
					jinStb = JFUStrConst.CD01424_4; // 	"4":撤去する
				}
				else
				{
					jinStb = JFUStrConst.CD01424_2; // 	"2":変更する
				}
				stvData.sendMessageString(FUW10401SFConst.ADCHG_JI_STB_KEI_IDO_SKCD_17, X31CWebConst.DATABEAN_SET_VALUE, jinStb);

				// 確認_変更前STBID
				stvData.sendMessageString(FUW10401SFConst.CHBF_STB_ID_17, X31CWebConst.DATABEAN_SET_VALUE, stvSvcAftChg.sendMessageString(
						FUW10401SFConst.CHG_STB_ID_06, X31CWebConst.DATABEAN_GET_VALUE));
				// 確認_変更前STB宅内機器型式コード
				stvData.sendMessageString(FUW10401SFConst.CHBF_STB_TAKNKIKI_MODEL_CD_17, X31CWebConst.DATABEAN_SET_VALUE, stvSvcAftChg
						.sendMessageString(FUW10401SFConst.TAKNKIKI_MODEL_CD_06, X31CWebConst.DATABEAN_GET_VALUE));
				// 確認_変更前STBHDD容量コード
				stvData.sendMessageString(FUW10401SFConst.CHBF_STB_HDD_CAPA_CD_17, X31CWebConst.DATABEAN_SET_VALUE, stvSvcAftChg.sendMessageString(
						FUW10401SFConst.NOW_HDD_CAPA_CD_06, X31CWebConst.DATABEAN_GET_VALUE));
				// 確認_変更前STB料金コースコード
				stvData.sendMessageString(FUW10401SFConst.CHBF_STB_PCRS_CD_17, X31CWebConst.DATABEAN_SET_VALUE, stvSvcAftChg.sendMessageString(
						FUW10401SFConst.NOW_KIKI_PCRS_CD_06, X31CWebConst.DATABEAN_GET_VALUE));
				// 確認_変更前TVコース料金コースコード
				String nowPcrsCd = stvSvcAftChg.sendMessageString(FUW10401SFConst.NOW_PCRS_CD_06, X31CWebConst.DATABEAN_GET_VALUE);
				stvData.sendMessageString(FUW10401SFConst.CHBF_TV_COURSE_PCRS_CD_17, X31CWebConst.DATABEAN_SET_VALUE, nowPcrsCd);
				// 確認_変更前TVコース料金コース名
				stvData.sendMessageString(FUW10401SFConst.CHBF_TV_COURSE_PCRS_NM_17, X31CWebConst.DATABEAN_SET_VALUE, getTvPcrsNm(nowPcrsCd));

				// 変更後の値は、撤去する以外の場合のみ設定
				if (!JFUStrConst.CD01424_4.equals(jinStb))
				{
					// 確認_変更後STBHDD容量コード
					stvData.sendMessageString(FUW10401SFConst.CHAF_STB_HDD_CAPA_CD_17, X31CWebConst.DATABEAN_SET_VALUE, stvSvcAftChg
							.sendMessageString(FUW10401SFConst.CHG_HDD_CD_06, X31CWebConst.DATABEAN_GET_VALUE));
					// 確認_変更後STB料金コースコード
					stvData.sendMessageString(FUW10401SFConst.CHAF_STB_PCRS_CD_17, X31CWebConst.DATABEAN_SET_VALUE, stvSvcAftChg.sendMessageString(
							FUW10401SFConst.CHG_STB_PCRS_CD_06, X31CWebConst.DATABEAN_GET_VALUE));
					// 確認_変更後TVコース料金コースコード
					String chgPcrsCd = stvSvcAftChg.sendMessageString(FUW10401SFConst.CHG_PCRS_CD_06, X31CWebConst.DATABEAN_GET_VALUE);
					stvData.sendMessageString(FUW10401SFConst.CHAF_TV_COURSE_PCRS_CD_17, X31CWebConst.DATABEAN_SET_VALUE, chgPcrsCd);
					// 確認_変更後TVコース料金コース名
					stvData.sendMessageString(FUW10401SFConst.CHAF_TV_COURSE_PCRS_NM_17, X31CWebConst.DATABEAN_SET_VALUE, getTvPcrsNm(chgPcrsCd));
				}
				else
				{
					// 撤去する場合は未設定
					// 確認_変更後STBHDD容量コード
					stvData.sendMessageString(FUW10401SFConst.CHAF_STB_HDD_CAPA_CD_17, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
					// 確認_変更後STB料金コースコード
					stvData.sendMessageString(FUW10401SFConst.CHAF_STB_PCRS_CD_17, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
					// 確認_変更後TVコース料金コースコード
					stvData.sendMessageString(FUW10401SFConst.CHAF_TV_COURSE_PCRS_CD_17, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
					// 確認_変更後TVコース料金コース名
					stvData.sendMessageString(FUW10401SFConst.CHAF_TV_COURSE_PCRS_NM_17, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
			}
			else if (i < kikiAllCnt && ((JKYO_SBT_CD_1.equals(hkksMtJkyoSbtCd) || JKYO_SBT_CD_1.equals(hkksSkJkyoSbtCd))))
			{
				// ◆変更の場合

				// 申込後変更
				X31SDataBeanAccess stvSvcAftChg = tvChgKeiList.getDataBean(i);

				// 確認_TVコースサービス契約内訳番号
				stvData.sendMessageString(FUW10401SFConst.TV_COURSE_SVC_KEI_UCWK_NO_17, X31CWebConst.DATABEAN_SET_VALUE, stvSvcAftChg
						.sendMessageString(FUW10401SFConst.SVC_KEI_UCWK_NO_06, X31CWebConst.DATABEAN_GET_VALUE));
				// 確認_STB機器提供サービス契約番号
				stvData.sendMessageString(FUW10401SFConst.STB_KKTK_SVC_KEI_NO_17, X31CWebConst.DATABEAN_SET_VALUE, stvSvcAftChg.sendMessageString(
						FUW10401SFConst.KKTK_SVC_KEI_NO_06, X31CWebConst.DATABEAN_GET_VALUE));
				// 確認_変更前STBID
				stvData.sendMessageString(FUW10401SFConst.CHBF_STB_ID_17, X31CWebConst.DATABEAN_SET_VALUE, stvSvcAftChg.sendMessageString(
						FUW10401SFConst.CHG_STB_ID_06, X31CWebConst.DATABEAN_GET_VALUE));
				// 確認_変更前STB宅内機器型式コード
				stvData.sendMessageString(FUW10401SFConst.CHBF_STB_TAKNKIKI_MODEL_CD_17, X31CWebConst.DATABEAN_SET_VALUE, stvSvcAftChg
						.sendMessageString(FUW10401SFConst.TAKNKIKI_MODEL_CD_06, X31CWebConst.DATABEAN_GET_VALUE));
				// 確認_変更前STBHDD容量コード
				stvData.sendMessageString(FUW10401SFConst.CHBF_STB_HDD_CAPA_CD_17, X31CWebConst.DATABEAN_SET_VALUE, stvSvcAftChg.sendMessageString(
						FUW10401SFConst.NOW_HDD_CAPA_CD_06, X31CWebConst.DATABEAN_GET_VALUE));
				// 確認_変更前STB料金コースコード
				stvData.sendMessageString(FUW10401SFConst.CHBF_STB_PCRS_CD_17, X31CWebConst.DATABEAN_SET_VALUE, stvSvcAftChg.sendMessageString(
						FUW10401SFConst.NOW_KIKI_PCRS_CD_06, X31CWebConst.DATABEAN_GET_VALUE));
				// 確認_変更前TVコース料金コースコード
				String nowPcrsCd = stvSvcAftChg.sendMessageString(FUW10401SFConst.NOW_PCRS_CD_06, X31CWebConst.DATABEAN_GET_VALUE);
				stvData.sendMessageString(FUW10401SFConst.CHBF_TV_COURSE_PCRS_CD_17, X31CWebConst.DATABEAN_SET_VALUE, nowPcrsCd);
				// 確認_変更前TVコース料金コース名
				stvData.sendMessageString(FUW10401SFConst.CHBF_TV_COURSE_PCRS_NM_17, X31CWebConst.DATABEAN_SET_VALUE, getTvPcrsNm(nowPcrsCd));

				// 申込後追加
				X31SDataBeanAccess stvSvcAftAdd = tvAddKeiList.getDataBean(i);
				
				// 既契約より追加したSTBが多い場合
				if (Integer.valueOf(nullToZero(tvAddCnt)).intValue() <= i)
				{
					// 確認_住所変更時STB契約異動識別コード
					stvData.sendMessageString(FUW10401SFConst.ADCHG_JI_STB_KEI_IDO_SKCD_17, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
					// 確認_変更後STBHDD容量コード
					stvData.sendMessageString(FUW10401SFConst.CHAF_STB_HDD_CAPA_CD_17, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
					// 確認_変更後STB料金コースコード
					stvData.sendMessageString(FUW10401SFConst.CHAF_STB_PCRS_CD_17, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
					// 確認_変更後TVコース料金コースコード
					stvData.sendMessageString(FUW10401SFConst.CHAF_TV_COURSE_PCRS_CD_17, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
					// 確認_変更後TVコース料金コース名
					stvData.sendMessageString(FUW10401SFConst.CHAF_TV_COURSE_PCRS_NM_17, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
					// 確認_変更後ＳＴＢ月額料金額
					stvData.sendMessageString(FUW10401SFConst.CHAF_STB_GTGPRCAM_17, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
					// 確認_変更後ＴＶコース月額料金額
					stvData.sendMessageString(FUW10401SFConst.CHAF_TV_COURSE_GTGPRCAM_17, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				else
				{
					// 確認_住所変更時STB契約異動識別コード
					stvData.sendMessageString(FUW10401SFConst.ADCHG_JI_STB_KEI_IDO_SKCD_17, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.CD01424_1);
					// 確認_変更後STBHDD容量コード
					stvData.sendMessageString(FUW10401SFConst.CHAF_STB_HDD_CAPA_CD_17, X31CWebConst.DATABEAN_SET_VALUE, stvSvcAftAdd.sendMessageString(
							FUW10401SFConst.ADD_HDD_CD_20, X31CWebConst.DATABEAN_GET_VALUE));
					// 確認_変更後STB料金コースコード
					stvData.sendMessageString(FUW10401SFConst.CHAF_STB_PCRS_CD_17, X31CWebConst.DATABEAN_SET_VALUE, stvSvcAftAdd.sendMessageString(
							FUW10401SFConst.ADD_STB_PCRS_CD_20, X31CWebConst.DATABEAN_GET_VALUE));
					// 確認_変更後TVコース料金コースコード
					String addPcrsCd = stvSvcAftAdd.sendMessageString(FUW10401SFConst.ADD_PCRS_CD_20, X31CWebConst.DATABEAN_GET_VALUE);
					stvData.sendMessageString(FUW10401SFConst.CHAF_TV_COURSE_PCRS_CD_17, X31CWebConst.DATABEAN_SET_VALUE, addPcrsCd);
					// 確認_変更後TVコース料金コース名
					stvData.sendMessageString(FUW10401SFConst.CHAF_TV_COURSE_PCRS_NM_17, X31CWebConst.DATABEAN_SET_VALUE, getTvPcrsNm(addPcrsCd));
				}
			}
			else
			{
				// ◆追加の場合

				// 申込後追加
				X31SDataBeanAccess stvSvcAftAdd = tvAddKeiList.getDataBean(i);

				// 確認_住所変更時STB契約異動識別コード
				stvData.sendMessageString(FUW10401SFConst.ADCHG_JI_STB_KEI_IDO_SKCD_17, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.CD01424_1);
				// 確認_変更後STBHDD容量コード
				stvData.sendMessageString(FUW10401SFConst.CHAF_STB_HDD_CAPA_CD_17, X31CWebConst.DATABEAN_SET_VALUE, stvSvcAftAdd.sendMessageString(
						FUW10401SFConst.ADD_HDD_CD_20, X31CWebConst.DATABEAN_GET_VALUE));
				// 確認_変更後STB料金コースコード
				stvData.sendMessageString(FUW10401SFConst.CHAF_STB_PCRS_CD_17, X31CWebConst.DATABEAN_SET_VALUE, stvSvcAftAdd.sendMessageString(
						FUW10401SFConst.ADD_STB_PCRS_CD_20, X31CWebConst.DATABEAN_GET_VALUE));
				// 確認_変更後TVコース料金コースコード
				String addPcrsCd = stvSvcAftAdd.sendMessageString(FUW10401SFConst.ADD_PCRS_CD_20, X31CWebConst.DATABEAN_GET_VALUE);
				stvData.sendMessageString(FUW10401SFConst.CHAF_TV_COURSE_PCRS_CD_17, X31CWebConst.DATABEAN_SET_VALUE, addPcrsCd);
				// 確認_変更後TVコース料金コース名
				stvData.sendMessageString(FUW10401SFConst.CHAF_TV_COURSE_PCRS_NM_17, X31CWebConst.DATABEAN_SET_VALUE, getTvPcrsNm(addPcrsCd));
			}

			// ☆基本コースの判定
			HashMap tvMap = new HashMap();

			// ○○変更前
			if (i < kikiAllCnt)
			{
				String chbfStbPcrsCd = stvData.sendMessageString(FUW10401SFConst.CHBF_STB_PCRS_CD_17, X31CWebConst.DATABEAN_GET_VALUE);
				tvMap.put(CHBF_STB_PCRS_CD, chbfStbPcrsCd);
				tvMap.put(CHBF_STB_PCRS_PRICE, dataMap.get(chbfStbPcrsCd));
				String chbfTvPcrsCd = stvData.sendMessageString(FUW10401SFConst.CHBF_TV_COURSE_PCRS_CD_17, X31CWebConst.DATABEAN_GET_VALUE);
				tvMap.put(CHBF_TV_PCRS_CD, chbfTvPcrsCd);
				tvMap.put(CHBF_TV_PCRS_CD_PRICE, dataMap.get(chbfTvPcrsCd));
				tvMap.put(CHBF_TV_PCRS_CD_PRICE_ADD, dataAddMap.get(chbfTvPcrsCd));
				// 基本コースの判定
				if (Long.valueOf((String)tvMap.get(CHBF_TV_PCRS_CD_PRICE)).longValue() > maxBfPrice)
				{
					maxBfPrice = Long.valueOf((String)tvMap.get(CHBF_TV_PCRS_CD_PRICE)).longValue();
					baseBfPriceIndex = tvList.size();
				}
			}

			// ○○変更後
			// 変更後STB料金コースコード
			String chafStbPcrsCd = stvData.sendMessageString(FUW10401SFConst.CHAF_STB_PCRS_CD_17, X31CWebConst.DATABEAN_GET_VALUE);
			tvMap.put(CHAF_STB_PCRS_CD, chafStbPcrsCd);
			tvMap.put(CHAF_STB_PCRS_PRICE, dataMap.get(chafStbPcrsCd));

			// 変更後TV料金コースコード
			String chafTvPcrsCd = stvData.sendMessageString(FUW10401SFConst.CHAF_TV_COURSE_PCRS_CD_17, X31CWebConst.DATABEAN_GET_VALUE);
			tvMap.put(CHAF_TV_PCRS_CD, chafTvPcrsCd);
			tvMap.put(CHAF_TV_PCRS_CD_PRICE, dataMap.get(chafTvPcrsCd));
			tvMap.put(CHAF_TV_PCRS_CD_PRICE_ADD, dataAddMap.get(chafTvPcrsCd));
			tvList.add(tvMap);

			// 基本コースの判定
			if (JFUWebCommon.isNull((String)tvMap.get(CHAF_TV_PCRS_CD_PRICE)) == false
					&& Long.valueOf((String)tvMap.get(CHAF_TV_PCRS_CD_PRICE)).longValue() > maxAfPrice)
			{
				maxAfPrice = Long.valueOf((String)tvMap.get(CHAF_TV_PCRS_CD_PRICE)).longValue();
				baseAfPriceIndex = tvList.size() - 1;
			}
		}

		// ----------------------------------------------------
		// ◆ TVの料金コース名、月額料金、月額合計
		// ----------------------------------------------------

		// ○月額合計
		long monSum = Long.valueOf(bean.sendMessageString(FUW10401SFConst.KKN_GTGK_HI_GOKEI_AMNT, X31CWebConst.DATABEAN_GET_VALUE));

		// ■「地デジ・BSコース、ＣＳコース、ＴＶを利用しない」以外の場合、 STBの料金計算を行う。
		if ((!TV_PCRS_TYPE_NOT_NECESSARY_LIST.contains(tvPcrsTypeChg)) && (!JFUWebCommon.isNull(tvPcrsTypeChg)))
		{
			// 料金の主従切替（一番高いコースの料金は、基本料金を使用し、それ以外のコースには、追加料金を使用する）
			for (int i = 0; i < tvList.size(); i++)
			{
				HashMap tvMap = (HashMap)tvList.get(i);

				X31SDataBeanAccess stvData = stbDtlList.getDataBean(i);

				// ○○変更前
				String tvBfPcrsName = stvData.sendMessageString(FUW10401SFConst.CHBF_TV_COURSE_PCRS_NM_17, X31CWebConst.DATABEAN_GET_VALUE);
				if (JFUWebCommon.isNull(tvBfPcrsName) == false)
				{
					if (i != baseBfPriceIndex)
					{
						tvBfPcrsName = tvBfPcrsName + TV_COURSE_PCRS_NM_ADD;
					}
					// 確認_変更後TVコース料金コース名
					stvData.sendMessageString(FUW10401SFConst.CHBF_TV_COURSE_PCRS_NM_17, X31CWebConst.DATABEAN_SET_VALUE, tvBfPcrsName);
				}

				// ○○変更後
				String stbAfPcrsPrice = (String)tvMap.get(CHAF_STB_PCRS_PRICE);
				if (JFUWebCommon.isNull(stbAfPcrsPrice) == false)
				{
					// 確認_変更前STB料金金額
					stvData.sendMessageString(FUW10401SFConst.CHAF_STB_GTGPRCAM_17, X31CWebConst.DATABEAN_SET_VALUE, stbAfPcrsPrice);
					// ○月額合計計算
					monSum = monSum + Long.valueOf(stbAfPcrsPrice).longValue();
				}

				// TVコース料金コース金額
				String tvAfPcrsPrice = PRICE_ZERO;
				String tvAfPcrsName = stvData.sendMessageString(FUW10401SFConst.CHAF_TV_COURSE_PCRS_NM_17, X31CWebConst.DATABEAN_GET_VALUE);
				if (JFUWebCommon.isNull(tvAfPcrsName) == false)
				{
					if (i == baseAfPriceIndex)
					{
						// 基本料金
						tvAfPcrsPrice = JFUWebCommon.nvl((String)tvMap.get(CHAF_TV_PCRS_CD_PRICE), PRICE_ZERO);
					}
					else
					{
						// 追加料金
						tvAfPcrsPrice = (String)tvMap.get(CHAF_TV_PCRS_CD_PRICE_ADD);
						tvAfPcrsName = tvAfPcrsName + TV_COURSE_PCRS_NM_ADD;
					}
					stvData.sendMessageString(FUW10401SFConst.CHAF_TV_COURSE_GTGPRCAM_17, X31CWebConst.DATABEAN_SET_VALUE, tvAfPcrsPrice);
					// 確認_変更後TVコース料金コース名
					stvData.sendMessageString(FUW10401SFConst.CHAF_TV_COURSE_PCRS_NM_17, X31CWebConst.DATABEAN_SET_VALUE, tvAfPcrsName);
					// ○月額合計計算
					monSum = monSum + Long.valueOf(tvAfPcrsPrice).longValue();
				}
			}
		}

		// ■地デジ・BSコースの場合
		if (TV_PCRS_TYPE_2.equals(tvPcrsTypeChg))
		{
			// 確認_変更後テレビ月額料金額
			String bsPrice = (String)dataMap.get(JFUStrConst.CD00134_A37);
			bean.sendMessageString(FUW10401SFConst.KKN_CHAF_TV_GTGPRCAM, X31CWebConst.DATABEAN_SET_VALUE, bsPrice);
			// ○月額合計計算
			monSum = monSum + Long.valueOf(bsPrice).longValue();
		}
		// ■地デジ・BSコース　スターチャンネルセットの場合
		else if (TV_PCRS_TYPE_3.equals(tvPcrsTypeChg))
		{
			// 確認_変更後テレビ月額料金額
			String bsPrice = (String)dataMap.get(JFUStrConst.CD00134_F05);
			bean.sendMessageString(FUW10401SFConst.KKN_CHAF_TV_GTGPRCAM, X31CWebConst.DATABEAN_SET_VALUE, bsPrice);
			// ○月額合計計算
			monSum = monSum + Long.valueOf(bsPrice).longValue();
		}
		// ■地デジ・BSコース　スターチャンネルセット(割引無)の場合
		else if (TV_PCRS_TYPE_4.equals(tvPcrsTypeChg))
		{
			// 確認_変更後テレビ月額料金額
			String bsPrice = (String)dataMap.get(JFUStrConst.CD00134_F06);
			bean.sendMessageString(FUW10401SFConst.KKN_CHAF_TV_GTGPRCAM, X31CWebConst.DATABEAN_SET_VALUE, bsPrice);
			// ○月額合計計算
			monSum = monSum + Long.valueOf(bsPrice).longValue();
		}
		// ■CSベーシックの場合
		else if (TV_PCRS_TYPE_6.equals(tvPcrsTypeChg))
		{
			// 確認_変更後テレビ月額料金額
			String bsPrice = (String)dataMap.get(JFUStrConst.CD00134_AC0);
			bean.sendMessageString(FUW10401SFConst.KKN_CHAF_TV_GTGPRCAM, X31CWebConst.DATABEAN_SET_VALUE, bsPrice);
			// ○月額合計計算
			monSum = monSum + Long.valueOf(bsPrice).longValue();
		}
		// ■CSプレミアムの場合
		else if (TV_PCRS_TYPE_7.equals(tvPcrsTypeChg))
		{
			// 確認_変更後テレビ月額料金額
			String bsPrice = (String)dataMap.get(JFUStrConst.CD00134_AC1);
			bean.sendMessageString(FUW10401SFConst.KKN_CHAF_TV_GTGPRCAM, X31CWebConst.DATABEAN_SET_VALUE, bsPrice);
			// ○月額合計計算
			monSum = monSum + Long.valueOf(bsPrice).longValue();
		}

		// ●月額合計
		bean.sendMessageString(FUW10401SFConst.KKN_GTGK_HI_GOKEI_AMNT, X31CWebConst.DATABEAN_SET_VALUE, String.valueOf(monSum));

		return bean;
	}

	/**
	 * 下りマッピング処理です。
	 * <br>
	 * @param bean
	 * @param outputMap
	 * @return X31SDataBeanAccess
	 */
	public X31SDataBeanAccess getFUSV024406SC(X31SDataBeanAccess bean, HashMap outputMap)
	{
		HashMap parentMap = null;

		HashMap<String, String> dataMap = new HashMap<String, String>();

		if (outputMap.containsKey(SC_TITLE_FUSV024406))
		{
			parentMap = (HashMap)outputMap.get(SC_TITLE_FUSV024406);
		}

		if (null != parentMap && parentMap.containsKey(EKK0611B501_LIST))
		{
			ArrayList childList = (ArrayList)parentMap.get(EKK0611B501_LIST);

			for (int i = 0; i < childList.size(); i++)
			{
				HashMap childMap = (HashMap)childList.get(i);

				if (childMap.containsKey(PPLAN_JURYO_AMNT))
				{
					// マップに保存
					dataMap.put(JFUStrConst.KK0791_PCRS_CD_B36, (String)childMap.get(PPLAN_JURYO_AMNT));
				}

			}
		}

		// ●●サービス変更選択(テレビ)（1:利用する、0:利用しない）
		String tvSvcChg = bean.sendMessageString(FUW10401SFConst.TV_SVC_CHG, X31CWebConst.DATABEAN_GET_VALUE);
		// ●●サービス選択（0:現在のサービスで申し込む、1:ベーシックHD/プレミアムHD）、2:地デジ・BSコース）
		String tvSvcChoice = bean.sendMessageString(FUW10401SFConst.TV_SVC_CHOICE, X31CWebConst.DATABEAN_GET_VALUE);

		// ○テレビサービスを利用する場合のみ設定
		if (!TV_SVC_CHG_0.equals(tvSvcChg))
		{

			// ○月額合計
			long monSum = Long.valueOf(bean.sendMessageString(FUW10401SFConst.KKN_GTGK_HI_GOKEI_AMNT, X31CWebConst.DATABEAN_GET_VALUE));

			// ●変更後TVガイド誌月額料金を取得
			// 変更後ケーブルガイド申込数
			String tvChgGuideMskmCnt = bean.sendMessageString(FUW10401SFConst.TV_CHG_GUIDE_MSKM_CNT, X31CWebConst.DATABEAN_GET_VALUE);
			if (TV_SVC_CHOICE_0.equals(tvSvcChoice))
			{
				tvChgGuideMskmCnt = bean.sendMessageString(FUW10401SFConst.TV_NOW_GUIDE_MSKM_CNT, X31CWebConst.DATABEAN_GET_VALUE);
			}
			// 確認_変更後ケーブルガイド申込数
			String chafCableCuideMskmCnt =
					bean.sendMessageString(FUW10401SFConst.KKN_CHAF_CABLE_GUIDE_MSKM_CNT, X31CWebConst.DATABEAN_SET_VALUE, tvChgGuideMskmCnt);
			// 確認_変更後TVガイド誌月額料金額
			if (JFUWebCommon.isNull(chafCableCuideMskmCnt) == false)
			{
				long guideAmnt =
						Long.valueOf(chafCableCuideMskmCnt).longValue() * Long.valueOf(dataMap.get(JFUStrConst.KK0791_PCRS_CD_B36)).longValue();
				bean.sendMessageString(FUW10401SFConst.KKN_CHAF_TV_GUIDEMG_GTGPRCAM, X31CWebConst.DATABEAN_SET_VALUE, String.valueOf(guideAmnt));
				// ○月額合計計算
				monSum = monSum + guideAmnt;
			}

			// ●月額合計
			bean.sendMessageString(FUW10401SFConst.KKN_GTGK_HI_GOKEI_AMNT, X31CWebConst.DATABEAN_SET_VALUE, String.valueOf(monSum));

		}

		return bean;
	}

	/**
	 * 下りマッピング処理です。
	 * <br>
	 * @param bean
	 * @param outputMap
	 * @param svcStaYmd
	 * @return X31SDataBeanAccess
	 * @throws Exception 
	 */
	public X31SDataBeanAccess getFUSV024401CC(X31SDataBeanAccess bean, HashMap outputMap, String svcStaYmd) throws Exception
	{

		String netAfPcrsCd = JFUStrConst.EMPTY;
		String netAfPplanCd = JFUStrConst.EMPTY;
		Boolean netSokuwari = null;
		
			// 1:サービス変更を行う
			netAfPcrsCd = bean.sendMessageString(FUW10401SFConst.NET_AF_PCRS_CD, X31CWebConst.DATABEAN_GET_VALUE);
			netAfPplanCd = bean.sendMessageString(FUW10401SFConst.NET_AF_PPLAN_CD, X31CWebConst.DATABEAN_GET_VALUE);
			netSokuwari = bean.sendMessageBoolean(FUW10401SFConst.NET_SEL_SOKUWARI, X31CWebConst.DATABEAN_GET_VALUE);

		// 即割契約有無
		Boolean isSokuwariKeiyakuAri = bean.sendMessageBoolean(FUW10401SFConst.NET_NOW_SOKUWARI, X31CWebConst.DATABEAN_GET_VALUE);

		// ●契約年数判定
		// 取得対象の料金項目コード
		String targetPrcKmkCd = JFUStrConst.EMPTY;
		// Ｗｅｂ申込受付年月日
		String opeDate = bean.sendMessageString(FUW10401SFConst.INF_WEB_MSKM_UK_DTM, X31CWebConst.DATABEAN_GET_VALUE).substring(0, 8);

		if (JFUWebCommon.isNull(svcStaYmd))
		{
			// 1年目
			targetPrcKmkCd = PRC_KMK_CD_TYOWARI_1;
		}
		else
		{
			// 月数取得
			int month = JFUWebCommon.subtractMonth(opeDate, svcStaYmd);

			// 月数判定
			if (13 > month)
			{
				// 1年目
				targetPrcKmkCd = PRC_KMK_CD_TYOWARI_1;
			}
			else if (25 > month)
			{
				// 2年目
				targetPrcKmkCd = PRC_KMK_CD_TYOWARI_2;
			}
			else
			{
				// 3年目以降　
				targetPrcKmkCd = PRC_KMK_CD_TYOWARI_3;
			}
		}

		// 
		HashMap dataMap = new HashMap();

		// 料金コースコード格納用
		String pcrsCd = null;
		// 料金プランコード格納用
		String pplanCd = null;

		HashMap parentMap = (HashMap)outputMap.get(CC_TITLE_FUSV024401);
		ArrayList childList = null;

		// リスト存在チェック
		if (parentMap != null && parentMap.size() > 0)
		{
			childList = (ArrayList)parentMap.get(JP_CHG_PRC_SHOKAI_HT_CC_MSG1_LIST);

			if (childList == null || childList.size() == 0)
			{
				// 存在しない場合処理を終了する
				return bean;
			}
		}

		// ★★★★★固定料金取得処理★★★★★
		for (int i = 0; i < childList.size(); i++)
		{
			HashMap childMap = (HashMap)childList.get(i);

			// 料金コースコード取得
			pcrsCd = (String)childMap.get(PCRS_CD);
			// 料金プランコード取得
			pplanCd = (String)childMap.get(PPLAN_CD);

			// マップ存在チェック
			if (JFUWebCommon.isNull(childMap))
			{
				// 存在しない場合は処理を終了する
				break;
			}

			// 対象料金コード、料金プランコードのどちらかが異なる場合は、処理をスキップして続行
			if (!netAfPcrsCd.equals(pcrsCd) || !netAfPplanCd.equals(pplanCd))
			{
				continue;
			}

			// ●固定単価
			ArrayList jACPrcSimulationList = (ArrayList)childMap.get(JACPRCSIMULATIONLIST);

			for (int n = 0; n < jACPrcSimulationList.size(); n++)
			{
				HashMap jACPrcSimulationMap = (HashMap)jACPrcSimulationList.get(n);

				// 固定金額リスト取得
				ArrayList koteiAmntList = (ArrayList)jACPrcSimulationMap.get(JACPRCSIMULATIONCCMSG2LIST);

				// 明細リスト存在チェック
				if (JFUWebCommon.isNull(koteiAmntList))
				{
					// 存在しない場合処理を終了する
					continue;
				}

				// ○固定金額判定
				boolean priceFlag = false;
				for (int j = 0; j < koteiAmntList.size(); j++)
				{
					// 固定金額
					HashMap koteiAmntMap = (HashMap)koteiAmntList.get(j);

					// 料金項目コード
					String prcKmkCd = (String)koteiAmntMap.get(KEY_PRC_KMK_CD);

					// 即割選択、または、即割契約有
					if (netSokuwari || isSokuwariKeiyakuAri)
					{
						// 即割
						if (PRC_KMK_CD_SOKUWARI.equals(prcKmkCd))
						{
							priceFlag = true;
							break;
						}
					}
					else
					{
						// 長割
						if (targetPrcKmkCd.equals(prcKmkCd))
						{
							priceFlag = true;
							break;
						}
					}
				}

				// ○固定金額取得
				if (priceFlag)
				{
					for (int j = 0; j < koteiAmntList.size(); j++)
					{
						// 固定金額
						HashMap koteiAmntMap = (HashMap)koteiAmntList.get(j);

						// 料金項目コード
						String prcKmkCd = (String)koteiAmntMap.get(PRC_KMK_CD);

						if (PRC_KMK_CD_KIHON.equals(prcKmkCd))
						{
							dataMap.put(PRICE, (String)koteiAmntMap.get(SEIKY_AMNT));
							break;
						}
					}
				}

			}

			// ●従量単価（※従量の金額があればそれで上書きする）
			if (JFUStrConst.CD00134_A03.equals(pcrsCd) && JFUStrConst.CD00565_PA0311.equals(pplanCd)
					|| (JFUStrConst.CD00134_A08.equals(pcrsCd) && JFUStrConst.CD00565_PA0811.equals(pplanCd)))
			{
				ArrayList<HashMap> jACPrcSimulationList2 = (ArrayList)childMap.get(JACPRCSIMULATIONLIST);

				for (HashMap jACPrcSimulationMap : jACPrcSimulationList2)
				{
					// 固定金額リスト取得
					ArrayList<HashMap> koteiAmntList = (ArrayList)jACPrcSimulationMap.get(JACPRCSIMULATIONCCMSG2LIST);

					for (HashMap koteiAmntMap : koteiAmntList)
					{
						// 請求金額
						String price = (String)koteiAmntMap.get(SEIKY_AMNT);
						// 料金科目コード
						String prcKmkCd = (String)koteiAmntMap.get(PRC_KMK_CD);
						// KEY_料金科目コード
						String keyPrcKmkCd = (String)koteiAmntMap.get(KEY_PRC_KMK_CD);

						// // 料金科目コードが「上限額」でない場合、表示しない為次のループへ以降)
						if (!PRC_KMK_CDJOGEN.equals(prcKmkCd))
						{
							// 料金科目コードが「上限額」でない
							continue;
						}

						if (netSokuwari || isSokuwariKeiyakuAri)
						{
							// 即割選択、または、即割契約有

							if (PRC_KMK_CD_SOKUWARI.equals(keyPrcKmkCd))
							{
								dataMap.put(PRICE, price);
								break;
							}
						}
						else
						{
							// 通常割

							if (keyPrcKmkCd.equals(targetPrcKmkCd))
							{
								dataMap.put(PRICE, price);
								break;
							}
						}
					}
				}
			}
		}

		// ○月額合計
		long monSum = Long.valueOf(bean.sendMessageString(FUW10401SFConst.KKN_GTGK_HI_GOKEI_AMNT, X31CWebConst.DATABEAN_GET_VALUE));

		// 確認_変更後ネット月額料金額を取得
		String netPrice = nullToZero((String)dataMap.get(PRICE));
		bean.sendMessageString(FUW10401SFConst.KKN_CHAF_NET_GTGPRCAM, X31CWebConst.DATABEAN_SET_VALUE, netPrice);
		// ○月額合計
		monSum = monSum + Long.valueOf(netPrice).longValue();

		// ●月額合計
		bean.sendMessageString(FUW10401SFConst.KKN_GTGK_HI_GOKEI_AMNT, X31CWebConst.DATABEAN_SET_VALUE, String.valueOf(monSum));

		return bean;
	}

	/**
	 * 下りマッピング処理です。
	 * <br>
	 * @param bean
	 * @param outputMap
	 * @return X31SDataBeanAccess
	 */
	public X31SDataBeanAccess getFUSV024402CC(X31SDataBeanAccess bean, HashMap outputMap)
	{

		HashMap parentMap = null;

		if (outputMap.containsKey(CC_TITLE_FUSV024402))
		{
			parentMap = (HashMap)outputMap.get(CC_TITLE_FUSV024402);
		}

		if (parentMap == null)
		{
			return bean;
		}

		if (parentMap.containsKey(AD_CD))
		{
			// 確認_移転先住所コード ← 
			bean.sendMessageString(FUW10401SFConst.KKN_ITENS_AD_CD, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get(AD_CD));
		}
		if (parentMap.containsKey(STATE_NM))
		{
			// 確認_移転先都道府県名 ← 
			bean.sendMessageString(FUW10401SFConst.KKN_ITENS_STATE_NM, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get(STATE_NM));
		}
		if (parentMap.containsKey(CITY_NM))
		{
			// 確認_移転先市区町村名 ← 
			bean.sendMessageString(FUW10401SFConst.KKN_ITENS_CITY_NM, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get(CITY_NM));
		}
		if (parentMap.containsKey(OAZTSU_NM))
		{
			// 確認_移転先大字通称名 ← 
			bean.sendMessageString(FUW10401SFConst.KKN_ITENS_OAZTSU_NM, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get(OAZTSU_NM));
		}
		if (parentMap.containsKey(AZCHO_NM))
		{
			// 確認_移転先字丁目名 ← 
			bean.sendMessageString(FUW10401SFConst.KKN_ITENS_AZCHO_NM, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get(AZCHO_NM));
		}
		if (parentMap.containsKey(AFTER_BNCHI))
		{
			// 確認_移転先番地号 ← 
			bean.sendMessageString(FUW10401SFConst.KKN_ITENS_BNCHIGO, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get(AFTER_BNCHI));
		}

		return bean;
	}

	/**
	 * 下りマッピング処理です。
	 * @param bean
	 * @param outputMap
	 * @return X31SDataBeanAccess
	 */
	public X31SDataBeanAccess getFUSV024403CC(X31SDataBeanAccess bean, HashMap outputMap)
	{

		X31SDataBeanAccessArray listArray = bean.getDataBeanArray(FUW10401SFConst.NET_CD_LIST);
		listArray.clearArray();

		HashMap parentMap = (HashMap)outputMap.get(CC_TITLE_FUSV024403);
		ArrayList childList = (ArrayList)parentMap.get(EZM0171B012_LIST);

		for (int i = 0; i < childList.size(); i++)
		{
			X31SDataBeanAccess listDataType = listArray.addDataBean();

			HashMap childMap = (HashMap)childList.get(i);

			// ネットコード区分
			listDataType.sendMessageString(FUW10401SFConst.NET_CD_27, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get(CD_DIV));
			// ネットコード区分名
			listDataType.sendMessageString(FUW10401SFConst.NET_NM_27, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get(CD_DIV_NM));
		}

		return bean;
	}

	/**
	 * 下りマッピング処理です。
	 * @param bean
	 * @param outputMap
	 * @return X31SDataBeanAccess
	 */
	public X31SDataBeanAccess getFUSV024404CC(X31SDataBeanAccess bean, HashMap outputMap)
	{

		X31SDataBeanAccessArray listArray = bean.getDataBeanArray(FUW10401SFConst.TEL_CD_LIST);
		listArray.clearArray();

		HashMap parentMap = (HashMap)outputMap.get(CC_TITLE_FUSV024404);
		ArrayList childList = (ArrayList)parentMap.get(EZM0171B012_LIST);

		for (int i = 0; i < childList.size(); i++)
		{
			X31SDataBeanAccess listDataType = listArray.addDataBean();

			HashMap childMap = (HashMap)childList.get(i);

			// ネットコード区分
			listDataType.sendMessageString(FUW10401SFConst.TEL_CD_28, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get(CD_DIV));
			// ネットコード区分名
			listDataType.sendMessageString(FUW10401SFConst.TEL_NM_28, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get(CD_DIV_NM));
		}

		return bean;
	}

	/**
	 * 下りマッピング処理です。
	 * @param bean
	 * @param outputMap
	 * @return X31SDataBeanAccess
	 */
	public X31SDataBeanAccess getFUSV024405CC(X31SDataBeanAccess bean, HashMap outputMap)
	{

		X31SDataBeanAccessArray listArray = bean.getDataBeanArray(FUW10401SFConst.TV_CD_LIST);
		listArray.clearArray();

		HashMap parentMap = (HashMap)outputMap.get(CC_TITLE_FUSV024405);
		ArrayList childList = (ArrayList)parentMap.get(EZM0171B012_LIST);

		for (int i = 0; i < childList.size(); i++)
		{
			X31SDataBeanAccess listDataType = listArray.addDataBean();

			HashMap childMap = (HashMap)childList.get(i);

			// ネットコード区分
			listDataType.sendMessageString(FUW10401SFConst.TV_CD_29, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get(CD_DIV));
			// ネットコード区分名
			listDataType.sendMessageString(FUW10401SFConst.TV_NM_29, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get(CD_DIV_NM));
		}

		return bean;
	}

	/**
	 * eo光テレビの料金コース名を取得します。
	 * 
	 * <br>
	 * @param pcrsSkbtStr 料金コース識別文字列
	 * @return String 料金コース名
	 * @throws Exception 
	 */
	private String getTvPcrsNm(String pcrsSkbtStr) throws Exception
	{
		// デバッグログ
		DEBUG_LOG.debug("----- getTvPcrsNm Start -----");

		// 検索キーが存在しない場合、処理を終了する
		if (pcrsSkbtStr == null || pcrsSkbtStr.length() == 0)
		{
			return null;
		}
		// 定義を取得
		Map<String, String> pcrsNmMap = JFUWebCommon.getDispItemsAsMap(PATH_TV_CRS_NM, QUERY_ATTR_NAME);

		// 料金コース名
		String pcrsNm = null;
		if (pcrsNmMap != null && pcrsNmMap.size() > 0)
		{
			// 料金コース名
			pcrsNm = (String)pcrsNmMap.get(pcrsSkbtStr);
		}

		// デバッグログ
		DEBUG_LOG.debug("----- getTvPcrsNm End -----");

		return pcrsNm;
	}

	/**
	 * "0"、""、nullの場合に"0"を返却します。
	 * <br>
	 * @param arg1
	 * @return 値
	 */
	private String nullToZero(String arg1)
	{
		String ret = arg1;

		if (JFUWebCommon.isNull(arg1))
		{
			ret = JFUStrConst.S_ZERO;
		}
		return ret;
	}


	/**
	 * 下りマッピング処理です。
	 * <br>
	 * @param bean
	 * @param outputMap
	 * @return X31SDataBeanAccess
	 */
	public X31SDataBeanAccess getFUSV024407CC(X31SDataBeanAccess bean, HashMap outputMap)
	{

		HashMap parentMap = null;

		if (outputMap.containsKey(CC_TITLE_FUSV024407))
		{
			parentMap = (HashMap)outputMap.get(CC_TITLE_FUSV024407);
		}

		if (parentMap == null)
		{
			return bean;
		}

		if (parentMap.containsKey(AD_CD))
		{
			// 確認_eo電気連絡先住所コード ← 
			bean.sendMessageString(FUW10401SFConst.KKN_EOELEC_RRKS_AD_CD, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get(AD_CD));
		}
		if (parentMap.containsKey(STATE_NM))
		{
			// 確認_eo電気連絡先都道府県名 ← 
			bean.sendMessageString(FUW10401SFConst.KKN_EOELEC_RRKS_STATE_NM, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get(STATE_NM));
		}
		if (parentMap.containsKey(CITY_NM))
		{
			// 確認_eo電気連絡先市区町村名 ← 
			bean.sendMessageString(FUW10401SFConst.KKN_EOELEC_RRKS_CITY_NM, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get(CITY_NM));
		}
		if (parentMap.containsKey(OAZTSU_NM))
		{
			// 確認_eo電気連絡先大字通称名 ← 
			bean.sendMessageString(FUW10401SFConst.KKN_EOELEC_RRKS_OAZTSU_NM, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get(OAZTSU_NM));
		}
		if (parentMap.containsKey(AZCHO_NM))
		{
			// 確認_eo電気連絡先字丁目名 ← 
			bean.sendMessageString(FUW10401SFConst.KKN_EOELEC_RRKS_AZCHO_NM, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get(AZCHO_NM));
		}
		if (parentMap.containsKey(AFTER_BNCHI))
		{
			// 確認_eo電気連絡先番地号 ← 
			bean.sendMessageString(FUW10401SFConst.KKN_EOELEC_RRKS_BNCHIGO, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get(AFTER_BNCHI));
		}

		return bean;
	}

	/**
	 * 下りマッピング処理です。
	 * <br>
	 * @param bean
	 * @param outputMap
	 * @param svcStaYmd
	 * @return X31SDataBeanAccess
	 */
	public X31SDataBeanAccess getFUSV024408CC(X31SDataBeanAccess bean, HashMap outputMap)
	{

		String netAfPcrsCd = JFUStrConst.EMPTY;
		String netAfPplanCd = JFUStrConst.EMPTY;
		String kknItensModemUseDiv = JFUStrConst.EMPTY;
		
		// 1:サービス変更を行う
		netAfPcrsCd = bean.sendMessageString(FUW10401SFConst.NET_AF_PCRS_CD, X31CWebConst.DATABEAN_GET_VALUE);
		netAfPplanCd = bean.sendMessageString(FUW10401SFConst.NET_AF_PPLAN_CD, X31CWebConst.DATABEAN_GET_VALUE);

		HashMap dataMap = new HashMap();
		HashMap dataMapModemPrc = new HashMap();

		// 料金コースコード格納用
		String pcrsCd = null;
		// 料金プランコード格納用
		String pplanCd = null;

		HashMap parentMap = (HashMap)outputMap.get(CC_TITLE_FUSV024408);
		ArrayList childList = null;

		// リスト存在チェック
		if (parentMap != null && parentMap.size() > 0)
		{
			childList = (ArrayList)parentMap.get(JP_CHG_PRC_SHOKAI_MT_CC_MSG1_LIST);

			if (childList == null || childList.size() == 0)
			{
				// 存在しない場合処理を終了する
				return bean;
			}
		}

		// ★★★★★固定料金取得処理★★★★★
		for (int i = 0; i < childList.size(); i++)
		{
			HashMap childMap = (HashMap)childList.get(i);

			// 料金コースコード取得
			pcrsCd = (String)childMap.get(PCRS_CD);
			// 料金プランコード取得
			pplanCd = (String)childMap.get(PPLAN_CD);

			// マップ存在チェック
			if (JFUWebCommon.isNull(childMap))
			{
				// 存在しない場合は処理を終了する
				break;
			}

			// 対象料金コード、料金プランコードのどちらかが異なる場合は、処理をスキップして続行
			if (!netAfPcrsCd.equals(pcrsCd) || !netAfPplanCd.equals(pplanCd))
			{
				continue;
			}

			// ●固定単価
			ArrayList jACPrcSimulationList = (ArrayList)childMap.get(JACPRCSIMULATIONLIST);

			for (int n = 0; n < jACPrcSimulationList.size(); n++)
			{
				HashMap jACPrcSimulationMap = (HashMap)jACPrcSimulationList.get(n);

				// 固定金額リスト取得
				ArrayList koteiAmntList = (ArrayList)jACPrcSimulationMap.get(JACPRCSIMULATIONCCMSG2LIST);

				// 明細リスト存在チェック
				if (JFUWebCommon.isNull(koteiAmntList))
				{
					// 存在しない場合処理を終了する
					break;
				}

				for (int j = 0; j < koteiAmntList.size(); j++)
				{
					// 固定金額
					HashMap koteiAmntMap = (HashMap)koteiAmntList.get(j);
					
					// 料金項目コード
					String prcKmkCd = (String)koteiAmntMap.get(PRC_KMK_CD);
					// 料金コースコード
					pcrsCd = (String)koteiAmntMap.get(PCRS_CD);
					// 料金プランコード
					pplanCd = ((String) koteiAmntMap.get(PRC_SVC_CD)).trim();
					
					if (PRC_KMK_CD_KIHON.equals(prcKmkCd) && netAfPcrsCd.equals(pcrsCd) && netAfPplanCd.equals(pplanCd))
					{
						dataMap.put(PRICE, (String)koteiAmntMap.get(SEIKY_AMNT));
						break;
					}
				}
				
				// 基本プランの料金が取得できなかった場合は0円を設定する。
				String price = (String)dataMap.get(PRICE);
				
				if(JKKStringUtil.isNullBlank(price))
				{
					dataMap.put(PRICE, JFUStrConst.S_ZERO);
				}
			}
			
			// マンションタイプがＶＤＳＬの場合、モデムのレンタルまたは買取金額を取得
			// モデムの買取種別を取得
			kknItensModemUseDiv = bean.sendMessageString(FUW10401SFConst.SEL_VDSL_MODEM_KAITORI_SBT, X31CWebConst.DATABEAN_GET_VALUE);
			if (!JKKStringUtil.isNullBlank(kknItensModemUseDiv))
			{
				// モデムの買取/レンタル料を取得する。
				String trgtPrcKmk = "";
				if ("2".equals(kknItensModemUseDiv))
				{
					trgtPrcKmk = RKC_21003031601;
				}
				else if ("1".equals(kknItensModemUseDiv))
				{
					trgtPrcKmk = RKC_21003031101;
				}
				
				for (int n = 0; n < jACPrcSimulationList.size(); n++)
				{
					HashMap jACPrcSimulationMap = (HashMap)jACPrcSimulationList.get(n);
	
					// 固定金額リスト取得
					ArrayList koteiAmntList = (ArrayList)jACPrcSimulationMap.get(JACPRCSIMULATIONCCMSG2LIST);
	
					// 明細リスト存在チェック
					if (JFUWebCommon.isNull(koteiAmntList))
					{
						// 存在しない場合処理を終了する
						break;
					}
	
					for (int j = 0; j < koteiAmntList.size(); j++)
					{
						// 固定金額
						HashMap koteiAmntMap = (HashMap)koteiAmntList.get(j);
						
						// 料金項目コード
						String prcKmkCd = (String)koteiAmntMap.get(PRC_KMK_CD);
						// 料金コースコード
						String koteiAmntPcrsCd = (String)koteiAmntMap.get(PCRS_CD);
						
						if (netAfPcrsCd.equals(koteiAmntPcrsCd) && trgtPrcKmk.equals(prcKmkCd))
						{
							dataMapModemPrc.put(PRICE, (String)koteiAmntMap.get(SEIKY_AMNT));
							break;
						}
					}
				}
			}
		}
		
		// ○月額合計
		long monSum = Long.valueOf(bean.sendMessageString(FUW10401SFConst.KKN_GTGK_HI_GOKEI_AMNT, X31CWebConst.DATABEAN_GET_VALUE));
		
		// 確認_変更後ネット月額料金額を取得
		String netPrice = nullToZero((String)dataMap.get(PRICE));
		
		// 確認_変更後モデム月額料金額
		String modemPrice = nullToZero((String)dataMapModemPrc.get(PRICE));
		
		bean.sendMessageString(FUW10401SFConst.KKN_CHAF_NET_GTGPRCAM, X31CWebConst.DATABEAN_SET_VALUE, netPrice);
		bean.sendMessageString(FUW10401SFConst.KKN_CHAF_MODEM_GTGPRCAM, X31CWebConst.DATABEAN_SET_VALUE, modemPrice);
		
		if ("1".equals(kknItensModemUseDiv))
		{
			// ○月額合計
			monSum = monSum + Long.valueOf(netPrice).longValue() + Long.valueOf(modemPrice).longValue();
		}
		else
		{
			// ○月額合計
			monSum = monSum + Long.valueOf(netPrice).longValue();
		}
		
		// ●月額合計
		bean.sendMessageString(FUW10401SFConst.KKN_GTGK_HI_GOKEI_AMNT, X31CWebConst.DATABEAN_SET_VALUE, String.valueOf(monSum));
		
		return bean;
	}
	
	/**
	 * 下りマッピング処理です。
	 * <br>
	 * @param bean
	 * @param outputMap
	 * @return X31SDataBeanAccess
	 */
	public X31SDataBeanAccess getFUSV024409CC(X31SDataBeanAccess bean, HashMap outputMap)
	{

		HashMap parentMap = null;

		if (outputMap.containsKey(CC_TITLE_FUSV024409))
		{
			parentMap = (HashMap)outputMap.get(CC_TITLE_FUSV024409);
		}

		if (parentMap == null)
		{
			return bean;
		}

		if (parentMap.containsKey(AD_CD))
		{
			// 確認_移転先住所コード ← 
			bean.sendMessageString(FUW10401SFConst.KKN_ATICLE_SOHUS_ITENM_AD_CD, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get(AD_CD));
		}
		if (parentMap.containsKey(STATE_NM))
		{
			// 確認_移転先都道府県名 ← 
			bean.sendMessageString(FUW10401SFConst.KKN_ATICLE_SHS_ITENM_STATE_NM, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get(STATE_NM));
		}
		if (parentMap.containsKey(CITY_NM))
		{
			// 確認_移転先市区町村名 ← 
			bean.sendMessageString(FUW10401SFConst.KKN_ATICLE_SOHUS_ITENM_CITY_NM, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get(CITY_NM));
		}
		if (parentMap.containsKey(OAZTSU_NM))
		{
			// 確認_移転先大字通称名 ← 
			bean.sendMessageString(FUW10401SFConst.KKN_ATICLE_SHS_ITENM_OAZTSU_NM, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get(OAZTSU_NM));
		}
		if (parentMap.containsKey(AZCHO_NM))
		{
			// 確認_移転先字丁目名 ← 
			bean.sendMessageString(FUW10401SFConst.KKN_ATICLE_SHS_ITENM_AZCHO_NM, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get(AZCHO_NM));
		}
		if (parentMap.containsKey(AFTER_BNCHI))
		{
			// 確認_移転先番地号 ← 
			bean.sendMessageString(FUW10401SFConst.KKN_ATICLE_SOHUS_ITENM_BNCHIGO, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get(AFTER_BNCHI));
		}

		return bean;
	}
	
	/**
	 * 下りマッピング処理です。
	 * <br>
	 * @param bean
	 * @param outputMap
	 * @return X31SDataBeanAccess
	 */
	public X31SDataBeanAccess getFUSV024410CC(X31SDataBeanAccess bean, HashMap outputMap)
	{

		HashMap parentMap = null;

		if (outputMap.containsKey(CC_TITLE_FUSV024410))
		{
			parentMap = (HashMap)outputMap.get(CC_TITLE_FUSV024410);
		}

		if (parentMap == null)
		{
			return bean;
		}

		if (parentMap.containsKey(AD_CD))
		{
			// 確認_移転先住所コード ← 
			bean.sendMessageString(FUW10401SFConst.KKN_ATICLE_SOHUS_ITENS_AD_CD, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get(AD_CD));
		}
		if (parentMap.containsKey(STATE_NM))
		{
			// 確認_移転先都道府県名 ← 
			bean.sendMessageString(FUW10401SFConst.KKN_ATICLE_SHS_ITENS_STATE_NM, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get(STATE_NM));
		}
		if (parentMap.containsKey(CITY_NM))
		{
			// 確認_移転先市区町村名 ← 
			bean.sendMessageString(FUW10401SFConst.KKN_ATICLE_SOHUS_ITENS_CITY_NM, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get(CITY_NM));
		}
		if (parentMap.containsKey(OAZTSU_NM))
		{
			// 確認_移転先大字通称名 ← 
			bean.sendMessageString(FUW10401SFConst.KKN_ATICLE_SHS_ITENS_OAZTSU_NM, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get(OAZTSU_NM));
		}
		if (parentMap.containsKey(AZCHO_NM))
		{
			// 確認_移転先字丁目名 ← 
			bean.sendMessageString(FUW10401SFConst.KKN_ATICLE_SHS_ITENS_AZCHO_NM, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get(AZCHO_NM));
		}
		if (parentMap.containsKey(AFTER_BNCHI))
		{
			// 確認_移転先番地号 ← 
			bean.sendMessageString(FUW10401SFConst.KKN_ATICLE_SOHUS_ITENS_BNCHIGO, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get(AFTER_BNCHI));
		}

		return bean;
	}
	
	/**
	 * 下りマッピング処理です。
	 * <br>
	 * @param bean
	 * @param outputMap
	 * @return X31SDataBeanAccess
	 */
	public X31SDataBeanAccess getFUSV024411CC(X31SDataBeanAccess bean, HashMap outputMap)
	{

		HashMap parentMap = null;

		if (outputMap.containsKey(CC_TITLE_FUSV024411))
		{
			parentMap = (HashMap)outputMap.get(CC_TITLE_FUSV024411);
		}

		if (parentMap == null)
		{
			return bean;
		}

		if (parentMap.containsKey(AD_CD))
		{
			// 確認_移転先住所コード ← 
			bean.sendMessageString(FUW10401SFConst.KKN_KIKI_SOHUS_ITENM_AD_CD, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get(AD_CD));
		}
		if (parentMap.containsKey(STATE_NM))
		{
			// 確認_移転先都道府県名 ← 
			bean.sendMessageString(FUW10401SFConst.KKN_KIKI_SOHUS_ITENM_STATE_NM, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get(STATE_NM));
		}
		if (parentMap.containsKey(CITY_NM))
		{
			// 確認_移転先市区町村名 ← 
			bean.sendMessageString(FUW10401SFConst.KKN_KIKI_SOHUS_ITENM_CITY_NM, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get(CITY_NM));
		}
		if (parentMap.containsKey(OAZTSU_NM))
		{
			// 確認_移転先大字通称名 ← 
			bean.sendMessageString(FUW10401SFConst.KKN_KIKI_SOHUS_ITENM_OAZTSU_NM, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get(OAZTSU_NM));
		}
		if (parentMap.containsKey(AZCHO_NM))
		{
			// 確認_移転先字丁目名 ← 
			bean.sendMessageString(FUW10401SFConst.KKN_KIKI_SOHUS_ITENM_AZCHO_NM, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get(AZCHO_NM));
		}
		if (parentMap.containsKey(AFTER_BNCHI))
		{
			// 確認_移転先番地号 ← 
			bean.sendMessageString(FUW10401SFConst.KKN_KIKI_SOHUS_ITENM_BNCHIGO, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get(AFTER_BNCHI));
		}

		return bean;
	}
	
	/**
	 * 下りマッピング処理です。
	 * <br>
	 * @param bean
	 * @param outputMap
	 * @return X31SDataBeanAccess
	 */
	public X31SDataBeanAccess getFUSV024412CC(X31SDataBeanAccess bean, HashMap outputMap)
	{

		HashMap parentMap = null;

		if (outputMap.containsKey(CC_TITLE_FUSV024412))
		{
			parentMap = (HashMap)outputMap.get(CC_TITLE_FUSV024412);
		}

		if (parentMap == null)
		{
			return bean;
		}

		if (parentMap.containsKey(AD_CD))
		{
			// 確認_移転先住所コード ← 
			bean.sendMessageString(FUW10401SFConst.KKN_KIKI_SOHUS_ITENS_AD_CD, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get(AD_CD));
		}
		if (parentMap.containsKey(STATE_NM))
		{
			// 確認_移転先都道府県名 ← 
			bean.sendMessageString(FUW10401SFConst.KKN_KIKI_SOHUS_ITENS_STATE_NM, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get(STATE_NM));
		}
		if (parentMap.containsKey(CITY_NM))
		{
			// 確認_移転先市区町村名 ← 
			bean.sendMessageString(FUW10401SFConst.KKN_KIKI_SOHUS_ITENS_CITY_NM, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get(CITY_NM));
		}
		if (parentMap.containsKey(OAZTSU_NM))
		{
			// 確認_移転先大字通称名 ← 
			bean.sendMessageString(FUW10401SFConst.KKN_KIKI_SOHUS_ITENS_OAZTSU_NM, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get(OAZTSU_NM));
		}
		if (parentMap.containsKey(AZCHO_NM))
		{
			// 確認_移転先字丁目名 ← 
			bean.sendMessageString(FUW10401SFConst.KKN_KIKI_SOHUS_ITENS_AZCHO_NM, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get(AZCHO_NM));
		}
		if (parentMap.containsKey(AFTER_BNCHI))
		{
			// 確認_移転先番地号 ← 
			bean.sendMessageString(FUW10401SFConst.KKN_KIKI_SOHUS_ITENS_BNCHIGO, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get(AFTER_BNCHI));
		}

		return bean;
	}
	
	/**
	 * 下りマッピング処理です。
	 * <br>
	 * @param bean
	 * @param outputMap
	 * @return X31SDataBeanAccess
	 */
	public X31SDataBeanAccess getFUSV024413CC(X31SDataBeanAccess bean, HashMap outputMap)
	{

		HashMap parentMap = null;

		if (outputMap.containsKey(CC_TITLE_FUSV024413))
		{
			parentMap = (HashMap)outputMap.get(CC_TITLE_FUSV024413);
		}

		if (parentMap == null)
		{
			return bean;
		}

		if (parentMap.containsKey(AD_CD))
		{
			// 確認_移転先住所コード ← 
			bean.sendMessageString(FUW10401SFConst.KKN_KIKI_SOHUS_ITENS_AD_CD, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get(AD_CD));
		}
		if (parentMap.containsKey(STATE_NM))
		{
			// 確認_移転先都道府県名 ← 
			bean.sendMessageString(FUW10401SFConst.KKN_KIKI_SOHUS_ITENS_STATE_NM, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get(STATE_NM));
		}
		if (parentMap.containsKey(CITY_NM))
		{
			// 確認_移転先市区町村名 ← 
			bean.sendMessageString(FUW10401SFConst.KKN_KIKI_SOHUS_ITENS_CITY_NM, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get(CITY_NM));
		}
		if (parentMap.containsKey(OAZTSU_NM))
		{
			// 確認_移転先大字通称名 ← 
			bean.sendMessageString(FUW10401SFConst.KKN_KIKI_SOHUS_ITENS_OAZTSU_NM, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get(OAZTSU_NM));
		}
		if (parentMap.containsKey(AZCHO_NM))
		{
			// 確認_移転先字丁目名 ← 
			bean.sendMessageString(FUW10401SFConst.KKN_KIKI_SOHUS_ITENS_AZCHO_NM, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get(AZCHO_NM));
		}
		if (parentMap.containsKey(AFTER_BNCHI))
		{
			// 確認_移転先番地号 ← 
			bean.sendMessageString(FUW10401SFConst.KKN_KIKI_SOHUS_ITENS_BNCHIGO, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get(AFTER_BNCHI));
		}

		return bean;
	}
	
	/**
	 * 下りマッピング処理です。
	 * <br>
	 * @param bean
	 * @param outputMap
	 * @return X31SDataBeanAccess
	 */
	public X31SDataBeanAccess getFUSV024414CC(X31SDataBeanAccess bean, HashMap outputMap)
	{

		HashMap parentMap = null;

		if (outputMap.containsKey(CC_TITLE_FUSV024414))
		{
			parentMap = (HashMap)outputMap.get(CC_TITLE_FUSV024414);
		}

		if (parentMap == null)
		{
			return bean;
		}

		if (parentMap.containsKey(AD_CD))
		{
			// 確認_移転先住所コード ← 
			bean.sendMessageString(FUW10401SFConst.KKN_KIKI_SOHUS_ITENS_AD_CD, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get(AD_CD));
		}
		if (parentMap.containsKey(STATE_NM))
		{
			// 確認_移転先都道府県名 ← 
			bean.sendMessageString(FUW10401SFConst.KKN_KIKI_SOHUS_ITENS_STATE_NM, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get(STATE_NM));
		}
		if (parentMap.containsKey(CITY_NM))
		{
			// 確認_移転先市区町村名 ← 
			bean.sendMessageString(FUW10401SFConst.KKN_KIKI_SOHUS_ITENS_CITY_NM, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get(CITY_NM));
		}
		if (parentMap.containsKey(OAZTSU_NM))
		{
			// 確認_移転先大字通称名 ← 
			bean.sendMessageString(FUW10401SFConst.KKN_KIKI_SOHUS_ITENS_OAZTSU_NM, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get(OAZTSU_NM));
		}
		if (parentMap.containsKey(AZCHO_NM))
		{
			// 確認_移転先字丁目名 ← 
			bean.sendMessageString(FUW10401SFConst.KKN_KIKI_SOHUS_ITENS_AZCHO_NM, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get(AZCHO_NM));
		}
		if (parentMap.containsKey(AFTER_BNCHI))
		{
			// 確認_移転先番地号 ← 
			bean.sendMessageString(FUW10401SFConst.KKN_KIKI_SOHUS_ITENS_BNCHIGO, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get(AFTER_BNCHI));
		}

		return bean;
	}

	/**
	 * [料金シミュレーション]上りマッピング処理です。
	 * <br>
	 * @param bean
	 * @param outputMap
	 * @return 
	 */
	public HashMap<String, Object> setFUSV024415CC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{
		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, JPCModelConstant.FUNC_CD_1);

		String mansionId = JFUStrConst.EMPTY;
		String tkHoshikiKeiNo = JFUStrConst.EMPTY;

		mansionId = bean[BEAN_SF_1].sendMessageString(FUW10401SFConst.MT_ID, X31CWebConst.DATABEAN_GET_VALUE);
		tkHoshikiKeiNo = bean[BEAN_SF_1].sendMessageString(FUW10401SFConst.NET_TK_HOSHIKI_KEI_NO, X31CWebConst.DATABEAN_GET_VALUE);

		String hkksSkJkyoSbtCd = bean[BEAN_SF_1].sendMessageString(FUW10401SFConst.HKKS_SK_JKYO_SBT_CD, X31CWebConst.DATABEAN_GET_VALUE);

		// 1:サービス変更を行う
		String pcrsCd = bean[BEAN_SF_1].sendMessageString(FUW10401SFConst.NET_AF_PCRS_CD, X31CWebConst.DATABEAN_GET_VALUE);
		String pplanCd = bean[BEAN_SF_1].sendMessageString(FUW10401SFConst.NET_AF_PPLAN_CD, X31CWebConst.DATABEAN_GET_VALUE);
		
		String prcGrpCd = JFUStrConst.EMPTY;

		// ホーム
		if (JKYO_SBT_CD_0.equals(hkksSkJkyoSbtCd))
		{
			prcGrpCd = JFUStrConst.CD00133_02;
		}
		// マンション
		else if (JKYO_SBT_CD_1.equals(hkksSkJkyoSbtCd))
		{
			prcGrpCd = JFUStrConst.CD00133_04;
		}
		// メゾン
		else
		{
			prcGrpCd = JFUStrConst.CD00133_03;
		}

		String kaisenUseKeiNoNet = bean[BEAN_SF_1].sendMessageString(FUW10401SFConst.KEY_KAISEN_USE_KEI_NO_NET, X31CWebConst.DATABEAN_GET_VALUE);

		String tkhskPtnCd = bean[BEAN_SF_1].sendMessageString(FUW10401SFConst.HKKS_TK_HOSHIKI_PTN_CD, X31CWebConst.DATABEAN_GET_VALUE);

		ArrayList prc_svkei_list = new ArrayList<HashMap>();

		// 異動区分
		parentMap.put(IDO_DIV, JFUStrConst.CD00576_00019);
		// 申込種別コード 
		parentMap.put(MSKM_SBT_CD, JFUStrConst.KK0971_MSKM_SBT_CD_00001);
		// 申込形態
		parentMap.put(MSKM_FORM_CD, JFUStrConst.CD00591_01);
		// 割引サービスコードリスト 
		parentMap.put(WRIB_SVC_CD_LIST,  new ArrayList<HashMap>());

		HashMap netMap = new HashMap();

		// サービスコード
		netMap.put(SVC_CD, SVC_CD_NET);
		// 料金グループコード
		netMap.put(PRC_GRP_CD, prcGrpCd);
		// 料金コースコード
		netMap.put(PCRS_CD, pcrsCd);
		// 料金プランコード
		netMap.put(PRC_PLAN_CD, pplanCd);
		// 即割有無
		netMap.put(SOKU_WARI_UM, JFUStrConst.CD00002_0);
		// ファミパ有無
		netMap.put(FAMIPA_KEI_UM, JFUStrConst.CD00002_0);
		// 請求契約番号
		netMap.put(SEIKY_KEI_NO, SEIKYU_KEIYAKU_DEF);
		// サービス契約回線内訳番号
		netMap.put(SVC_KEI_KAISEN_UCWK_NO, SERVICE_KEIYAKU_DEF);

		prc_svkei_list.add(netMap);

		// ------------------------------------------------------------
		// 電話の割引を設定
		// ------------------------------------------------------------
		// サービス変更選択(0:利用しない、1:1番号サービス、2:2番号サービス)
		String telSvcChgSel = bean[BEAN_SF_1].sendMessageString(FUW10401SFConst.TEL_SVC_CHG_SEL, X31CWebConst.DATABEAN_GET_VALUE);
		if (!TEL_SVC_CHG_SEL_NOUSE.equals(telSvcChgSel))
		{
			String telPcrsCd = "";
			if (TEL_SVC_CHG_SEL_FIRST.equals(telSvcChgSel))
			{
				telPcrsCd = JFUStrConst.CD00134_A31;
			}
			else if (TEL_SVC_CHG_SEL_SECOND.equals(telSvcChgSel))
			{
				telPcrsCd = JFUStrConst.CD00134_A32;
			}

			HashMap telMap = new HashMap();
			// サービスコード
			telMap.put(SVC_CD, SVC_CD_TEL);
			// 料金グループコード
			telMap.put(PRC_GRP_CD, JFUStrConst.CD00133_10);
			// 料金コースコード
			telMap.put(PCRS_CD, telPcrsCd);
			// 料金プランコード
			telMap.put(PRC_PLAN_CD, getPplanCd(telPcrsCd, hkksSkJkyoSbtCd, tkhskPtnCd));
			// 即割有無
			telMap.put(SOKU_WARI_UM, JFUStrConst.CD00002_0);
			// ファミパ有無
			telMap.put(FAMIPA_KEI_UM, JFUStrConst.CD00002_0);
			// 請求契約番号
			telMap.put(SEIKY_KEI_NO, SEIKYU_KEIYAKU_DEF);
			// サービス契約回線内訳番号
			telMap.put(SVC_KEI_KAISEN_UCWK_NO, SERVICE_KEIYAKU_DEF);
	
			prc_svkei_list.add(telMap);
		}

		// ------------------------------------------------------------
		// テレビの割引を設定
		// ------------------------------------------------------------
		// サービス変更選択(テレビ)（1:利用する、0:利用しない）
		String tvSvcChg = bean[BEAN_SF_1].sendMessageString(FUW10401SFConst.TV_SVC_CHG, X31CWebConst.DATABEAN_GET_VALUE);
		// サービス選択（0:現在のサービスで申し込む、1:スマートプレミアムHD/スマートベーシックHD）、2:地デジ・BSコース、3:地デジ・BSコース　スターチャンネルセット）
		String tvSvcChoise = bean[BEAN_SF_1].sendMessageString(FUW10401SFConst.TV_SVC_CHOICE, X31CWebConst.DATABEAN_GET_VALUE);
		if (!TV_SVC_CHG_0.equals(tvSvcChg))
		{
			//料金コースコード設定
			String tvPcrsCd = bean[BEAN_SF_1].sendMessageString(FUW10401SFConst.TV_CHG_PCRS_CD, X31CWebConst.DATABEAN_GET_VALUE);
			if (TV_SVC_CHOICE_0.equals(tvSvcChoise))
			{
				tvPcrsCd = bean[BEAN_SF_1].sendMessageString(FUW10401SFConst.TV_NOW_PCRS_CD, X31CWebConst.DATABEAN_GET_VALUE);
			}
			// HDコース、SDコースの場合
			if (JFUStrConst.CD00134_A39.equals(tvPcrsCd) || JFUStrConst.CD00134_A38.equals(tvPcrsCd))
			{
				// スマートコンパクト（セット割用）
				tvPcrsCd = JFUStrConst.CD00134_A85;
			}

			HashMap tvMap = new HashMap();
			// サービスコード
			tvMap.put(SVC_CD, SVC_CD_TV);
			// 料金グループコード
			tvMap.put(PRC_GRP_CD, JFUStrConst.CD00133_11);
			// 料金コースコード
			tvMap.put(PCRS_CD, tvPcrsCd);
			// 料金プランコード
			tvMap.put(PRC_PLAN_CD, getPplanCd(tvPcrsCd, hkksSkJkyoSbtCd, tkhskPtnCd));
			// 即割有無
			tvMap.put(SOKU_WARI_UM, JFUStrConst.CD00002_0);
			// ファミパ有無
			tvMap.put(FAMIPA_KEI_UM, JFUStrConst.CD00002_0);
			// 請求契約番号
			tvMap.put(SEIKY_KEI_NO, SEIKYU_KEIYAKU_DEF);
			// サービス契約回線内訳番号
			tvMap.put(SVC_KEI_KAISEN_UCWK_NO, SERVICE_KEIYAKU_DEF);

			prc_svkei_list.add(tvMap);
		}

		parentMap.put(PRC_SVKEI_LIST,  prc_svkei_list);
		
		outputMap.put(CC_TITLE_FUSV024415, parentMap);

		return outputMap;
	}

	/**
	 * [料金シミュレーション]下りマッピング処理です。
	 * <br>
	 * @param bean
	 * @param outputMap
	 * @return X31SDataBeanAccess
	 */
	public X31SDataBeanAccess getFUSV024415CC(X31SDataBeanAccess bean, HashMap outputMap)
	{

		HashMap parentMap = null;

		HashMap<String, String> dataMap = new HashMap<String, String>();

		if (outputMap.containsKey(CC_TITLE_FUSV024415))
		{
			parentMap = (HashMap)outputMap.get(CC_TITLE_FUSV024415);
		}

		if (parentMap == null)
		{
			return bean;
		}

		// 割引キャンペーン表示順定義を取得
		HashMap wribCampdispJunMap = new HashMap();
		try
		{
			String hkksSkJkyoSbtCd = bean.sendMessageString(FUW10401SFConst.HKKS_SK_JKYO_SBT_CD, X31CWebConst.DATABEAN_GET_VALUE);

			if (JKYO_SBT_CD_1.equals(hkksSkJkyoSbtCd))
			{
				wribCampdispJunMap =
						(HashMap)JFUWebCommon.getDispItemsAsMap(PATH_WRIB_CAMP_DISP_JUN.replace(JFUStrConst.PERCENT, "MT"),
								JFUStrConst.QUERY_ATTR_NAME);
			}
			else
			{
				wribCampdispJunMap =
						(HashMap)JFUWebCommon.getDispItemsAsMap(PATH_WRIB_CAMP_DISP_JUN.replace(JFUStrConst.PERCENT, "HT_MZ"),
								JFUStrConst.QUERY_ATTR_NAME);
			}
		}
		catch (Exception e)
		{
			// 正常に取得できない場合、並び替えを実施しない
			X31SWebLog.DEBUG_LOG.debug("※割引キャンペーン表示順定義が正常に取得できなかった為、実施しない。");
		}

		if (null != parentMap && parentMap.containsKey(JACPRCSIMULATIONCCMSG2LIST))
		{
			ArrayList childList = (ArrayList)parentMap.get(JACPRCSIMULATIONCCMSG2LIST);

			for (int i = 0; i < childList.size(); i++)
			{
				HashMap childMap = (HashMap)childList.get(i);

				// 請求金額
				String seikyAmnt = (String)childMap.get(SEIKY_AMNT);
				// 割引サービスコード
				String wribSvcCd = (String)childMap.get(WRIB_SVC_CD);
				// 料金コースコード
				String pcrsCd = (String)childMap.get(PCRS_CD);

				if (!JFUWebCommon.isNull(seikyAmnt) && wribCampdispJunMap.containsKey(wribSvcCd)
						&& !WRIB_CAMP_NOTHING.equals(wribCampdispJunMap.get(wribSvcCd)))
				{
					long price = - Long.valueOf(nullToZero(seikyAmnt));
					
					if (PCRS_TV_LIST.contains(pcrsCd))
					{
						dataMap.put(SVC_CD_TV, String.valueOf(price));
					}
					else if (PCRS_TEL_LIST.contains(pcrsCd))
					{
						dataMap.put(SVC_CD_TEL, String.valueOf(price));
					}
					else
					{
						dataMap.put(SVC_CD_NET, String.valueOf(price));
					}
				}
			}
		}

		// ●●サービス変更選択(テレビ)（1:利用する、0:利用しない）
		String tvSvcChg = bean.sendMessageString(FUW10401SFConst.TV_SVC_CHG, X31CWebConst.DATABEAN_GET_VALUE);

		// ○テレビサービスを利用する場合のみ設定
		if (!JKKStringUtil.isNullBlank(tvSvcChg) && !TV_SVC_CHG_0.equals(tvSvcChg))
		{
			// ○月額合計
			long monSum = Long.valueOf(bean.sendMessageString(FUW10401SFConst.KKN_GTGK_HI_GOKEI_AMNT, X31CWebConst.DATABEAN_GET_VALUE));

			// ネットテレビ割引テレビ割引額を設定
			bean.sendMessageString(FUW10401SFConst.KKN_CHAF_NTTVWR_TV_WRIB_AMNT, X31CWebConst.DATABEAN_SET_VALUE, dataMap.get(SVC_CD_TV));
			// ○月額合計
			monSum = monSum - Long.valueOf(nullToZero(dataMap.get(SVC_CD_TV))).longValue();

			// ネットテレビ割引ネット割引額を設定
			bean.sendMessageString(FUW10401SFConst.KKN_CHAF_NTTVWR_NET_WRIB_AMNT, X31CWebConst.DATABEAN_SET_VALUE, dataMap.get(SVC_CD_NET));
			// ○月額合計
			monSum = monSum - Long.valueOf(nullToZero(dataMap.get(SVC_CD_NET))).longValue();

			// ●月額合計
			bean.sendMessageString(FUW10401SFConst.KKN_GTGK_HI_GOKEI_AMNT, X31CWebConst.DATABEAN_SET_VALUE, String.valueOf(monSum));
		}

		// ●●サービス変更選択(電話)（1:1番号サービス、2:2番号サービス、0:利用しない）
		String telSvcChgSel = bean.sendMessageString(FUW10401SFConst.TEL_SVC_CHG_SEL, X31CWebConst.DATABEAN_GET_VALUE);

		// ○電話サービスを利用する場合のみ設定
		if (!TEL_SVC_CHG_SEL_NOUSE.equals(telSvcChgSel))
		{

			// ○月額合計
			long monSum = Long.valueOf(bean.sendMessageString(FUW10401SFConst.KKN_GTGK_HI_GOKEI_AMNT, X31CWebConst.DATABEAN_GET_VALUE));

			// ネット電話割引電話割引額を設定
			bean.sendMessageString(FUW10401SFConst.KKN_CHAF_NTTLWR_NET_WRIB_AMNT, X31CWebConst.DATABEAN_SET_VALUE, dataMap.get(SVC_CD_TEL));
			// ○月額合計
			monSum = monSum - Long.valueOf(nullToZero(dataMap.get(SVC_CD_TEL))).longValue();

			// ●月額合計
			bean.sendMessageString(FUW10401SFConst.KKN_GTGK_HI_GOKEI_AMNT, X31CWebConst.DATABEAN_SET_VALUE, String.valueOf(monSum));

		}

		return bean;
	}

	/**
	 * 料金プランコード取得。（セット割用）
	 * <br>
	 * @param pcrsCd　料金コース
	 * @param hkksSkJkyoSbtCd　引越し先住居種別コード
	 * @return 料金プランコード
	 */
	private String getPplanCd(String pcrsCd, String hkksSkJkyoSbtCd, String tkhskPtnCd)
	{
		// 料金プランコード　ホーム
		HashMap<String, String> mapPplanCdHome = new HashMap<String, String>();
		// 料金プランコード　マンション
		HashMap<String, String> mapPplanCdMansion = new HashMap<String, String>();
		// 料金プランコード　メゾン
		HashMap<String, String> mapPplanCdMezon = new HashMap<String, String>();

		// 料金プランコード　ホーム
		mapPplanCdHome.put(JFUStrConst.CD00134_A31, JFUStrConst.CD00565_PA3101);
		mapPplanCdHome.put(JFUStrConst.CD00134_A32, JFUStrConst.CD00565_PA3201);
		mapPplanCdHome.put(JFUStrConst.CD00134_A37, JFUStrConst.CD00565_PA3701);
		mapPplanCdHome.put(JFUStrConst.CD00134_A85, JFUStrConst.CD00565_PA8501);
		mapPplanCdHome.put(JFUStrConst.CD00134_AC0, JFUStrConst.CD00565_PAC001);
		mapPplanCdHome.put(JFUStrConst.CD00134_AC1, JFUStrConst.CD00565_PAC101);
		// 料金プランコード　マンション
		// 光配線のマンションの場合
		if (JFUStrConst.TK_HOSHIKI_PTN_HIKARI_HAISEN.equals(tkhskPtnCd))
		{
			mapPplanCdMansion.put(JFUStrConst.CD00134_A31, JFUStrConst.CD00565_PA3104);
			mapPplanCdMansion.put(JFUStrConst.CD00134_A32, JFUStrConst.CD00565_PA3204);
		}else{
			mapPplanCdMansion.put(JFUStrConst.CD00134_A31, JFUStrConst.CD00565_PA3102);
			mapPplanCdMansion.put(JFUStrConst.CD00134_A32, JFUStrConst.CD00565_PA3202);
		}
		mapPplanCdMansion.put(JFUStrConst.CD00134_A37, JFUStrConst.CD00565_PA3701);
		mapPplanCdMansion.put(JFUStrConst.CD00134_A85, JFUStrConst.CD00565_PA8503);
		// 料金プランコード　メゾン
		mapPplanCdMezon.put(JFUStrConst.CD00134_A31, JFUStrConst.CD00565_PA3103);
		mapPplanCdMezon.put(JFUStrConst.CD00134_A32, JFUStrConst.CD00565_PA3203);
		mapPplanCdMezon.put(JFUStrConst.CD00134_A37, JFUStrConst.CD00565_PA3701);
		mapPplanCdMezon.put(JFUStrConst.CD00134_A85, JFUStrConst.CD00565_PA8505);
		mapPplanCdMezon.put(JFUStrConst.CD00134_AC0, JFUStrConst.CD00565_PAC001);
		mapPplanCdMezon.put(JFUStrConst.CD00134_AC1, JFUStrConst.CD00565_PAC101);

		// ホーム
		if (JKYO_SBT_CD_0.equals(hkksSkJkyoSbtCd))
		{
			return mapPplanCdHome.get(pcrsCd);
		}
		// マンション
		else if (JKYO_SBT_CD_1.equals(hkksSkJkyoSbtCd))
		{
			return mapPplanCdMansion.get(pcrsCd);
		}
		// メゾン
		else
		{
			return mapPplanCdMezon.get(pcrsCd);
		}
	}
	
}