/*********************************************************************
 * All Rights reserved,Copyright (c) K-Opticom
 **********************************************************************
 *＜プログラム内容＞
 *   システム名      ：eo顧客基幹システム
 *   モジュール名    ：FUW00117SFLogic
 *   ソースファイル名：FUW00117SFLogic.java
 *   作成者          ：富士通
 *   日付            ：2011年06月17日
 *＜機能概要＞
 *   登録完了画面のビューロジックです。
 *＜修正履歴＞
 *   バージョン  修正日       修正者      修正内容
 *   v1.00.00    2011/06/17   FJ）北島    新規作成
 *   v3.00.00    2012/04/02   FJ）福島    【ANK-0049-00-00】光ハイブリッド対応
 *   v3.00.01    2012/04/02   FJ）福島    【ANK-0050-00-00】FTTH従量制課金対応
 *   v3.00.02    2012/11/16   FJ) 佐々木  【IT2-2012-0001696】24365 業務規制表示対応
 *   v3.00.03    2012/12/03   FJ) 岩元    【IT2-2012-0001943】低価格マンションの導線障害対応
 *   v5.00.00    2013/06/10   FJ）知識    【ANK-1534-00-00】eoモバイル42Mエリア縮小対応
 *   v73.00.00   2024/10/04   FJ）福山   【ANK-4570-00-00】コンテンツ新規同時申込み時契約仕様見直し対応
 **********************************************************************/
package eo.web.webview.FUW00117SF;

import java.util.Map;

import com.fujitsu.futurity.web.x31.X31CWebConst;
import com.fujitsu.futurity.web.x31.X31SDataBeanAccess;
import com.fujitsu.futurity.web.x31.X31SDataBeanAccessArray;

import eo.common.constant.JFUStrConst;
import eo.web.webview.JCCWebBusinessLogic;
import eo.web.webview.CommonInfoCF.CommonInfoCFConst;
//ANK-4570-00-00 ADD START
import eo.web.webview.common.JCCWebCommon;
// ANK-4570-00-00 ADD END
import eo.web.webview.common.JFUScreenConst;
import eo.web.webview.common.JFUWebCommon;

/**
 * 登録完了画面(FUW00117)のビューロジック <BR>
 * 
 * @author 富士通
 */
@SuppressWarnings("serial")
public class FUW00117SFLogic extends JCCWebBusinessLogic
{
	/** プロパティパス */
	private static final String QUERY_PATH = "DISPSETTING/SETTING[@screenId='FUW00117']/DISPTEXT[@groupid='SERVICE_NAME']";
	/** 属性名 */
	private static final String QUERY_ATTR_NAME = "id";

	/** タイプ名：ホームタイプ */
	private static final String NET_TIPE_HOME = "NET_TIPE_HOME";
	/** タイプ名：ホームタイプ */
	private static final String NET_TIPE_MANSHON = "NET_TIPE_MANSHON";
	/** タイプ名：ホームタイプ */
	private static final String NET_TIPE_MEZON = "NET_TIPE_MEZON";
	/** コース名：結合文字列(ネット) */
	private static final String NET_COURSE = "NET_COURSE_";
	/** コース名：結合文字列(電話) */
	private static final String TEL_COURSE = "TEL_";
	/** コース名：結合文字列(テレビ) */
	private static final String TV_COURSE = "TV_";
	/** コース名：結合文字列(テレビ) */
	private static final String MOBILE_COURSE = "MOBILE_";

	/** 業務規制注記表示フラグ 0:非表示 1:表示 */
	private static final String WORK_KISEI_CHUKI_DISP_FLG = "WORK_KISEI_CHUKI_DISP_FLG";

	/** 業務規制注記表示フラグ(メール) 0:非表示 1:表示 */
	private static final String WORK_KISEI_MAIL_DISP_FLG = "WORK_KISEI_MAIL_DISP_FLG";

	/** 業務規制注記表示フラグ(メール)用画面ID */
	private static final String SCREEN_ID_FUW00000 = "FUW00000";

	/* 2013/01/30 Y.Saitou ADD-START */
	/** 次画面遷移ボタン表示パターン：1(「続けてオプションを申し込む」ボタンを表示) */
	private static final String NEXT_BTN_DSP_PATTERN_OPTION = "1";

