/*********************************************************************
* All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名		：eo顧客基幹システム
*	モジュール名	：eo光eo電気契約一覧(量販・訪販)ビューロジック
*	ソースファイル名：FUW00957SFLogic.java
*	作成者			：富士通
*	日付			：2018年10月17日
*＜機能概要＞
*	eo光eo電気契約一覧(量販・訪販)ビューロジッククラスです。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*   v39.00.00   2018/10/17  FJ) 謝      【ANK-3518-00-00】量販・訪販Webのサービス追加 新規作成
*   v40.00.00   2018/11/28  FJ) 松原    【ANK-3412-00-00】５ギガ・１０ギガコース導入対応【STEP1、2】
*   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.0.0     2025/01/23  FJ）浅井    【ANK-4427-43-00】NTT卸対応【仕変43】【フロント】NTT卸のサービス追加について
**********************************************************************/
package eo.web.webview.FUW00957SF;

import static com.fujitsu.futurity.web.x31.X31SWebLog.DEBUG_LOG;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;

import com.fujitsu.futurity.web.x00.JCCBusinessException;
import com.fujitsu.futurity.web.x00.JCCWebServiceException;
import com.fujitsu.futurity.web.x31.X31CWebConst;
import com.fujitsu.futurity.web.x31.X31SDataBeanAccess;
import com.fujitsu.futurity.web.x31.X31SDataBeanAccessArray;

import eo.common.constant.JFUStrConst;
import eo.common.constant.JPCModelConstant;
import eo.common.util.JPCUtilCommon;
import eo.web.webview.JCCWebBusinessLogic;
import eo.web.webview.CommonInfoCF.CommonInfoCFConst;
import eo.web.webview.common.JFUKariMskmDelUtil;
import eo.web.webview.common.JFUScreenConst;
import eo.web.webview.common.JFUWebCommon;
import eo.web.webview.mapping.FUSV0023_FUSV0023OPDBMapper;
import eo.web.webview.mapping.FUSV0271_FUSV0271OPDBMapper;
import eo.web.webview.mapping.FUSV0325_FUSV0325OPDBMapper;
import eo.web.webview.mapping.FUSV0326_FUSV0326OPDBMapper;

/**
 * eo光eo電気契約一覧(量販・訪販)ビューロジッククラスです。<p>
 * <br/>
 * @author 富士通
 */
@SuppressWarnings("serial")
public class FUW00957SFLogic extends JCCWebBusinessLogic
{
	/** 画面ＩＤ　FUW00957 */
	/** サービスユースケースID：eo光eo電気契約一覧(量販・訪販) */
	private static final String SVC_USECASE_ID_FUSV0325 = "FUSV0325";

	/** ユースケースID（FUSV0326） */
	private static final String USECASE_ID_FUSV0326 = "FUSV0326";
	/** ユースケースID（FUSV0271） */
	private static final String USECASE_ID_FUSV0271 = "FUSV0271";

// ANK-4427-43-00 ADD START
	/** サービスユースケースID：サービス契約番号一覧 */
	private static final String SVC_USECASE_ID_FUSV0023 = "FUSV0023";
// ANK-4427-43-00 ADD END

	/** 郵便番号加工用 */
	private static final String PCD_EMPTY = "       ";

	/** 提供料金種別コード：旧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;

	/** マンション情報.検索パターン：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";

	/** サービス；申込可 "1" */
	private static final String MSKM_KA = "1";

	/** [PASCOパラメータ]申込区分:追加 */
	private static final String APPL_CLASS_ADD = "03";
	/** [PASCOパラメータ]仮申込サービス:"03"(ホームタイプ) */
	private static final String KARI_SVC_HOME = "03";
	/** [PASCOパラメータ]インデックス(代理店フラグ):"1"(代理店申込) */
	private static final String AGENT_FLG_ON = "1";
	/** [PASCOパラメータ]遷移区分:本申込 */
	private static final String TRANS_HON = "04";
	/** OSID（PASCO:FUIFE001_PASCO住所検索起動依頼） */
	private static final String OSID_FUIFE001 = "OS003";

	/**
	 * 初期表示処理
	 * 
	 * <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);

		try
		{
			// 仮申込破棄部品実行
			JFUKariMskmDelUtil.executeKariMskmDel(sysid, this);
		}
		catch (Exception e)
		{
			// 仮申込破棄で失敗してもエラーとしない
			DEBUG_LOG.debug("※仮申込破棄処理でエラー");
			DEBUG_LOG.debug(e.toString());
		}

		// -------------------------------------------------
		// 回線利用場所毎サービス契約番号一覧の取得
		// -------------------------------------------------
		// サービス検索条件格納用マップ
		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_FUSV0325);

		// DataBean-BPマッピングクラス生成
		FUSV0325_FUSV0325OPDBMapper mapper = new FUSV0325_FUSV0325OPDBMapper();
		// 上り/下りマッピング用パラメータ生成
		X31SDataBeanAccess[] beanArray = new X31SDataBeanAccess[] { serviceFormBean, commonInfoBean };

		// 現顧客情報一覧照会SC上りマッピング
		mapper.setFUSV032501SC(beanArray, inputMap, JPCModelConstant.FUNC_CD_1);
		// サービス契約一覧照会（SYSID）3SC上りマッピング
		mapper.setFUSV032502SC(beanArray, inputMap, JPCModelConstant.FUNC_CD_1);
		// サービス契約一覧照会CC上りマッピング
		mapper.setFUSV032501CC(beanArray, inputMap, JPCModelConstant.FUNC_CD_1);

		try
		{
			// eo光eo電気契約一覧(量販・訪販)(初期表示)サービス呼び出し
			invokeService(paramMap, inputMap, outputMap);
		}
		catch (JCCWebServiceException se)
		{
			// 業務共通例外クラス："0002"（システムエラー）
			throw new JCCBusinessException(JFUStrConst.ERROR_CODE_0002);
		}

		// 現顧客情報一覧照会SC下りマッピング
		mapper.getFUSV032501SC(beanArray, outputMap, this);
		// サービス契約一覧照会（SYSID）3SC下りマッピング
		mapper.getFUSV032502SC(beanArray, outputMap, this);
		// サービス契約一覧照会CC下りマッピング
		mapper.getFUSV032501CC(beanArray, outputMap, this);

// ANK-4427-43-00 ADD START
		// NTT卸区分設定処理
		setNttOrs(sysid);
// ANK-4427-43-00 ADD END

		// -------------------------------------------------
		// 遷移先画面ID、画面名の設定
		// -------------------------------------------------
		// eo光eo電気契約一覧(量販・訪販)画面に遷移
		commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JFUScreenConst.SCREEN_ID_FUW00957);
		commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JFUScreenConst.SCREEN_NAME_FUW00957);

		return true;
	}

	/**
	 * 申し込み(eo光)ボタン押下処理
	 * <br/>
	 * @return 処理結果
	 */
	public boolean eohSvcAdd()
	{
		// 申し込みボタン押下処理
		return svcAdd();
	}

	/**
	 * 申し込み(eo電気)ボタン押下処理
	 * <br/>
	 * @return 処理結果
	 */
	public boolean elecSvcAdd()
	{
		// 申し込みボタン押下処理
		return svcAdd();
	}

