/*********************************************************************
* All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*   システム名      ：eo顧客基幹システム
*   モジュール名    ：eo光ネット入力（量販・訪販）
*   ソースファイル名：FUW00912SFLogic.java
*   作成者          ：富士通
*   日付            ：2012年01月31日
*＜機能概要＞
*   eo光ネット入力画面の制御を行います。
*＜修正履歴＞
*   バージョン  修正日       修正者      修正内容
*   v1.00       2012/01/31   FJ）大戸    新規作成
*   v4.00       2012/07/30   FJ) 大塚   「案件番号: ANK-0363-00-00」【巻き取り@】【FTTH従量制プラン_STEP2】対応
*   v4.00       2012/10/25   FJ) 岩元    IT1-2012-0001675
*   v4.01       2012/10/26   FJ) 大塚   「案件番号: ANK-1190-00-00」
*   v4.02       2012/11/22   FJ) 大塚   【IT2-2012-0001790】
*   v4.03       2012/12/25   FJ) 藤原   【TAI-2012-0000136-174】
*   v4.04       2012/12/29   FJ) 藤原   【TAI-2012-0000136-221】
*   v4.05       2013/03/07   FJ) 大村   「内部課題-No.2」サービス開始希望日の戻る遷移障害
*   v10.00      2014/07/04   FJ) 西山   「ANK-1918-00-00」US管理S向けeo顧客SのIF改修
*   v25.00      2016/06/06   FJ) 西川   【OM-2016-0000964】VDSLモデム聴き取り不具合に伴うログ出力
*   v36.00      2017/12/12   FJ) 高野   【ANK-3296-00-00】標準工事費分割請求
*   v39.00.00   2018/09/27   FJ) 中西   【ANK-3518-00-00】量販サービス追加
*   v40.00      2018/11/28   FJ) 松原   【ANK-3412-00-00】５ギガ・１０ギガコース導入対応【STEP1、2】
*   v40.00.00    2019/01/09  FJ) 西川   【ANK-3412-03-00】５ギガ・１０ギガコース導入対応(特約プログラム対応)
*   v48.00.00   2020/02/07   FJ) 岡井   【ANK-3757-00-00】マンション工事種別イーサ他社併行時のサービス開始希望日の入力欄制御
*   v51.00      2020/11/12   FJ）張本   【ANK-3949-00-00】Netflix導入対応（STEP1）
*   v56.00      2021/12/06   FJ）美濃原 【ANK-4103-00-00】マンション光コンセントタイプのWeb受付対応
*   v60.00      2022/06/20   FJ）美濃原 【ANK-4244-00-00】【eo定期】MT既設賃貸対応
*   v73.00.00   2024/09/10   FJ）余野木 【ANK-4427-00-00】NTT卸対応
**********************************************************************/

package eo.web.webview.FUW00912SF;

import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;

import com.fujitsu.futurity.common.JSYLogBase;
import com.fujitsu.futurity.common.JSYwebLog;
import com.fujitsu.futurity.web.x00.JCCBusinessException;
import com.fujitsu.futurity.web.x00.JCCWebServiceException;
import com.fujitsu.futurity.web.x31.X31CMessageResult;
import com.fujitsu.futurity.web.x31.X31CWebConst;
import com.fujitsu.futurity.web.x31.X31SDataBeanAccess;
import com.fujitsu.futurity.web.x31.X31SDataBeanAccessArray;
import com.fujitsu.futurity.web.x31.X31CMessageResult.X31CMessageMoreInfo;
import com.fujitsu.futurity.web.x33.X33CUtil;
import com.fujitsu.futurity.web.x33.X33WSessionController;

import eo.common.constant.JFUStrConst;
import eo.common.constant.JPCModelConstant;
import eo.common.util.JPCUtilCommon;
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;
import eo.web.webview.mapping.FUSV0003_FUSV0003OPDBMapper;
import eo.web.webview.mapping.FUSV0312_FUSV0312OPDBMapper;
import eo.web.webview.mapping.FUSV0314_FUSV0314OPDBMapper;

/**
 * eo光ネット入力画面のVIEWロジックです。
 * <br>
 * @author 富士通
 */
@SuppressWarnings("serial")
public class FUW00912SFLogic extends JCCWebBusinessLogic
{
	/** 共通設定情報　：　未契約、未選択、申し込まない、利用しない など */
	private static final String INFO_FALSE = "0";

	/** 共通設定情報　：　契約中、選択、申し込む、利用する など */
	private static final String INFO_TRUE = "1";

	/** ホームタイプ */
	private static final String HOME = "1";

	/** メゾンタイプ */
	private static final String MASION = "2";

	/** マンションタイプ */
	private static final String MANSION = "3";

// ANK-4427-00-00 ADD START
	/** typeNフラグ(ホームタイプ) */
	private static final String TYPEN_HOME = "1";

	/** typeNフラグ(マンションタイプ) */
	private static final String TYPEN_MANSION = "2";
// ANK-4427-00-00 ADD END

	/** 年 */
	public static final String L_YEAR_VALUE_LIST = "年";

	/** 月 */
	public static final String L_MONTH_VALUE_LIST = "月";

	/** 日*/
	public static final String L_DAY_VALUE_LIST = "日";

	/** プロパティ取得キー  即割 */
	private static final String SOKUWARI = "SOKUWARI";

	/** プロパティ取得キー  長割 */
	private static final String CHOWARI = "CHOWARI";

	/** サービスID　：　eo光ネット入力チェック */
	private static final String SERVICE_ID_FUSV0003 = "FUSV0003";

// ANK-3518-00-00 ADD START
	/** サービスID ： 工事一覧照会 */
	private static final String SERVICE_ID_FUSV0314 = "FUSV0314";
	
	/** サービスID ： eo光ネット入力(初期表示) */
	private static final String SERVICE_ID_FUSV0312 = "FUSV0312";
// ANK-3518-00-00 ADD END
	/** テンプレートID1 */
	private static final String TEMP_ID_1 = "EKK0091D010";

	/** テンプレートID2 */
	private static final String TEMP_ID_2 = "EKK0341D010";

	/** アプリケーションプロパティーキー*/
	private static final String FU_N_CHOWARI_MSKM = "FU_N_CHOWARI_MSKM";

	/** プロパティーキー ID*/
	private static final String P_ID = "id";

	/** プロパティーキー ホームタイプ*/
	private static final String BTN_INFO_HOME = "DISPSETTING/SETTING[@screenId='FUW00912']/DISPTEXT[@groupid='006']";

	/** プロパティーキー メゾンムタイプ*/
	private static final String BTN_INFO_MAISON = "DISPSETTING/SETTING[@screenId='FUW00912']/DISPTEXT[@groupid='007']";

	/** プロパティーキー マンションタイプ*/
	private static final String BTN_INFO_MANSION = "DISPSETTING/SETTING[@screenId='FUW00912']/DISPTEXT[@groupid='008']";

	/** プロパティーキー マンションタイプ 光配線（MANMOS管理） */
	private static final String BTN_INFO_MT_HIKARICHG = "DISPSETTING/SETTING[@screenId='FUW00912']/DISPTEXT[@groupid='008CHG_%1%']";

// ANK-4427-00-00 ADD START
	/** プロパティーキー typeNホームタイプ*/
	private static final String BTN_INFO_TYPEN_HOME = "DISPSETTING/SETTING[@screenId='FUW00912']/DISPTEXT[@groupid='009']";

	/** プロパティーキー typeNマンションタイプ*/
	private static final String BTN_INFO_TYPEN_MANSION = "DISPSETTING/SETTING[@screenId='FUW00912']/DISPTEXT[@groupid='010']";
// ANK-4427-00-00 ADD END

	/** ユーザーエージェント */
	private static final String USER_AGENT = "USER-AGENT";
// ANK-3518-00-00 ADD START
	/** ボタンID ：1ギガコース */
	private static final String COURSE_1G = "netCourse_3";
// ANK-3518-00-00 ADD END

	/** ボタンID：５ギガ／１０ギガ */
	public static final List<String> COURSE_5G10G = Arrays.asList("netCourse_5", "netCourse_6", "netCourse_8", "netCourse_9");

	/** サービス希望日制御フラグ：コース選択された際に表示する （イベント表示制御なし） */
	private static final String SVC_KB_CTRL_FLG_1 = "1";

	/** サービス希望日制御フラグ：コース選択された際に表示する 光配線（コンセント設置済）（イベント表示制御あり）*/
	private static final String SVC_KB_CTRL_FLG_2 = "2";

	/** サービス希望日制御フラグ：ギガイーサのダミー設定値 */
	private static final String SVC_KB_CTRL_FLG_9 = "9";