	/** 次画面遷移ボタン表示パターン：2(「続けてお支払方法の入力を行う」ボタンを表示) */
	private static final String NEXT_BTN_DSP_PATTERN_PAYMENT = "2";
	/* 2013/01/30 Y.Saitou ADD-END */

	/**
	 * サービスフォームBeanの初期化処理を行います。 <br>
	 * 
	 * @return true固定
	 * @throws Exception
	 */
	public boolean init() throws Exception
	{
		// 共有フォームBean取得
		X31SDataBeanAccess commonInfoBean = getCommonInfoBean();
		// サービスフォームBean取得
		X31SDataBeanAccess serviceInfoBean = getServiceFormBean();

		// ＷＥＢ新規情報取得
		X31SDataBeanAccess webNewInfoBean = JFUWebCommon.getDataBeanTypeByPath(commonInfoBean, JFUWebCommon.WEB_NEW_INFO);

		// 契約サービス情報取得
		X31SDataBeanAccess keiyakuSvcInfoBean = JFUWebCommon.getDataBeanTypeByPath(commonInfoBean, JFUWebCommon.KEIYAKU_SVC_INFO);

		// eo光ネット取得
		X31SDataBeanAccess eonetBean = JFUWebCommon.getDataBeanTypeByPath(commonInfoBean, JFUWebCommon.EONET);

		// eo光電話取得
		X31SDataBeanAccess eotelBean = JFUWebCommon.getDataBeanTypeByPath(commonInfoBean, JFUWebCommon.EOTEL);

		// eo光テレビ取得
		X31SDataBeanAccess eotvBean = JFUWebCommon.getDataBeanTypeByPath(commonInfoBean, JFUWebCommon.EOTV);

		// eoモバイル取得
		X31SDataBeanAccess eomobileBean = JFUWebCommon.getDataBeanTypeByPath(commonInfoBean, JFUWebCommon.EOMOBILE);

		// マンション情報取得
		X31SDataBeanAccess mansionBean = JFUWebCommon.getDataBeanTypeByPath(commonInfoBean, JFUWebCommon.MANSION_INFO);

		/* 2013/02/01 テレビ単独導線見直し対応 Y.Saitou ADD-START */
		// リダイレクト情報取得
		X31SDataBeanAccess redirectInfoBean = JFUWebCommon.getDataBeanTypeByPath(commonInfoBean, JFUWebCommon.REDIRECT_INFO);
		/* 2013/02/01 テレビ単独導線見直し対応 Y.Saitou ADD-END */

		// フラグ制御
		// IT2-2012-0001943 2012/12/03 h.iwamoto 使用していない為削除

		// サービス名リスト
		X31SDataBeanAccessArray beanArray = serviceInfoBean.getDataBeanArray(FUW00117SFConst.SERVICE_LIST);

		// サービス名称取得
		Map<String, String> servicenameMap = JFUWebCommon.getDispItemsAsMap(QUERY_PATH, QUERY_ATTR_NAME);

		// 申込回線サービス
		String mskmKsnSvc = webNewInfoBean.sendMessageString(CommonInfoCFConst.MSKM_KSN_SVC_06, X31CWebConst.DATABEAN_GET_VALUE);
		// 申込マンションタイプ
		String mskmMnsType = webNewInfoBean.sendMessageString(CommonInfoCFConst.MSKM_MNS_TYPE_06, X31CWebConst.DATABEAN_GET_VALUE);
		// 提供方式パターンコード
		String tkHoshikiPtnCd = mansionBean.sendMessageString(CommonInfoCFConst.TEIKYO_HOSHIKI_PTN_CD_16, X31CWebConst.DATABEAN_GET_VALUE);

		// 選択サービス（ネット）が"1"(選択中)の場合
		if (!isNullBean(keiyakuSvcInfoBean)
				&& JFUStrConst.SELECT_SVC_NET_CHOICE.equals(keiyakuSvcInfoBean.sendMessageString(CommonInfoCFConst.SELECT_SVC_NET_10,
						X31CWebConst.DATABEAN_GET_VALUE)))
		{
			String serviceNameTypeKey = null;
			String serviceNameCoseKey = null;

			// eo光ネットタイプ：ホーム・マンション判定
			if (JFUStrConst.MSKM_KSN_SVC_HOME.equals(webNewInfoBean.sendMessageString(CommonInfoCFConst.MSKM_KSN_SVC_06,
					X31CWebConst.DATABEAN_GET_VALUE)))
			{

				if (!isNullBean(eonetBean))
				{

					serviceNameTypeKey = NET_TIPE_HOME;
					serviceNameCoseKey = NET_COURSE + eonetBean.sendMessageString(CommonInfoCFConst.NET_COURSE_11, X31CWebConst.DATABEAN_GET_VALUE);

				}

			}
			else if (JFUStrConst.MSKM_KSN_SVC_MANSION.equals(webNewInfoBean.sendMessageString(CommonInfoCFConst.MSKM_KSN_SVC_06,
					X31CWebConst.DATABEAN_GET_VALUE)))
			{
				// eo光ネットタイプ：マンション・メゾン判定
				if (!isNullBean(eonetBean)
						&& JFUStrConst.MSKM_MNS_TYPE_MANSION.equals(webNewInfoBean.sendMessageString(CommonInfoCFConst.MSKM_MNS_TYPE_06,
								X31CWebConst.DATABEAN_GET_VALUE)))
				{
					serviceNameTypeKey = NET_TIPE_MANSHON;
					serviceNameCoseKey = NET_COURSE + eonetBean.sendMessageString(CommonInfoCFConst.NET_COURSE_11, X31CWebConst.DATABEAN_GET_VALUE);
				}
				else if (!isNullBean(eonetBean)
						&& JFUStrConst.MSKM_MNS_TYPE_MEZON.equals(webNewInfoBean.sendMessageString(CommonInfoCFConst.MSKM_MNS_TYPE_06,
								X31CWebConst.DATABEAN_GET_VALUE)))
				{
					serviceNameTypeKey = NET_TIPE_MEZON;
					serviceNameCoseKey = NET_COURSE + eonetBean.sendMessageString(CommonInfoCFConst.NET_COURSE_11, X31CWebConst.DATABEAN_GET_VALUE);

				}

			}

			// サービス名・受付番号セット
			if (!isNullOrEmpty(serviceNameTypeKey) && !isNullOrEmpty(serviceNameCoseKey))
			{

				String serviceNameNet = null;

				if (!isNullOrEmpty((String)servicenameMap.get(serviceNameTypeKey)))
				{
					serviceNameNet = (String)servicenameMap.get(serviceNameTypeKey);
				}

				// 2013.7.9 VDSLコース名非表示対応
				if(JFUStrConst.MSKM_KSN_SVC_MANSION.equals(mskmKsnSvc) && JFUStrConst.MSKM_MNS_TYPE_MANSION.equals(mskmMnsType)
						&& (JFUStrConst.TK_HOSHIKI_PTN_VDSL.equals(tkHoshikiPtnCd) || JFUStrConst.TK_HOSHIKI_PTN_VDSLS.equals(tkHoshikiPtnCd)))
				{
					serviceNameCoseKey = JFUStrConst.EMPTY;
				}

				if (!isNullOrEmpty((String)servicenameMap.get(serviceNameCoseKey)))
				{
					serviceNameNet = serviceNameNet + (String)servicenameMap.get(serviceNameCoseKey);
				}

				// 受付番号取得
				String uketsuke = eonetBean.sendMessageString(CommonInfoCFConst.MSKMSHO_NO_11, X31CWebConst.DATABEAN_GET_VALUE);

				// サービス名・受付番号セット
				setService(beanArray, serviceNameNet, uketsuke);

			}

		}

		// 選択サービス（電話）が"1"(選択中)の場合
		if (!isNullBean(eotelBean)
				&& JFUStrConst.SELECT_SVC_CHOICE.equals(keiyakuSvcInfoBean.sendMessageString(CommonInfoCFConst.SELECT_SVC_TEL_10,
						X31CWebConst.DATABEAN_GET_VALUE)))
		{
			String serviceNameKey = TEL_COURSE + webNewInfoBean.sendMessageString(CommonInfoCFConst.TEL_COURSE_06, X31CWebConst.DATABEAN_GET_VALUE);

			String serviceNameTel = (String)servicenameMap.get(serviceNameKey);

			// 受付番号取得
			String uketsuke = eotelBean.sendMessageString(CommonInfoCFConst.MSKMSHO_NO_12, X31CWebConst.DATABEAN_GET_VALUE);

			// サービス名・受付番号セット
			setService(beanArray, serviceNameTel, uketsuke);
		}

		// 選択サービス（テレビ）が"1"(選択中)の場合
		if (!isNullBean(eotvBean)
				&& JFUStrConst.SELECT_SVC_TV_CHOICE.equals(keiyakuSvcInfoBean.sendMessageString(CommonInfoCFConst.SELECT_SVC_TV_10,
						X31CWebConst.DATABEAN_GET_VALUE)))
		{
			String serviceNameKey = TV_COURSE + eotvBean.sendMessageString(CommonInfoCFConst.TV_COURSE_13, X31CWebConst.DATABEAN_GET_VALUE);

			String serviceNameTv = (String)servicenameMap.get(serviceNameKey);

			// 受付番号取得
			String uketsuke = eotvBean.sendMessageString(CommonInfoCFConst.MSKMSHO_NO_13, X31CWebConst.DATABEAN_GET_VALUE);

			// サービス名・受付番号セット
			setService(beanArray, serviceNameTv, uketsuke);
		}

		// モバイル判定
		if (!isNullBean(eomobileBean)
				&& !isNullOrEmpty(eomobileBean.sendMessageString(CommonInfoCFConst.MOBILE_COURSE_14, X31CWebConst.DATABEAN_GET_VALUE)))
		{

			if (!JFUStrConst.MOBILE_COURSE_NON.equals(eomobileBean.sendMessageString(CommonInfoCFConst.MOBILE_COURSE_14,
					X31CWebConst.DATABEAN_GET_VALUE)))
			{
				String serviceNameKey =
						MOBILE_COURSE + eomobileBean.sendMessageString(CommonInfoCFConst.MOBILE_COURSE_14, X31CWebConst.DATABEAN_GET_VALUE);
				// サービス名取得
				String serviceNameMobile = (String)servicenameMap.get(serviceNameKey);

				// 受付番号取得
				String uketsuke = eomobileBean.sendMessageString(CommonInfoCFConst.MSKMSHO_NO_14, X31CWebConst.DATABEAN_GET_VALUE);

				// サービス名・受付番号セット
				setService(beanArray, serviceNameMobile, uketsuke);

			}
		}
		
		/* 2013/02/01 テレビ単独導線見直し対応 Y.Saitou ADD-START */
		String nextBtnDspPattern = NEXT_BTN_DSP_PATTERN_OPTION;
		// 選択サービス（ネット）が"0"(未選択) 且つ、選択サービス（電話）が"0"(未選択) 且つ、選択サービス（テレビ）が"1"(選択中)の場合
		if (JFUStrConst.SELECT_SVC_NET_MI_CHOICE.equals(keiyakuSvcInfoBean.sendMessageString(CommonInfoCFConst.SELECT_SVC_NET_10, X31CWebConst.DATABEAN_GET_VALUE))
				&& JFUStrConst.SELECT_SVC_TEL_MI_CHOICE.equals(keiyakuSvcInfoBean.sendMessageString(CommonInfoCFConst.SELECT_SVC_TEL_10, X31CWebConst.DATABEAN_GET_VALUE))
				&& JFUStrConst.SELECT_SVC_CHOICE.equals(keiyakuSvcInfoBean.sendMessageString(CommonInfoCFConst.SELECT_SVC_TV_10, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			// テレビコースが"1"（K-CAT）かつテレビコース（eo光テレビ）が"2"（ベーシックプレミアム）でない場合
			if (!(eotvBean.sendMessageString(CommonInfoCFConst.TV_COURSE_13, X31CWebConst.DATABEAN_GET_VALUE).equals(JFUStrConst.TV_COURSE_KCAT)
					&& eotvBean.sendMessageString(CommonInfoCFConst.EO_TV_COURSE_13, X31CWebConst.DATABEAN_GET_VALUE).equals(JFUStrConst.EO_TV_COURSE_BASIC)))
			{
				// モバイルコース
				String mobCrs = eomobileBean.sendMessageString(CommonInfoCFConst.MOBILE_COURSE_14, X31CWebConst.DATABEAN_GET_VALUE);
				// ＷｉＭＡＸＲＯＭ
				String wmxRom = redirectInfoBean.sendMessageString(CommonInfoCFConst.RED_WIMAXROM_17, X31CWebConst.DATABEAN_GET_VALUE);

				if (!(mobCrs.equals(JFUStrConst.MOBILE_COURSE_3G_7_2M) || mobCrs.equals(JFUStrConst.MOBILE_COURSE_3G_21M)
						|| mobCrs.equals(JFUStrConst.MOBILE_COURSE_3G_HHB) || mobCrs.equals(JFUStrConst.MOBILE_COURSE_3G_21M_HHB)
						|| (mobCrs.equals(JFUStrConst.MOBILE_COURSE_WIMAX) && wmxRom.equals(JFUStrConst.WIMAXROM_BLACK))))
				{
					nextBtnDspPattern = NEXT_BTN_DSP_PATTERN_PAYMENT;
				}
			}
		}
		serviceInfoBean.sendMessageString(FUW00117SFConst.NEXT_BTN_DSP_PATTERN, X31CWebConst.DATABEAN_SET_VALUE, nextBtnDspPattern);
		/* 2013/02/01 テレビ単独導線見直し対応 Y.Saitou ADD-END */

		// 2012/11/15 24365対応 ADD START
		// 業務規制注記表示フラグ 0:非表示 1:表示
		String work_kisei_chuki_disp_flg = JFUWebCommon.getDispText(JFUScreenConst.SCREEN_ID_FUW00117, WORK_KISEI_CHUKI_DISP_FLG);
		serviceInfoBean.sendMessageString(FUW00117SFConst.WORK_KISEI_CHUKI_DISP_FLG, X31CWebConst.DATABEAN_SET_VALUE, work_kisei_chuki_disp_flg);
		// 業務規制注記表示フラグ(メール)を設定 0:非表示 1:表示
		String work_kisei_mail_disp_flg = JFUWebCommon.getDispText(SCREEN_ID_FUW00000, WORK_KISEI_MAIL_DISP_FLG);
		serviceInfoBean.sendMessageString(FUW00117SFConst.WORK_KISEI_MAIL_DISP_FLG, X31CWebConst.DATABEAN_SET_VALUE, work_kisei_mail_disp_flg);
		// 2012/11/15 24365対応 ADD END

		// 申込受付実績登録部品実行
		JFUWebCommon.executeWebMskmUkJskAdd(this);

		return true;

	}

	/**
	 * 「残りの申込情報を入力する」ボタン押下処理
	 * 
	 * @return true固定
	 * @throws Exception
	 */
	public boolean next() throws Exception
	{

		// 共有フォームBean取得
		X31SDataBeanAccess commonInfoBean = getCommonInfoBean();

		// ＷＥＢ新規情報取得
		X31SDataBeanAccessArray webNewInfo = commonInfoBean.getDataBeanArray(CommonInfoCFConst.WEB_NEW_INFO);
		X31SDataBeanAccess webNewInfoBean = webNewInfo.getDataBean(0);

		// 契約サービス情報取得
		X31SDataBeanAccessArray keiyakuSvcInfo = webNewInfoBean.getDataBeanArray(CommonInfoCFConst.KEIYAKU_SVC_INFO);
		X31SDataBeanAccess keiyakuSvcInfoBean = keiyakuSvcInfo.getDataBean(0);

		// eoモバイル取得
		X31SDataBeanAccess eomobileBean = JFUWebCommon.getDataBeanTypeByPath(commonInfoBean, JFUWebCommon.EOMOBILE);

// ANK-4570-00-00 ADD START
		boolean campaignFlg = JFUWebCommon.isCamapaignList(webNewInfoBean, JCCWebCommon.getOpeDate(this, null));
// ANK-4570-00-00 ADD END
		
		// eo光テレビ取得
		X31SDataBeanAccessArray eotv = webNewInfoBean.getDataBeanArray(CommonInfoCFConst.EOTV);
		if (0 == eotv.getCount().intValue())
		{
			eotv.addDataBean();
		}
		X31SDataBeanAccess eotvBean = eotv.getDataBean(0);

		// リダイレクト情報取得
		X31SDataBeanAccessArray arrRedirect = webNewInfoBean.getDataBeanArray(CommonInfoCFConst.REDIRECT_INFO);
		if (0 == arrRedirect.getCount().intValue())
		{
			arrRedirect.addDataBean();
		}
		X31SDataBeanAccess redirect_info = arrRedirect.getDataBean(0);

		// 申込区分
		String mskmKbn = webNewInfoBean.sendMessageString(CommonInfoCFConst.MSKM_KBN_06, X31CWebConst.DATABEAN_GET_VALUE);

		// 画面遷移モードに"0"(通常遷移)を設定する。
		webNewInfoBean.sendMessageString(CommonInfoCFConst.SCREEN_MODE_06, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.SCREEN_MODE_DEF);

		// 選択サービス（ネット）が"1"(選択中)の場合
		if (JFUStrConst.SELECT_SVC_CHOICE.equals(keiyakuSvcInfoBean.sendMessageString(CommonInfoCFConst.SELECT_SVC_NET_10,
				X31CWebConst.DATABEAN_GET_VALUE)))
		{
			// 遷移先の画面ID・画面名に"eo光ネットオプション選択"画面を設定する。
			setScreenInfo(JFUScreenConst.SCREEN_ID_FUW00118, JFUScreenConst.SCREEN_NAME_FUW00118);
		}
		else
		// 選択サービス（電話）が"1"(選択中)の場合
		if (JFUStrConst.SELECT_SVC_CHOICE.equals(keiyakuSvcInfoBean.sendMessageString(CommonInfoCFConst.SELECT_SVC_TEL_10,
				X31CWebConst.DATABEAN_GET_VALUE)))
		{

			// かつ、eo光電話[0].番ポ有無番ポ利用有無が"1"(利用する)または、eo光電話[1].番ポ有無が"1"(利用する)の場合
			if (JFUStrConst.USE_BMP_USE.equals(getUseBmp(webNewInfoBean, 0)) || JFUStrConst.USE_BMP_USE.equals(getUseBmp(webNewInfoBean, 1)))
			{
				// 遷移先の画面ID・画面名に"番号ポータビリティ情報入力"画面を設定する。
				setScreenInfo(JFUScreenConst.SCREEN_ID_FUW00113, JFUScreenConst.SCREEN_NAME_FUW00113);
			}
			else
			{
				// 遷移先の画面ID・画面名に"eo光電話オプション選択"画面を設定する。
				setScreenInfo(JFUScreenConst.SCREEN_ID_FUW00119, JFUScreenConst.SCREEN_NAME_FUW00119);
			}
		}
		else
		// 選択サービス（テレビ）が"1"(選択中)の場合（ネット、電話なしのため、テレビ単独の場合となる）
		if (JFUStrConst.SELECT_SVC_CHOICE.equals(keiyakuSvcInfoBean.sendMessageString(CommonInfoCFConst.SELECT_SVC_TV_10,
				X31CWebConst.DATABEAN_GET_VALUE)))
		{

			// テレビコースが"1"（K-CAT）かつテレビコース（eo光テレビ）が"2"（ベーシックプレミアム）の場合
			if (eotvBean.sendMessageString(CommonInfoCFConst.TV_COURSE_13, X31CWebConst.DATABEAN_GET_VALUE).equals(JFUStrConst.TV_COURSE_KCAT)
					&& eotvBean.sendMessageString(CommonInfoCFConst.EO_TV_COURSE_13, X31CWebConst.DATABEAN_GET_VALUE).equals(
							JFUStrConst.EO_TV_COURSE_BASIC))
			{
				// 遷移先の画面ID・画面名に"eo光テレビオプション選択"画面を設定する。
				setScreenInfo(JFUScreenConst.SCREEN_ID_FUW00120, JFUScreenConst.SCREEN_NAME_FUW00120);
			}
			else
			{
				// 2012.1.6 モバイル機器送付先選択画面への遷移追加 Start ↓↓↓↓↓
				// 遷移先の画面ID・画面名に"お支払い方法入力"画面を設定する。
				// setScreenInfo(JFUScreenConst.SCREEN_ID_FUW00115,
				// JFUScreenConst.SCREEN_NAME_FUW00115);

				// モバイルコース
				String mobCrs = eomobileBean.sendMessageString(CommonInfoCFConst.MOBILE_COURSE_14, X31CWebConst.DATABEAN_GET_VALUE);
				// ＷｉＭＡＸＲＯＭ
				String wmxRom = redirect_info.sendMessageString(CommonInfoCFConst.RED_WIMAXROM_17, X31CWebConst.DATABEAN_GET_VALUE);

				/* 2013/01/30 Y.Saitou MOD */
				if (mobCrs.equals(JFUStrConst.MOBILE_COURSE_3G_7_2M) || mobCrs.equals(JFUStrConst.MOBILE_COURSE_3G_21M)
						|| mobCrs.equals(JFUStrConst.MOBILE_COURSE_3G_HHB) || mobCrs.equals(JFUStrConst.MOBILE_COURSE_3G_21M_HHB)
						|| (mobCrs.equals(JFUStrConst.MOBILE_COURSE_WIMAX) && wmxRom.equals(JFUStrConst.WIMAXROM_BLACK)))
				{
					// モバイル機器がある場合

					// 遷移先の画面ID・画面名に"eoモバイル機器送付先入力"画面を設定する。
					setScreenInfo(JFUScreenConst.SCREEN_ID_FUW00124, JFUScreenConst.SCREEN_NAME_FUW00124);
				}
// ANK-4570-00-00 ADD START
				else if (campaignFlg)
				{
					// 適用可能なキャンペーンが存在する場合
					setScreenInfo(JFUScreenConst.SCREEN_ID_FUW00166, JFUScreenConst.SCREEN_NAME_FUW00166);
				}
// ANK-4570-00-00 ADD END
				else
				{
					// 遷移先の画面ID・画面名に"お支払い方法入力"画面を設定する。
					setScreenInfo(JFUScreenConst.SCREEN_ID_FUW00115, JFUScreenConst.SCREEN_NAME_FUW00115);
				}
				// 2012.1.6 モバイル機器送付先選択画面への遷移追加 End ↑↑↑↑↑
			}

		}

		return true;

	}

	/**
	 * 申込サービス名と受付番号を設定する。 <br>
	 * 
	 * @param beanArray
	 *            データbean
	 * @param serviceName
	 *            申込サービス名
	 * @param uketsuke
	 *            受付番号
	 * @throws Exception
	 */
	private void setService(X31SDataBeanAccessArray beanArray, String serviceName, String uketsuke) throws Exception
	{

		// サービス名リスト
		X31SDataBeanAccess subbean = beanArray.addDataBean();

		// 申込サービス名と受付番号を設定する。
		subbean.sendMessageString(FUW00117SFConst.SERVICE_01, X31CWebConst.DATABEAN_SET_VALUE, serviceName);
		subbean.sendMessageString(FUW00117SFConst.UKETSUKE_01, X31CWebConst.DATABEAN_SET_VALUE, uketsuke);

	}

	/**
	 * 遷移先の画面ID・画面名を共有フォームBeanの項目に設定する。 <br>
	 * 
	 * @param screenId
	 *            画面ＩＤ
	 * @param screenName
	 *            画面名
	 * @throws Exception
	 */
	private void setScreenInfo(String screenId, String screenName) throws Exception
	{

		// 共有フォームBean取得
		X31SDataBeanAccess commoninfoBean = super.getCommonInfoBean();

		// 遷移先の画面IDを共有フォームBeanの項目に設定する。
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, screenId);

		// 遷移先の画面名を共有フォームBeanの項目に設定する。
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, screenName);

	}

