/*********************************************************************
* All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*   システム名      ：eo顧客基幹システム
*   モジュール名    ：FUW00124SFLogic
*   ソースファイル名：FUW00124SFLogic.java
*   作成者          ：富士通
*   日付            ：2011年09月06日
*＜機能概要＞
*   eoモバイル機器送付先入力画面のビューロジックです。
*＜修正履歴＞
*   バージョン  修正日       修正者      修正内容
*   v1.00.00    2011/09/06   FJ）山名    新規作成
*	v4.00.00	2011/11/16   FJ) 橋本    【IT1-2012-0001699】機器送付先必須チェック追加
*   v4.01.00	2011/11/22   FJ) 大塚    【IT2-2012-0001790】
*   v4.02.00	2013/02/01   FJ) 齋藤    【IT2-2012-0001790】テレビ単独導線見直し対応
*   v10.00      2014/08/19   FJ) 岡井    【ANK-2218-00-00】フロントＳ画面遷移数削減対応(2)_確認画面対応
**********************************************************************/
package eo.web.webview.FUW00124SF;

import static com.fujitsu.futurity.web.x31.X31SWebLog.DEBUG_LOG;

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.X31CMessageResult;
import com.fujitsu.futurity.web.x31.X31CWebConst;
import com.fujitsu.futurity.web.x31.X31SDataBeanAccess;
import com.fujitsu.futurity.web.x31.X31SDataBeanAccessArray;
import com.fujitsu.futurity.web.x31.X31CMessageResult.X31CMessageMoreInfo;

import eo.common.constant.JFUStrConst;
import eo.common.constant.JPCModelConstant;
import eo.common.constant.JPCOnlineMessageConstant;
import eo.web.webview.JCCWebBusinessLogic;
import eo.web.webview.CommonInfoCF.CommonInfoCFConst;
import eo.web.webview.common.JFUScreenConst;
import eo.web.webview.common.JFUWebCommon;
import eo.web.webview.mapping.FUSV0163_FUSV0163OPDBMapper;

/**
 * 申込完了画面(FUW00124)のビューロジック
 * <BR>
 * @author 富士通
 */
@SuppressWarnings("serial")
public class FUW00124SFLogic extends JCCWebBusinessLogic
{
	/** プロパティファイル取得文字列 */
	private static final String QUERY_MOBILE_PATH = "DISPSETTING/SETTING[@screenId='FUW00124']/DISPTEXT[@groupid='title_name']";

	/** 属性名 */
	private static final String QUERY_ATTR_NAME = "id";

	/** screen_id */
	private static final String SCREEN_ID_FUW00124 = "FUW00124";

	/** 置換メッセージ（先頭） */
	private static final String CHENGE_MESSAGE_HEAD = "CHENGE_MESSAGE_HEAD";

	/** エラーメッセージグループパス */
	private static final String QUERY_ERR_MESSAGE_PATH = "DISPSETTING/SETTING[@screenId='FUW00124']/DISPTEXT[@groupid='ERR_MESSAGE']";

	/** 表示フラグセット：0:非表示 */
	private static final String SET_HYOUJI_FLG_HIDE = "0";

	/** 表示フラグセット：1:表示 */
	private static final String SET_HYOUJI_FLG_SHOW = "1";

	/** 契約者住所同一セット：1:同一である */
	private static final String SET_DOUITU_FLG_1 = "1";

	/** 契約者住所同一セット：0:同一でない */
	private static final String SET_DOUITU_FLG_0 = "0";

	/* 2013/02/01 テレビ単独導線見直し対応 Y.Saitou MOD-START */
	/** フッター領域表示パターン：1:次へボタン・戻るボタン表示 */
	private static final String SCREEN_DISP_TUGIHE_BACK = "1";

	/** フッター領域表示パターン：2:次へボタンボタン表示 */
	private static final String SCREEN_DISP_TUGIHE = "2";

	/** フッター領域表示パターン：3:確認画面へ戻るボタン表示 */
	private static final String SCREEN_DISP_KAKUNIN = "3";
	/* 2013/02/01 テレビ単独導線見直し対応 Y.Saitou MOD-END */

	// 2012.12.17 taga Add Start
	/** 住所番地：未確定 */
	private static final String SETPLACE_BNCHI_MIKAKUTEI = "0";
	// 2012.12.17 taga Add End

	/** 置換文字(チェック用)：郵便番号（上） */
	private static final String MSG_SOHU_PCD1 = "MSG_SOHU_PCD1";

	/** 置換文字(チェック用)：郵便番号（下） */
	private static final String MSG_SOHU_PCD2 = "MSG_SOHU_PCD2";

	/** 置換文字(チェック用)：都道府県・市区町村 */
	private static final String MSG_SOHU_STATE_CITY = "MSG_SOHU_STATE_CITY";

	/** 置換文字(チェック用)：字 */
//	private static final String MSG_SOHU_AZA = "MSG_SOHU_AZA"; // 2013/04/27 Otsuka

	/** 置換文字(チェック用)：お電話番号 */
	private static final String MSG_SOHU_TELNO = "MSG_SOHU_TELNO";

	/** エラー表示画面項目箇所(チェック用)：pcd_err */
	private static final String ERR_PLACE_PCD_ITEM_ID = "pcd";

	/** エラー表示画面項目箇所(チェック用)：state_city_err */
	private static final String ERR_PLACE_STATE_CITY_ITEM_ID = "state_city";

	/** エラー表示画面項目箇所(チェック用)：aza_err */
//	private static final String ERR_PLACE_AZA_ITEM_ID = "aza"; // 2013/04/27 Otsuka

	/** エラー表示画面項目箇所(チェック用)：telno_err */
	private static final String ERR_PLACE_TELNO_ITEM_ID = "telno";

	/** サービスID */
	private static final String USECASE_ID_FUSV0163 = "FUSV0163";
	/** オペレーションID */
	private static final String OPERATION_ID_FUSV0163 = "FUSV0163OP";

	/** コース選択情報保持リスト */
	private static final String KEEP_COURSE_SELECT_LIST = "コース選択情報保持リスト";

	/** プロパティファイル取得文字列 */
	private static final String QUERY_COURSE_CHOICE_PATH = "DISPSETTING/SETTING[@screenId='FUW00123']/DISPCTL[@groupid='GROUPID_REPLACE_STR']";

	/** モバイルコース一致判定処理用変数 */
	private static final String MOBILE_COURSE_INFO = "MOBILE_COURSE_INFO_";
	/** モバイルコース一致判定処理用変数 */
	private static final String GROUPID_REPLACE_STR = "GROUPID_REPLACE_STR";

	/** 料金コース・プラン用変数 */
	private static final String PCRS_CD = "PCRS_CD_KIKI_";
	/** 料金プラン用変数 */
	private static final String PPLAN_CD = "PPLAN_CD_KIKI_";
	/** モバイルコース一致判定処理用変数 */
	private static final String KKTK_SVC_CD = "KKTK_SVC_CD";

	/** 郵便番号区切り文字 */
	private static final String PCD_SEPARELTER = "-";

	/** 電話番号区切り文字 */
	private static final String TEL_SEPARELTER = "-";

	/** モバイルコースコード */
	private static final String MOBILE_COURSE_CODE = "MOBILE_COURSE_CODE";

	/** モバイル機器 */
	private static final String PCRS_CD_ONE = "PCRS_CD_1";

	/** NULL文字 */
	private static final String NULL_STR = "null";

	/** Exception 002 */
	private static final String EXCEPTION_0002 = "0002";

	/** [画面間引き継ぎ情報Mapキー]住所検索：郵便番号(前) */
	private static final String MAP_KEY_PCD_1 = "pcd_1";
	/** [画面間引き継ぎ情報Mapキー]住所検索：郵便番号(後) */
	private static final String MAP_KEY_PCD_2 = "pcd_2";

	/** メッセージ用 */
	private static final String TXT_KIKI_SHOU = "機器送付先";
	/** メッセージ用 */
	private static final String TXT_SELECT = "選択";
	/**エラー表示画面項目箇所(チェック用)：soufusaki_err */
	private static final String ERR_PLACE_SOUFUSAKI_ITEM_ID = "soufusaki";