	/**
	 * 初期表示処理
	 *
	 * 共有フォームBean設定情報を、サービスフォームBeanに設定する
	 * 即割りチェック、サービス開始希望日の情報をセット
	 *
	 * @return true
	 * @throws Exception
	 */
	public boolean init() throws Exception
	{
		// 共有フォームBeanのデータBeanアクセスクラスを取得。
		X31SDataBeanAccess commoninfoBean = super.getCommonInfoBean();

		// サービスフォームBeanのデータBeanアクセスクラスを取得。
		X31SDataBeanAccess bean = super.getServiceFormBean();

		// 空データの作成
		createData(commoninfoBean);

		// "WEB新規"階層
		X31SDataBeanAccess ws = commoninfoBean.getDataBeanArray(CommonInfoCFConst.WEB_NEW_INFO).getDataBean(0);

		// "eo光ネット"階層
		X31SDataBeanAccess eoNet = ws.getDataBeanArray(CommonInfoCFConst.EONET).getDataBean(0);

		// マンション情報
		X31SDataBeanAccess wsMnshnInfo = (ws.getDataBeanArray(CommonInfoCFConst.MANSION_INFO)).getDataBean(0);

		// リダイレクト情報
		X31SDataBeanAccess redirectInfoBean = (ws.getDataBeanArray(CommonInfoCFConst.REDIRECT_INFO)).getDataBean(0);

		// IT2-2012-1790 2012/11/26 Otsuka
		// リダイレクト情報 - 遷移パターン(1:エリア検索 2:料金シミュレーション 3:モバイル単独申込 5:マンション検索)
		String redTransferPtn = redirectInfoBean.sendMessageString(CommonInfoCFConst.NAVIGATOR_PTN_17, X31CWebConst.DATABEAN_GET_VALUE);

		// その他情報
		X31SDataBeanAccess elseInfoBean = (ws.getDataBeanArray(CommonInfoCFConst.ELSE_INFO)).getDataBean(0);

		// その他情報 サービス再選択フラグ 1:再選択
		String svcKeiyuFlg = elseInfoBean.sendMessageString(CommonInfoCFConst.SVC_RECHOICE_FLG_18, X31CWebConst.DATABEAN_GET_VALUE);

// ANK-3296-00-00 ADD START
		// "契約サービス情報"階層
		X31SDataBeanAccess kykSvc = (ws.getDataBeanArray(CommonInfoCFConst.KEIYAKU_SVC_INFO)).getDataBean(0);
// ANK-3296-00-00 ADD END

		String typeKbn = getKaisenType(commoninfoBean);

		// 運用日をセット
		bean.sendMessageString(FUW00912SFConst.UNYO_DATE, X31CWebConst.DATABEAN_SET_VALUE, JCCWebCommon.getOpeDate(this, null));

		// サービス開始日表示フラグ設定（初期化）
		bean.sendMessageBoolean(FUW00912SFConst.SVC_KB_DSP_FLG, X31CWebConst.DATABEAN_SET_VALUE, false);
		// サービス開始日表示フラグ設定（初期化）
		bean.sendMessageString(FUW00912SFConst.SVC_KB_CTRL_FLG, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);

		if (eoNet != null)
		{
			Map<String, String> map = null;
			boolean lightFlg = true; // 100Mライトコース表示判定フラグ
			String hhs1gonlyFlg = null;

			// サービスフォームBean設定処理
			if (HOME.equals(typeKbn))
			{
// ANK-4427-00-00 MOD START
				String typenFlg = ws.sendMessageString(CommonInfoCFConst.TYPEN_FLG_06, X31CWebConst.DATABEAN_GET_VALUE);

				if (typenFlg.isEmpty())
				{
					// FUDispDefinitionからホームタイプのボタン情報を取得する。
					map = JFUWebCommon.getDispItemsAsMap(BTN_INFO_HOME, P_ID);
				}
				else
				{
					if (typenFlg.equals(TYPEN_HOME)) 
					{
						// FUDispDefinitionからtypeNホームタイプのボタン情報を取得する。
						map = JFUWebCommon.getDispItemsAsMap(BTN_INFO_TYPEN_HOME, P_ID);
					}
					else if (typenFlg.equals(TYPEN_MANSION))
					{
						// FUDispDefinitionからtypeNマンションタイプのボタン情報を取得する。
						map = JFUWebCommon.getDispItemsAsMap(BTN_INFO_TYPEN_MANSION, P_ID);
					}
				}
// ANK-4427-00-00 MOD END
			}
			else if (MASION.equals(typeKbn))
			{
				// FUDispDefinitionからメゾンタイプのボタン情報を取得する。
				map = JFUWebCommon.getDispItemsAsMap(BTN_INFO_MAISON, P_ID);
			}
			// マンションタイプの場合
			else if (MANSION.equals(typeKbn))
			{
				String teikyoHoshikiPtnCd =
						wsMnshnInfo.sendMessageString(CommonInfoCFConst.TEIKYO_HOSHIKI_PTN_CD_16, X31CWebConst.DATABEAN_GET_VALUE);
				boolean svcKibDspFlg = JFUWebCommon.getSvcKiboDspFlg(ws);
				if (JFUStrConst.TK_HOSHIKI_PTN_GG_ENET.equals(teikyoHoshikiPtnCd) && svcKibDspFlg)
				{
					// サービス開始日表示フラグ設定
					bean.sendMessageString(FUW00912SFConst.SVC_KB_CTRL_FLG, X31CWebConst.DATABEAN_SET_VALUE, SVC_KB_CTRL_FLG_9);
					// ※ギガイーサのは、JSP等で制御しているので、ここでは設定しない。
					svcKibDspFlg = false;
				}
				bean.sendMessageBoolean(FUW00912SFConst.SVC_KB_DSP_FLG, X31CWebConst.DATABEAN_SET_VALUE, svcKibDspFlg);

				String tonai_speed_cd = wsMnshnInfo.sendMessageString(CommonInfoCFConst.TONAI_SPEED_CD_16, X31CWebConst.DATABEAN_GET_VALUE);
				String tkHosikiChgSbtCd = JFUWebCommon.getTkHosikiChgSbtCd(wsMnshnInfo);
				if (svcKibDspFlg)
				{
					if (JFUWebCommon.isHikariConcent(tkHosikiChgSbtCd))
					{
						bean.sendMessageString(FUW00912SFConst.SVC_KB_CTRL_FLG, X31CWebConst.DATABEAN_SET_VALUE, SVC_KB_CTRL_FLG_1);
					}
					else if (JFUWebCommon.isTkHosikiChgSbtCd(tkHosikiChgSbtCd))
					{
						// 光配線（全戸一括）のみで使用
						bean.sendMessageString(FUW00912SFConst.SVC_KB_CTRL_FLG, X31CWebConst.DATABEAN_SET_VALUE, SVC_KB_CTRL_FLG_2);
					}
					else if (JFUStrConst.TK_HOSHIKI_PTN_ENET.equals(teikyoHoshikiPtnCd))
					{
						bean.sendMessageString(FUW00912SFConst.SVC_KB_CTRL_FLG, X31CWebConst.DATABEAN_SET_VALUE, SVC_KB_CTRL_FLG_9);
					}
				}

				// ANK-1190-00-00 Otsuka 2012/10/25
				if (isYearMonthDayList(bean))
				{
					// 日付プルダウンリストの作成
					getYearMonthDayListValue(bean, commoninfoBean);
				}
				// ANK-1190-00-00 Otsuka 2012/10/25 end

				// 光配線（全戸一括以外）
				boolean isHikarihaisen = false;

				if (!JFUWebCommon.isTkHosikiChgSbtCd(tkHosikiChgSbtCd))
				{
					// 提供方式変更以外
					isHikarihaisen =
							JFUStrConst.TK_HOSHIKI_PTN_HIKARI_HAISEN.equals(wsMnshnInfo.sendMessageString(CommonInfoCFConst.TEIKYO_HOSHIKI_PTN_CD_16,
									X31CWebConst.DATABEAN_GET_VALUE));

					if (isHikarihaisen)
					{ // 光配線マンションの場合、光配線(1ギガのみ)マンションと判断するため、回線使用契約スキーマの「光配線1Gのみフラグ」を取得。
						hhs1gonlyFlg = wsMnshnInfo.sendMessageString(CommonInfoCFConst.HHS_1GONLY_FLG_16, X31CWebConst.DATABEAN_GET_VALUE);
					}
				}

				if (JFUWebCommon.isHikariZenko(tkHosikiChgSbtCd) || JFUStrConst.HHS_1GONLY_FLG_1.equals(hhs1gonlyFlg))
				{
					// 光配線1Gのみフラグ ／光配線（全戸一括）の場合、ボタン情報を取得します。
					String key = BTN_INFO_MT_HIKARICHG.replace("%1%", tonai_speed_cd);
					map = JFUWebCommon.getDispItemsAsMap(key, P_ID);
					lightFlg = false;
				}
				else if (JFUStrConst.TK_HOSHIKI_PTN_GG_ENET.equals(wsMnshnInfo.sendMessageString(CommonInfoCFConst.TEIKYO_HOSHIKI_PTN_CD_16, X31CWebConst.DATABEAN_GET_VALUE))
						|| JFUStrConst.TK_HOSHIKI_PTN_HIKARI_HAISEN.equals(wsMnshnInfo.sendMessageString(CommonInfoCFConst.TEIKYO_HOSHIKI_PTN_CD_16, X31CWebConst.DATABEAN_GET_VALUE)))
				{
					// ギガイーサー、光回線の場合のみボタン情報を取得します。
					map = JFUWebCommon.getDispItemsAsMap(BTN_INFO_MANSION, P_ID);

					// 提供方式コード
					String tkHoshikiCd = wsMnshnInfo.sendMessageString(CommonInfoCFConst.TEIKYO_HOSHIKI_CD_16, X31CWebConst.DATABEAN_GET_VALUE);

					// 加入契約申込条件コード
					String knykeiMskmJknCd =
							wsMnshnInfo.sendMessageString(CommonInfoCFConst.KNYKEI_MSKM_JOKEN_CD_16, X31CWebConst.DATABEAN_GET_VALUE);

					// 従量制申込可能フラグ
					String juryoseiMskmFlg = wsMnshnInfo.sendMessageString(CommonInfoCFConst.JURYOSEI_MSKM_FLG_16, X31CWebConst.DATABEAN_GET_VALUE);

					// 光回線かつ全戸一括かつ申し込み可能な場合
					if (JFUStrConst.TK_HOSHIKI_HIKARI_HAISEN.equals(tkHoshikiCd) && !JFUStrConst.KNYKEI_MSKM_JOKEN_IKT.equals(knykeiMskmJknCd) // IT1-2012-0001675 2012/10/25 h.iwamoto 修正
							&& JFUStrConst.JURYOSEI_MSKM_PSB.equals(juryoseiMskmFlg))
					{
						lightFlg = true;
					}
					else
					{
						lightFlg = false;
					}
				}
			}

			// ボタン情報をサービスフォームBeanにセット
			if (map != null)
			{
				setBtnDispInfo(map, typeKbn, lightFlg);
			}

			// eo光ネット情報が存在した場合のみ（戻る or 確認画面からの遷移時）
			// 同意チェックボックスをチェックする

			// ネットコース
			String netCourse = eoNet.sendMessageString(CommonInfoCFConst.NET_COURSE_11, X31CWebConst.DATABEAN_GET_VALUE);

			// ネットコースが100M・100Mライト・1ギガがすでに選択されていた場合
			if (JFUStrConst.NET_COURSE_100M.equals(netCourse) || JFUStrConst.NET_COURSE_100M_LIGHT.equals(netCourse)
					|| JFUStrConst.NET_COURSE_1G.equals(netCourse) || JFUStrConst.NET_COURSE_5G.equals(netCourse)
					|| JFUStrConst.NET_COURSE_10G.equals(netCourse) || JFUStrConst.NET_COURSE_1G_NF.equals(netCourse)
					|| JFUStrConst.NET_COURSE_5G_NF.equals(netCourse) || JFUStrConst.NET_COURSE_10G_NF.equals(netCourse))
			{
				// 同意フラグをtrueにする。
				bean.sendMessageBoolean(FUW00912SFConst.TKY_JKN_AGR, X31CWebConst.DATABEAN_SET_VALUE, true);
			}
			else
			{
				// 一応保険として。
				// モデムプラン
				String netModem = eoNet.sendMessageString(CommonInfoCFConst.MODEM_PLAN_11, X31CWebConst.DATABEAN_GET_VALUE);

				if (JFUStrConst.MODEM_PLAN_KAITORI.equals(netModem) || JFUStrConst.MODEM_PLAN_RENT.equals(netModem))
				{
					// 同意フラグをtrueにする。
					bean.sendMessageBoolean(FUW00912SFConst.TKY_JKN_AGR, X31CWebConst.DATABEAN_SET_VALUE, true);
				}
			}
			// eo光ネット情報が存在した場合のみ（戻る or 確認画面からの遷移時）
			// ホームかメゾンの場合
			if (HOME.equals(typeKbn) || MASION.equals(typeKbn))
			{
				// 即割
				if (INFO_TRUE.equals(eoNet.sendMessageString(CommonInfoCFConst.NET_SOKUWARI_11, X31CWebConst.DATABEAN_GET_VALUE)))
				{
					// 即割が選択の場合
					bean.sendMessageBoolean(FUW00912SFConst.SOKUWARI, X31CWebConst.DATABEAN_SET_VALUE, true);
				}
				else
				{
					// 即割が未選択の場合
					bean.sendMessageBoolean(FUW00912SFConst.SOKUWARI, X31CWebConst.DATABEAN_SET_VALUE, false);
				}

				// 高速割
				if (INFO_TRUE.equals(eoNet.sendMessageString(CommonInfoCFConst.NET_KOSOKUWARI_11, X31CWebConst.DATABEAN_GET_VALUE)))
				{
					// 高速割が選択の場合
					bean.sendMessageBoolean(FUW00912SFConst.KOSOKUWARI, X31CWebConst.DATABEAN_SET_VALUE, true);
				}
				else
				{
					// 高速割が未選択の場合
					bean.sendMessageBoolean(FUW00912SFConst.KOSOKUWARI, X31CWebConst.DATABEAN_SET_VALUE, false);
				}

				// 長割
				if (INFO_TRUE.equals(eoNet.sendMessageString(CommonInfoCFConst.NET_CHOWARI_11, X31CWebConst.DATABEAN_GET_VALUE)))
				{
					// 長割が選択の場合
					bean.sendMessageBoolean(FUW00912SFConst.CHOWARI, X31CWebConst.DATABEAN_SET_VALUE, true);
				}
				else
				{
					// 長割が未選択の場合
					bean.sendMessageBoolean(FUW00912SFConst.CHOWARI, X31CWebConst.DATABEAN_SET_VALUE, false);
				}

				// 自動継続
				if (INFO_TRUE.equals(eoNet.sendMessageString(CommonInfoCFConst.AUTO_KEIZOKU_11, X31CWebConst.DATABEAN_GET_VALUE)))
				{
					// 自動継続が選択の場合
					bean.sendMessageBoolean(FUW00912SFConst.AUTO_KEIZOKU, X31CWebConst.DATABEAN_SET_VALUE, true);
				}
				else
				{
					// 自動継続が未選択の場合
					bean.sendMessageBoolean(FUW00912SFConst.AUTO_KEIZOKU, X31CWebConst.DATABEAN_SET_VALUE, false);
				}

				// 長割申込 APLConstから値を取得
				String chowari_mskm = JCCWebCommon.getApplicationConst(FU_N_CHOWARI_MSKM);

				// 値が1の場合
				if (INFO_TRUE.equals(chowari_mskm))
				{
					// 1(表示)を設定
					bean.sendMessageString(FUW00912SFConst.CHOWARI_MSKM, X31CWebConst.DATABEAN_SET_VALUE, INFO_TRUE);
				}
				else
				{
					// それ以外は0(非表示)を設定
					bean.sendMessageString(FUW00912SFConst.CHOWARI_MSKM, X31CWebConst.DATABEAN_SET_VALUE, INFO_FALSE);
				}
			}

			if (MANSION.equals(typeKbn))
			{
				// 提供方式パターンが"VDSL"もしくは"VDSL-S"の場合
				if (JFUStrConst.TK_HOSHIKI_PTN_VDSL.equals(wsMnshnInfo.sendMessageString(CommonInfoCFConst.TEIKYO_HOSHIKI_PTN_CD_16, X31CWebConst.DATABEAN_GET_VALUE)
						)
						|| JFUStrConst.TK_HOSHIKI_PTN_VDSLS.equals(wsMnshnInfo.sendMessageString(CommonInfoCFConst.TEIKYO_HOSHIKI_PTN_CD_16, X31CWebConst.DATABEAN_GET_VALUE)
								))
				{
					// モデム選択情報の設定
					bean.sendMessageString(FUW00912SFConst.MDM_PLAN, X31CWebConst.DATABEAN_SET_VALUE, eoNet.sendMessageString(
							CommonInfoCFConst.MODEM_PLAN_11, X31CWebConst.DATABEAN_GET_VALUE));
				}

				// マンションの場合、eo光ネットコースが画面で選択できないので、提供方式パターンコードにより光ネットコースを設定する。
				if (JFUStrConst.EMPTY.equals(eoNet.sendMessageString(CommonInfoCFConst.NET_COURSE_11, X31CWebConst.DATABEAN_GET_VALUE)))
				{
					// VDSL、VDSL-S、イーサネットの場合、光ネットコースに"1:100M"を設定する。
					// 提供方式パターンコードが"VDSL"もしくは"VDSL-S"の場合
					if (JFUStrConst.TK_HOSHIKI_PTN_VDSL.equals(wsMnshnInfo.sendMessageString(CommonInfoCFConst.TEIKYO_HOSHIKI_PTN_CD_16, X31CWebConst.DATABEAN_GET_VALUE))
							|| JFUStrConst.TK_HOSHIKI_PTN_VDSLS.equals(wsMnshnInfo.sendMessageString(CommonInfoCFConst.TEIKYO_HOSHIKI_PTN_CD_16, X31CWebConst.DATABEAN_GET_VALUE))
							|| JFUStrConst.TK_HOSHIKI_PTN_ENET.equals(wsMnshnInfo.sendMessageString(CommonInfoCFConst.TEIKYO_HOSHIKI_PTN_CD_16, X31CWebConst.DATABEAN_GET_VALUE)))
					{
						eoNet.sendMessageString(CommonInfoCFConst.NET_COURSE_11, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.NET_COURSE_100M);
					}
					else if (JFUWebCommon.isTkHosikiChgSbtCd(wsMnshnInfo))
					{
						// 提供方式変更の料金コースは、1ギガコースとする。
						eoNet.sendMessageString(CommonInfoCFConst.NET_COURSE_11, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.NET_COURSE_1G);
					}
				}
			}
// ANK-3518-00-00 ADD START
			
			// 申込区分
			String mskmKbn = ws.sendMessageString(CommonInfoCFConst.MSKM_KBN_06, X31CWebConst.DATABEAN_GET_VALUE);
			
			// "その他情報.回線場所選択"
			String kaisenSelect = elseInfoBean.sendMessageString(CommonInfoCFConst.KAISEN_SELECT_18, X31CWebConst.DATABEAN_GET_VALUE);

			// 追加申込 かつ 契約中の回線に追加する場合
			if (JFUStrConst.MSKM_KBN_ADD.equals(mskmKbn) && JFUStrConst.KAISEN_SELECT_ADD_KEI.equals(kaisenSelect))
			{
				// 工事一覧照会を取得する。
				// サービスI/Fの呼び出し処理
				callInitKojiSIF(bean, commoninfoBean);
			}
// ANK-3518-00-00 ADD END

// ANK-3296-00-00 ADD START
			// 標準工事費お支払い方法設定
			String wsStKojiPayway = ws.sendMessageString(CommonInfoCFConst.STDARD_KOJIHI_PAYWAY_06, X31CWebConst.DATABEAN_GET_VALUE);
			if (JFUStrConst.EMPTY.equals(wsStKojiPayway))
			{
				// 初期値(分割払い) 設定
				bean.sendMessageString(FUW00912SFConst.STDARD_KOJIHI_PAYWAY, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.STDARD_KOJIHI_PAYWAY_BUNKATSU);
			}
			else
			{
				bean.sendMessageString(FUW00912SFConst.STDARD_KOJIHI_PAYWAY, X31CWebConst.DATABEAN_SET_VALUE, wsStKojiPayway);
			}
			
// ANK-3518-00-00 MOD START
//			// (ホームタイプ または メゾンタイプ)
//			// 上記条件に当てはまる場合は、"1(表示)"を設定
//			// 上記条件以外は、"0(非表示)"を設定

			// "契約サービス情報.契約中サービス(電話)
			String kykSvcTel = kykSvc.sendMessageString(CommonInfoCFConst.NOW_SVC_TEL_10, X31CWebConst.DATABEAN_GET_VALUE);
			
			// (ホームタイプ または メゾンタイプ) 且つ
			// (新規申込 または
			// (追加申込 且つ 契約中回線に追加 且つ 契約中サービス(電話)が未契約 かつ 工事が存在しない) または
			// (追加申込 且つ 新しい場所に回線を追加))
			// 上記条件に当てはまる場合は、"1(表示)"を設定
			// 上記条件以外は、"0(非表示)"を設定
			if ((HOME.equals(typeKbn) || MASION.equals(typeKbn)) && 
				(JFUStrConst.MSKM_KBN_NEW.equals(mskmKbn) ||
				(JFUStrConst.MSKM_KBN_ADD.equals(mskmKbn) && JFUStrConst.KAISEN_SELECT_ADD_KEI.equals(kaisenSelect) && 
						JFUStrConst.NOW_SVC_TEL_MI_KEI.equals(kykSvcTel) && !(bean.sendMessageBoolean(FUW00912SFConst.KOJI_SONZAI_FLG, X31CWebConst.DATABEAN_GET_VALUE))) ||
				(JFUStrConst.MSKM_KBN_ADD.equals(mskmKbn) && JFUStrConst.KAISEN_SELECT_ADD_NEW_PLACE.equals(kaisenSelect))))
			{
// ANK-3518-00-00 MOD END
				bean.sendMessageString(FUW00912SFConst.STDARD_KOJIHI_PAYWAY_DSP_FLG, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.STDARD_KOJIHI_PAYWAY_DISP_ON);
			}
			else
			{
				bean.sendMessageString(FUW00912SFConst.STDARD_KOJIHI_PAYWAY_DSP_FLG, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.STDARD_KOJIHI_PAYWAY_DISP_OFF);
			}
// ANK-3296-00-00 ADD END
		}

		// 工期文言の表示制御
		// ホームタイプかつ共有フォームBean.リダイレクト情報.遷移パターンが"2"(料金シミュレーション)の場合かつ
		// その他情報 可能サービス確認経由フラグ 1:経由している以外の場合
		if (HOME.equals(typeKbn) && JFUStrConst.NAVI_PTN_SIML.equals(redTransferPtn) // IT2-2012-1790 2012/11/26 Otsuka
				&& !JFUStrConst.PSD_SVC_CFM_KEIYU_FLG_KEIYU.equals(svcKeiyuFlg))
		{
			// 工期文言の表示情報を設定
			setIntroMsgInfo(ws);
		}

		return true;
	}

