/*********************************************************************
 * All Rights reserved,Copyright (c) K-Opticom
 **********************************************************************
 *＜プログラム内容＞
 *   システム名      ：eo顧客基幹システム
 *   モジュール名    ：サービス選択内容確認（量販・訪販）
 *   ソースファイル名：FUW00926SFLogic.java
 *   作成者          ：富士通
 *   日付            ：2012年02月03日
 *＜機能概要＞
 *  サービス選択内容確認（量販・訪販）画面の制御を行います。
 *＜修正履歴＞
 *   バージョン  修正日       修正者      修正内容
 *   v1.00.00    2012/02/03   FJ）山崎    新規作成
 *   v3.00.00    2012/03/16   FJ）福島    ANK-0049-00-00(光ハイブリッド)
 *   v3.01.00    2012/03/16   FJ）福島    ANK-0050-00-00(FTTH従量制課金(STEP1))
 *   v4.00.00    2012/11/22   FJ) 大塚   【IT2-2012-0001790】
 *   v4.01.00    2012/12/18   FJ) 山下   「TAI-2012-0000136-133」料金シミュレーション同期通信化対応
 *   v5.00.00    2012/02/19   FJ) 玉井    ボタン名修正に伴う導線修正
 *   v5.01.00    2013/04/08   FJ) 岡井   【No.595,596】マンション時に即割・長割・自動継続項目を非表示にする対応
 *   v5.02.00    2013/04/18   FJ) 大塚    auスマートバリュー表示対応
 *   v5.03.00    2013/04/27   FJ) 大塚    【No.704】 内容を修正する（サービス）ボタン押下時共有フォームBean削除対応
 *   v5.04.00    2013/05/15   FJ）大村    【ANK-1526-00-00】7.2Mルータ枯渇対応、【ANK-1527-00-00】21MUSB提供終了対応
 *   v5.05.00    2013/06/10   FJ）知識    【ANK-1534-00-00】eoモバイル42Mエリア縮小対応
 *   v5.06.00    2013/07/30   FJ）岡井    【内部障害】表示用キャンペーンコード対応
 *   v5.07.00    2013/08/12   FJ）岡井    【ANK-1631-00-00】その他CPマンション対応
 *   v24.00.00   2016/04/01   FJ) 中西    【ANK-2841-00-00】 訪販フロント改善(キャンペーン名称変更等)
 *   v36.00.00   2017/12/07   FJ) 杉本    【ANK-3296-00-00】標準工事費分割請求
 *   v39.00.00   2018/11/22   FJ) 大島    【ANK-3473-00-00】選択性CPシステム改修
 *   v40.00.00   2019/01/09   FJ) 西川    【ANK-3412-03-00】５ギガ・１０ギガコース導入対応(特約プログラム対応)
 *   v56.00.00   2021/12/06   FJ）美濃原  【ANK-4103-00-00】マンション光コンセントタイプのWeb受付対応
 *   v73.00.00   2024/11/26   FJ) 飯田    【ANK-4427-00-00】NTT卸対応
 **********************************************************************/
package eo.web.webview.FUW00926SF;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.fujitsu.futurity.web.x00.JCCBusinessException;
import com.fujitsu.futurity.web.x00.JCCWebServiceException;
import com.fujitsu.futurity.web.x31.X31CWebConst;
import com.fujitsu.futurity.web.x31.X31SDataBeanAccess;
import com.fujitsu.futurity.web.x31.X31SDataBeanAccessArray;

import eo.common.constant.JFUStrConst;
import eo.web.webview.JCCWebBusinessLogic;
import eo.web.webview.CommonInfoCF.CommonInfoCFConst;
import eo.web.webview.common.JCCWebCommon;
import eo.web.webview.common.JFUDispDefinitionUtil;
import eo.web.webview.common.JFUScreenConst;
import eo.web.webview.common.JFUWebCommon;
import eo.web.webview.mapping.FUSV0247_FUSV0247OPDBMapper;

/**
 * FUW00926_サービス選択内容確認画面ビューロジック
 * <br>
 * @author 富士通
 */
@SuppressWarnings("serial")
public class FUW00926SFLogic extends JCCWebBusinessLogic
{
	/** プロパティファイル取得文字列 */
	private static final String QUERY_DISPTEXT_PATH = "DISPSETTING/SETTING[@screenId='FUW00926']/DISPTEXT";
	/** 属性名 */
	private static final String QUERY_ATTR_NAME = "id";
	/** プロパティからの取得キー(ｅｏ光テレビチューナーコース) */
	private static final String KEY_STB_HD_NM = "STB_HD_NM_";
	/** プロパティからの取得キー(モバイルコース) */
	private static final String KEY_MOBILE_COURSE_NM = "MOBILE_COURSE_NM_";
	/** プロパティからの取得キー(ｅｏモバイル通信端末) */
	private static final String KEY_MOBILE_KIKI_NM = "MOBILE_KIKI_NM_";
	/** プロパティからの取得キー(ネットの即割り) */
	private static final String KEY_MSKM_CHOICE_STR = "MSKM_CHOICE_STR_";
	/** プロパティからの取得キー(ｅｏ光テレビサービス) */
	private static final String KEY_TV_SVC_NM = "TV_SVC_NM_";
	/** プロパティからの取得キー(ｅｏ光テレビコース) */
	private static final String KEY_TV_EO_COURSE_NM = "TV_EO_COURSE_NM_";
	/** プロパティからの取得キー(ｅｏ光電話コース) */
	private static final String KEY_TEL_COURSE_STR = "TEL_COURSE_STR";
	/** プロパティからの取得キー(ｅｏ光ネットタイプ) */
	private static final String KEY_NET_TYPE_NM = "NET_TYPE_NM_";
	/** プロパティからの取得キー(ｅｏ光ネットコース) */
	private static final String KEY_NET_COURSE_NM = "NET_COURSE_NM_";
	/** プロパティからの取得キー(光配線コース名変更) */
	private static final String KEY_NET_COURSE_CHG_NM = "NET_COURSE_CHG_NM_";
	/** プロパティからの取得キー(光配線コース名変更 初期設定) */
	private static final String KEY_NET_COURSE_CHG_NM_DEFAULT = "NET_COURSE_CHG_NM_007";
	/** プロパティからの取得キー(番号ポータビリティ利用有無) */
	private static final String KEY_BMP_UM_STR = "BMP_UM_STR_";
	/** プロパティからの取得キー(遷移タイトル名) */
	private static final String KEY_SENI_TITLE_NM_STR = "SENI_TITLE_NM_STR_";

	/** プロパティからの取得キー(ネット申込内容情報) */
	private static final String KEY_NET_MSKM_NAIYO_HOME = "NET_MSKM_NAIYO_HOME";
	/** プロパティからの取得キー(ネット申込内容情報) */
	private static final String KEY_NET_MSKM_NAIYO_MANSION = "NET_MSKM_NAIYO_MANSION";
	/** プロパティからの取得キー(ネット申込内容情報) */
	private static final String KEY_NET_MSKM_NAIYO_MAISON = "NET_MSKM_NAIYO_MAISON";
	/** プロパティからの取得キー(ネット申込内容情報) */
	private static final String KEY_NET_MSKM_NAIYO_TYPEN_HOME = "NET_MSKM_NAIYO_TYPEN_HOME";
	/** プロパティからの取得キー(ネット申込内容情報) */
	private static final String KEY_NET_MSKM_NAIYO_TYPEN_MANSION = "NET_MSKM_NAIYO_TYPEN_MANSION";

	/** 各種フラグ:表示 */
	private static final String FLG_DSP = "1";
	/** 各種フラグ:非表示 */
	private static final String FLG_HIDSP = "0";

	/** プロパティからの取得キー(ｅｏ光電話コース) */
	private static final String KEY_TEL_COURSE_KMK_STR = "TEL_COURSE_KMK_STR";

	/** プロパティからの取得キー(台目：) */
	private static final String KEY_CNT_TANI = "CNT_TANI";

	/** 置換文字列 */
	private static final String REPLACE_STR = "replaceStr";
	/** ｅｏ光テレビ テレビチューナー・種類（REPLACE_STR） */
	private static final String STB_HD_FIELD_STR = "STB_HD" + REPLACE_STR + "_13";

	/** ｅｏ光テレビ テレビチューナー・名称（REPLACE_STR） */
	private static final String STB_HD_NM_FIELD_STR = "STB_HD" + REPLACE_STR + "_NM_13";

	/** 左カッコ */
	private static final String LEFT_PARENTHESIS = "(";
	/** 右カッコ */
	private static final String RIGHT_PARENTHESIS = ")";

	/** 分割文字列 */
	private static final String SPLIT_STR = ",";

	/** その他キャンペーン表示フラグ：表示 */
	private static final String OTHER_CMP_DSP = "1";

	/** その他キャンペーン表示区分：その他キャンペーンが設定明細表示 */
	private static final String OTHER_CMP_DSP_KBN_1 = "1";
	/** その他キャンペーン表示区分：マンションの場合 */
	private static final String OTHER_CMP_DSP_KBN_2 = "2";
	/** その他キャンペーン表示区分：その他キャンペーンが設定されていない場合 */
	private static final String OTHER_CMP_DSP_KBN_3 = "3";

	/** 長割表示フラグ：表示 */
	private static final String CHOWARI_DSP = "1";

	/** 自動継続表示フラグ：表示 */
	private static final String AUTO_KZ_DSP = "1";

	/** AUスマートバリューコード表示フラグ：適用 */
	private static final String AU_SMART_VALUE_DSP_TEKIYO = "1";
	/** AUスマートバリューコード表示フラグ：適用不可 */
	private static final String AU_SMART_VALUE_DSP_TEKIYO_HUKA = "2";
	/** AUスマートバリューコード表示フラグ：保持しているコード無し */
	private static final String AU_SMART_VALUE_DSP_NO_VALUE = "3";

	/** FUD */
	private static final String AU_SMART_VALUE_TEKIYO_HUKA = "AU_SMART_VALUE_TEKIYO_HUKA";
	/** FUD */
	private static final String AU_SMART_VALUE_NO_VALUE = "AU_SMART_VALUE_NO_VALUE";
	/** FUD */
	private static final String MSKM_CHOICE_STR_0 = "MSKM_CHOICE_STR_0";
	/** FUD */
	private static final String MSKM_CHOICE_STR_1 = "MSKM_CHOICE_STR_1";

// ANK-3296-00-00 ADD START
	/** 標準工事費お支払い方法(分割) */
	private static final String STDARD_KOJIHI_PAYWAY_BUNKATSU = "STDARD_KOJIHI_PAYWAY_BUNKATSU";
	/** 標準工事費お支払い方法(一括) */
	private static final String STDARD_KOJIHI_PAYWAY_IKT = "STDARD_KOJIHI_PAYWAY_IKT";
// ANK-3296-00-00 ADD END