	/**
	 * サービスフォームBeanの初期化処理を行います。
	 * <br>
	 * @return true固定
	 * @exception Exception
	 */
	public boolean init() throws Exception
	{
		// デバッグ用ログ出力
		DEBUG_LOG.info("----- init_FUW00124 Start -----");

		// 共有フォームBean取得
		X31SDataBeanAccess commonInfoBean = super.getCommonInfoBean();
		// サービスフォームBean取得
		X31SDataBeanAccess serviceInfoBean = super.getServiceFormBean();
		;

		// ＷＥＢ新規情報取得
		X31SDataBeanAccessArray webNewInfo = commonInfoBean.getDataBeanArray(CommonInfoCFConst.WEB_NEW_INFO);
		X31SDataBeanAccess webNewInfoBean = webNewInfo.getDataBean(0);

		// eoモバイル取得
		X31SDataBeanAccess eomobileBean = getX31SDataBeanAccess(webNewInfoBean, CommonInfoCFConst.EOMOBILE);

		//利用場所情報取得
		X31SDataBeanAccess riyobashoInfoBean = getX31SDataBeanAccess(webNewInfoBean, CommonInfoCFConst.RIYOBASHO_INFO);

		//契約者情報取得
		X31SDataBeanAccess keiyakushaInfoBean = getX31SDataBeanAccess(webNewInfoBean, CommonInfoCFConst.KEIYAKUSHA_INFO);

		/* 2013/02/01 テレビ単独導線見直し対応 Y.Saitou ADD-START */
		// 契約サービス情報取得
		X31SDataBeanAccess keiyakuSvcInfoBean = this.getX31SDataBeanAccess(webNewInfoBean, CommonInfoCFConst.KEIYAKU_SVC_INFO);

		// eo光テレビ取得
		X31SDataBeanAccess eotvBean = this.getX31SDataBeanAccess(webNewInfoBean, CommonInfoCFConst.EOTV);
		/* 2013/02/01 テレビ単独導線見直し対応 Y.Saitou ADD-END */

		// WEB新規情報 - 申込回線サービス (0:未定 1:ホームタイプ 2:マンションタイプ 3:モバイル単独)
		String mskmKsnSvc = webNewInfoBean.sendMessageString(CommonInfoCFConst.MSKM_KSN_SVC_06, X31CWebConst.DATABEAN_GET_VALUE);

		//リダイレクト情報.遷移パターン取得
		String redTransferPtn = getRedTransferPtn(webNewInfoBean);

		//申込区分取得
		String mskmKbn = webNewInfoBean.sendMessageString(CommonInfoCFConst.MSKM_KBN_06, X31CWebConst.DATABEAN_GET_VALUE);

		//●タイトル設定処理
		Map<String, String> titleMap = JFUWebCommon.getDispItemsAsMap(QUERY_MOBILE_PATH, QUERY_ATTR_NAME);
		String titleName = (String)titleMap.get(redTransferPtn);
		serviceInfoBean.sendMessageString(FUW00124SFConst.TITLE_TRITORY, X31CWebConst.DATABEAN_SET_VALUE, titleName);

		//●フッター領域表示制御処理
		if (webNewInfoBean.sendMessageString(CommonInfoCFConst.SCREEN_MODE_06, X31CWebConst.DATABEAN_GET_VALUE).equals(
				JFUStrConst.SCREEN_MODE_KAKUNIN))
		{
			serviceInfoBean.sendMessageString(FUW00124SFConst.FOOTER_DSP_PATTERN, X31CWebConst.DATABEAN_SET_VALUE, SCREEN_DISP_KAKUNIN);

		}
		else
		{
			/* 2013/02/01 テレビ単独導線見直し対応 Y.Saitou MOD-START */
			String footerDspPattern = SCREEN_DISP_TUGIHE_BACK;
			// 選択サービス（ネット）が"0"(未選択) 且つ、選択サービス（電話）が"0"(未選択) 且つ、選択サービス（テレビ）が"1"(選択中)の場合
			if (JFUStrConst.SELECT_SVC_NET_MI_CHOICE.equals(keiyakuSvcInfoBean.sendMessageString(CommonInfoCFConst.SELECT_SVC_NET_10,
					X31CWebConst.DATABEAN_GET_VALUE))
					&& JFUStrConst.SELECT_SVC_TEL_MI_CHOICE.equals(keiyakuSvcInfoBean.sendMessageString(CommonInfoCFConst.SELECT_SVC_TEL_10,
							X31CWebConst.DATABEAN_GET_VALUE))
					&& JFUStrConst.SELECT_SVC_CHOICE.equals(keiyakuSvcInfoBean.sendMessageString(CommonInfoCFConst.SELECT_SVC_TV_10,
							X31CWebConst.DATABEAN_GET_VALUE)))
			{
				// テレビコースが"1"（K-CAT）かつテレビコース（eo光テレビ）が"2"（ベーシックプレミアム）でない場合
				if (!(eotvBean.sendMessageString(CommonInfoCFConst.TV_COURSE_13, X31CWebConst.DATABEAN_GET_VALUE).equals(JFUStrConst.TV_COURSE_KCAT) && eotvBean
						.sendMessageString(CommonInfoCFConst.EO_TV_COURSE_13, X31CWebConst.DATABEAN_GET_VALUE).equals(JFUStrConst.EO_TV_COURSE_BASIC)))
				{
					footerDspPattern = SCREEN_DISP_TUGIHE;
				}
			}
			serviceInfoBean.sendMessageString(FUW00124SFConst.FOOTER_DSP_PATTERN, X31CWebConst.DATABEAN_SET_VALUE, footerDspPattern);
			/* 2013/02/01 テレビ単独導線見直し対応 Y.Saitou MOD-END */
		}

		//●ボディ領域（機器送付先入力）表示処理

		//機器送付先
		String sohu_select = eomobileBean.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_SOHU_SBT_14, X31CWebConst.DATABEAN_GET_VALUE);
		serviceInfoBean.sendMessageString(FUW00124SFConst.SOHU_SBT, X31CWebConst.DATABEAN_SET_VALUE, sohu_select);

		// 共有フォームBean.機器送付先選択が"1"(利用場所と同じ)かつ、"2"(契約者と同じ)ではない場合だけ移送処理を行う。
		if (!JFUStrConst.MOBILE_KIKI_SHOU_SBT_RIYOU.equals(sohu_select) && !JFUStrConst.MOBILE_KIKI_SHOU_SBT_KEIYAKUSYA.equals(sohu_select))
		{
			//郵便番号（上）
			serviceInfoBean.sendMessageString(FUW00124SFConst.SOHU_PCD1, X31CWebConst.DATABEAN_SET_VALUE, eomobileBean.sendMessageString(
					CommonInfoCFConst.MOBILE_KIKI_SOHU_PCD1_14, X31CWebConst.DATABEAN_GET_VALUE));
			//郵便番号（下）
			serviceInfoBean.sendMessageString(FUW00124SFConst.SOHU_PCD2, X31CWebConst.DATABEAN_SET_VALUE, eomobileBean.sendMessageString(
					CommonInfoCFConst.MOBILE_KIKI_SOHU_PCD2_14, X31CWebConst.DATABEAN_GET_VALUE));
			//都道府県・市区町村
			serviceInfoBean.sendMessageString(FUW00124SFConst.SOHU_STATE_CITY, X31CWebConst.DATABEAN_SET_VALUE, eomobileBean.sendMessageString(
					CommonInfoCFConst.MOBILE_KIKI_SOHU_STATE_CITY_14, X31CWebConst.DATABEAN_GET_VALUE));
			//字
			serviceInfoBean.sendMessageString(FUW00124SFConst.SOHU_AZ, X31CWebConst.DATABEAN_SET_VALUE, eomobileBean.sendMessageString(
					CommonInfoCFConst.MOBILE_KIKI_SOHU_AZA_14, X31CWebConst.DATABEAN_GET_VALUE));
			//丁目・番地等
			serviceInfoBean.sendMessageString(FUW00124SFConst.SOHU_CHO_BNCHI, X31CWebConst.DATABEAN_SET_VALUE, eomobileBean.sendMessageString(
					CommonInfoCFConst.MOBILE_KIKI_SOHU_CHO_BNCHI_14, X31CWebConst.DATABEAN_GET_VALUE));
			//建物名
			serviceInfoBean.sendMessageString(FUW00124SFConst.SOHU_TTM, X31CWebConst.DATABEAN_SET_VALUE, eomobileBean.sendMessageString(
					CommonInfoCFConst.MOBILE_KIKI_SOHU_TTM_14, X31CWebConst.DATABEAN_GET_VALUE));
			//部屋番号
			serviceInfoBean.sendMessageString(FUW00124SFConst.SOHU_RM, X31CWebConst.DATABEAN_SET_VALUE, eomobileBean.sendMessageString(
					CommonInfoCFConst.MOBILE_KIKI_SOHU_RRM_14, X31CWebConst.DATABEAN_GET_VALUE));
			//電話番号（１）
			serviceInfoBean.sendMessageString(FUW00124SFConst.SOHU_TELNO1, X31CWebConst.DATABEAN_SET_VALUE, eomobileBean.sendMessageString(
					CommonInfoCFConst.MOBILE_KIKI_SOHU_TELNO1_14, X31CWebConst.DATABEAN_GET_VALUE));
			//電話番号（２）
			serviceInfoBean.sendMessageString(FUW00124SFConst.SOHU_TELNO2, X31CWebConst.DATABEAN_SET_VALUE, eomobileBean.sendMessageString(
					CommonInfoCFConst.MOBILE_KIKI_SOHU_TELNO2_14, X31CWebConst.DATABEAN_GET_VALUE));
			//電話番号（３）
			serviceInfoBean.sendMessageString(FUW00124SFConst.SOHU_TELNO3, X31CWebConst.DATABEAN_SET_VALUE, eomobileBean.sendMessageString(
					CommonInfoCFConst.MOBILE_KIKI_SOHU_TELNO3_14, X31CWebConst.DATABEAN_GET_VALUE));
		}