	/**
	 * 戻るボタン押下時
	 *
	 * @return true
	 * @throws Exception
	 */
	public boolean back() throws Exception
	{
		// 共通クリア処理
		JFUWebCommon.comClear(this);

		// FUW00911 サービス選択（量販・訪販）へ遷移
		setNextScreen(JFUScreenConst.SCREEN_ID_FUW00911, JFUScreenConst.SCREEN_NAME_FUW00911);

		return true;
	}

	/**
	 * 次へボタン押下時
	 *
	 * @return true
	 * @throws Exception
	 */
	public boolean next() throws Exception
	{
		// 共有フォームBeanのデータBeanアクセスクラスを取得。
		X31SDataBeanAccess commoninfoBean = super.getCommonInfoBean();

		// サービスフォームBeanのデータBeanアクセスクラスを取得。
		X31SDataBeanAccess bean = super.getServiceFormBean();

		// 共通処理の実行
		executeNextScrean(bean, commoninfoBean);

		// "WEB新規"階層
		X31SDataBeanAccess ws = (commoninfoBean.getDataBeanArray(CommonInfoCFConst.WEB_NEW_INFO)).getDataBean(0);

		// "契約サービス情報"階層
		X31SDataBeanAccess kykSvc = (ws.getDataBeanArray(CommonInfoCFConst.KEIYAKU_SVC_INFO)).getDataBean(0);

		// "eoモバイル"階層
		X31SDataBeanAccess eoMbl = (ws.getDataBeanArray(CommonInfoCFConst.EOMOBILE)).getDataBean(0);

		// 遷移先判定
		if (INFO_TRUE.equals(kykSvc.sendMessageString(CommonInfoCFConst.SELECT_SVC_TEL_10, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			// eo光電話が選択されていた場合、eo光電話入力（量販・訪販）画面に遷移
			setNextScreen(JFUScreenConst.SCREEN_ID_FUW00913, JFUScreenConst.SCREEN_NAME_FUW00913);
		}
		else if (INFO_TRUE.equals(kykSvc.sendMessageString(CommonInfoCFConst.SELECT_SVC_TV_10, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			// eo光テレビが選択されていた場合、eo光テレビ入力（量販・訪販）画面に遷移
			setNextScreen(JFUScreenConst.SCREEN_ID_FUW00914, JFUScreenConst.SCREEN_NAME_FUW00914);
		}
		else if (!INFO_FALSE.equals(eoMbl.sendMessageString(CommonInfoCFConst.MOBILE_COURSE_14, X31CWebConst.DATABEAN_GET_VALUE))
				&& !JFUStrConst.EMPTY.equals(eoMbl.sendMessageString(CommonInfoCFConst.MOBILE_COURSE_14, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			// eoモバイルが選択されていた場合、eoモバイル入力（量販・訪販）画面に遷移
			setNextScreen(JFUScreenConst.SCREEN_ID_FUW00915, JFUScreenConst.SCREEN_NAME_FUW00915);
		}
		else
		{
			// 上記以外の場合、サービス選択内容確認（量販・訪販）画面に遷移
			setNextScreen(JFUScreenConst.SCREEN_ID_FUW00926, JFUScreenConst.SCREEN_NAME_FUW00926);
		}

		return true;
	}

	/**
	 * 確認画面へ戻る押下時
	 *
	 * @return true
	 * @throws Exception
	 */
	public boolean backKakunin() throws Exception
	{
		// 共有フォームBeanのデータBeanアクセスクラスを取得。
		X31SDataBeanAccess commonInfoBean = super.getCommonInfoBean();

		// "WEB新規"階層
		X31SDataBeanAccess ws = (commonInfoBean.getDataBeanArray(CommonInfoCFConst.WEB_NEW_INFO)).getDataBean(0);

		// サービスフォームBeanのデータBeanアクセスクラスを取得。
		X31SDataBeanAccess bean = super.getServiceFormBean();

		// 共通処理の実行
		executeNextScrean(bean, commonInfoBean);

		// 画面遷移モード 通常遷移 を設定
		ws.sendMessageString(CommonInfoCFConst.SCREEN_MODE_06, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.SCREEN_MODE_DEF);

		// サービス選択内容確認（量販・訪販）画面に遷移
		setNextScreen(JFUScreenConst.SCREEN_ID_FUW00926, JFUScreenConst.SCREEN_NAME_FUW00926);

		return true;
	}

	/**
	 * 料金シミュレーションを呼び出します。
	 *
	 * @return true
	 * @throws Exception
	 */
	public boolean ryokin() throws Exception
	{
		// 料金シミュレーション共通部品を呼び出し
		JFUWebCommon.ryokin(this);

		return true;
	}

	/**
	 * 次画面遷移共通処理<br>
	 * 「次へ」「確認画面へ戻る」の共通処理を実行します。
	 * <br>
	 * @param bean				サービスフォームBean
	 * @param commoninfoBean	共有フォームBean
	 * @throws Exception
	 */
	private void executeNextScrean(X31SDataBeanAccess bean, X31SDataBeanAccess commoninfoBean) throws Exception
	{
		// 回線タイプを取得
		String typeKbn = getKaisenType(commoninfoBean);

		// サービスフォームBean設定処理

		// ホームタイプまたはメゾンタイプの場合
		if (HOME.equals(typeKbn) || MASION.equals(typeKbn))
		{
			setSfbForHomeMaison(bean, commoninfoBean, typeKbn);
		}
		// マンションタイプの場合
		else if (MANSION.equals(typeKbn))
		{
			setSfbForMansion(bean, commoninfoBean, typeKbn);
		}

		// サービスI/Fの呼び出し処理
		callSIFCheck(bean, commoninfoBean);

		// 共有フォームBeanに引継情報を設定
		setCommonBean(bean, commoninfoBean, typeKbn);
	}

	/**
	 * 回線タイプを取得します。<br>
	 * 「ホームタイプ」「メゾンタイプ」「マンションタイプ」の判定。
	 * @param commoninfoBean	共有フォームBean
	 * @return typeKbn			"1"(ホーム)、"2"(メゾン)、"3"(マンション)
	 */
	public String getKaisenType(X31SDataBeanAccess commoninfoBean)
	{
		String typeKbn = "";

		// "WEB新規"階層
		X31SDataBeanAccess ws = (commoninfoBean.getDataBeanArray(CommonInfoCFConst.WEB_NEW_INFO)).getDataBean(0);

		if (JFUStrConst.MSKM_KSN_SVC_HOME.equals(ws.sendMessageString(CommonInfoCFConst.MSKM_KSN_SVC_06, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			typeKbn = HOME;
			return typeKbn;
		}

		if (JFUStrConst.MSKM_MNS_TYPE_MEZON.equals(ws.sendMessageString(CommonInfoCFConst.MSKM_MNS_TYPE_06, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			typeKbn = MASION;
		}

		if (JFUStrConst.MSKM_MNS_TYPE_MANSION.equals(ws.sendMessageString(CommonInfoCFConst.MSKM_MNS_TYPE_06, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			typeKbn = MANSION;
		}

		return typeKbn;
	}

	/**
	 * サービスフォームBeanに情報を設定します。<br>
	 * 本メソッドはホームタイプ、メゾンタイプ用です。
	 * <br>
	 * @param bean				サービスフォームBean
	 * @param commoninfoBean	共有フォームBean
	 * @param typeKbn
	 * @throws Exception
	 */
	private void setSfbForHomeMaison(X31SDataBeanAccess bean, X31SDataBeanAccess commoninfoBean, String typeKbn) throws Exception
	{
		// ラジオボタン選択値をカンマで分割し配列に保持します。（料金グループコード、料金コースコード、料金プランコードの順）
		String[] radio_val = bean.sendMessageString(FUW00912SFConst.COURSE_SELECT, X31CWebConst.DATABEAN_GET_VALUE).split(JFUStrConst.COMMA);

		// 料金グループコードの設定
		bean.sendMessageString(FUW00912SFConst.PRC_GRP_CD, X31CWebConst.DATABEAN_SET_VALUE, radio_val[0]);
		bean.sendMessageString(FUW00912SFConst.PCRS_CD, X31CWebConst.DATABEAN_SET_VALUE, radio_val[1]);
		bean.sendMessageString(FUW00912SFConst.PPLAN_CD, X31CWebConst.DATABEAN_SET_VALUE, radio_val[2]);

		// 即割・長割・自動継続の設定
		setWrbkSvc(bean);
		// 異動区分の設定
		setSvcCdAndIdoDiv(bean, commoninfoBean);
	}

	/**
	 * サービスフォームBeanに情報を設定します。<br>
	 * 本メソッドはマンションタイプ用です。
	 * <br>
	 * @param bean				サービスフォームBean
	 * @param commoninfoBean	共有フォームBean
	 * @param typeKbn
	 */
	private void setSfbForMansion(X31SDataBeanAccess bean, X31SDataBeanAccess commoninfoBean, String typeKbn)
	{
		// "WEB新規"階層
		X31SDataBeanAccess ws = (commoninfoBean.getDataBeanArray(CommonInfoCFConst.WEB_NEW_INFO)).getDataBean(0);

		// "eo光ネット"階層
		X31SDataBeanAccess eoNet = (ws.getDataBeanArray(CommonInfoCFConst.EONET)).getDataBean(0);

		// マンション情報
		X31SDataBeanAccess wsMnshnInfo = (ws.getDataBeanArray(CommonInfoCFConst.MANSION_INFO)).getDataBean(0);

		// 料金グループコードの設定
		bean.sendMessageString(FUW00912SFConst.PRC_GRP_CD, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.CD00133_04);

		// マンションの提供方式パターンを取得
		String teikyoHoshikiPtnCd = wsMnshnInfo.sendMessageString(CommonInfoCFConst.TEIKYO_HOSHIKI_PTN_CD_16, X31CWebConst.DATABEAN_GET_VALUE);

		// マンションの提供方式を取得
		String teikyoHoshikiCd = wsMnshnInfo.sendMessageString(CommonInfoCFConst.TEIKYO_HOSHIKI_CD_16, X31CWebConst.DATABEAN_GET_VALUE);

		// 提供方式変更の場合
		if (JFUWebCommon.isTkHosikiChgSbtCd(wsMnshnInfo))
		{
			// 料金コースコード、料金プランコードの設定
			bean.sendMessageString(FUW00912SFConst.PCRS_CD, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.CD00134_A57);
			bean.sendMessageString(FUW00912SFConst.PPLAN_CD, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.CD00565_PA5701);
		}
		// 提供方式パターンがギガイーサ、光配線のどちらかの場合
		else if (JFUStrConst.TK_HOSHIKI_PTN_GG_ENET.equals(teikyoHoshikiPtnCd) || JFUStrConst.TK_HOSHIKI_PTN_HIKARI_HAISEN.equals(teikyoHoshikiPtnCd))
		{
			// ラジオボタン選択値をカンマで分割し配列に保持します。（料金グループコード、料金コースコード、料金プランコードの順）
			String[] radio_val = bean.sendMessageString(FUW00912SFConst.COURSE_SELECT, X31CWebConst.DATABEAN_GET_VALUE).split(JFUStrConst.COMMA);

			// 料金グループコードの設定
			bean.sendMessageString(FUW00912SFConst.PRC_GRP_CD, X31CWebConst.DATABEAN_SET_VALUE, radio_val[0]);
			bean.sendMessageString(FUW00912SFConst.PCRS_CD, X31CWebConst.DATABEAN_SET_VALUE, radio_val[1]);
			bean.sendMessageString(FUW00912SFConst.PPLAN_CD, X31CWebConst.DATABEAN_SET_VALUE, radio_val[2]);
		}

		// 提供方式がイーサーの場合
		if (JFUStrConst.TK_HOSHIKI_ENET.equals(teikyoHoshikiCd))
		{
			//TODO 料金コースコード、料金プランコードの設定
			bean.sendMessageString(FUW00912SFConst.PCRS_CD, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.CD00134_A54);
			bean.sendMessageString(FUW00912SFConst.PPLAN_CD, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.CD00565_PA5401);
		}

		// 提供方式パターンが"VDSL"もしくは"VDSL-S"の場合
		if (JFUStrConst.TK_HOSHIKI_PTN_VDSL.equals(teikyoHoshikiPtnCd) || JFUStrConst.TK_HOSHIKI_PTN_VDSLS.equals(teikyoHoshikiPtnCd))
		{
			// 提供方式がVDSL2の場合
			if (JFUStrConst.TK_HOSHIKI_VDSL2.equals(teikyoHoshikiCd))
			{
				//TODO 料金コースコード、料金プランコードの設定

				bean.sendMessageString(FUW00912SFConst.PCRS_CD, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.CD00134_A50);
				bean.sendMessageString(FUW00912SFConst.PPLAN_CD, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.CD00565_PA5001);
			}
			// 提供方式がVDSL3の場合
			if (JFUStrConst.TK_HOSHIKI_VDSL3.equals(teikyoHoshikiCd))
			{
				//TODO 料金コースコード、料金プランコードの設定
				bean.sendMessageString(FUW00912SFConst.PCRS_CD, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.CD00134_A51);
				bean.sendMessageString(FUW00912SFConst.PPLAN_CD, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.CD00565_PA5101);
			}
			// 提供方式がVDSL4の場合
			if (JFUStrConst.TK_HOSHIKI_VDSL4.equals(teikyoHoshikiCd))
			{
				//TODO 料金コースコード、料金プランコードの設定

				bean.sendMessageString(FUW00912SFConst.PCRS_CD, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.CD00134_A52);
				bean.sendMessageString(FUW00912SFConst.PPLAN_CD, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.CD00565_PA5201);
			}
			// 提供方式がVDSL5の場合
			if (JFUStrConst.TK_HOSHIKI_VDSL5.equals(teikyoHoshikiCd))
			{
				//TODO 料金コースコード、料金プランコードの設定
				bean.sendMessageString(FUW00912SFConst.PCRS_CD, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.CD00134_A53);
				bean.sendMessageString(FUW00912SFConst.PPLAN_CD, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.CD00565_PA5301);
			}

			// 機器提供サービスコードの設定（"C005"(モデム)固定）
			bean.sendMessageString(FUW00912SFConst.KKTK_SVC_CD, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.KK0771_KKTK_SVC_CD_C005);

			//TODO 料金コースコード(モデム)、料金プランコード(モデム)の設定
			bean.sendMessageString(FUW00912SFConst.PCRS_CD_MODEM, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.CD00134_C06);
			bean.sendMessageString(FUW00912SFConst.PPLAN_CD_MODEM, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.CD00565_PC0601);

			// モデム選択情報の設定
			String mdmPlan = bean.sendMessageString(FUW00912SFConst.MDM_PLAN, X31CWebConst.DATABEAN_GET_VALUE);
			String modemPlan = eoNet.sendMessageString(CommonInfoCFConst.MODEM_PLAN_11, X31CWebConst.DATABEAN_GET_VALUE);

			if (JFUWebCommon.isNull(mdmPlan))
			{
				// リクエスト情報のモデムプランが存在しない場合に共有フォームBeanのモデムプランを設定。

				bean.sendMessageString(FUW00912SFConst.MDM_PLAN, X31CWebConst.DATABEAN_SET_VALUE, modemPlan);
				mdmPlan = modemPlan;
			}

			// 機器提供種別コード
			if (JFUStrConst.MODEM_PLAN_KAITORI.equals(bean.sendMessageString(FUW00912SFConst.MDM_PLAN, X31CWebConst.DATABEAN_GET_VALUE)))
			{
				// モデム（買取）が選択されていた場合
				bean.sendMessageString(FUW00912SFConst.KKTK_SBT_CD, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.CD00212_01);
			}
			else if (JFUStrConst.MODEM_PLAN_RENT.equals(bean.sendMessageString(FUW00912SFConst.MDM_PLAN, X31CWebConst.DATABEAN_GET_VALUE)))
			{
				// モデム（レンタル）が選択されていた場合
				bean.sendMessageString(FUW00912SFConst.KKTK_SBT_CD, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.CD00212_02);
			}
			else
			{
				// モデムプランが未設定、若しくは想定外の値
				// モデム（レンタル）を設定

				outputBusLog("WARN：※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※");
				outputBusLog("WARN： ●FUW00912_eo光ネット入力画面のモデムプランの聴き取り情報が不正。");

				outputBusLog("WARN：   ★モデムプラン「1:買取」「2:レンタル」のラジオボタン表示");
				outputBusLog("WARN：   ・モデムプラン（リクエスト情報） ＝【" + mdmPlan + "】");
				outputBusLog("WARN：   ・モデムプラン（共有フォーム情報） ＝【" + modemPlan + "】");

				X33WSessionController session_controller = X33CUtil.getSession(this.getSessionId());
				HttpServletRequest request = session_controller.getServletRequest();
				String userAgent = request.getHeader(USER_AGENT);

				outputBusLog("WARN：   ・ユーザーエージェント ＝【" + userAgent + "】");

				String kktkSbtCd = bean.sendMessageString(FUW00912SFConst.KKTK_SBT_CD, X31CWebConst.DATABEAN_GET_VALUE);
				outputBusLog("WARN：   ・機器提供種別コード ＝【" + kktkSbtCd + "】");

				// 郵便番号
				String searchPcdFr = wsMnshnInfo.sendMessageString(CommonInfoCFConst.SEARCH_PCD1_16, X31CWebConst.DATABEAN_GET_VALUE);
				String searchPcdBk = wsMnshnInfo.sendMessageString(CommonInfoCFConst.SEARCH_PCD2_16, X31CWebConst.DATABEAN_GET_VALUE);
				outputBusLog("WARN：   ・マンション情報 郵便番号 ＝【" + searchPcdFr + searchPcdBk + "】");

				// 住所
				String searchState = wsMnshnInfo.sendMessageString(CommonInfoCFConst.SEARCH_STATE_16, X31CWebConst.DATABEAN_GET_VALUE);
				String searchCity = wsMnshnInfo.sendMessageString(CommonInfoCFConst.SEARCH_CITY_16, X31CWebConst.DATABEAN_GET_VALUE);
				String searchAza = wsMnshnInfo.sendMessageString(CommonInfoCFConst.SEARCH_AZA_16, X31CWebConst.DATABEAN_GET_VALUE);
				String mansionBukkenAzchoNm = wsMnshnInfo.sendMessageString(CommonInfoCFConst.MANSION_BUKKEN_AZCHO_NM_16, X31CWebConst.DATABEAN_GET_VALUE);
				outputBusLog("WARN：   ・マンション情報 住所 ＝【" + searchState + searchCity + searchAza + mansionBukkenAzchoNm + "】");

				// マンション名
				String mansionNm = wsMnshnInfo.sendMessageString(CommonInfoCFConst.MANSION_NM_16, X31CWebConst.DATABEAN_GET_VALUE);
				outputBusLog("WARN：   ・マンション情報 マンション名 ＝【" + mansionNm + "】");

				// マンション物件番号
				String mansionNo = wsMnshnInfo.sendMessageString(CommonInfoCFConst.MANSION_NO_16, X31CWebConst.DATABEAN_GET_VALUE);
				outputBusLog("WARN：   ・マンション情報 マンション物件番号 ＝【" + mansionNo + "】");

				// マンション物件コード
				String mansionCd = wsMnshnInfo.sendMessageString(CommonInfoCFConst.MANSION_BUKKEN_CD_16, X31CWebConst.DATABEAN_GET_VALUE);
				outputBusLog("WARN：   ・マンション情報 マンション物件コード ＝【" + mansionCd + "】");

				// 物件管理番号
				String bknKnriNo = wsMnshnInfo.sendMessageString(CommonInfoCFConst.BKN_KNRI_NO_16, X31CWebConst.DATABEAN_GET_VALUE);
				outputBusLog("WARN：   ・マンション情報 物件管理番号 ＝【" + bknKnriNo + "】");

				// ネット提供方式契約番号
				String netTkHoshikiKeiNo = wsMnshnInfo.sendMessageString(CommonInfoCFConst.TK_HOSHIKI_KEI_NO_16, X31CWebConst.DATABEAN_GET_VALUE);
				outputBusLog("WARN：   ・マンション情報 ネット提供方式契約番号 ＝【" + netTkHoshikiKeiNo + "】");

				// ネット回線使用契約番号
				String netKaisenUseKeiNo = wsMnshnInfo.sendMessageString(CommonInfoCFConst.KAISEN_USE_KEI_NO_16, X31CWebConst.DATABEAN_GET_VALUE);
				outputBusLog("WARN：   ・マンション情報 ネット回線使用契約番号 ＝【" + netKaisenUseKeiNo + "】");

				// ＴＶ提供方式契約番号
				String tvTkHoshikiKeiNo = wsMnshnInfo.sendMessageString(CommonInfoCFConst.TV_TK_HOSHIKI_KEI_NO_16, X31CWebConst.DATABEAN_GET_VALUE);
				outputBusLog("WARN：   ・マンション情報 ＴＶ提供方式契約番号 ＝【" + tvTkHoshikiKeiNo + "】");

				// ＴＶ回線使用契約番号
				String tvKaisenUseKeiNo = wsMnshnInfo.sendMessageString(CommonInfoCFConst.TV_KAISEN_USE_KEI_NO_16, X31CWebConst.DATABEAN_GET_VALUE);
				outputBusLog("WARN：   ・マンション情報 ＴＶ回線使用契約番号 ＝【" + tvKaisenUseKeiNo + "】");

				// マンションID
				String mansionId = wsMnshnInfo.sendMessageString(CommonInfoCFConst.MANSION_ID_16, X31CWebConst.DATABEAN_GET_VALUE);
				outputBusLog("WARN：   ・マンション情報 マンションID ＝【" + mansionId + "】");

				// ペアID
				String pairID = wsMnshnInfo.sendMessageString(CommonInfoCFConst.PAIRID_16, X31CWebConst.DATABEAN_GET_VALUE);
				outputBusLog("WARN：   ・マンション情報 ペアID ＝【" + pairID + "】");

				// CATID
				String catID = wsMnshnInfo.sendMessageString(CommonInfoCFConst.CATID_16, X31CWebConst.DATABEAN_GET_VALUE);
				outputBusLog("WARN：   ・マンション情報 CATID ＝【" + catID + "】");

				// 提供方式コード
				outputBusLog("WARN：   ・マンション情報 提供方式コード ＝【" + teikyoHoshikiCd + "】");

				// 提供方式パターンコード
				outputBusLog("WARN：   ・マンション情報 提供方式パターンコード ＝【" + teikyoHoshikiPtnCd + "】");

				// 棟内速度コード
				String tonaiSpeedCd = wsMnshnInfo.sendMessageString(CommonInfoCFConst.TONAI_SPEED_CD_16, X31CWebConst.DATABEAN_GET_VALUE);
				outputBusLog("WARN：   ・マンション情報 棟内速度コード ＝【" + tonaiSpeedCd + "】");

				// 加入契約申込条件コード
				String knykeiMskmJokenCd = wsMnshnInfo.sendMessageString(CommonInfoCFConst.KNYKEI_MSKM_JOKEN_CD_16, X31CWebConst.DATABEAN_GET_VALUE);
				outputBusLog("WARN：   ・マンション情報 加入契約申込条件コード ＝【" + knykeiMskmJokenCd + "】");

				// 支払方式コード
				String payWayCd = wsMnshnInfo.sendMessageString(CommonInfoCFConst.PAYWAY_CD_16, X31CWebConst.DATABEAN_GET_VALUE);
				outputBusLog("WARN：   ・マンション情報 支払方式コード ＝【" + payWayCd + "】");

				// マンション接続機器コード
				String mcntkkCd = wsMnshnInfo.sendMessageString(CommonInfoCFConst.MCNTKK_CD_16, X31CWebConst.DATABEAN_GET_VALUE);
				outputBusLog("WARN：   ・マンション情報 マンション接続機器コード ＝【" + mcntkkCd + "】");

				// マンション接続機器型式コード
				String mcntkkModelCd = wsMnshnInfo.sendMessageString(CommonInfoCFConst.MCNTKK_MODEL_CD_16, X31CWebConst.DATABEAN_GET_VALUE);
				outputBusLog("WARN：   ・マンション情報 マンション接続機器型式コード ＝【" + mcntkkModelCd + "】");

				outputBusLog("WARN：※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※");

				bean.sendMessageString(FUW00912SFConst.KKTK_SBT_CD, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.CD00212_02);
				bean.sendMessageString(FUW00912SFConst.MDM_PLAN, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.CD00212_02);

				eoNet.sendMessageString(CommonInfoCFConst.MODEM_PLAN_11, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.MODEM_PLAN_RENT);
			}

			// 販売種別コード（"10"(標準(新品))固定）
			bean.sendMessageString(FUW00912SFConst.HAMBAI_SBT_CD, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.CD00348_10);
		}

		// 異動区分の設定を行います。
		setSvcCdAndIdoDiv(bean, commoninfoBean);

		// ANK-1190-00-00 Otsuka 2012/10/25
		if (isYearMonthDayList(bean))
		{
			// サービス開始希望日
			X31SDataBeanAccess svc_list = null;
			X31SDataBeanAccessArray bean_array = null;

			bean_array = bean.getDataBeanArray(FUW00912SFConst.SVC_KB_DATES);
			svc_list = bean_array.getDataBean(0);

			// 年
			Integer index_year = Integer.valueOf(bean.sendMessageString(FUW00912SFConst.SVC_KB_YEAR, X31CWebConst.DATABEAN_GET_VALUE)).intValue();
			String svc_kbo_start_year = svc_list.sendMessageString(FUW00912SFConst.YEAR_01, X31CWebConst.DATABEAN_GET_VALUE, index_year);
			// 月
			Integer index_month = Integer.valueOf(bean.sendMessageString(FUW00912SFConst.SVC_KB_MONTH, X31CWebConst.DATABEAN_GET_VALUE)).intValue();
			String svc_kbo_start_month = svc_list.sendMessageString(FUW00912SFConst.MON_01, X31CWebConst.DATABEAN_GET_VALUE, index_month);
			// 日
			Integer index_day = Integer.valueOf(bean.sendMessageString(FUW00912SFConst.SVC_KB_DAY, X31CWebConst.DATABEAN_GET_VALUE)).intValue();
			String svc_kbo_start_day = svc_list.sendMessageString(FUW00912SFConst.DAY_01, X31CWebConst.DATABEAN_GET_VALUE, index_day);
			String svc_kbo_start_date = "";
			svc_kbo_start_date = svc_kbo_start_year + svc_kbo_start_month + svc_kbo_start_day;
			bean.sendMessageString(FUW00912SFConst.SVC_KB_DATE, X31CWebConst.DATABEAN_SET_VALUE, svc_kbo_start_date);
		}
	}

	/**
	 *割引サービス情報をサービスフォームBeanに設定します<br>
	 * @param bean				サービスフォームBean
	 * @throws Exception
	 */
	private void setWrbkSvc(X31SDataBeanAccess bean) throws Exception
	{
		// 即割りチェックありの場合
		if (bean.sendMessageBoolean(FUW00912SFConst.SOKUWARI, X31CWebConst.DATABEAN_GET_VALUE))
		{
			// FUDispDefinitionより割引サービスコードを取得する。
			bean.sendMessageString(FUW00912SFConst.WRIB_SVC_CD, X31CWebConst.DATABEAN_SET_VALUE, JFUWebCommon.getDispText(
					JFUScreenConst.SCREEN_ID_FUW00912, SOKUWARI));
		}
		else
		{
			// 即割りチェックなしの場合
			bean.sendMessageString(FUW00912SFConst.WRIB_SVC_CD, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
		}

		String netCourse = "";
		String[] radio_val = bean.sendMessageString(FUW00912SFConst.COURSE_SELECT, X31CWebConst.DATABEAN_GET_VALUE).split(JFUStrConst.COMMA);

		if (radio_val[0].length() != 0)
		{
			netCourse = radio_val[3];//コース選択
		}

		// 長割フラグ
		boolean chowariFlg = true;

		// ネットコースが100Mライトコースの場合
		if (JFUStrConst.NET_COURSE_100M_LIGHT.equals(netCourse))
		{
			// 長割申込が非表示の場合
			if (INFO_FALSE.equals(bean.sendMessageString(FUW00912SFConst.CHOWARI_MSKM, X31CWebConst.DATABEAN_GET_VALUE)))
			{
				chowariFlg = false;
			}
		}

		if (chowariFlg == true)
		{
			// 長割チェックありの場合
			if (bean.sendMessageBoolean(FUW00912SFConst.CHOWARI, X31CWebConst.DATABEAN_GET_VALUE))
			{
				// FUDispDefinitionより割引サービスコードを取得する。
				bean.sendMessageString(FUW00912SFConst.WRIB_SVC_CD_CHOUWR, X31CWebConst.DATABEAN_SET_VALUE, JFUWebCommon.getDispText(
						JFUScreenConst.SCREEN_ID_FUW00912, CHOWARI));

				// 自動継続選択の場合
				if (bean.sendMessageBoolean(FUW00912SFConst.AUTO_KEIZOKU, X31CWebConst.DATABEAN_GET_VALUE))
				{
					// 割引サービス契約自動継続識別コードに「1」を設定
					bean.sendMessageString(FUW00912SFConst.WRIB_SVC_KEI_AT_KEIZK_SKCD, X31CWebConst.DATABEAN_SET_VALUE, INFO_TRUE);
				}
				else
				{
					// 自動継続が未選択の場合、割引サービス契約自動継続識別コードに「0」を設定
					bean.sendMessageString(FUW00912SFConst.WRIB_SVC_KEI_AT_KEIZK_SKCD, X31CWebConst.DATABEAN_SET_VALUE, INFO_FALSE);
				}
			}
			else
			{
				// 長割チェックなしの場合、「""」を設定
				bean.sendMessageString(FUW00912SFConst.WRIB_SVC_CD_CHOUWR, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);

				// 割引サービス契約自動継続識別コードに「""」を設定
				bean.sendMessageString(FUW00912SFConst.WRIB_SVC_KEI_AT_KEIZK_SKCD, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
			}
		}
		else
		{
			// 長割チェックなしの場合、「""」を設定
			bean.sendMessageString(FUW00912SFConst.WRIB_SVC_CD_CHOUWR, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);

			// 割引サービス契約自動継続識別コードに「""」を設定
			bean.sendMessageString(FUW00912SFConst.WRIB_SVC_KEI_AT_KEIZK_SKCD, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
		}
	}

	/**
	 * サービスコードと異動区分をサービスフォームBeanに設定します<br>
	 * 全回線タイプ共通の設定です。
	 * @param bean				サービスフォームBean
	 * @param commoninfoBean	共有フォームBean
	 */
	private void setSvcCdAndIdoDiv(X31SDataBeanAccess bean, X31SDataBeanAccess commoninfoBean)
	{
// ANK-3518-00-00 ADD START
		// "WEB新規"階層
		X31SDataBeanAccess ws = (commoninfoBean.getDataBeanArray(CommonInfoCFConst.WEB_NEW_INFO)).getDataBean(0);
// ANK-3518-00-00 ADD END
		// サービスコードに設定（"01"(インターネットサービス)固定）
		bean.sendMessageString(FUW00912SFConst.SVC_CD, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.CD00130_01);

// ANK-3518-00-00 MOD START
//		// 異動区分の設定
//		bean.sendMessageString(FUW00912SFConst.IDO_DIV, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.CD00576_00001);
		
		// 異動区分の設定
		if (JFUStrConst.MSKM_KBN_NEW.equals(ws.sendMessageString(CommonInfoCFConst.MSKM_KBN_06, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			// 新規申込の場合
			bean.sendMessageString(FUW00912SFConst.IDO_DIV, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.CD00576_00001);
		}

		if (JFUStrConst.MSKM_KBN_ADD.equals(ws.sendMessageString(CommonInfoCFConst.MSKM_KBN_06, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			// 追加申込の場合
			bean.sendMessageString(FUW00912SFConst.IDO_DIV, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.CD00576_00002);
		}
// ANK-3518-00-00 MOD END
	}

	/**
	 * サービスインターフェイスの呼び出し処理を実行します。<br>
	 * @param bean				サービスフォームBean
	 * @param commoninfoBean	共有フォームBean
	 */
	private void callSIFCheck(X31SDataBeanAccess bean, X31SDataBeanAccess commoninfoBean)
	{
		X31SDataBeanAccess[] paramBean = { bean };

		// ユースケースID格納用マップを生成。
		HashMap<String, String> paramMap = new HashMap<String, String>();
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, SERVICE_ID_FUSV0003);

		// マッピングクラスのインスタンスを生成
		FUSV0003_FUSV0003OPDBMapper mapper = new FUSV0003_FUSV0003OPDBMapper();
		HashMap<String, String> inputMap = new HashMap<String, String>();
		mapper.setFUSV000301SC(paramBean, inputMap, JPCModelConstant.FUNC_CD_2);
		mapper.setFUSV000302SC(paramBean, inputMap, JPCModelConstant.FUNC_CD_2);
		mapper.setFUSV000303SC(paramBean, inputMap, JPCModelConstant.FUNC_CD_2);
		mapper.setFUSV000304SC(paramBean, inputMap, JPCModelConstant.FUNC_CD_2);
		mapper.setFUSV000305SC(paramBean, inputMap, JPCModelConstant.FUNC_CD_2);

		// 結果格納用マップ
		HashMap<String, Object> outputMap = new HashMap<String, Object>();

		try
		{
			// サービスインターフェイス（入力チェック）呼び出し
			X31CMessageResult msgResult = invokeService(paramMap, inputMap, outputMap);
			if (msgResult != null)
			{
				JCCWebCommon.setMessageInfo(this, msgResult);
			}
			// サービス処理結果の取得
		}
		catch (JCCWebServiceException se)
		{
			// 例外情報を取得
			X31CMessageResult msgResult = se.getMessageList();
			X31CMessageMoreInfo[] moreInfo = msgResult.getMessageMoreInfoList();

			int intCnt = msgResult.getCount();

			for (int i = 0; i < intCnt; i++)
			{
				String status = moreInfo[i].getStatus();
				String temp_id = moreInfo[i].getTemplateId();
				String item = moreInfo[i].getItemId();

				if (JFUStrConst.ERROR_CODE_1000.equals(status) || JFUStrConst.ERROR_CODE_1050.equals(status))
				{
					if (TEMP_ID_1.equals(temp_id) || JFUStrConst.ERROR_CODE_1050.equals(item))
					{
						// 業務エラーを再throw
						throw se;
					}
					else if (TEMP_ID_1.equals(temp_id) && "prc_grp_cd".equals(item))
					{
						// 業務エラーを再throw
						throw se;
					}
					else if (TEMP_ID_1.equals(temp_id) && "pcrs_cd".equals(item))
					{
						// 業務エラーを再throw
						throw se;
					}
					else if (TEMP_ID_1.equals(temp_id) && "pplan_cd".equals(item))
					{
						// 業務エラーを再throw
						throw se;
					}
					else if (TEMP_ID_2.equals(temp_id) && "svc_use_sta_kibo_ymd".equals(item))
					{
						// 業務エラーを再throw
						throw se;
					}
					else if (TEMP_ID_2.equals(temp_id) && "kktk_svc_cd".equals(item))
					{
						// 業務エラーを再throw
						throw se;
					}
				}
				else
				{
					// 特定のエラーの場合は業務用例外クラスをthrowする。
					throw new JCCBusinessException(JFUStrConst.ERROR_CODE_0002);
				}
			}
		}
	}

	/**
	 * 共有フォームBeanに引継情報を設定します
	 * 全回線タイプ共通の設定です。
	 * @param bean				サービスフォームBean
	 * @param commoninfoBean	共有フォームBean
	 * @param typeKbn			回線タイプ
	 */
	private void setCommonBean(X31SDataBeanAccess bean, X31SDataBeanAccess commoninfoBean, String typeKbn)
	{
		// "WEB新規"階層
		X31SDataBeanAccess ws = (commoninfoBean.getDataBeanArray(CommonInfoCFConst.WEB_NEW_INFO)).getDataBean(0);

		// マンション情報
		X31SDataBeanAccess wsMnshnInfo = (ws.getDataBeanArray(CommonInfoCFConst.MANSION_INFO)).getDataBean(0);

		// "eo光ネット"階層
		X31SDataBeanAccessArray eoNetArr = ws.getDataBeanArray(CommonInfoCFConst.EONET);
		X31SDataBeanAccess eoNet = eoNetArr.getDataBean(0);
		if (eoNet == null)
		{
			eoNetArr.addDataBean();
			eoNet = eoNetArr.getDataBean(0);
		}
		String netCourse = "";
		String[] radio_val = bean.sendMessageString(FUW00912SFConst.COURSE_SELECT, X31CWebConst.DATABEAN_GET_VALUE).split(JFUStrConst.COMMA);

		// 提供方式変更の場合
		if (JFUWebCommon.isTkHosikiChgSbtCd(wsMnshnInfo))
		{
			eoNet.sendMessageString(CommonInfoCFConst.NET_COURSE_11, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.NET_COURSE_1G);
		}
		// VDSL、VDSL-S、イーサネットの場合、光ネットコースに"1:100M"を設定する。
		// 提供方式パターンコードが"VDSL"もしくは"VDSL-S"の場合
		else if (JFUStrConst.TK_HOSHIKI_PTN_VDSL.equals(wsMnshnInfo.sendMessageString(CommonInfoCFConst.TEIKYO_HOSHIKI_PTN_CD_16, X31CWebConst.DATABEAN_GET_VALUE)
				)
				|| JFUStrConst.TK_HOSHIKI_PTN_VDSLS.equals(wsMnshnInfo.sendMessageString(CommonInfoCFConst.TEIKYO_HOSHIKI_PTN_CD_16, X31CWebConst.DATABEAN_GET_VALUE)
						)
				|| JFUStrConst.TK_HOSHIKI_PTN_ENET.equals(wsMnshnInfo.sendMessageString(CommonInfoCFConst.TEIKYO_HOSHIKI_PTN_CD_16, X31CWebConst.DATABEAN_GET_VALUE)
						))
		{
			eoNet.sendMessageString(CommonInfoCFConst.NET_COURSE_11, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.NET_COURSE_100M);
		}
		else
		{
			netCourse = radio_val[3];
			eoNet.sendMessageString(CommonInfoCFConst.NET_COURSE_11, X31CWebConst.DATABEAN_SET_VALUE, netCourse); // コース選択
		}

		// ホームタイプまたはメゾンタイプの場合、割引系の値を共有フォームBeanに設定する。
		if (HOME.equals(typeKbn) || MASION.equals(typeKbn))
		{
			// 即割りチェックありの場合
			if (bean.sendMessageBoolean(FUW00912SFConst.SOKUWARI, X31CWebConst.DATABEAN_GET_VALUE))
			{
				// ｅｏ光ネット 即割り に申し込むを設定
				eoNet.sendMessageString(CommonInfoCFConst.NET_SOKUWARI_11, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.NET_SOKUWARI_MSKM);
			}
			else
			{
				// 即割りチェックなしの場合、ｅｏ光ネット 即割り に申し込まないを設定
				eoNet.sendMessageString(CommonInfoCFConst.NET_SOKUWARI_11, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.NET_SOKUWARI_NOT_MSKM);
			}

			if (JFUStrConst.NET_COURSE_5G10G.contains(netCourse))
			{
				// 5ギガ、10ギガの場合
				
				// 高速割チェックありの場合
				if (bean.sendMessageBoolean(FUW00912SFConst.KOSOKUWARI, X31CWebConst.DATABEAN_GET_VALUE))
				{
					// ｅｏ光ネット 高速割 に申し込むを設定
					eoNet.sendMessageString(CommonInfoCFConst.NET_KOSOKUWARI_11, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.NET_KOSOKUWARI_MSKM);
				}
				else
				{
					// 高速割チェックなしの場合、ｅｏ光ネット 高速割 に申し込まないを設定
					eoNet.sendMessageString(CommonInfoCFConst.NET_KOSOKUWARI_11, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.NET_KOSOKUWARI_NOT_MSKM);
				}
			}
			else
			{
				// 上記以外の場合

				// 高速割チェックなしの場合、ｅｏ光ネット 高速割 に申し込まないを設定
				eoNet.sendMessageString(CommonInfoCFConst.NET_KOSOKUWARI_11, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
			}

			// 長割フラグ
			boolean chowariFlg = true;
			// ネットコースが100Mライトコースの場合
			if (JFUStrConst.NET_COURSE_100M_LIGHT.equals(netCourse))
			{
				// 長割申込が非表示の場合
				if (INFO_FALSE.equals(bean.sendMessageString(FUW00912SFConst.CHOWARI_MSKM, X31CWebConst.DATABEAN_GET_VALUE)))
				{
					chowariFlg = false;
				}
			}
			if (chowariFlg == true)
			{
				// 長割チェックありの場合
				if (bean.sendMessageBoolean(FUW00912SFConst.CHOWARI, X31CWebConst.DATABEAN_GET_VALUE))
				{
					// ｅｏ光ネット 長割り に申し込むを設定
					eoNet.sendMessageString(CommonInfoCFConst.NET_CHOWARI_11, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.NET_CHOWARI_MSKM);

					// 自動継続選択の場合
					if (bean.sendMessageBoolean(FUW00912SFConst.AUTO_KEIZOKU, X31CWebConst.DATABEAN_GET_VALUE))
					{
						// 割引サービス契約自動継続識別コードに「1」を設定
						eoNet
								.sendMessageString(CommonInfoCFConst.AUTO_KEIZOKU_11, X31CWebConst.DATABEAN_SET_VALUE,
										JFUStrConst.NET_AUTO_KEIZOKU_MSKM);
					}
					else
					{
						// 自動継続が未選択の場合、自動継続に「0」を設定
						eoNet.sendMessageString(CommonInfoCFConst.AUTO_KEIZOKU_11, X31CWebConst.DATABEAN_SET_VALUE,
								JFUStrConst.NET_AUTO_KEIZOKU_NOT_MSKM);
					}
				}
				else
				{
					// 長割チェックなしの場合、長割り に申し込まないを設定
					eoNet.sendMessageString(CommonInfoCFConst.NET_CHOWARI_11, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.NET_CHOWARI_NOT_MSKM);

					// 自動継続に「""」を設定
					eoNet.sendMessageString(CommonInfoCFConst.AUTO_KEIZOKU_11, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
			}
			else
			{
				// 長割り に「""」を設定
				eoNet.sendMessageString(CommonInfoCFConst.NET_CHOWARI_11, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);

				// 自動継続に「""」を設定
				eoNet.sendMessageString(CommonInfoCFConst.AUTO_KEIZOKU_11, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
			}
		}

		// マンションタイプの場合
		if (MANSION.equals(typeKbn))
		{
			// 提供方式パターンが"VDSL"もしくは"VDSL-S"の場合
			if (JFUStrConst.TK_HOSHIKI_PTN_VDSL.equals(wsMnshnInfo.sendMessageString(CommonInfoCFConst.TEIKYO_HOSHIKI_PTN_CD_16, X31CWebConst.DATABEAN_GET_VALUE)
					)
					|| JFUStrConst.TK_HOSHIKI_PTN_VDSLS.equals(wsMnshnInfo.sendMessageString(CommonInfoCFConst.TEIKYO_HOSHIKI_PTN_CD_16, X31CWebConst.DATABEAN_GET_VALUE)
							))
			{
				// モデム選択情報の設定
				eoNet.sendMessageString(CommonInfoCFConst.MODEM_PLAN_11, X31CWebConst.DATABEAN_SET_VALUE, bean.sendMessageString(
						FUW00912SFConst.MDM_PLAN, X31CWebConst.DATABEAN_GET_VALUE)); // プラン選択
			}
			// ANK-1190-00-00 Otsuka 2012/10/25
			if (isYearMonthDayList(bean))
			{
				// サービス開始希望日
				eoNet.sendMessageString(CommonInfoCFConst.SVC_STA_KIBO_11, X31CWebConst.DATABEAN_SET_VALUE, bean.sendMessageString(
						FUW00912SFConst.SVC_KB_DATE, X31CWebConst.DATABEAN_GET_VALUE));
			}
		}

// ANK-3296-00-00 ADD START
		// 標準工事費お支払い方法表示フラグ
		String hyojiFlg = bean.sendMessageString(FUW00912SFConst.STDARD_KOJIHI_PAYWAY_DSP_FLG, X31CWebConst.DATABEAN_GET_VALUE);
		// 標準工事費お支払い方法の設定
		String svcStKojiPayway = bean.sendMessageString(FUW00912SFConst.STDARD_KOJIHI_PAYWAY, X31CWebConst.DATABEAN_GET_VALUE);
		
		// 標準工事費お支払い方法表示フラグが"1(表示)"の場合
		if(JFUStrConst.STDARD_KOJIHI_PAYWAY_DISP_ON.equals(hyojiFlg))
		{
			// 標準工事費お支払い方法の設定(0:分割払い 1:一括払い)
			ws.sendMessageString(CommonInfoCFConst.STDARD_KOJIHI_PAYWAY_06, X31CWebConst.DATABEAN_SET_VALUE, svcStKojiPayway);
		}
// ANK-3296-00-00 ADD END
	}

	/**
	 * 遷移先設定
	 *
	 * @param  nextScreenId      遷移先画面ID
	 * @param  nextScreenName    遷移先画面名
	 *
	 * @return void
	 */
	private void setNextScreen(String nextScreenId, String nextScreenName)
	{
		X31SDataBeanAccess commoninfoBean = super.getCommonInfoBean();

		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, nextScreenId);
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, nextScreenName);
	}

	/**
	 * 共有フォームBeanのデータが存在しない場合、空データを作成します。（JasperException回避のため)
	 * １．「マンション情報」を作成する。
	 *
	 * <br>
	 * @param commoninfoBean
	 */
	private void createData(X31SDataBeanAccess commoninfoBean)
	{
		// "WEB新規"階層
		X31SDataBeanAccess ws = (commoninfoBean.getDataBeanArray(CommonInfoCFConst.WEB_NEW_INFO)).getDataBean(0);

		// "マンション情報"階層
		X31SDataBeanAccessArray mansyonjouhouArr = ws.getDataBeanArray(CommonInfoCFConst.MANSION_INFO);
		if (mansyonjouhouArr.getDataBean(0) == null)
		{
			// 「マンション情報」の空データ作成
			mansyonjouhouArr.addDataBean();
		}
	}

	/**
	 *  サービス開始希望日リストを作成
	 * @param bean
	 * @param commoninfoBean
	 *
	 */
	private void getYearMonthDayListValue(X31SDataBeanAccess bean, X31SDataBeanAccess commoninfoBean)
	{
		// "WEB新規"階層
		X31SDataBeanAccess ws = (commoninfoBean.getDataBeanArray(CommonInfoCFConst.WEB_NEW_INFO)).getDataBean(0);
		// マンション情報
		X31SDataBeanAccess wsMnshnInfo = (ws.getDataBeanArray(CommonInfoCFConst.MANSION_INFO)).getDataBean(0);

		// eo光ネット情報
		X31SDataBeanAccess wsNetInfo = (ws.getDataBeanArray(CommonInfoCFConst.EONET)).getDataBean(0);

		X31SDataBeanAccess svc_list = null;
		X31SDataBeanAccessArray bean_array = null;

		// ■サービスフォームBean.引継支払情報
		bean_array = bean.getDataBeanArray(FUW00912SFConst.SVC_KB_DATES);
		bean_array.clearArray();
		bean_array.addDataBean();
		svc_list = bean_array.getDataBean(0);

		// 運用日付を取得
		String m_moji00 = JCCWebCommon.getOpeDate(this, null);
		String this_ymd01 = m_moji00.substring(0, 8);
		// マンション情報 標準サービス開始日数を取得
		int svc_sta_day = Integer.parseInt(wsMnshnInfo.sendMessageString(CommonInfoCFConst.STDARD_SVC_STA_NISU_16, X31CWebConst.DATABEAN_GET_VALUE));

		// ANK-1190-00-00 Otsuka 2012/10/25
		// マンションのサービス開始年月日を取得
		String svc_sta_ymd = wsMnshnInfo.sendMessageString(CommonInfoCFConst.SVC_STA_YMD_16, X31CWebConst.DATABEAN_GET_VALUE);

		// 判定日が基準日より過去日か判定を行います。
		if (JPCUtilCommon.isEqualDate(svc_sta_ymd, m_moji00) || JPCUtilCommon.isPastDate(svc_sta_ymd, m_moji00, "0"))
		{
			// サービス開始年月日<= 運用日 (=過去日)の場合、運用日+標準サービス開始日数 を設定する。
			this_ymd01 = JPCUtilCommon.addDay(this_ymd01, svc_sta_day);
		}
		else
		{
			// サービス開始年月日- 運用日を取得
			int deff = JPCUtilCommon.subtractDay(svc_sta_ymd, m_moji00);

			if (deff <= svc_sta_day)
			{
				// サービス開始年月日- 運用日 <= 標準サービス開始日数 の場合、運用日+標準サービス開始日数 を設定する。
				this_ymd01 = JPCUtilCommon.addDay(this_ymd01, svc_sta_day);
			}
			else
			{
				// サービス開始年月日を設定する。
				this_ymd01 = String.valueOf(svc_sta_ymd);
			}
		}

		// 2013.03.07 ADD 「内部課題-No.2」サービス開始希望日の戻る遷移障害 >>>
		// サービス開始希望日の初期値（画面で変更する前の値）を保持する
		bean.sendMessageString(FUW00912SFConst.SVC_KB_DATE_INIT, X31CWebConst.DATABEAN_SET_VALUE, this_ymd01);

		// 2012.2.22 ADD 共有フォームBeanより値を取得 Start *******************
		String wrk_ymd = wsNetInfo.sendMessageString(CommonInfoCFConst.SVC_STA_KIBO_11, X31CWebConst.DATABEAN_GET_VALUE);
		if (wrk_ymd.length() > 0)
		{
			this_ymd01 = wrk_ymd;
		}
		// 2012.2.22 ADD 共有フォームBeanより値を取得 End   *******************
		bean.sendMessageString(FUW00912SFConst.SVC_KB_DATE, X31CWebConst.DATABEAN_SET_VALUE, this_ymd01);
		// 2013.03.07 ADD 「内部課題-No.2」サービス開始希望日の戻る遷移障害 <<<E


		// 年 （配列サイズ固定）

		String m_moji0 = JCCWebCommon.getOpeDate(this, null);
		String this_year = m_moji0.substring(0, 4);
		int this_year_i = Integer.parseInt(this_year);
		this_year_i = this_year_i - 1;

		for (int m1 = 1; m1 <= 4; m1++)
		{
			this_year_i = this_year_i + 1;
			String this_year_s = Integer.toString(this_year_i);

			svc_list.sendMessageString(FUW00912SFConst.YEAR_01, X31CWebConst.DATABEAN_ADD_VALUE, this_year_s);
		}

		// 月 （配列サイズ固定）

		String m_moji = "";

		for (int m1 = 1; m1 <= 12; m1++)
		{
			m_moji = String.format("%02d", m1);

			svc_list.sendMessageString(FUW00912SFConst.MON_01, X31CWebConst.DATABEAN_ADD_VALUE, m_moji);
		}

		// 日 （配列サイズ固定）

		String m_moji2 = "";

		for (int m2 = 1; m2 <= 31; m2++)
		{
			m_moji2 = String.format("%02d", m2);

			svc_list.sendMessageString(FUW00912SFConst.DAY_01, X31CWebConst.DATABEAN_ADD_VALUE, m_moji2);
		}
	}

	/**
	 * サービスフォームBeanにボタン情報を設定するための処理振り分けを行います。
	 * <br>
	 * @param map FUDispDefinition.xmlのボタン定義情報
	 * @param kisnKbn 回線区分
	 * @param lightFlg 100Mライトコース表示判定フラグ
	 */
	private void setBtnDispInfo(Map map, String kisnKbn, boolean lightFlg)
	{
		if (map.isEmpty() == false)
		{
			// 共有フォームBeanのデータBeanアクセスクラスを取得。
			X31SDataBeanAccess commoninfoBean = super.getCommonInfoBean();
			// "WEB新規情報"階層
			X31SDataBeanAccess ws = (commoninfoBean.getDataBeanArray(CommonInfoCFConst.WEB_NEW_INFO)).getDataBean(0);
			// "PASCO情報"階層
			X31SDataBeanAccess pascoInfo = (ws.getDataBeanArray(CommonInfoCFConst.PASCO_INFO)).getDataBean(0);
			// "マンション情報"階層
			X31SDataBeanAccess mansionInfo = (ws.getDataBeanArray(CommonInfoCFConst.MANSION_INFO)).getDataBean(0);

// ANK-3518-00-00 ADD START
			// サービスフォームBeanのデータBeanアクセスクラスを取得。
			X31SDataBeanAccess bean = super.getServiceFormBean();
			// "WEB新規情報.申込区分（種別）"
			String mskmKbn = ws.sendMessageString(CommonInfoCFConst.MSKM_KBN_06, X31CWebConst.DATABEAN_GET_VALUE);
			// "その他情報"
			X31SDataBeanAccess elseInfo = ws.getDataBeanArray(CommonInfoCFConst.ELSE_INFO).getDataBean(0);
			// "WEB新規情報.回線場所選択"
			String kaisenSelect = elseInfo.sendMessageString(CommonInfoCFConst.KAISEN_SELECT_18, X31CWebConst.DATABEAN_GET_VALUE);
			
			// "ｅｏ光電話"階層
			X31SDataBeanAccess eotel = (ws.getDataBeanArray(CommonInfoCFConst.EOTEL)).getDataBean(0);
			// "ｅｏ光電話.サービス契約番号"
			String eotelSvckeiNo = eotel.sendMessageString(CommonInfoCFConst.SVC_KEI_NO_12, X31CWebConst.DATABEAN_GET_VALUE);
			
			// "ｅｏ光テレビ"
			X31SDataBeanAccess eotv = (ws.getDataBeanArray(CommonInfoCFConst.EOTV)).getDataBean(0);
			// "ｅｏ光テレビ.サービス契約番号"
			String eotvSvckeiNo = eotv.sendMessageString(CommonInfoCFConst.SVC_KEI_NO_12, X31CWebConst.DATABEAN_GET_VALUE);
			
// ANK-3518-00-00 ADD END
			// ボタン表示可否の判定用変数
			String name = "";
			String btnDispTrueFlg = "";
			String pascoFlg = pascoInfo.sendMessageString(CommonInfoCFConst.MOBILE_100M_07, X31CWebConst.DATABEAN_GET_VALUE);
			String netCourse = "";
// ANK-3518-00-00 ADD START
			String id = JFUStrConst.EMPTY;
// ANK-3518-00-00 ADD END
			
			// 追加申込 かつ 契約中の回線に追加 かつ ｅｏ光電話.サービス契約番号 もしくは ｅｏ光テレビ.サービス契約番号が存在する場合
			if (JFUStrConst.MSKM_KBN_ADD.equals(mskmKbn) && JFUStrConst.KAISEN_SELECT_ADD_KEI.equals(kaisenSelect) && (!JFUStrConst.EMPTY.equals(eotelSvckeiNo) || !JFUStrConst.EMPTY.equals(eotvSvckeiNo)))
			{
				// サービスI/Fの呼び出し処理
				callInitSIF(bean, commoninfoBean, eotelSvckeiNo);
			}
			for (int cnt = 1; cnt <= map.size(); cnt++)
			{
				String[] btns = map.get(Integer.toString(cnt)).toString().split(",");

// ANK-4427-00-00 ADD START
				// typeNの場合、処理を飛ばす
				String typenFlg = ws.sendMessageString(CommonInfoCFConst.TYPEN_FLG_06, X31CWebConst.DATABEAN_GET_VALUE);

				if (typenFlg.isEmpty())
				{
// ANK-4427-00-00 ADD END
					if (!MANSION.equals(kisnKbn))
					{
						name = btns[9];
						btnDispTrueFlg = btns[10];
	
						if (HOME.equals(kisnKbn) && !btnDispTrueFlg.equals(pascoInfo.sendMessageString(name, X31CWebConst.DATABEAN_GET_VALUE))
								&& !JFUStrConst.EMPTY.equals(pascoFlg))
						{
							continue;
						}
		
						if (MASION.equals(kisnKbn) && !btnDispTrueFlg.equals(mansionInfo.sendMessageString(name, X31CWebConst.DATABEAN_GET_VALUE)))
						{
							continue;
						}
					}
					else
					{
						// マンションタイプの場合
						netCourse = btns[8];
	
						if ((!lightFlg) && JFUStrConst.NET_COURSE_100M_LIGHT.equals(netCourse))
						{
							// 100Mライト表示フラグがfalseの場合、処理を飛ばす。
							continue;
						}
					}
// ANK-4427-00-00 ADD START
				}
// ANK-4427-00-00 ADD END
// ANK-3518-00-00 ADD START
				String hhs1gonlyFlg = mansionInfo.sendMessageString(CommonInfoCFConst.HHS_1GONLY_FLG_16, X31CWebConst.DATABEAN_GET_VALUE);
				// ＭＡＮＭＯＳ管理物件以外
				if (!JFUStrConst.HHS_1GONLY_FLG_1.equals(hhs1gonlyFlg)) {
					// 追加申込 かつ 契約中の回線に追加 かつ ｅｏ光電話.サービス契約番号 もしくは ｅｏ光テレビ.サービス契約番号が存在する場合
					if (JFUStrConst.MSKM_KBN_ADD.equals(mskmKbn) && JFUStrConst.KAISEN_SELECT_ADD_KEI.equals(kaisenSelect) && (!JFUStrConst.EMPTY.equals(eotelSvckeiNo) || !JFUStrConst.EMPTY.equals(eotvSvckeiNo)))
					{
						// ボタンＩＤ取得
						id = btns[1];
						
						// サービスフォームBean.PON種別コードを取得
						String ponSbtCd = bean.sendMessageString(FUW00912SFConst.PON_SBT_CD, X31CWebConst.DATABEAN_GET_VALUE);
						
						// ボタンＩＤが1ギガコースか5ギガコースか10ギガコース かつ PON種別コードがE-PONの場合、処理を飛ばす。
						if ((COURSE_1G.equals(id) || COURSE_5G10G.contains(id)) && JFUStrConst.CD00211_1.equals(ponSbtCd))
						{
							continue;
						}
						
						// ボタンＩＤが5ギガコースか10ギガコース かつ PON種別コードがGE-PONの場合、処理を飛ばす。
						if (COURSE_5G10G.contains(id) && JFUStrConst.CD00211_2.equals(ponSbtCd))
						{
							continue;
						}
						
						// サービスフォームBean.提供エリア１０Ｇフラグを取得
						String tkArea10gFlg = bean.sendMessageString(FUW00912SFConst.TK_AREA_10G_FLG, X31CWebConst.DATABEAN_GET_VALUE);
						
						// 提供エリア１０Ｇフラグがエリア外の場合、5ギガコース・10ギガコースのボタン処理を飛ばす。
						if (JFUStrConst.CD00003_0.equals(tkArea10gFlg) && COURSE_5G10G.contains(id))
						{
							continue;
						}
					}
// ANK-3518-00-00 ADD END
				}

				// 高速割/了承するエリア表示判断
				if ((!MANSION.equals(kisnKbn)) && COURSE_5G10G.contains(btns[1]))
				{
					// ボタンＩＤが5ギガコースか10ギガコースの場合

					// 高速割/了承するエリアを表示
					bean.sendMessageBoolean(FUW00912SFConst.DSP_KOSOKUWARI, X31CWebConst.DATABEAN_SET_VALUE, true);
				}

				setBtnDispInfo(btns, ws);
			}
		}
	}

	/**
	 * サービスフォームBeanにボタン情報を設定します。
	 * <br>
	 * @param btns FUDispDefinition.xmlのボタン定義情報（カンマでsplitされた値）
	 */
	private void setBtnDispInfo(String[] btns, X31SDataBeanAccess ws)
	{
		// サービスフォームBeanのデータBeanアクセスクラスを取得。
		X31SDataBeanAccess bean = super.getServiceFormBean();
		X31SDataBeanAccess btnsBean = bean.getDataBeanArray(FUW00912SFConst.BTNS).addDataBean();

		// ボタンIDを設定
		btnsBean.sendMessageString(FUW00912SFConst.BTN_ID_02, X31CWebConst.DATABEAN_SET_VALUE, btns[1]);
		btnsBean.sendMessageString(FUW00912SFConst.BTN_CLASS_02, X31CWebConst.DATABEAN_SET_VALUE, btns[2]);
		btnsBean.sendMessageString(FUW00912SFConst.BTN_TITLE_02, X31CWebConst.DATABEAN_SET_VALUE, btns[3]);
		btnsBean.sendMessageString(FUW00912SFConst.RDO_ID_02, X31CWebConst.DATABEAN_SET_VALUE, btns[4]);

		btnsBean.sendMessageString(FUW00912SFConst.RDO_VALUE_02, X31CWebConst.DATABEAN_SET_VALUE, btns[5] + "," + btns[6] + "," + btns[7] + ","
				+ btns[8]);

		// "eo光ネット"階層
		X31SDataBeanAccess eoNet = ws.getDataBeanArray(CommonInfoCFConst.EONET).getDataBean(0);

		// 料金シミュレーションで選択したコースを選択中に設定する。
		if(eoNet != null)
		{
			if(btns[8].equals(
					eoNet.sendMessageString(CommonInfoCFConst.NET_COURSE_11, X31CWebConst.DATABEAN_GET_VALUE)))
			{
				bean.sendMessageString(FUW00912SFConst.COURSE_SELECT, X31CWebConst.DATABEAN_SET_VALUE,
						btnsBean.sendMessageString(FUW00912SFConst.RDO_VALUE_02,X31CWebConst.DATABEAN_GET_VALUE));
			}
		}
	}

	/**
	 * 工期文言の表示情報を設定します。
	 * <br>
	 * @param ws  WEB新規情報
	 * @throws Exception 例外
	 */
	private void setIntroMsgInfo(X31SDataBeanAccess ws) throws Exception
	{
		// ＰＡＳＣＯ情報を取得
		X31SDataBeanAccessArray beanArray5 = ws.getDataBeanArray(CommonInfoCFConst.PASCO_INFO);
		if (beanArray5.getCount() == 0)
		{
			beanArray5.addDataBean();
		}
		X31SDataBeanAccess subbean5 = beanArray5.getDataBean(0);

		// ＰＡＳＣＯ情報 - HF凡例コード
		String pascoHfHcd = "";
		if (subbean5 != null)
		{
			// ＰＡＳＣＯ情報 - HF凡例コード(9,111,112,800)を保持
			pascoHfHcd = subbean5.sendMessageString(CommonInfoCFConst.HF_HCD_07, X31CWebConst.DATABEAN_GET_VALUE);
		}

		//  HF凡例コードに対応する文言をFUDispDefinition.xmlから取得して、WEB新規情報.工数文言(ネット)に設定
		Map<String, String> introMsgNetMap =
				JFUWebCommon.getDispItemsAsMap(JFUStrConst.QUERY_DISPTEXT_PATH_INTRO_MSG_NET, JFUStrConst.QUERY_ATTR_NAME);
		String introMsgNet = introMsgNetMap.get(pascoHfHcd);
		ws.sendMessageString(CommonInfoCFConst.INTRO_MSG_NET_06, X31CWebConst.DATABEAN_SET_VALUE, introMsgNet);
	}

	// ANK-1190-00-00 Otsuka 2012/10/25
	/**
	 *  サービス開始希望日リストを呼び出すかどうか判定します。
	 * @param bean サービスフォームBean
	 * @return boolean true:呼び出す  false:呼び出さない
	 */
	private boolean isYearMonthDayList(X31SDataBeanAccess bean)
	{

		String svcKibDspFlg = bean.sendMessageString(FUW00912SFConst.SVC_KB_CTRL_FLG, X31CWebConst.DATABEAN_GET_VALUE);
		if (JFUWebCommon.isNull(svcKibDspFlg))
		{
			return false;
		}
		return true;

	}

	/**
	 * ビジネスログへの出力処理
	 *
	 * @param msg ログ情報
	 */
	private void outputBusLog(String msg)
	{
		JSYwebLog.println(JSYLogBase.EXECUTION, getClass(), msg, "CS0003I", null, null);
	}
// ANK-3518-00-00 ADD START
	/**
	 * サービスインターフェイスの呼び出し処理を実行します。<br>
	 * @param bean				サービスフォームBean
	 * @param commoninfoBean	共有フォームBean
	 */
	private void callInitKojiSIF(X31SDataBeanAccess bean, X31SDataBeanAccess commoninfoBean)
	{
		// ユースケースID格納用マップを生成。
		HashMap<String, String> paramMap = new HashMap<String, String>();
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, SERVICE_ID_FUSV0314);

		// マッピングクラスのインスタンスを生成
		FUSV0314_FUSV0314OPDBMapper mapper = new FUSV0314_FUSV0314OPDBMapper();
		HashMap<String, String> inputMap = new HashMap<String, String>();
		mapper.setFUSV031401SC(commoninfoBean, inputMap);

		// 結果格納用マップ
		HashMap<String, Object> outputMap = new HashMap<String, Object>();

		try
		{
			// サービスインターフェイス（工事一覧照会）呼び出し
			invokeService(paramMap, inputMap, outputMap);
		}
		catch (JCCWebServiceException se)
		{
			// 特定のエラーの場合は業務用例外クラスをthrowする。
			throw new JCCBusinessException(JFUStrConst.ERROR_CODE_0002);
		}
		
		// サービスの出力値設定
		mapper.getFUSV031401SC(bean, outputMap);
	}
	
	/**
	 * サービスインターフェイスの呼び出し処理を実行します。<br>
	 * @param bean				サービスフォームBean
	 * @param commoninfoBean	共有フォームBean
	 */
	private void callInitSIF(X31SDataBeanAccess bean, X31SDataBeanAccess commoninfoBean, String eotelSvckeiNo)
	{
		X31SDataBeanAccess[] paramBean = { bean, commoninfoBean };

		// ユースケースID格納用マップを生成。
		HashMap<String, String> paramMap = new HashMap<String, String>();
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, SERVICE_ID_FUSV0312);

		// マッピングクラスのインスタンスを生成
		FUSV0312_FUSV0312OPDBMapper mapper = new FUSV0312_FUSV0312OPDBMapper();
		HashMap<String, String> inputMap = new HashMap<String, String>();
		//eo光電話のサービス契約番号がある場合
		if(!JFUStrConst.EMPTY.equals(eotelSvckeiNo))
		{
			//ＰＯＮ種別コード
			mapper.setFUSV031201CC(paramBean, inputMap, JPCModelConstant.FUNC_CD_1);
		}
		//提供エリア１０Ｇフラグ
		mapper.setFUSV031202CC(paramBean, inputMap, JPCModelConstant.FUNC_CD_1);

		// 結果格納用マップ
		HashMap<String, Object> outputMap = new HashMap<String, Object>();

		try
		{
			// サービスインターフェイス（eo光ネット入力(初期表示)）呼び出し
			invokeService(paramMap, inputMap, outputMap);
		}
		catch (JCCWebServiceException se)
		{
			// 特定のエラーの場合は業務用例外クラスをthrowする。
			throw new JCCBusinessException(JFUStrConst.ERROR_CODE_0002);
		}
		//eo光電話のサービス契約番号がある場合
		if(!JFUStrConst.EMPTY.equals(eotelSvckeiNo))
		{
			// サービスの出力値設定
			mapper.getFUSV031201CC(paramBean, outputMap);
		}
		//提供エリア１０Ｇフラグ
		mapper.getFUSV031202CC(paramBean, outputMap);
	}
	
// ANK-3518-00-00 ADD END


	/**
	 * 「eo光ネット【マンションタイプ】提供条件の確認」リンク押下時
	 *
	 * @return true
	 * @throws Exception
	 */
	public boolean mansionTkjoken() throws Exception
	{
		// eo光ネット提供条件画面をPOPUPで起動
		setNextScreen(JFUScreenConst.SCREEN_ID_FUW00964, JFUScreenConst.SCREEN_NAME_FUW00964);

		return true;
	}


}