/*********************************************************************
 * All Rights reserved,Copyright (c) K-Opticom
 **********************************************************************
 *＜プログラム内容＞
 *   システム名      ：eo顧客基幹システム
 *   モジュール名    ：サービス選択内容確認
 *   ソースファイル名：FUW00109SFLogic.java
 *   作成者          ：富士通
 *   日付            ：2011年04月01日
 *＜機能概要＞
 *  オプション選択内容確認画面の制御を行います。
 *＜修正履歴＞
 *   バージョン  修正日       修正者      修正内容
 *   v1.00.00    2011/04/01   FJ）岩井    新規作成
 *   v3.00.00    2012/04/17   FJ）大野    料金シミュレーション対応
 *   v3.00.00    2012/09/26   FJ）大串    「案件番号： ANK-1197-00-00」【新規系申込画面の提供条件・利用規約の設置位置について】
 *   v4.00.00    2012/11/13   FJ) 岩元    「IT2-2012-0001695」WiFi即時開通対応
 *   v4.01.00    2012/11/21   FJ) 齋藤    「IT1-367」eo光電話の申込内容表示改善
 *   v4.02.00    2012/11/22   FJ) 大塚    「IT2-2012-0001790」
 *   v4.03.00    2012/12/11   FJ) 長沢    「TAI-2012-0000136-102」規約・約款確認画面の戻るボタン表示対応
 *   v4.04.00    2012/12/18   FJ) 山下    「TAI-2012-0000136-133」料金シミュレーション同期通信化対応
 *   v4.05.00    2013/03/14   FJ) 藤原    「No.469」選択中サービス未選択対応
 *   v5.00.00    2013/04/08   FJ) 岡井    【No.595】マンション時に即割・長割・自動継続項目を非表示にする対応
 *   v5.01.00    2013/04/27   FJ) 大塚    【No.704】 内容を修正する（サービス）ボタン押下時共有フォームBean削除対応
 *   v5.02.00    2013/05/15   FJ）大村    【ANK-1526-00-00】7.2Mルータ枯渇対応、【ANK-1527-00-00】21MUSB提供終了対応
 *   v5.03.00    2013/06/10   FJ）知識    【ANK-1534-00-00】eoモバイル42Mエリア縮小対応
 *   v36.00.00   2017/12/07   FJ) 杉本    【ANK-3296-00-00】標準工事費分割請求
 *   v40.00      2018/09/07   FJ）張本    【ANK-3412-00-00】５ギガ・１０ギガコース導入対応
 *   v40.00.00   2019/01/09   FJ) 西川    【ANK-3412-03-00】５ギガ・１０ギガコース導入対応(特約プログラム対応)
 **********************************************************************/
package eo.web.webview.FUW00109SF;

import static com.fujitsu.futurity.web.x31.X31SWebLog.DEBUG_LOG;

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.JFUScreenConst;
import eo.web.webview.common.JFUWebCommon;

/**
 * FUW00109_サービス選択内容確認画面ビューロジック
 * <br>
 * @author 富士通
 */
@SuppressWarnings("serial")
public class FUW00109SFLogic extends JCCWebBusinessLogic
{

	/** プロパティファイル取得文字列 */
	private static final String QUERY_DISPTEXT_PATH = "DISPSETTING/SETTING[@screenId='FUW00109']/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_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 FLG_DSP = "1";
	/** 各種フラグ:非表示 */
	private static final String FLG_HIDSP = "0";

	/** プロパティからの取得キー(ｅｏ光電話コース) */

	/* 2012/11/21 TAI-2012-0000136-15(IT1-367) Y.Saitou MOD-START */
	//private static final String KEY_TEL_COURSE_KMK_STR = "TEL_COURSE_KMK_STR";
	private static final String KEY_TEL_COURSE_KMK_STR_1 = "TEL_COURSE_KMK_STR_1";
	private static final String KEY_TEL_COURSE_KMK_STR_2 = "TEL_COURSE_KMK_STR_2";
	/* 2012/11/21 TAI-2012-0000136-15(IT1-367) Y.Saitou MOD-END */

	/** プロパティからの取得キー(台目：) */
	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 = ",";

	/** サービス再選択フラグ 1(再選択) */
	private static final String SVC_RECHOICE_1 = "1";

	/** ＰＡＳＣＯ情報/マンション情報　光テレビ申込可能フラグ　0(申込不可能) */
	private static final String TV_MSKM_PSB_FLG_KCAT = "0";

	/** ＰＡＳＣＯ情報/マンション情報　光電話申込可能フラグ　2(申込不可能) */
	private static final String TEL_MSKM_PSB_FLG_MSKM_PSB = "2";

	/* 2012/12/11 TAI-2012-0000136-102(IT1-441) R.Nagasawa ADD-START */
	/** リダイレクト情報/選択可能サービス確認結果フラグ　1(選択不可サービスあり) */
	private static final String SELECT_SVC_RESULT_FLG_NG = "1";
	/** リダイレクト情報/選択可能サービス確認結果フラグ　0(全て選択可能) */
	private static final String SELECT_SVC_RESULT_FLG_OK = "0";

	/* 2012/12/11 TAI-2012-0000136-102(IT1-441) R.Nagasawa  ADD-END */
// 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

