/*********************************************************************
* All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名		：eo顧客基幹システム
*	モジュール名	：サービス契約番号一覧ビューロジック
*	ソースファイル名：FUW00129SFLogic.java
*	作成者			：富士通
*	日付			：2011年06月23日
*＜機能概要＞
*	サービス契約番号一覧ビューロジッククラスです。
*＜修正履歴＞
*	バージョン	修正日		修正者		 修正内容
*	v1.00.00	2011/06/23	FJ）萩原	 新規作成
*	v3.00.00	2012/04/10	FJ）楠山	【案件番号:ANK-0049-00-00】光ハイブリッド対応
*	v4.00.00	2012/09/19	FJ）池田	【案件番号：ANK-1162-00-00】サービス〜プランの保持体系変更
*	v4.01.00	2012/10/27	FJ）大塚	 IT1-2012-0001559対応
*	v4.02.00	2012/11/12	FJ）大串	 TAI-2012-0000136-5対応 サービス追加時に、マンション従量制で100Mライトコースが表示されない障害対応
*	v4.03.00	2012/11/22	FJ) 大塚    【IT2-2012-0001790】
*	v4.04.00	2012/11/26	FJ）齋藤	【IT1-2012-0002149】サービス追加障害対応（WiMAX(白)既契約で同一回線）
*	v4.10.00	2012/12/25	FJ) 岩元	【IT1-2012-0002554】CC化に伴いロジック大幅改修
*	v4.11.00	2012/12/29	FJ) 岩元	【TAI-2012-0000136】マンションADDからホームADDに変更された場合の不具合
*	v4.12.00	2013/02/12	FJ) 大塚	【No402】
*	v4.13.00	2013/02/27	FJ) 大塚	【No356】マンション割引複数持ち対応
*   v5.00.00    2013/08/07	FJ) 文元	【IT1-2013-001522】共有フォームBean.マンション情報に「EKK0861B501_マンション検索一覧照会」OUT項目追加値を設定
*   v5.01.00    2013/08/19	FJ) 岡井	【OM-2013-0000164】モバイル変更ボタン不正リンク修正(APLCOnstの定義を見るように修正)
*   v7.00       2014/02/13	FJ) 岡井	【ANK-1922-00-00】フロントＳeo光eoモバイル一覧の電話番号選択相関画面対応
*   v10.00      2014/09/25	FJ) 文元 	【OM-2014-0003119】電話単独時契約付加未設定対応
*   v29.00      2016/10/31	FJ) 張本 	【ANK-2990-00-00】新電力対応Step2
*   v29.01      2017/01/13  FJ) 張本    【IT1-2017-0000004】複数回線での電気文言表示不正
*   v34.00      2017/09/08  FJ) 張本    【ANK-3210-00-00】電気単独対応
*   v34.01      2017/10/25  FJ) 張本    【IT1-2017-0000130】ネット単独マンションの電気ボタン表示ステータス設定不正
*   v40.00      2018/11/07  FJ）張本    【ANK-3412-00-00】５ギガ・１０ギガコース導入対応
*   v40.01      2019/01/29  FJ）張本    【ANK-3412-07-00】メゾン向け5G・10G提供情報表示対応
*   v46.00      2019/10/04  FJ）西川    【ANK-3731-00-00】マンション光配線切替対応
*   v48.00      2020/02/04  FJ) 岡井    【ANK-3757-00-00】マンション工事種別イーサ他社併行時のサービス開始希望日の入力欄制御
*   v56.00      2021/12/06  FJ）美濃原  【ANK-4103-00-00】マンション光コンセントタイプのWeb受付対応
*   v60.00      2022/06/20  FJ）美濃原  【ANK-4244-00-00】【eo定期】MT既設賃貸対応
*   v61.00      2023/04/20  FJ) 張本    【ANK-4315-00-00】【eo定期】eoホームゲートウェイ導入対応
*   v73.00      2024/11/15  FJ) 張本    【ANK-4493-00-00】【eo定期】光配線マンションのコースアップ対応
*
**********************************************************************/
package eo.web.webview.FUW00129SF;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;

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.X31CWebConst;
import com.fujitsu.futurity.web.x31.X31SDataBeanAccess;
import com.fujitsu.futurity.web.x31.X31SDataBeanAccessArray;
import com.fujitsu.futurity.web.x31.X31SRuntimeException;

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.FUSV0023_FUSV0023OPDBMapper;
import eo.web.webview.mapping.FUSV0269_FUSV0269OPDBMapper;
import eo.web.webview.mapping.FUSV0271_FUSV0271OPDBMapper;

/**
 * サービス契約番号一覧ビューロジッククラスです。<p>
 * <br/>
 * @author 富士通
 */
@SuppressWarnings("serial")
public class FUW00129SFLogic extends JCCWebBusinessLogic
{
	/** サービスユースケースID：サービス契約番号一覧 */
	private static final String SVC_USECASE_ID_FUSV0023 = "FUSV0023";

	/** ユースケースID（FUSV0269） */
	private static final String USECASE_ID_FUSV0269 = "FUSV0269";
	/** ユースケースID（FUSV0271） */
	private static final String USECASE_ID_FUSV0271 = "FUSV0271";

	/** 郵便番号加工用 */
	private static final String PCD_EMPTY = "       ";

	/** URLスクリーンID：eo光テレビ変更 */
	private static final String URL_SCREEN_ID_EOTV_HENKO = "eotv_henko";

	/** URLスクリーンID：eo光電話お客さま契約情報変更／照会メニュー  */
	private static final String TEL_CONTRACT_INQUIRY_MENU = "tel_contract_inquiry_menu";

	/** 提供料金種別コード：旧VDSL-S */
	private static final String TK_PRC_SBT_CD_VDSL_S_OLD = "001";

	/** 提供料金種別コード：VDSL-S */
	private static final String TK_PRC_SBT_CD_VDSL_S = "002";

	/** マップキー：mobile_10g */
	private static final String KEY_MOBILE_10G = "mobile_10g";

	/** マップキー：mobile_1g */
	private static final String KEY_MOBILE_1G = "mobile_1g";

	/** マップキー：mobile_200m */
	private static final String KEY_MOBILE_200M = "mobile_200m";

	/** マップキー：mobile_100m */
	private static final String KEY_MOBILE_100M = "mobile_100m";

	/** 宅内特殊配線有料工事コード：特殊配線 */
	private static final String TAKNI_TOKUHSEN_YRKOJI_CD_TKHN = "001";

	/** 特殊配線フラグ：特殊配線 */
	private static final String TKSH_HAISEN_TKSH = "1";

	/** 特殊配線フラグ：非特殊配線 */
	private static final String TKSH_HAISEN_HI_TKSH = "0";

	/** 回線フラグ：固定回線 */
	private static final int KOTEI_KAISEN = 1;

	/** APLConstから取得するキー(PMP MKA08_契約内容) */
	private static final String PMP_MP_MKA08_URL = "PMP_MP_MKA08_URL";

	/** [画面間引き継ぎ情報Mapキー]処理区分 */
	private static final String MAP_KEY_TRAN_KBN = "tran_kbn";
	/** [画面間引き継ぎ情報Mapキー]都道府県 */
	private static final String MAP_KEY_STATE = "state";
	/** [画面間引き継ぎ情報Mapキー]市町村・字・丁目 */
	private static final String MAP_KEY_CITY_AZA_CHO = "city_aza_cho";
	/** [画面間引き継ぎ情報Mapキー]丁字名 */
	private static final String MAP_KEY_CHO_AZA_NM = "cho_aza_nm";
	/** [画面間引き継ぎ情報Mapキー]番地・号 */
	private static final String MAP_KEY_BNCHIGO = "bnchigo";

	/** ボタン制御 2 */
	private static final String BTN_CTRL_2 = "2";
	/** マンション情報.検索パターン：1 */
	private static final String MANSION_SEARCH_PCD = "1";

	/** サービス契約ボタン；申込む表示 "1" */
	private static final String SVKEI_BTN_MSKM = "1";
	/** 電気契約ボタン：申込むのみ表示 "0" */
	private static final String ELEC_BTN_MSKM_ONLY = "0";

	/** 番地・号 置換文字列 対象文字「−」 */
	private static final String REP_BNCHIGO_TG1 = "−";
	/** 番地・号 置換文字列 対象文字「ー」*/
	private static final String REP_BNCHIGO_TG2 = "ー";
	/** 番地・号 置換文字列 対象文字「―」 */
	private static final String REP_BNCHIGO_TG3 = "―";

	/** 番地・号 置換文字列 変換文字 */
	private static final String REP_BNCHIGO_CH = "‐";

	/** サービス；申込可 "1" */
	private static final String MSKM_KA = "1";

	/**
	 * 初期表示処理
	 *
	 * <br/>
	 * @return 処理結果
	 * @throws Exception
	 */
	public boolean init() throws Exception
	{
		// -------------------------------------------------
		// フォームBeanの取得
		// -------------------------------------------------
		// 共有フォームBean
		X31SDataBeanAccess commonInfoBean = getCommonInfoBean();
		// サービス契約番号一覧サービスフォームBean
		X31SDataBeanAccess serviceFormBean = getServiceFormBean();

		// -------------------------------------------------
		// WEB新規情報から設定値を取得
		// -------------------------------------------------
		// 共有フォームBean.WEB新規情報取得
		X31SDataBeanAccess webNewBean = commonInfoBean.getDataBeanArray(CommonInfoCFConst.WEB_NEW_INFO).getDataBean(0);

		// WEB新規情報.SYSID
		String sysid = webNewBean.sendMessageString(CommonInfoCFConst.SYSID_06, X31CWebConst.DATABEAN_GET_VALUE);

		// -------------------------------------------------
		// 回線利用場所毎サービス契約番号一覧の取得
		// -------------------------------------------------
		// サービス検索条件格納用マップ
		HashMap<String, HashMap<String, String>> inputMap = new HashMap<String, HashMap<String, String>>();
		// サービス処理結果格納用マップ
		HashMap<String, HashMap<String, ArrayList<HashMap<String, String>>>> outputMap =
				new HashMap<String, HashMap<String, ArrayList<HashMap<String, String>>>>();

		// サービスパラメータ生成
		Map<String, String> paramMap = new HashMap<String, String>();
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, SVC_USECASE_ID_FUSV0023);

		// 上りマッピング用に、SYSIDをサービスフォームBeanにセット
		serviceFormBean.sendMessageString(FUW00129SFConst.KEY_SYSID, X31CWebConst.DATABEAN_SET_VALUE, sysid);

		// DataBean-BPマッピングクラス生成
		FUSV0023_FUSV0023OPDBMapper mapper = new FUSV0023_FUSV0023OPDBMapper();
		// 上り/下りマッピング用パラメータ生成
		X31SDataBeanAccess[] beanArray = new X31SDataBeanAccess[] { serviceFormBean, commonInfoBean };

		// サービス契約一覧照会CC上りマッピング
		mapper.setJFUSearchSvkeiListCC(beanArray, inputMap, JPCModelConstant.FUNC_CD_1);

		try
		{
			// 回線利用場所毎サービス契約番号一覧サービス呼び出し
			invokeService(paramMap, inputMap, outputMap);
		}
		catch (JCCWebServiceException se)
		{
			// 業務共通例外クラス："0002"（システムエラー）
			throw new JCCBusinessException(JFUStrConst.ERROR_CODE_0002);
		}

		// 固定回線の情報を下りマッピング
		mapper.getKoteiKaisen(beanArray, outputMap, this);

		// モバイル回線の情報を下りマッピング
		mapper.getMobileKaisen(beanArray, outputMap);

		// -------------------------------------------------
		// 固定回線数・モバイル回線数のカウント
		// -------------------------------------------------
		// 固定回線
		X31SDataBeanAccessArray svKei_kaisen_uw_list = serviceFormBean.getDataBeanArray(FUW00129SFConst.SVKEI_KAISEN_UW_LIST);
		serviceFormBean.sendMessageLong(FUW00129SFConst.SVC_NUM, X31CWebConst.DATABEAN_SET_VALUE, Long.valueOf(svKei_kaisen_uw_list.getCount()));

		// モバイル回線
		X31SDataBeanAccessArray svKei_kaisen_uw_mobile_list = serviceFormBean.getDataBeanArray(FUW00129SFConst.SVKEI_KAISEN_UW_MOBILE_LIST);
		serviceFormBean.sendMessageLong(FUW00129SFConst.MOBILE_NUM, X31CWebConst.DATABEAN_SET_VALUE, Long.valueOf(svKei_kaisen_uw_mobile_list
				.getCount()));

		// -------------------------------------------------
		// 画面表示用データの加工編集
		// -------------------------------------------------

		// ｅｏ光ネット変更マイポータルＵＲＬ
		serviceFormBean.sendMessageString(FUW00129SFConst.EONET_CHG_MYPOTAL_URL, X31CWebConst.DATABEAN_SET_VALUE,
				JCCWebCommon.getApplicationConst(PMP_MP_MKA08_URL));
		// ｅｏ光電話変更照会メニューＵＲＬ
		serviceFormBean.sendMessageString(FUW00129SFConst.EOTEL_CHG_URL, X31CWebConst.DATABEAN_SET_VALUE, JCCWebCommon
				.getApplicationConst("FU_N_AXM_REQUEST_URL_EOTEL_HENKO"));
		// ｅｏ光テレビ変更照会メニューＵＲＬ
		serviceFormBean.sendMessageString(FUW00129SFConst.EOTV_CHG_URL, X31CWebConst.DATABEAN_SET_VALUE, JCCWebCommon
				.getApplicationConst("FU_N_AXM_REQUEST_URL_EOTV_HENKO"));
		// ｅｏモバイル変更マイポータルＵＲＬ(2013.08.19 OM-2013-0000164)
		serviceFormBean.sendMessageString(FUW00129SFConst.EOMOBA_CHG_MYPOTAL_URL, X31CWebConst.DATABEAN_SET_VALUE,
				JCCWebCommon.getApplicationConst(PMP_MP_MKA08_URL));