		//●ボディ領域（機器送付先表示）表示処理
		//ご利用場所・郵便番号
		String workUseplacePcd1 = riyobashoInfoBean.sendMessageString(CommonInfoCFConst.USEPLACE_PCD1_08, X31CWebConst.DATABEAN_GET_VALUE);
		String workUseplacePcd2 = riyobashoInfoBean.sendMessageString(CommonInfoCFConst.USEPLACE_PCD2_08, X31CWebConst.DATABEAN_GET_VALUE);
		String workUseplacePcdTotal = workUseplacePcd1 + PCD_SEPARELTER + workUseplacePcd2;
		serviceInfoBean.sendMessageString(FUW00124SFConst.USE_PLACE_PCD, X31CWebConst.DATABEAN_SET_VALUE, workUseplacePcdTotal);
		//ご利用場所・住所
		String workUseplaceState = riyobashoInfoBean.sendMessageString(CommonInfoCFConst.USEPLACE_STATE_08, X31CWebConst.DATABEAN_GET_VALUE);
		String workUseplaceAza = riyobashoInfoBean.sendMessageString(CommonInfoCFConst.USEPLACE_AZA_08, X31CWebConst.DATABEAN_GET_VALUE);
		String workUseplaceChoBnchi = riyobashoInfoBean.sendMessageString(CommonInfoCFConst.USEPLACE_CHO_BNCHI_08, X31CWebConst.DATABEAN_GET_VALUE);
		String workUseplaceTtm = riyobashoInfoBean.sendMessageString(CommonInfoCFConst.USEPLACE_TTM_08, X31CWebConst.DATABEAN_GET_VALUE);
		String workUseplaceRrm = riyobashoInfoBean.sendMessageString(CommonInfoCFConst.USEPLACE_RRM_08, X31CWebConst.DATABEAN_GET_VALUE);
		String workUseplaceTotal = workUseplaceState + workUseplaceAza + workUseplaceChoBnchi + workUseplaceTtm + workUseplaceRrm;
		serviceInfoBean.sendMessageString(FUW00124SFConst.USE_PLACE_AD, X31CWebConst.DATABEAN_SET_VALUE, workUseplaceTotal);
		//ご利用場所・電話番号
		String workUseplaceTelno1 = riyobashoInfoBean.sendMessageString(CommonInfoCFConst.USEPLACE_TELNO1_08, X31CWebConst.DATABEAN_GET_VALUE);
		String workUseplaceTelno2 = riyobashoInfoBean.sendMessageString(CommonInfoCFConst.USEPLACE_TELNO2_08, X31CWebConst.DATABEAN_GET_VALUE);
		String workUseplaceTelno3 = riyobashoInfoBean.sendMessageString(CommonInfoCFConst.USEPLACE_TELNO3_08, X31CWebConst.DATABEAN_GET_VALUE);
		String workUseplaceTelnoTotal = "";
		// 電話番号（２）、もしくは電話番号（３）が""の場合、"-"編集は行いません。
		if ("".equals(workUseplaceTelno2) || "".equals(workUseplaceTelno3))
		{
			workUseplaceTelnoTotal = workUseplaceTelno1 + workUseplaceTelno2 + workUseplaceTelno3;
		}
		else
		{
			workUseplaceTelnoTotal = workUseplaceTelno1 + TEL_SEPARELTER + workUseplaceTelno2 + TEL_SEPARELTER + workUseplaceTelno3;
		}

		serviceInfoBean.sendMessageString(FUW00124SFConst.USE_PLACE_TELNO, X31CWebConst.DATABEAN_SET_VALUE, workUseplaceTelnoTotal);