	/** サービスID */
	private static final String USECASE_ID_FUSV0247 = "FUSV0247";

	/** ａｕスマートバリューコード表示フラグ 0:非表示 1:表示 */
	private static final String AU_SMART_VALUE_CD_DISP_FLG = "AU_SMART_VALUE_CD_DISP_FLG";

	/**
	 * 初期表示処理
	 * 
	 * @return boolean true(固定)
	 * @throws Exception
	 */
	@SuppressWarnings("unchecked")
	public boolean init() throws Exception
	{
		// プロパティを取得
		Map<String, String> fuDispDefinitionMap = JFUWebCommon.getDispItemsAsMap(QUERY_DISPTEXT_PATH, QUERY_ATTR_NAME);

		// 共有フォームBean
		X31SDataBeanAccess commoninfoBean = super.getCommonInfoBean();

		// ＷＥＢ新規情報
		X31SDataBeanAccess webNewInfoBean = JFUWebCommon.getDataBeanTypeByPath(commoninfoBean, JFUWebCommon.WEB_NEW_INFO);
		// リダイレクト情報
		X31SDataBeanAccess redirectInfoBean = JFUWebCommon.getDataBeanTypeByPath(commoninfoBean, JFUWebCommon.REDIRECT_INFO);
		// 契約サービス情報
		X31SDataBeanAccess keiyakuSvcInfoBean = JFUWebCommon.getDataBeanTypeByPath(commoninfoBean, JFUWebCommon.KEIYAKU_SVC_INFO);
		// ｅｏモバイル
		X31SDataBeanAccess eomobileBean = JFUWebCommon.getDataBeanTypeByPath(commoninfoBean, JFUWebCommon.EOMOBILE);
		// ｅｏ光ネット
		X31SDataBeanAccess eonetBean = JFUWebCommon.getDataBeanTypeByPath(commoninfoBean, JFUWebCommon.EONET);
		// マンション情報
		X31SDataBeanAccess mansionInfoBean = JFUWebCommon.getDataBeanTypeByPath(commoninfoBean, JFUWebCommon.MANSION_INFO);
		// ｅｏ光テレビ
		X31SDataBeanAccess eotvBean = JFUWebCommon.getDataBeanTypeByPath(commoninfoBean, JFUWebCommon.EOTV);
		// ｅｏ光電話配列
		X31SDataBeanAccessArray eoTelArray = webNewInfoBean.getDataBeanArray(CommonInfoCFConst.EOTEL);

		// ＷＥＢ新規情報.申込マンションタイプ
		String mskmMnsType = webNewInfoBean.sendMessageString(CommonInfoCFConst.MSKM_MNS_TYPE_06, X31CWebConst.DATABEAN_GET_VALUE);

		// 初期化処理
		// マンション情報.低価格マンションフラグ
		String teikakakuMansion =
				null == mansionInfoBean ? "" : mansionInfoBean.sendMessageString(CommonInfoCFConst.TEIKAKAKU_MANSION_16,
						X31CWebConst.DATABEAN_GET_VALUE);
		// ｅｏ光テレビ.テレビコース
		String tvCourse = null == eotvBean ? "" : eotvBean.sendMessageString(CommonInfoCFConst.TV_COURSE_13, X31CWebConst.DATABEAN_GET_VALUE);
		// ｅｏモバイル.モバイルコース
		String mobileCourse =
				null == eomobileBean ? "" : eomobileBean.sendMessageString(CommonInfoCFConst.MOBILE_COURSE_14, X31CWebConst.DATABEAN_GET_VALUE);

		// サービスフォームビーン
		X31SDataBeanAccess bean = getServiceFormBean();

		// ●料金エリア表示フラグ
		String prcAreaDspFlg =
				bean.sendMessageString(FUW00926SFConst.PRC_AREA_DSP_FLG, X31CWebConst.DATABEAN_SET_VALUE, chkPrcAreaDsp(keiyakuSvcInfoBean,
						teikakakuMansion, tvCourse, mobileCourse, mskmMnsType) ? FLG_DSP : FLG_HIDSP);

		// ●料金エリアを表示する場合
		if (FLG_DSP.equals(prcAreaDspFlg))
		{
			// モバイルコース(3G)が選択されていた場合(eoモバイル 3Gを同時申込している場合)
			if (JFUStrConst.MOBILE_COURSE_3G_7_2M.equals(mobileCourse) || JFUStrConst.MOBILE_COURSE_3G_21M.equals(mobileCourse))
			{
				// モバイル注記制御フラグ
				bean.sendMessageBoolean(FUW00926SFConst.DSP_CHUKI_FLG, X31CWebConst.DATABEAN_SET_VALUE, true);
			}
			// 追加工事制御フラグ
			bean.sendMessageBoolean(FUW00926SFConst.DSP_KOJI_FLG, X31CWebConst.DATABEAN_SET_VALUE, true);

			// 光ネットコースが「4: 100Mライトコース」かつ、申込回線サービスが「1:ホームタイプ」
			// または、申込マンションタイプが「メゾン」
			if (JFUStrConst.NET_COURSE_100M_LIGHT.equals(eonetBean
					.sendMessageString(CommonInfoCFConst.NET_COURSE_11, X31CWebConst.DATABEAN_GET_VALUE))
					&& (JFUStrConst.MSKM_KSN_SVC_HOME.equals(webNewInfoBean.sendMessageString(CommonInfoCFConst.MSKM_KSN_SVC_06,
							X31CWebConst.DATABEAN_GET_VALUE)) || JFUStrConst.MSKM_MNS_TYPE_MEZON.equals(mskmMnsType)))
			{
				// 100Mライトコース注記制御フラグ
				bean.sendMessageBoolean(FUW00926SFConst.HYAKUM_LT_CHUKI_CTRL_FLG, X31CWebConst.DATABEAN_SET_VALUE, true);
			}
		}

		// ●契約サービス情報.選択サービス（ネット）
		if (JFUStrConst.SELECT_SVC_NET_CHOICE.equals(keiyakuSvcInfoBean.sendMessageString(CommonInfoCFConst.SELECT_SVC_NET_10,
				X31CWebConst.DATABEAN_GET_VALUE)))
		{
			String mdmPln = eonetBean.sendMessageString(CommonInfoCFConst.MODEM_PLAN_11, X31CWebConst.DATABEAN_GET_VALUE);

			if (JFUStrConst.MSKM_MNS_TYPE_MANSION.equals(webNewInfoBean.sendMessageString(CommonInfoCFConst.MSKM_MNS_TYPE_06,
					X31CWebConst.DATABEAN_GET_VALUE))
					&& JFUStrConst.TK_HOSHIKI_PTN_VDSL.equals(mansionInfoBean.sendMessageString(CommonInfoCFConst.TEIKYO_HOSHIKI_PTN_CD_16,
							X31CWebConst.DATABEAN_GET_VALUE))
					|| JFUStrConst.TK_HOSHIKI_PTN_VDSLS.equals(mansionInfoBean.sendMessageString(CommonInfoCFConst.TEIKYO_HOSHIKI_PTN_CD_16,
							X31CWebConst.DATABEAN_GET_VALUE)))
			{
				// 2013.7.9 VDSLコース名非表示対応
				bean.sendMessageString(FUW00926SFConst.NET_TYPE, X31CWebConst.DATABEAN_SET_VALUE, fuDispDefinitionMap.get(joinString(KEY_NET_TYPE_NM,
						mdmPln)));
				bean.sendMessageString(FUW00926SFConst.NET_TYPE_DSP_FLG, X31CWebConst.DATABEAN_SET_VALUE, FLG_DSP);
			}
			else if (JFUWebCommon.isTkHosikiChgSbtCd(mansionInfoBean))
			{
				// 提供方式変更の場合
				// マンション情報 - 棟内速度コード
				String tonai_speed_cd = mansionInfoBean.sendMessageString(CommonInfoCFConst.TONAI_SPEED_CD_16, X31CWebConst.DATABEAN_GET_VALUE);
				String propKey = KEY_NET_COURSE_CHG_NM + tonai_speed_cd;
				if (!JFUStrConst.MT_CD01214_COURCE_CHANGE.contains(tonai_speed_cd))
				{
					propKey = KEY_NET_COURSE_CHG_NM_DEFAULT;
				}
				bean.sendMessageString(FUW00926SFConst.NET_COURSE, X31CWebConst.DATABEAN_SET_VALUE, fuDispDefinitionMap.get(propKey));
				// ネットコース表示フラグ
				bean.sendMessageString(FUW00926SFConst.NET_COURSE_DSP_FLG, X31CWebConst.DATABEAN_SET_VALUE, FLG_DSP);
				bean.sendMessageString(FUW00926SFConst.NET_TYPE_DSP_FLG, X31CWebConst.DATABEAN_SET_VALUE, FLG_HIDSP);
			}
			else
			{
				// ｅｏ光ネットコース
				bean.sendMessageString(FUW00926SFConst.NET_COURSE, X31CWebConst.DATABEAN_SET_VALUE, fuDispDefinitionMap.get(joinString(
						KEY_NET_COURSE_NM, eonetBean.sendMessageString(CommonInfoCFConst.NET_COURSE_11, X31CWebConst.DATABEAN_GET_VALUE))));
				// ネットコース表示フラグ
				bean.sendMessageString(FUW00926SFConst.NET_COURSE_DSP_FLG, X31CWebConst.DATABEAN_SET_VALUE, FLG_DSP);
				bean.sendMessageString(FUW00926SFConst.NET_TYPE_DSP_FLG, X31CWebConst.DATABEAN_SET_VALUE, FLG_HIDSP);
			}

			// 即割
			String skWri = eonetBean.sendMessageString(CommonInfoCFConst.NET_SOKUWARI_11, X31CWebConst.DATABEAN_GET_VALUE);
			if (skWri.length() > 0)
			{
				bean.sendMessageString(FUW00926SFConst.SOKUWARI, X31CWebConst.DATABEAN_SET_VALUE, fuDispDefinitionMap.get(joinString(
						KEY_MSKM_CHOICE_STR, eonetBean.sendMessageString(CommonInfoCFConst.NET_SOKUWARI_11, X31CWebConst.DATABEAN_GET_VALUE))));
				bean.sendMessageString(FUW00926SFConst.SOKUWARI_DSP_FLG, X31CWebConst.DATABEAN_SET_VALUE, FLG_DSP);
			}

			// 高速割
			String kskWri = eonetBean.sendMessageString(CommonInfoCFConst.NET_KOSOKUWARI_11, X31CWebConst.DATABEAN_GET_VALUE);
			if (kskWri.length() > 0)
			{
				bean.sendMessageString(FUW00926SFConst.KOSOKUWARI, X31CWebConst.DATABEAN_SET_VALUE, fuDispDefinitionMap.get(joinString(
						KEY_MSKM_CHOICE_STR, eonetBean.sendMessageString(CommonInfoCFConst.NET_KOSOKUWARI_11, X31CWebConst.DATABEAN_GET_VALUE))));
				bean.sendMessageString(FUW00926SFConst.DSP_KOSOKUWARI, X31CWebConst.DATABEAN_SET_VALUE, FLG_DSP);
			}

			// ●共有フォームBean.申込回線サービス.申込回線サービスが「1」(ホームタイプ)の場合 
			if (JFUStrConst.MSKM_KSN_SVC_HOME.equals(webNewInfoBean.sendMessageString(CommonInfoCFConst.MSKM_KSN_SVC_06,
					X31CWebConst.DATABEAN_GET_VALUE)))
			{
// ANK-4427-00-00 MOD START
				// typeNフラグ
				String typenFlg = webNewInfoBean.sendMessageString(CommonInfoCFConst.TYPEN_FLG_06, X31CWebConst.DATABEAN_GET_VALUE);
				// typeNホーム申込の場合
				if("1".equals(typenFlg))
				{
					String[] typenHomeInfo = fuDispDefinitionMap.get(KEY_NET_MSKM_NAIYO_TYPEN_HOME).split(SPLIT_STR);

					// ネット申込内容ＩＤ
					bean.sendMessageString(FUW00926SFConst.NET_MSKM_NAIYO_ID, X31CWebConst.DATABEAN_SET_VALUE, typenHomeInfo[0]);

					// ネット申込内容名
					bean.sendMessageString(FUW00926SFConst.NET_MSKM_NAIYO_NM, X31CWebConst.DATABEAN_SET_VALUE, typenHomeInfo[1]);
				}
				// typeNマンション申込の場合
				else if("2".equals(typenFlg))
				{
					String[] typenMansionInfo = fuDispDefinitionMap.get(KEY_NET_MSKM_NAIYO_TYPEN_MANSION).split(SPLIT_STR);

					// ネット申込内容ＩＤ
					bean.sendMessageString(FUW00926SFConst.NET_MSKM_NAIYO_ID, X31CWebConst.DATABEAN_SET_VALUE, typenMansionInfo[0]);

					// ネット申込内容名
					bean.sendMessageString(FUW00926SFConst.NET_MSKM_NAIYO_NM, X31CWebConst.DATABEAN_SET_VALUE, typenMansionInfo[1]);
				}
				else
				{
					String[] homeInfo = fuDispDefinitionMap.get(KEY_NET_MSKM_NAIYO_HOME).split(SPLIT_STR);
	
					// ネット申込内容ＩＤ
					bean.sendMessageString(FUW00926SFConst.NET_MSKM_NAIYO_ID, X31CWebConst.DATABEAN_SET_VALUE, homeInfo[0]);
	
					// ネット申込内容名
					bean.sendMessageString(FUW00926SFConst.NET_MSKM_NAIYO_NM, X31CWebConst.DATABEAN_SET_VALUE, homeInfo[1]);
				}
// ANK-4427-00-00 MOD END
			}
			else
			{
				if (JFUStrConst.MSKM_MNS_TYPE_MANSION.equals(mskmMnsType))
				{
					// 共有フォームBean.申込マンションタイプが「1」(マンション)の場合
					String[] mansionInfo = fuDispDefinitionMap.get(KEY_NET_MSKM_NAIYO_MANSION).split(",");

					// ネット申込内容ＩＤ
					bean.sendMessageString(FUW00926SFConst.NET_MSKM_NAIYO_ID, X31CWebConst.DATABEAN_SET_VALUE, mansionInfo[0]);

					// ネット申込内容名
					bean.sendMessageString(FUW00926SFConst.NET_MSKM_NAIYO_NM, X31CWebConst.DATABEAN_SET_VALUE, mansionInfo[1]);
				}
				else if (JFUStrConst.MSKM_MNS_TYPE_MEZON.equals(mskmMnsType))
				{
					// 共有フォームBean.申込マンションタイプが「2」(メゾン)の場合
					String[] maisonInfo = fuDispDefinitionMap.get(KEY_NET_MSKM_NAIYO_MAISON).split(",");

					// ネット申込内容ＩＤ
					bean.sendMessageString(FUW00926SFConst.NET_MSKM_NAIYO_ID, X31CWebConst.DATABEAN_SET_VALUE, maisonInfo[0]);

					// ネット申込内容名
					bean.sendMessageString(FUW00926SFConst.NET_MSKM_NAIYO_NM, X31CWebConst.DATABEAN_SET_VALUE, maisonInfo[1]);
				}
			}
			
// ANK-3296-00-00 ADD START
			if (JFUStrConst.MSKM_MNS_TYPE_MANSION.equals(mskmMnsType))
			{
				// マンションタイプの場合、項目を表示しない
				bean.sendMessageString(FUW00926SFConst.NET_STDARD_KOJIHI_PAYWAY_DSP_FLG, X31CWebConst.DATABEAN_SET_VALUE, FLG_HIDSP);
			}
			else
			{
				if (JFUStrConst.STDARD_KOJIHI_PAYWAY_BUNKATSU.equals(webNewInfoBean.sendMessageString(CommonInfoCFConst.STDARD_KOJIHI_PAYWAY_06, X31CWebConst.DATABEAN_GET_VALUE)))
				{
					// サービスフォームBean. 標準工事費お支払い方法(ネット)を設定する。
					bean.sendMessageString(FUW00926SFConst.NET_STDARD_KOJIHI_PAYWAY, X31CWebConst.DATABEAN_SET_VALUE, JFUWebCommon.getDispText(
							JFUScreenConst.SCREEN_ID_FUW00926, STDARD_KOJIHI_PAYWAY_BUNKATSU));
					// サービスフォームBean. 標準工事費お支払い方法(ネット)表示フラグを設定する。
					bean.sendMessageString(FUW00926SFConst.NET_STDARD_KOJIHI_PAYWAY_DSP_FLG, X31CWebConst.DATABEAN_SET_VALUE, AUTO_KZ_DSP);

				}
				else if (JFUStrConst.STDARD_KOJIHI_PAYWAY_IKT.equals(webNewInfoBean.sendMessageString(CommonInfoCFConst.STDARD_KOJIHI_PAYWAY_06, X31CWebConst.DATABEAN_GET_VALUE)))
				{
					// サービスフォームBean. 標準工事費お支払い方法(ネット)を設定する。
					bean.sendMessageString(FUW00926SFConst.NET_STDARD_KOJIHI_PAYWAY, X31CWebConst.DATABEAN_SET_VALUE, JFUWebCommon.getDispText(
							JFUScreenConst.SCREEN_ID_FUW00926, STDARD_KOJIHI_PAYWAY_IKT));
					// サービスフォームBean. 標準工事費お支払い方法(ネット)表示フラグを設定する。
					bean.sendMessageString(FUW00926SFConst.NET_STDARD_KOJIHI_PAYWAY_DSP_FLG, X31CWebConst.DATABEAN_SET_VALUE, AUTO_KZ_DSP);
				}
			}
// ANK-3296-00-00 ADD END
		}

		// ●ｅｏ光電話の申し込み
		if (JFUStrConst.SELECT_SVC_TEL_CHOICE.equals(keiyakuSvcInfoBean.sendMessageString(CommonInfoCFConst.SELECT_SVC_TEL_10,
				X31CWebConst.DATABEAN_GET_VALUE)))
		{
			// ＷＥＢ新規情報.電話コース
			String telCourse = webNewInfoBean.sendMessageString(CommonInfoCFConst.TEL_COURSE_06, X31CWebConst.DATABEAN_GET_VALUE);

			// ｅｏ光電話コース
			bean.sendMessageString(FUW00926SFConst.TEL_COURSE, X31CWebConst.DATABEAN_SET_VALUE, joinString(telCourse, fuDispDefinitionMap
					.get(KEY_TEL_COURSE_STR)));

			// 番号ポータビリティ利用リスト取得
			X31SDataBeanAccessArray useBmpList = bean.getDataBeanArray(FUW00926SFConst.USE_BMP_LIST);

			int telCourseCnt = isNullOrEmpty(telCourse) ? 0 : Integer.parseInt(telCourse);
			for (int i = 0; i < telCourseCnt; i++)
			{
				X31SDataBeanAccess useBmpBean = useBmpList.addDataBean();

				// 番号ポータビリティ利用サービス項目名
				useBmpBean.sendMessageString(FUW00926SFConst.USE_BMP_SVC_KMK_NM_01, X31CWebConst.DATABEAN_SET_VALUE, joinString(
						String.valueOf(i + 1), fuDispDefinitionMap.get(KEY_TEL_COURSE_KMK_STR)));

				X31SDataBeanAccess eotelBean = eoTelArray.getDataBean(i);
				// 番号ポータビリティ利用有無
				useBmpBean
						.sendMessageString(FUW00926SFConst.USE_BMP_SVC_USE_UM_01, X31CWebConst.DATABEAN_SET_VALUE, fuDispDefinitionMap
								.get(joinString(KEY_BMP_UM_STR
										+ eotelBean.sendMessageString(CommonInfoCFConst.USE_BMP_12, X31CWebConst.DATABEAN_GET_VALUE))));
			}
// ANK-3296-00-00 ADD START
			if (JFUStrConst.MSKM_MNS_TYPE_MANSION.equals(mskmMnsType))
			{
				// マンションタイプの場合、項目を表示しない
				bean.sendMessageString(FUW00926SFConst.TEL_STDARD_KOJIHI_PAYWAY_DSP_FLG, X31CWebConst.DATABEAN_SET_VALUE, FLG_HIDSP);
			}
			else
			{
				// 契約情報サービス.選択サービス（電話）が"1"(選択済) かつ 選択サービス(ネット)が"0"(未選択)の場合
				if (JFUStrConst.SELECT_SVC_TEL_CHOICE.equals(keiyakuSvcInfoBean.sendMessageString(CommonInfoCFConst.SELECT_SVC_TEL_10, X31CWebConst.DATABEAN_GET_VALUE)) &&
					JFUStrConst.SELECT_SVC_NET_MI_CHOICE.equals(keiyakuSvcInfoBean.sendMessageString(CommonInfoCFConst.SELECT_SVC_NET_10, X31CWebConst.DATABEAN_GET_VALUE)))
				{
					if (JFUStrConst.STDARD_KOJIHI_PAYWAY_BUNKATSU.equals(webNewInfoBean.sendMessageString(CommonInfoCFConst.STDARD_KOJIHI_PAYWAY_06, X31CWebConst.DATABEAN_GET_VALUE)))
					{
						// サービスフォームBean. 標準工事費お支払い方法(電話)を設定する。
						bean.sendMessageString(FUW00926SFConst.TEL_STDARD_KOJIHI_PAYWAY, X31CWebConst.DATABEAN_SET_VALUE, JFUWebCommon.getDispText(
							JFUScreenConst.SCREEN_ID_FUW00926, STDARD_KOJIHI_PAYWAY_BUNKATSU));
						// サービスフォームBean. 標準工事費お支払い方法(電話)表示フラグを設定する。
						bean.sendMessageString(FUW00926SFConst.TEL_STDARD_KOJIHI_PAYWAY_DSP_FLG, X31CWebConst.DATABEAN_SET_VALUE, AUTO_KZ_DSP);
					
					}
					else if (JFUStrConst.STDARD_KOJIHI_PAYWAY_IKT.equals(webNewInfoBean.sendMessageString(CommonInfoCFConst.STDARD_KOJIHI_PAYWAY_06, X31CWebConst.DATABEAN_GET_VALUE)))
					{
						// サービスフォームBean. 標準工事費お支払い方法(電話)を設定する。
						bean.sendMessageString(FUW00926SFConst.TEL_STDARD_KOJIHI_PAYWAY, X31CWebConst.DATABEAN_SET_VALUE, JFUWebCommon.getDispText(
							JFUScreenConst.SCREEN_ID_FUW00926, STDARD_KOJIHI_PAYWAY_IKT));
						// サービスフォームBean. 標準工事費お支払い方法(電話)表示フラグを設定する。
						bean.sendMessageString(FUW00926SFConst.TEL_STDARD_KOJIHI_PAYWAY_DSP_FLG, X31CWebConst.DATABEAN_SET_VALUE, AUTO_KZ_DSP);
					}
				}
			}
// ANK-3296-00-00 ADD END
		}

		// ●ｅｏ光テレビの申し込み
		if (JFUStrConst.SELECT_SVC_TV_CHOICE.equals(keiyakuSvcInfoBean.sendMessageString(CommonInfoCFConst.SELECT_SVC_TV_10,
				X31CWebConst.DATABEAN_GET_VALUE)))
		{
			// ｅｏ光テレビサービス
			bean.sendMessageString(FUW00926SFConst.TV_SVC, X31CWebConst.DATABEAN_SET_VALUE, fuDispDefinitionMap.get(joinString(KEY_TV_SVC_NM,
					eotvBean.sendMessageString(CommonInfoCFConst.TV_COURSE_13, X31CWebConst.DATABEAN_GET_VALUE))));

			// ｅｏ光テレビコース
			bean.sendMessageString(FUW00926SFConst.TV_COURSE, X31CWebConst.DATABEAN_SET_VALUE, fuDispDefinitionMap.get(joinString(
					KEY_TV_EO_COURSE_NM, eotvBean.sendMessageString(CommonInfoCFConst.EO_TV_COURSE_13, X31CWebConst.DATABEAN_GET_VALUE))));
			//			}

			// ｅｏ光テレビチューナー情報リスト
			X31SDataBeanAccessArray tvStbInfoList = bean.getDataBeanArray(FUW00926SFConst.TV_STB_INFO_LIST);

			// ｅｏ光テレビチューナー台数
			String stbCnt = eotvBean.sendMessageString(CommonInfoCFConst.STB_CNT_13, X31CWebConst.DATABEAN_GET_VALUE);
			int tvStbCnt = isNullOrEmpty(stbCnt) ? 0 : Integer.parseInt(stbCnt);
			for (int i = 0; i < tvStbCnt; i++)
			{
				X31SDataBeanAccess tvStbInfoBean = tvStbInfoList.addDataBean();

				String divCnt = String.valueOf(i + 1);

				// 共有フォームBean.ＷＥＢ新規情報.申込マンションタイプが「2」(メゾン)以外の場合
				// ｅｏ光テレビチューナー台数を表示する。
				if (!JFUStrConst.MSKM_MNS_TYPE_MEZON.equals(mskmMnsType))
				{
					// ｅｏ光テレビチューナー台数
					tvStbInfoBean.sendMessageString(FUW00926SFConst.TV_STB_CNT_02, X31CWebConst.DATABEAN_SET_VALUE, joinString(divCnt,
							fuDispDefinitionMap.get(KEY_CNT_TANI)));
				}

				// ｅｏ光テレビチューナー録画機能有無
				String stbHdNmKey = STB_HD_NM_FIELD_STR.replace(REPLACE_STR, divCnt);
				String stbHdNmField = (String)CommonInfoCFConst.class.getDeclaredField(stbHdNmKey).get(null);

				// ｅｏ光テレビチューナーコース
				String stbHdKey = STB_HD_FIELD_STR.replace(REPLACE_STR, divCnt);
				String stbHdField = (String)CommonInfoCFConst.class.getDeclaredField(stbHdKey).get(null);
				tvStbInfoBean.sendMessageString(FUW00926SFConst.TV_STB_COURSE_02, X31CWebConst.DATABEAN_SET_VALUE, fuDispDefinitionMap
						.get(joinString(KEY_STB_HD_NM, eotvBean.sendMessageString(stbHdField, X31CWebConst.DATABEAN_GET_VALUE))));

				// ｅｏ光テレビチューナー録画機能有無
				// 括弧有り
				tvStbInfoBean.sendMessageString(FUW00926SFConst.TV_STB_REC_KINO_UM_02, X31CWebConst.DATABEAN_SET_VALUE, joinString(LEFT_PARENTHESIS,
						eotvBean.sendMessageString(stbHdNmField, X31CWebConst.DATABEAN_GET_VALUE), RIGHT_PARENTHESIS));
			}
		}

		// ｅｏモバイル.モバイルコース
		if (!checkMiChoiceMobileCourse(mobileCourse))
		{
			// ●モバイルコース
			bean.sendMessageString(FUW00926SFConst.MOBILE_COURSE, X31CWebConst.DATABEAN_SET_VALUE, fuDispDefinitionMap.get(joinString(
					KEY_MOBILE_COURSE_NM, eomobileBean.sendMessageString(CommonInfoCFConst.MOBILE_COURSE_14, X31CWebConst.DATABEAN_GET_VALUE))));

			// ●モバイル表示フラグ
			bean.sendMessageString(FUW00926SFConst.MOBILE_DSP_FLG, X31CWebConst.DATABEAN_SET_VALUE, FLG_DSP);

			// リダイレクト情報.ＷｉＭＡＸＲＯＭ
			String redWimaxrom =
					null == redirectInfoBean ? "" : redirectInfoBean.sendMessageString(CommonInfoCFConst.RED_WIMAXROM_17,
							X31CWebConst.DATABEAN_GET_VALUE);

			// ●通信端末表示フラグ
			String tsushinTnmtDspFlg =
					bean.sendMessageString(FUW00926SFConst.TSUSHIN_TNMT_DSP_FLG, X31CWebConst.DATABEAN_SET_VALUE, checkHiDspTsushinTnmt(mobileCourse,
							redWimaxrom) ? FLG_HIDSP : FLG_DSP);

			// 通信端末表示フラグが表示の場合
			if (FLG_DSP.equals(tsushinTnmtDspFlg))
			{
				// ●ｅｏモバイル通信端末
				bean.sendMessageString(FUW00926SFConst.MOBILE_TNMT, X31CWebConst.DATABEAN_SET_VALUE, fuDispDefinitionMap.get(joinString(
						KEY_MOBILE_KIKI_NM, eomobileBean.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_14, X31CWebConst.DATABEAN_GET_VALUE))));
			}
		}