	/**
	 * 番ポ利用有無を取得する。 <br>
	 * 
	 * @param bean
	 *            データbean
	 * @param count
	 *            カウンタ
	 * @return 番ポ利用有無
	 * @throws Exception
	 */
	private String getUseBmp(X31SDataBeanAccess bean, int count) throws Exception
	{

		X31SDataBeanAccessArray eotel = bean.getDataBeanArray(CommonInfoCFConst.EOTEL);

		// 
		if (eotel.getCount() <= count)
		{
			return "";
		}

		X31SDataBeanAccess eotelBean = eotel.getDataBean(count);

		return eotelBean.sendMessageString(CommonInfoCFConst.USE_BMP_12, X31CWebConst.DATABEAN_GET_VALUE);

	}

	/**
	 * Null又は空文字かどうかを判定する。 <BR>
	 * 
	 * @param value
	 * @return （true:null、または空文字、false:null、または空文字以外）
	 */
	private boolean isNullOrEmpty(String value)
	{
		return null == value || "".equals(value) || "null".equals(value);
	}

	/**
	 * Beanがnullかどうかを判定する。 <BR>
	 * 
	 * @param value
	 * @return （true:null、false:null以外）
	 */
	private boolean isNullBean(X31SDataBeanAccess value)
	{
		return null == value;
	}

}