	/**
	 * 申し込みボタン押下処理(eo光、eo電気共通)
	 * <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(FUW00957SFConst.SELECTED_KSN_UCWK_INDEX, X31CWebConst.DATABEAN_GET_VALUE).intValue();

		// サービスフォームBean.サービス契約回線内訳明細リスト取得
		X31SDataBeanAccessArray svcKsnUcwkList = serviceFormBean.getDataBeanArray(FUW00957SFConst.SVKEI_KAISEN_UW_LIST);

		// 選択されたサービス契約回線内訳明細を取得
		X31SDataBeanAccess svcKsnUcwk = svcKsnUcwkList.getDataBean(index);

		X31SDataBeanAccessArray serviceMansionInfoArray = svcKsnUcwk.getDataBeanArray(FUW00957SFConst.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);
			webNewInfoBean.sendMessageString(CommonInfoCFConst.MSKM_MNS_TYPE_06, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
		}

		// -------------------------------------------------
		// 画面引継情報の作成
		// -------------------------------------------------
		// WEB新規情報.画面遷移モード："0"(通常遷移)
		webNewInfoBean.sendMessageString(CommonInfoCFConst.SCREEN_MODE_06, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.SCREEN_MODE_DEF);

		// WEB新規情報.契約サービス情報.サービス契約回線内訳番号
		String svcKeiKaisenUcwkNo = svcKsnUcwk.sendMessageString(FUW00957SFConst.SVC_KEI_KAISEN_UCWK_NO_01, X31CWebConst.DATABEAN_GET_VALUE);
		keiyakuSvcInfoBean.sendMessageString(CommonInfoCFConst.SVC_KEI_KAISEN_UCWK_NO_10, X31CWebConst.DATABEAN_SET_VALUE, svcKeiKaisenUcwkNo);
		// WEB新規情報.契約サービス情報.更新年月日時分秒（サービス契約回線内訳）
		keiyakuSvcInfoBean.sendMessageString(CommonInfoCFConst.UPD_DTM_SVC_KEI_KAISEN_UCWK_10, X31CWebConst.DATABEAN_SET_VALUE, svcKsnUcwk
				.sendMessageString(FUW00957SFConst.KK0251_UPD_DTM_01, X31CWebConst.DATABEAN_GET_VALUE));
		// WEB新規情報.契約サービス情報.契約中サービス（ネット）
		keiyakuSvcInfoBean.sendMessageString(CommonInfoCFConst.NOW_SVC_NET_10, X31CWebConst.DATABEAN_SET_VALUE, svcKsnUcwk.sendMessageString(
				FUW00957SFConst.NOW_SVC_NET_01, X31CWebConst.DATABEAN_GET_VALUE));
		// WEB新規情報.契約サービス情報.契約中サービス（電話）
		keiyakuSvcInfoBean.sendMessageString(CommonInfoCFConst.NOW_SVC_TEL_10, X31CWebConst.DATABEAN_SET_VALUE, svcKsnUcwk.sendMessageString(
				FUW00957SFConst.NOW_SVC_TEL_01, X31CWebConst.DATABEAN_GET_VALUE));
		// WEB新規情報.契約サービス情報.契約中サービス（テレビ）
		keiyakuSvcInfoBean.sendMessageString(CommonInfoCFConst.NOW_SVC_TV_10, X31CWebConst.DATABEAN_SET_VALUE, svcKsnUcwk.sendMessageString(
				FUW00957SFConst.NOW_SVC_TV_01, X31CWebConst.DATABEAN_GET_VALUE));
		// WEB新規情報.契約サービス情報.契約中サービス（電気）
		keiyakuSvcInfoBean.sendMessageString(CommonInfoCFConst.NOW_SVC_DENKI_10, X31CWebConst.DATABEAN_SET_VALUE, svcKsnUcwk.sendMessageString(
				FUW00957SFConst.NOW_SVC_ELEC_01, X31CWebConst.DATABEAN_GET_VALUE));

		setCBeanSvcKeiNo(KOTEI_KAISEN);

		// FUSV0271サービスの呼出
		callFUSV0271Service(commonInfoBean, serviceFormBean);

		// 郵便番号の分割処理
		String pcd = svcKsnUcwk.sendMessageString(FUW00957SFConst.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(
				FUW00957SFConst.KAISEN_PLACE_STATE_NM_01, X31CWebConst.DATABEAN_GET_VALUE)
				+ svcKsnUcwk.sendMessageString(FUW00957SFConst.KAISEN_PLACE_CITY_NM_01, X31CWebConst.DATABEAN_GET_VALUE));
		// WEB新規情報.利用場所情報.字
		riyobashoInfoBean.sendMessageString(CommonInfoCFConst.USEPLACE_AZA_08, X31CWebConst.DATABEAN_SET_VALUE, svcKsnUcwk.sendMessageString(
				FUW00957SFConst.KAISEN_PLACE_OAZTSU_NM_01, X31CWebConst.DATABEAN_GET_VALUE));
		// WEB新規情報.利用場所情報.丁目・番地等
		riyobashoInfoBean.sendMessageString(CommonInfoCFConst.USEPLACE_CHO_BNCHI_08, X31CWebConst.DATABEAN_SET_VALUE, svcKsnUcwk.sendMessageString(
				FUW00957SFConst.KAISEN_PLACE_AZCHO_NM_01, X31CWebConst.DATABEAN_GET_VALUE)
				+ svcKsnUcwk.sendMessageString(FUW00957SFConst.KAISEN_PLACE_BNCHIGO_01, X31CWebConst.DATABEAN_GET_VALUE));
		// WEB新規情報.利用場所情報.建物名
		riyobashoInfoBean.sendMessageString(CommonInfoCFConst.USEPLACE_TTM_08, X31CWebConst.DATABEAN_SET_VALUE, svcKsnUcwk.sendMessageString(
				FUW00957SFConst.KAISEN_PLACE_ADRTTM_01, X31CWebConst.DATABEAN_GET_VALUE));
		// WEB新規情報.利用場所情報.部屋番号
		riyobashoInfoBean.sendMessageString(CommonInfoCFConst.USEPLACE_RRM_08, X31CWebConst.DATABEAN_SET_VALUE, svcKsnUcwk.sendMessageString(
				FUW00957SFConst.KAISEN_PLACE_ADRRM_01, X31CWebConst.DATABEAN_GET_VALUE));

		// ---------------------------------------------------------------------
		// 電話番号を（１）〜（３）の3フィールドに分割して格納する必要があるが、
		// 番号形態により分割位置が異なる為、定型的な分割では対応できない。
		// →対応方法を検討する必要あり。現状は分割せずに（１）に格納する。
		// ---------------------------------------------------------------------
		// WEB新規情報.利用場所情報.電話番号（１）
		riyobashoInfoBean.sendMessageString(CommonInfoCFConst.USEPLACE_TELNO1_08, X31CWebConst.DATABEAN_SET_VALUE, svcKsnUcwk.sendMessageString(
				FUW00957SFConst.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);
		webNewInfoBean.sendMessageString(CommonInfoCFConst.KAISEN_SELECT_06, 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(
					FUW00957SFConst.AD_FORM_CD_01, X31CWebConst.DATABEAN_GET_VALUE));
		}
		// WEB新規情報.申込回線サービスがマンションタイプの場合
		else if (JFUStrConst.MSKM_KSN_SVC_MANSION.equals(webNewInfoBean.sendMessageString(CommonInfoCFConst.MSKM_KSN_SVC_06,
				X31CWebConst.DATABEAN_GET_VALUE)))
		{
			X31SDataBeanAccess serviceMansionInfoBean = svcKsnUcwk.getDataBeanArray(FUW00957SFConst.MANSION_INFO_LIST).getDataBean(0);
			// サービスフォームBean.マンション一覧よりサービス申込可能フラグの設定を行う。
			this.setSvcMskmKanouFlg(commonInfoBean, serviceMansionInfoBean);

			// その他情報の設定
			this.setElseInfo(commonInfoBean, serviceMansionInfoBean);

			// マンション割引情報の設定
			this.callFUSV326Service(commonInfoBean, serviceMansionInfoBean);

			// 引継情報の設定
			this.setTransferInfo(commonInfoBean, serviceMansionInfoBean);
		}

		// 支払審査結果設定
		webNewInfoBean.sendMessageString(CommonInfoCFConst.PAY_SKEKKA_06, X31CWebConst.DATABEAN_SET_VALUE,
				svcKsnUcwk.sendMessageString(FUW00957SFConst.PAY_SKEKKA_01, X31CWebConst.DATABEAN_GET_VALUE));

		// 電気ボタン表示ステータス
		boolean isNetMskm =
				MSKM_KA.equals(svcKsnUcwk.sendMessageString(FUW00957SFConst.NET_ADD_MSKM_KH_01, X31CWebConst.DATABEAN_GET_VALUE))
						&& SVKEI_BTN_MSKM.equals(svcKsnUcwk.sendMessageString(FUW00957SFConst.LABEL_DSP_NET_01, X31CWebConst.DATABEAN_GET_VALUE));
		boolean isTelMskm =
				MSKM_KA.equals(svcKsnUcwk.sendMessageString(FUW00957SFConst.TEL_ADD_MSKM_KH_01, X31CWebConst.DATABEAN_GET_VALUE))
						&& SVKEI_BTN_MSKM.equals(svcKsnUcwk.sendMessageString(FUW00957SFConst.LABEL_DSP_TEL_01, X31CWebConst.DATABEAN_GET_VALUE));
		boolean isTvMskm =
				MSKM_KA.equals(svcKsnUcwk.sendMessageString(FUW00957SFConst.TV_ADD_MSKM_KH_01, X31CWebConst.DATABEAN_GET_VALUE))
						&& SVKEI_BTN_MSKM.equals(svcKsnUcwk.sendMessageString(FUW00957SFConst.LABEL_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(FUW00957SFConst.LABEL_DSP_ELEC_01, X31CWebConst.DATABEAN_GET_VALUE));
		}

		// -------------------------------------------------
		// 遷移先画面ID、画面名の設定
		// -------------------------------------------------
		// サービス選択画面に遷移
		commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JFUScreenConst.SCREEN_ID_FUW00911);
		commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JFUScreenConst.SCREEN_NAME_FUW00911);
		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(FUW00957SFConst.MANSION_BUKKEN_CD_02, X31CWebConst.DATABEAN_GET_VALUE);

		// 加入契約申込条件コード	knykei_mskm_joken_cd
		String knykeiMskmJokenCd = serviceMansionInfoBean.sendMessageString(FUW00957SFConst.KNYKEI_MSKM_JOKEN_CD_02, X31CWebConst.DATABEAN_GET_VALUE);

		// 加入契約ネット10G申込可否	knykei_net_10g_mskm_kh
		String knykeiNet10gMskmKh =
				serviceMansionInfoBean.sendMessageString(FUW00957SFConst.KNYKEI_NET_10G_MSKM_KH_02, X31CWebConst.DATABEAN_GET_VALUE);

		// 加入契約ネット1G申込可否		knykei_net_1g_mskm_kh
		String knykeiNet1gMskmKh =
				serviceMansionInfoBean.sendMessageString(FUW00957SFConst.KNYKEI_NET_1G_MSKM_KH_02, X31CWebConst.DATABEAN_GET_VALUE);

		// 加入契約ネット200M申込可否	knykei_net_200m_mskm_kh
		String knykeiNet200mMskmKh =
				serviceMansionInfoBean.sendMessageString(FUW00957SFConst.KNYKEI_NET_200M_MSKM_KH_02, X31CWebConst.DATABEAN_GET_VALUE);

		// 加入契約ネット100M申込可否	knykei_net_100m_mskm_kh
		String knykeiNet100mMskmKh =
				serviceMansionInfoBean.sendMessageString(FUW00957SFConst.KNYKEI_NET_100M_MSKM_KH_02, X31CWebConst.DATABEAN_GET_VALUE);

		// メゾン光テレビ提供コード	maison_hikari_tv_tk_cd
		String maisonHikariTvTkCd =
				serviceMansionInfoBean.sendMessageString(FUW00957SFConst.MAISON_HIKARI_TV_TK_CD_02, X31CWebConst.DATABEAN_GET_VALUE);

		// 光テレビ提供状況コード	hikari_tv_tk_jokyo_cd
		String hikariTvTkJokyoCd =
				serviceMansionInfoBean.sendMessageString(FUW00957SFConst.HIKARI_TV_TK_JOKYO_CD_02, X31CWebConst.DATABEAN_GET_VALUE);

		// 光電話提供コード		hikari_tel_tk_cd
		String hikariTelTkCd = serviceMansionInfoBean.sendMessageString(FUW00957SFConst.HIKARI_TEL_TK_CD_02, X31CWebConst.DATABEAN_GET_VALUE);

		// 提供方式コード	tk_hoshiki_cd
		String tkHoshikiCd = serviceMansionInfoBean.sendMessageString(FUW00957SFConst.TK_HOSHIKI_CD_02, X31CWebConst.DATABEAN_GET_VALUE);

		// ペアＩＤ		pairid
		String pairid = serviceMansionInfoBean.sendMessageString(FUW00957SFConst.PAIRID_02, X31CWebConst.DATABEAN_GET_VALUE);

		// 棟内速度コード	tonai_speed_cd
		String tonaiSpeedCd = serviceMansionInfoBean.sendMessageString(FUW00957SFConst.TONAI_SPEED_CD_02, X31CWebConst.DATABEAN_GET_VALUE);
		
		// マンション物件コードが"001"マンションの場合
		if (JFUStrConst.MANSION_BUKKEN_CD_MF.equals(mansionBukkenCd))
		{
			// ネット申込可否とコースの判定を行う	
			Map<String, String> mskmKanouFlgMap = this.getNetMskmKhHnti001(tonaiSpeedCd, tkHoshikiCd, pairid, knykeiMskmJokenCd);

			// 共有フォームBean.マンション情報の値を設定する。
			// １Ｇ申込可能フラグ
			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_10g	加入契約ネット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);
			}
		}

		// 従量制申込可能フラグの設定を行う（マンション・メゾン共通処理）
		String eohntJuryoPlanMkmKh =
				serviceMansionInfoBean.sendMessageString(FUW00957SFConst.EOHNT_JURYO_PLAN_MKM_KH_02, 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);
		}

		// 契約付加（レンタル）コード
		mansionInfoBean.sendMessageString(CommonInfoCFConst.KEI_HUKA_RENT_CD_16, X31CWebConst.DATABEAN_SET_VALUE, serviceMansionInfoBean
				.sendMessageString(FUW00957SFConst.KEI_HUKA_RENT_CD_02, X31CWebConst.DATABEAN_GET_VALUE));

		// 契約付加（買取）コード
		mansionInfoBean.sendMessageString(CommonInfoCFConst.KEI_HUKA_KAITORI_CD_16, X31CWebConst.DATABEAN_SET_VALUE, serviceMansionInfoBean
				.sendMessageString(FUW00957SFConst.KEI_HUKA_KAITORI_CD_02, X31CWebConst.DATABEAN_GET_VALUE));

		// マンション接続機器コード
		mansionInfoBean.sendMessageString(CommonInfoCFConst.MCNTKK_CD_16, X31CWebConst.DATABEAN_SET_VALUE, serviceMansionInfoBean
				.sendMessageString(FUW00957SFConst.MCNTKK_CD_02, X31CWebConst.DATABEAN_GET_VALUE));

		// マンション接続機器型式コード
		mansionInfoBean.sendMessageString(CommonInfoCFConst.MCNTKK_MODEL_CD_16, X31CWebConst.DATABEAN_SET_VALUE, serviceMansionInfoBean
				.sendMessageString(FUW00957SFConst.MCNTKK_MODEL_CD_02, 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(FUW00957SFConst.MANSION_BUKKEN_CD_02, X31CWebConst.DATABEAN_GET_VALUE);
		//マンション価格帯コード							mansion_kakakutai_cd
		String mansionKakakutaiCd =
				serviceMansionInfoBean.sendMessageString(FUW00957SFConst.MANSION_KAKAKUTAI_CD_02, X31CWebConst.DATABEAN_GET_VALUE);

		// 宅内特殊配線有料工事コードを取得
		String takniTokuhsenYrkojiCd =
				serviceMansionInfoBean.sendMessageString(FUW00957SFConst.TAKNI_TOKUHSEN_YRKOJI_CD_02, X31CWebConst.DATABEAN_GET_VALUE);

		//提供方式コード							tk_hoshiki_cd
		String tkHoshikiCd = serviceMansionInfoBean.sendMessageString(FUW00957SFConst.TK_HOSHIKI_CD_02, X31CWebConst.DATABEAN_GET_VALUE);
		//提供料金種別コード							tk_prc_sbt_cd
		String tkPrcSbtCd = serviceMansionInfoBean.sendMessageString(FUW00957SFConst.TK_PRC_SBT_CD_02, X31CWebConst.DATABEAN_GET_VALUE);

		// P-ID
		String pId = serviceMansionInfoBean.sendMessageString(FUW00957SFConst.PID_02, X31CWebConst.DATABEAN_GET_VALUE);

		// 回線使用契約物件名
		String mansionName = serviceMansionInfoBean.sendMessageString(FUW00957SFConst.KISNUSEKEI_BKN_NM_02, 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(FUW00957SFConst.KAISEN_PLACE_RENBAN_02, 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))
		{
			// 申込マンションタイプ設定
			webNewInfoBean.sendMessageString(CommonInfoCFConst.MSKM_MNS_TYPE_06, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.MSKM_MNS_TYPE_MANSION);

			// 低価格マンションフラグを設定する。
			// マンション価格帯コードが"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(FUW00957SFConst.TK_HOSHIKI_PATTERN_CD_02, X31CWebConst.DATABEAN_GET_VALUE);
			String tonai_speed_cd = serviceMansionInfoBean.sendMessageString(FUW00957SFConst.TONAI_SPEED_CD_02, X31CWebConst.DATABEAN_GET_VALUE);
			String hhs_1gonly_flg = serviceMansionInfoBean.sendMessageString(FUW00957SFConst.HHS_1GONLY_FLG_02, X31CWebConst.DATABEAN_GET_VALUE);
			String pay_hoshiki_cd = serviceMansionInfoBean.sendMessageString(FUW00957SFConst.PAY_HOSHIKI_CD_02, 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(FUW00957SFConst.KISNUSEKEI_BKN_PCD_02, 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(
				FUW00957SFConst.KISNUSEKEI_BKN_NM_02, X31CWebConst.DATABEAN_GET_VALUE));

		// マンション物件番号	mansion_no	サービスフォームBean.マンション一覧.マンション物件番号
		mansionInfoBean.sendMessageString(CommonInfoCFConst.MANSION_NO_16, X31CWebConst.DATABEAN_SET_VALUE, serviceMansionInfoBean.sendMessageString(
				FUW00957SFConst.MANSION_BUKKEN_NO_02, X31CWebConst.DATABEAN_GET_VALUE));

		// 支払方式コード	payway_cd	サービスフォームBean.マンション一覧.支払方式コード
		mansionInfoBean.sendMessageString(CommonInfoCFConst.PAYWAY_CD_16, X31CWebConst.DATABEAN_SET_VALUE, serviceMansionInfoBean.sendMessageString(
				FUW00957SFConst.PAY_HOSHIKI_CD_02, X31CWebConst.DATABEAN_GET_VALUE));

		// 標準サービス開始日数		stdard_svc_sta_nisu		サービスフォームBean.マンション一覧.標準サービス開始日数
		mansionInfoBean.sendMessageString(CommonInfoCFConst.STDARD_SVC_STA_NISU_16, X31CWebConst.DATABEAN_SET_VALUE, serviceMansionInfoBean
				.sendMessageString(FUW00957SFConst.STDARD_SVC_STA_NISU_02, X31CWebConst.DATABEAN_GET_VALUE));

		// マンション物件住所コード		mansion_bukken_ad_cd	サービスフォームBean.マンション一覧.回線使用契約物件住所コード
		mansionInfoBean.sendMessageString(CommonInfoCFConst.MANSION_BUKKEN_AD_CD_16, X31CWebConst.DATABEAN_SET_VALUE, serviceMansionInfoBean
				.sendMessageString(FUW00957SFConst.KISNUSEKEI_BKN_AD_CD_02, X31CWebConst.DATABEAN_GET_VALUE));

		// マンション物件字丁目名	mansion_bukken_azcho_nm		サービスフォームBean.マンション一覧.回線使用物件字丁名
		mansionInfoBean.sendMessageString(CommonInfoCFConst.MANSION_BUKKEN_AZCHO_NM_16, X31CWebConst.DATABEAN_SET_VALUE, serviceMansionInfoBean
				.sendMessageString(FUW00957SFConst.KISNUSEKEI_BKN_AZCHO_NM_02, X31CWebConst.DATABEAN_GET_VALUE));

		// 加入契約申込条件コード	knykei_mskm_joken_cd	サービスフォームBean.マンション一覧.加入契約申込条件コード
		mansionInfoBean.sendMessageString(CommonInfoCFConst.KNYKEI_MSKM_JOKEN_CD_16, X31CWebConst.DATABEAN_SET_VALUE, serviceMansionInfoBean
				.sendMessageString(FUW00957SFConst.KNYKEI_MSKM_JOKEN_CD_02, X31CWebConst.DATABEAN_GET_VALUE));

		// マンションID		mansion_id		サービスフォームBean.マンション一覧.マンションＩＤ
		String mansionId = serviceMansionInfoBean.sendMessageString(FUW00957SFConst.MANSION_ID_02, 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(FUW00957SFConst.MANSION_OWNR_ID_02, X31CWebConst.DATABEAN_GET_VALUE));

		// 回線使用契約番号		kaisen_use_kei_no	サービスフォームBean.マンション一覧.回線使用契約番号
		mansionInfoBean.sendMessageString(CommonInfoCFConst.KAISEN_USE_KEI_NO_16, X31CWebConst.DATABEAN_SET_VALUE, serviceMansionInfoBean
				.sendMessageString(FUW00957SFConst.NET_KAISEN_USE_KEI_NO_02, 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(FUW00957SFConst.TV_KAISEN_USE_KEI_NO_02, X31CWebConst.DATABEAN_GET_VALUE));

		// 提供方式契約番号		tk_hoshiki_kei_no	サービスフォームBean.マンション一覧.提供方式契約番号
		mansionInfoBean.sendMessageString(CommonInfoCFConst.TK_HOSHIKI_KEI_NO_16, X31CWebConst.DATABEAN_SET_VALUE, serviceMansionInfoBean
				.sendMessageString(FUW00957SFConst.NET_TK_HOSHIKI_KEI_NO_02, X31CWebConst.DATABEAN_GET_VALUE));

		// 提供方式契約番号（ＴＶ）		_tvtk_hoshiki_kei_no	サービスフォームBean.マンション一覧.提供方式契約番号（ＴＶ）
		mansionInfoBean.sendMessageString(CommonInfoCFConst.TV_TK_HOSHIKI_KEI_NO_16, X31CWebConst.DATABEAN_SET_VALUE, serviceMansionInfoBean
				.sendMessageString(FUW00957SFConst.TV_TK_HOSHIKI_KEI_NO_02, X31CWebConst.DATABEAN_GET_VALUE));

		// オーナー契約番号		ownr_kei_no		サービスフォームBean.マンション一覧.オーナー契約番号
		mansionInfoBean.sendMessageString(CommonInfoCFConst.OWNR_KEI_NO_16, X31CWebConst.DATABEAN_SET_VALUE, serviceMansionInfoBean
				.sendMessageString(FUW00957SFConst.OWNR_KEI_NO_02, X31CWebConst.DATABEAN_GET_VALUE));

		// マンション物件コード							mansion_bukken_cd						サービスフォームBean.マンション一覧.マンション物件コード
		mansionInfoBean.sendMessageString(CommonInfoCFConst.MANSION_BUKKEN_CD_16, X31CWebConst.DATABEAN_SET_VALUE, serviceMansionInfoBean
				.sendMessageString(FUW00957SFConst.MANSION_BUKKEN_CD_02, X31CWebConst.DATABEAN_GET_VALUE));

		// 物件管理番号		bkn_knri_no		サービスフォームBean.マンション一覧.物件管理番号
		mansionInfoBean.sendMessageString(CommonInfoCFConst.BKN_KNRI_NO_16, X31CWebConst.DATABEAN_SET_VALUE, serviceMansionInfoBean
				.sendMessageString(FUW00957SFConst.BKN_KNRI_NO_02, X31CWebConst.DATABEAN_GET_VALUE));

		// ペアＩＤ		pairid	サービスフォームBean.マンション一覧.ペアＩＤ
		mansionInfoBean.sendMessageString(CommonInfoCFConst.PAIRID_16, X31CWebConst.DATABEAN_SET_VALUE, serviceMansionInfoBean.sendMessageString(
				FUW00957SFConst.PAIRID_02, X31CWebConst.DATABEAN_GET_VALUE));

		// ＣＡＴ−ＩＤ		catid	サービスフォームBean.マンション一覧.ＣＡＴ−ＩＤ
		mansionInfoBean.sendMessageString(CommonInfoCFConst.CATID_16, X31CWebConst.DATABEAN_SET_VALUE, serviceMansionInfoBean.sendMessageString(
				FUW00957SFConst.CATID_02, X31CWebConst.DATABEAN_GET_VALUE));

		// 棟内速度コード	tonai_speed_cd		サービスフォームBean.マンション一覧.棟内速度コード
		mansionInfoBean.sendMessageString(CommonInfoCFConst.TONAI_SPEED_CD_16, X31CWebConst.DATABEAN_SET_VALUE, serviceMansionInfoBean
				.sendMessageString(FUW00957SFConst.TONAI_SPEED_CD_02, 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(FUW00957SFConst.HIKARI_TV_TK_JOKYO_CD_02, 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(FUW00957SFConst.MAISON_HIKARI_TV_TK_CD_02, X31CWebConst.DATABEAN_GET_VALUE));

		// 光電話提供コード	hikari_tel_tk_cd	サービスフォームBean.マンション一覧.光電話提供コード
		mansionInfoBean.sendMessageString(CommonInfoCFConst.HIKARI_TEL_TK_CD_16, X31CWebConst.DATABEAN_SET_VALUE, serviceMansionInfoBean
				.sendMessageString(FUW00957SFConst.HIKARI_TEL_TK_CD_02, X31CWebConst.DATABEAN_GET_VALUE));

		// マンション価格帯コード	mansion_kakakutai_cd	サービスフォームBean.マンション一覧.マンション価格帯コード
		mansionInfoBean.sendMessageString(CommonInfoCFConst.MANSION_KAKAKUTAI_CD_16, X31CWebConst.DATABEAN_SET_VALUE, serviceMansionInfoBean
				.sendMessageString(FUW00957SFConst.MANSION_KAKAKUTAI_CD_02, X31CWebConst.DATABEAN_GET_VALUE));

		// 宅内特殊配線有料工事コード	takni_tokuhsen_yrkoji_cd	サービスフォームBean.マンション一覧.宅内特殊配線有料工事コード
		mansionInfoBean.sendMessageString(CommonInfoCFConst.TAKNI_TOKUHSEN_YRKOJI_CD_16, X31CWebConst.DATABEAN_SET_VALUE, serviceMansionInfoBean
				.sendMessageString(FUW00957SFConst.TAKNI_TOKUHSEN_YRKOJI_CD_02, X31CWebConst.DATABEAN_GET_VALUE));

		// 提供方式コード	teikyo_hoshiki_cd	サービスフォームBean.マンション一覧.提供方式コード
		mansionInfoBean.sendMessageString(CommonInfoCFConst.TEIKYO_HOSHIKI_CD_16, X31CWebConst.DATABEAN_SET_VALUE, serviceMansionInfoBean
				.sendMessageString(FUW00957SFConst.TK_HOSHIKI_CD_02, X31CWebConst.DATABEAN_GET_VALUE));

		// 提供料金種別コード	tk_prc_sbt_cd	サービスフォームBean.マンション一覧.提供料金種別コード
		mansionInfoBean.sendMessageString(CommonInfoCFConst.TK_PRC_SBT_CD_16, X31CWebConst.DATABEAN_SET_VALUE, serviceMansionInfoBean
				.sendMessageString(FUW00957SFConst.TK_PRC_SBT_CD_02, X31CWebConst.DATABEAN_GET_VALUE));

		// 検索・府県
		mansionInfoBean.sendMessageString(CommonInfoCFConst.SEARCH_STATE_16, X31CWebConst.DATABEAN_SET_VALUE, serviceMansionInfoBean
				.sendMessageString(FUW00957SFConst.KISNUSEKEI_BKN_STATE_NM_02, X31CWebConst.DATABEAN_GET_VALUE));

		// 検索・市区町村
		mansionInfoBean.sendMessageString(CommonInfoCFConst.SEARCH_CITY_16, X31CWebConst.DATABEAN_SET_VALUE, serviceMansionInfoBean
				.sendMessageString(FUW00957SFConst.KISNUSEKEI_BKN_CITY_NM_02, X31CWebConst.DATABEAN_GET_VALUE));

		// 検索・町域
		mansionInfoBean.sendMessageString(CommonInfoCFConst.SEARCH_AZA_16, X31CWebConst.DATABEAN_SET_VALUE, serviceMansionInfoBean.sendMessageString(
				FUW00957SFConst.KISNUSEKEI_BKN_OAZTSU_NM_02, X31CWebConst.DATABEAN_GET_VALUE));

		// マンション物件字丁目名
		mansionInfoBean.sendMessageString(CommonInfoCFConst.MANSION_BUKKEN_AZCHO_NM_16, X31CWebConst.DATABEAN_SET_VALUE, serviceMansionInfoBean
				.sendMessageString(FUW00957SFConst.KISNUSEKEI_BKN_AZCHO_NM_02, X31CWebConst.DATABEAN_GET_VALUE));

		// 起点変電所コード
		mansionInfoBean.sendMessageString(CommonInfoCFConst.KITEN_HDSHO_CD_16, X31CWebConst.DATABEAN_SET_VALUE, serviceMansionInfoBean
				.sendMessageString(FUW00957SFConst.KITEN_HDSHO_CD_02, X31CWebConst.DATABEAN_GET_VALUE));

		// 集約局コード
		mansionInfoBean.sendMessageString(CommonInfoCFConst.SHYAKK_CD_16, X31CWebConst.DATABEAN_SET_VALUE, serviceMansionInfoBean.sendMessageString(
				FUW00957SFConst.SHYAKK_CD_02, X31CWebConst.DATABEAN_GET_VALUE));

		// マンション割引サービス契約番号（ＮＥＴ）
		String[] net_wrib_svc_kei_no_list =
				serviceMansionInfoBean.sendMessageString(FUW00957SFConst.NET_MANSION_WRIB_SVC_KEI_NO_02, 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(FUW00957SFConst.NET_MANS_CAMPAIGN_CD_02, 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(FUW00957SFConst.TV_MANSION_WRIB_SVC_KEI_NO_02, 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(FUW00957SFConst.TV_MANS_CAMPAIGN_CD_02, 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]);
			}
		}

		// 資料請求フラグ
		mansionInfoBean.sendMessageString(CommonInfoCFConst.SIRYO_SEIKY_FLG_16, X31CWebConst.DATABEAN_SET_VALUE, serviceMansionInfoBean
				.sendMessageString(FUW00957SFConst.SIRYO_SEIKY_FLG_02, X31CWebConst.DATABEAN_GET_VALUE));

		// ｅｏ光ネット従量プラン申込可否
		mansionInfoBean.sendMessageString(CommonInfoCFConst.EOHNT_JURYO_PLAN_MKM_KH_16, X31CWebConst.DATABEAN_SET_VALUE, serviceMansionInfoBean
				.sendMessageString(FUW00957SFConst.EOHNT_JURYO_PLAN_MKM_KH_02, X31CWebConst.DATABEAN_GET_VALUE));

		// サービス開始年月日
		mansionInfoBean.sendMessageString(CommonInfoCFConst.SVC_STA_YMD_16, X31CWebConst.DATABEAN_SET_VALUE, serviceMansionInfoBean
				.sendMessageString(FUW00957SFConst.SVC_STA_YMD_02, X31CWebConst.DATABEAN_GET_VALUE));

		// サービス開始予定年月日
		mansionInfoBean.sendMessageString(CommonInfoCFConst.SVC_STA_RSV_YMD_16, X31CWebConst.DATABEAN_SET_VALUE, serviceMansionInfoBean
				.sendMessageString(FUW00957SFConst.SVC_STA_RSV_YMD_02, X31CWebConst.DATABEAN_GET_VALUE));

		// アクセス回線速度コード
		mansionInfoBean.sendMessageString(CommonInfoCFConst.ACCSS_KISN_SPEED_CD_16, X31CWebConst.DATABEAN_SET_VALUE, serviceMansionInfoBean
				.sendMessageString(FUW00957SFConst.ACCSS_KISN_SPEED_CD_02, X31CWebConst.DATABEAN_GET_VALUE));

		// 光配線１Ｇのみフラグ
		mansionInfoBean.sendMessageString(CommonInfoCFConst.HHS_1GONLY_FLG_16, X31CWebConst.DATABEAN_SET_VALUE, serviceMansionInfoBean
				.sendMessageString(FUW00957SFConst.HHS_1GONLY_FLG_02, X31CWebConst.DATABEAN_GET_VALUE));

		// イーサ他社併行フラグ
		mansionInfoBean.sendMessageString(CommonInfoCFConst.ETHER_TASHAHEIKO_FLG_16, X31CWebConst.DATABEAN_SET_VALUE, serviceMansionInfoBean
				.sendMessageString(FUW00957SFConst.ETHER_TASHAHEIKO_FLG_02, X31CWebConst.DATABEAN_GET_VALUE));

		// 工事種別
		mansionInfoBean.sendMessageString(CommonInfoCFConst.KOJI_SBT_16, X31CWebConst.DATABEAN_SET_VALUE, serviceMansionInfoBean
				.sendMessageString(FUW00957SFConst.KOJI_SBT_02, X31CWebConst.DATABEAN_GET_VALUE));

	}

	/**
	 * サービスフォーム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(FUW00957SFConst.SELECTED_KSN_UCWK_INDEX, X31CWebConst.DATABEAN_GET_VALUE).intValue();

		// 作業用
		X31SDataBeanAccessArray beanArray = null;
		X31SDataBeanAccess bean = null;

		switch (flg)
		{
			case 1:
				// 固定回線
				// サービス契約回線内訳リスト
				X31SDataBeanAccessArray svkeiKaisenUwList = serviceFormBean.getDataBeanArray(FUW00957SFConst.SVKEI_KAISEN_UW_LIST);
				X31SDataBeanAccess svkeiKaisenUwBean = svkeiKaisenUwList.getDataBean(index);
				// 契約中サービス（ネット）
				String nowSvcNet = svkeiKaisenUwBean.sendMessageString(FUW00957SFConst.NOW_SVC_NET_01, X31CWebConst.DATABEAN_GET_VALUE);
				// 契約中サービス（電話）
				String nowSvcTel = svkeiKaisenUwBean.sendMessageString(FUW00957SFConst.NOW_SVC_TEL_01, X31CWebConst.DATABEAN_GET_VALUE);
				// 契約中サービス（テレビ）
				String nowSvcTv = svkeiKaisenUwBean.sendMessageString(FUW00957SFConst.NOW_SVC_TV_01, X31CWebConst.DATABEAN_GET_VALUE);

				if (JFUStrConst.NOW_SVC_NET_KEI_CHU.equals(nowSvcNet))
				{
					// サービス契約ネットリスト
					X31SDataBeanAccess svc_kei_net_bean = svkeiKaisenUwBean.getDataBeanArray(FUW00957SFConst.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(
							FUW00957SFConst.SVC_KEI_NO_04, X31CWebConst.DATABEAN_GET_VALUE));
				}
				if (JFUStrConst.NOW_SVC_TEL_KEI_CHU.equals(nowSvcTel))
				{
					// サービス契約電話リスト
					X31SDataBeanAccess svc_kei_tel_bean = svkeiKaisenUwBean.getDataBeanArray(FUW00957SFConst.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(
							FUW00957SFConst.SVC_KEI_NO_05, X31CWebConst.DATABEAN_GET_VALUE));
				}

				if (JFUStrConst.NOW_SVC_TV_KEI_CHU.equals(nowSvcTv))
				{
					// サービス契約テレビリスト
					X31SDataBeanAccess svc_kei_tv_bean = svkeiKaisenUwBean.getDataBeanArray(FUW00957SFConst.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(
							FUW00957SFConst.SVC_KEI_NO_05, 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 加入契約申込条件コード
	 * @return ネット申込可否
	 */
	private Map<String, String> getNetMskmKhHnti001(String tonaiSpeedCd, String tkHoshikiCd, String pairid, String knykeiMskmJokenCd)
	{
		HashMap<String, String> mskmKanouFlgMap = new HashMap<String, String>();

		// 申込不可を初期値で設定する。
		// 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))
		{
			// 棟内速度コード 006(100M/100M),007(1G/1G)の場合
			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 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>
	 * @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;
	}

	/**
	 * FUSV0326_マンション割引情報取得(量販・訪販)サービスを呼び出す。
	 * 
	 * <br>
	 * @param commonInfoBean 共有フォームBean
	 * @param serviceInfoBean サービスフォームBean
	 */
	@SuppressWarnings("unchecked")
	private void callFUSV326Service(X31SDataBeanAccess commonInfoBean, X31SDataBeanAccess serviceInfoBean)
	{
		// サービス呼び出し設定
		Map<String, String> paramMap = new HashMap<String, String>();
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, USECASE_ID_FUSV0326);

		// DataBean-BPマッピング
		FUSV0326_FUSV0326OPDBMapper mapper = new FUSV0326_FUSV0326OPDBMapper();

		HashMap inputMap = new HashMap();
		HashMap outputMap = new HashMap();

		X31SDataBeanAccess[] paramBean = { serviceInfoBean, commonInfoBean };

		// 割引サービスコード検索CC上りマッピング
		mapper.setFUSV032601CC(paramBean, inputMap, JPCModelConstant.FUNC_CD_1);
		mapper.setFUSV032602CC(paramBean, inputMap, JPCModelConstant.FUNC_CD_1);

		try
		{
			// サービス呼び出し
			invokeService(paramMap, inputMap, outputMap);
		}
		catch (JCCWebServiceException se)
		{
			// システムエラー
			throw new JCCBusinessException(JFUStrConst.ERROR_CODE_0002);
		}

		// 割引サービスコード検索CC下りマッピング
		mapper.getFUSV032601CC(paramBean, outputMap);
		mapper.getFUSV032602CcSvcAdd(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);
		}