		// IT2-2012-1790 2012/11/26 Otsuka
		// ●遷移タイトル名
		bean.sendMessageString(FUW00926SFConst.SENI_TITLE_NM, X31CWebConst.DATABEAN_SET_VALUE, fuDispDefinitionMap.get(joinString(
				KEY_SENI_TITLE_NM_STR, redirectInfoBean.sendMessageString(CommonInfoCFConst.NAVIGATOR_PTN_17, X31CWebConst.DATABEAN_GET_VALUE))));

		// ●ダイアログ表示フラグ設定処理
		// ●共有フォームBean.申込回線サービス.申込回線サービスが「1」(ホームタイプ)の場合 
		if (JFUStrConst.MSKM_KSN_SVC_HOME
				.equals(webNewInfoBean.sendMessageString(CommonInfoCFConst.MSKM_KSN_SVC_06, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			// ダイアログ表示フラグ
			bean.sendMessageString(FUW00926SFConst.DIALOG_DSP_FLG, X31CWebConst.DATABEAN_SET_VALUE, FLG_HIDSP);
		}
		else
		{
			if (JFUStrConst.MSKM_MNS_TYPE_MANSION.equals(mskmMnsType))
			{
				// ダイアログ表示フラグ
				bean.sendMessageString(FUW00926SFConst.DIALOG_DSP_FLG, X31CWebConst.DATABEAN_SET_VALUE, FLG_DSP);

			}
			else if (JFUStrConst.MSKM_MNS_TYPE_MEZON.equals(mskmMnsType))
			{
				// ダイアログ表示フラグ
				bean.sendMessageString(FUW00926SFConst.DIALOG_DSP_FLG, X31CWebConst.DATABEAN_SET_VALUE, FLG_HIDSP);
			}
		}

		// 20120719 長割対応 START
		if (JFUStrConst.MSKM_MNS_TYPE_MANSION.equals(mskmMnsType))
		{
			// マンションタイプの場合、項目を表示しない
			eonetBean.sendMessageString(CommonInfoCFConst.NET_CHOWARI_11, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
			bean.sendMessageString(FUW00926SFConst.CHOWARI_DSP_FLG, X31CWebConst.DATABEAN_SET_VALUE, FLG_HIDSP);
		}
		else
		{
			// eoネット情報.長割が"0"(未選択)の場合
			if (JFUStrConst.NET_CHOWARI_NOT_MSKM.equals(eonetBean
					.sendMessageString(CommonInfoCFConst.NET_CHOWARI_11, X31CWebConst.DATABEAN_GET_VALUE)))
			{
				// サービスフォームBean.長割に"申し込まない"を設定する。
				bean.sendMessageString(FUW00926SFConst.CHOWARI, X31CWebConst.DATABEAN_SET_VALUE, JFUWebCommon.getDispText(
						JFUScreenConst.SCREEN_ID_FUW00926, MSKM_CHOICE_STR_0));

				// サービスフォームBean.長割表示フラグを設定。
				bean.sendMessageString(FUW00926SFConst.CHOWARI_DSP_FLG, X31CWebConst.DATABEAN_SET_VALUE, CHOWARI_DSP);
			}
			// eoネット情報.長割が"1"(選択)の場合
			else if (JFUStrConst.NET_CHOWARI_MSKM.equals(eonetBean.sendMessageString(CommonInfoCFConst.NET_CHOWARI_11,
					X31CWebConst.DATABEAN_GET_VALUE)))
			{
				// サービスフォームBean.長割に"申し込む"を設定する。
				bean.sendMessageString(FUW00926SFConst.CHOWARI, X31CWebConst.DATABEAN_SET_VALUE, JFUWebCommon.getDispText(
						JFUScreenConst.SCREEN_ID_FUW00926, MSKM_CHOICE_STR_1));

				// サービスフォームBean.長割表示フラグを設定。
				bean.sendMessageString(FUW00926SFConst.CHOWARI_DSP_FLG, X31CWebConst.DATABEAN_SET_VALUE, CHOWARI_DSP);
			}
		}
		// 20120719 長割対応 END

		// 20120719 自動継続対応 START
		if (JFUStrConst.MSKM_MNS_TYPE_MANSION.equals(mskmMnsType))
		{
			// マンションタイプの場合、項目を表示しない
			eonetBean.sendMessageString(CommonInfoCFConst.AUTO_KEIZOKU_11, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
			bean.sendMessageString(FUW00926SFConst.AUTO_KZ_DSP_FLG, X31CWebConst.DATABEAN_SET_VALUE, FLG_HIDSP);
		}
		else
		{
			// eoネット情報.自動継続が"0"(未選択)の場合
			if (JFUStrConst.NET_AUTO_KEIZOKU_NOT_MSKM.equals(eonetBean.sendMessageString(CommonInfoCFConst.AUTO_KEIZOKU_11,
					X31CWebConst.DATABEAN_GET_VALUE)))
			{
				// サービスフォームBean.自動継続に"申し込まない"を設定する。
				bean.sendMessageString(FUW00926SFConst.AUTO_KZ, X31CWebConst.DATABEAN_SET_VALUE, JFUWebCommon.getDispText(
						JFUScreenConst.SCREEN_ID_FUW00926, MSKM_CHOICE_STR_0));

				// サービスフォームBean.自動継続表示フラグを設定。
				bean.sendMessageString(FUW00926SFConst.AUTO_KZ_DSP_FLG, X31CWebConst.DATABEAN_SET_VALUE, AUTO_KZ_DSP);
			}

			// eoネット情報.自動継続が"1"(選択)の場合
			else if (JFUStrConst.NET_AUTO_KEIZOKU_MSKM.equals(eonetBean.sendMessageString(CommonInfoCFConst.AUTO_KEIZOKU_11,
					X31CWebConst.DATABEAN_GET_VALUE)))
			{
				// サービスフォームBean.自動継続に"申し込む"を設定する。
				bean.sendMessageString(FUW00926SFConst.AUTO_KZ, X31CWebConst.DATABEAN_SET_VALUE, JFUWebCommon.getDispText(
						JFUScreenConst.SCREEN_ID_FUW00926, MSKM_CHOICE_STR_1));

				// サービスフォームBean.長割表示フラグを設定。
				bean.sendMessageString(FUW00926SFConst.AUTO_KZ_DSP_FLG, X31CWebConst.DATABEAN_SET_VALUE, AUTO_KZ_DSP);
			}
		}
		// 20120719 自動継続対応 END

		// 20120719 auスマートバリュー対応 START
		// No683 2013/04/18 Otsuka start
		// FUDispDefinitionよりauスマートバリューの設定値を取得
		// ａｕスマートバリューコード表示フラグ 0:非表示 1:表示
		String au_smart_value_cd_disp_flg = JFUWebCommon.getDispText(JFUScreenConst.SCREEN_ID_FUW00905, AU_SMART_VALUE_CD_DISP_FLG);

		// ａｕスマートバリューコード表示フラグを設定
		bean.sendMessageString(FUW00926SFConst.AU_SMART_VALUE_CD_DISP_FLG, X31CWebConst.DATABEAN_SET_VALUE, au_smart_value_cd_disp_flg);

		// ａｕスマートバリューコード表示フラグが 1:表示の場合
		if (JFUStrConst.CD00001_1.equals(au_smart_value_cd_disp_flg))
		{
			// 共有フォームBean.その他情報を取得
			X31SDataBeanAccess elseInfoBean = JFUWebCommon.getDataBeanTypeByPath(commoninfoBean, JFUWebCommon.ELSE_INFO);

			// AUスマートバリューコードを取得
			String auStartValueCd = elseInfoBean.sendMessageString(CommonInfoCFConst.AU_SMART_VALUE_CD_18, X31CWebConst.DATABEAN_GET_VALUE);

			// 保持しているAUスマートバリューコードがある場合
			if (null != auStartValueCd && auStartValueCd.length() > 0)
			{
				// eo光ネット.光ネットコースを取得
				String net_course = eonetBean.sendMessageString(CommonInfoCFConst.NET_COURSE_11, X31CWebConst.DATABEAN_GET_VALUE);

				// 契約サービス情報.選択サービス（電話）を取得
				String select_svc_tel = keiyakuSvcInfoBean.sendMessageString(CommonInfoCFConst.SELECT_SVC_TEL_10, X31CWebConst.DATABEAN_GET_VALUE);

				// 光ネットコースが1,2,3かつ、選択サービス（電話）が1の場合(適用条件を満たしている場合)
				if ((JFUStrConst.NET_COURSE_100M.equals(net_course) || JFUStrConst.NET_COURSE_200M.equals(net_course) || JFUStrConst.NET_COURSE_1G
						.equals(net_course))
						&& JFUStrConst.SELECT_SVC_CHOICE.equals(select_svc_tel))
				{
					// サービスフォームBean.AUスマートバリュー適用可否に、AUスマートバリューコードを設定する。
					bean.sendMessageString(FUW00926SFConst.AU_SMART_VALUE_TEKIYO_KH, X31CWebConst.DATABEAN_SET_VALUE, auStartValueCd);

					// サービスフォームBean.AUスマートバリューコード表示フラグを設定する。
					bean.sendMessageString(FUW00926SFConst.AU_SMART_VALUE_DSP_FLG, X31CWebConst.DATABEAN_SET_VALUE, AU_SMART_VALUE_DSP_TEKIYO);
				}

				// 上記以外の場合
				else
				{
					// プロパティファイルから文言を取得し、サービスフォームBean.AUスマートバリュー適用可否に設定する。
					bean.sendMessageString(FUW00926SFConst.AU_SMART_VALUE_TEKIYO_KH, X31CWebConst.DATABEAN_SET_VALUE, JFUWebCommon.getDispText(
							JFUScreenConst.SCREEN_ID_FUW00926, AU_SMART_VALUE_TEKIYO_HUKA));

					// サービスフォームBean.AUスマートバリューコード表示フラグを設定する。
					bean.sendMessageString(FUW00926SFConst.AU_SMART_VALUE_DSP_FLG, X31CWebConst.DATABEAN_SET_VALUE, AU_SMART_VALUE_DSP_TEKIYO_HUKA);
				}
			}
			// 保持しているAUスマートバリューコードが無い場合
			else
			{
				// プロパティファイルから文言を取得し、サービスフォームBean.AUスマートバリュー適用可否に設定する。
				bean.sendMessageString(FUW00926SFConst.AU_SMART_VALUE_TEKIYO_KH, X31CWebConst.DATABEAN_SET_VALUE, JFUWebCommon.getDispText(
						JFUScreenConst.SCREEN_ID_FUW00926, AU_SMART_VALUE_NO_VALUE));

				// サービスフォームBean.AUスマートバリューコード表示フラグを設定する。
				bean.sendMessageString(FUW00926SFConst.AU_SMART_VALUE_DSP_FLG, X31CWebConst.DATABEAN_SET_VALUE, AU_SMART_VALUE_DSP_NO_VALUE);
			}
		}
		// No683 2013/04/18 Otsuka end
		// 20120719 auスマートバリュー対応 END

// ANK-3473-00-00 DEL START
//		// 20120719 その他キャンペーン対応 START
//		// 共有フォームBean.WEB新規情報.販売タイプが"2"(訪販)の場合
//		if (JFUStrConst.HNBAI_TYPE_HOHAN.equals(webNewInfoBean.sendMessageString(CommonInfoCFConst.HANBAI_TYPE_06, X31CWebConst.DATABEAN_GET_VALUE)))
//		{
//			// サービスフォームBeanにその他キャンペーン表示フラグ"1"(表示)を設定する。
//			bean.sendMessageString(FUW00926SFConst.OTHER_CMP_DSP_FLG, X31CWebConst.DATABEAN_SET_VALUE, OTHER_CMP_DSP);
//
//			// 共有フォームBean.その他情報.汎用コードの要素数を取得
//			X31SDataBeanAccessArray hanyoCdList = webNewInfoBean.getDataBeanArray(CommonInfoCFConst.HANYO_CD_LIST);
//			Integer hanyoCdCount = hanyoCdList.getCount();
//
//			// 共有フォームBean.その他情報.汎用コードに値が設定されていない場合
//			if (hanyoCdCount < 1)
//			{
//				// 申込マンションタイプが"1"(マンション)の場合
//				if (JFUStrConst.MSKM_MNS_TYPE_MANSION.equals(mskmMnsType))
//				{
//					// サービスフォームBeanにその他キャンペーン表示区分"3"(その他キャンペーンが設定されていない場合)を設定する。
//					bean.sendMessageString(FUW00926SFConst.OTHER_CMP_DSP_KBN, X31CWebConst.DATABEAN_SET_VALUE, OTHER_CMP_DSP_KBN_3);
//				}
//
//				// 申込マンションタイプが"1"(マンション)以外の場合
//				else
//				{
//					// サービスフォームBeanにその他キャンペーン表示区分"3"(その他キャンペーンが設定されていない場合)を設定する。
//					bean.sendMessageString(FUW00926SFConst.OTHER_CMP_DSP_KBN, X31CWebConst.DATABEAN_SET_VALUE, OTHER_CMP_DSP_KBN_3);
//				}
//			}
//			// 共有フォームBean.その他情報.汎用コードに値が設定されている場合
//			else
//			{
//				// ANK-1631-00-00 その他CPマンション対応
//
//				// サービスフォームBeanにその他キャンペーン表示区分"1"(その他キャンペーン明細表示)を設定する。
//				bean.sendMessageString(FUW00926SFConst.OTHER_CMP_DSP_KBN, X31CWebConst.DATABEAN_SET_VALUE, OTHER_CMP_DSP_KBN_1);
//
//				// サービス呼出
//				this.callFUSV0247Service();
//				
//				// ANK-2841-00-00 訪販フロント改善(キャンペーン名称変更等) 2016.04.01 add start
//				// その他キャンペーン表示用名称マップ取得
//				Map<String, String> otherCmpNameMap = JFUDispDefinitionUtil.getDispTesxtOtherCmpNameMap();
//				// ANK-2841-00-00 訪販フロント改善(キャンペーン名称変更等) 2016.04.01 add end
//
//				// その他キャンペーンリストを設定する。
//				// 初期化
//				bean.getDataBeanArray(FUW00926SFConst.OTHER_CMP_LIST).clearArray();
//
//				// 適用可能コードリスト
//				List<String> psbDspCpCdList = new ArrayList();
//				// 格納済み表示用キャンペーンコードリスト
//				List<String> setZumiDspCpCdList = new ArrayList();
//
//				// 適用可能コード判定
//				for (int i = 0; i < hanyoCdCount; i++)
//				{
//					// コード(表示用コード)
//					String hanyoDspCd = hanyoCdList.getDataBean(i).sendMessageString(CommonInfoCFConst.HANYO_DSP_CD_46, X31CWebConst.DATABEAN_GET_VALUE);
//					// 適用可否
//					String hanyoKhFlg =
//							hanyoCdList.getDataBean(i).sendMessageString(CommonInfoCFConst.HANYO_KH_FLG_46, X31CWebConst.DATABEAN_GET_VALUE);
//
//					// 適用可否フラグが"1"(適用可)の場合 
//					if (JFUStrConst.HANYO_KH_FLG_TEKIYO_KA.equals(hanyoKhFlg) && !psbDspCpCdList.contains(hanyoDspCd))
//					{
//						// 適用可能コード(表示用コード)を格納する
//						psbDspCpCdList.add(hanyoDspCd);
//					}
//					
//					// ANK-2841-00-00 訪販フロント改善(キャンペーン名称変更等) 2016.04.01 add start
//					// 汎用コード
//					String hanyoCd = hanyoCdList.getDataBean(i).sendMessageString(CommonInfoCFConst.HANYO_CD_46, X31CWebConst.DATABEAN_GET_VALUE);
//					// 汎用名称
//					String hanyoNm = hanyoCdList.getDataBean(i).sendMessageString(CommonInfoCFConst.HANYO_NM_46, X31CWebConst.DATABEAN_GET_VALUE);
//
//					if (otherCmpNameMap.containsKey(hanyoCd))
//					{
//						hanyoNm = otherCmpNameMap.get(hanyoCd);
//					}
//					hanyoCdList.getDataBean(i).sendMessageString(CommonInfoCFConst.HANYO_NM_46, X31CWebConst.DATABEAN_SET_VALUE, hanyoNm);
//					// ANK-2841-00-00 訪販フロント改善(キャンペーン名称変更等) 2016.04.01 add end
//				}
//
//				for (int i = 0; i < hanyoCdCount; i++)
//				{
//					String hanyoDspCd = hanyoCdList.getDataBean(i).sendMessageString(CommonInfoCFConst.HANYO_DSP_CD_46, X31CWebConst.DATABEAN_GET_VALUE);
//					String hanyoNm = hanyoCdList.getDataBean(i).sendMessageString(CommonInfoCFConst.HANYO_NM_46, X31CWebConst.DATABEAN_GET_VALUE);
//					String hanyoKhFlg =
//							hanyoCdList.getDataBean(i).sendMessageString(CommonInfoCFConst.HANYO_KH_FLG_46, X31CWebConst.DATABEAN_GET_VALUE);
//
//					// 格納済みチェック
//					if(setZumiDspCpCdList.contains(hanyoDspCd))
//					{
//						continue;
//					}
//
//					// 適用可否コードチェック
//					if(psbDspCpCdList.contains(hanyoDspCd) && JFUStrConst.HANYO_KH_FLG_TEKIYO_FUKA.equals(hanyoKhFlg))
//					{
//						// 適用可能コードに存在する、かつ、適用不可コードの場合、次の繰り返し処理へ
//						continue;
//					}
//
//					// 表示するコードのみ設定
//					X31SDataBeanAccess newBean = bean.getDataBeanArray(FUW00926SFConst.OTHER_CMP_LIST).addDataBean();
//					// コード(表示用コード)をマッピング
//					newBean.sendMessageString(FUW00926SFConst.CD_03, X31CWebConst.DATABEAN_SET_VALUE, hanyoDspCd);
//					// 名称をマッピング
//					newBean.sendMessageString(FUW00926SFConst.NM_03, X31CWebConst.DATABEAN_SET_VALUE, hanyoNm);
//					// 適用可否をマッピング
//					newBean.sendMessageString(FUW00926SFConst.TEKIYO_KH_03, X31CWebConst.DATABEAN_SET_VALUE, hanyoKhFlg);
//
//					// 格納済みコードリストに格納
//					setZumiDspCpCdList.add(hanyoDspCd);
//				}
//			}
//		}
//		// 20120719 その他キャンペーン対応 END
// ANK-3473-00-00 DEL START

		// 2012/12/18「TAI-2012-0000136-133」料金シミュレーション同期通信化対応
		try
		{
			JFUWebCommon.ryokin(this);
		}
		catch (JCCWebServiceException jccexception)
		{
			throw new JCCBusinessException(JFUStrConst.ERROR_CODE_0002);
		}

		return true;
	}

	/**
	 * 料金シミュレーションを呼び出します。
	 * 
	 * @return true
	 * @throws Exception
	 */
	public boolean ryokin() throws Exception
	{
		// 料金シミュレーション共通部品を呼び出し
		JFUWebCommon.ryokin(this);

		return true;
	}

	/**
	 * 次へボタン押下時
	 * 
	 * @return boolean true(固定)
	 * @throws Exception
	 */
	public boolean next() throws Exception
	{
		// 共有フォームBean.その他情報を取得
		X31SDataBeanAccess elseInfoBean = JFUWebCommon.getDataBeanTypeByPath(getCommonInfoBean(), JFUWebCommon.ELSE_INFO);

		// AUスマートバリューコードを取得
		String auStartValueCd = elseInfoBean.sendMessageString(CommonInfoCFConst.AU_SMART_VALUE_CD_18, X31CWebConst.DATABEAN_GET_VALUE);

		// 保持しているAUスマートバリューコードがある場合
		if (null != auStartValueCd && auStartValueCd.length() > 0)
		{
			// 契約サービス情報
			X31SDataBeanAccess keiyakuSvcInfoBean = JFUWebCommon.getDataBeanTypeByPath(getCommonInfoBean(), JFUWebCommon.KEIYAKU_SVC_INFO);
			// ｅｏ光ネット
			X31SDataBeanAccess eonetBean = JFUWebCommon.getDataBeanTypeByPath(getCommonInfoBean(), JFUWebCommon.EONET);

			// eo光ネット.光ネットコースを取得
			String net_course = eonetBean.sendMessageString(CommonInfoCFConst.NET_COURSE_11, X31CWebConst.DATABEAN_GET_VALUE);

			// 契約サービス情報.選択サービス（電話）を取得
			String select_svc_tel = keiyakuSvcInfoBean.sendMessageString(CommonInfoCFConst.SELECT_SVC_TEL_10, X31CWebConst.DATABEAN_GET_VALUE);

			// 適用条件を満たしていない場合
			if (!((JFUStrConst.NET_COURSE_100M.equals(net_course) || JFUStrConst.NET_COURSE_200M.equals(net_course) || JFUStrConst.NET_COURSE_1G
					.equals(net_course)) && JFUStrConst.SELECT_SVC_CHOICE.equals(select_svc_tel)))
			{
				// 保持しているAUスマートバリューコードを引き継がない
				elseInfoBean.sendMessageString(CommonInfoCFConst.AU_SMART_VALUE_CD_18, X31CWebConst.DATABEAN_SET_VALUE, "");
			}
		}

		// 次画面IDの設定
		setNextScreen(JFUStrConst.SCREEN_MODE_DEF, JFUScreenConst.SCREEN_ID_FUW00921, JFUScreenConst.SCREEN_NAME_FUW00921);

		return true;
	}

	/**
	 * 内容を修正する（サービス）ボタン押下時
	 * 
	 * @return boolean true(固定)
	 * @throws Exception
	 */
	public boolean shuseiService() throws Exception
	{
		// No704 2013/04/26 Otsuka start
		// 選択情報をクリア
		this.clearService();
		// No704 2013/04/26 Otsuka end

		// 次画面IDの設定
		setNextScreen(JFUStrConst.SCREEN_MODE_KAKUNIN, JFUScreenConst.SCREEN_ID_FUW00911, JFUScreenConst.SCREEN_NAME_FUW00911);

		return true;
	}

	/**
	 * 内容を修正する（ネット）ボタン押下時
	 * 
	 * @return boolean true(固定)
	 * @throws Exception
	 */
	public boolean shuseiNet() throws Exception
	{
		// 次画面IDの設定
		setNextScreen(JFUStrConst.SCREEN_MODE_KAKUNIN, JFUScreenConst.SCREEN_ID_FUW00912, JFUScreenConst.SCREEN_NAME_FUW00912);

		return true;
	}

	/**
	 * 内容を修正する（電話）ボタン押下時
	 * 
	 * @return boolean true(固定)
	 * @throws Exception
	 */
	public boolean shuseiPhone() throws Exception
	{
		// 次画面IDの設定
		setNextScreen(JFUStrConst.SCREEN_MODE_KAKUNIN, JFUScreenConst.SCREEN_ID_FUW00913, JFUScreenConst.SCREEN_NAME_FUW00913);

		return true;
	}

	/**
	 * 内容を修正する（テレビ）ボタン押下時
	 * 
	 * @return boolean true(固定)
	 * @throws Exception
	 */
	public boolean shuseiTv() throws Exception
	{
		// 遷移先画面設定(通常遷移,住所情報入力（量販・訪販）)
		setNextScreen(JFUStrConst.SCREEN_MODE_KAKUNIN, JFUScreenConst.SCREEN_ID_FUW00914, JFUScreenConst.SCREEN_NAME_FUW00914);

		return true;
	}

	/**
	 * 内容を修正する（モバイル）ボタン押下時
	 * 
	 * @return boolean true(固定)
	 * @throws Exception
	 */
	public boolean shuseiMobile() throws Exception
	{
		// 次画面IDの設定
		setNextScreen(JFUStrConst.SCREEN_MODE_KAKUNIN, JFUScreenConst.SCREEN_ID_FUW00915, JFUScreenConst.SCREEN_NAME_FUW00915);

		return true;
	}

	/**
	 * 戻るボタン押下時
	 * 
	 * @return boolean true(固定)
	 * @throws Exception
	 */
	public boolean back() throws Exception
	{
		// 共有フォームBeanのデータBeanアクセスクラスを取得。
		X31SDataBeanAccess commoninfoBean = super.getCommonInfoBean();

		// 契約サービス情報
		X31SDataBeanAccess keiyakuSvcInfoBean = JFUWebCommon.getDataBeanTypeByPath(commoninfoBean, JFUWebCommon.KEIYAKU_SVC_INFO);

		// ｅｏモバイル
		X31SDataBeanAccess eomobileBean = JFUWebCommon.getDataBeanTypeByPath(commoninfoBean, JFUWebCommon.EOMOBILE);
		// ｅｏモバイル.モバイルコース
		String mobileCourse =
				null == eomobileBean ? "" : eomobileBean.sendMessageString(CommonInfoCFConst.MOBILE_COURSE_14, X31CWebConst.DATABEAN_GET_VALUE);

		if (!checkMiChoiceMobileCourse(mobileCourse))
		{
			setNextScreen(JFUStrConst.SCREEN_MODE_DEF, JFUScreenConst.SCREEN_ID_FUW00915, JFUScreenConst.SCREEN_NAME_FUW00915);
		}
		else if (JFUStrConst.SELECT_SVC_TV_CHOICE.equals(keiyakuSvcInfoBean.sendMessageString(CommonInfoCFConst.SELECT_SVC_TV_10,
				X31CWebConst.DATABEAN_GET_VALUE)))
		{
			setNextScreen(JFUStrConst.SCREEN_MODE_DEF, JFUScreenConst.SCREEN_ID_FUW00914, JFUScreenConst.SCREEN_NAME_FUW00914);
		}
		else if (JFUStrConst.SELECT_SVC_TEL_CHOICE.equals(keiyakuSvcInfoBean.sendMessageString(CommonInfoCFConst.SELECT_SVC_TEL_10,
				X31CWebConst.DATABEAN_GET_VALUE)))
		{
			setNextScreen(JFUStrConst.SCREEN_MODE_DEF, JFUScreenConst.SCREEN_ID_FUW00913, JFUScreenConst.SCREEN_NAME_FUW00913);
		}
		else if (JFUStrConst.SELECT_SVC_NET_CHOICE.equals(keiyakuSvcInfoBean.sendMessageString(CommonInfoCFConst.SELECT_SVC_NET_10,
				X31CWebConst.DATABEAN_GET_VALUE)))
		{
			setNextScreen(JFUStrConst.SCREEN_MODE_DEF, JFUScreenConst.SCREEN_ID_FUW00912, JFUScreenConst.SCREEN_NAME_FUW00912);
		}

		return true;
	}

	// No704 2013/04/26 Otsuka start
	/**
	 * 内容をクリアする（サービス）ボタン押下時
	 * 
	 * @throws Exception 例外
	 */
	private void clearService() throws Exception
	{
		// サービス情報のクリア
		X31SDataBeanAccess commoninfoBean = super.getCommonInfoBean();
		X31SDataBeanAccess ws = (commoninfoBean.getDataBeanArray(CommonInfoCFConst.WEB_NEW_INFO)).getDataBean(0);

		// ネット情報
		X31SDataBeanAccess eoNet = (ws.getDataBeanArray(CommonInfoCFConst.EONET)).getDataBean(0);
		eoNet.sendMessage(CommonInfoCFConst.NET_COURSE_11, X31CWebConst.DATABEAN_CLEAR); // コース クリア
		eoNet.sendMessage(CommonInfoCFConst.MODEM_PLAN_11, X31CWebConst.DATABEAN_CLEAR); // モデム クリア
		eoNet.sendMessage(CommonInfoCFConst.NET_SOKUWARI_11, X31CWebConst.DATABEAN_CLEAR); // 即割り クリア
		eoNet.sendMessage(CommonInfoCFConst.NET_KOSOKUWARI_11, X31CWebConst.DATABEAN_CLEAR); // 高速割 クリア
		eoNet.sendMessage(CommonInfoCFConst.NET_CHOWARI_11, X31CWebConst.DATABEAN_CLEAR); // 長割り クリア
		eoNet.sendMessage(CommonInfoCFConst.AUTO_KEIZOKU_11, X31CWebConst.DATABEAN_CLEAR); // 自動継続 クリア
		eoNet.sendMessage(CommonInfoCFConst.SVC_STA_KIBO_11, X31CWebConst.DATABEAN_CLEAR); // サービス開始希望日 クリア

		// 画面情報削除
		JCCWebCommon.setScreenInfo(this, JFUScreenConst.SCREEN_ID_FUW00106, null);

		// 電話情報
		X31SDataBeanAccessArray telArr = ws.getDataBeanArray(CommonInfoCFConst.EOTEL);
		X31SDataBeanAccess eoTel = telArr.getDataBean(0);
		if (eoTel != null)
		{
			ws.sendMessage(CommonInfoCFConst.TEL_COURSE_06, X31CWebConst.DATABEAN_CLEAR); // コース クリア
			eoTel.sendMessage(CommonInfoCFConst.USE_BMP_12, X31CWebConst.DATABEAN_CLEAR); // 番ポ クリア（1番号目）

			eoTel = telArr.getDataBean(1);
			if (eoTel != null)
			{
				eoTel.sendMessage(CommonInfoCFConst.USE_BMP_12, X31CWebConst.DATABEAN_CLEAR); // 番ポ クリア（2番号目）
			}
		}

		// テレビ情報
		X31SDataBeanAccess eotv = ws.getDataBeanArray(CommonInfoCFConst.EOTV).getDataBean(0);

		eotv.sendMessage(CommonInfoCFConst.EO_TV_COURSE_13, X31CWebConst.DATABEAN_CLEAR); // テレビコース（ｅｏ光テレビ入力）
		eotv.sendMessage(CommonInfoCFConst.STB_CNT_13, X31CWebConst.DATABEAN_CLEAR); // テレビチューナー台数
		eotv.sendMessage(CommonInfoCFConst.STB_HD1_13, X31CWebConst.DATABEAN_CLEAR); // テレビチューナー・種類（１）
		eotv.sendMessage(CommonInfoCFConst.STB_HD1_KIKI_13, X31CWebConst.DATABEAN_CLEAR); // テレビチューナー・機器（１）
		eotv.sendMessage(CommonInfoCFConst.STB_HD2_13, X31CWebConst.DATABEAN_CLEAR); //テレビチューナー・種類（２）
		eotv.sendMessage(CommonInfoCFConst.STB_HD2_KIKI_13, X31CWebConst.DATABEAN_CLEAR); //テレビチューナー・機器（２）
		eotv.sendMessage(CommonInfoCFConst.STB_HD3_13, X31CWebConst.DATABEAN_CLEAR); //テレビチューナー・種類（３）
		eotv.sendMessage(CommonInfoCFConst.STB_HD3_KIKI_13, X31CWebConst.DATABEAN_CLEAR); //テレビチューナー・機器（３）
		eotv.sendMessage(CommonInfoCFConst.STB_HD4_13, X31CWebConst.DATABEAN_CLEAR); //テレビチューナー・種類（４）
		eotv.sendMessage(CommonInfoCFConst.STB_HD4_KIKI_13, X31CWebConst.DATABEAN_CLEAR); //テレビチューナー・機器（４）
		eotv.sendMessage(CommonInfoCFConst.STB_HD5_13, X31CWebConst.DATABEAN_CLEAR); //テレビチューナー・種類（５）
		eotv.sendMessage(CommonInfoCFConst.STB_HD5_KIKI_13, X31CWebConst.DATABEAN_CLEAR); //テレビチューナー・機器（５）
		eotv.sendMessage(CommonInfoCFConst.TV_COURSE_13, X31CWebConst.DATABEAN_CLEAR); //テレビコース
		eotv.sendMessage(CommonInfoCFConst.STB_HD1_NM_13, X31CWebConst.DATABEAN_CLEAR); //テレビチューナー名称1
		eotv.sendMessage(CommonInfoCFConst.STB_HD2_NM_13, X31CWebConst.DATABEAN_CLEAR); //テレビチューナー名称2
		eotv.sendMessage(CommonInfoCFConst.STB_HD3_NM_13, X31CWebConst.DATABEAN_CLEAR); //テレビチューナー名称3
		eotv.sendMessage(CommonInfoCFConst.STB_HD4_NM_13, X31CWebConst.DATABEAN_CLEAR); //テレビチューナー名称4
		eotv.sendMessage(CommonInfoCFConst.STB_HD5_NM_13, X31CWebConst.DATABEAN_CLEAR); //テレビチューナー名称5

// ANK-3296-00-00 ADD START
		// 標準工事費のお支払い方法
		ws.sendMessage(CommonInfoCFConst.STDARD_KOJIHI_PAYWAY_06, X31CWebConst.DATABEAN_CLEAR);
// ANK-3296-00-00 ADD END

		// 画面情報削除
		JCCWebCommon.setScreenInfo(this, JFUScreenConst.SCREEN_ID_FUW00108, null);

		// モバイル
		X31SDataBeanAccess eomobile = ws.getDataBeanArray(CommonInfoCFConst.EOMOBILE).getDataBean(0);

		// モバイルコース
		String mobileCourse = eomobile.sendMessageString(CommonInfoCFConst.MOBILE_COURSE_14, X31CWebConst.DATABEAN_GET_VALUE);

		if (JFUStrConst.MOBILE_COURSE_3G_7_2M.equals(mobileCourse) || JFUStrConst.MOBILE_COURSE_3G_21M.equals(mobileCourse)
				|| JFUStrConst.MOBILE_COURSE_3G_21M_HHB.equals(mobileCourse))
		{
			// 3Gの場合、未設定を設定
			eomobile.sendMessageString(CommonInfoCFConst.MOBILE_COURSE_14, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.MOBILE_COURSE_3G_UNDECIDED);
		}

		eomobile.sendMessage(CommonInfoCFConst.MOBILE_KIKI_14, X31CWebConst.DATABEAN_CLEAR); // 通信機器タイプ クリア

		// 画面遷移モード	"0"(通常遷移)
		ws.sendMessageString(CommonInfoCFConst.SCREEN_MODE_06, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.SCREEN_MODE_DEF);
	}

	// No704 2013/04/26 Otsuka end

	/**
	 * 遷移先設定
	 * @param screenMode 画面遷移モード
	 * @param nextScreenId 画面ID
	 * @param nextScreenName 画面名
	 */
	private void setNextScreen(String screenMode, String nextScreenId, String nextScreenName)
	{
		X31SDataBeanAccess commoninfoBean = super.getCommonInfoBean();
		X31SDataBeanAccessArray arr = commoninfoBean.getDataBeanArray(CommonInfoCFConst.WEB_NEW_INFO);
		X31SDataBeanAccess ws = arr.getDataBean(0);

		ws.sendMessageString(CommonInfoCFConst.SCREEN_MODE_06, X31CWebConst.DATABEAN_SET_VALUE, screenMode);
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, nextScreenId);
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, nextScreenName);
	}

	/**
	 * 料金エリア表示チェック<BR>
	 * 
	 * @param keiyakuSvcInfoBean 契約サービス情報
	 * @param teikakakuMansion 低価格マンション
	 * @param tvCourse テレビコース
	 * @param mobileCourse モバイルコース
	 * @param mskmMnsType 申込マンションタイプ
	 * @return チェック結果(true:料金エリアを表示する、false:料金エリアを表示しない)
	 */
	private boolean chkPrcAreaDsp(X31SDataBeanAccess keiyakuSvcInfoBean, String teikakakuMansion, String tvCourse, String mobileCourse,
			String mskmMnsType)
	{
		// チェック結果
		boolean chkPrcAreaDspResult = false;

		// 表示チェック
		if (JFUStrConst.MSKM_MNS_TYPE_MEZON.equals(mskmMnsType))
		{
			chkPrcAreaDspResult = true;
		}

		// 契約サービス情報.選択サービス（ネット）
		String selectSvcNet = keiyakuSvcInfoBean.sendMessageString(CommonInfoCFConst.SELECT_SVC_NET_10, X31CWebConst.DATABEAN_GET_VALUE);
		// 契約サービス情報.選択サービス（電話）
		String selectSvcTel = keiyakuSvcInfoBean.sendMessageString(CommonInfoCFConst.SELECT_SVC_TEL_10, X31CWebConst.DATABEAN_GET_VALUE);
		// 契約サービス情報.選択サービス（テレビ）
		String selectSvcTv = keiyakuSvcInfoBean.sendMessageString(CommonInfoCFConst.SELECT_SVC_TV_10, X31CWebConst.DATABEAN_GET_VALUE);

		if (JFUStrConst.SELECT_SVC_NET_CHOICE.equals(selectSvcNet))
		{
			// 契約サービス情報 選択サービス（ネット）が「1」(選択)の場合
			chkPrcAreaDspResult = true;
		}
		else if (JFUStrConst.SELECT_SVC_TEL_CHOICE.equals(selectSvcTel))
		{
			// 契約サービス情報 選択サービス（電話）が「1」(選択)の場合
			chkPrcAreaDspResult = true;
		}
		else if (!checkMiChoiceMobileCourse(mobileCourse))
		{
			// モバイルコースが選択されている場合
			chkPrcAreaDspResult = true;
		}
		else if (JFUStrConst.SELECT_SVC_TV_CHOICE.equals(selectSvcTv))
		{
			// 契約サービス情報 選択サービス（テレビ）が「1」(選択)の場合
			// かつ、共有フォームBean.ｅｏ光テレビ.テレビコースが「1」(K-CAT)の場合
			chkPrcAreaDspResult = true;
		}

		return chkPrcAreaDspResult;
	}

	/**
	 * Null又は空文字かどうかを判定する。 <BR>
	 * 
	 * @param value
	 * @return （true:null、または空文字、false:null、または空文字以外）
	 */
	private boolean isNullOrEmpty(String value)
	{
		return null == value || "".equals(value) || "null".equals(value);
	}

	/**
	 * モバイルコースが選択されているかどうかを判定する。 <BR>
	 * 
	 * @param mobileCourse
	 * @return （true:選択されていない、false:選択されている）
	 */
	private boolean checkMiChoiceMobileCourse(String mobileCourse)
	{
		return isNullOrEmpty(mobileCourse) || JFUStrConst.MOBILE_COURSE_NON.equals(mobileCourse)
				|| JFUStrConst.MOBILE_COURSE_3G_UNDECIDED.equals(mobileCourse);
	}

	/**
	 * 通信端末を非表示するかどうかを判定する。 <BR>
	 * 
	 * @param mobileCourse モバイルコース
	 * @param redWimaxrom WIMAXROM
	 * @return （true:非表示、false:表示）
	 */
	private boolean checkHiDspTsushinTnmt(String mobileCourse, String redWimaxrom)
	{

//		// チェック結果
//		boolean checkHiDspTsushinTnmtResult = false;
//		if (JFUStrConst.MOBILE_COURSE_WIFI.equals(mobileCourse))
//		{
//			// モバイルコースが「1:モバイルコース WiFi」の場合
//			// 非表示
//			checkHiDspTsushinTnmtResult = true;
//		}
//		else if (JFUStrConst.MOBILE_COURSE_3G_21M.equals(mobileCourse))
//		{
//			// モバイルコースが「4:モバイルコース 3G（21M）」の場合
//			// 非表示
//			checkHiDspTsushinTnmtResult = true;
//		}
//		else if (JFUStrConst.MOBILE_COURSE_3G_HHB.equals(mobileCourse) || JFUStrConst.MOBILE_COURSE_3G_42M_HHB.equals(mobileCourse))
//		{
//			// ｅｏモバイル.モバイルコースが「6:モバイルコース 3G 7.2M 光ハイブリッド 」または6:モバイルコース 3G 42M 光ハイブリッド 」の場合
//			// 非表示
//			checkHiDspTsushinTnmtResult = true;
//		}
//		//【ANK-1526-00-00】7.2Mルータ枯渇対応、【ANK-1527-00-00】21MUSB提供終了対応 >>>
//		else if (JFUStrConst.MOBILE_COURSE_3G_7_2M.equals(mobileCourse))
//		{
//			// モバイルコースが「7:モバイルコース 3G（7.2M）」の場合
//			// 非表示
//			checkHiDspTsushinTnmtResult = true;
//		}
//		//【ANK-1526-00-00】7.2Mルータ枯渇対応、【ANK-1527-00-00】21MUSB提供終了対応 <<<E

		// チェック結果
		boolean checkHiDspTsushinTnmtResult = true;
		if (JFUStrConst.MOBILE_COURSE_WIMAX.equals(mobileCourse) && JFUStrConst.WIMAXROM_BLACK.equals(redWimaxrom))
		{
			// ｅｏモバイル.モバイルコースが「5:モバイルコース WiMAX」で、かつ、リダイレクト情報.WiMAXROMが「1:黒ロム」の場合
			// 表示
			checkHiDspTsushinTnmtResult = false;
		}
		//【ANK-1526-00-00】7.2Mルータ枯渇対応、【ANK-1527-00-00】21MUSB提供終了対応 <<<E
		
		return checkHiDspTsushinTnmtResult;
	}

	/**
	 * 引数として渡された文字列を結合して返却する。 <BR>
	 * 
	 * @param strArray
	 * @return 結合後文字列
	 */
	private String joinString(String... strArray)
	{
		StringBuffer sb = new StringBuffer();
		for (String str : strArray)
		{
			sb.append(str);
		}
		return sb.toString();
	}

	/**
	 * その他キャンペーン情報照会サービスを呼び出す。
	 * @throws Exception 
	 */
	private void callFUSV0247Service() throws Exception
	{
		// サービス呼出
		// サービスIDをparamにセット
		Map<String, String> paramMap = new HashMap<String, String>();
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, USECASE_ID_FUSV0247);

		// input
		HashMap<String, Object> inputMap = new HashMap<String, Object>();

		// DataBean-BPマッピング
		FUSV0247_FUSV0247OPDBMapper mapper = new FUSV0247_FUSV0247OPDBMapper();
		X31SDataBeanAccess[] paramBean = { getServiceFormBean(), getCommonInfoBean() };

		// その他キャンペーン情報照会CC上りマッピング
		mapper.setFUSV024701CC(paramBean, inputMap);

		// output
		HashMap<String, Object> outputMap = new HashMap<String, Object>();

		try
		{
			// サービス呼び出し
			invokeService(paramMap, inputMap, outputMap);
		}
		catch (JCCWebServiceException se)
		{
			// システムエラー
			throw new JCCBusinessException(JFUStrConst.ERROR_CODE_0002);
		}

		// その他キャンペーン情報照会CC下りマッピング
		mapper.getFUSV024701CC(getCommonInfoBean(), outputMap);
	}
	
}