		//契約者・郵便番号
		String workKshPcd1 = keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KSH_PCD1_09, X31CWebConst.DATABEAN_GET_VALUE);
		String workKshPcd2 = keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KSH_PCD2_09, X31CWebConst.DATABEAN_GET_VALUE);
		String workKshPcdTotal = workKshPcd1 + PCD_SEPARELTER + workKshPcd2;
		serviceInfoBean.sendMessageString(FUW00124SFConst.KEISHA_PCD, X31CWebConst.DATABEAN_SET_VALUE, workKshPcdTotal);
		//契約者・住所
		String workKshState = keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KSH_STATE_09, X31CWebConst.DATABEAN_GET_VALUE);
		String workKshAza = keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KSH_AZA_09, X31CWebConst.DATABEAN_GET_VALUE);
		String workKshChoBnchi = keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KSH_CHO_BNCHI_09, X31CWebConst.DATABEAN_GET_VALUE);
		String workKshTtm = keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KSH_TTM_09, X31CWebConst.DATABEAN_GET_VALUE);
		String workKshRrm = keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KSH_RRM_09, X31CWebConst.DATABEAN_GET_VALUE);
		String workKshTotal = workKshState + workKshAza + workKshChoBnchi + workKshTtm + workKshRrm;
		serviceInfoBean.sendMessageString(FUW00124SFConst.KEISHA_AD, X31CWebConst.DATABEAN_SET_VALUE, workKshTotal);
		//契約者・電話番号
		String workKshTelno1 = keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KSH_TELNO1_09, X31CWebConst.DATABEAN_GET_VALUE);
		String workKshTelno2 = keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KSH_TELNO2_09, X31CWebConst.DATABEAN_GET_VALUE);
		String workKshTelno3 = keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KSH_TELNO3_09, X31CWebConst.DATABEAN_GET_VALUE);
		String workKshTelnoTotal = "";
		// 電話番号（２）、もしくは電話番号（３）が""の場合、"-"編集は行いません。
		if ("".equals(workKshTelno2) || "".equals(workKshTelno3))
		{
			workKshTelnoTotal = workKshTelno1 + workKshTelno2 + workKshTelno3;
		}
		else
		{
			workKshTelnoTotal = workKshTelno1 + TEL_SEPARELTER + workKshTelno2 + TEL_SEPARELTER + workKshTelno3;
		}

		serviceInfoBean.sendMessageString(FUW00124SFConst.KEISHA_TELNO, X31CWebConst.DATABEAN_SET_VALUE, workKshTelnoTotal);

		//●各項目、ボタンの表示制御処理
		//ボディ領域（機器送付先種別）表示制御判定処理
		// IT2-2012-1790 2012/11/22 Otsuka start
		if ((JFUStrConst.NAVI_PTN_AREA.equals(redTransferPtn) || JFUStrConst.NAVI_PTN_SIML.equals(redTransferPtn) || JFUStrConst.NAVI_PTN_MANSION
				.equals(redTransferPtn))
				&& JFUStrConst.MSKM_KBN_NEW.equals(mskmKbn))
		// IT2-2012-1790 2012/11/22 Otsuka end
		{
			//住所番地取得
			String setplaceBnchi = riyobashoInfoBean.sendMessageString(CommonInfoCFConst.SETPLACE_BNCHI_08, X31CWebConst.DATABEAN_GET_VALUE);

			// 2012.12.17 taga Upd Start
			//機器送付先種別（ご利用場所と同じ）ラジオボタン表示フラグ
			if (JFUStrConst.MSKM_KSN_SVC_HOME.equals(mskmKsnSvc) && SETPLACE_BNCHI_MIKAKUTEI.equals(setplaceBnchi))
			{
				//「非表示」を設定
				serviceInfoBean.sendMessageString(FUW00124SFConst.SAME_USE_PLACE_RADIO_DSP_FLG, X31CWebConst.DATABEAN_SET_VALUE, SET_HYOUJI_FLG_HIDE);
			}
			else
			{
				//「表示」を設定
				serviceInfoBean.sendMessageString(FUW00124SFConst.SAME_USE_PLACE_RADIO_DSP_FLG, X31CWebConst.DATABEAN_SET_VALUE, SET_HYOUJI_FLG_SHOW);
			}
			// 2012.12.17 taga Upd End

			//機器送付先種別（契約者住所と同じ）ラジオボタン表示フラグ
			serviceInfoBean.sendMessageString(FUW00124SFConst.SAME_KSHAD_RADIO_DSP_FLG, X31CWebConst.DATABEAN_SET_VALUE, SET_HYOUJI_FLG_SHOW);

			//機器送付先種別（異なる住所に送付）ラジオボタン表示フラグ
			serviceInfoBean.sendMessageString(FUW00124SFConst.OTHER_AD_RADIO_DSP_FLG, X31CWebConst.DATABEAN_SET_VALUE, SET_HYOUJI_FLG_HIDE);

			//ご利用場所住所・契約者住所同一フラグ
			//ボディ（機器送付先表示）表示処理流用
			if (workUseplacePcdTotal.equals(workKshPcdTotal) && workUseplaceTotal.equals(workKshTotal))
			{
				serviceInfoBean.sendMessageString(FUW00124SFConst.USE_PLACE_AD_KEISHA_AD_SAME_FLG, X31CWebConst.DATABEAN_SET_VALUE, SET_DOUITU_FLG_1);

			}
			else
			{
				serviceInfoBean.sendMessageString(FUW00124SFConst.USE_PLACE_AD_KEISHA_AD_SAME_FLG, X31CWebConst.DATABEAN_SET_VALUE, SET_DOUITU_FLG_0);
			}
		}
		else
		{
			//機器送付先種別（ご利用場所と同じ）ラジオボタン表示フラグ
			serviceInfoBean.sendMessageString(FUW00124SFConst.SAME_USE_PLACE_RADIO_DSP_FLG, X31CWebConst.DATABEAN_SET_VALUE, SET_HYOUJI_FLG_HIDE);
			//機器送付先種別（契約者住所と同じ）ラジオボタン表示フラグ
			serviceInfoBean.sendMessageString(FUW00124SFConst.SAME_KSHAD_RADIO_DSP_FLG, X31CWebConst.DATABEAN_SET_VALUE, SET_HYOUJI_FLG_SHOW);
			//機器送付先種別（異なる住所に送付）ラジオボタン表示フラグ
			serviceInfoBean.sendMessageString(FUW00124SFConst.OTHER_AD_RADIO_DSP_FLG, X31CWebConst.DATABEAN_SET_VALUE, SET_HYOUJI_FLG_SHOW);
		}

		//ボディ領域（機器送付先入力）表示制御判定処理
		serviceInfoBean.sendMessageString(FUW00124SFConst.KIKI_SOHUS_INPUT_AD_DSP_FLG, X31CWebConst.DATABEAN_SET_VALUE, SET_HYOUJI_FLG_HIDE);

		//ボディ領域（機器送付先表示）表示制御判定処理
		serviceInfoBean.sendMessageString(FUW00124SFConst.KIKI_SOHUS_READ_AD_DSP_FLG, X31CWebConst.DATABEAN_SET_VALUE, SET_HYOUJI_FLG_HIDE);

		// 申込受付実績登録部品実行
		JFUWebCommon.executeWebMskmUkJskAdd(this);

		DEBUG_LOG.info("----- init_FUW00124 End -----");
		return true;

	}

	/**
	 * 住所検索ボタン押下処理
	 * <br/>
	 * @return 処理結果
	 * @exception Exception
	 */
	public boolean searchAd() throws Exception
	{
		DEBUG_LOG.info("----- searchAd_FUW00124 Start -----");

		// 共有フォームBean
		X31SDataBeanAccess commonInfoBean = getCommonInfoBean();

		// 画面間引き継ぎ情報の設定
		JFUWebCommon.setScreenInfo(this, JFUScreenConst.SCREEN_ID_FUW09902, this.setAdSearchDataMap());

		// 住所検索ポップアップ画面に遷移
		commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JFUScreenConst.SCREEN_ID_FUW09902);
		commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JFUScreenConst.SCREEN_NAME_FUW09902);

		DEBUG_LOG.info("----- searchAd_FUW00124 End -----");
		return true;
	}

	/**
	 * 戻るボタン押下処理
	 * <br>
	 * @return true固定
	 * @exception Exception
	 */
	public boolean back() throws Exception
	{
		DEBUG_LOG.info("----- back_FUW00124 Start -----");

		X31SDataBeanAccess commoninfoBean = super.getCommonInfoBean();

		// ●共有フォームBeanより現顧客契約情報を取得する。
		X31SDataBeanAccess webNewInfoBean = getX31SDataBeanAccess(commoninfoBean, CommonInfoCFConst.WEB_NEW_INFO);

		// ●ｅｏモバイル
		X31SDataBeanAccess eomobileInfoBean = getX31SDataBeanAccess(webNewInfoBean, CommonInfoCFConst.EOMOBILE);

		webNewInfoBean.sendMessageString(CommonInfoCFConst.SCREEN_MODE_06, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.SCREEN_MODE_DEF);
		eomobileInfoBean.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_SOHU_SBT_14, X31CWebConst.DATABEAN_SET_VALUE, "");
		eomobileInfoBean.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_SOHU_PCD1_14, X31CWebConst.DATABEAN_SET_VALUE, "");
		eomobileInfoBean.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_SOHU_PCD2_14, X31CWebConst.DATABEAN_SET_VALUE, "");
		eomobileInfoBean.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_SOHU_STATE_CITY_14, X31CWebConst.DATABEAN_SET_VALUE, "");
		eomobileInfoBean.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_SOHU_AZA_14, X31CWebConst.DATABEAN_SET_VALUE, "");
		eomobileInfoBean.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_SOHU_CHO_BNCHI_14, X31CWebConst.DATABEAN_SET_VALUE, "");
		eomobileInfoBean.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_SOHU_TTM_14, X31CWebConst.DATABEAN_SET_VALUE, "");
		eomobileInfoBean.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_SOHU_RRM_14, X31CWebConst.DATABEAN_SET_VALUE, "");
		eomobileInfoBean.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_SOHU_TELNO1_14, X31CWebConst.DATABEAN_SET_VALUE, "");
		eomobileInfoBean.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_SOHU_TELNO2_14, X31CWebConst.DATABEAN_SET_VALUE, "");
		eomobileInfoBean.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_SOHU_TELNO3_14, X31CWebConst.DATABEAN_SET_VALUE, "");

		//リダイレクト情報.遷移パターン取得
		String redTransferPtn = getRedTransferPtn(webNewInfoBean);
		// IT2-2012-1790 2012/11/22 Otsuka
		if (JFUStrConst.NAVI_PTN_AREA.equals(redTransferPtn) || JFUStrConst.NAVI_PTN_SIML.equals(redTransferPtn)
				|| JFUStrConst.NAVI_PTN_MANSION.equals(redTransferPtn))
		{
			// WEB新規情報.契約サービス情報取得
			if (0 == webNewInfoBean.getDataBeanArray(CommonInfoCFConst.KEIYAKU_SVC_INFO).getCount())
			{
				webNewInfoBean.getDataBeanArray(CommonInfoCFConst.KEIYAKU_SVC_INFO).addDataBean();
			}
			X31SDataBeanAccess keiyakuSvcInfoBean = webNewInfoBean.getDataBeanArray(CommonInfoCFConst.KEIYAKU_SVC_INFO).getDataBean(0);

			// eo光テレビ取得
			if (0 == webNewInfoBean.getDataBeanArray(CommonInfoCFConst.EOTV).getCount())
			{
				webNewInfoBean.getDataBeanArray(CommonInfoCFConst.EOTV).addDataBean();
			}
			X31SDataBeanAccess eotvBean = webNewInfoBean.getDataBeanArray(CommonInfoCFConst.EOTV).getDataBean(0);

			//契約サービス情報.選択サービス（テレビ）取得
			String selectSvcTv = keiyakuSvcInfoBean.sendMessageString(CommonInfoCFConst.SELECT_SVC_TV_10, X31CWebConst.DATABEAN_GET_VALUE);
			//契約サービス情報.選択サービス（電話）取得
			String selectSvcTel = keiyakuSvcInfoBean.sendMessageString(CommonInfoCFConst.SELECT_SVC_TEL_10, X31CWebConst.DATABEAN_GET_VALUE);
			//契約サービス情報.選択サービス（ネット）取得
			String selectSvcNet = keiyakuSvcInfoBean.sendMessageString(CommonInfoCFConst.SELECT_SVC_NET_10, X31CWebConst.DATABEAN_GET_VALUE);

			//eo光テレビ.テレビコース取得
			String tvCourse = eotvBean.sendMessageString(CommonInfoCFConst.TV_COURSE_13, X31CWebConst.DATABEAN_GET_VALUE);
			//eo光テレビ.テレビコース（eo光テレビ入力）取得
			String eoTvCourse = eotvBean.sendMessageString(CommonInfoCFConst.EO_TV_COURSE_13, X31CWebConst.DATABEAN_GET_VALUE);

			if (JFUStrConst.NOW_SVC_TV_KEI_CHU.equals(selectSvcTv) && JFUStrConst.TV_COURSE_KCAT.equals(tvCourse)
					&& JFUStrConst.EO_TV_COURSE_BASIC.equals(eoTvCourse))
			{
				// 遷移先の画面ID・画面名に"eo光テレビオプション"画面を設定する。
				setScreenInfo(JFUScreenConst.SCREEN_ID_FUW00120, JFUScreenConst.SCREEN_NAME_FUW00120);
			}
			else if (JFUStrConst.SELECT_SVC_TEL_CHOICE.equals(selectSvcTel))
			{
				// 遷移先の画面ID・画面名に"eo光電話オプション"画面を設定する。
				setScreenInfo(JFUScreenConst.SCREEN_ID_FUW00119, JFUScreenConst.SCREEN_NAME_FUW00119);
			}
			else if (JFUStrConst.SELECT_SVC_NET_CHOICE.equals(selectSvcNet))
			{
				// 遷移先の画面ID・画面名に"eoネットオプション"画面を設定する。
				setScreenInfo(JFUScreenConst.SCREEN_ID_FUW00118, JFUScreenConst.SCREEN_NAME_FUW00118);
			}
		}
		// IT2-2012-1790 2012/11/26 Otsuka 続けてモバイルの遷移はなくなったため削除
		else if (JFUStrConst.NAVI_PTN_MOBILE_SNGL.equals(redTransferPtn)) // IT2-2012-1790 2012/11/26 Otsuka
		{
			// 遷移先の画面ID・画面名に"住所情報入力"画面を設定する。
			setScreenInfo(JFUScreenConst.SCREEN_ID_FUW00102, JFUScreenConst.SCREEN_NAME_FUW00102);
		}

		DEBUG_LOG.info("----- back_FUW00124 End -----");
		return true;
	}

	/**
	 * 確認画面へ戻るボタン押下時処理
	 * <br>
	 * @return true固定
	 * @exception Exception
	 */
	public boolean backKakunin() throws Exception
	{
		DEBUG_LOG.info("----- backKakunin_FUW00124 Start -----");

		//次へボタン・確認画面へ戻るボタン押下時共通処理メソッド
		if (commonNextBackKakunin())
		{
			return true;
		}

		//●遷移先画面の設定
		// 共有フォームBean取得
		X31SDataBeanAccess commonInfoBean = super.getCommonInfoBean();

		// ＷＥＢ新規情報取得
		X31SDataBeanAccessArray webNewInfo = commonInfoBean.getDataBeanArray(CommonInfoCFConst.WEB_NEW_INFO);
		X31SDataBeanAccess webNewInfoBean = webNewInfo.getDataBean(0);

		//リダイレクト情報.遷移パターン取得
		String redTransferPtn = getRedTransferPtn(webNewInfoBean);

		// IT2-2012-1790 2012/11/22 Otsuka
		if (JFUStrConst.NAVI_PTN_AREA.equals(redTransferPtn) || JFUStrConst.NAVI_PTN_SIML.equals(redTransferPtn)
				|| JFUStrConst.NAVI_PTN_MANSION.equals(redTransferPtn))
		{
			// 遷移先の画面ID・画面名に"お支払い方法確認"画面を設定する。
			setScreenInfo(JFUScreenConst.SCREEN_ID_FUW00116, JFUScreenConst.SCREEN_NAME_FUW00116);

		}
		else
		{

			// 遷移先の画面ID・画面名に"eoモバイル申込内容確認"画面を設定する。
			setScreenInfo(JFUScreenConst.SCREEN_ID_FUW00125, JFUScreenConst.SCREEN_NAME_FUW00125);

		}

		DEBUG_LOG.info("----- backKakunin_FUW00124 End -----");
		return true;
	}

	/**
	 * 次へボタン押下時処理
	 * <br>
	 * @return true固定
	 * @exception Exception
	 */
	public boolean next() throws Exception
	{
		DEBUG_LOG.info("----- next_FUW00124 Start -----");

		//次へボタン・確認画面へ戻るボタン押下時共通処理メソッド
		if (commonNextBackKakunin())
		{
			return true;
		}

		//●遷移先画面の設定
		// 共有フォームBean取得
		X31SDataBeanAccess commonInfoBean = super.getCommonInfoBean();

		// ＷＥＢ新規情報取得
		X31SDataBeanAccessArray webNewInfo = commonInfoBean.getDataBeanArray(CommonInfoCFConst.WEB_NEW_INFO);
		X31SDataBeanAccess webNewInfoBean = webNewInfo.getDataBean(0);

		//リダイレクト情報.遷移パターン取得
		String redTransferPtn = getRedTransferPtn(webNewInfoBean);

		// IT2-2012-1790 2012/11/22 Otsuka
		if (JFUStrConst.NAVI_PTN_AREA.equals(redTransferPtn) || JFUStrConst.NAVI_PTN_SIML.equals(redTransferPtn)
				|| JFUStrConst.NAVI_PTN_MANSION.equals(redTransferPtn))
		{
			// 遷移先の画面ID・画面名に"お支払い方法入力"画面を設定する。
			setScreenInfo(JFUScreenConst.SCREEN_ID_FUW00115, JFUScreenConst.SCREEN_NAME_FUW00115);
		}
		// IT2-2012-1790 2012/11/26 Otsuka 続けてモバイルの遷移はなくなったため削除
		else if (JFUStrConst.NAVI_PTN_MOBILE_SNGL.equals(redTransferPtn)) // IT2-2012-1790 2012/11/26 Otsuka
		{
			// 遷移先の画面ID・画面名に"お支払い方法入力"画面を設定する。
			setScreenInfo(JFUScreenConst.SCREEN_ID_FUW00115, JFUScreenConst.SCREEN_NAME_FUW00115);
		}

		DEBUG_LOG.info("----- next_FUW00124 End -----");
		return true;
	}

	/**
	 * 次へボタン・確認画面へ戻るボタン押下時共通処理
	 * <br>
	 * @return false
	 * @exception Exception
	 */
	private boolean commonNextBackKakunin() throws Exception
	{

		// サービスフォームBean取得
		X31SDataBeanAccess serviceInfoBean = super.getServiceFormBean();

		// 共有フォームBean取得
		X31SDataBeanAccess commonInfoBean = super.getCommonInfoBean();

		// ＷＥＢ新規情報取得
		X31SDataBeanAccessArray webNewInfo = commonInfoBean.getDataBeanArray(CommonInfoCFConst.WEB_NEW_INFO);
		X31SDataBeanAccess webNewInfoBean = webNewInfo.getDataBean(0);

		// eoモバイル取得
		X31SDataBeanAccessArray eomobile = webNewInfoBean.getDataBeanArray(CommonInfoCFConst.EOMOBILE);
		X31SDataBeanAccess eomobileBean = eomobile.getDataBean(0);

		// 利用場所情報取得
		X31SDataBeanAccessArray riyobashoInfo = webNewInfoBean.getDataBeanArray(CommonInfoCFConst.RIYOBASHO_INFO);
		X31SDataBeanAccess riyobashoInfoBean = riyobashoInfo.getDataBean(0);

		// 契約者情報取得
		X31SDataBeanAccessArray keiyakushaInfo = webNewInfoBean.getDataBeanArray(CommonInfoCFConst.KEIYAKUSHA_INFO);
		X31SDataBeanAccess keiyakushaInfoBean = keiyakushaInfo.getDataBean(0);

		FUSV0163_FUSV0163OPDBMapper mapper = new FUSV0163_FUSV0163OPDBMapper();

		HashMap<String, String> paramMap = new HashMap<String, String>(16);

		HashMap<String, Object> dataMap = new HashMap<String, Object>();

		//サービスフォームBean（取得）
		//機器送付先
		String sohuSbt = serviceInfoBean.sendMessageString(FUW00124SFConst.SOHU_SBT, X31CWebConst.DATABEAN_GET_VALUE);
		DEBUG_LOG.info("臨時 処理前[機器送付先] : " + sohuSbt);
		//郵便番号（上）
		String sohuPcd1 = serviceInfoBean.sendMessageString(FUW00124SFConst.SOHU_PCD1, X31CWebConst.DATABEAN_GET_VALUE);
		//郵便番号（下）
		String sohuPcd2 = serviceInfoBean.sendMessageString(FUW00124SFConst.SOHU_PCD2, X31CWebConst.DATABEAN_GET_VALUE);
		//都道府県・市区町村
		String sohuStateCity = serviceInfoBean.sendMessageString(FUW00124SFConst.SOHU_STATE_CITY, X31CWebConst.DATABEAN_GET_VALUE);
		//字
		String sohuAza = serviceInfoBean.sendMessageString(FUW00124SFConst.SOHU_AZ, X31CWebConst.DATABEAN_GET_VALUE);
		//丁目・番地
		String sohuChoBnchi = serviceInfoBean.sendMessageString(FUW00124SFConst.SOHU_CHO_BNCHI, X31CWebConst.DATABEAN_GET_VALUE);
		//建物名
		String sohuTtm = serviceInfoBean.sendMessageString(FUW00124SFConst.SOHU_TTM, X31CWebConst.DATABEAN_GET_VALUE);
		//部屋番号
		String sohuRm = serviceInfoBean.sendMessageString(FUW00124SFConst.SOHU_RM, X31CWebConst.DATABEAN_GET_VALUE);
		//電話番号（１）
		String sohuTelno1 = serviceInfoBean.sendMessageString(FUW00124SFConst.SOHU_TELNO1, X31CWebConst.DATABEAN_GET_VALUE);
		//電話番号（２）
		String sohuTelno2 = serviceInfoBean.sendMessageString(FUW00124SFConst.SOHU_TELNO2, X31CWebConst.DATABEAN_GET_VALUE);
		//電話番号（３）
		String sohuTelno3 = serviceInfoBean.sendMessageString(FUW00124SFConst.SOHU_TELNO3, X31CWebConst.DATABEAN_GET_VALUE);

		// 2012/11/16 k.hashimoto add start
		//●機器送付先必須チェック
		if (!(JFUStrConst.MOBILE_KIKI_SHOU_SBT_KEIYAKUSYA.equals(sohuSbt) || JFUStrConst.MOBILE_KIKI_SHOU_SBT_KOTONARU.equals(sohuSbt) || JFUStrConst.MOBILE_KIKI_SHOU_SBT_RIYOU
				.equals(sohuSbt)))
		{
			// エラーメッセージ設定
			JFUWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKF0420_TW, new String[] { TXT_KIKI_SHOU, TXT_SELECT },
					ERR_PLACE_SOUFUSAKI_ITEM_ID);

			return true;
		}
		// 2012/11/16 k.hashimoto add end

		//●機器送付先判定処理
		if (JFUStrConst.MOBILE_KIKI_SHOU_SBT_KOTONARU.equals(sohuSbt))
		{
			boolean errFlg = false;

			//必須チェック
			//郵便番号（上）
			if (isNullOrEmpty(sohuPcd1))
			{
				getServiceName(ERR_PLACE_PCD_ITEM_ID, MSG_SOHU_PCD1);
				errFlg = true;
			}
			//郵便番号（下）
			if (isNullOrEmpty(sohuPcd2))
			{
				getServiceName(ERR_PLACE_PCD_ITEM_ID, MSG_SOHU_PCD2);
				errFlg = true;
			}
			//都道府県・市区町村
			if (isNullOrEmpty(sohuStateCity))
			{
				getServiceName(ERR_PLACE_STATE_CITY_ITEM_ID, MSG_SOHU_STATE_CITY);
				errFlg = true;
			}
			//字
			// 2013/04/27 Otsuka start
			//			if (isNullOrEmpty(sohuAza))
			//			{
			//				getServiceName(ERR_PLACE_AZA_ITEM_ID, MSG_SOHU_AZA);
			//				errFlg = true;
			//			}
			// 2013/04/27 Otsuka end
			//電話番号
			if (isNullOrEmpty(sohuTelno1) || isNullOrEmpty(sohuTelno2) || isNullOrEmpty(sohuTelno3))
			{
				getServiceName(ERR_PLACE_TELNO_ITEM_ID, MSG_SOHU_TELNO);
				errFlg = true;
			}

			//必須入力チェック結果判定処理
			if (errFlg)
			{
				return true;
			}

			//●サービス呼出前処理
			//郵便番号結合
			String workSvcKikiSohusPcd = sohuPcd1 + sohuPcd2;

			//電話番号結合
			String workSohusTelno = sohuTelno1 + sohuTelno2 + sohuTelno3;

			//機器送付先郵便番号（サービス）
			serviceInfoBean.sendMessageString(FUW00124SFConst.SVC_KIKI_SOHUS_PCD, X31CWebConst.DATABEAN_SET_VALUE, workSvcKikiSohusPcd);

			//機器送付先住所補記・建物名（サービス）
			serviceInfoBean.sendMessageString(FUW00124SFConst.SVC_KIKI_SOHUS_ADRTTM, X31CWebConst.DATABEAN_SET_VALUE, sohuTtm);

			//機器送付先住所補記・部屋番号（サービス）
			serviceInfoBean.sendMessageString(FUW00124SFConst.SVC_KIKI_SOHUS_ADRRM, X31CWebConst.DATABEAN_SET_VALUE, sohuRm);

			//機器送付先電話番号（サービス）
			serviceInfoBean.sendMessageString(FUW00124SFConst.SVC_KIKI_SOHUS_TELNO, X31CWebConst.DATABEAN_SET_VALUE, workSohusTelno);

			//●「FUW00124SF.異動区分」設定処理
			//申込区分取得
			String mskmKbn = webNewInfoBean.sendMessageString(CommonInfoCFConst.MSKM_KBN_06, X31CWebConst.DATABEAN_GET_VALUE);

			if (JFUStrConst.MSKM_KBN_NEW.equals(mskmKbn))
			{
				serviceInfoBean.sendMessageString(FUW00124SFConst.IDO_DIV, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.CD00576_00001);

			}
			else if (JFUStrConst.MSKM_KBN_ADD.equals(mskmKbn))
			{
				serviceInfoBean.sendMessageString(FUW00124SFConst.IDO_DIV, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.CD00576_00002);

			}

			//共有フォームBean.eoモバイル.モバイルコース取得
			String mobileCourse = eomobileBean.sendMessageString(CommonInfoCFConst.MOBILE_COURSE_14, X31CWebConst.DATABEAN_GET_VALUE);
			//共有フォームBean.eoモバイル.通信機器タイプ取得
			String mobileKiki = eomobileBean.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_14, X31CWebConst.DATABEAN_GET_VALUE);

			//●機器提供サービスコード、料金コースコード、料金プランコード取得処理
			for (int i = 1; true; i++)
			{

				//モバイルコース一致判定処理
				String mobileCourseInfoKey = MOBILE_COURSE_INFO + String.valueOf(i);
				String key = QUERY_COURSE_CHOICE_PATH.replace(GROUPID_REPLACE_STR, mobileCourseInfoKey);

				Map<String, String> courseChoiceMap = JFUWebCommon.getDispItemsAsMap(key, QUERY_ATTR_NAME);

				if (null == courseChoiceMap || 0 == courseChoiceMap.size())
				{
					break;
				}

				String mobileCourseCode = courseChoiceMap.get(MOBILE_COURSE_CODE);

				if (mobileCourseCode.equals(mobileCourse))
				{

					String svcPcrsCd = "";
					String svcPplanCd = "";

					if (0 == mobileKiki.length())
					{
						svcPcrsCd = PCRS_CD + "1";
						svcPplanCd = PPLAN_CD + "1";
					}
					else
					{
						String workMobilekiki = String.valueOf(Integer.parseInt(mobileKiki));

						svcPcrsCd = PCRS_CD + workMobilekiki;
						svcPplanCd = PPLAN_CD + workMobilekiki;
					}

					String pcrsCd = courseChoiceMap.get(svcPcrsCd);
					String pplanCd = courseChoiceMap.get(svcPplanCd);
					String kktkSvcCd = courseChoiceMap.get(KKTK_SVC_CD);

					//料金コースコード（サービス）
					serviceInfoBean.sendMessageString(FUW00124SFConst.SVC_PCRS_CD, X31CWebConst.DATABEAN_SET_VALUE, pcrsCd);
					//料金プランコード（サービス）
					serviceInfoBean.sendMessageString(FUW00124SFConst.SVC_PPLAN_CD, X31CWebConst.DATABEAN_SET_VALUE, pplanCd);
					//機器提供サービスコード（サービス）
					serviceInfoBean.sendMessageString(FUW00124SFConst.SVC_KKTK_SVC_CD, X31CWebConst.DATABEAN_SET_VALUE, kktkSvcCd);

					break;

				}

			}

			// ユースケースID格納用マップを生成。
			paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, USECASE_ID_FUSV0163);
			paramMap.put(X31CWebConst.TELEGRAM_INFO_OPERATION_ID, OPERATION_ID_FUSV0163);

			//●サービス呼出処理

			X31SDataBeanAccess[] paramBean = { serviceInfoBean, webNewInfoBean };

			mapper.setFUSV016301SC(paramBean, dataMap, JPCModelConstant.FUNC_CD_2);
			mapper.setJFUSplitAddressInfoCC(paramBean, dataMap, "");

			// 検索結果格納用マップを生成。
			HashMap<Object, Object> outputMap = new HashMap<Object, Object>();
			try
			{

				// サービスの呼び出しを行う。
				DEBUG_LOG.info("----- FUSV0163 Start -----");
				X31CMessageResult msgResult = invokeService(paramMap, dataMap, outputMap);
				DEBUG_LOG.info("----- FUSV0163 End -----");
				if (null != msgResult)
				{
					JFUWebCommon.setMessageInfo(this, msgResult);
					return true;
				}

			}
			catch (JCCWebServiceException se)
			{

				// 例外情報を取得
				X31CMessageResult msgResult = se.getMessageList();
				X31CMessageMoreInfo[] moreInfo = msgResult.getMessageMoreInfoList();
				X31CMessageMoreInfo info = moreInfo[0];// 関連チェック系は必ずエラーが1つのため0番目から取得する。
				String status = info.getStatus();

				if (String.valueOf(JPCModelConstant.RELATION_ERR).equals(status)
						|| String.valueOf(JPCModelConstant.ENTITY_RELATION_ERR).equals(status))
				{
					// 特定のエラーの場合は業務用例外クラスをthrowする。
					throw new JCCBusinessException(EXCEPTION_0002);
				}
				if (String.valueOf(JPCModelConstant.TEMPLATE_CORRELATION_ERR).equals(status)
						|| String.valueOf(JPCModelConstant.ENTITY_CORRELATION_ERR).equals(status))
				{
					// 特定のエラーの場合は業務用例外クラスをthrowする。
					throw new JCCBusinessException(EXCEPTION_0002);
				}

				// 業務エラーを再throw
				throw se;
			}

			//● 共有フォームBeanに引継ぎ情報の設定を行う
			eomobileBean.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_SOHU_PCD1_14, X31CWebConst.DATABEAN_SET_VALUE, sohuPcd1);
			eomobileBean.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_SOHU_PCD2_14, X31CWebConst.DATABEAN_SET_VALUE, sohuPcd2);
			eomobileBean.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_SOHU_STATE_CITY_14, X31CWebConst.DATABEAN_SET_VALUE, sohuStateCity);
			eomobileBean.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_SOHU_AZA_14, X31CWebConst.DATABEAN_SET_VALUE, sohuAza);
			eomobileBean.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_SOHU_CHO_BNCHI_14, X31CWebConst.DATABEAN_SET_VALUE, sohuChoBnchi);
			eomobileBean.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_SOHU_TTM_14, X31CWebConst.DATABEAN_SET_VALUE, sohuTtm);
			eomobileBean.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_SOHU_RRM_14, X31CWebConst.DATABEAN_SET_VALUE, sohuRm);
			eomobileBean.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_SOHU_TELNO1_14, X31CWebConst.DATABEAN_SET_VALUE, sohuTelno1);
			eomobileBean.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_SOHU_TELNO2_14, X31CWebConst.DATABEAN_SET_VALUE, sohuTelno2);
			eomobileBean.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_SOHU_TELNO3_14, X31CWebConst.DATABEAN_SET_VALUE, sohuTelno3);

		}
		else if (JFUStrConst.MOBILE_KIKI_SHOU_SBT_KEIYAKUSYA.equals(sohuSbt))
		{
			//● 共有フォームBeanに引継ぎ情報の設定を行う（契約者住所情報）
			eomobileBean.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_SOHU_PCD1_14, X31CWebConst.DATABEAN_SET_VALUE, keiyakushaInfoBean
					.sendMessageString(CommonInfoCFConst.KSH_PCD1_09, X31CWebConst.DATABEAN_GET_VALUE));
			eomobileBean.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_SOHU_PCD2_14, X31CWebConst.DATABEAN_SET_VALUE, keiyakushaInfoBean
					.sendMessageString(CommonInfoCFConst.KSH_PCD2_09, X31CWebConst.DATABEAN_GET_VALUE));
			eomobileBean.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_SOHU_STATE_CITY_14, X31CWebConst.DATABEAN_SET_VALUE, keiyakushaInfoBean
					.sendMessageString(CommonInfoCFConst.KSH_STATE_09, X31CWebConst.DATABEAN_GET_VALUE));
			eomobileBean.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_SOHU_AZA_14, X31CWebConst.DATABEAN_SET_VALUE, keiyakushaInfoBean
					.sendMessageString(CommonInfoCFConst.KSH_AZA_09, X31CWebConst.DATABEAN_GET_VALUE));
			eomobileBean.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_SOHU_CHO_BNCHI_14, X31CWebConst.DATABEAN_SET_VALUE, keiyakushaInfoBean
					.sendMessageString(CommonInfoCFConst.KSH_CHO_BNCHI_09, X31CWebConst.DATABEAN_GET_VALUE));
			eomobileBean.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_SOHU_TTM_14, X31CWebConst.DATABEAN_SET_VALUE, keiyakushaInfoBean
					.sendMessageString(CommonInfoCFConst.KSH_TTM_09, X31CWebConst.DATABEAN_GET_VALUE));
			eomobileBean.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_SOHU_RRM_14, X31CWebConst.DATABEAN_SET_VALUE, keiyakushaInfoBean
					.sendMessageString(CommonInfoCFConst.KSH_RRM_09, X31CWebConst.DATABEAN_GET_VALUE));
			eomobileBean.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_SOHU_TELNO1_14, X31CWebConst.DATABEAN_SET_VALUE, keiyakushaInfoBean
					.sendMessageString(CommonInfoCFConst.KSH_TELNO1_09, X31CWebConst.DATABEAN_GET_VALUE));
			eomobileBean.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_SOHU_TELNO2_14, X31CWebConst.DATABEAN_SET_VALUE, keiyakushaInfoBean
					.sendMessageString(CommonInfoCFConst.KSH_TELNO2_09, X31CWebConst.DATABEAN_GET_VALUE));
			eomobileBean.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_SOHU_TELNO3_14, X31CWebConst.DATABEAN_SET_VALUE, keiyakushaInfoBean
					.sendMessageString(CommonInfoCFConst.KSH_TELNO3_09, X31CWebConst.DATABEAN_GET_VALUE));

		}
		else if (JFUStrConst.MOBILE_KIKI_SHOU_SBT_RIYOU.equals(sohuSbt))
		{
			//● 共有フォームBeanに引継ぎ情報の設定を行う（利用場所住所情報）
			eomobileBean.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_SOHU_PCD1_14, X31CWebConst.DATABEAN_SET_VALUE, riyobashoInfoBean
					.sendMessageString(CommonInfoCFConst.USEPLACE_PCD1_08, X31CWebConst.DATABEAN_GET_VALUE));
			eomobileBean.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_SOHU_PCD2_14, X31CWebConst.DATABEAN_SET_VALUE, riyobashoInfoBean
					.sendMessageString(CommonInfoCFConst.USEPLACE_PCD2_08, X31CWebConst.DATABEAN_GET_VALUE));
			eomobileBean.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_SOHU_STATE_CITY_14, X31CWebConst.DATABEAN_SET_VALUE, riyobashoInfoBean
					.sendMessageString(CommonInfoCFConst.USEPLACE_STATE_08, X31CWebConst.DATABEAN_GET_VALUE));
			eomobileBean.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_SOHU_AZA_14, X31CWebConst.DATABEAN_SET_VALUE, riyobashoInfoBean
					.sendMessageString(CommonInfoCFConst.USEPLACE_AZA_08, X31CWebConst.DATABEAN_GET_VALUE));
			eomobileBean.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_SOHU_CHO_BNCHI_14, X31CWebConst.DATABEAN_SET_VALUE, riyobashoInfoBean
					.sendMessageString(CommonInfoCFConst.USEPLACE_CHO_BNCHI_08, X31CWebConst.DATABEAN_GET_VALUE));
			eomobileBean.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_SOHU_TTM_14, X31CWebConst.DATABEAN_SET_VALUE, riyobashoInfoBean
					.sendMessageString(CommonInfoCFConst.USEPLACE_TTM_08, X31CWebConst.DATABEAN_GET_VALUE));
			eomobileBean.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_SOHU_RRM_14, X31CWebConst.DATABEAN_SET_VALUE, riyobashoInfoBean
					.sendMessageString(CommonInfoCFConst.USEPLACE_RRM_08, X31CWebConst.DATABEAN_GET_VALUE));
			eomobileBean.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_SOHU_TELNO1_14, X31CWebConst.DATABEAN_SET_VALUE, riyobashoInfoBean
					.sendMessageString(CommonInfoCFConst.USEPLACE_TELNO1_08, X31CWebConst.DATABEAN_GET_VALUE));
			eomobileBean.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_SOHU_TELNO2_14, X31CWebConst.DATABEAN_SET_VALUE, riyobashoInfoBean
					.sendMessageString(CommonInfoCFConst.USEPLACE_TELNO2_08, X31CWebConst.DATABEAN_GET_VALUE));
			eomobileBean.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_SOHU_TELNO3_14, X31CWebConst.DATABEAN_SET_VALUE, riyobashoInfoBean
					.sendMessageString(CommonInfoCFConst.USEPLACE_TELNO3_08, X31CWebConst.DATABEAN_GET_VALUE));

		}

		DEBUG_LOG.info("臨時 処理後[機器送付先] : " + sohuSbt);

		//画面遷移モード（通常遷移）
		webNewInfoBean.sendMessageString(CommonInfoCFConst.SCREEN_MODE_06, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.SCREEN_MODE_DEF);
		//機器送付先選択
		eomobileBean.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_SOHU_SBT_14, X31CWebConst.DATABEAN_SET_VALUE, sohuSbt);

		return false;

	}

	/**
	 * 遷移先の画面ID・画面名を共有フォームBeanの項目に設定する。
	 * <br>
	 * @param screenId   画面ＩＤ
	 * @param screenName 画面名
	 * @throws Exception
	 */
	private void setScreenInfo(String screenId, String screenName) throws Exception
	{

		// 共有フォームBean取得
		X31SDataBeanAccess commoninfoBean = super.getCommonInfoBean();

		// 遷移先の画面IDを共有フォームBeanの項目に設定する。
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, screenId);

		// 遷移先の画面名を共有フォームBeanの項目に設定する。
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, screenName);

	}

	/**
	 * データBeanリストから0番目のデータBeanを取得する。 <BR>
	 * 
	 * @param bean
	 * @param componentID
	 * @return subBean
	 */
	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;
	}

	/**
	 * 共有フォームBean.リダイレクト情報.遷移パターンを取得する
	 * 
	 * @param bean
	 * @return redTransferPtn
	 */
	public String getRedTransferPtn(X31SDataBeanAccess bean)
	{
		// リダイレクト情報取得
		X31SDataBeanAccess redirectBean = getX31SDataBeanAccess(bean, CommonInfoCFConst.REDIRECT_INFO);

		// IT2-2012-1790 2012/11/22 Otsuka
		//リダイレクト情報.ナビゲータパターン取得
		String redTransferPtn = redirectBean.sendMessageString(CommonInfoCFConst.NAVIGATOR_PTN_17, X31CWebConst.DATABEAN_GET_VALUE);

		return redTransferPtn;
	}

	/**
	 * Null又は空文字かどうかを判定する。 <BR>
	 * 
	 * @param value
	 * @return （true:null、または空文字、false:null、または空文字以外）
	 */
	private boolean isNullOrEmpty(String value)
	{
		return null == value || "".equals(value) || NULL_STR.equals(value);
	}

	/**
	 * エラーメッセージ用配列取得
	 * <br>
	 * @param dispErrMessageId  メッセージ表示先ID
	 * @param messageKey 変換文字列取得要キー
	 * @throws Exception
	 */
	private void getServiceName(String dispErrMessageId, String messageKey) throws Exception
	{

		// エラーメッセージ取得
		Map<String, String> servicenameMap = JFUWebCommon.getDispItemsAsMap(QUERY_ERR_MESSAGE_PATH, QUERY_ATTR_NAME);
		// エラーメッセージ配列作成
		String[] messageList = { JFUWebCommon.getDispText(SCREEN_ID_FUW00124, CHENGE_MESSAGE_HEAD), (String)servicenameMap.get(messageKey) };

		//メッセージ画面表示
		JFUWebCommon.setMessageInfo(this, "test", messageList, dispErrMessageId);

	}

	/**
	 * 住所検索画面引き継ぎ情報データマップ生成処理
	 * 本メニュー画面から住所検索ポップアップ画面に引き渡す情報を生成します。
	 *
	 * @return dataMap 引き継ぎ情報データマップ
	 */
	private HashMap<String, Object> setAdSearchDataMap()
	{
		// サービスフォームBeanの取得
		X31SDataBeanAccess serviceFormBean = getServiceFormBean();

		// 画面間引き継ぎ情報の生成
		HashMap<String, Object> dataMap = new HashMap<String, Object>();

		// 検索条件(画面入力値)を取得
		// 郵便番号(前)
		String pcd1 = serviceFormBean.sendMessageString(FUW00124SFConst.SOHU_PCD1, X31CWebConst.DATABEAN_GET_VALUE);
		// 郵便番号(後)
		String pcd2 = serviceFormBean.sendMessageString(FUW00124SFConst.SOHU_PCD2, X31CWebConst.DATABEAN_GET_VALUE);

		// 画面間引き継ぎ情報に格納
		dataMap.put(MAP_KEY_PCD_1, pcd1);
		dataMap.put(MAP_KEY_PCD_2, pcd2);

		return dataMap;
	}

}