		// -------------------------------------------------
		// 遷移先画面ID、画面名の設定
		// -------------------------------------------------
		// サービス契約番号一覧画面に遷移
		commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JFUScreenConst.SCREEN_ID_FUW00129);
		commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JFUScreenConst.SCREEN_NAME_FUW00129);

		// 申込受付実績登録部品実行
		JFUWebCommon.executeWebMskmUkJskAdd(this);

		// DataBeanログ出力
		JSYwebLog.println(JSYLogBase.DataBean_Dump, getClass(), dumpDatabean(), null, null, null);

		return true;
	}

	/**
	 * 変更するボタン押下処理(ネット)
	 * <br/>
	 * @return 処理結果
	 */
	public boolean netUpdate()
	{
		// ---------------------------------------------------------------------
		// マイポータルのご契約サービスの照会画面（ネット）へ遷移する。
		// →ビューロジックのイベント経由の遷移ではなく、URL直指定による遷移のため、当メソッドは呼び出しされません。
		// ---------------------------------------------------------------------

		return true;
	}

	/**
	 * 変更するボタン押下処理(電話)
	 * <br/>
	 * @return 処理結果
	 */
	public boolean telUpdate()
	{
		// -------------------------------------------------
		// フォームBeanの取得
		// -------------------------------------------------
		// 共有フォームBean
		X31SDataBeanAccess commonInfoBean = getCommonInfoBean();
		// サービスフォームBean
		X31SDataBeanAccess serviceFormBean = getServiceFormBean();

		// ●共有フォームBean値設定処理(WEB変更連系用)
		setChgInfoBeanTel(commonInfoBean, serviceFormBean);

		// -------------------------------------------------
		// 遷移先画面ID、画面名の設定
		// -------------------------------------------------
		// 遷移元画面IDを設定
		commonInfoBean.sendMessageString(CommonInfoCFConst.BEFORE_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JFUScreenConst.SCREEN_ID_FUW00129);
		// eo光電話お客さま契約情報変更／照会メニュー画面に遷移
		commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JFUScreenConst.SCREEN_ID_FUW05301);
		commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JFUScreenConst.SCREEN_NAME_FUW05301);

		return true;
	}

	/**
	 * 変更するボタン押下処理(テレビ)
	 * <br/>
	 * @return 処理結果
	 */
	public boolean tvUpdate()
	{
		// -------------------------------------------------
		// フォームBeanの取得
		// -------------------------------------------------
		// 共有フォームBean
		X31SDataBeanAccess commonInfoBean = getCommonInfoBean();
		// 共有フォームBean.WEB新規情報取得
		X31SDataBeanAccess webNewInfoBean = commonInfoBean.getDataBeanArray(CommonInfoCFConst.WEB_NEW_INFO).getDataBean(0);

		// -------------------------------------------------
		// 画面引継情報の作成
		// -------------------------------------------------
		// WEB新規情報.画面遷移モード："0"(通常遷移)
		webNewInfoBean.sendMessageString(CommonInfoCFConst.SCREEN_MODE_06, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.SCREEN_MODE_DEF);

		setCBeanSvcKeiNo(KOTEI_KAISEN);

		// 共有フォームBean.WEB変更情報取得
		X31SDataBeanAccessArray webChgInfoBeanArr = commonInfoBean.getDataBeanArray(CommonInfoCFConst.WEB_CHG_INFO);
		if (webChgInfoBeanArr.getDataBean(0) == null)
		{
			webChgInfoBeanArr.addDataBean();
		}
		X31SDataBeanAccess webChgInfoBean = webChgInfoBeanArr.getDataBean(0);

		// 共有フォームBean.SSO情報取得
		X31SDataBeanAccessArray ssoInfoBeanArr = webChgInfoBean.getDataBeanArray(CommonInfoCFConst.SSO_INFO);
		if (ssoInfoBeanArr.getDataBean(0) == null)
		{
			ssoInfoBeanArr.addDataBean();
		}
		X31SDataBeanAccess ssoInfoBean = ssoInfoBeanArr.getDataBean(0);

		ssoInfoBean.sendMessageString(CommonInfoCFConst.URL_SCREEN_ID_21, X31CWebConst.DATABEAN_SET_VALUE, URL_SCREEN_ID_EOTV_HENKO);

		// -------------------------------------------------
		// 遷移先画面ID、画面名の設定
		// -------------------------------------------------
		// SSOログイン連携画面に遷移
		commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JFUScreenConst.SCREEN_ID_FUW01102);
		commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JFUScreenConst.SCREEN_NAME_FUW01102);

		return true;
	}

	/**
	 * 追加申し込みボタン押下処理(ネット)
	 * <br/>
	 * @return 処理結果
	 */
	public boolean netSvcAdd()
	{
		// 追加申し込みボタン押下処理
		return svcAdd();
	}

	/**
	 * 追加申し込みボタン押下処理(テレビ)
	 * <br/>
	 * @return 処理結果
	 */
	public boolean telSvcAdd()
	{
		// 追加申し込みボタン押下処理
		return svcAdd();
	}

	/**
	 * 追加申し込みボタン押下処理(電話)
	 * <br/>
	 * @return 処理結果
	 */
	public boolean tvSvcAdd()
	{
		// 追加申し込みボタン押下処理
		return svcAdd();
	}

	/**
	 * 追加申し込みボタン押下処理(モバイル)
	 * <br/>
	 * @return 処理結果
	 */
	public boolean mobileSvcAdd()
	{
		// -------------------------------------------------
		// フォームBeanの取得
		// -------------------------------------------------
		// 共有フォームBean
		X31SDataBeanAccess commonInfoBean = getCommonInfoBean();

		// -------------------------------------------------
		// WEB新規情報から設定値を取得
		// -------------------------------------------------
		// 共有フォームBean.WEB新規情報取得
		X31SDataBeanAccess webNewInfoBean = commonInfoBean.getDataBeanArray(CommonInfoCFConst.WEB_NEW_INFO).getDataBean(0);

		// WEB新規情報.リダイレクト情報取得
		X31SDataBeanAccessArray redirectBeanArr = webNewInfoBean.getDataBeanArray(CommonInfoCFConst.REDIRECT_INFO);
		if (redirectBeanArr.getDataBean(0) == null)
		{
			redirectBeanArr.addDataBean();
		}
		X31SDataBeanAccess redirectInfoBean = redirectBeanArr.getDataBean(0);

		// -------------------------------------------------
		// 画面引継情報の作成
		// -------------------------------------------------
		// WEB新規情報.画面遷移モード："0"(通常遷移)
		webNewInfoBean.sendMessageString(CommonInfoCFConst.SCREEN_MODE_06, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.SCREEN_MODE_DEF);

		// IT2-2012-1790 2012/11/26 Otsuka start
		// リダイレクト情報.遷移パターン："3"(モバイル単独申込)
		redirectInfoBean.sendMessageString(CommonInfoCFConst.NAVIGATOR_PTN_17, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.NAVI_PTN_MOBILE_SNGL);

		// 申込回線サービス = モバイル単独
		webNewInfoBean.sendMessageString(CommonInfoCFConst.MSKM_KSN_SVC_06, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.MSKM_KSN_SVC_MOBILE);

		// IT2-2012-1790 2012/11/26 Otsuka end

		// WEB新規情報.契約サービス情報取得
		X31SDataBeanAccessArray webnewBeanArr = webNewInfoBean.getDataBeanArray(CommonInfoCFConst.KEIYAKU_SVC_INFO);
		if (webnewBeanArr.getDataBean(0) == null)
		{
			webnewBeanArr.addDataBean();
		}
		X31SDataBeanAccess keiyakuSvcInfoBean = webnewBeanArr.getDataBean(0);

		keiyakuSvcInfoBean.sendMessageString(CommonInfoCFConst.SVC_KEI_KAISEN_UCWK_NO_10, X31CWebConst.DATABEAN_SET_VALUE, "000000000000");

		// -------------------------------------------------
		// 遷移先画面ID、画面名の設定
		// -------------------------------------------------
		// eoモバイル入力画面に遷移
		commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JFUScreenConst.SCREEN_ID_FUW00123);
		commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JFUScreenConst.SCREEN_NAME_FUW00123);

		return true;
	}

	/**
	 * 追加申し込みボタン押下処理(モバイル以外共通)
	 * <br/>
	 * @return 処理結果
	 */
	public boolean svcAdd()
	{
		// -------------------------------------------------
		// フォームBeanの取得
		// -------------------------------------------------
		// 共有フォームBean
		X31SDataBeanAccess commonInfoBean = getCommonInfoBean();
		// サービス契約番号一覧サービスフォームBean
		X31SDataBeanAccess serviceFormBean = getServiceFormBean();

		// -------------------------------------------------
		// WEB新規情報から設定値を取得
		// -------------------------------------------------
		// 共有フォームBean.WEB新規情報取得
		X31SDataBeanAccess webNewInfoBean = commonInfoBean.getDataBeanArray(CommonInfoCFConst.WEB_NEW_INFO).getDataBean(0);

		// WEB新規情報.契約サービス情報取得
		X31SDataBeanAccessArray webnewBeanArr = webNewInfoBean.getDataBeanArray(CommonInfoCFConst.KEIYAKU_SVC_INFO);
		if (webnewBeanArr.getDataBean(0) == null)
		{
			webnewBeanArr.addDataBean();
		}
		X31SDataBeanAccess keiyakuSvcInfoBean = webnewBeanArr.getDataBean(0);

		// WEB新規情報.利用場所情報取得
		X31SDataBeanAccessArray riyobashoInfoBeanArr = webNewInfoBean.getDataBeanArray(CommonInfoCFConst.RIYOBASHO_INFO);
		if (riyobashoInfoBeanArr.getDataBean(0) == null)
		{
			riyobashoInfoBeanArr.addDataBean();
		}
		X31SDataBeanAccess riyobashoInfoBean = riyobashoInfoBeanArr.getDataBean(0);

		// -------------------------------------------------
		// 画面上でボタン押下された回線内訳情報の取得
		// -------------------------------------------------
		// 選択回線内訳インデックスを取得
		int index = serviceFormBean.sendMessageLong(FUW00129SFConst.SELECTED_KSN_UCWK_INDEX, X31CWebConst.DATABEAN_GET_VALUE).intValue();

		// サービスフォームBean.サービス契約回線内訳明細リスト取得
		X31SDataBeanAccessArray svcKsnUcwkList = serviceFormBean.getDataBeanArray(FUW00129SFConst.SVKEI_KAISEN_UW_LIST);

		// 選択されたサービス契約回線内訳明細を取得
		X31SDataBeanAccess svcKsnUcwk = svcKsnUcwkList.getDataBean(index);

		X31SDataBeanAccessArray serviceMansionInfoArray = svcKsnUcwk.getDataBeanArray(FUW00129SFConst.MANSION_INFO_LIST);
		if (0 < serviceMansionInfoArray.getCount())
		{
			// マンションと判断する
			webNewInfoBean.sendMessageString(CommonInfoCFConst.MSKM_KSN_SVC_06, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.MSKM_KSN_SVC_MANSION);
		}
		else
		{
			// ホームと判断する
			webNewInfoBean.sendMessageString(CommonInfoCFConst.MSKM_KSN_SVC_06, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.MSKM_KSN_SVC_HOME);
			// TAI-2012-0000136 2012/12/29 h.iwamoto マンションADDからホームADDに変更された場合 START
			webNewInfoBean.sendMessageString(CommonInfoCFConst.MSKM_MNS_TYPE_06, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
			// TAI-2012-0000136 2012/12/29 h.iwamoto マンションADDからホームADDに変更された場合 END
		}

		// -------------------------------------------------
		// 画面引継情報の作成
		// -------------------------------------------------
		// WEB新規情報.画面遷移モード："0"(通常遷移)
		webNewInfoBean.sendMessageString(CommonInfoCFConst.SCREEN_MODE_06, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.SCREEN_MODE_DEF);

		// WEB新規情報.契約サービス情報.サービス契約回線内訳番号
		keiyakuSvcInfoBean.sendMessageString(CommonInfoCFConst.SVC_KEI_KAISEN_UCWK_NO_10, X31CWebConst.DATABEAN_SET_VALUE, svcKsnUcwk
				.sendMessageString(FUW00129SFConst.SVC_KEI_KAISEN_UCWK_NO_01, X31CWebConst.DATABEAN_GET_VALUE));

		String svc_kei_kaisen_ucwk_no = svcKsnUcwk.sendMessageString(FUW00129SFConst.SVC_KEI_KAISEN_UCWK_NO_01, X31CWebConst.DATABEAN_GET_VALUE);

		keiyakuSvcInfoBean.sendMessageString(CommonInfoCFConst.SVC_KEI_KAISEN_UCWK_NO_10, X31CWebConst.DATABEAN_SET_VALUE, svc_kei_kaisen_ucwk_no);

		// WEB新規情報.契約サービス情報.更新年月日時分秒（サービス契約回線内訳）
		keiyakuSvcInfoBean.sendMessageString(CommonInfoCFConst.UPD_DTM_SVC_KEI_KAISEN_UCWK_10, X31CWebConst.DATABEAN_SET_VALUE, svcKsnUcwk
				.sendMessageString(FUW00129SFConst.KK0251_UPD_DTM_02, X31CWebConst.DATABEAN_GET_VALUE));
		// WEB新規情報.契約サービス情報.契約中サービス（ネット）
		keiyakuSvcInfoBean.sendMessageString(CommonInfoCFConst.NOW_SVC_NET_10, X31CWebConst.DATABEAN_SET_VALUE, svcKsnUcwk.sendMessageString(
				FUW00129SFConst.NOW_SVC_NET_01, X31CWebConst.DATABEAN_GET_VALUE));
		// WEB新規情報.契約サービス情報.契約中サービス（電話）
		keiyakuSvcInfoBean.sendMessageString(CommonInfoCFConst.NOW_SVC_TEL_10, X31CWebConst.DATABEAN_SET_VALUE, svcKsnUcwk.sendMessageString(
				FUW00129SFConst.NOW_SVC_TEL_01, X31CWebConst.DATABEAN_GET_VALUE));
		// WEB新規情報.契約サービス情報.契約中サービス（テレビ）
		keiyakuSvcInfoBean.sendMessageString(CommonInfoCFConst.NOW_SVC_TV_10, X31CWebConst.DATABEAN_SET_VALUE, svcKsnUcwk.sendMessageString(
				FUW00129SFConst.NOW_SVC_TV_01, X31CWebConst.DATABEAN_GET_VALUE));
		// WEB新規情報.契約サービス情報.契約中サービス（モバイル）
		Long mobileNum = serviceFormBean.sendMessageLong(FUW00129SFConst.MOBILE_NUM, X31CWebConst.DATABEAN_GET_VALUE);
		String nowSvcMobile = JFUStrConst.EMPTY;
		if (mobileNum.intValue() >= 1)
		{
			// モバイル契約数が1件以上の場合
			nowSvcMobile = JFUStrConst.NOW_SVC_MOBILE_KEI_CHU;
		}
		else
		{
			nowSvcMobile = JFUStrConst.NOW_SVC_MOBILE_MI_KEI;
		}
		keiyakuSvcInfoBean.sendMessageString(CommonInfoCFConst.NOW_SVC_MOBILE_10, X31CWebConst.DATABEAN_SET_VALUE, nowSvcMobile);

		setCBeanSvcKeiNo(KOTEI_KAISEN);

		// ●FUSV0271サービスの呼出
		callFUSV0271Service(commonInfoBean, serviceFormBean);

		// 郵便番号の分割処理
		String pcd = svcKsnUcwk.sendMessageString(FUW00129SFConst.KAISEN_PLACE_PCD_01, X31CWebConst.DATABEAN_GET_VALUE) + PCD_EMPTY;
		String pcd1 = pcd.substring(0, 3).trim(); // 前3桁を抽出
		String pcd2 = pcd.substring(3).trim(); // 後4桁を抽出

		// WEB新規情報.利用場所情報.郵便番号（上）
		riyobashoInfoBean.sendMessageString(CommonInfoCFConst.USEPLACE_PCD1_08, X31CWebConst.DATABEAN_SET_VALUE, pcd1);
		// WEB新規情報.利用場所情報.郵便番号（下）
		riyobashoInfoBean.sendMessageString(CommonInfoCFConst.USEPLACE_PCD2_08, X31CWebConst.DATABEAN_SET_VALUE, pcd2);

		// WEB新規情報.利用場所情報.府県・市区町村
		riyobashoInfoBean.sendMessageString(CommonInfoCFConst.USEPLACE_STATE_08, X31CWebConst.DATABEAN_SET_VALUE, svcKsnUcwk.sendMessageString(
				FUW00129SFConst.KAISEN_PLACE_STATE_NM_01, X31CWebConst.DATABEAN_GET_VALUE)
				+ svcKsnUcwk.sendMessageString(FUW00129SFConst.KAISEN_PLACE_CITY_NM_01, X31CWebConst.DATABEAN_GET_VALUE));
		// WEB新規情報.利用場所情報.字
		riyobashoInfoBean.sendMessageString(CommonInfoCFConst.USEPLACE_AZA_08, X31CWebConst.DATABEAN_SET_VALUE, svcKsnUcwk.sendMessageString(
				FUW00129SFConst.KAISEN_PLACE_OAZTSU_NM_01, X31CWebConst.DATABEAN_GET_VALUE));
		// WEB新規情報.利用場所情報.丁目・番地等
		riyobashoInfoBean.sendMessageString(CommonInfoCFConst.USEPLACE_CHO_BNCHI_08, X31CWebConst.DATABEAN_SET_VALUE, svcKsnUcwk.sendMessageString(
				FUW00129SFConst.KAISEN_PLACE_AZCHO_NM_01, X31CWebConst.DATABEAN_GET_VALUE)
				+ svcKsnUcwk.sendMessageString(FUW00129SFConst.KAISEN_PLACE_BNCHIGO_01, X31CWebConst.DATABEAN_GET_VALUE));
		// WEB新規情報.利用場所情報.建物名
		riyobashoInfoBean.sendMessageString(CommonInfoCFConst.USEPLACE_TTM_08, X31CWebConst.DATABEAN_SET_VALUE, svcKsnUcwk.sendMessageString(
				FUW00129SFConst.KAISEN_PLACE_ADRTTM_01, X31CWebConst.DATABEAN_GET_VALUE));
		// WEB新規情報.利用場所情報.部屋番号
		riyobashoInfoBean.sendMessageString(CommonInfoCFConst.USEPLACE_RRM_08, X31CWebConst.DATABEAN_SET_VALUE, svcKsnUcwk.sendMessageString(
				FUW00129SFConst.KAISEN_PLACE_ADRRM_01, X31CWebConst.DATABEAN_GET_VALUE));

		// ---------------------------------------------------------------------
		// 電話番号を（１）〜（３）の3フィールドに分割して格納する必要があるが、
		// 番号形態により分割位置が異なる為、定型的な分割では対応できない。
		// →対応方法を検討する必要あり。現状は分割せずに（１）に格納する。
		// ---------------------------------------------------------------------
		// WEB新規情報.利用場所情報.電話番号（１）
		riyobashoInfoBean.sendMessageString(CommonInfoCFConst.USEPLACE_TELNO1_08, X31CWebConst.DATABEAN_SET_VALUE, svcKsnUcwk.sendMessageString(
				FUW00129SFConst.KAISEN_PLACE_TELNO_01, X31CWebConst.DATABEAN_GET_VALUE));
		// WEB新規情報.利用場所情報.電話番号（２）
		riyobashoInfoBean.sendMessageString(CommonInfoCFConst.USEPLACE_TELNO2_08, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
		// WEB新規情報.利用場所情報.電話番号（３）
		riyobashoInfoBean.sendMessageString(CommonInfoCFConst.USEPLACE_TELNO3_08, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);

		// **************************************************************
		// 回線場所選択を設定する。(ご契約中の回線に追加する)
		X31SDataBeanAccessArray elseInfoArr = webNewInfoBean.getDataBeanArray(CommonInfoCFConst.ELSE_INFO);
		if (elseInfoArr.getDataBean(0) == null)
		{
			elseInfoArr.addDataBean();
		}
		X31SDataBeanAccess elseInfoBean = elseInfoArr.getDataBean(0);
		elseInfoBean.sendMessageString(CommonInfoCFConst.KAISEN_SELECT_18, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.KAISEN_SELECT_ADD_KEI);

		// WEB新規情報.申込回線サービスがホームタイプの場合
		if (JFUStrConst.MSKM_KSN_SVC_HOME
				.equals(webNewInfoBean.sendMessageString(CommonInfoCFConst.MSKM_KSN_SVC_06, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			// WEB新規情報.PASCO情報取得
			X31SDataBeanAccessArray pascoArr = webNewInfoBean.getDataBeanArray(CommonInfoCFConst.PASCO_INFO);
			if (pascoArr.getDataBean(0) == null)
			{
				pascoArr.addDataBean();
			}
			X31SDataBeanAccess pascoBean = pascoArr.getDataBean(0);

			// WEB新規情報.契約サービス情報.契約中サービス（ネット）
			if (JFUStrConst.NOW_SVC_NET_MI_KEI.equals(keiyakuSvcInfoBean.sendMessageString(CommonInfoCFConst.NOW_SVC_NET_10,
					X31CWebConst.DATABEAN_GET_VALUE)))
			{
				// ネット
				pascoBean.sendMessageString(CommonInfoCFConst.MOBILE_10G_07, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.MOBILE_10G_MSKM_PSB);
				pascoBean.sendMessageString(CommonInfoCFConst.MOBILE_1G_07, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.MOBILE_1G_MSKM_PSB);
				pascoBean.sendMessageString(CommonInfoCFConst.MOBILE_200M_07, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.MOBILE_200M_MSKM_PSB);
				pascoBean.sendMessageString(CommonInfoCFConst.MOBILE_100M_07, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.MOBILE_100M_MSKM_PSB);
			}
			// WEB新規情報.契約サービス情報.契約中サービス（電話）
			if (JFUStrConst.NOW_SVC_TEL_MI_KEI.equals(keiyakuSvcInfoBean.sendMessageString(CommonInfoCFConst.NOW_SVC_TEL_10,
					X31CWebConst.DATABEAN_GET_VALUE)))
			{
				pascoBean.sendMessageString(CommonInfoCFConst.TEL_07, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.TEL_MSKM_PSB_FLG_MSKM_PSB);
			}
			// WEB新規情報.契約サービス情報.契約中サービス（テレビ）
			if (JFUStrConst.NOW_SVC_TV_MI_KEI.equals(keiyakuSvcInfoBean.sendMessageString(CommonInfoCFConst.NOW_SVC_TV_10,
					X31CWebConst.DATABEAN_GET_VALUE)))
			{
				pascoBean.sendMessageString(CommonInfoCFConst.TV_07, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.TV_MSKM_PSB_FLG_KCAT);
			}

			// サービス契約回線内訳リスト.住所形態コード → 利用場所情報.利用場所の形態
			riyobashoInfoBean.sendMessageString(CommonInfoCFConst.SETPLACE_FORM_08, X31CWebConst.DATABEAN_SET_VALUE, svcKsnUcwk.sendMessageString(
					FUW00129SFConst.AD_FORM_CD_01, X31CWebConst.DATABEAN_GET_VALUE));

			// -------------------------------------------------
			// 遷移先画面ID、画面名の設定
			// -------------------------------------------------
			// サービス選択画面に遷移
			commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JFUScreenConst.SCREEN_ID_FUW00105);
			commonInfoBean
					.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JFUScreenConst.SCREEN_NAME_FUW00105);
		}
		// WEB新規情報.申込回線サービスがマンションタイプの場合
		// TAI-2012-0000022 2012/03/22 h.iwamoto START
		else if (JFUStrConst.MSKM_KSN_SVC_MANSION.equals(webNewInfoBean.sendMessageString(CommonInfoCFConst.MSKM_KSN_SVC_06,
				X31CWebConst.DATABEAN_GET_VALUE)))
		{
			X31SDataBeanAccess serviceMansionInfoBean = svcKsnUcwk.getDataBeanArray(FUW00129SFConst.MANSION_INFO_LIST).getDataBean(0);
			// サービスフォームBean.マンション一覧よりサービス申込可能フラグの設定を行う。
			this.setSvcMskmKanouFlg(commonInfoBean, serviceMansionInfoBean);

			// その他情報の設定
			this.setElseInfo(commonInfoBean, serviceMansionInfoBean);

			// マンション割引情報の設定
			this.callFUSV269Service(commonInfoBean, serviceMansionInfoBean);

			// 引継情報の設定
			this.setTransferInfo(commonInfoBean, serviceMansionInfoBean);

			// 遷移先画面の設定
			this.setNextScreenInfo(commonInfoBean);
		}
		// **************************************************************

		// 支払審査結果設定
		webNewInfoBean.sendMessageString(CommonInfoCFConst.PAY_SKEKKA_06, X31CWebConst.DATABEAN_SET_VALUE, svcKsnUcwk.sendMessageString(
				FUW00129SFConst.PAY_SKEKKA_01, X31CWebConst.DATABEAN_GET_VALUE));

		// 電気ボタン表示ステータス
		boolean isNetMskm =
				MSKM_KA.equals(svcKsnUcwk.sendMessageString(FUW00129SFConst.NET_ADD_MSKM_KH_01, X31CWebConst.DATABEAN_GET_VALUE))
						&& SVKEI_BTN_MSKM.equals(svcKsnUcwk.sendMessageString(FUW00129SFConst.BTN_DSP_NET_01, X31CWebConst.DATABEAN_GET_VALUE));
		boolean isTelMskm =
				MSKM_KA.equals(svcKsnUcwk.sendMessageString(FUW00129SFConst.TEL_ADD_MSKM_KH_01, X31CWebConst.DATABEAN_GET_VALUE))
						&& SVKEI_BTN_MSKM.equals(svcKsnUcwk.sendMessageString(FUW00129SFConst.BTN_DSP_TEL_01, X31CWebConst.DATABEAN_GET_VALUE));
		boolean isTvMskm =
				MSKM_KA.equals(svcKsnUcwk.sendMessageString(FUW00129SFConst.TV_ADD_MSKM_KH_01, X31CWebConst.DATABEAN_GET_VALUE))
						&& SVKEI_BTN_MSKM.equals(svcKsnUcwk.sendMessageString(FUW00129SFConst.BTN_DSP_TV_01, X31CWebConst.DATABEAN_GET_VALUE));
		// 回線に一つも申込ボタン表示がない場合
		if (!isNetMskm && !isTelMskm && !isTvMskm)
		{
			// 申込のみを設定
			webNewInfoBean.sendMessageString(CommonInfoCFConst.BTN_DSP_ELEC_STAT_06, X31CWebConst.DATABEAN_SET_VALUE, ELEC_BTN_MSKM_ONLY);

		}
		// それ以外
		else
		{
			// 電気ボタン表示ステータスを設定
			webNewInfoBean.sendMessageString(CommonInfoCFConst.BTN_DSP_ELEC_STAT_06, X31CWebConst.DATABEAN_SET_VALUE, svcKsnUcwk.sendMessageString(
					FUW00129SFConst.BTN_DSP_ELEC_01, X31CWebConst.DATABEAN_GET_VALUE));

		}

		return true;
	}

	/**
	 * 戻るボタン押下処理
	 * <br/>
	 * @return 処理結果
	 * @throws Exception
	 */
	public boolean back() throws Exception
	{
		// -------------------------------------------------
		// フォームBeanの取得
		// -------------------------------------------------
		// 共有フォームBean
		X31SDataBeanAccess commonInfoBean = getCommonInfoBean();

		// -------------------------------------------------
		// 画面引継情報の作成
		// -------------------------------------------------
		// 共有フォームBean.WEB新規情報取得
		X31SDataBeanAccess webnewBean = commonInfoBean.getDataBeanArray(CommonInfoCFConst.WEB_NEW_INFO).getDataBean(0);

		// WEB新規情報.画面遷移モード：通常遷移
		webnewBean.sendMessageString(CommonInfoCFConst.SCREEN_MODE_06, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.SCREEN_MODE_DEF);

		JFUWebCommon.comClear(this);

		// 電気ボタン表示ステータスを設定
		webnewBean.sendMessageString(CommonInfoCFConst.BTN_DSP_ELEC_STAT_06, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);

		// -------------------------------------------------
		// 遷移先画面ID、画面名の設定
		// -------------------------------------------------
		// 手続内容確認画面に遷移
		commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JFUScreenConst.SCREEN_ID_FUW00103);
		commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JFUScreenConst.SCREEN_NAME_FUW00103);

		return true;
	}

	/**
	 * サービス申込可能フラグの設定を行う。
	 * (FUW00134より移設)
	 * <br>
	 * @param commonInfoBean 共有フォームBean
	 * @param serviceMansionInfoBean サービスフォームBean
	 */
	private void setSvcMskmKanouFlg(X31SDataBeanAccess commonInfoBean, X31SDataBeanAccess serviceMansionInfoBean)
	{

		// 共有フォームBeanからWEB新規情報を取得
		X31SDataBeanAccess webNewInfoBean = getX31SDataBeanAccess(commonInfoBean, CommonInfoCFConst.WEB_NEW_INFO);

		// WEB新規情報からマンション情報を取得
		X31SDataBeanAccess mansionInfoBean = getX31SDataBeanAccess(webNewInfoBean, CommonInfoCFConst.MANSION_INFO);

		// マンション物件コード		mansion_bukken_cd
		String mansionBukkenCd = serviceMansionInfoBean.sendMessageString(FUW00129SFConst.MANSION_BUKKEN_CD_03, X31CWebConst.DATABEAN_GET_VALUE);

		// 加入契約申込条件コード	knykei_mskm_joken_cd
		String knykeiMskmJokenCd = serviceMansionInfoBean.sendMessageString(FUW00129SFConst.KNYKEI_MSKM_JOKEN_CD_03, X31CWebConst.DATABEAN_GET_VALUE);

		// 加入契約ネット10G申込可否	knykei_net_10g_mskm_kh
		String knykeiNet10gMskmKh =
				serviceMansionInfoBean.sendMessageString(FUW00129SFConst.KNYKEI_NET_10G_MSKM_KH_03, X31CWebConst.DATABEAN_GET_VALUE);

		// 加入契約ネット1G申込可否		knykei_net_1g_mskm_kh
		String knykeiNet1gMskmKh =
				serviceMansionInfoBean.sendMessageString(FUW00129SFConst.KNYKEI_NET_1G_MSKM_KH_03, X31CWebConst.DATABEAN_GET_VALUE);

		// 加入契約ネット200M申込可否	knykei_net_200m_mskm_kh
		String knykeiNet200mMskmKh =
				serviceMansionInfoBean.sendMessageString(FUW00129SFConst.KNYKEI_NET_200M_MSKM_KH_03, X31CWebConst.DATABEAN_GET_VALUE);

		// 加入契約ネット100M申込可否	knykei_net_100m_mskm_kh
		String knykeiNet100mMskmKh =
				serviceMansionInfoBean.sendMessageString(FUW00129SFConst.KNYKEI_NET_100M_MSKM_KH_03, X31CWebConst.DATABEAN_GET_VALUE);

		// メゾン光テレビ提供コード	maison_hikari_tv_tk_cd
		String maisonHikariTvTkCd =
				serviceMansionInfoBean.sendMessageString(FUW00129SFConst.MAISON_HIKARI_TV_TK_CD_03, X31CWebConst.DATABEAN_GET_VALUE);

		// 光テレビ提供状況コード	hikari_tv_tk_jokyo_cd
		String hikariTvTkJokyoCd =
				serviceMansionInfoBean.sendMessageString(FUW00129SFConst.HIKARI_TV_TK_JOKYO_CD_03, X31CWebConst.DATABEAN_GET_VALUE);

		// 光電話提供コード		hikari_tel_tk_cd
		String hikariTelTkCd = serviceMansionInfoBean.sendMessageString(FUW00129SFConst.HIKARI_TEL_TK_CD_03, X31CWebConst.DATABEAN_GET_VALUE);

		// 提供方式コード	tk_hoshiki_cd
		String tkHoshikiCd = serviceMansionInfoBean.sendMessageString(FUW00129SFConst.TK_HOSHIKI_CD_03, X31CWebConst.DATABEAN_GET_VALUE);

		// ペアＩＤ		pairid
		String pairid = serviceMansionInfoBean.sendMessageString(FUW00129SFConst.PAIRID_03, X31CWebConst.DATABEAN_GET_VALUE);

		// 棟内速度コード	tonai_speed_cd
		String tonaiSpeedCd = serviceMansionInfoBean.sendMessageString(FUW00129SFConst.TONAI_SPEED_CD_03, X31CWebConst.DATABEAN_GET_VALUE);

		// 提供方式パターンコード	tk_hoshiki_pattern_cd
		String tkHoshikiPtnCd =
			serviceMansionInfoBean.sendMessageString(FUW00129SFConst.TK_HOSHIKI_PATTERN_CD_03, X31CWebConst.DATABEAN_GET_VALUE);

		// 加入契約ネット10G申込可否		knykei_net_10g_mskm_kh
		String knykeiNet10gMskmKhMans =
				serviceMansionInfoBean.sendMessageString(FUW00129SFConst.KNYKEI_NET_10G_MKM_KH_MANS_03, X31CWebConst.DATABEAN_GET_VALUE);

		// 加入契約ネット1G申込可否		knykei_net_1g_mskm_kh
		String knykeiNet1gMskmKhMans =
				serviceMansionInfoBean.sendMessageString(FUW00129SFConst.KNYKEI_NET_1G_MKM_KH_MANS_03, X31CWebConst.DATABEAN_GET_VALUE);

		// マンション物件コードが"001"マンションの場合
		if (JFUStrConst.MANSION_BUKKEN_CD_MF.equals(mansionBukkenCd))
		{

			// ネット申込可否とコースの判定を行う
			Map<String, String> mskmKanouFlgMap =
					this.getNetMskmKhHnti001(tonaiSpeedCd, tkHoshikiCd, pairid, knykeiMskmJokenCd, tkHoshikiPtnCd, knykeiNet10gMskmKhMans, knykeiNet1gMskmKhMans);

			// 共有フォームBean.マンション情報の値を設定する。
			// １０Ｇ申込可能フラグ
			mansionInfoBean.sendMessageString(CommonInfoCFConst.MOBILE_10G_16, X31CWebConst.DATABEAN_SET_VALUE, mskmKanouFlgMap.get(KEY_MOBILE_10G));

			// １Ｇ申込可能フラグ
			mansionInfoBean.sendMessageString(CommonInfoCFConst.MOBILE_1G_16, X31CWebConst.DATABEAN_SET_VALUE, mskmKanouFlgMap.get(KEY_MOBILE_1G));

			// ２００メガ申込可能フラグ
			mansionInfoBean
					.sendMessageString(CommonInfoCFConst.MOBILE_200M_16, X31CWebConst.DATABEAN_SET_VALUE, mskmKanouFlgMap.get(KEY_MOBILE_200M));

			// １００メガ申込可能フラグ
			mansionInfoBean
					.sendMessageString(CommonInfoCFConst.MOBILE_100M_16, X31CWebConst.DATABEAN_SET_VALUE, mskmKanouFlgMap.get(KEY_MOBILE_100M));

			// 光電話の申込可否の判定を行う。
			String telMskmKh = this.getTelMskmKhHnti001(knykeiMskmJokenCd, hikariTelTkCd);

			// 共有フォームBean.マンション情報の値を設定する。
			// 光電話申込可能フラグ
			mansionInfoBean.sendMessageString(CommonInfoCFConst.TEL_16, X31CWebConst.DATABEAN_SET_VALUE, telMskmKh);

			// 光テレビの申込可否判定を行う。
			String tvMskmKh = this.getTvMskmKhHnti001(hikariTvTkJokyoCd);

			// 共有フォームBean.マンション情報の値を設定する。
			// 光テレビ申込可能フラグ
			mansionInfoBean.sendMessageString(CommonInfoCFConst.TV_16, X31CWebConst.DATABEAN_SET_VALUE, tvMskmKh);
		}

		// マンション物件コードが"002"メゾンの場合
		if (JFUStrConst.MANSION_BUKKEN_CD_MZ.equals(mansionBukkenCd))
		{
			// 加入契約申込条件コードが"22"(導入済み)の場合
			if (JFUStrConst.KNYKEI_MSKM_JOKEN_DONYU_ZM_MAISON.equals(knykeiMskmJokenCd))
			{

				// ネット申込可能として、コース申込判定のうえ、共有フォームBean.マンション一覧に設定する。
				// １０Ｇ申込可能フラグ	mobile_1g	加入契約ネット10G申込可否が"1"(申込可能)の場合"0"(申込可能)を設定
				// 									加入契約ネット10G申込可否が"0"(申込不可)の場合"1"(申込不可)を設定
				// １Ｇ申込可能フラグ	mobile_1g	加入契約ネット1G申込可否が"1"(申込可能)の場合"0"(申込可能)を設定
				// 									加入契約ネット1G申込可否が"0"(申込不可)の場合"1"(申込不可)を設定
				// ２００メガ申込可能フラグ	 mobile_200m	加入契約ネット200M申込可否が"1"(申込可能)の場合"0"(申込可能)を設定
				//											加入契約ネット200M申込可否が"0"(申込不可)の場合"1"(申込不可)を設定
				// １００メガ申込可能フラグ		mobile_100m		加入契約ネット100M申込可否が"1"(申込可能)の場合"0"(申込可能)を設定
				//												加入契約ネット100M申込可否が"0"(申込不可)の場合"1"(申込不可)を設定
				Map<String, String> mskmKanouFlgMap = this.getNetMskmKhHnti002(knykeiNet10gMskmKh, knykeiNet1gMskmKh, knykeiNet200mMskmKh, knykeiNet100mMskmKh);

				// 共有フォームBean.マンション情報の値を設定する。
				// １０Ｇ申込可能フラグ
				mansionInfoBean
						.sendMessageString(CommonInfoCFConst.MOBILE_10G_16, X31CWebConst.DATABEAN_SET_VALUE, mskmKanouFlgMap.get(KEY_MOBILE_10G));
				// １Ｇ申込可能フラグ
				mansionInfoBean
						.sendMessageString(CommonInfoCFConst.MOBILE_1G_16, X31CWebConst.DATABEAN_SET_VALUE, mskmKanouFlgMap.get(KEY_MOBILE_1G));

				// ２００メガ申込可能フラグ
				mansionInfoBean.sendMessageString(CommonInfoCFConst.MOBILE_200M_16, X31CWebConst.DATABEAN_SET_VALUE, mskmKanouFlgMap
						.get(KEY_MOBILE_200M));

				// １００メガ申込可能フラグ
				mansionInfoBean.sendMessageString(CommonInfoCFConst.MOBILE_100M_16, X31CWebConst.DATABEAN_SET_VALUE, mskmKanouFlgMap
						.get(KEY_MOBILE_100M));

				// 光電話の申込可否の判定を行う。
				String telMskmKh = this.getTelMskmKhHnti002(hikariTelTkCd);

				// 共有フォームBean.マンション情報の値を設定する。
				// 光電話申込可能フラグ
				mansionInfoBean.sendMessageString(CommonInfoCFConst.TEL_16, X31CWebConst.DATABEAN_SET_VALUE, telMskmKh);

				// 共有フォームBean.マンション情報の値を設定する。
				// 光テレビ申込可能フラグ
				mansionInfoBean.sendMessageString(CommonInfoCFConst.TV_16, X31CWebConst.DATABEAN_SET_VALUE, maisonHikariTvTkCd);
			}
		}

		// ANK-0363-00-00 2012/09/26 h.iwamoto START
		//（d） 従量制申込可能フラグの設定を行う（マンション・メゾン共通処理）
		String eohntJuryoPlanMkmKh =
				serviceMansionInfoBean.sendMessageString(FUW00129SFConst.EOHNT_JURYO_PLAN_MKM_KH_03, X31CWebConst.DATABEAN_GET_VALUE);

		// 従量制申込可能フラグの設定をする
		if (JFUStrConst.CD00001_1.equals(eohntJuryoPlanMkmKh))
		{
			// 申込可能
			mansionInfoBean.sendMessageString(CommonInfoCFConst.JURYOSEI_MSKM_FLG_16, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.JURYOSEI_MSKM_PSB);
		}
		else
		{
			// 申込不可
			mansionInfoBean
					.sendMessageString(CommonInfoCFConst.JURYOSEI_MSKM_FLG_16, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.JURYOSEI_MSKM_FAIL);
		}
		// ANK-0363-00-00 2012/09/26 h.iwamoto END

		// 契約付加（レンタル）コード
		mansionInfoBean.sendMessageString(CommonInfoCFConst.KEI_HUKA_RENT_CD_16, X31CWebConst.DATABEAN_SET_VALUE, serviceMansionInfoBean
				.sendMessageString(FUW00129SFConst.KEI_HUKA_RENT_CD_03, X31CWebConst.DATABEAN_GET_VALUE));

		// 契約付加（買取）コード
		mansionInfoBean.sendMessageString(CommonInfoCFConst.KEI_HUKA_KAITORI_CD_16, X31CWebConst.DATABEAN_SET_VALUE, serviceMansionInfoBean
				.sendMessageString(FUW00129SFConst.KEI_HUKA_KAITORI_CD_03, X31CWebConst.DATABEAN_GET_VALUE));

		// マンション接続機器コード
		mansionInfoBean.sendMessageString(CommonInfoCFConst.MCNTKK_CD_16, X31CWebConst.DATABEAN_SET_VALUE, serviceMansionInfoBean
				.sendMessageString(FUW00129SFConst.MCNTKK_CD_03, X31CWebConst.DATABEAN_GET_VALUE));

		// マンション接続機器型式コード
		mansionInfoBean.sendMessageString(CommonInfoCFConst.MCNTKK_MODEL_CD_16, X31CWebConst.DATABEAN_SET_VALUE, serviceMansionInfoBean
				.sendMessageString(FUW00129SFConst.MCNTKK_MODEL_CD_03, X31CWebConst.DATABEAN_GET_VALUE));

		// メゾン開通実績
		mansionInfoBean.sendMessageString(CommonInfoCFConst.MZ_KAITU_JSK_16, X31CWebConst.DATABEAN_SET_VALUE, serviceMansionInfoBean
				.sendMessageString(FUW00129SFConst.MZ_KAITU_JSK_03, X31CWebConst.DATABEAN_GET_VALUE));
	}

	/**
	 * その他情報の設定を行う。
	 *
	 * <br>
	 * @param commonInfoBean 共有フォームBean
	 * @param serviceMansionInfoBean サービスフォームBean
	 */
	private void setElseInfo(X31SDataBeanAccess commonInfoBean, X31SDataBeanAccess serviceMansionInfoBean)
	{
		// 共有フォームBeanからWEB新規情報を取得
		X31SDataBeanAccess webNewInfoBean = getX31SDataBeanAccess(commonInfoBean, CommonInfoCFConst.WEB_NEW_INFO);

		// WEB新規情報からマンション情報を取得
		X31SDataBeanAccess mansionInfoBean = getX31SDataBeanAccess(webNewInfoBean, CommonInfoCFConst.MANSION_INFO);

		// WEB新規情報からその他情報を取得
		X31SDataBeanAccess elseInfoBean = getX31SDataBeanAccess(webNewInfoBean, CommonInfoCFConst.ELSE_INFO);

		// サービスフォームBeanからの情報取得
		//マンション物件コード							mansion_bukken_cd
		String mansionBukkenCd = serviceMansionInfoBean.sendMessageString(FUW00129SFConst.MANSION_BUKKEN_CD_03, X31CWebConst.DATABEAN_GET_VALUE);
		//マンション価格帯コード							mansion_kakakutai_cd
		String mansionKakakutaiCd =
				serviceMansionInfoBean.sendMessageString(FUW00129SFConst.MANSION_KAKAKUTAI_CD_03, X31CWebConst.DATABEAN_GET_VALUE);

		// 2012/05/18 特殊配線判定処理追加 START
		// 宅内特殊配線有料工事コードを取得
		String takniTokuhsenYrkojiCd =
				serviceMansionInfoBean.sendMessageString(FUW00129SFConst.TAKNI_TOKUHSEN_YRKOJI_CD_03, X31CWebConst.DATABEAN_GET_VALUE);
		// 2012/05/18 特殊配線判定処理追加 END

		//提供方式コード							tk_hoshiki_cd
		String tkHoshikiCd = serviceMansionInfoBean.sendMessageString(FUW00129SFConst.TK_HOSHIKI_CD_03, X31CWebConst.DATABEAN_GET_VALUE);
		//提供料金種別コード							tk_prc_sbt_cd
		String tkPrcSbtCd = serviceMansionInfoBean.sendMessageString(FUW00129SFConst.TK_PRC_SBT_CD_03, X31CWebConst.DATABEAN_GET_VALUE);

		// P-ID
		String pId = serviceMansionInfoBean.sendMessageString(FUW00129SFConst.PID_03, X31CWebConst.DATABEAN_GET_VALUE);

		// 回線使用契約物件名
		String mansionName = serviceMansionInfoBean.sendMessageString(FUW00129SFConst.KISNUSEKEI_BKN_NM_03, X31CWebConst.DATABEAN_GET_VALUE);

		elseInfoBean.sendMessageString(CommonInfoCFConst.SHUGO_PID_18, X31CWebConst.DATABEAN_SET_VALUE, pId);
		mansionInfoBean.sendMessageString(CommonInfoCFConst.SHUGO_PID_18, X31CWebConst.DATABEAN_SET_VALUE, pId);

		elseInfoBean.sendMessageString(CommonInfoCFConst.SHUGO_NM_18, X31CWebConst.DATABEAN_SET_VALUE, mansionName);

		// 提供方式パターンコード（初期値設定）※提供方式契約.提供方式パターンコード設定用
		mansionInfoBean.sendMessageString(CommonInfoCFConst.TK_HOSHIKI_PATTERN_CD_16, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
		// 提供方式変更種別（初期値設定）
		mansionInfoBean.sendMessageString(CommonInfoCFConst.TK_HOSHIKI_CHG_SBT_CD_16, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
		// 回線場所連番 部屋単位
		String kaisen_place_renban = serviceMansionInfoBean.sendMessageString(FUW00129SFConst.KAISEN_PLACE_RENBAN_03, X31CWebConst.DATABEAN_GET_VALUE);
		mansionInfoBean.sendMessageString(CommonInfoCFConst.KAISEN_PLACE_RENBAN_16, X31CWebConst.DATABEAN_SET_VALUE, kaisen_place_renban);
		// コンセント設置内容（初期値設定）部屋単位
		mansionInfoBean.sendMessageString(CommonInfoCFConst.CCT_SET_CD_16, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
		// ＭＡＮＭＯＳ管理工事フラグ（初期値設定）部屋単位
		mansionInfoBean.sendMessageString(CommonInfoCFConst.MANMOS_KNRI_KOJI_FLG_16, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
		// ＭＡＮＭＯＳ管理情報リスト（初期値設定）
		mansionInfoBean.getDataBeanArray(CommonInfoCFConst.MANMOS_KNRI_INFO_LIST).clearArray();
		
		// マンション物件コードが"001"(マンション)の場合
		if (JFUStrConst.MANSION_BUKKEN_CD_MF.equals(mansionBukkenCd))
		{
			// 2012/05/11 申込マンションタイプ設定 START
			webNewInfoBean.sendMessageString(CommonInfoCFConst.MSKM_MNS_TYPE_06, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.MSKM_MNS_TYPE_MANSION);
			// 2012/05/11 申込マンションタイプ設定 END

			// 低価格マンションフラグを設定する。
			// マンション価格帯コードが"1"(低価格)の場合"1"(低価格)を設定
			if (JFUStrConst.MANSION_KAKAKUTAI_CD_TEI.equals(mansionKakakutaiCd))
			{
				mansionInfoBean.sendMessageString(CommonInfoCFConst.TEIKAKAKU_MANSION_16, X31CWebConst.DATABEAN_SET_VALUE,
						JFUStrConst.MANSION_KAKAKUTAI_CD_TEI);
			}
			else
			{
				// "0"(非低価格)を設定
				mansionInfoBean.sendMessageString(CommonInfoCFConst.TEIKAKAKU_MANSION_16, X31CWebConst.DATABEAN_SET_VALUE,
						JFUStrConst.MANSION_KAKAKUTAI_CD_HI_TEI);
			}

			// 共有フォームBean.WEB新規情報.マンション情報.宅内特殊配線有料工事コードが001の場合
			if (TAKNI_TOKUHSEN_YRKOJI_CD_TKHN.equals(takniTokuhsenYrkojiCd))
			{
				mansionInfoBean.sendMessageString(CommonInfoCFConst.TKSH_HAISEN_16, X31CWebConst.DATABEAN_SET_VALUE, TKSH_HAISEN_TKSH);
			}

			// 共有フォームBean.WEB新規情報.マンション情報.宅内特殊配線有料工事コードが001でない場合
			else
			{
				mansionInfoBean.sendMessageString(CommonInfoCFConst.TKSH_HAISEN_16, X31CWebConst.DATABEAN_SET_VALUE, TKSH_HAISEN_HI_TKSH);
			}

			// 提供方式パターンコードを設定する。
			String teikyoHoshikiPtnCd = this.getTeikyoHoshikiPtnCd(tkHoshikiCd, tkPrcSbtCd);
			mansionInfoBean.sendMessageString(CommonInfoCFConst.TEIKYO_HOSHIKI_PTN_CD_16, X31CWebConst.DATABEAN_SET_VALUE, teikyoHoshikiPtnCd);

			// 提供方式変更種別の設定
			String tk_hoshiki_pattern_cd =
					serviceMansionInfoBean.sendMessageString(FUW00129SFConst.TK_HOSHIKI_PATTERN_CD_03, X31CWebConst.DATABEAN_GET_VALUE);
			String tonai_speed_cd = serviceMansionInfoBean.sendMessageString(FUW00129SFConst.TONAI_SPEED_CD_03, X31CWebConst.DATABEAN_GET_VALUE);
			String hhs_1gonly_flg = serviceMansionInfoBean.sendMessageString(FUW00129SFConst.HHS_1GONLY_FLG_03, X31CWebConst.DATABEAN_GET_VALUE);
			String pay_hoshiki_cd = serviceMansionInfoBean.sendMessageString(FUW00129SFConst.PAY_HOSHIKI_CD_03, X31CWebConst.DATABEAN_GET_VALUE);
			String tk_hoshiki_chg_sbt_cd =
					JFUWebCommon.getTkHoshikiChgSbtCd(tkHoshikiCd, tk_hoshiki_pattern_cd, tonai_speed_cd, hhs_1gonly_flg, pay_hoshiki_cd);
			mansionInfoBean.sendMessageString(CommonInfoCFConst.TK_HOSHIKI_PATTERN_CD_16, X31CWebConst.DATABEAN_SET_VALUE, tk_hoshiki_pattern_cd);
			mansionInfoBean.sendMessageString(CommonInfoCFConst.TK_HOSHIKI_CHG_SBT_CD_16, X31CWebConst.DATABEAN_SET_VALUE, tk_hoshiki_chg_sbt_cd);
		}

		// 申込マンションタイプ設定
		// マンション物件コードが"002"(メゾンタイプ)の場合
		if (JFUStrConst.MANSION_BUKKEN_CD_MZ.equals(mansionBukkenCd))
		{
			webNewInfoBean.sendMessageString(CommonInfoCFConst.MSKM_MNS_TYPE_06, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.MSKM_MNS_TYPE_MEZON);
		}
	}

	/**
	 * 引継情報の設定を行う。
	 *
	 * <br>
	 * @param commonInfoBean
	 * @param serviceMansionInfoBean
	 */
	private void setTransferInfo(X31SDataBeanAccess commonInfoBean, X31SDataBeanAccess serviceMansionInfoBean)
	{
		// 共有フォームBeanからWEB新規情報を取得
		X31SDataBeanAccess webNewInfoBean = getX31SDataBeanAccess(commonInfoBean, CommonInfoCFConst.WEB_NEW_INFO);

		// WEB新規情報からマンション情報を取得
		X31SDataBeanAccess mansionInfoBean = getX31SDataBeanAccess(webNewInfoBean, CommonInfoCFConst.MANSION_INFO);

		String pcd = serviceMansionInfoBean.sendMessageString(FUW00129SFConst.KISNUSEKEI_BKN_PCD_03, X31CWebConst.DATABEAN_GET_VALUE);
		if (!JFUStrConst.EMPTY.equals(pcd))
		{
			mansionInfoBean.sendMessageString(CommonInfoCFConst.SEARCH_PCD1_16, X31CWebConst.DATABEAN_SET_VALUE, pcd.substring(0, 3));
			mansionInfoBean.sendMessageString(CommonInfoCFConst.SEARCH_PCD2_16, X31CWebConst.DATABEAN_SET_VALUE, pcd.substring(3, 7));
		}
		//マンション名	mansion_nm	サービスフォームBean.マンション一覧.回線使用契約物件名
		mansionInfoBean.sendMessageString(CommonInfoCFConst.MANSION_NM_16, X31CWebConst.DATABEAN_SET_VALUE, serviceMansionInfoBean.sendMessageString(
				FUW00129SFConst.KISNUSEKEI_BKN_NM_03, X31CWebConst.DATABEAN_GET_VALUE));

		//マンション物件番号	mansion_no	サービスフォームBean.マンション一覧.マンション物件番号
		mansionInfoBean.sendMessageString(CommonInfoCFConst.MANSION_NO_16, X31CWebConst.DATABEAN_SET_VALUE, serviceMansionInfoBean.sendMessageString(
				FUW00129SFConst.MANSION_BUKKEN_NO_03, X31CWebConst.DATABEAN_GET_VALUE));

		// 支払方式コード	payway_cd	サービスフォームBean.マンション一覧.支払方式コード
		mansionInfoBean.sendMessageString(CommonInfoCFConst.PAYWAY_CD_16, X31CWebConst.DATABEAN_SET_VALUE, serviceMansionInfoBean.sendMessageString(
				FUW00129SFConst.PAY_HOSHIKI_CD_03, X31CWebConst.DATABEAN_GET_VALUE));

		// 標準サービス開始日数		stdard_svc_sta_nisu		サービスフォームBean.マンション一覧.標準サービス開始日数
		mansionInfoBean.sendMessageString(CommonInfoCFConst.STDARD_SVC_STA_NISU_16, X31CWebConst.DATABEAN_SET_VALUE, serviceMansionInfoBean
				.sendMessageString(FUW00129SFConst.STDARD_SVC_STA_NISU_03, X31CWebConst.DATABEAN_GET_VALUE));

		//マンション物件住所コード		mansion_bukken_ad_cd	サービスフォームBean.マンション一覧.回線使用契約物件住所コード
		mansionInfoBean.sendMessageString(CommonInfoCFConst.MANSION_BUKKEN_AD_CD_16, X31CWebConst.DATABEAN_SET_VALUE, serviceMansionInfoBean
				.sendMessageString(FUW00129SFConst.KISNUSEKEI_BKN_AD_CD_03, X31CWebConst.DATABEAN_GET_VALUE));

		//マンション物件字丁目名	mansion_bukken_azcho_nm		サービスフォームBean.マンション一覧.回線使用物件字丁名
		mansionInfoBean.sendMessageString(CommonInfoCFConst.MANSION_BUKKEN_AZCHO_NM_16, X31CWebConst.DATABEAN_SET_VALUE, serviceMansionInfoBean
				.sendMessageString(FUW00129SFConst.KISNUSEKEI_BKN_AZCHO_NM_03, X31CWebConst.DATABEAN_GET_VALUE));

		// 加入契約申込条件コード	knykei_mskm_joken_cd	サービスフォームBean.マンション一覧.加入契約申込条件コード
		mansionInfoBean.sendMessageString(CommonInfoCFConst.KNYKEI_MSKM_JOKEN_CD_16, X31CWebConst.DATABEAN_SET_VALUE, serviceMansionInfoBean
				.sendMessageString(FUW00129SFConst.KNYKEI_MSKM_JOKEN_CD_03, X31CWebConst.DATABEAN_GET_VALUE));

		// マンションID		mansion_id		サービスフォームBean.マンション一覧.マンションＩＤ
		String mansionId = serviceMansionInfoBean.sendMessageString(FUW00129SFConst.MANSION_ID_03, X31CWebConst.DATABEAN_GET_VALUE);

		// '-'対応
		if (!this.isSetId(mansionId))
		{
			mansionId = JFUStrConst.EMPTY;
		}

		mansionInfoBean.sendMessageString(CommonInfoCFConst.MANSION_ID_16, X31CWebConst.DATABEAN_SET_VALUE, mansionId);

		// マンションオーナーID		mansion_ownr_id		サービスフォームBean.マンション一覧.マンションオーナーＩＤ
		mansionInfoBean.sendMessageString(CommonInfoCFConst.MANSION_OWNR_ID_16, X31CWebConst.DATABEAN_SET_VALUE, serviceMansionInfoBean
				.sendMessageString(FUW00129SFConst.MANSION_OWNR_ID_03, X31CWebConst.DATABEAN_GET_VALUE));

		// 回線使用契約番号		kaisen_use_kei_no	サービスフォームBean.マンション一覧.回線使用契約番号
		mansionInfoBean.sendMessageString(CommonInfoCFConst.KAISEN_USE_KEI_NO_16, X31CWebConst.DATABEAN_SET_VALUE, serviceMansionInfoBean
				.sendMessageString(FUW00129SFConst.NET_KAISEN_USE_KEI_NO_03, X31CWebConst.DATABEAN_GET_VALUE));

		// 回線使用契約番号（ＴＶ）		tv_kaisen_use_kei_no	サービスフォームBean.マンション一覧.回線使用契約番号（ＴＶ）
		mansionInfoBean.sendMessageString(CommonInfoCFConst.TV_KAISEN_USE_KEI_NO_16, X31CWebConst.DATABEAN_SET_VALUE, serviceMansionInfoBean
				.sendMessageString(FUW00129SFConst.TV_KAISEN_USE_KEI_NO_03, X31CWebConst.DATABEAN_GET_VALUE));

		// 提供方式契約番号		tk_hoshiki_kei_no	サービスフォームBean.マンション一覧.提供方式契約番号
		mansionInfoBean.sendMessageString(CommonInfoCFConst.TK_HOSHIKI_KEI_NO_16, X31CWebConst.DATABEAN_SET_VALUE, serviceMansionInfoBean
				.sendMessageString(FUW00129SFConst.NET_TK_HOSHIKI_KEI_NO_03, X31CWebConst.DATABEAN_GET_VALUE));

		// 提供方式契約番号（ＴＶ）		_tvtk_hoshiki_kei_no	サービスフォームBean.マンション一覧.提供方式契約番号（ＴＶ）
		mansionInfoBean.sendMessageString(CommonInfoCFConst.TV_TK_HOSHIKI_KEI_NO_16, X31CWebConst.DATABEAN_SET_VALUE, serviceMansionInfoBean
				.sendMessageString(FUW00129SFConst.TV_TK_HOSHIKI_KEI_NO_03, X31CWebConst.DATABEAN_GET_VALUE));

		// オーナー契約番号		ownr_kei_no		サービスフォームBean.マンション一覧.オーナー契約番号
		mansionInfoBean.sendMessageString(CommonInfoCFConst.OWNR_KEI_NO_16, X31CWebConst.DATABEAN_SET_VALUE, serviceMansionInfoBean
				.sendMessageString(FUW00129SFConst.OWNR_KEI_NO_03, X31CWebConst.DATABEAN_GET_VALUE));

		// マンション物件コード							mansion_bukken_cd						サービスフォームBean.マンション一覧.マンション物件コード
		mansionInfoBean.sendMessageString(CommonInfoCFConst.MANSION_BUKKEN_CD_16, X31CWebConst.DATABEAN_SET_VALUE, serviceMansionInfoBean
				.sendMessageString(FUW00129SFConst.MANSION_BUKKEN_CD_03, X31CWebConst.DATABEAN_GET_VALUE));

		// 物件管理番号		bkn_knri_no		サービスフォームBean.マンション一覧.物件管理番号
		mansionInfoBean.sendMessageString(CommonInfoCFConst.BKN_KNRI_NO_16, X31CWebConst.DATABEAN_SET_VALUE, serviceMansionInfoBean
				.sendMessageString(FUW00129SFConst.BKN_KNRI_NO_03, X31CWebConst.DATABEAN_GET_VALUE));

		// ペアＩＤ		pairid	サービスフォームBean.マンション一覧.ペアＩＤ
		mansionInfoBean.sendMessageString(CommonInfoCFConst.PAIRID_16, X31CWebConst.DATABEAN_SET_VALUE, serviceMansionInfoBean.sendMessageString(
				FUW00129SFConst.PAIRID_03, X31CWebConst.DATABEAN_GET_VALUE));

		// ＣＡＴ−ＩＤ		catid	サービスフォームBean.マンション一覧.ＣＡＴ−ＩＤ
		mansionInfoBean.sendMessageString(CommonInfoCFConst.CATID_16, X31CWebConst.DATABEAN_SET_VALUE, serviceMansionInfoBean.sendMessageString(
				FUW00129SFConst.CATID_03, X31CWebConst.DATABEAN_GET_VALUE));

		// 棟内速度コード	tonai_speed_cd		サービスフォームBean.マンション一覧.棟内速度コード
		mansionInfoBean.sendMessageString(CommonInfoCFConst.TONAI_SPEED_CD_16, X31CWebConst.DATABEAN_SET_VALUE, serviceMansionInfoBean
				.sendMessageString(FUW00129SFConst.TONAI_SPEED_CD_03, X31CWebConst.DATABEAN_GET_VALUE));

		// 光テレビ提供状況コード	hikari_tv_tk_jokyo_cd	サービスフォームBean.マンション一覧.メゾン光テレビ提供コード
		mansionInfoBean.sendMessageString(CommonInfoCFConst.HIKARI_TV_TK_JOKYO_CD_16, X31CWebConst.DATABEAN_SET_VALUE, serviceMansionInfoBean
				.sendMessageString(FUW00129SFConst.HIKARI_TV_TK_JOKYO_CD_03, X31CWebConst.DATABEAN_GET_VALUE));

		// メゾン光テレビ提供コード		maison_hikari_tv_tk_cd		サービスフォームBean.マンション一覧.光テレビ提供状況コード
		mansionInfoBean.sendMessageString(CommonInfoCFConst.MAISON_HIKARI_TV_TK_CD_16, X31CWebConst.DATABEAN_SET_VALUE, serviceMansionInfoBean
				.sendMessageString(FUW00129SFConst.MAISON_HIKARI_TV_TK_CD_03, X31CWebConst.DATABEAN_GET_VALUE));

		//光電話提供コード	hikari_tel_tk_cd	サービスフォームBean.マンション一覧.光電話提供コード
		mansionInfoBean.sendMessageString(CommonInfoCFConst.HIKARI_TEL_TK_CD_16, X31CWebConst.DATABEAN_SET_VALUE, serviceMansionInfoBean
				.sendMessageString(FUW00129SFConst.HIKARI_TEL_TK_CD_03, X31CWebConst.DATABEAN_GET_VALUE));

		//マンション価格帯コード	mansion_kakakutai_cd	サービスフォームBean.マンション一覧.マンション価格帯コード
		mansionInfoBean.sendMessageString(CommonInfoCFConst.MANSION_KAKAKUTAI_CD_16, X31CWebConst.DATABEAN_SET_VALUE, serviceMansionInfoBean
				.sendMessageString(FUW00129SFConst.MANSION_KAKAKUTAI_CD_03, X31CWebConst.DATABEAN_GET_VALUE));

		//宅内特殊配線有料工事コード	takni_tokuhsen_yrkoji_cd	サービスフォームBean.マンション一覧.宅内特殊配線有料工事コード
		mansionInfoBean.sendMessageString(CommonInfoCFConst.TAKNI_TOKUHSEN_YRKOJI_CD_16, X31CWebConst.DATABEAN_SET_VALUE, serviceMansionInfoBean
				.sendMessageString(FUW00129SFConst.TAKNI_TOKUHSEN_YRKOJI_CD_03, X31CWebConst.DATABEAN_GET_VALUE));

		//提供方式コード	teikyo_hoshiki_cd	サービスフォームBean.マンション一覧.提供方式コード
		mansionInfoBean.sendMessageString(CommonInfoCFConst.TEIKYO_HOSHIKI_CD_16, X31CWebConst.DATABEAN_SET_VALUE, serviceMansionInfoBean
				.sendMessageString(FUW00129SFConst.TK_HOSHIKI_CD_03, X31CWebConst.DATABEAN_GET_VALUE));

		// 提供料金種別コード	tk_prc_sbt_cd	サービスフォームBean.マンション一覧.提供料金種別コード
		mansionInfoBean.sendMessageString(CommonInfoCFConst.TK_PRC_SBT_CD_16, X31CWebConst.DATABEAN_SET_VALUE, serviceMansionInfoBean
				.sendMessageString(FUW00129SFConst.TK_PRC_SBT_CD_03, X31CWebConst.DATABEAN_GET_VALUE));

		// 検索・府県
		mansionInfoBean.sendMessageString(CommonInfoCFConst.SEARCH_STATE_16, X31CWebConst.DATABEAN_SET_VALUE, serviceMansionInfoBean
				.sendMessageString(FUW00129SFConst.KISNUSEKEI_BKN_STATE_NM_03, X31CWebConst.DATABEAN_GET_VALUE));

		// 検索・市区町村
		mansionInfoBean.sendMessageString(CommonInfoCFConst.SEARCH_CITY_16, X31CWebConst.DATABEAN_SET_VALUE, serviceMansionInfoBean
				.sendMessageString(FUW00129SFConst.KISNUSEKEI_BKN_CITY_NM_03, X31CWebConst.DATABEAN_GET_VALUE));

		// 検索・町域
		mansionInfoBean.sendMessageString(CommonInfoCFConst.SEARCH_AZA_16, X31CWebConst.DATABEAN_SET_VALUE, serviceMansionInfoBean.sendMessageString(
				FUW00129SFConst.KISNUSEKEI_BKN_OAZTSU_NM_03, X31CWebConst.DATABEAN_GET_VALUE));

		// マンション物件字丁目名
		mansionInfoBean.sendMessageString(CommonInfoCFConst.MANSION_BUKKEN_AZCHO_NM_16, X31CWebConst.DATABEAN_SET_VALUE, serviceMansionInfoBean
				.sendMessageString(FUW00129SFConst.KISNUSEKEI_BKN_AZCHO_NM_03, X31CWebConst.DATABEAN_GET_VALUE));

		// 起点変電所コード
		mansionInfoBean.sendMessageString(CommonInfoCFConst.KITEN_HDSHO_CD_16, X31CWebConst.DATABEAN_SET_VALUE, serviceMansionInfoBean
				.sendMessageString(FUW00129SFConst.KITEN_HDSHO_CD_03, X31CWebConst.DATABEAN_GET_VALUE));

		// 集約局コード
		mansionInfoBean.sendMessageString(CommonInfoCFConst.SHYAKK_CD_16, X31CWebConst.DATABEAN_SET_VALUE, serviceMansionInfoBean.sendMessageString(
				FUW00129SFConst.SHYAKK_CD_03, X31CWebConst.DATABEAN_GET_VALUE));

		// マンション割引サービス契約番号（ＮＥＴ）
		String[] net_wrib_svc_kei_no_list =
				serviceMansionInfoBean.sendMessageString(FUW00129SFConst.NET_MANSION_WRIB_SVC_KEI_NO_03, X31CWebConst.DATABEAN_GET_VALUE).split(
						JFUStrConst.COMMA);

		for (int i = 0; i < net_wrib_svc_kei_no_list.length; i++)
		{
			if (!isBlank(net_wrib_svc_kei_no_list[i]))
			{
				mansionInfoBean.sendMessageString(CommonInfoCFConst.NET_MANSION_WRIB_SVC_KEI_NO_16, X31CWebConst.DATABEAN_ADD_VALUE,
						net_wrib_svc_kei_no_list[i]);
			}
		}

		// マンションキャンペーンコード（ＮＥＴ）
		String[] net_wrib_camp_cd_list =
				serviceMansionInfoBean.sendMessageString(FUW00129SFConst.NET_MANS_CAMPAIGN_CD_03, X31CWebConst.DATABEAN_GET_VALUE).split(
						JFUStrConst.COMMA);

		for (int i = 0; i < net_wrib_camp_cd_list.length; i++)
		{
			if (!isBlank(net_wrib_camp_cd_list[i]))
			{
				mansionInfoBean.sendMessageString(CommonInfoCFConst.NET_MANS_CAMPAIGN_CD_16, X31CWebConst.DATABEAN_ADD_VALUE,
						net_wrib_camp_cd_list[i]);
			}
		}

		// マンション割引サービス契約番号（ＴＶ）
		String tv_wrib_svc_kei_no_list[] =
				serviceMansionInfoBean.sendMessageString(FUW00129SFConst.TV_MANSION_WRIB_SVC_KEI_NO_03, X31CWebConst.DATABEAN_GET_VALUE).split(
						JFUStrConst.COMMA);
		for (int i = 0; i < tv_wrib_svc_kei_no_list.length; i++)
		{
			if (!isBlank(tv_wrib_svc_kei_no_list[i]))
			{
				mansionInfoBean.sendMessageString(CommonInfoCFConst.TV_MANSION_WRIB_SVC_KEI_NO_16, X31CWebConst.DATABEAN_ADD_VALUE,
						tv_wrib_svc_kei_no_list[i]);
			}
		}

		// マンションキャンペーンコード（ＴＶ）
		String tv_wrib_camp_cd_list[] =
				serviceMansionInfoBean.sendMessageString(FUW00129SFConst.TV_MANS_CAMPAIGN_CD_03, X31CWebConst.DATABEAN_GET_VALUE)
						.split(JFUStrConst.COMMA);

		for (int i = 0; i < tv_wrib_camp_cd_list.length; i++)
		{
			if (!isBlank(tv_wrib_camp_cd_list[i]))
			{
				mansionInfoBean.sendMessageString(CommonInfoCFConst.TV_MANS_CAMPAIGN_CD_16, X31CWebConst.DATABEAN_ADD_VALUE, tv_wrib_camp_cd_list[i]);
			}
		}

		// ANK-1220-00-00 2012/09/26 h.iwamoto START
		// 資料請求フラグ
		mansionInfoBean.sendMessageString(CommonInfoCFConst.SIRYO_SEIKY_FLG_16, X31CWebConst.DATABEAN_SET_VALUE, serviceMansionInfoBean
				.sendMessageString(FUW00129SFConst.SIRYO_SEIKY_FLG_03, X31CWebConst.DATABEAN_GET_VALUE));
		// ANK-1220-00-00 2012/09/26 h.iwamoto END

		// ANK-0363-00-00 2012/09/26 h.iwamoto START
		// ｅｏ光ネット従量プラン申込可否
		mansionInfoBean.sendMessageString(CommonInfoCFConst.EOHNT_JURYO_PLAN_MKM_KH_16, X31CWebConst.DATABEAN_SET_VALUE, serviceMansionInfoBean
				.sendMessageString(FUW00129SFConst.EOHNT_JURYO_PLAN_MKM_KH_03, X31CWebConst.DATABEAN_GET_VALUE));
		// ANK-0363-00-00 2012/09/26 h.iwamoto END

		// ANK-1190-00-00 2012/10/25 Otsuka START
		// サービス開始年月日
		mansionInfoBean.sendMessageString(CommonInfoCFConst.SVC_STA_YMD_16, X31CWebConst.DATABEAN_SET_VALUE, serviceMansionInfoBean
				.sendMessageString(FUW00129SFConst.SVC_STA_YMD_03, X31CWebConst.DATABEAN_GET_VALUE));

		// サービス開始予定年月日
		mansionInfoBean.sendMessageString(CommonInfoCFConst.SVC_STA_RSV_YMD_16, X31CWebConst.DATABEAN_SET_VALUE, serviceMansionInfoBean
				.sendMessageString(FUW00129SFConst.SVC_STA_RSV_YMD_03, X31CWebConst.DATABEAN_GET_VALUE));
		// ANK-1190-00-00 2012/10/25 Otsuka END

		// ANK-1435-00-00 2013/02/08 kusumoto START
		// アクセス回線速度コード
		mansionInfoBean.sendMessageString(CommonInfoCFConst.ACCSS_KISN_SPEED_CD_16, X31CWebConst.DATABEAN_SET_VALUE, serviceMansionInfoBean
				.sendMessageString(FUW00129SFConst.ACCSS_KISN_SPEED_CD_03, X31CWebConst.DATABEAN_GET_VALUE));
		// ANK-1435-00-00 2013/02/08 kusumoto END

		// 光配線１Ｇのみフラグ
		mansionInfoBean.sendMessageString(CommonInfoCFConst.HHS_1GONLY_FLG_16, X31CWebConst.DATABEAN_SET_VALUE, serviceMansionInfoBean
				.sendMessageString(FUW00129SFConst.HHS_1GONLY_FLG_03, X31CWebConst.DATABEAN_GET_VALUE));

		// イーサ他社併行フラグ
		mansionInfoBean.sendMessageString(CommonInfoCFConst.ETHER_TASHAHEIKO_FLG_16, X31CWebConst.DATABEAN_SET_VALUE, serviceMansionInfoBean
				.sendMessageString(FUW00129SFConst.ETHER_TASHAHEIKO_FLG_03, X31CWebConst.DATABEAN_GET_VALUE));

		// 工事種別
		mansionInfoBean.sendMessageString(CommonInfoCFConst.KOJI_SBT_16, X31CWebConst.DATABEAN_SET_VALUE, serviceMansionInfoBean
				.sendMessageString(FUW00129SFConst.KOJI_SBT_03, X31CWebConst.DATABEAN_GET_VALUE));

	}

	/**
	 * 遷移先画面の設定を行う。
	 *
	 * <br>
	 * @param commonInfoBean
	 */
	private void setNextScreenInfo(X31SDataBeanAccess commonInfoBean)
	{
		// 共有フォームBeanからWEB新規情報を取得
		X31SDataBeanAccess webNewInfoBean = getX31SDataBeanAccess(commonInfoBean, CommonInfoCFConst.WEB_NEW_INFO);

		// WEB新規情報からマンション情報を取得
		X31SDataBeanAccess mansionInfoBean = getX31SDataBeanAccess(webNewInfoBean, CommonInfoCFConst.MANSION_INFO);

		// WEB新規情報からリダイレクト情報を取得
		X31SDataBeanAccess redirectInfoBean = getX31SDataBeanAccess(webNewInfoBean, CommonInfoCFConst.REDIRECT_INFO);

		// 資料請求フラグを取得
		String redPnfSeiky = redirectInfoBean.sendMessageString(CommonInfoCFConst.RED_PNF_SEIKY_17, X31CWebConst.DATABEAN_GET_VALUE);

		// ANK-1220-00-00 2012/09/26 h.iwamoto START
		// マンション情報の資料請求フラグ取得
		String siryoSeikyFlg = mansionInfoBean.sendMessageString(CommonInfoCFConst.SIRYO_SEIKY_FLG_16, X31CWebConst.DATABEAN_GET_VALUE);
		// ANK-1220-00-00 2012/09/26 h.iwamoto END

		String nextScreenId = JFUStrConst.EMPTY;
		String nextScreenName = JFUStrConst.EMPTY;

		// マンション物件コードを取得
		String mansionBukkenCd = mansionInfoBean.sendMessageString(CommonInfoCFConst.MANSION_BUKKEN_CD_16, X31CWebConst.DATABEAN_GET_VALUE);

		// 共有フォームBean.WEB新規情報.リダイレクト情報.資料請求フラグが"1"
		// または、マンション情報.資料請求フラグが"1"の場合(ANK-1220-00-00)
		if ("1".equals(redPnfSeiky) || "1".equals(siryoSeikyFlg))
		{

			// 共有フォームBean.WEB新規情報.マンション情報.マンション物件コードが"001"マンションの場合
			if (JFUStrConst.MANSION_BUKKEN_CD_MF.equals(mansionBukkenCd))
			{
				nextScreenId = JFUScreenConst.SCREEN_ID_FUW00136;
				nextScreenName = JFUScreenConst.SCREEN_NAME_FUW00136;
			}

			// 共有フォームBean.WEB新規情報.マンション情報.マンション物件コードが"002"メゾンの場合
			else if (JFUStrConst.MANSION_BUKKEN_CD_MZ.equals(mansionBukkenCd))
			{
				nextScreenId = JFUScreenConst.SCREEN_ID_FUW00137;
				nextScreenName = JFUScreenConst.SCREEN_NAME_FUW00137;
			}
			else
			{
				throw new X31SRuntimeException("遷移先判定不可。マンション物件コード不正。");
			}
		}

		// 共有フォームBean.WEB新規情報.リダイレクト情報.資料請求フラグが"1"でない場合
		else
		{
			// 加入契約申込条件コードを取得
			String knykeiMskmJokenCd = mansionInfoBean.sendMessageString(CommonInfoCFConst.KNYKEI_MSKM_JOKEN_CD_16, X31CWebConst.DATABEAN_GET_VALUE);

			// 共有フォームBean.WEB新規情報.マンション情報.マンション物件コードが"001"マンションの場合
			if (JFUStrConst.MANSION_BUKKEN_CD_MF.equals(mansionBukkenCd))
			{

				// CAT-ID取得
				String catid = mansionInfoBean.sendMessageString(CommonInfoCFConst.CATID_16, X31CWebConst.DATABEAN_GET_VALUE);

				if (!JFUStrConst.EMPTY.equals(catid))
				{
					// テレビ提供状況コード取得
					String hikariTvTkJokyoCd =
							mansionInfoBean.sendMessageString(CommonInfoCFConst.HIKARI_TV_TK_JOKYO_CD_16, X31CWebConst.DATABEAN_GET_VALUE);
					if (JFUStrConst.HIKARI_TV_TK_JOKYO_CD_TV_TNDK_WEB_HK.equals(hikariTvTkJokyoCd))
					{
						// テレビ単独WEB不可の場合、サービス未提供マンションへ
						nextScreenId = JFUScreenConst.SCREEN_ID_FUW00136;
						nextScreenName = JFUScreenConst.SCREEN_NAME_FUW00136;

						// 画面遷移モード
						webNewInfoBean.sendMessageString(CommonInfoCFConst.SCREEN_MODE_06, X31CWebConst.DATABEAN_SET_VALUE,
								JFUStrConst.SCREEN_MODE_DEF);

						// 遷移先画面ID
						commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, nextScreenId);

						// 遷移先画面名
						commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, nextScreenName);

						// テレビ単独なので遷移先決定して終了
						return;
					}
					else if (JFUStrConst.HIKARI_TV_TK_JOKYO_CD_TV_TNDK.equals(hikariTvTkJokyoCd))
					{
						// テレビ単独の場合、サービス未提供マンションへ
						nextScreenId = JFUScreenConst.SCREEN_ID_FUW00105;
						nextScreenName = JFUScreenConst.SCREEN_ID_FUW00105;

						// 画面遷移モード
						webNewInfoBean.sendMessageString(CommonInfoCFConst.SCREEN_MODE_06, X31CWebConst.DATABEAN_SET_VALUE,
								JFUStrConst.SCREEN_MODE_DEF);

						// 遷移先画面ID
						commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, nextScreenId);

						// 遷移先画面名
						commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, nextScreenName);

						// テレビ単独なので遷移先決定して終了
						return;
					}
				}

				// 共有フォームBean.WEB新規情報.マンション情報.加入契約条件申込コードが10(資料請求)または14(導入予定)の場合
				if (JFUStrConst.KNYKEI_MSKM_JOKEN_ATICLE.equals(knykeiMskmJokenCd)
						|| JFUStrConst.KNYKEI_MSKM_JOKEN_DONYU_RSV.equals(knykeiMskmJokenCd))
				{
					nextScreenId = JFUScreenConst.SCREEN_ID_FUW00136;
					nextScreenName = JFUScreenConst.SCREEN_NAME_FUW00136;
				}

				// 共有フォームBean.WEB新規情報.マンション情報.加入契約条件申込コードが11(Web可単独)または12(Web可併設)の場合
				else if (JFUStrConst.KNYKEI_MSKM_JOKEN_WEB_SNGL.equals(knykeiMskmJokenCd)
						|| JFUStrConst.KNYKEI_MSKM_JOKEN_WEB_HEISETSU.equals(knykeiMskmJokenCd))
				{
					nextScreenId = JFUScreenConst.SCREEN_ID_FUW00105;
					nextScreenName = JFUScreenConst.SCREEN_NAME_FUW00105;
				}

				// 共有フォームBean.WEB新規情報.マンション情報.加入契約条件申込コードが13(全戸一括)の場合
				else if (JFUStrConst.KNYKEI_MSKM_JOKEN_IKT.equals(knykeiMskmJokenCd))
				{

					// 宅内特殊配線有料工事コードを取得
					String takniTokuhsenYrkojiCd =
							mansionInfoBean.sendMessageString(CommonInfoCFConst.TAKNI_TOKUHSEN_YRKOJI_CD_16, X31CWebConst.DATABEAN_GET_VALUE);

					// 共有フォームBean.WEB新規情報.マンション情報.宅内特殊配線有料工事コードが001の場合
					if (TAKNI_TOKUHSEN_YRKOJI_CD_TKHN.equals(takniTokuhsenYrkojiCd))
					{
						nextScreenId = JFUScreenConst.SCREEN_ID_FUW00136;
						nextScreenName = JFUScreenConst.SCREEN_NAME_FUW00136;
					}

					// 共有フォームBean.WEB新規情報.マンション情報.宅内特殊配線有料工事コードが001でない場合
					else
					{
						nextScreenId = JFUScreenConst.SCREEN_ID_FUW00135;
						nextScreenName = JFUScreenConst.SCREEN_NAME_FUW00135;
					}
				}

				// テレビ単独の場合
				else
				{
					nextScreenId = JFUScreenConst.SCREEN_ID_FUW00105;
					nextScreenName = JFUScreenConst.SCREEN_NAME_FUW00105;
				}
			}

			// 共有フォームBean.WEB新規情報.マンション情報.マンション物件コードが"002"メゾンの場合
			else if (JFUStrConst.MANSION_BUKKEN_CD_MZ.equals(mansionBukkenCd))
			{
				if (JFUStrConst.KNYKEI_MSKM_JOKEN_ATICLE_RSV_MAISON.equals(knykeiMskmJokenCd)
						|| JFUStrConst.KNYKEI_MSKM_JOKEN_ATICLE_SIKY_MAISON.equals(knykeiMskmJokenCd))
				{
					nextScreenId = JFUScreenConst.SCREEN_ID_FUW00137;
					nextScreenName = JFUScreenConst.SCREEN_NAME_FUW00137;
				}
				else if (JFUStrConst.KNYKEI_MSKM_JOKEN_DONYU_ZM_MAISON.equals(knykeiMskmJokenCd))
				{
					nextScreenId = JFUScreenConst.SCREEN_ID_FUW00105;
					nextScreenName = JFUScreenConst.SCREEN_NAME_FUW00105;
				}
			}
			else
			{
				throw new X31SRuntimeException("遷移先判定不可。マンション物件コード不正。");
			}
		}

		// 画面遷移モード
		webNewInfoBean.sendMessageString(CommonInfoCFConst.SCREEN_MODE_06, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.SCREEN_MODE_DEF);

		// 遷移先画面ID
		commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, nextScreenId);

		// 遷移先画面名
		commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, nextScreenName);
	}

	/**
	 * サービスフォームBean-サービス契約番号 → 共有フォームBean-各サービスのサービス契約番号
	 * <br>
	 * @param flg
	 * @return void
	 */
	private void setCBeanSvcKeiNo(int flg)
	{
		// -------------------------------------------------
		// フォームBeanの取得
		// -------------------------------------------------
		// 共有フォームBean
		X31SDataBeanAccess commonInfoBean = getCommonInfoBean();
		// サービス契約番号一覧サービスフォームBean
		X31SDataBeanAccess serviceFormBean = getServiceFormBean();

		// -------------------------------------------------
		// WEB新規情報から設定値を取得
		// -------------------------------------------------
		// 共有フォームBean.WEB新規情報取得
		X31SDataBeanAccess webNewBean = commonInfoBean.getDataBeanArray(CommonInfoCFConst.WEB_NEW_INFO).getDataBean(0);

		// -------------------------------------------------
		// 画面上でボタン押下された回線内訳情報の取得
		// -------------------------------------------------
		// 選択回線内訳インデックスを取得
		int index = serviceFormBean.sendMessageLong(FUW00129SFConst.SELECTED_KSN_UCWK_INDEX, X31CWebConst.DATABEAN_GET_VALUE).intValue();

		// 作業用
		X31SDataBeanAccessArray beanArray = null;
		X31SDataBeanAccess bean = null;

		switch (flg)
		{
			case 1:
				// 固定回線
				// サービス契約回線内訳リスト
				X31SDataBeanAccessArray svkei_kaisen_uw_list = serviceFormBean.getDataBeanArray(FUW00129SFConst.SVKEI_KAISEN_UW_LIST);
				X31SDataBeanAccess svkei_kaisen_uw_bean = svkei_kaisen_uw_list.getDataBean(index);
				// 契約中サービス（ネット）
				String now_svc_net = svkei_kaisen_uw_bean.sendMessageString(FUW00129SFConst.NOW_SVC_NET_01, X31CWebConst.DATABEAN_GET_VALUE);
				// 契約中サービス（電話）
				String now_svc_tel = svkei_kaisen_uw_bean.sendMessageString(FUW00129SFConst.NOW_SVC_TEL_01, X31CWebConst.DATABEAN_GET_VALUE);
				// 契約中サービス（テレビ）
				String now_svc_tv = svkei_kaisen_uw_bean.sendMessageString(FUW00129SFConst.NOW_SVC_TV_01, X31CWebConst.DATABEAN_GET_VALUE);

				if (JFUStrConst.NOW_SVC_NET_KEI_CHU.equals(now_svc_net))
				{
					// サービス契約ネットリスト
					X31SDataBeanAccess svc_kei_net_bean = svkei_kaisen_uw_bean.getDataBeanArray(FUW00129SFConst.SVC_KEI_NET_LIST).getDataBean(0);
					beanArray = webNewBean.getDataBeanArray(CommonInfoCFConst.EONET);
					bean = beanArray.getDataBean(0);
					bean.sendMessageString(CommonInfoCFConst.SVC_KEI_NO_11, X31CWebConst.DATABEAN_SET_VALUE, svc_kei_net_bean.sendMessageString(
							FUW00129SFConst.SVC_KEI_NO_04, X31CWebConst.DATABEAN_GET_VALUE));
				}
				if (JFUStrConst.NOW_SVC_TEL_KEI_CHU.equals(now_svc_tel))
				{
					// サービス契約電話リスト
					X31SDataBeanAccess svc_kei_tel_bean = svkei_kaisen_uw_bean.getDataBeanArray(FUW00129SFConst.SVC_KEI_TEL_LIST).getDataBean(0);
					beanArray = webNewBean.getDataBeanArray(CommonInfoCFConst.EOTEL);
					bean = beanArray.getDataBean(0);
					bean.sendMessageString(CommonInfoCFConst.SVC_KEI_NO_12, X31CWebConst.DATABEAN_SET_VALUE, svc_kei_tel_bean.sendMessageString(
							FUW00129SFConst.SVC_KEI_NO_05, X31CWebConst.DATABEAN_GET_VALUE));
				}

				if (JFUStrConst.NOW_SVC_TV_KEI_CHU.equals(now_svc_tv))
				{
					// サービス契約テレビリスト
					X31SDataBeanAccess svc_kei_tv_bean = svkei_kaisen_uw_bean.getDataBeanArray(FUW00129SFConst.SVC_KEI_TV_LIST).getDataBean(0);
					beanArray = webNewBean.getDataBeanArray(CommonInfoCFConst.EOTV);
					bean = beanArray.getDataBean(0);
					bean.sendMessageString(CommonInfoCFConst.SVC_KEI_NO_13, X31CWebConst.DATABEAN_SET_VALUE, svc_kei_tv_bean.sendMessageString(
							FUW00129SFConst.SVC_KEI_NO_05, X31CWebConst.DATABEAN_GET_VALUE));
				}

				break;

			case 2:
				// モバイル回線
				// サービス契約回線内訳モバイルリスト
				X31SDataBeanAccessArray svkei_kaisen_uw_mobile_list = serviceFormBean.getDataBeanArray(FUW00129SFConst.SVKEI_KAISEN_UW_MOBILE_LIST);
				X31SDataBeanAccess svkei_kaisen_uw_mobile_bean = svkei_kaisen_uw_mobile_list.getDataBean(index);
				// サービス契約
				beanArray = webNewBean.getDataBeanArray(CommonInfoCFConst.EOMOBILE);
				bean = beanArray.getDataBean(0);
				bean.sendMessageString(CommonInfoCFConst.SVC_KEI_NO_14, X31CWebConst.DATABEAN_SET_VALUE, svkei_kaisen_uw_mobile_bean
						.sendMessageString(FUW00129SFConst.SVC_KEI_NO_02, X31CWebConst.DATABEAN_GET_VALUE));
				break;

			default:
				break;

		}
	}

	/**
	 * 提供方式パターンコードを取得する。
	 *
	 * <br>
	 * @param tkHoshikiCd 提供方式コード
	 * @param tkPrcSbtCd 提供料金種別コード
	 * @return 提供方式パターンコード
	 */
	private String getTeikyoHoshikiPtnCd(String tkHoshikiCd, String tkPrcSbtCd)
	{
		// 提供方式コードが"004"、"005"、"006" の場合は"1"(VDSL)を設定
		if (JFUStrConst.TK_HOSHIKI_VDSL2.equals(tkHoshikiCd) || JFUStrConst.TK_HOSHIKI_VDSL3.equals(tkHoshikiCd)
				|| JFUStrConst.TK_HOSHIKI_VDSL4.equals(tkHoshikiCd))
		{
			return JFUStrConst.TK_HOSHIKI_PTN_VDSL;
		}

		// 提供方式コードが"007"かつ、提供料金種別コードが"001"でない場合は"1"(VDSL)を設定
		if (JFUStrConst.TK_HOSHIKI_VDSL5.equals(tkHoshikiCd) && !TK_PRC_SBT_CD_VDSL_S.equals(tkPrcSbtCd))
		{
			return JFUStrConst.TK_HOSHIKI_PTN_VDSL;
		}

		// 提供料金種別コードが"001"(旧VDSL-S),"002"(VDSL-S)の場合は"2"(VDSL-S)を設定
		if (TK_PRC_SBT_CD_VDSL_S_OLD.equals(tkPrcSbtCd) || TK_PRC_SBT_CD_VDSL_S.equals(tkPrcSbtCd))
		{
			return JFUStrConst.TK_HOSHIKI_PTN_VDSLS;
		}

		// 提供方式コードが"001"の場合は"3"(イーサ)を設定
		if (JFUStrConst.TK_HOSHIKI_ENET.equals(tkHoshikiCd))
		{
			return JFUStrConst.TK_HOSHIKI_PTN_ENET;
		}

		// 提供方式コードが"0010"の場合は"4"(ギガイーサ)を設定
		if (JFUStrConst.TK_HOSHIKI_GIGA_ENET.equals(tkHoshikiCd))
		{
			return JFUStrConst.TK_HOSHIKI_PTN_GG_ENET;
		}

		// 提供方式コードが"008"の場合は"5"(光配線)を設定
		if (JFUStrConst.TK_HOSHIKI_HIKARI_HAISEN.equals(tkHoshikiCd))
		{
			return JFUStrConst.TK_HOSHIKI_PTN_HIKARI_HAISEN;
		}

		return JFUStrConst.EMPTY;
	}

	/**
	 * ネット申込可否とコースの判定を行う。
	 * マンション用。
	 *
	 * <br>
	 * @param tonaiSpeedCd 棟内速度コード
	 * @param tkHoshikiCd 提供方式コード
	 * @param pairid ペアＩＤ
	 * @param knykeiMskmJokenCd 加入契約申込条件コード
	 * @param tkHoshikiPtnCd 提供方式パターンコード
	 * @param knykeiNet10gMskmKhMans 加入契約ネット１０Ｇ申込可否＿マンション
	 * @param knykeiNet1gMskmKhMans 加入契約ネット１Ｇ申込可否＿マンション
	 * @return ネット申込可否
	 */
	private Map<String, String> getNetMskmKhHnti001(String tonaiSpeedCd, String tkHoshikiCd, String pairid, String knykeiMskmJokenCd,
			String tkHoshikiPtnCd, String knykeiNet10gMskmKhMans, String knykeiNet1gMskmKhMans)
	{
		HashMap<String, String> mskmKanouFlgMap = new HashMap<String, String>();

		// 申込不可を初期値で設定する。
		// 10G
		mskmKanouFlgMap.put(KEY_MOBILE_10G, "1");
		// 1G
		mskmKanouFlgMap.put(KEY_MOBILE_1G, "1");
		// 200M
		mskmKanouFlgMap.put(KEY_MOBILE_200M, "1");
		// 100M
		mskmKanouFlgMap.put(KEY_MOBILE_100M, "1");

		// 加入契約申込条件コードが"10"(資料請求)、"11"(Web可単独)、"12"(Web可併設)、"13"(全戸一括)以外の場合
		if (!this.isNetOk001(knykeiMskmJokenCd))
		{
			// 全て申込不可で返却
			return mskmKanouFlgMap;
		}

		// 提供方式コード：004(VDSL2),005(VDSL3),006(VDSL4),007(VDSL5)の場合
		if (JFUStrConst.TK_HOSHIKI_VDSL2.equals(tkHoshikiCd) || JFUStrConst.TK_HOSHIKI_VDSL3.equals(tkHoshikiCd)
				|| JFUStrConst.TK_HOSHIKI_VDSL4.equals(tkHoshikiCd) || JFUStrConst.TK_HOSHIKI_VDSL5.equals(tkHoshikiCd))
		{
			// 棟内速度コード 001(35M/100M),002(30M/70M),006(100M/100M)の場合
			if (JFUStrConst.TONAI_SPEED_CD_35M_100M.equals(tonaiSpeedCd) || JFUStrConst.TONAI_SPEED_CD_30M_70M.equals(tonaiSpeedCd)
					|| JFUStrConst.TONAI_SPEED_CD_100M_100M.equals(tonaiSpeedCd))
			{
				// 100M可
				mskmKanouFlgMap.put(KEY_MOBILE_100M, "0");

				// ペアIDが設定されている場合
				if (this.isSetId(pairid))
				{
					// 1Gも可
					mskmKanouFlgMap.put(KEY_MOBILE_1G, "0");
				}
			}
		}

		// 提供方式コード：001(イーサ)の場合
		if (JFUStrConst.TK_HOSHIKI_ENET.equals(tkHoshikiCd))
		{
			// 棟内速度コード 006(100M/100M)の場合
			if (JFUStrConst.TONAI_SPEED_CD_100M_100M.equals(tonaiSpeedCd))
			{
				// 100M可
				mskmKanouFlgMap.put(KEY_MOBILE_100M, "0");

				// ペアIDが設定されている場合
				if (this.isSetId(pairid))
				{
					// 1Gも可
					mskmKanouFlgMap.put(KEY_MOBILE_1G, "0");
				}
			}
		}

		// 008(光配線),010(ギガイーサ)の場合
		if (JFUStrConst.TK_HOSHIKI_HIKARI_HAISEN.equals(tkHoshikiCd) || JFUStrConst.TK_HOSHIKI_GIGA_ENET.equals(tkHoshikiCd))
		{
			// 008(光配線) 53(コース変更可能)
			if (JFUStrConst.TK_HOSHIKI_HIKARI_HAISEN.equals(tkHoshikiCd) && JFUStrConst.CD01213_53.equals(tkHoshikiPtnCd))
			{
				if (JFUStrConst.CD00003_1.equals(knykeiNet10gMskmKhMans))
				{
					// 10G可
					mskmKanouFlgMap.put(KEY_MOBILE_10G, "0");
				}

				if (JFUStrConst.CD00003_1.equals(knykeiNet1gMskmKhMans))
				{
					// 1G可
					mskmKanouFlgMap.put(KEY_MOBILE_1G, "0");
				}
			}
			// 棟内速度コード 006(100M/100M),007(1G/1G)の場合
			else if (JFUStrConst.TONAI_SPEED_CD_100M_100M.equals(tonaiSpeedCd) || JFUStrConst.TONAI_SPEED_CD_1G_1G.equals(tonaiSpeedCd))
			{
				// 100M可
				mskmKanouFlgMap.put(KEY_MOBILE_100M, "0");

				// 1Gも可
				mskmKanouFlgMap.put(KEY_MOBILE_1G, "0");
			}
		}
		if (JFUStrConst.TK_HOSHIKI_HIKARI_HAISEN.equals(tkHoshikiCd) && JFUStrConst.MT_CD01214_COURCE_CHANGE.contains(tonaiSpeedCd))
		{
			// 1G可
			mskmKanouFlgMap.put(KEY_MOBILE_1G, "0");
		}

		return mskmKanouFlgMap;
	}

	/**
	 * ペアID設定チェック
	 *
	 * <br>
	 * @param pairid ペアID
	 * @return チェック結果
	 */
	private boolean isSetId(String pairid)
	{
		// ペアIDがNULLの場合
		if (pairid == null)
		{
			return false;
		}

		// ペアIDが空文字の場合
		if (JFUStrConst.EMPTY.equals(pairid))
		{
			return false;
		}

		// ペアIDがハイフンの場合
		if ("-".equals(pairid))
		{
			return false;
		}

		return true;
	}

	/**
	 * ネット申込可否とコースの判定を行う。
	 * メゾン用。
	 *
	 * <br>
	 * @param knykeiNet10gMskmKh 加入契約ネット10G申込可否
	 * @param knykeiNet1gMskmKh 加入契約ネット1G申込可否
	 * @param knykeiNet200mMskmKh 加入契約ネット200M申込可否
	 * @param knykeiNet100mMskmKh 加入契約ネット100M申込可否
	 * @return ネット申込可否
	 */
	private Map<String, String> getNetMskmKhHnti002(String knykeiNet10gMskmKh, String knykeiNet1gMskmKh, String knykeiNet200mMskmKh, String knykeiNet100mMskmKh)
	{
		HashMap<String, String> mskmKanouFlgMap = new HashMap<String, String>();

		mskmKanouFlgMap.put(KEY_MOBILE_10G, "1");
		mskmKanouFlgMap.put(KEY_MOBILE_1G, "1");
		mskmKanouFlgMap.put(KEY_MOBILE_200M, "1");
		mskmKanouFlgMap.put(KEY_MOBILE_100M, "1");

		// 10G申込可能フラグ
		// 加入契約ネット10G申込可否が"1"(申込可能)の場合"0"(申込可能)を設定
		if ("1".equals(knykeiNet10gMskmKh))
		{
			mskmKanouFlgMap.put(KEY_MOBILE_10G, "0");
		}

		// 1G申込可能フラグ
		// 加入契約ネット1G申込可否が"1"(申込可能)の場合"0"(申込可能)を設定
		if ("1".equals(knykeiNet1gMskmKh))
		{
			mskmKanouFlgMap.put(KEY_MOBILE_1G, "0");
		}

		// ２００メガ申込可能フラグ
		// 加入契約ネット200M申込可否が"1"(申込可能)の場合"0"(申込可能)を設定
		if ("1".equals(knykeiNet200mMskmKh))
		{
			mskmKanouFlgMap.put(KEY_MOBILE_200M, "0");
		}

		// １００メガ申込可能フラグ
		// 加入契約ネット100M申込可否が"1"(申込可能)の場合"0"(申込可能)を設定
		if ("1".equals(knykeiNet100mMskmKh))
		{
			mskmKanouFlgMap.put(KEY_MOBILE_100M, "0");
		}

		return mskmKanouFlgMap;
	}

	/**
	 * 光電話の申込可否判定を行う。
	 * マンション用。
	 *
	 * <br>
	 * @param knykeiMskmJokenCd 加入契約申込条件コード
	 * @param hikariTelTkCd 光電話提供コード
	 * @return 申込可否
	 */
	private String getTelMskmKhHnti001(String knykeiMskmJokenCd, String hikariTelTkCd)
	{
		// 加入契約申込条件コードが"10"(資料請求)、"11"(Web可単独)、"12"(Web可併設)、"13"(全戸一括)のいずれかの場合
		if (this.isNetOk001(knykeiMskmJokenCd))
		{
			// ネットの申込が可能な為、光電話の申込可否の判定を行う。
			// 光電話提供コードが"001"(申込可能)の場合
			if (JFUStrConst.HIKARI_TEL_TK_CD_MSKM_KANOU.equals(hikariTelTkCd))
			{
				// 申込可能
				return JFUStrConst.TEL_MSKM_PSB_FLG_MSKM_PSB;
			}
		}

		// 申込不可
		return "1";
	}

	/**
	 * 光電話の申込可否判定を行う。
	 * メゾン用。
	 *
	 * <br>
	 * @param hikariTelTkCd 光電話提供コード
	 * @return 申込可否
	 */
	private String getTelMskmKhHnti002(String hikariTelTkCd)
	{
		// 光電話提供コードが"001"(申込可能)の場合"0"(申込可能)を設定
		if (JFUStrConst.HIKARI_TEL_TK_CD_MSKM_KANOU.equals(hikariTelTkCd))
		{
			return JFUStrConst.TEL_MSKM_PSB_FLG_MSKM_PSB;
		}

		// "1"(申込不可)を設定
		return "1";
	}

	/**
	 * 光テレビの申込可否判定を行う。
	 * マンション用。
	 *
	 * <br>
	 * @param hikariTvTkJokyoCd 光テレビ提供状況コード
	 * @return 申込可否
	 */
	private String getTvMskmKhHnti001(String hikariTvTkJokyoCd)
	{
		// 光テレビ提供状況コードが"1"または"2"の場合
		if (JFUStrConst.HIKARI_TV_TK_JOKYO_CD_NET_HIST.equals(hikariTvTkJokyoCd)
				|| JFUStrConst.HIKARI_TV_TK_JOKYO_CD_TV_TNDK.equals(hikariTvTkJokyoCd))
		{
			// 申込可 "10"
			return JFUStrConst.TV_MSKM_PSB_FLG_KCAT;
		}

		// 申込不可
		return "0";
	}

	/**
	 * 指定した加入契約申込条件コードから、ネットが提供かどうか判定する。
	 * マンション用。
	 * <br>
	 * @param knykeiMskmJokenCd 加入契約申込条件コード
	 * @return 提供：true 未提供：false
	 */
	private boolean isNetOk001(String knykeiMskmJokenCd)
	{
		// 加入契約申込条件コードが10,11,12,13の場合、ネット提供。
		if (JFUStrConst.KNYKEI_MSKM_JOKEN_ATICLE.equals(knykeiMskmJokenCd) || JFUStrConst.KNYKEI_MSKM_JOKEN_WEB_SNGL.equals(knykeiMskmJokenCd))
		{
			return true;
		}

		if (JFUStrConst.KNYKEI_MSKM_JOKEN_WEB_HEISETSU.equals(knykeiMskmJokenCd) || JFUStrConst.KNYKEI_MSKM_JOKEN_IKT.equals(knykeiMskmJokenCd))
		{
			return true;
		}

		// 未提供
		return false;
	}

	/**
	 * データBeanリストから0番目のデータBeanを取得する。
	 * <BR>
	 * IT1-2012-0002149 Y.Saitou ADD
	 * <br>
	 * @param bean
	 * @param componentID
	 * @return 取得したデータBean
	 */
	private X31SDataBeanAccess getX31SDataBeanAccess(X31SDataBeanAccess bean, String componentID)
	{
		X31SDataBeanAccessArray subBeanArray = bean.getDataBeanArray(componentID);
		X31SDataBeanAccess subBean = subBeanArray.getDataBean(0);
		if (null == subBean)
		{
			subBeanArray.addDataBean();
			subBean = subBeanArray.getDataBean(0);
		}
		return subBean;
	}

	/* 2012/11/26 IT1-2012-0002149 Y.Saitou ADD-END */

	/**
	 * FUSV0269_マンション割引情報取得サービスを呼び出す。
	 * <br>
	 * No356 Otsuka 2013/02/26
	 * <br>
	 * @param commonInfoBean 共有フォームBean
	 * @param serviceInfoBean サービスフォームBean
	 */
	@SuppressWarnings("unchecked")
	private void callFUSV269Service(X31SDataBeanAccess commonInfoBean, X31SDataBeanAccess serviceInfoBean)
	{
		// サービス呼び出し
		// サービスIDをparamにセット
		Map<String, String> paramMap = new HashMap<String, String>();
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, USECASE_ID_FUSV0269);

		// DataBean-BPマッピング
		FUSV0269_FUSV0269OPDBMapper mapper = new FUSV0269_FUSV0269OPDBMapper();

		HashMap inputMap = new HashMap();
		HashMap outputMap = new HashMap();

		X31SDataBeanAccess[] paramBean = { serviceInfoBean, commonInfoBean };

		// 機能コード「1」を設定
		mapper.setFUSV026901CC(paramBean, inputMap, JPCModelConstant.FUNC_CD_1, -1);
		mapper.setFUSV026902CC(paramBean, inputMap, JPCModelConstant.FUNC_CD_1, -1);
		
		try
		{
			// サービス呼び出し
			invokeService(paramMap, inputMap, outputMap);
		}
		catch (JCCWebServiceException se)
		{
			// システムエラー
			throw new JCCBusinessException(JFUStrConst.ERROR_CODE_0002);
		}

		// サービスからの戻りデータをBeanにセット(下りマッピング)
		mapper.getFUSV026901CC(paramBean, outputMap);
		mapper.getFUSV026902CcSvcAdd(paramBean, outputMap);
	}

	/**
	 * FUSV0271サービスの呼出処理です。
	 *
	 * <br>
	 * @param commonInfoBean 共有フォームBean
	 * @param serviceInfoBean サービスフォームBean
	 */
	@SuppressWarnings("unchecked")
	private void callFUSV0271Service(X31SDataBeanAccess commonInfoBean, X31SDataBeanAccess serviceInfoBean)
	{
		// サービス呼び出し設定
		Map<String, String> paramMap = new HashMap<String, String>();
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, USECASE_ID_FUSV0271);

		// DBマッパークラス呼び出し
		FUSV0271_FUSV0271OPDBMapper mapper = new FUSV0271_FUSV0271OPDBMapper();

		HashMap inputMap = new HashMap();
		HashMap outputMap = new HashMap();

		// 共有フォームBean.WEB新規情報取得
		X31SDataBeanAccess webNewBean = commonInfoBean.getDataBeanArray(CommonInfoCFConst.WEB_NEW_INFO).getDataBean(0);

		// DBマッパーに渡すBeanを設定
		X31SDataBeanAccess[] paramBeanArray = { webNewBean };

		// ●上りマッピング
		// サービス契約申込情報取得CC
		mapper.setFUSV027101CC(paramBeanArray, inputMap);
		// ＯＮＵ交換工事判定CC
		mapper.setFUSV027102CC(paramBeanArray, inputMap);
		// ローゼット化設置済案件判定CC
		mapper.setFUSV027103CC(paramBeanArray, inputMap);

		// ●サービス実行
		try
		{
			invokeService(paramMap, inputMap, outputMap);
		}
		catch (JCCWebServiceException se)
		{
			// システムエラー
			throw new JCCBusinessException(JFUStrConst.ERROR_CODE_0002);
		}

		// ●下りマッピング
		mapper.getFUSV027101CC(paramBeanArray, outputMap);
		mapper.getFUSV027101CCKaisenKiki(paramBeanArray, outputMap);
		mapper.getFUSV027102CC(paramBeanArray, outputMap);
		mapper.getFUSV027103CC(paramBeanArray, outputMap);
	}

	/**
	 * 共有フォームBean値設定処理(WEB変更連系用)です。
	 *
	 * <br>
	 * @param commonInfoBean 共有フォームBean
	 * @param serviceFormBean サービスフォームBean
	 */
	private void setChgInfoBeanTel(X31SDataBeanAccess commonInfoBean,  X31SDataBeanAccess serviceFormBean)
	{
		// 共有フォームBean.WEB新規情報取得
		X31SDataBeanAccess webNewInfo = commonInfoBean.getDataBeanArray(CommonInfoCFConst.WEB_NEW_INFO).getDataBean(0);
		// 共通フォームBean.フロント共有情報
		X31SDataBeanAccess frontInfo = commonInfoBean.getDataBeanArray(CommonInfoCFConst.FRONT_COMMON_INFO).getDataBean(0);
		// 共通フォームBean.ＷＥＢ変更情報
		X31SDataBeanAccess webChgInfo = getWebChgInfoBean(commonInfoBean);
		// 共通フォームBean.ＷＥＢ変更情報.ＳＳＯ情報
		X31SDataBeanAccess ssoInfo = getSsoInfoBean(webChgInfo);

		// SYSID
		String sysid = webNewInfo.sendMessageString(CommonInfoCFConst.SYSID_06, X31CWebConst.DATABEAN_GET_VALUE);
		// 選択電話情報
		String selTelInfo = serviceFormBean.sendMessageString(FUW00129SFConst.SEL_TEL_INFO, X31CWebConst.DATABEAN_GET_VALUE);

		// 選択電話の各情報を取得
		String selTelNo = JFUStrConst.EMPTY;
		String selTelSvcKeiNo = JFUStrConst.EMPTY;
		if(selTelInfo.contains(JFUStrConst.COMMA) && selTelInfo.split(JFUStrConst.COMMA).length == 2)
		{
			// 選択サービス契約番号
			selTelSvcKeiNo = selTelInfo.split(JFUStrConst.COMMA)[0];
			// 選択電話番号
			selTelNo = selTelInfo.split(JFUStrConst.COMMA)[1];
		}

		// ●変更系画面に必要な情報を共有フォームBean設定する
		// フロント共有情報.フロント区分
		frontInfo.sendMessageString(CommonInfoCFConst.FU_KBN_05, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.FU_KBN_C);
		// SSO情報.SYSID
		ssoInfo.sendMessageString(CommonInfoCFConst.SYSID_21, X31CWebConst.DATABEAN_SET_VALUE, sysid);
		// SSO情報.サービス契約番号
		ssoInfo.sendMessageString(CommonInfoCFConst.SVC_KEI_NO_21, X31CWebConst.DATABEAN_SET_VALUE, selTelSvcKeiNo);
		// SSO情報.電話番号
		ssoInfo.sendMessageString(CommonInfoCFConst.TELNO_21, X31CWebConst.DATABEAN_SET_VALUE, selTelNo);
		// SSO情報.URL画面ID
		ssoInfo.sendMessageString(CommonInfoCFConst.URL_SCREEN_ID_21, X31CWebConst.DATABEAN_SET_VALUE, TEL_CONTRACT_INQUIRY_MENU);
	}

	/**
	 * WEB変更情報Bean取得処理です。
	 *
	 * <br>
	 * @param commonInfoBean 共有フォームBean
	 * @return WEB変更情報Bean
	 */
	private X31SDataBeanAccess getWebChgInfoBean(X31SDataBeanAccess commonInfoBean)
	{
		X31SDataBeanAccess webChgInfo = null;

		// 共通フォームBean.ＷＥＢ変更情報
		X31SDataBeanAccessArray webChgInfoArray = commonInfoBean.getDataBeanArray(CommonInfoCFConst.WEB_CHG_INFO);
		if(webChgInfoArray.getCount() == 0)
		{
			webChgInfo = webChgInfoArray.addDataBean();
		}
		else
		{
			webChgInfo = webChgInfoArray.getDataBean(0);
		}

		return webChgInfo;
	}

	/**
	 * SSO情報Bean取得処理です。
	 *
	 * <br>
	 * @param webChgInfoBean WEB変更情報Bean
	 * @return SSO情報Bean
	 */
	private X31SDataBeanAccess getSsoInfoBean(X31SDataBeanAccess webChgInfoBean)
	{
		X31SDataBeanAccess ssoInfo = null;

		// 共通フォームBean.ＷＥＢ変更情報.ＳＳＯ情報
		X31SDataBeanAccessArray ssoInfoArray = webChgInfoBean.getDataBeanArray(CommonInfoCFConst.SSO_INFO);
		if(ssoInfoArray.getCount() == 0)
		{
			ssoInfo = ssoInfoArray.addDataBean();
		}
		else
		{
			ssoInfo = ssoInfoArray.getDataBean(0);
		}

		return ssoInfo;
	}

	/**
	 * 値が設定されているか判定する
	 * <br>
	 * @param obj 対象オブジェクト
	 * @return 判定結果
	 */
	@SuppressWarnings("unchecked")
	private boolean isBlank(Object obj)
	{
		boolean ret = false;
		if (obj == null)
		{
			// オブジェクトがNull
			ret = true;
		}
		else if (obj instanceof String)
		{
			// String型の場合
			if (JFUStrConst.EMPTY.equals(obj))
			{
				ret = true;
			}
		}
		else if (obj instanceof ArrayList)
		{
			// ArrayList型の場合
			if (((ArrayList)obj).isEmpty())
			{
				ret = true;
			}
		}
		else if (obj instanceof HashMap)
		{
			// HashMap型の場合
			if (((HashMap)obj).isEmpty())
			{
				ret = true;
			}
		}

		return ret;
	}
	// No356 Otsuka 2013/02/26 end

	/**
	 * 電気単独契約のサービス追加申し込みボタン押下処理
	 * <br/>
	 * @return 処理結果
	 */
	public boolean svcAddElecOnly()
	{
		// 共有フォームBeanを取得
		X31SDataBeanAccess commoninfoBean = getCommonInfoBean();
		// サービス契約番号一覧サービスフォームBean
		X31SDataBeanAccess serviceFormBean = getServiceFormBean();

		// 共有フォームBeanから回線申込みサービスを取得する。
		X31SDataBeanAccessArray webNewInfo = commoninfoBean.getDataBeanArray(CommonInfoCFConst.WEB_NEW_INFO);
		X31SDataBeanAccess webNewInfoBean = webNewInfo.getDataBean(0);
		String mskmKsnSvc = webNewInfoBean.sendMessageString(CommonInfoCFConst.MSKM_KSN_SVC_06, X31CWebConst.DATABEAN_GET_VALUE);

		// 回線申込みサービスからその他情報を取得する。
		X31SDataBeanAccessArray elseInfo = webNewInfoBean.getDataBeanArray(CommonInfoCFConst.ELSE_INFO);
		X31SDataBeanAccess elseInfoBean = elseInfo.getDataBean(0);

		// 回線場所選択を設定する。
		elseInfoBean.sendMessageString(CommonInfoCFConst.KAISEN_SELECT_18, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.KAISEN_SELECT_ADD_NEW_PLACE);
		webNewInfoBean
				.sendMessageString(CommonInfoCFConst.KAISEN_SELECT_18, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.KAISEN_SELECT_ADD_NEW_PLACE);


		// -------------------------------------------------
		// 画面上でボタン押下された回線内訳情報の取得
		// -------------------------------------------------
		// 選択回線内訳インデックスを取得
		int index = serviceFormBean.sendMessageLong(FUW00129SFConst.SELECTED_KSN_UCWK_INDEX, X31CWebConst.DATABEAN_GET_VALUE).intValue();
		// サービスフォームBean.サービス契約回線内訳明細リスト取得
		X31SDataBeanAccessArray svcKsnUcwkList = serviceFormBean.getDataBeanArray(FUW00129SFConst.SVKEI_KAISEN_UW_LIST);
		// 選択されたサービス契約回線内訳明細を取得
		X31SDataBeanAccess svcKsnUcwk = svcKsnUcwkList.getDataBean(index);

		// eo電気のサービス契約リストを取得する。
		X31SDataBeanAccessArray svcKeiElecList = svcKsnUcwk.getDataBeanArray(FUW00129SFConst.SVC_KEI_ELEC_LIST);
		X31SDataBeanAccess svcKeiElec = svcKeiElecList.getDataBean(0);

		// eo電気のサービス契約番号を設定する。
		String svcKeiNoElec = svcKeiElec.sendMessageString(FUW00129SFConst.SVC_KEI_NO_09, X31CWebConst.DATABEAN_GET_VALUE);
		X31SDataBeanAccess beanElec = getElecInfoBean(webNewInfoBean);
		beanElec.sendMessageString(CommonInfoCFConst.SVC_KEI_NO_65, X31CWebConst.DATABEAN_SET_VALUE, svcKeiNoElec);

		// 電気ボタン表示ステータスを設定
		webNewInfoBean.sendMessageString(CommonInfoCFConst.BTN_DSP_ELEC_STAT_06, X31CWebConst.DATABEAN_SET_VALUE, svcKsnUcwk.sendMessageString(
				FUW00129SFConst.BTN_DSP_ELEC_01, X31CWebConst.DATABEAN_GET_VALUE));

		// 申込回線サービスが"1"(ホームタイプ)の場合
		if (JFUStrConst.MSKM_KSN_SVC_HOME.equals(mskmKsnSvc))
		{
			// 画面間引き継ぎ情報の生成
			HashMap<String, Object> dataMap = new HashMap<String, Object>();

			// 回線場所都道府県名
			String state = svcKsnUcwk.sendMessageString(FUW00129SFConst.KAISEN_PLACE_STATE_NM_01, X31CWebConst.DATABEAN_GET_VALUE);
			// 回線場所市区町村名
			String city_aza_cho = svcKsnUcwk.sendMessageString(FUW00129SFConst.KAISEN_PLACE_CITY_NM_01, X31CWebConst.DATABEAN_GET_VALUE);
			// 回線場所大字通称名＋回線場所字丁目名
			String cho_aza_nm =
					svcKsnUcwk.sendMessageString(FUW00129SFConst.KAISEN_PLACE_OAZTSU_NM_01, X31CWebConst.DATABEAN_GET_VALUE)
							+ svcKsnUcwk.sendMessageString(FUW00129SFConst.KAISEN_PLACE_AZCHO_NM_01, X31CWebConst.DATABEAN_GET_VALUE);
			// 回線場所番地号
			String bnchigo = svcKsnUcwk.sendMessageString(FUW00129SFConst.KAISEN_PLACE_BNCHIGO_01, X31CWebConst.DATABEAN_GET_VALUE);

			// 「−(マイナス)」、「ー（長音）」、「―（ダッシュ）」が含まれる場合、「‐（ハイフン）」に置換する。
			bnchigo = bnchigo.replace(REP_BNCHIGO_TG1, REP_BNCHIGO_CH);
			bnchigo = bnchigo.replace(REP_BNCHIGO_TG2, REP_BNCHIGO_CH);
			bnchigo = bnchigo.replace(REP_BNCHIGO_TG3, REP_BNCHIGO_CH);

			// 画面間引き継ぎ情報に格納
			dataMap.put(MAP_KEY_TRAN_KBN, BTN_CTRL_2);
			dataMap.put(MAP_KEY_STATE, state);
			dataMap.put(MAP_KEY_CITY_AZA_CHO, city_aza_cho);
			dataMap.put(MAP_KEY_CHO_AZA_NM, cho_aza_nm);
			dataMap.put(MAP_KEY_BNCHIGO, bnchigo);

			// 画面間引き継ぎ情報の設定
			JCCWebCommon.setScreenInfo(this, JFUScreenConst.SCREEN_ID_FUW00144, dataMap);

			// 遷移先画面ＩＤ
			commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JFUScreenConst.SCREEN_ID_FUW00144);
			// 遷移先画面名称
			commoninfoBean
					.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JFUScreenConst.SCREEN_NAME_FUW00144);
		}
		// 申込回線サービスが"2"(マンションタイプ)の場合
		else if (JFUStrConst.MSKM_KSN_SVC_MANSION.equals(mskmKsnSvc))
		{
			// WEB新規情報>マンション情報
			X31SDataBeanAccessArray mansionInfo = webNewInfoBean.getDataBeanArray(CommonInfoCFConst.MANSION_INFO);
			X31SDataBeanAccess mansionInfoBean = mansionInfo.getDataBean(0);

			// 郵便番号
			String placePcd = svcKsnUcwk.sendMessageString(FUW00129SFConst.KAISEN_PLACE_PCD_01, X31CWebConst.DATABEAN_GET_VALUE);

			// 共有フォームBeanへ設定
			mansionInfoBean.sendMessageString(CommonInfoCFConst.SEARCH_PCD1_16, X31CWebConst.DATABEAN_SET_VALUE, JPCUtilCommon
					.toTopThreeDigitFromPcd(placePcd));
			mansionInfoBean.sendMessageString(CommonInfoCFConst.SEARCH_PCD2_16, X31CWebConst.DATABEAN_SET_VALUE, JPCUtilCommon
					.toUnderFourDigitFromPcd(placePcd));

			// マンション検索パターンを設定(1:郵便番号検索)
			mansionInfoBean.sendMessageString(CommonInfoCFConst.SEARCH_PTN_16, X31CWebConst.DATABEAN_SET_VALUE, MANSION_SEARCH_PCD);

			// 遷移先画面ＩＤ
			commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JFUScreenConst.SCREEN_ID_FUW00134);
			// 遷移先画面名称
			commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JFUScreenConst.SCREEN_NAME_FUW00134);
		}
		else
		{
			// 遷移先画面ＩＤ
			commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JFUScreenConst.SCREEN_ID_FUW00147);
			// 遷移先画面名称
			commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JFUScreenConst.SCREEN_NAME_FUW00147);
		}

		return true;
	}

	/**
	 * eo電気Bean取得処理です。
	 *
	 * <br>
	 * @param webNewInfoBean WEB新規情報Bean
	 * @return eo電気Bean
	 */
	private X31SDataBeanAccess getElecInfoBean(X31SDataBeanAccess webNewInfoBean)
	{
		X31SDataBeanAccess eoelecInfo = null;

		// 共通フォームBean.ＷＥＢ新規情報.eo電気
		X31SDataBeanAccessArray eoelecInfoArray = webNewInfoBean.getDataBeanArray(CommonInfoCFConst.EOELEC);
		if(eoelecInfoArray.getCount() == 0)
		{
			eoelecInfo = eoelecInfoArray.addDataBean();
		}
		else
		{
			eoelecInfo = eoelecInfoArray.getDataBean(0);
		}

		return eoelecInfo;
	}

}