	/**
	 * 初期表示処理
	 * 
	 * @return boolean true(固定)
	 * @throws Exception
	 */
	public boolean init() throws Exception
	{

		// デバッグ用ログ出力
		DEBUG_LOG.info("----- init_FUW00109SFLogic Start -----");

		// プロパティを取得
		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(FUW00109SFConst.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(FUW00109SFConst.DSP_CHUKI_FLG, X31CWebConst.DATABEAN_SET_VALUE, true);
			}
			// 追加工事制御フラグ
			bean.sendMessageBoolean(FUW00109SFConst.DSP_KOJI_FLG, X31CWebConst.DATABEAN_SET_VALUE, true);

			// ｅｏ光ネット 光ネットコース
			String netCourse = eonetBean.sendMessageString(CommonInfoCFConst.NET_COURSE_11, X31CWebConst.DATABEAN_GET_VALUE);
			// ＷＥＢ新規情報 申込回線サービス
			String mskmKsnSvc = webNewInfoBean.sendMessageString(CommonInfoCFConst.MSKM_KSN_SVC_06, X31CWebConst.DATABEAN_GET_VALUE);

			// 共有フォームBean.ｅｏ光ネット.光ネットコースが「4: 100Mライトコース」の場合
			if (JFUStrConst.NET_COURSE_100M_LIGHT.equals(netCourse))
			{
				// １００Ｍライト注記制御フラグ
				bean.sendMessageBoolean(FUW00109SFConst.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(FUW00109SFConst.NET_TYPE, X31CWebConst.DATABEAN_SET_VALUE, fuDispDefinitionMap.get(joinString(KEY_NET_TYPE_NM,
						mdmPln)));
				// 各表示フラグ
				bean.sendMessageString(FUW00109SFConst.NET_TYPE_DSP_FLG, X31CWebConst.DATABEAN_SET_VALUE, FLG_DSP);
			}
			else
			{
				// ｅｏ光ネットコース
				bean.sendMessageString(FUW00109SFConst.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(FUW00109SFConst.NET_COURSE_DSP_FLG, X31CWebConst.DATABEAN_SET_VALUE, FLG_DSP);
				bean.sendMessageString(FUW00109SFConst.NET_TYPE_DSP_FLG, X31CWebConst.DATABEAN_SET_VALUE, FLG_HIDSP);
			}

			// 即割表示フラグ
			if (JFUStrConst.MSKM_MNS_TYPE_MANSION.equals(mskmMnsType))
			{
				bean.sendMessageString(FUW00109SFConst.SOKUWARI_DSP_FLG, X31CWebConst.DATABEAN_SET_VALUE, FLG_HIDSP);
			}
			else
			{
				String skWri = eonetBean.sendMessageString(CommonInfoCFConst.NET_SOKUWARI_11, X31CWebConst.DATABEAN_GET_VALUE);
				if (skWri.length() > 0)
				{
					bean.sendMessageString(FUW00109SFConst.SOKUWARI, X31CWebConst.DATABEAN_SET_VALUE, fuDispDefinitionMap.get(joinString(
							KEY_MSKM_CHOICE_STR, eonetBean.sendMessageString(CommonInfoCFConst.NET_SOKUWARI_11, X31CWebConst.DATABEAN_GET_VALUE))));
					bean.sendMessageString(FUW00109SFConst.SOKUWARI_DSP_FLG, X31CWebConst.DATABEAN_SET_VALUE, FLG_DSP);
				}
			}

			// 高速割表示フラグ
			if (JFUStrConst.MSKM_MNS_TYPE_MANSION.equals(mskmMnsType))
			{
				bean.sendMessageString(FUW00109SFConst.DSP_KOSOKUWARI, X31CWebConst.DATABEAN_SET_VALUE, FLG_HIDSP);
			}
			else
			{
				String kskWri = eonetBean.sendMessageString(CommonInfoCFConst.NET_KOSOKUWARI_11, X31CWebConst.DATABEAN_GET_VALUE);
				if (kskWri.length() > 0)
				{
					bean.sendMessageString(FUW00109SFConst.KOSOKUWARI, X31CWebConst.DATABEAN_SET_VALUE, fuDispDefinitionMap.get(joinString(
							KEY_MSKM_CHOICE_STR, eonetBean.sendMessageString(CommonInfoCFConst.NET_KOSOKUWARI_11, X31CWebConst.DATABEAN_GET_VALUE))));
					bean.sendMessageString(FUW00109SFConst.DSP_KOSOKUWARI, X31CWebConst.DATABEAN_SET_VALUE, FLG_DSP);
				}
			}

			//長割対応
			if (JFUStrConst.MSKM_MNS_TYPE_MANSION.equals(mskmMnsType))
			{
				// マンションタイプの場合、表示しない
				bean.sendMessageString(FUW00109SFConst.CHOWARI_DSP_FLG, X31CWebConst.DATABEAN_SET_VALUE, FLG_HIDSP);
			}
			else
			{
				String tyoWri = eonetBean.sendMessageString(CommonInfoCFConst.NET_CHOWARI_11, X31CWebConst.DATABEAN_GET_VALUE);
				if (tyoWri.length() > 0)
				{
					bean.sendMessageString(FUW00109SFConst.CHOWARI, X31CWebConst.DATABEAN_SET_VALUE, fuDispDefinitionMap.get(joinString(
							KEY_MSKM_CHOICE_STR, eonetBean.sendMessageString(CommonInfoCFConst.NET_CHOWARI_11, X31CWebConst.DATABEAN_GET_VALUE))));
					bean.sendMessageString(FUW00109SFConst.CHOWARI_DSP_FLG, X31CWebConst.DATABEAN_SET_VALUE, FLG_DSP);
				}
			}
			//長割対応ここまで

			//自動継続
			if (JFUStrConst.MSKM_MNS_TYPE_MANSION.equals(mskmMnsType))
			{
				// マンションタイプの場合、表示しない
				bean.sendMessageString(FUW00109SFConst.AUTO_KZ_DSP_FLG, X31CWebConst.DATABEAN_SET_VALUE, FLG_HIDSP);
			}
			else
			{
				String jidoKei = eonetBean.sendMessageString(CommonInfoCFConst.AUTO_KEIZOKU_11, X31CWebConst.DATABEAN_GET_VALUE);
				if (jidoKei.length() > 0)
				{
					bean.sendMessageString(FUW00109SFConst.AUTO_KZ, X31CWebConst.DATABEAN_SET_VALUE, fuDispDefinitionMap.get(joinString(
							KEY_MSKM_CHOICE_STR, eonetBean.sendMessageString(CommonInfoCFConst.AUTO_KEIZOKU_11, X31CWebConst.DATABEAN_GET_VALUE))));
					bean.sendMessageString(FUW00109SFConst.AUTO_KZ_DSP_FLG, 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)))
			{

				String[] homeInfo = fuDispDefinitionMap.get(KEY_NET_MSKM_NAIYO_HOME).split(SPLIT_STR);

				// ネット申込内容ＩＤ
				bean.sendMessageString(FUW00109SFConst.NET_MSKM_NAIYO_ID, X31CWebConst.DATABEAN_SET_VALUE, homeInfo[0]);

				// ネット申込内容名
				bean.sendMessageString(FUW00109SFConst.NET_MSKM_NAIYO_NM, X31CWebConst.DATABEAN_SET_VALUE, homeInfo[1]);
			}
			else
			{

				if (JFUStrConst.MSKM_MNS_TYPE_MANSION.equals(mskmMnsType))
				{

					// 共有フォームBean.申込マンションタイプが「1」(マンション)の場合
					String[] mansionInfo = fuDispDefinitionMap.get(KEY_NET_MSKM_NAIYO_MANSION).split(",");

					// ネット申込内容ＩＤ
					bean.sendMessageString(FUW00109SFConst.NET_MSKM_NAIYO_ID, X31CWebConst.DATABEAN_SET_VALUE, mansionInfo[0]);

					// ネット申込内容名
					bean.sendMessageString(FUW00109SFConst.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(FUW00109SFConst.NET_MSKM_NAIYO_ID, X31CWebConst.DATABEAN_SET_VALUE, maisonInfo[0]);

					// ネット申込内容名
					bean.sendMessageString(FUW00109SFConst.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(FUW00109SFConst.NET_STDARD_KOJIHI_PAYWAY_DSP_FLG, X31CWebConst.DATABEAN_SET_VALUE, FLG_HIDSP);
			}
			else
			{
				// ＷＥＢ新規情報.申込区分（種別）が"1"（新規申込）かつ 契約サービス情報.選択サービス(ネット)が"1"(選択)の場合
				if ((JFUStrConst.MSKM_KBN_NEW.equals(webNewInfoBean.sendMessageString(CommonInfoCFConst.MSKM_KBN_06, X31CWebConst.DATABEAN_GET_VALUE)) &&
						JFUStrConst.SELECT_SVC_NET_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(FUW00109SFConst.NET_STDARD_KOJIHI_PAYWAY, X31CWebConst.DATABEAN_SET_VALUE, JFUWebCommon.getDispText(
							JFUScreenConst.SCREEN_ID_FUW00109, STDARD_KOJIHI_PAYWAY_BUNKATSU));
						// サービスフォームBean. 標準工事費お支払い方法(ネット)表示フラグを設定する。
						bean.sendMessageString(FUW00109SFConst.NET_STDARD_KOJIHI_PAYWAY_DSP_FLG, X31CWebConst.DATABEAN_SET_VALUE, FLG_DSP);
					
					}
					else if (JFUStrConst.STDARD_KOJIHI_PAYWAY_IKT.equals(webNewInfoBean.sendMessageString(CommonInfoCFConst.STDARD_KOJIHI_PAYWAY_06, X31CWebConst.DATABEAN_GET_VALUE)))
					{
						// サービスフォームBean. 標準工事費お支払い方法(ネット)を設定する。
						bean.sendMessageString(FUW00109SFConst.NET_STDARD_KOJIHI_PAYWAY, X31CWebConst.DATABEAN_SET_VALUE, JFUWebCommon.getDispText(
							JFUScreenConst.SCREEN_ID_FUW00109, STDARD_KOJIHI_PAYWAY_IKT));
						// サービスフォームBean. 標準工事費お支払い方法(ネット)表示フラグを設定する。
						bean.sendMessageString(FUW00109SFConst.NET_STDARD_KOJIHI_PAYWAY_DSP_FLG, X31CWebConst.DATABEAN_SET_VALUE, FLG_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(FUW00109SFConst.TEL_COURSE, X31CWebConst.DATABEAN_SET_VALUE, joinString(telCourse, fuDispDefinitionMap
					.get(KEY_TEL_COURSE_STR)));

			// 番号ポータビリティ利用リスト取得
			X31SDataBeanAccessArray useBmpList = bean.getDataBeanArray(FUW00109SFConst.USE_BMP_LIST);

			int telCourseCnt = isNullOrEmpty(telCourse) ? 0 : Integer.parseInt(telCourse);
			for (int i = 0; i < telCourseCnt; i++)
			{

				X31SDataBeanAccess useBmpBean = useBmpList.addDataBean();

				/* 2012/11/21 TAI-2012-0000136-15(IT1-367) Y.Saitou MOD-START */
				// 番号ポータビリティ利用サービス項目名
				String telCourseKmkStr =
						joinString(fuDispDefinitionMap.get(KEY_TEL_COURSE_KMK_STR_1), String.format("%1$2d", i + 1), fuDispDefinitionMap
								.get(KEY_TEL_COURSE_KMK_STR_2));
				useBmpBean.sendMessageString(FUW00109SFConst.USE_BMP_SVC_KMK_NM_01, X31CWebConst.DATABEAN_SET_VALUE, telCourseKmkStr);
				/* 2012/11/21 TAI-2012-0000136-15(IT1-367) Y.Saitou MOD-END */

				X31SDataBeanAccess eotelBean = eoTelArray.getDataBean(i);
				// 番号ポータビリティ利用有無
				useBmpBean
						.sendMessageString(FUW00109SFConst.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(FUW00109SFConst.TEL_STDARD_KOJIHI_PAYWAY_DSP_FLG, X31CWebConst.DATABEAN_SET_VALUE, FLG_HIDSP);
			}
			else
			{
				// ＷＥＢ新規情報.申込区分（種別）が"1"（新規申込）かつ 契約サービス情報.選択サービス(電話)が"1"(選択)かつ
				// 契約サービス情報.選択サービス(ネット)が"0"(未選択) の場合
				if ((JFUStrConst.MSKM_KBN_NEW.equals(webNewInfoBean.sendMessageString(CommonInfoCFConst.MSKM_KBN_06, X31CWebConst.DATABEAN_GET_VALUE)) &&
						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(FUW00109SFConst.TEL_STDARD_KOJIHI_PAYWAY, X31CWebConst.DATABEAN_SET_VALUE, JFUWebCommon.getDispText(
							JFUScreenConst.SCREEN_ID_FUW00109, STDARD_KOJIHI_PAYWAY_BUNKATSU));
						// サービスフォームBean. 標準工事費お支払い方法(電話)表示フラグを設定する。
						bean.sendMessageString(FUW00109SFConst.TEL_STDARD_KOJIHI_PAYWAY_DSP_FLG, X31CWebConst.DATABEAN_SET_VALUE, FLG_DSP);
					
					}
					else if (JFUStrConst.STDARD_KOJIHI_PAYWAY_IKT.equals(webNewInfoBean.sendMessageString(CommonInfoCFConst.STDARD_KOJIHI_PAYWAY_06, X31CWebConst.DATABEAN_GET_VALUE)))
					{
						// サービスフォームBean. 標準工事費お支払い方法(電話)を設定する。
						bean.sendMessageString(FUW00109SFConst.TEL_STDARD_KOJIHI_PAYWAY, X31CWebConst.DATABEAN_SET_VALUE, JFUWebCommon.getDispText(
							JFUScreenConst.SCREEN_ID_FUW00109, STDARD_KOJIHI_PAYWAY_IKT));
						// サービスフォームBean. 標準工事費お支払い方法(電話)表示フラグを設定する。
						bean.sendMessageString(FUW00109SFConst.TEL_STDARD_KOJIHI_PAYWAY_DSP_FLG, X31CWebConst.DATABEAN_SET_VALUE, FLG_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(FUW00109SFConst.TV_SVC, X31CWebConst.DATABEAN_SET_VALUE, fuDispDefinitionMap.get(joinString(KEY_TV_SVC_NM,
					eotvBean.sendMessageString(CommonInfoCFConst.TV_COURSE_13, X31CWebConst.DATABEAN_GET_VALUE))));

			boolean kcnGaiflg = !JFUStrConst.TV_COURSE_KCN.equals(tvCourse);

			// 共有フォームBean.ｅｏ光テレビ が「2」(テレビコース KCN)以外の場合
			if (kcnGaiflg)
			{
				// ｅｏ光テレビコース
				bean.sendMessageString(FUW00109SFConst.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(FUW00109SFConst.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(FUW00109SFConst.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);

				// 共有フォームBean.ｅｏ光テレビ が「2」(テレビコース KCN)以外の場合
				if (kcnGaiflg)
				{

					// ｅｏ光テレビチューナーコース
					String stbHdKey = STB_HD_FIELD_STR.replace(REPLACE_STR, divCnt);
					String stbHdField = (String)CommonInfoCFConst.class.getDeclaredField(stbHdKey).get(null);
					tvStbInfoBean.sendMessageString(FUW00109SFConst.TV_STB_COURSE_02, X31CWebConst.DATABEAN_SET_VALUE, fuDispDefinitionMap
							.get(joinString(KEY_STB_HD_NM, eotvBean.sendMessageString(stbHdField, X31CWebConst.DATABEAN_GET_VALUE))));

					// ｅｏ光テレビチューナー録画機能有無
					// 括弧有り
					tvStbInfoBean.sendMessageString(FUW00109SFConst.TV_STB_REC_KINO_UM_02, X31CWebConst.DATABEAN_SET_VALUE, joinString(
							LEFT_PARENTHESIS, eotvBean.sendMessageString(stbHdNmField, X31CWebConst.DATABEAN_GET_VALUE), RIGHT_PARENTHESIS));
				}
				else
				{
					// ｅｏ光テレビチューナー録画機能有無
					// 括弧無し
					tvStbInfoBean.sendMessageString(FUW00109SFConst.TV_STB_REC_KINO_UM_02, X31CWebConst.DATABEAN_SET_VALUE, eotvBean
							.sendMessageString(stbHdNmField, X31CWebConst.DATABEAN_GET_VALUE));
				}
			}
		}

		// ｅｏモバイル.モバイルコース
		if (!checkMiChoiceMobileCourse(mobileCourse))
		{

			// ●モバイルコース
			bean.sendMessageString(FUW00109SFConst.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(FUW00109SFConst.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(FUW00109SFConst.TSUSHIN_TNMT_DSP_FLG, X31CWebConst.DATABEAN_SET_VALUE, checkHiDspTsushinTnmt(mobileCourse,
							redWimaxrom) ? FLG_HIDSP : FLG_DSP);

			// 通信端末表示フラグが表示の場合
			if (FLG_DSP.equals(tsushinTnmtDspFlg))
			{
				// ●ｅｏモバイル通信端末
				bean.sendMessageString(FUW00109SFConst.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/22 Otsuka
		// ●遷移タイトル名 
		bean.sendMessageString(FUW00109SFConst.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(FUW00109SFConst.DIALOG_DSP_FLG, X31CWebConst.DATABEAN_SET_VALUE, FLG_HIDSP);

		}
		else
		{

			if (JFUStrConst.MSKM_MNS_TYPE_MANSION.equals(mskmMnsType))
			{
				// ダイアログ表示フラグ
				bean.sendMessageString(FUW00109SFConst.DIALOG_DSP_FLG, X31CWebConst.DATABEAN_SET_VALUE, FLG_DSP);

			}
			else if (JFUStrConst.MSKM_MNS_TYPE_MEZON.equals(mskmMnsType))
			{
				// ダイアログ表示フラグ
				bean.sendMessageString(FUW00109SFConst.DIALOG_DSP_FLG, X31CWebConst.DATABEAN_SET_VALUE, FLG_HIDSP);
			}
		}
// ANK-3715-00-00 ADD START
		//=====================================================================
		// 運用日付の設定
		//=====================================================================
		// 共通フォームBean.フロント共有情報
		X31SDataBeanAccess frontInfo = commoninfoBean.getDataBeanArray(CommonInfoCFConst.FRONT_COMMON_INFO).getDataBean(0);
		// フロント共有情報.フロント運用日付を設定します。
		frontInfo.sendMessageString(CommonInfoCFConst.FU_OPEDATE_05, X31CWebConst.DATABEAN_SET_VALUE, JFUWebCommon.getOpeDate(this, null));
// ANK-3715-00-00 ADD END
		// 2012/12/18 TAI-料金シミュレーション　同期処理化対応
		try
		{
			JFUWebCommon.ryokin(this);
		}
		catch (JCCWebServiceException jccexception)
		{
			throw new JCCBusinessException(JFUStrConst.ERROR_CODE_0002);
		}

		// 申込受付実績登録部品実行
		JFUWebCommon.executeWebMskmUkJskAdd(this);

		return true;
	}

	/**
	 * 次へボタン押下時
	 * 
	 * @return boolean true(固定)
	 * @throws Exception
	 */
	public boolean next() throws Exception
	{

		DEBUG_LOG.info("----- next_FUW00109 Start -----");

		// WiFiセット申し込み対応 2012/11/06 h.iwamoto START
		String mobileCourse = "";

		X31SDataBeanAccess commoninfoBean = super.getCommonInfoBean();
		// ＷＥＢ新規情報
		X31SDataBeanAccessArray beanNewArr = commoninfoBean.getDataBeanArray(CommonInfoCFConst.WEB_NEW_INFO);
		X31SDataBeanAccess beanNew = beanNewArr.getDataBean(0);

		// ＷＥＢ新規情報.ｅｏモバイル情報取得
		X31SDataBeanAccessArray eoMobileInfoArr = beanNew.getDataBeanArray(CommonInfoCFConst.EOMOBILE);
		// 申込区分
		String mskm_kbn = beanNew.sendMessageString(CommonInfoCFConst.MSKM_KBN_06, X31CWebConst.DATABEAN_GET_VALUE);
		if (eoMobileInfoArr.getCount() != 0)
		{
			X31SDataBeanAccess eoMobileInfoBean = eoMobileInfoArr.getDataBean(0);

			// モバイルコース取得
			mobileCourse = eoMobileInfoBean.sendMessageString(CommonInfoCFConst.MOBILE_COURSE_14, X31CWebConst.DATABEAN_GET_VALUE);
		}

		// 共有フォームBean.eoモバイル.モバイルコースが"1"(WiFi) かつ WEB新規情報.申込区分が"1"(新規申込)の場合
		if (JFUStrConst.MOBILE_COURSE_WIFI.equals(mobileCourse) && JFUStrConst.MSKM_KBN_NEW.equals(mskm_kbn))
		{
			// 次画面IDの設定
			setNextScreen(JFUStrConst.SCREEN_MODE_DEF, JFUScreenConst.SCREEN_ID_FUW00111, JFUScreenConst.SCREEN_NAME_FUW00111);
		}
		else
		{
			// 次画面IDの設定
			setNextScreen(JFUStrConst.SCREEN_MODE_DEF, JFUScreenConst.SCREEN_ID_FUW00110, JFUScreenConst.SCREEN_NAME_FUW00110);
		}
		// WiFiセット申し込み対応 2012/11/06 h.iwamoto END

		DEBUG_LOG.info("----- next_FUW00109 End -----");

		return true;
	}

	/**
	 * 内容を修正する（サービス）ボタン押下時
	 * 
	 * @return boolean true(固定)
	 * @throws Exception
	 */
	public boolean shuseiService() throws Exception
	{

		DEBUG_LOG.info("----- shuseiService_FUW00109 Start -----");

		// 選択情報をクリア
		this.clearService();

		// 次画面IDの設定
		setNextScreen(JFUStrConst.SCREEN_MODE_KAKUNIN, JFUScreenConst.SCREEN_ID_FUW00105, JFUScreenConst.SCREEN_NAME_FUW00105);

		DEBUG_LOG.info("----- shuseiService_FUW00109 End -----");

		return true;
	}

	/**
	 * 内容をクリアする（サービス）ボタン押下時
	 * 
	 * @throws Exception 例外
	 */
	private void clearService() throws Exception
	{
		DEBUG_LOG.info("----- clearService_FUW00109 Start -----");

		// サービス情報のクリア
		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); // サービス開始希望日 クリア

		// No704 2013/04/26 Otsuka start
		eoNet.sendMessage(CommonInfoCFConst.SVC_HKTGI_11, X31CWebConst.DATABEAN_CLEAR); // サービスの引継ぎ クリア
		eoNet.sendMessage(CommonInfoCFConst.DSL_SHO_SOFU_11, X31CWebConst.DATABEAN_CLEAR); // 解約所の送付 クリア
		eoNet.sendMessage(CommonInfoCFConst.MAIL_MYHP_CONTINUE_11, X31CWebConst.DATABEAN_CLEAR); //メールアドレスマイＨＰ継続 クリア
		eoNet.sendMessage(CommonInfoCFConst.NET_DOI_FLG_11, X31CWebConst.DATABEAN_CLEAR); // ネット同意フラグ クリア
		// No704 2013/04/26 Otsuka end

		// 画面情報削除
		JCCWebCommon.setScreenInfo(this, JFUScreenConst.SCREEN_ID_FUW00106, null); // No704 2013/04/26 Otsuka

		// 電話情報
		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.sendMessage(CommonInfoCFConst.TEL_DOI_FLG_12, X31CWebConst.DATABEAN_CLEAR); // 同意フラグ クリア（1番号目）// No704 2013/04/26 Otsuka

			eoTel = telArr.getDataBean(1);
			if (eoTel != null)
			{
				eoTel.sendMessage(CommonInfoCFConst.USE_BMP_12, X31CWebConst.DATABEAN_CLEAR); // 番ポ クリア（2番号目）
				eoTel.sendMessage(CommonInfoCFConst.TEL_DOI_FLG_12, X31CWebConst.DATABEAN_CLEAR); // 同意フラグ クリア（2番号目）// No704 2013/04/26 Otsuka
			}
		}

		// テレビ情報
		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); //テレビコース

		// No704 2013/04/26 Otsuka start
		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
		eotv.sendMessage(CommonInfoCFConst.TV_DOI_FLG_13, X31CWebConst.DATABEAN_CLEAR); // 同意フラグ
		// No704 2013/04/26 Otsuka end

// 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); // No704 2013/04/26 Otsuka

		// モバイル
		X31SDataBeanAccess eomobile = ws.getDataBeanArray(CommonInfoCFConst.EOMOBILE).getDataBean(0);

		// No704 2013/04/26 Otsuka start
		// モバイルコース
		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); // 通信機器タイプ クリア

		// No704 2013/04/26 Otsuka end

		// 2013/03/24 Fujiwara Del Start
		// モバイルコースを削除
		// eomobile.sendMessage(CommonInfoCFConst.MOBILE_COURSE_14, X31CWebConst.DATABEAN_CLEAR);
		// 2013/03/24 Fujiwara Del End

		// 同意フラグを削除
		eomobile.sendMessage(CommonInfoCFConst.MOBILE_DOI_FLG_14, X31CWebConst.DATABEAN_CLEAR);

		// 契約情報を取得
		//		X31SDataBeanAccessArray array = ws.getDataBeanArray(CommonInfoCFConst.KEIYAKU_SVC_INFO);

		//		X31SDataBeanAccess keiyakuSvcInfoBean = array.getDataBean(0);

		// 2013/03/24 Fujiwara Del Start
		// 契約サービス情報 - 選択サービス（ネット）(0:未選択、1:選択)
		// keiyakuSvcInfoBean.sendMessage(CommonInfoCFConst.SELECT_SVC_NET_10, X31CWebConst.DATABEAN_CLEAR);
		// 契約サービス情報 - 選択サービス（電話）(0:未選択、1:選択)
		// keiyakuSvcInfoBean.sendMessage(CommonInfoCFConst.SELECT_SVC_TEL_10, X31CWebConst.DATABEAN_CLEAR);
		// 契約サービス情報 - 選択サービス（テレビ）(0:未選択、1:選択)
		// keiyakuSvcInfoBean.sendMessage(CommonInfoCFConst.SELECT_SVC_TV_10, X31CWebConst.DATABEAN_CLEAR);
		// 2013/03/24 Fujiwara Del End

		// No704 2013/04/26 Otsuka start
		// 画面遷移モード	"0"(通常遷移)
		ws.sendMessageString(CommonInfoCFConst.SCREEN_MODE_06, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.SCREEN_MODE_DEF);
		// No704 2013/04/26 Otsuka end

		DEBUG_LOG.info("----- clearService_FUW00109 End -----");
	}

	/**
	 * 内容を修正する（ネット）ボタン押下時
	 * 
	 * @return boolean true(固定)
	 * @throws Exception
	 */
	public boolean shuseiNet() throws Exception
	{

		DEBUG_LOG.info("----- shuseiNet_FUW00109 Start -----");

		// 次画面IDの設定
		setNextScreen(JFUStrConst.SCREEN_MODE_KAKUNIN, JFUScreenConst.SCREEN_ID_FUW00106, JFUScreenConst.SCREEN_NAME_FUW00106);

		DEBUG_LOG.info("----- shuseiNet_FUW00109 End -----");

		return true;
	}

	/**
	 * 内容を修正する（電話）ボタン押下時
	 * 
	 * @return boolean true(固定)
	 * @throws Exception
	 */
	public boolean shuseiPhone() throws Exception
	{

		DEBUG_LOG.info("----- shuseiPhone_FUW00109 Start -----");

		// 次画面IDの設定
		setNextScreen(JFUStrConst.SCREEN_MODE_KAKUNIN, JFUScreenConst.SCREEN_ID_FUW00107, JFUScreenConst.SCREEN_NAME_FUW00107);

		DEBUG_LOG.info("----- shuseiPhone_FUW00109 End -----");

		return true;
	}

	/**
	 * 内容を修正する（テレビ）ボタン押下時
	 * 
	 * @return boolean true(固定)
	 * @throws Exception
	 */
	public boolean shuseiTv() throws Exception
	{

		DEBUG_LOG.info("----- shuseiTv_FUW00109 Start -----");

		// 遷移先画面設定(通常遷移,住所情報入力)
		setNextScreen(JFUStrConst.SCREEN_MODE_KAKUNIN, JFUScreenConst.SCREEN_ID_FUW00108, JFUScreenConst.SCREEN_NAME_FUW00108);

		DEBUG_LOG.info("----- shuseiTv_FUW00109 End -----");

		return true;
	}

	/**
	 * 内容を修正する（モバイル）ボタン押下時
	 * 
	 * @return boolean true(固定)
	 * @throws Exception
	 */
	public boolean shuseiMobile() throws Exception
	{

		DEBUG_LOG.info("----- shuseiMobile_FUW00109 Start -----");

		// 次画面IDの設定
		setNextScreen(JFUStrConst.SCREEN_MODE_KAKUNIN, JFUScreenConst.SCREEN_ID_FUW00123, JFUScreenConst.SCREEN_NAME_FUW00123);

		DEBUG_LOG.info("----- shuseiMobile_FUW00109 End -----");

		return true;
	}

	/**
	 * 戻るボタン押下時
	 * 
	 * @return boolean true(固定)
	 * @throws Exception
	 */
	public boolean back() throws Exception
	{

		DEBUG_LOG.info("----- back_FUW00109 Start -----");

		// 共有フォームBeanのデータBeanアクセスクラスを取得。
		X31SDataBeanAccess commoninfoBean = super.getCommonInfoBean();
		if (null == commoninfoBean)
		{
			// エラー処理
			DEBUG_LOG.info("----- 共有フォームBeanがNULLです。 -----");
		}

		// 契約サービス情報
		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_FUW00123, JFUScreenConst.SCREEN_NAME_FUW00123);
		}
		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_FUW00108, JFUScreenConst.SCREEN_NAME_FUW00108);
		}
		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_FUW00107, JFUScreenConst.SCREEN_NAME_FUW00107);
		}
		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_FUW00106, JFUScreenConst.SCREEN_NAME_FUW00106);
		}

		DEBUG_LOG.info("----- back_FUW00109 End -----");

		return true;
	}

	/**
	 * キャンセルボタン押下時
	 * 
	 * @return boolean true(固定)
	 * @throws Exception
	 */
	public boolean cancel() throws Exception
	{

		DEBUG_LOG.info("----- cancel_FUW00109 Start -----");

		// 次画面IDの設定
		setNextScreen(JFUStrConst.SCREEN_MODE_DEF, JFUScreenConst.SCREEN_ID_FUW00201, JFUScreenConst.SCREEN_NAME_FUW00201);

		DEBUG_LOG.info("----- cancel_FUW00109 End -----");

		return true;
	}

	/**
	 * この内容でお申し込みボタン押下時
	 * 
	 * @return boolean true(固定)
	 * @throws Exception
	 */
	public boolean mskm() throws Exception
	{

		DEBUG_LOG.info("----- mskm_FUW00109 Start -----");

		//共有フォームBean宣言
		X31SDataBeanAccess commonInfoBean = super.getCommonInfoBean();

		// （共有フォームBean）サービス再選択フラグ
		X31SDataBeanAccess webNewInfoBean = commonInfoBean.getDataBeanArray(CommonInfoCFConst.WEB_NEW_INFO).getDataBean(0);
		X31SDataBeanAccessArray elseInfo = webNewInfoBean.getDataBeanArray(CommonInfoCFConst.ELSE_INFO);
		X31SDataBeanAccess elseInfoBean = elseInfo.getDataBean(0);
		String rechoice_flg = elseInfoBean.sendMessageString(CommonInfoCFConst.SVC_RECHOICE_FLG_18, X31CWebConst.DATABEAN_GET_VALUE);

		/* 2012/12/11 TAI-2012-0000136-102(IT1-441) R.Nagasawa MOD-START */
		// （リダイレクト情報Bean）選択可能サービス確認結果フラグ設定用
		X31SDataBeanAccess redirectInfoBean = JFUWebCommon.getDataBeanTypeByPath(commonInfoBean, JFUWebCommon.REDIRECT_INFO);

		if (rechoice_flg.equals(SVC_RECHOICE_1))
		{

			if (checkAllSelectedSrv())
			{
				// 選択サービスと申込可能サービスに差異がない場合
				setNextScreen(JFUStrConst.SCREEN_MODE_DEF, JFUScreenConst.SCREEN_ID_FUW00157, JFUScreenConst.SCREEN_NAME_FUW00157);

				// 選択可能サービス確認結果フラグ → 「0:すべて選択可能」を設定
				redirectInfoBean.sendMessageString(CommonInfoCFConst.SELECT_SVC_RESULT_FLG_17, X31CWebConst.DATABEAN_SET_VALUE,
						SELECT_SVC_RESULT_FLG_OK);
			}
			else
			{
				// 選択サービスと申込可能サービスに差異がある場合
				setNextScreen(JFUStrConst.SCREEN_MODE_DEF, JFUScreenConst.SCREEN_ID_FUW00104, JFUScreenConst.SCREEN_NAME_FUW00104);

				// 選択可能サービス確認結果フラグ → 「1:選択不可サービスあり」を設定
				redirectInfoBean.sendMessageString(CommonInfoCFConst.SELECT_SVC_RESULT_FLG_17, X31CWebConst.DATABEAN_SET_VALUE,
						SELECT_SVC_RESULT_FLG_NG);
			}

		}
		else
		{
			// 次画面IDの設定
			setNextScreen(JFUStrConst.SCREEN_MODE_DEF, JFUScreenConst.SCREEN_ID_FUW00101, JFUScreenConst.SCREEN_NAME_FUW00101);
		}
		/* 2012/12/11 TAI-2012-0000136-102(IT1-441) R.Nagasawa MOD-END */

		DEBUG_LOG.info("----- mskm_FUW00109 End -----");

		return true;
	}

	/**
	 * 遷移先設定
	 * @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);
		DEBUG_LOG.info(CommonInfoCFConst.SCREEN_MODE_06 + " : "
				+ ws.sendMessageString(CommonInfoCFConst.SCREEN_MODE_06, X31CWebConst.DATABEAN_GET_VALUE));
		DEBUG_LOG.debug(String.format("遷移先 CD：%s NM：%s", nextScreenId, 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;
		}
		else if (!JFUStrConst.TEIKAKAKU_MANSION_TEIKAKAKU.equals(teikakakuMansion))
		{

			// 契約サービス情報.選択サービス（ネット）
			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);

			// マンション情報.低価格マンションフラグが「1」(低価格以外のマンション)の場合
			// chkPrcAreaDspResult = true;

			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) && JFUStrConst.TV_COURSE_KCAT.equals(tvCourse))
			{
				// 契約サービス情報 選択サービス（テレビ）が「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)
	{

		//【ANK-1526-00-00】7.2Mルータ枯渇対応、【ANK-1527-00-00】21MUSB提供終了対応 >>>

//		// チェック結果
//		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_WIMAX.equals(mobileCourse) && JFUStrConst.WIMAXROM_WHITE.equals(redWimaxrom))
//		{
//			// ｅｏモバイル.モバイルコースが「5:モバイルコース WiMAX」で、かつ、リダイレクト情報.WiMAXROMが「0:白ロム」の場合
//			// 非表示
//			checkHiDspTsushinTnmtResult = true;
//		}
//		else if (JFUStrConst.MOBILE_COURSE_3G_HHB.equals(mobileCourse))
//		{
//			// モバイルコースが「6:モバイルコース 3G（7.2M光ハイブリット）」の場合
//			// 非表示
//			checkHiDspTsushinTnmtResult = true;
//		}
//		else if (JFUStrConst.MOBILE_COURSE_3G_42M_HHB.equals(mobileCourse))
//		{
//			// モバイルコースが「7:モバイルコース 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;
//		}
		
		
		// チェック結果
		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;
	}

	/**
	 * 料金シミュレーションを呼び出します。
	 * 
	 * @return true
	 * @throws Exception
	 */
	public boolean ryokin() throws Exception
	{
		DEBUG_LOG.info("----- ryokin_FUW00109 Start -----");
		// 料金シミュレーション共通部品を呼び出し
		JFUWebCommon.ryokin(this);
		DEBUG_LOG.info("----- ryokin_FUW00109 End -----");
		return true;
	}

	/**
	 * 引数として渡された文字列を結合して返却する。 <BR>
	 * 
	 * @param strArray
	 * @return 結合後文字列
	 */
	private String joinString(String... strArray)
	{
		StringBuffer sb = new StringBuffer();
		for (String str : strArray)
		{
			sb.append(str);
		}
		return sb.toString();
	}

	/**
	 * 現在選択しているサービスが全て使用可能であるか調べます
	 * 
	 * <br>
	 * @param i_web_new_bean
	 *            共有フォームBean[0].ＷＥＢ新規情報[0]へのアクセサ
	 * @param i_posted_requests POSTされてきたデータのハッシュ
	 * @return true/false(ひとつでも不可があるとfalse)
	 */
	@SuppressWarnings("unchecked")
	private boolean checkAllSelectedSrv()
	{

		boolean result = true;

		//共有フォームBean宣言
		X31SDataBeanAccess commonInfoBean = super.getCommonInfoBean();
		X31SDataBeanAccess webNewInfoBean = commonInfoBean.getDataBeanArray(CommonInfoCFConst.WEB_NEW_INFO).getDataBean(0);

		X31SDataBeanAccessArray keiyakuSvc = webNewInfoBean.getDataBeanArray(CommonInfoCFConst.KEIYAKU_SVC_INFO);
		X31SDataBeanAccess keiyakuSvcBean = keiyakuSvc.getDataBean(0);
		String select_svc_tel = keiyakuSvcBean.sendMessageString(CommonInfoCFConst.SELECT_SVC_TEL_10, X31CWebConst.DATABEAN_GET_VALUE);
		String select_svc_tv = keiyakuSvcBean.sendMessageString(CommonInfoCFConst.SELECT_SVC_TV_10, X31CWebConst.DATABEAN_GET_VALUE);

		X31SDataBeanAccessArray netInfo = webNewInfoBean.getDataBeanArray(CommonInfoCFConst.EONET);
		X31SDataBeanAccess netInfoBean = netInfo.getDataBean(0);
		String select_net_course = netInfoBean.sendMessageString(CommonInfoCFConst.NET_COURSE_11, X31CWebConst.DATABEAN_GET_VALUE);

		X31SDataBeanAccessArray pascoInfo = webNewInfoBean.getDataBeanArray(CommonInfoCFConst.PASCO_INFO);
		X31SDataBeanAccess pascoInfoBean = pascoInfo.getDataBean(0);
		String mskm_kh_100m = pascoInfoBean.sendMessageString(CommonInfoCFConst.MOBILE_100M_07, X31CWebConst.DATABEAN_GET_VALUE);
		String mskm_kh_200m = pascoInfoBean.sendMessageString(CommonInfoCFConst.MOBILE_200M_07, X31CWebConst.DATABEAN_GET_VALUE);
		String mskm_kh_1g = pascoInfoBean.sendMessageString(CommonInfoCFConst.MOBILE_1G_07, X31CWebConst.DATABEAN_GET_VALUE);
		String mskm_kh_10g = pascoInfoBean.sendMessageString(CommonInfoCFConst.MOBILE_10G_07, X31CWebConst.DATABEAN_GET_VALUE);
		String mskm_kh_tel = pascoInfoBean.sendMessageString(CommonInfoCFConst.TEL_07, X31CWebConst.DATABEAN_GET_VALUE);
		String mskm_kh_tv = pascoInfoBean.sendMessageString(CommonInfoCFConst.TV_07, X31CWebConst.DATABEAN_GET_VALUE);

		// 判定処理
		if (select_net_course.equals(JFUStrConst.NET_COURSE_100M) && !mskm_kh_100m.equals(JFUStrConst.MOBILE_100M_MSKM_PSB))
		{
			result = false;
		}

		if (select_net_course.equals(JFUStrConst.NET_COURSE_200M) && !mskm_kh_200m.equals(JFUStrConst.MOBILE_200M_MSKM_PSB))
		{
			result = false;
		}

		if (select_net_course.equals(JFUStrConst.NET_COURSE_1G) && !mskm_kh_1g.equals(JFUStrConst.MOBILE_1G_MSKM_PSB))
		{
			result = false;
		}

		if (select_net_course.equals(JFUStrConst.NET_COURSE_5G) && !mskm_kh_10g.equals(JFUStrConst.MOBILE_10G_MSKM_PSB))
		{
			result = false;
		}

		if (select_net_course.equals(JFUStrConst.NET_COURSE_10G) && !mskm_kh_10g.equals(JFUStrConst.MOBILE_10G_MSKM_PSB))
		{
			result = false;
		}

		if (select_svc_tv.equals(JFUStrConst.SELECT_SVC_TV_CHOICE) && mskm_kh_tv.equals(TV_MSKM_PSB_FLG_KCAT))
		{
			result = false;
		}

		if (select_svc_tel.equals(JFUStrConst.SELECT_SVC_TEL_CHOICE) && mskm_kh_tel.equals(TEL_MSKM_PSB_FLG_MSKM_PSB))
		{
			result = false;
		}

		return result;
	}

	// No704 2013/04/26 Otsuka start
	/**
	 * 指定したBean配下の指定したデータタイプBeanを初期化する。
	 * 
	 * @param targetBean
	 * @param strCompomentName
	 */
	private void resetTargetBean(X31SDataBeanAccess targetBean, String strCompomentName)
	{
		X31SDataBeanAccessArray resetBean = targetBean.getDataBeanArray(strCompomentName);

		// リストが存在しない場合、リストを作成する。
		if (resetBean.getCount() == 0)
		{
			resetBean.addDataBean();

			//  eo光電話の場合、2番号目のリストを生成する。
			if (CommonInfoCFConst.EOTEL.equals(strCompomentName))
			{
				resetBean.addDataBean();
			}
		}
		else
		{
			// 中身をクリアする。(削除)
			resetBean.clearArray();
			// リストを生成する。
			resetBean.addDataBean();

			// eo光電話の場合、2番号目のリストを生成する。
			if (CommonInfoCFConst.EOTEL.equals(strCompomentName))
			{
				resetBean.addDataBean();
			}
		}
	}
	// No704 2013/04/26 Otsuka end

}