		// サービス契約申込情報取得CC下りマッピング
		mapper.getFUSV027101CC(paramBeanArray, outputMap);
		mapper.getFUSV027101CCKaisenKiki(paramBeanArray, outputMap);
		mapper.getFUSV027102CC(paramBeanArray, outputMap);
		mapper.getFUSV027103CC(paramBeanArray, outputMap);
	}

	/**
	 * 値が設定されているか判定する
	 * <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;
	}

	/**
	 * 電気単独契約のサービス追加申し込みボタン押下処理
	 * <br/>
	 * @return 処理結果
	 */
	public boolean eohSvcAddElecOnly()
	{
		// 共有フォーム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);

		// WEB新規情報.契約サービス情報取得
		X31SDataBeanAccessArray webnewBeanArr = webNewInfoBean.getDataBeanArray(CommonInfoCFConst.KEIYAKU_SVC_INFO);
		if (webnewBeanArr.getDataBean(0) == null)
		{
			webnewBeanArr.addDataBean();
		}
		X31SDataBeanAccess keiyakuSvcInfoBean = webnewBeanArr.getDataBean(0);

		// 回線場所選択を設定する。
		elseInfoBean.sendMessageString(CommonInfoCFConst.KAISEN_SELECT_18, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.KAISEN_SELECT_ADD_NEW_PLACE);
		webNewInfoBean.sendMessageString(CommonInfoCFConst.KAISEN_SELECT_06, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.KAISEN_SELECT_ADD_NEW_PLACE);

		// WEB新規情報.画面遷移モード："0"(通常遷移)
		webNewInfoBean.sendMessageString(CommonInfoCFConst.SCREEN_MODE_06, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.SCREEN_MODE_DEF);

		// -------------------------------------------------
		// 画面上でボタン押下された回線内訳情報の取得
		// -------------------------------------------------
		// 選択回線内訳インデックスを取得
		int index = serviceFormBean.sendMessageLong(FUW00957SFConst.SELECTED_KSN_UCWK_INDEX, X31CWebConst.DATABEAN_GET_VALUE).intValue();
		// サービスフォームBean.サービス契約回線内訳明細リスト取得
		X31SDataBeanAccessArray svcKsnUcwkList = serviceFormBean.getDataBeanArray(FUW00957SFConst.SVKEI_KAISEN_UW_LIST);
		// 選択されたサービス契約回線内訳明細を取得
		X31SDataBeanAccess svcKsnUcwk = svcKsnUcwkList.getDataBean(index);

		// eo電気のサービス契約リストを取得する。
		X31SDataBeanAccessArray svcKeiElecList = svcKsnUcwk.getDataBeanArray(FUW00957SFConst.SVC_KEI_ELEC_LIST);
		X31SDataBeanAccess svcKeiElec = svcKeiElecList.getDataBean(0);

		// eo電気のサービス契約番号を設定する。
		String svcKeiNoElec = svcKeiElec.sendMessageString(FUW00957SFConst.SVC_KEI_NO_08, 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(
				FUW00957SFConst.LABEL_DSP_ELEC_01, X31CWebConst.DATABEAN_GET_VALUE));

		// WEB新規情報.契約サービス情報.契約中サービス（電気）
		keiyakuSvcInfoBean.sendMessageString(CommonInfoCFConst.NOW_SVC_DENKI_10, X31CWebConst.DATABEAN_SET_VALUE, svcKsnUcwk.sendMessageString(
				FUW00957SFConst.NOW_SVC_ELEC_01, X31CWebConst.DATABEAN_GET_VALUE));

		// 申込回線サービスが"1"(ホームタイプ)の場合
		if (JFUStrConst.MSKM_KSN_SVC_HOME.equals(mskmKsnSvc))
		{
			// ----------------------------------------------------
			// PASCOリダイレクト処理
			// ----------------------------------------------------
			// 回線場所郵便番号
			String pcd = svcKsnUcwk.sendMessageString(FUW00957SFConst.KAISEN_PLACE_PCD_01, X31CWebConst.DATABEAN_GET_VALUE);

			// ----------------------------------------------------
			// サービスフォームBeanに送信パラメータを設定
			// ----------------------------------------------------
			// セッションＩＤ sesid
			serviceFormBean.sendMessageString(FUW00957SFConst.SESID, X31CWebConst.DATABEAN_SET_VALUE, this.getSessionId());
			// 申込区分 appl_class
			serviceFormBean.sendMessageString(FUW00957SFConst.MSKM_KBN, X31CWebConst.DATABEAN_SET_VALUE, APPL_CLASS_ADD);
			// 仮申込サービス s
			serviceFormBean.sendMessageString(FUW00957SFConst.KRMSKM_SERVICE, X31CWebConst.DATABEAN_SET_VALUE, KARI_SVC_HOME);
			// 郵便番号 zip
			serviceFormBean.sendMessageString(FUW00957SFConst.ZIP, X31CWebConst.DATABEAN_SET_VALUE, pcd);
			// 代理店フラグ ind
			serviceFormBean.sendMessageString(FUW00957SFConst.IND, X31CWebConst.DATABEAN_SET_VALUE, AGENT_FLG_ON);
			// 遷移区分 trans_div
			serviceFormBean.sendMessageString(FUW00957SFConst.TRANS_DIV, X31CWebConst.DATABEAN_SET_VALUE, TRANS_HON);

			// 遷移先画面ＩＤにPASCOのosidを指定して他サイト連携
			commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, OSID_FUIFE001);
		}
		// 申込回線サービスが"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(FUW00957SFConst.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_FUW00910);
			// 遷移先画面名称
			commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JFUScreenConst.SCREEN_NAME_FUW00910);
		}

		return true;
	}

	/**
	 * 「新しい場所に回線、電気を追加する」ボタン押下処理
	 * @return true固定
	 * @throws Exception
	 */
	public boolean addLine() throws Exception
	{
		// 共有フォームBeanを取得する。
		X31SDataBeanAccess commonInfoBean = getCommonInfoBean();

		// 共有フォーム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);

		// 契約サービス情報
		X31SDataBeanAccessArray keiyakuSvcInfoBeanArray = webNewInfoBean.getDataBeanArray(CommonInfoCFConst.KEIYAKU_SVC_INFO);
		X31SDataBeanAccess keiyakuSvcInfoBean = keiyakuSvcInfoBeanArray.getDataBean(0);

		// 契約サービス情報 - 契約サービス（ネット）(1:契約中、0:未契約)
		keiyakuSvcInfoBean.sendMessageString(CommonInfoCFConst.NOW_SVC_NET_10, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
		// 契約サービス情報 - 契約サービス（電話）(1:契約中、0:未契約)
		keiyakuSvcInfoBean.sendMessageString(CommonInfoCFConst.NOW_SVC_TEL_10, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
		// 契約サービス情報 - 契約サービス（テレビ）(1:契約中、0:未契約)
		keiyakuSvcInfoBean.sendMessageString(CommonInfoCFConst.NOW_SVC_TV_10,  X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
		// 契約サービス情報 - 契約サービス（電気）(1:契約中、0:未契約)
		keiyakuSvcInfoBean.sendMessageString(CommonInfoCFConst.NOW_SVC_DENKI_10,  X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
		// 契約サービス情報 - サービス契約回線内訳番号
		keiyakuSvcInfoBean.sendMessageString(CommonInfoCFConst.SVC_KEI_KAISEN_UCWK_NO_10,  X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
		// ＷＥＢ新規情報 - ｅｏ電気ボタン表示ステータス
		webNewInfoBean.sendMessageString(CommonInfoCFConst.BTN_DSP_ELEC_STAT_06, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);

		// 画面遷移モードに"0"(通常遷移)を設定する。
		webNewInfoBean.sendMessageString(CommonInfoCFConst.SCREEN_MODE_06, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.SCREEN_MODE_DEF);

		// 回線場所選択を設定する。
		elseInfoBean.sendMessageString(CommonInfoCFConst.KAISEN_SELECT_18, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.KAISEN_SELECT_ADD_NEW_PLACE);
		webNewInfoBean.sendMessageString(CommonInfoCFConst.KAISEN_SELECT_06, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.KAISEN_SELECT_ADD_NEW_PLACE);

		// 申込回線サービスが"1"(ホームタイプ)の場合
		if (JFUStrConst.MSKM_KSN_SVC_HOME.equals(mskmKsnSvc))
		{
			// 遷移先画面ＩＤ
			commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JFUScreenConst.SCREEN_ID_FUW00906);
			// 遷移先画面名称
			commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JFUScreenConst.SCREEN_NAME_FUW00906);
		}
		// 申込回線サービスが"2"(マンションタイプ)の場合
		else if (JFUStrConst.MSKM_KSN_SVC_MANSION.equals(mskmKsnSvc))
		{
			// 遷移先画面ＩＤ
			commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JFUScreenConst.SCREEN_ID_FUW00907);
			// 遷移先画面名称
			commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JFUScreenConst.SCREEN_NAME_FUW00907);
		}

		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;
	}

// ANK-4427-43-00 ADD START
	/**
	 * NTT卸区分設定処理
	 *
	 * @param sysid SYSID
	 */
	private void setNttOrs(String sysid) throws Exception
	{
		// 共有フォームBeanを取得する。
		X31SDataBeanAccess commonInfoBean = getCommonInfoBean();

		// SYSID(既契約)が存在する場合、NTT卸区分を共有フォームBeanに設定する
		if (!JFUWebCommon.isNull(sysid))
		{
			// サービス検索条件格納用マップ
			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);

			// DataBean-BPマッピングクラス生成
			FUSV0023_FUSV0023OPDBMapper mapper = new FUSV0023_FUSV0023OPDBMapper();
			// 上りマッピング用パラメータ生成
			X31SDataBeanAccess[] beanArray = new X31SDataBeanAccess[] { commonInfoBean };

			// サービス契約一覧照会CC上りマッピング
			mapper.setJFUSearchSvkeiList01CC(beanArray, inputMap, JPCModelConstant.FUNC_CD_1, sysid);

			try
			{
				// サービス契約一覧照会CC呼び出し
				invokeService(paramMap, inputMap, outputMap);
			}
			catch (JCCWebServiceException se)
			{
				// 業務共通例外クラス："0002"（システムエラー）
				throw new JCCBusinessException(JFUStrConst.ERROR_CODE_0002);
			}

			// サービスフォームBeanを取得する。
			X31SDataBeanAccess serviceBean = getServiceFormBean();
			// 下りマッピング用パラメータ生成
			X31SDataBeanAccess[] beanArray2 = new X31SDataBeanAccess[] { serviceBean, commonInfoBean };
			// 下りマッピング
			mapper.getNttOrsDiv(beanArray2, outputMap);
		}
	}
// ANK-4427-43-00 ADD END
}
