/*********************************************************************
*	All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名		：eo顧客基幹システム
*	モジュール名	：FUW10409SFLogic
*	ソースファイル名：FUW10409SFLogic.java
*	作成者			：富士通
*	日付			：2012年07月18日
*＜機能概要＞
*	お引越し手続き申込内容照会のビューロジッククラスです。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v4.00   	2012/07/18	FJ)高浜		新規作成
*	v4.01   	2012/11/07	FJ)谷本		IT1-2012-0001896
*   v5.00		2013/02/01	FJ)谷本		ANK-1416-00-00 11月末案件
*   v5.00		2013/04/28	FJ)瀧澤		日数差分の判定を修正（障害一覧No.711）
*   v7.00       2013/11/25  FJ)谷本     【ANK-1578-00-00】多機能ルーター（機器追加）
*  v10.00	    2014/07/14  FJ)谷本     【ANK-2135-00-00】BSオプションチャンネル「スターチャンネル」とのセット割検討
*  v25.00       2016/05/01  FJ)張本     【ANK-2530-00-00】ＴＶ新コースおよびＶＯＤ導入
*  v40.00       2018/12/18  FJ)中野     【ANK-3248-00-00】マンションタイプの引越しNavi対応
*  v56.01.00    2022/01/04  FJ）西川    【ANK-4018-00-00】【eo定期】5G・10Gコースの料金改訂対応
*  v72.00.00    2024/09/25  FJ)余野木   【ANK-4577-00-00】シンプルプラン追加対応STEP2
*  v74.00.00    2025/03/19  FJ)美濃原   【ANK-4592-00-00】テレビ新コース（スカパー用）導入対応
**********************************************************************/
package eo.web.webview.FUW10409SF;

import static com.fujitsu.futurity.web.x31.X31SWebLog.DEBUG_LOG;

import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

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.util.JFUCommonUtil;
import eo.common.util.JKKStringUtil;
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.FUSV0254_FUSV0254OPDBMapper;

/**
 * お引越し手続き申込内容照会のビューロジッククラスです。
 * <p>
 * <BR>
 * @author 富士通
 */
@SuppressWarnings("serial")
public class FUW10409SFLogic extends JCCWebBusinessLogic
{
	/** サービスID(FUSV0254) */
	private static final String USECASE_ID_FUSV0254 = "FUSV0254";

	/** 機能モード：1 */
	private static final String FUNC_CODE_1 = "1";

	/** DataBean操作種別：項目値設定 */
	private static final String SET = X31CWebConst.DATABEAN_SET_VALUE;
	/** DataBean操作種別：項目値取得 */
	private static final String GET = X31CWebConst.DATABEAN_GET_VALUE;

	/** 表示フラグ：表示 */
	private static final String DISP_FLG_ON = "1";
	/** 表示フラグ：非表示 */
	private static final String DISP_FLG_OFF = "2";

	/** 単位：円 */
	private static final String YEN = JFUStrConst.HALF_SPACE + JFUStrConst.YEN;
	/** 記号：マイナス（表示用）「▲」 */
	private static final String KIGO_MINUS_DSP = "▲";
	/** 記号：中点「・」 */
	private static final String KIGO_CHUTEN = "・";

	/** 当画面が表示不可になる経過日数 */
	private static final int NO_DISP_DAYS = 91;

	/** 接頭辞 eo光ネットホームタイプ */
	private static final String EO_NET = "eo光ネットホームタイプ（@）";
	/** 接頭辞 eo光ネットマンションタイプ */
	private static final String EO_NET_MT = "eo光ネットマンションタイプ（@）";
	/** 接頭辞 eo光ネットメゾンタイプ */
	private static final String EO_NET_MZ = "eo光ネットメゾンタイプ（@）";
	/** 接頭辞 eo光シンプルプラン */
	private static final String EO_SIMPLE = "eo光シンプルプラン（@）";
	/** 接頭辞 引越し先住所形態区分(ホーム) */
	private static final String ITENS_AD_FORM_DIV_HM = "01";
	/** 接頭辞 引越し先住所形態区分(メゾン) */
	private static final String ITENS_AD_FORM_DIV_MZ = "02";
	/** 接頭辞 引越し先住所形態区分(マンション) */
	private static final String ITENS_AD_FORM_DIV_MT = "03";
	/** 接頭辞 eo光電話 */
	private static final String EO_TEL = "eo光電話（@）";
	/** 接頭辞 eo光テレビ */
	private static final String EO_TV = "eo光テレビ(@)";
	/** テレビガイド誌 冊数文字列 */
	private static final String GUIDEMG = "eo光テレビガイド誌(@冊)";
	/** 置換文字列「@」 */
	private static final String ATMK = "@";
	/** テレビガイド誌 冊数「0」*/
	private static final String SATSU_ZERO = "0";
	/** サービス名：「利用しない」 */
	private static final String RIYO_SHINAI = "利用しない";

	/** テレビサービス申込内容識別コード：「利用しない」 */
	private static final String TV_SVC_MKM_CD_RIYOSINAI = JFUStrConst.CD01440_01;
	/** テレビサービス申込内容識別コード：「eo光テレビチューナーありで利用」 */
	private static final String TV_SVC_MKM_CD_TUNARI_RIYO = JFUStrConst.CD01440_02;
	/** テレビサービス申込内容識別コード：「eo光テレビチューナーなしで利用(地デジ・BS)」 */
	private static final String TV_SVC_MKM_CD_TUNNASI_RIYO = JFUStrConst.CD01440_03;
	/** テレビサービス申込内容識別コード：「eo光テレビチューナーなしで利用(地デジ・BS　スターチャンネルセット)」 */
	private static final String TV_SVC_MKM_CD_TUNNASI_RIYO_STAR_SET = JFUStrConst.CD01440_04;
	/** テレビサービス申込内容名称 */
	private static final String TV_SVC_MKM_NM_TUNNASI_RIYO = "地デジ・BSコース";
	/** テレビサービス申込内容名称 */
	private static final String TV_SVC_MKM_NM_TUNNASI_RIYO_STAR_SET = "地デジ・BSコース　スターチャンネルセット";

	/** 電話サービス 番号目 */
	private static final String BANGOME = "番号目";

	/** 電話サービス申込内容識別コード：「利用しない」 */
	private static final String TL_SVC_MKM_CD_RIYOSINAI = "01";

	/** ネット申込内容コード(ホーム・メゾン、５ギガ／１０ギガ) */
	public static final List<String> NET_SVC_MKMNYOCD_HTMZ5G10G = Arrays.asList("06", "07", "16", "17", "26", "27", "36", "37", "09", "0A", "19", "1A", "29", "2A", "39", "3A");
	
	/** 属性名 */
	private static final String QUERY_ATTR_NAME = "id";
	/** 定義取得パス 高速割終了に伴う料金改定文言 */
	private static final String PATH_KOSOKUWARI_FIN_MSG = "DISPSETTING/SETTING[@screenId='FUW10407']/DISPTEXT[@groupid='KOSOKUWARI_FIN_MSG']";
	/** 定義取得パス eo光テレビ　コース名 */
	private static final String PATH_TV_CRS_NM = "DISPSETTING/SETTING[@screenId='FUW10409']/DISPCTL[@groupid='TV_CRS_NM']";
	/** 定義取得パス eo光テレビ　チューナー名 */
	private static final String PATH_TV_KIKI_NM = "DISPSETTING/SETTING[@screenId='FUW10409']/DISPCTL[@groupid='TV_KIKI_NM']";
	/** 定義取得パス eo電気情報 */
	private static final String PATH_ELEC = "DISPSETTING/SETTING[@screenId='FUW10409']/DISPTEXT[@groupid='ELEC']";

	/** 長割表示区分：1：契約中（予約中） */
	private static final String CHO_DISP_KBN_YOYAKU = "1";
	/** 長割表示区分：2：契約中 */
	private static final String CHO_DISP_KBN_KEIYAKU = "2";
	/** 長割表示区分：3：未契約 */
	private static final String CHO_DISP_KBN_MIKEIYAKU = "3";

	/** eo電話定義取得キー：サービス名称 */
	private static final String ELEC_SVC_NM = "ELEC_SVC_NM";
	/** eo電話定義取得キー：年 */
	private static final String ELEC_Y = "ELEC_Y";
	/** eo電話定義取得キー：月 */
	private static final String ELEC_M = "ELEC_M";
	/** eo電話定義取得キー：日 */
	private static final String ELEC_D = "ELEC_D";
	/** eo電話定義取得キー：予定あり */
	private static final String ELEC_YOTEI_ARI = "ELEC_YOTEI_ARI";
	/** eo電話定義取得キー：予定なし */
	private static final String ELEC_YOTEI_NASHI = "ELEC_YOTEI_NASHI";
	/** eo電話定義取得キー：ご契約者氏名・連絡先お引越し先住所と同じ */
	private static final String ELEC_RRKS_ONJ = "ELEC_RRKS_ONJ";
	/** eo電話定義取得キー：その他の連絡先 */
	private static final String ELEC_RRKS_SNT = "ELEC_RRKS_SNT";
	/** eo電話定義取得キー：表示＿移転先ｅｏ電気料金プラン区分 */
	private static final String DSP_ITNS_EOELEC_PPLAN_DIV = "DSP_ITNS_EOELEC_PPLAN_DIV";
	/** eo電話定義取得キー：表示＿移転先ｅｏ電気料金プラン区分 */
	private static final String DSP_ITNM_EOELEC_KEI_COMP_CD = "DSP_ITNM_EOELEC_KEI_COMP_CD";
	/** 引越し元住居種別コード : ホーム */
	private static final String HKKS_MT_JKYO_SBT_CD_HT = "0";
	/** 引越し元住居種別コード : マンション */
	private static final String HKKS_MT_JKYO_SBT_CD_MT = "1";
	/** 引越し元住居種別コード : メゾン */
	private static final String HKKS_MT_JKYO_SBT_CD_MZ = "2";

	/** eo電気契約-有 */
	private static final String EO_ELEC_KEI_AR = "1";
	/** 移転元建物取り壊し予定の有無「1:予定あり」 */
	private static final String ELEC_TTMN_TRKWS_AR = "1";
	/** eo電気連絡先識別コード-ご契約者氏名・連絡先お引越し先住所と同じ */
	private static final String EO_ELEC_RRKS_CD_ONJ = "1";
	/** サービス利用選択 - 1:利用する */
	private static final String ELEC_SVC_CHOICE_YES = "1";

	/**
	 * 初期処理です。
	 * 
	 * @return 必ずtrue
	 * @throws Exception
	 */
	public boolean init() throws Exception
	{
		// デバッグログ
		DEBUG_LOG.debug("----- init_FUW10409SFLogic Start -----");

		//共有フォームBean情報の取得
		X31SDataBeanAccess commoninfoBean = super.getCommonInfoBean();
		//サービスフォームBean情報の取得
		X31SDataBeanAccess serviceBean = super.getServiceFormBean();
		// サービス契約情報
		X31SDataBeanAccess svcKeiInfoBean = JFUWebCommon.getDataBeanTypeByPath(commoninfoBean, JFUWebCommon.SVC_KEI_INFO);

		// オンライン運用日付を取得
		String opeDate = JFUWebCommon.getOpeDate(this, null);

		// -------------------------------------------------
		// サービス呼出処理
		// -------------------------------------------------
		// サービス検索条件格納用マップ
		HashMap<String, Object> inputMap = new HashMap<String, Object>();
		// サービス処理結果格納用マップ
		HashMap<String, Object> outputMap = new HashMap<String, Object>();

		// サービスパラメータ生成
		Map<String, String> paramMap = new HashMap<String, String>();
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, USECASE_ID_FUSV0254);

		// DataBean-BPマッピング
		FUSV0254_FUSV0254OPDBMapper mapper = new FUSV0254_FUSV0254OPDBMapper();

		X31SDataBeanAccess[] paramBean = { commoninfoBean, serviceBean };

		// 機能コード「1」を設定
		//住所変更Web申込内容一覧照会
		mapper.setFUSV025401SC(paramBean, inputMap, FUNC_CODE_1);
		//住所変更Web申込内容STB明細一覧照会
		mapper.setFUSV025402SC(paramBean, inputMap, FUNC_CODE_1);
		//住所変更Web申込内容電話番号明細一覧照会
		mapper.setFUSV025403SC(paramBean, inputMap, FUNC_CODE_1);
		//料金コースSTB一覧取得
		mapper.setFUSV025404SC(paramBean, inputMap, FUNC_CODE_1, opeDate);
		//業務パラメータ管理一意照会
		mapper.setFUSV025405SC(paramBean, inputMap, FUNC_CODE_1);
		//コード名称管理一意照会SC（ネット）
		mapper.setFUSV025406SC(paramBean, inputMap, FUNC_CODE_1, opeDate);
		//コード名称管理一意照会SC（電話）
		mapper.setFUSV025407SC(paramBean, inputMap, FUNC_CODE_1, opeDate);
		//コード名称管理一意照会SC（テレビ）
		mapper.setFUSV025408SC(paramBean, inputMap, FUNC_CODE_1, opeDate);
		//コード名称管理一意照会SC（eo電気住所変更連絡先電話番号コード）
		mapper.setFUSV025409SC(paramBean, inputMap, FUNC_CODE_1, opeDate);
		//コード名称管理一意照会SC（eo電気住所変更時間帯聴き取りコード）
		mapper.setFUSV025410SC(paramBean, inputMap, FUNC_CODE_1, opeDate);

		try
		{
			// サービス呼び出し
			invokeService(paramMap, inputMap, outputMap);
		}
		catch (JCCWebServiceException se)
		{
			// 業務用例外クラスをthrowする。
			throw new JCCBusinessException(JFUStrConst.ERROR_CODE_0002);
		}

		// サービス開始年月日
		String svcStaYMD = svcKeiInfoBean.sendMessageString(CommonInfoCFConst.SVC_STA_YMD_23, X31CWebConst.DATABEAN_GET_VALUE);

		// サービスからの戻りデータをBeanにセット
		serviceBean = mapper.getFUSV025401SC(serviceBean, outputMap);
		serviceBean = mapper.getFUSV025402SC(serviceBean, outputMap);
		serviceBean = mapper.getFUSV025403SC(serviceBean, outputMap);
		serviceBean = mapper.getFUSV025404SC(serviceBean, outputMap);
		serviceBean = mapper.getFUSV025405SC(serviceBean, outputMap, this, svcStaYMD);
		serviceBean = mapper.getFUSV025406SC(serviceBean, outputMap);
		serviceBean = mapper.getFUSV025407SC(serviceBean, outputMap);
		serviceBean = mapper.getFUSV025408SC(serviceBean, outputMap);
		serviceBean = mapper.getFUSV025409SC(serviceBean, outputMap);
		serviceBean = mapper.getFUSV025410SC(serviceBean, outputMap);

		// -------------------------------------------------
		//サービス呼出し後処理
		// -------------------------------------------------
		//Web申込受付年月日
		String webMskmUkYmd = midString(serviceBean.sendMessageString(FUW10409SFConst.WEB_MSKM_UK_DTM, GET), 0, 8);
		if (!JFUWebCommon.isNull(webMskmUkYmd))
		{
			//日数差分を取得
			int deff_date = JFUWebCommon.subtractDay(opeDate, webMskmUkYmd);
			if (NO_DISP_DAYS <= deff_date)
			{
				//データが存在しない場合、または、引越受付年月日が91日以上経過※している場合 ※運用日付と比較
				// 業務用例外クラスをthrowする。（住所変更申込なし画面に遷移）
				throw new JCCBusinessException(JFUStrConst.ERROR_CODE_0804);
			}

		}
		else
		{
			//データが存在しない場合、業務用例外クラスをthrowする。（住所変更申込なし画面に遷移）
			throw new JCCBusinessException(JFUStrConst.ERROR_CODE_0804);

		}

		// -------------------------------------------------
		//表示の編集処理
		// -------------------------------------------------

		//月額料金合計（3桁カンマ編集）
		serviceBean.sendMessageString(FUW10409SFConst.DSP_GTGPRCAM_GOKEI, SET, JFUWebCommon.formatNumber(serviceBean.sendMessageString(
				FUW10409SFConst.GTGK_HI_GOKEI_AMNT, GET))
				+ YEN);

		//////////////////////
		//月額料金リスト
		//////////////////////

		//月額料金リストのカウント
		int i = -1;

		//引越し後ネットサービスタイプコードを取得
		
		String HikkoshiAfNetSvcTypeCd = "";
		
		//eo光ネットホームタイプ
		//変更後ネットサービス申込内容コード名称を取得。
		String chaf_net_svc_mkm_nyo_nm = getNetNm(serviceBean, serviceBean.sendMessageString(FUW10409SFConst.CHAF_NET_SVC_MKM_NYO_CD, GET));

		setAdFormDiv(serviceBean, serviceBean.sendMessageString(FUW10409SFConst.CHAF_NET_SVC_MKM_NYO_CD, GET));
		
		//変更後ネットサービス申込内容コードを取得。
		String ad_form_div = serviceBean.sendMessageString(FUW10409SFConst.ITENS_AD_FORM_DIV, GET);
		
		//住居タイプを判定
		if(isSimple(commoninfoBean))
		{
			//シンプルプランの場合
			chaf_net_svc_mkm_nyo_nm = EO_SIMPLE.replace(ATMK, chaf_net_svc_mkm_nyo_nm);
		}
		else
		{
			if(!JKKStringUtil.isNullBlank(ad_form_div))
			{
				if(ad_form_div == "03")
				{
					//マンションタイプの場合
					chaf_net_svc_mkm_nyo_nm = EO_NET_MT.replace(ATMK, chaf_net_svc_mkm_nyo_nm);
				}
				else if(ad_form_div == "02")
				{
					//メゾンタイプの場合
					chaf_net_svc_mkm_nyo_nm = EO_NET_MZ.replace(ATMK, chaf_net_svc_mkm_nyo_nm);
				}
				else if(ad_form_div == "01")
				{
					//ホームタイプの場合
					chaf_net_svc_mkm_nyo_nm = EO_NET.replace(ATMK, chaf_net_svc_mkm_nyo_nm);
				}
			}
		}
		
		//変更後ネット月額料金額の末尾に「円」を付与。
		addGtgkList(serviceBean, ++i, chaf_net_svc_mkm_nyo_nm, JFUWebCommon.formatNumber(serviceBean.sendMessageString(
				FUW10409SFConst.CHAF_NET_GTGPRCAM, GET))
				+ YEN);

		//移転先モデム利用区分
		String itens_modem_use_div = serviceBean.sendMessageString(FUW10409SFConst.ITENS_MODEM_USE_DIV, GET);
		if (!JKKStringUtil.isNullBlank(itens_modem_use_div))
		{
			if (JFUStrConst.CD00726_1.equals(itens_modem_use_div))
			{
				//表示＿移転先モデム利用区分名
				String dsp_itens_modem_use_div_nm = serviceBean.sendMessageString(FUW10409SFConst.DSP_ITENS_MODEM_USE_DIV_NM, GET);
				
				if (!JKKStringUtil.isNullBlank(dsp_itens_modem_use_div_nm))
				{
					//移転先モデム利用区分がモデムレンタルプランの場合
					String dsp_chaf_vdsl_prc_amnt = JFUWebCommon.formatNumber(serviceBean.sendMessageString(FUW10409SFConst.DSP_CHAF_VDSL_PRC_AMNT, GET));
					//変更後ＶＤＳＬ料金額の末尾に「円」を付与
					addGtgkList(serviceBean, ++i, dsp_itens_modem_use_div_nm, dsp_chaf_vdsl_prc_amnt + YEN);
				}
			}
		}

		//eo光電話
		//変更後電話サービス申込内容コード
		String chaf_tel_svc_mkm_nyo_cd = serviceBean.sendMessageString(FUW10409SFConst.CHAF_TEL_SVC_MKM_NYO_CD, GET);
		String chaf_tel_svc_mkm_nyo_nm = JFUStrConst.EMPTY;
		if (!TL_SVC_MKM_CD_RIYOSINAI.equals(chaf_tel_svc_mkm_nyo_cd))
		{
			//変更後電話サービス申込内容コードが01（利用しない）以外の場合

			//変更後電話サービス申込内容コード名称を取得。
			chaf_tel_svc_mkm_nyo_nm = getTelNm(serviceBean, chaf_tel_svc_mkm_nyo_cd);
			//変更後電話月額料金額の末尾に「円」を付与。
			addGtgkList(serviceBean, ++i, EO_TEL.replace(ATMK, chaf_tel_svc_mkm_nyo_nm), JFUWebCommon.formatNumber(serviceBean
					.sendMessageString(FUW10409SFConst.CHAF_TEL_GTGPRCAM, GET))
					+ YEN);
		}
		else
		{
			//変更後電話サービス申込内容コードが01（利用しない）の場合
			chaf_tel_svc_mkm_nyo_nm = RIYO_SHINAI;
		}

		//変更後テレビサービス申込内容コード
		String chaf_tv_svc_mkm_nyo_cd = serviceBean.sendMessageString(FUW10409SFConst.CHAF_TV_SVC_MKM_NYO_CD, GET);
		if (TV_SVC_MKM_CD_TUNARI_RIYO.equals(chaf_tv_svc_mkm_nyo_cd))
		{
			//変更後テレビサービス申込内容コードが「eo光テレビチューナーありで利用」の場合

			//eo光テレビコース名、eo光テレビチューナー名
			//住所変更Web申込内容STB明細一覧照会明細リストの件数分処理を行う。
			X31SDataBeanAccessArray stbList = serviceBean.getDataBeanArray(FUW10409SFConst.STB_DTL_LIST);
			for (int j = 0; j < stbList.getCount(); j++)
			{
				X31SDataBeanAccess stbBean = stbList.getDataBean(j);

				//変更後TVコース料金コースコードからチューナー名、録画機能名表示用文言を取得し、先頭に半角スペースを付与
				String chaf_tv_course_pcrs_cd = stbBean.sendMessageString(FUW10409SFConst.CHAF_TV_COURSE_PCRS_CD_01, GET);
				String chaf_tv_course_pcrs_nm = EO_TV.replace(ATMK, stbBean.sendMessageString(FUW10409SFConst.CHAF_TV_COURSE_PCRS_NM_01, GET));

				// 撤去時など後の料金コース名がNULLの場合は以下の処理を行わない。
				if (JFUWebCommon.isNull(chaf_tv_course_pcrs_cd) == false)
				{
					//変更後TVコース月額料金額の末尾に「円」を付与。
					String chaf_tv_course_gtgprcam =
							JFUWebCommon.formatNumber(stbBean.sendMessageString(FUW10409SFConst.CHAF_TV_COURSE_GTGPRCAM_01, GET)) + YEN;
	
					//設定
					addGtgkList(serviceBean, ++i, chaf_tv_course_pcrs_nm, chaf_tv_course_gtgprcam);
	
					//変更後STB料金コース名を取得
					String chaf_stb_pcrs_cd = stbBean.sendMessageString(FUW10409SFConst.CHAF_STB_PCRS_CD_01, GET);
					String chaf_stb_pcrs_nm = JFUStrConst.SPACE + getTvKikiNm(chaf_stb_pcrs_cd);
	
					//変更後STB月額料金額の末尾に「円」を付与
					String chaf_stb_gtgprcam = JFUWebCommon.formatNumber(stbBean.sendMessageString(FUW10409SFConst.CHAF_STB_GTGPRCAM_01, GET)) + YEN;
	
					// 設定
					addGtgkList(serviceBean, ++i, chaf_stb_pcrs_nm, chaf_stb_gtgprcam);
				}
			}
		}
		else if (TV_SVC_MKM_CD_TUNNASI_RIYO.equals(chaf_tv_svc_mkm_nyo_cd) || TV_SVC_MKM_CD_TUNNASI_RIYO_STAR_SET.equals(chaf_tv_svc_mkm_nyo_cd))
		{
			//変更後テレビサービス申込内容コードが「eo光テレビチューナーなしで利用(地デジ・BS)」または、
			//「eo光テレビチューナーなしで利用(地デジ・BS　スターチャンネルセット)」の場合

			//確認＿変更後テレビ月額料金額の末尾に「円」を付与。
			String chaf_tv_gtgprcam = JFUWebCommon.formatNumber(serviceBean.sendMessageString(FUW10409SFConst.CHAF_TV_GTGPRCAM, GET)) + YEN;
			if (JFUStrConst.CD01440_03.equals(chaf_tv_svc_mkm_nyo_cd))
			{
				// 設定
				addGtgkList(serviceBean, ++i, EO_TV.replace(ATMK, TV_SVC_MKM_NM_TUNNASI_RIYO), chaf_tv_gtgprcam);
			}
			else
			{
				// 設定
				addGtgkList(serviceBean, ++i, EO_TV.replace(ATMK, TV_SVC_MKM_NM_TUNNASI_RIYO_STAR_SET), chaf_tv_gtgprcam);
			}
		}
		else if (JFUStrConst.CD01440_05.equals(chaf_tv_svc_mkm_nyo_cd) || JFUStrConst.CD01440_06.equals(chaf_tv_svc_mkm_nyo_cd))
		{
			//変更後テレビサービス申込内容コードが「CSベーシック」または「CSプレミアム」の場合

			//確認＿変更後テレビ月額料金額の末尾に「円」を付与。
			String chaf_tv_gtgprcam = JFUWebCommon.formatNumber(serviceBean.sendMessageString(FUW10409SFConst.CHAF_TV_GTGPRCAM, GET)) + YEN;
			if (JFUStrConst.CD01440_05.equals(chaf_tv_svc_mkm_nyo_cd))
			{
				// CSベーシック
				addGtgkList(serviceBean, ++i, EO_TV.replace(ATMK, getPcrsNm(JFUStrConst.CD00134_AC0)), chaf_tv_gtgprcam);
			}
			else
			{
				// CSプレミアム
				addGtgkList(serviceBean, ++i, EO_TV.replace(ATMK, getPcrsNm(JFUStrConst.CD00134_AC1)), chaf_tv_gtgprcam);
			}
		}

		//eo光テレビガイド誌
		//変更後ケーブルガイド申込数が0以外場合
		String chaf_cable_guide_mskm_cnt = nullToZero(serviceBean.sendMessageString(FUW10409SFConst.CHAF_CABLE_GUIDE_MSKM_CNT, GET));
		if (!SATSU_ZERO.equals(chaf_cable_guide_mskm_cnt))
		{
			//固定文字列「eo光テレビガイド誌(X冊)」の「@」部分を変更後ケーブルガイド申込数で置換
			String dsp_chaf_tv_gtgprcam = GUIDEMG.replace(ATMK, chaf_cable_guide_mskm_cnt);
			//変更後TVガイド誌月額料金額の末尾に「円」を付与
			String chaf_tv_guidemg_gtgprcam =
					JFUWebCommon.formatNumber(serviceBean.sendMessageString(FUW10409SFConst.CHAF_TV_GUIDEMG_GTGPRCAM, GET)) + YEN;
			addGtgkList(serviceBean, ++i, dsp_chaf_tv_gtgprcam, chaf_tv_guidemg_gtgprcam);
		}

		//空文字を月額料金リストに追加する。（1行分あける）
		addGtgkList(serviceBean, ++i, JFUStrConst.EMPTY, JFUStrConst.EMPTY);

		//セット割引
		boolean setWariFlg = false;
		//変更後ネット電話割引ネット割引有無
		String chaf_nttlwr_net_wrib_um = serviceBean.sendMessageString(FUW10409SFConst.CHAF_NTTLWR_NET_WRIB_UM, GET);
		if (JFUStrConst.CD00002_1.equals(chaf_nttlwr_net_wrib_um))
		{
			//変更後ネット電話割引ネット割引有無が「有」の場合

			//変更後ネット電話割引ネット割引文言
			String chaf_nttlwr_net_wrib_mngn = serviceBean.sendMessageString(FUW10409SFConst.CHAF_NTTLWR_NET_WRIB_MNGN, GET);
			//変更後ネット電話割引ネット割引額の頭に「▲」に付加。末尾に「円」を付与
			String chaf_nttlwr_net_wrib_amnt =
					KIGO_MINUS_DSP + JFUWebCommon.formatNumber(serviceBean.sendMessageString(FUW10409SFConst.CHAF_NTTLWR_NET_WRIB_AMNT, GET)) + YEN;
			addGtgkList(serviceBean, ++i, chaf_nttlwr_net_wrib_mngn, chaf_nttlwr_net_wrib_amnt);
			setWariFlg = true;
		}

		//変更後ネットテレビ割引ネット割引有無
		String chaf_nttvwr_net_wrib_um = serviceBean.sendMessageString(FUW10409SFConst.CHAF_NTTVWR_NET_WRIB_UM, GET);
		if (JFUStrConst.CD00002_1.equals(chaf_nttvwr_net_wrib_um))
		{
			//変更後ネットテレビ割引ネット割引有無が「有」の場合

			//変更後ネットテレビ割引ネット割引文言
			String chaf_nttvwr_net_wrib_mngn = serviceBean.sendMessageString(FUW10409SFConst.CHAF_NTTVWR_NET_WRIB_MNGN, GET);
			//変更後ネットテレビ割引ネット割引額の頭に「▲」に付加。末尾に「円」を付与
			String chaf_nttvwr_net_wrib_amnt =
					KIGO_MINUS_DSP + JFUWebCommon.formatNumber(serviceBean.sendMessageString(FUW10409SFConst.CHAF_NTTVWR_NET_WRIB_AMNT, GET)) + YEN;
			addGtgkList(serviceBean, ++i, chaf_nttvwr_net_wrib_mngn, chaf_nttvwr_net_wrib_amnt);
			setWariFlg = true;
		}

		//変更後ネットテレビ割引テレビ割引有無
		String chaf_nttvwr_tv_wrib_um = serviceBean.sendMessageString(FUW10409SFConst.CHAF_NTTVWR_TV_WRIB_UM, GET);
		if (JFUStrConst.CD00002_1.equals(chaf_nttvwr_tv_wrib_um))
		{
			//変更後ネットテレビ割引テレビ割引有無が「有」の場合

			//変更後ネットテレビ割引テレビ割引文言
			String chaf_nttvwr_tv_wrib_mngn = serviceBean.sendMessageString(FUW10409SFConst.CHAF_NTTVWR_TV_WRIB_MNGN, GET);
			//変更後ネットテレビ割引テレビ割引額の頭に「▲」に付加。末尾に「円」を付与
			String chaf_nttvwr_tv_wrib_amnt =
					KIGO_MINUS_DSP + JFUWebCommon.formatNumber(serviceBean.sendMessageString(FUW10409SFConst.CHAF_NTTVWR_TV_WRIB_AMNT, GET)) + YEN;
			addGtgkList(serviceBean, ++i, chaf_nttvwr_tv_wrib_mngn, chaf_nttvwr_tv_wrib_amnt);
			setWariFlg = true;
		}

		//セット割引が１件でもあれば空文字を月額料金リストに追加する。（1行分あける）
		if (setWariFlg)
		{
			addGtgkList(serviceBean, ++i, JFUStrConst.EMPTY, JFUStrConst.EMPTY);
		}

		//初期費用合計
		//サービスフォームBean.初期費用合計をサービスフォームBean.表示_初期費用合計に設定する。
		serviceBean.sendMessageString(FUW10409SFConst.DSP_SHKH_GOKEI, SET, JFUWebCommon.formatNumber(serviceBean.sendMessageString(
				FUW10409SFConst.SHKH_GOKEI_AMNT, GET))
				+ YEN);

		//////////////////////////
		//初期費用リスト
		//////////////////////////

		//月額料金リストのカウント
		int k = -1;

		if (!JKKStringUtil.isNullBlank(itens_modem_use_div))
		{
			if (JFUStrConst.CD00726_2.equals(itens_modem_use_div))
			{
				//表示＿移転先モデム利用区分名
				String dsp_itens_modem_use_div_nm = serviceBean.sendMessageString(FUW10409SFConst.DSP_ITENS_MODEM_USE_DIV_NM, GET);
				
				if (!JKKStringUtil.isNullBlank(dsp_itens_modem_use_div_nm))
				{
					//移転先モデム利用区分がモデム買取プランの場合
					String dsp_chaf_vdsl_prc_amnt = JFUWebCommon.formatNumber(serviceBean.sendMessageString(FUW10409SFConst.DSP_CHAF_VDSL_PRC_AMNT, GET));
					//変更後ＶＤＳＬ料金額の末尾に「円」を付与
					addshkhList(serviceBean, ++k, dsp_itens_modem_use_div_nm, dsp_chaf_vdsl_prc_amnt + YEN);
				}
			}
		}

		//電話事務手数料名
		String tel_jmte_nm = serviceBean.sendMessageString(FUW10409SFConst.TEL_JMTE_NM, GET);
		if (!JFUStrConst.EMPTY.equals(tel_jmte_nm))
		{
			//電話事務手数料名が登録されている場合
			String tel_jmte_amnt = JFUWebCommon.formatNumber(serviceBean.sendMessageString(FUW10409SFConst.TEL_JMTE_AMNT, GET));
			//電話事務手数料金額の末尾に「円」を付与
			addshkhList(serviceBean, ++k, tel_jmte_nm, tel_jmte_amnt + YEN);
		}

		//電話料金プラン変更手数料名
		String tel_ppchg_commision_nm = serviceBean.sendMessageString(FUW10409SFConst.TEL_PPCHG_COMMISION_NM, GET);
		if (!JFUStrConst.EMPTY.equals(tel_ppchg_commision_nm))
		{
			//電話事務手数料名が登録されている場合
			String tel_ppchg_commision_amnt =
					JFUWebCommon.formatNumber(serviceBean.sendMessageString(FUW10409SFConst.TEL_PPCHG_COMMISION_AMNT, GET));
			//電話事務手数料金額の末尾に「円」を付与
			addshkhList(serviceBean, ++k, tel_ppchg_commision_nm, tel_ppchg_commision_amnt + YEN);
		}

		//テレビ新設工事費名
		String tv_newesta_kojihi_nm = serviceBean.sendMessageString(FUW10409SFConst.TV_NEWESTA_KOJIHI_NM, GET);
		if (!JFUStrConst.EMPTY.equals(tv_newesta_kojihi_nm))
		{
			//テレビ新設工事費名が登録されている場合
			String tv_newesta_kojihi_amnt = JFUWebCommon.formatNumber(serviceBean.sendMessageString(FUW10409SFConst.TV_NEWESTA_KOJIHI_AMNT, GET));
			//テレビ新設工事費金額の末尾に「円」を付与
			addshkhList(serviceBean, ++k, tv_newesta_kojihi_nm, tv_newesta_kojihi_amnt + YEN);
		}

		//番号ポータビリティー手数料名
		String bmp_commision_nm = serviceBean.sendMessageString(FUW10409SFConst.BMP_COMMISION_NM, GET);
		if (!JFUStrConst.EMPTY.equals(bmp_commision_nm))
		{
			//番号ポータビリティー手数料名が登録されている場合
			String bmp_commision_amnt = JFUWebCommon.formatNumber(serviceBean.sendMessageString(FUW10409SFConst.BMP_COMMISION_AMNT, GET));
			//番号ポータビリティー手数料金額の末尾に「円」を付与
			addshkhList(serviceBean, ++k, bmp_commision_nm, bmp_commision_amnt + YEN);
		}

		//移転元撤去工事費名
		String itnm_tekkyo_kojihi_nm = serviceBean.sendMessageString(FUW10409SFConst.ITNM_TEKKYO_KOJIHI_NM, GET);
		if (!JFUStrConst.EMPTY.equals(itnm_tekkyo_kojihi_nm))
		{
			//移転元撤去工事費名が登録されている場合
			String itnm_tekkyo_kojihi_amnt =
					JFUWebCommon.formatNumber(serviceBean.sendMessageString(FUW10409SFConst.ITNM_TEKKYO_KOJIHI_AMNT, GET));
			//移転元撤去工事費金額の末尾に「円」を付与
			addshkhList(serviceBean, ++k, itnm_tekkyo_kojihi_nm, itnm_tekkyo_kojihi_amnt + YEN);
		}

		//STB撤去工事費名
		String stb_tekkyo_kojihi_nm = serviceBean.sendMessageString(FUW10409SFConst.STB_TEKKYO_KOJIHI_NM, GET);
		if (!JFUStrConst.EMPTY.equals(stb_tekkyo_kojihi_nm))
		{
			//STB撤去工事費名が登録されている場合
			String stb_tekkyo_kojihi_amnt = JFUWebCommon.formatNumber(serviceBean.sendMessageString(FUW10409SFConst.STB_TEKKYO_KOJIHI_AMNT, GET));
			//STB撤去工事費金額の末尾に「円」を付与
			addshkhList(serviceBean, ++k, stb_tekkyo_kojihi_nm, stb_tekkyo_kojihi_amnt + YEN);
		}

		//STB設置工事費名
		String stb_stc_kojihi_nm = serviceBean.sendMessageString(FUW10409SFConst.STB_STC_KOJIHI_NM, GET);
		if (!JFUStrConst.EMPTY.equals(stb_stc_kojihi_nm))
		{
			//STB設置工事費名が登録されている場合
			String stb_stc_kojihi_amnt = JFUWebCommon.formatNumber(serviceBean.sendMessageString(FUW10409SFConst.STB_STC_KOJIHI_AMNT, GET));
			//STB設置工事費金額の末尾に「円」を付与
			addshkhList(serviceBean, ++k, stb_stc_kojihi_nm, stb_stc_kojihi_amnt + YEN);
		}

		//お引越し先住所（郵便番号）
		String pcd = serviceBean.sendMessageString(FUW10409SFConst.ITENS_PCD, GET);
		serviceBean.sendMessageString(FUW10409SFConst.DSP_PCD, SET,  JFUWebCommon.hyhunPcd(pcd));

		//お引越し先住所（住所）
		String state = JKKStringUtil.nullToBlank(serviceBean.sendMessageString(FUW10409SFConst.ITENS_STATE_NM, GET));
		String city = JKKStringUtil.nullToBlank(serviceBean.sendMessageString(FUW10409SFConst.ITENS_CITY_NM, GET));
		String oaztsu = JKKStringUtil.nullToBlank(serviceBean.sendMessageString(FUW10409SFConst.ITENS_OAZTSU_NM, GET));
		String azcho = JKKStringUtil.nullToBlank(serviceBean.sendMessageString(FUW10409SFConst.ITENS_AZCHO_NM, GET));
		String bhchigo = JKKStringUtil.nullToBlank(serviceBean.sendMessageString(FUW10409SFConst.ITENS_BNCHIGO, GET));
		String adrttm = JKKStringUtil.nullToBlank(serviceBean.sendMessageString(FUW10409SFConst.ITENS_ADRTTM, GET));
		String adrrm = JKKStringUtil.nullToBlank(serviceBean.sendMessageString(FUW10409SFConst.ITENS_ADRRM, GET));
		
		String hikkoshi_ad = state + city + oaztsu + azcho + bhchigo;
		
		if (!JKKStringUtil.isNullBlank(adrttm))
		{
			hikkoshi_ad = hikkoshi_ad + "　" + adrttm;
		};
		
		if (!JKKStringUtil.isNullBlank(adrrm))
		{
			hikkoshi_ad = hikkoshi_ad + "　" + adrrm;
		};
		
		serviceBean.sendMessageString(FUW10409SFConst.DSP_HIKKOSHI_AD, SET, hikkoshi_ad);
		
		// ANK-3248-00-00 MOD END

		//契約者住所変更の表示フラグ
		//サービスフォームBean.契約者住所変更有無「0：無」「1：有」をサービスフォームBean.表示_契約者住所変更の表示フラグに設定する。
		String kshad_chg_um = serviceBean.sendMessageString(FUW10409SFConst.KSHAD_CHG_UM, GET);
		serviceBean.sendMessageString(FUW10409SFConst.DSP_CHNG_MV_ADDRC, SET, kshad_chg_um);

		//請求書送付先住所変更の表示フラグ
		//サービスフォームBean.請求書送付先住所変更有無「0：無」「1：有」をサービスフォームBean.表示_請求書送付先住所変更の表示フラグに設定する。
		String sks_shs_ad_chg_um = serviceBean.sendMessageString(FUW10409SFConst.SKS_SHS_AD_CHG_UM, GET);
		serviceBean.sendMessageString(FUW10409SFConst.DSP_CHNG_MV_BILLING_ADDR, SET, sks_shs_ad_chg_um);

		//お引越し先の建物
		//サービスフォームBean.新築物件コードをサービスフォームBean.表示_お引越し先の建物に設定する。
		String newconst_bukken_cd = serviceBean.sendMessageString(FUW10409SFConst.NEWCONST_BUKKEN_CD, GET);
		serviceBean.sendMessageString(FUW10409SFConst.DSP_ITNSK_TTMN, SET, newconst_bukken_cd);

		//引込の調査方法
		//サービスフォームBean.調査員訪問の希望有無をサービスフォームBean.表示_引込の調査方法に設定する。
		String chsin_vsit_kbum = serviceBean.sendMessageString(FUW10409SFConst.CHSIN_VSIT_KBUM, GET);
		serviceBean.sendMessageString(FUW10409SFConst.DSP_HKKM_CHOSA_JOKYO, SET, chsin_vsit_kbum);

		//お引越し予定日
		serviceBean.sendMessageString(FUW10409SFConst.DSP_HIKKOSHI_RSVD, SET, serviceBean.sendMessageString(FUW10409SFConst.HIKKOSHI_RSV_YMD,
				GET));

		//現住所撤去工事希望日
		serviceBean.sendMessageString(FUW10409SFConst.DSP_NOW_AD_TKKJ_KIBOD, SET, serviceBean.sendMessageString(
				FUW10409SFConst.TKKJ_KIBO_YMD, GET));

		//表示_メールアドレス
		serviceBean.sendMessageString(FUW10409SFConst.DSP_MLAD, SET, serviceBean.sendMessageString(FUW10409SFConst.MLAD, GET));

		//連絡先電話番号
		serviceBean.sendMessageString(FUW10409SFConst.DSP_RRKS_TELNO, SET, serviceBean.sendMessageString(FUW10409SFConst.RRKS_TELNO, GET));

		//コース名称（ネット）
		serviceBean.sendMessageString(FUW10409SFConst.DSP_EOHNT_COURSE_NM, SET, getNetNm(serviceBean, serviceBean.sendMessageString(
				FUW10409SFConst.CHAF_NET_SVC_MKM_NYO_CD, GET)));

		//サービス名称（電話）
		serviceBean.sendMessageString(FUW10409SFConst.DSP_EOHTL_SVC_NM, SET, chaf_tel_svc_mkm_nyo_nm);
		
		//	表示＿書面送付先移転元郵便番号の表示
		serviceBean.sendMessageString(FUW10409SFConst.DSP_ATICLE_SOHUS_ITENM_PCD, SET, 
				JFUWebCommon.hyhunPcd(serviceBean.sendMessageString(FUW10409SFConst.ATICLE_SOHUS_ITENM_PCD, GET)));
		
		//表示_書面送付先移転元住所
		String aticle_sohus_itenm_state = JKKStringUtil.nullToBlank(serviceBean.sendMessageString(FUW10409SFConst.ATICLE_SOHUS_ITENM_STATE_NM, GET));
		String aticle_sohus_itenm_city = JKKStringUtil.nullToBlank(serviceBean.sendMessageString(FUW10409SFConst.ATICLE_SOHUS_ITENM_CITY_NM, GET));
		String aticle_sohus_itenm_oaztsu = JKKStringUtil.nullToBlank(serviceBean.sendMessageString(FUW10409SFConst.ATICLE_SOHUS_ITENM_OAZTSU_NM, GET));
		String aticle_sohus_itenm_azcho = JKKStringUtil.nullToBlank(serviceBean.sendMessageString(FUW10409SFConst.ATICLE_SOHUS_ITENM_AZCHO_NM, GET));
		String aticle_sohus_itenm_bhchigo = JKKStringUtil.nullToBlank(serviceBean.sendMessageString(FUW10409SFConst.ATICLE_SOHUS_ITENM_BNCHIGO, GET));
		String aticle_sohus_itenm_adrttm = JKKStringUtil.nullToBlank(serviceBean.sendMessageString(FUW10409SFConst.ATICLE_SOHUS_ITENM_ADRTTM, GET));
		String aticle_sohus_itenm_adrrm = JKKStringUtil.nullToBlank(serviceBean.sendMessageString(FUW10409SFConst.ATICLE_SOHUS_ITENM_ADRRM, GET));
		
		String aticle_sohus_itenm_hikkoshi_ad = aticle_sohus_itenm_state + aticle_sohus_itenm_city
												+ aticle_sohus_itenm_oaztsu + aticle_sohus_itenm_azcho + aticle_sohus_itenm_bhchigo;
		
		if (!JKKStringUtil.isNullBlank(aticle_sohus_itenm_adrttm))
		{
			aticle_sohus_itenm_hikkoshi_ad = aticle_sohus_itenm_hikkoshi_ad + "　" + aticle_sohus_itenm_adrttm;
		};
		
		if (!JKKStringUtil.isNullBlank(aticle_sohus_itenm_adrrm))
		{
			aticle_sohus_itenm_hikkoshi_ad = aticle_sohus_itenm_hikkoshi_ad + "　" + aticle_sohus_itenm_adrrm;
		};
		
		serviceBean.sendMessageString(FUW10409SFConst.DSP_ATICLE_SOHUS_ITENM_AD, SET, aticle_sohus_itenm_hikkoshi_ad);
		
		//	表示＿書面送付先移転先郵便番号の表示
		serviceBean.sendMessageString(FUW10409SFConst.DSP_ATICLE_SOHUS_ITENS_PCD, SET, 
				JFUWebCommon.hyhunPcd(serviceBean.sendMessageString(FUW10409SFConst.ATICLE_SOHUS_ITENS_PCD, GET)));
		
		//表示_書面送付先移転先住所
		String aticle_sohus_itens_state = JKKStringUtil.nullToBlank(serviceBean.sendMessageString(FUW10409SFConst.ATICLE_SOHUS_ITENS_STATE_NM, GET));
		String aticle_sohus_itens_city = JKKStringUtil.nullToBlank(serviceBean.sendMessageString(FUW10409SFConst.ATICLE_SOHUS_ITENS_CITY_NM, GET));
		String aticle_sohus_itens_oaztsu = JKKStringUtil.nullToBlank(serviceBean.sendMessageString(FUW10409SFConst.ATICLE_SOHUS_ITENS_OAZTSU_NM, GET));
		String aticle_sohus_itens_azcho = JKKStringUtil.nullToBlank(serviceBean.sendMessageString(FUW10409SFConst.ATICLE_SOHUS_ITENS_AZCHO_NM, GET));
		String aticle_sohus_itens_bhchigo = JKKStringUtil.nullToBlank(serviceBean.sendMessageString(FUW10409SFConst.ATICLE_SOHUS_ITENS_BNCHIGO, GET));
		String aticle_sohus_itens_adrttm = JKKStringUtil.nullToBlank(serviceBean.sendMessageString(FUW10409SFConst.ATICLE_SOHUS_ITENS_ADRTTM, GET));
		String aticle_sohus_itens_adrrm = JKKStringUtil.nullToBlank(serviceBean.sendMessageString(FUW10409SFConst.ATICLE_SOHUS_ITENS_ADRRM, GET));
		
		String aticle_sohus_itens_hikkoshi_ad = aticle_sohus_itens_state + aticle_sohus_itens_city + aticle_sohus_itens_oaztsu +
										 aticle_sohus_itens_azcho + aticle_sohus_itens_bhchigo;
		
		if (!JKKStringUtil.isNullBlank(aticle_sohus_itens_adrttm))
		{
			aticle_sohus_itens_hikkoshi_ad = aticle_sohus_itens_hikkoshi_ad + "　" + aticle_sohus_itens_adrttm;
		};
		
		if (!JKKStringUtil.isNullBlank(aticle_sohus_itens_adrrm))
		{
			aticle_sohus_itens_hikkoshi_ad = aticle_sohus_itens_hikkoshi_ad + "　" + aticle_sohus_itens_adrrm;
		};
		
		serviceBean.sendMessageString(FUW10409SFConst.DSP_ATICLE_SOHUS_ITENS_AD, SET, aticle_sohus_itens_hikkoshi_ad);
		
		//表示＿機器送付先移転元郵便番号の表示
		serviceBean.sendMessageString(FUW10409SFConst.DSP_KIKI_SOHUS_ITENM_PCD, SET,
			JFUWebCommon.hyhunPcd(serviceBean.sendMessageString(FUW10409SFConst.KIKI_SOHUS_ITENM_PCD, GET)));
		
		//表示_機器送付先移転元住所
		String kiki_sohus_itenm_state = JKKStringUtil.nullToBlank(serviceBean.sendMessageString(FUW10409SFConst.KIKI_SOHUS_ITENM_STATE_NM, GET));
		String kiki_sohus_itenm_city = JKKStringUtil.nullToBlank(serviceBean.sendMessageString(FUW10409SFConst.KIKI_SOHUS_ITENM_CITY_NM, GET));
		String kiki_sohus_itenm_oaztsu = JKKStringUtil.nullToBlank(serviceBean.sendMessageString(FUW10409SFConst.KIKI_SOHUS_ITENM_OAZTSU_NM, GET));
		String kiki_sohus_itenm_azcho = JKKStringUtil.nullToBlank(serviceBean.sendMessageString(FUW10409SFConst.KIKI_SOHUS_ITENM_AZCHO_NM, GET));
		String kiki_sohus_itenm_bhchigo = JKKStringUtil.nullToBlank(serviceBean.sendMessageString(FUW10409SFConst.KIKI_SOHUS_ITENM_BNCHIGO, GET));
		String kiki_sohus_itenm_adrttm = JKKStringUtil.nullToBlank(serviceBean.sendMessageString(FUW10409SFConst.KIKI_SOHUS_ITENM_ADRTTM, GET));
		String kiki_sohus_itenm_adrrm = JKKStringUtil.nullToBlank(serviceBean.sendMessageString(FUW10409SFConst.KIKI_SOHUS_ITENM_ADRRM, GET));
		
		String kiki_sohus_itenm_hikkoshi_ad = kiki_sohus_itenm_state + kiki_sohus_itenm_city + kiki_sohus_itenm_oaztsu 
												+ kiki_sohus_itenm_azcho + kiki_sohus_itenm_bhchigo;
		
		if (!JKKStringUtil.isNullBlank(kiki_sohus_itenm_adrttm))
		{
			kiki_sohus_itenm_hikkoshi_ad = kiki_sohus_itenm_hikkoshi_ad + "　" + kiki_sohus_itenm_adrttm;
		};
		
		if (!JKKStringUtil.isNullBlank(kiki_sohus_itenm_adrrm))
		{
			kiki_sohus_itenm_hikkoshi_ad = kiki_sohus_itenm_hikkoshi_ad + "　" + kiki_sohus_itenm_adrrm;
		};
		
		serviceBean.sendMessageString(FUW10409SFConst.DSP_KIKI_SOHUS_ITENM_AD, SET, kiki_sohus_itenm_hikkoshi_ad);
		
		//表示＿機器送付先移転元郵便番号の表示
		serviceBean.sendMessageString(FUW10409SFConst.DSP_KIKI_SOHUS_ITENS_PCD, SET, 
				JFUWebCommon.hyhunPcd(serviceBean.sendMessageString(FUW10409SFConst.KIKI_SOHUS_ITENS_PCD, GET)));
		
		//表示_機器送付先移転先住所
		String kiki_sohus_itens_state = JKKStringUtil.nullToBlank(serviceBean.sendMessageString(FUW10409SFConst.KIKI_SOHUS_ITENS_STATE_NM, GET));
		String kiki_sohus_itens_city = JKKStringUtil.nullToBlank(serviceBean.sendMessageString(FUW10409SFConst.KIKI_SOHUS_ITENS_CITY_NM, GET));
		String kiki_sohus_itens_oaztsu = JKKStringUtil.nullToBlank(serviceBean.sendMessageString(FUW10409SFConst.KIKI_SOHUS_ITENS_OAZTSU_NM, GET));
		String kiki_sohus_itens_azcho = JKKStringUtil.nullToBlank(serviceBean.sendMessageString(FUW10409SFConst.KIKI_SOHUS_ITENS_AZCHO_NM, GET));
		String kiki_sohus_itens_bhchigo = JKKStringUtil.nullToBlank(serviceBean.sendMessageString(FUW10409SFConst.KIKI_SOHUS_ITENS_BNCHIGO, GET));
		String kiki_sohus_itens_adrttm = JKKStringUtil.nullToBlank(serviceBean.sendMessageString(FUW10409SFConst.KIKI_SOHUS_ITENS_ADRTTM, GET));
		String kiki_sohus_itens_adrrm = JKKStringUtil.nullToBlank(serviceBean.sendMessageString(FUW10409SFConst.KIKI_SOHUS_ITENS_ADRRM, GET));
		
		String kiki_sohus_itens_hikkoshi_ad = kiki_sohus_itens_state + kiki_sohus_itens_city + kiki_sohus_itens_oaztsu 
												+ kiki_sohus_itens_azcho + kiki_sohus_itens_bhchigo;
		
		if (!JKKStringUtil.isNullBlank(kiki_sohus_itens_adrttm))
		{
			kiki_sohus_itens_hikkoshi_ad = kiki_sohus_itens_hikkoshi_ad + "　" + kiki_sohus_itens_adrttm;
		};
		
		if (!JKKStringUtil.isNullBlank(kiki_sohus_itens_adrrm))
		{
			kiki_sohus_itens_hikkoshi_ad = kiki_sohus_itens_hikkoshi_ad + "　" + kiki_sohus_itens_adrrm;
		};
		
		serviceBean.sendMessageString(FUW10409SFConst.DSP_KIKI_SOHUS_ITENS_AD, SET, kiki_sohus_itens_hikkoshi_ad);


		///////////////////////////////
		//eo光電話サービスリスト
		///////////////////////////////

		//住所変更Web申込内容STB明細一覧照会明細リストの件数分処理を行う。
		X31SDataBeanAccessArray telList1 = serviceBean.getDataBeanArray(FUW10409SFConst.KKN_TEL_DTL_LIST);
		for (int j = 0; j < telList1.getCount(); j++)
		{
			X31SDataBeanAccess telbean = telList1.getDataBean(j);

			//リストの件数目をサービスフォームBean.表示_電話番号数に設定する。
			String cnt = String.valueOf(j + 1);
			//サービスフォームBean.ｅｏ光電話申込対応種別コードをサービスフォームBean.表示_電話番号の引継ぎの表示に設定する。
			String telNo = telbean.sendMessageString(FUW10409SFConst.EOHTL_MSKM_TAIO_SBT_CD_02, GET);
			//サービスフォームBean.電話帳申込希望コードをサービスフォームBean.表示_電話帳掲載/104番号案内(無料)の表示に設定する。
			String dnwacho = telbean.sendMessageString(FUW10409SFConst.DNWACHOMSK_KIBO_CD_02, GET);
			//サービスフォームBean.発信者番号通知希望コードをサービスフォームBean.表示_発信者番号通知(無料)の表示に設定する。
			String hasinsha = telbean.sendMessageString(FUW10409SFConst.HASINSHA_NO_TCHI_KIBO_CD_02, GET);
			//サービスフォームBean.番ポ電話番号をサービスフォームBean.表示_番ポ電話番号の表示に設定する。
			String bmpTelno = telbean.sendMessageString(FUW10409SFConst.BMP_TELNO_02, GET);
			//サービスフォームBean.番ポ申込時通信事業者名をサービスフォームBean.表示_番ポ申込時通信事業者名の表示に設定する。
			String bmpMskmJiTsjgsNm = telbean.sendMessageString(FUW10409SFConst.BMP_MSKM_JI_TSJGS_NM_02, GET);
			//サービスフォームBean.番ポNTT契約者名をサービスフォームBean.表示_番ポNTT契約者名の表示に設定する。
			String bmpNttKshNm = telbean.sendMessageString(FUW10409SFConst.BMP_NTT_KSH_NM_02, GET);
			//サービスフォームBean.番ポNTT契約者かな名をサービスフォームBean.表示_番ポNTT契約者かな名の表示に設定する。
			String bmpNttKshKana = telbean.sendMessageString(FUW10409SFConst.BMP_NTT_KSH_KANA_02, GET);
		
			//サービスフォームBean.利用者によるNTT電話番号移転手続き実施有無コードをサービスフォームBean.表示_利用者によるNTT電話番号移転手続き実施有無コードに設定する。
			String nttTelnoItnttdkIsUmCd = telbean.sendMessageString(FUW10409SFConst.NTTTELNO_ITNTTDK_JS_UM_CD_02, GET);
			//サービスフォームBean.利用中電話サービス設置場所住所区分をサービスフォームBean.表示_利用中電話サービス設置場所住所区分に設定する。
			String useTelsvStcAdKbn = telbean.sendMessageString(FUW10409SFConst.USE_TELSV_STC_AD_KBN_02, GET);
			//サービスフォームBean.利用中電話サービス設置場所住所郵便番号をサービスフォームBean.表示_利用中電話サービス設置場所住所郵便番号に設定する。
			String useTelsvStcPcd = telbean.sendMessageString(FUW10409SFConst.USE_TELSV_STC_PCD_02, GET);
			//サービスフォームBean.利用中電話サービス設置場所住所をサービスフォームBean.利用中電話サービス設置場所都道府県名に設定する。
			String UseTelsvStcStateNm = JKKStringUtil.nullToBlank(telbean.sendMessageString(FUW10409SFConst.USE_TELSV_STC_STATE_NM_02, GET));
			//サービスフォームBean.利用中電話サービス設置場所住所をサービスフォームBean.利用中電話サービス設置場所市区町村名に設定する。
			String UseTelsvStcCityNm = JKKStringUtil.nullToBlank(telbean.sendMessageString(FUW10409SFConst.USE_TELSV_STC_CITY_NM_02, GET));
			//サービスフォームBean.利用中電話サービス設置場所住所をサービスフォームBean.利用中電話サービス設置場所大字通称名に設定する。
			String UseTelsvStcOaztsuNm = JKKStringUtil.nullToBlank(telbean.sendMessageString(FUW10409SFConst.USE_TELSV_STC_OAZTSU_NM_02, GET));
			//サービスフォームBean.利用中電話サービス設置場所住所をサービスフォームBean.利用中電話サービス設置場所字丁目名に設定する。
			String UseTelsvStcAzchoNm = JKKStringUtil.nullToBlank(telbean.sendMessageString(FUW10409SFConst.USE_TELSV_STC_AZCHO_NM_02, GET));
			//サービスフォームBean.利用中電話サービス設置場所住所をサービスフォームBean.利用中電話サービス設置場所番地号に設定する。
			String UseTelsvStcBnchigo = JKKStringUtil.nullToBlank(telbean.sendMessageString(FUW10409SFConst.USE_TELSV_STC_BNCHIGO_02, GET));
			//サービスフォームBean.利用中電話サービス設置場所住所をサービスフォームBean.利用中電話サービス設置場所住所補記・建物名に設定する。
			String UseTelsvStcAdrttm = JKKStringUtil.nullToBlank(telbean.sendMessageString(FUW10409SFConst.USE_TELSV_STC_ADRTTM_02, GET));
			//サービスフォームBean.利用中電話サービス設置場所住所をサービスフォームBean.利用中電話サービス設置場所住所補記・部屋番号に設定する。
			String UseTelsvStcAdrrm = JKKStringUtil.nullToBlank(telbean.sendMessageString(FUW10409SFConst.USE_TELSV_STC_ADRRM_02, GET));
			//サービスフォームBean.利用中電話サービス契約者名義区分コードをサービスフォームBean.表示_利用中電話サービス契約者名義区分コードに設定する。
			String useTelsvKiyksMgKbnCd = telbean.sendMessageString(FUW10409SFConst.USE_TELSV_KIYKS_MG_KBN_CD_02, GET);
			
			addTlList(serviceBean, j, cnt, telNo, dnwacho, hasinsha, bmpTelno, bmpMskmJiTsjgsNm, 
					bmpNttKshNm, bmpNttKshKana, nttTelnoItnttdkIsUmCd, useTelsvStcAdKbn, useTelsvStcPcd, UseTelsvStcStateNm, UseTelsvStcCityNm, UseTelsvStcOaztsuNm,
					UseTelsvStcAzchoNm, UseTelsvStcBnchigo , UseTelsvStcAdrttm, UseTelsvStcAdrrm, useTelsvKiyksMgKbnCd);
		}

		//サービス名称（テレビ）
		String chaf_tv_svc_mkm_nyo_nm = getTvNm(serviceBean, chaf_tv_svc_mkm_nyo_cd);
		serviceBean.sendMessageString(FUW10409SFConst.DSP_EOHTV_SVC_NM, SET, chaf_tv_svc_mkm_nyo_nm);

		//コース名称（テレビ）
		String dsp_eohtv_course_nm = getDspTvNm(serviceBean, chaf_tv_svc_mkm_nyo_cd);
		//サービスフォームBean.コース名（テレビ）を設定
		serviceBean.sendMessageString(FUW10409SFConst.DSP_EOHTV_COURSE_NM, SET, dsp_eohtv_course_nm);

		///////////////////////////////
		//コース・チューナーリスト
		///////////////////////////////

		//住所変更Web申込内容STB明細一覧照会明細リストの件数分処理を行う。
		int tvCnt = 0;	//変更後のSTBの連番（撤去するばあがあるので抜けが存在する。）
		X31SDataBeanAccessArray stbList3 = serviceBean.getDataBeanArray(FUW10409SFConst.STB_DTL_LIST);
		for (int j = 0; j < stbList3.getCount(); j++)
		{
			X31SDataBeanAccess stbBean = stbList3.getDataBean(j);

			//変更後TVコース料金コースコードからコース表示用文言を取得
			String course = stbBean.sendMessageString(FUW10409SFConst.CHAF_TV_COURSE_PCRS_NM_01, GET);
			//変更後STB料金コースコードからチューナー名、録画機能名表示用文言を取得
			String chaf_stb_pcrs_cd = stbBean.sendMessageString(FUW10409SFConst.CHAF_STB_PCRS_CD_01, GET);
			String kiki = getTvKikiNm(chaf_stb_pcrs_cd);
			//コース・チューナーリストに設定
			if (JFUWebCommon.isNull(course) == false)
			{
				addKkList(serviceBean, ++tvCnt, course, kiki);
			}
		}

		//eo光テレビガイド誌
		serviceBean.sendMessageString(FUW10409SFConst.DSP_GUIDEMG, SET, serviceBean.sendMessageString(
				FUW10409SFConst.CHAF_CABLE_GUIDE_MSKM_CNT, GET));

		//eo光電話サービスリストフラグ
		boolean telSvcFlg = false;
		if (TL_SVC_MKM_CD_RIYOSINAI.equals(chaf_tel_svc_mkm_nyo_cd))
		{
			//利用しない場合「FALSE」
		}
		else
		{
			telSvcFlg = true;
		}
		serviceBean.sendMessageBoolean(FUW10409SFConst.DSP_EOHTL_SVC_LISTDISPFLG, SET, telSvcFlg);

		//テレビ契約フラグ
		boolean tvKeiFlg = false;
		if (TV_SVC_MKM_CD_RIYOSINAI.equals(chaf_tv_svc_mkm_nyo_cd))
		{
			//利用しない場合「FALSE」
		}
		else
		{
			//利用する場合「TRUE」
			tvKeiFlg = true;
		}
		serviceBean.sendMessageBoolean(FUW10409SFConst.DSP_TVKEIDISPFLG, SET, tvKeiFlg);

		//コース名称（テレビ）フラグ と　コース・チューナーリストフラグ
		boolean tvCrsNmFlg = false;
		String tvKikiFlg = JFUStrConst.EMPTY;
		if (TV_SVC_MKM_CD_TUNNASI_RIYO.equals(chaf_tv_svc_mkm_nyo_cd) || TV_SVC_MKM_CD_TUNNASI_RIYO_STAR_SET.equals(chaf_tv_svc_mkm_nyo_cd)
				|| TV_SVC_MKM_CD_RIYOSINAI.equals(chaf_tv_svc_mkm_nyo_cd))
		{
			//地デジ・BSコースの場合、または、地デジ・BSコース　スターチャンネルセットの場合、
			//または、eo光テレビサービスを利用しない場合
			//コース名称（テレビ）フラグに「FALSE」
			//コース・チューナーリストフラグに「2：非表示」
			tvKikiFlg = DISP_FLG_OFF;
		}
		else if (JFUStrConst.CD01440_05.equals(chaf_tv_svc_mkm_nyo_cd) || JFUStrConst.CD01440_06.equals(chaf_tv_svc_mkm_nyo_cd))
		{
			// CSコースの場合
			tvKikiFlg = DISP_FLG_OFF;
		}
		else
		{
			tvCrsNmFlg = true;
			tvKikiFlg = DISP_FLG_ON;
		}
		serviceBean.sendMessageBoolean(FUW10409SFConst.DSP_EOHTV_COURSE_NMDISPFLG, SET, tvCrsNmFlg);
//		serviceBean.sendMessageString(FUW10409SFConst.DSP_COURSE_KIKI_LISTDISPFLG, SET, tvKikiFlg);

		// 表示＿長割表示区分
		setChoDispKbn(serviceBean, svcKeiInfoBean);

		// お引越し後の機器交換について 
		// 表示_移転元機器継続利用希望有無
		serviceBean.sendMessageString(FUW10409SFConst.DSP_ITNM_KIKI_KEIZK_USE_KBUM, SET, serviceBean.sendMessageString(
				FUW10409SFConst.ITNM_KIKI_KEIZK_USE_KBUM, GET));
		// 表示_多機能ルーター交換コード
		serviceBean.sendMessageString(FUW10409SFConst.DSP_TAKINORT_KKN_CD, SET, serviceBean.sendMessageString(FUW10409SFConst.TAKINORT_KKN_CD, GET));
		// ANK-3248-00-00 ADD START
		//変更前ネットサービス申込内容コード
		String chgeBfNetSvcMkmNyoCd = JKKStringUtil.nullToBlank(serviceBean.sendMessageString(FUW10409SFConst.CHGE_BF_NET_SVC_MKM_NYO_CD, GET));
		//変更後ネットサービス申込内容コード	
		String chafNetSvcMkmNyoCd = JKKStringUtil.nullToBlank(serviceBean.sendMessageString(FUW10409SFConst.CHAF_NET_SVC_MKM_NYO_CD, GET));

		String kosokuwariFinMsgKbn = JFUStrConst.EMPTY;
		// 高速割終了に伴う料金改定文言を表示する。
		if (NET_SVC_MKMNYOCD_HTMZ5G10G.contains(chafNetSvcMkmNyoCd))
		{
			// 引越し後のネットサービス申込内容コードが「ホーム・メゾン、５ギガ／１０ギガ（NF含む）」の場合

			// 定義を取得
			Map<String, String> kosokuwariFinMsgMap = JFUWebCommon.getDispItemsAsMap(PATH_KOSOKUWARI_FIN_MSG, QUERY_ATTR_NAME);
			String dspEndYmd = kosokuwariFinMsgMap.get("DSP_END_YMD");
			String dspMsg = kosokuwariFinMsgMap.get("DSP_MSG");

			if (!JFUWebCommon.isNull(dspMsg) && !JFUWebCommon.isNull(dspEndYmd) && !JFUWebCommon.isNull(webMskmUkYmd))
			{
				if (Integer.parseInt(dspEndYmd) >= Integer.parseInt(webMskmUkYmd))
				{
					kosokuwariFinMsgKbn = "1";
				}
			}
		}
		serviceBean.sendMessageString(FUW10409SFConst.KOSOKUWARI_FIN_MSG_DSP_KBN, X31CWebConst.DATABEAN_SET_VALUE, kosokuwariFinMsgKbn);
		// 引越し元住居種別コード
		setmDiv(serviceBean, FUW10409SFConst.HKKS_MT_JKYO_SBT_CD, chgeBfNetSvcMkmNyoCd);
		// 引越し先住居種別コード
		setmDiv(serviceBean, FUW10409SFConst.HKKS_SK_JKYO_SBT_CD, chafNetSvcMkmNyoCd);

		///////////////////////////////
		//eo電気サービス
		///////////////////////////////

		if(EO_ELEC_KEI_AR.equals(serviceBean.sendMessageString(FUW10409SFConst.EOELEC_KEI_UM, GET))
				||(ELEC_SVC_CHOICE_YES.equals(serviceBean.sendMessageString(FUW10409SFConst.EOELEC_KEI_KEIZK_CD, GET))))
		{
			// 表示_eo電気フラグ
			serviceBean.sendMessageBoolean(FUW10409SFConst.DSP_ELEC_SVC_FLAG, SET, true);

			// 表示_サービス名称（電気）
			serviceBean.sendMessageString(FUW10409SFConst.DSP_EOELEC_SVC_NM, SET, getElecInfo(ELEC_SVC_NM));
			// 表示_eo電気供給地点特定番号
			serviceBean.sendMessageString(FUW10409SFConst.DSP_ELEC_KYOKYU_CHTN_TOKUT_NO, SET, 
					serviceBean.sendMessageString(FUW10409SFConst.KYOKYU_CHTN_TOKUT_NO, GET));

			// 表示_eo電気連絡先識別コード
			if(EO_ELEC_RRKS_CD_ONJ.equals(serviceBean.sendMessageString(FUW10409SFConst.EOELEC_RRKS_SKBT_CD, GET)))
			{
				// ご契約者氏名・連絡先お引越し先住所と同じ
				serviceBean.sendMessageString(FUW10409SFConst.DSP_EOELEC_RRKS_SKBT_CD, SET, getElecInfo(ELEC_RRKS_ONJ));
			}
			else
			{
				// その他の連絡先
				serviceBean.sendMessageString(FUW10409SFConst.DSP_EOELEC_RRKS_SKBT_CD, SET, getElecInfo(ELEC_RRKS_SNT));
			}

			// 表示_eo電気お引越し後のご連絡先氏名
			serviceBean.sendMessageString(FUW10409SFConst.DSP_ELEC_RRKS_NM, SET, 
					serviceBean.sendMessageString(FUW10409SFConst.EOELEC_RRKS_NM, GET));
			// 表示_eo電気お引越し後のご連絡先氏名（かな）
			serviceBean.sendMessageString(FUW10409SFConst.DSP_ELEC_RRKS_KANA, SET, 
					JFUCommonUtil.convFullKataToFullHiraV(serviceBean.sendMessageString(FUW10409SFConst.EOELEC_RRKS_KANA, GET)));
			// 表示_eo電気お引越し後のご連絡先電話番号
			String elecRrksTelNo = serviceBean.sendMessageString(FUW10409SFConst.EOELEC_RRKS_TELNO, GET);
			// 連絡先種別コードが取得できた場合
			if(!JFUWebCommon.isNull(serviceBean.sendMessageString(FUW10409SFConst.EOELEC_RRKS_TELNO_DIV, GET)))
			{
				elecRrksTelNo = elecRrksTelNo + JFUStrConst.SPACE
								+ JFUStrConst.KIGOU_KAKKO_STA_HALF + JFUStrConst.HALF_SPACE
								+ getElecTelCdNm(serviceBean, serviceBean.sendMessageString(FUW10409SFConst.EOELEC_RRKS_TELNO_DIV, GET))
								+ JFUStrConst.HALF_SPACE + JFUStrConst.KIGOU_KAKKO_END_HALF;
			}
			serviceBean.sendMessageString(FUW10409SFConst.DSP_ELEC_RRKS_TELNO, SET, elecRrksTelNo);
			// 表示_eo電気お引越し後のご連絡先住所（郵便番号）
			serviceBean.sendMessageString(FUW10409SFConst.DSP_ELEC_RRKS_PCD, SET,
					JFUWebCommon.hyhunPcd(serviceBean.sendMessageString(FUW10409SFConst.EOELEC_RRKS_PCD, GET)));
			// 表示_eo電気お引越し後のご連絡先住所（住所）
			String elec_rrks_state = JKKStringUtil.nullToBlank(serviceBean.sendMessageString(FUW10409SFConst.EOELEC_RRKS_STATE_NM, GET));
			String elec_rrks_city = JKKStringUtil.nullToBlank(serviceBean.sendMessageString(FUW10409SFConst.EOELEC_RRKS_CITY_NM, GET));
			String elec_rrks_oaztsu = JKKStringUtil.nullToBlank(serviceBean.sendMessageString(FUW10409SFConst.EOELEC_RRKS_OAZTSU_NM, GET));
			String elec_rrks_azcho = JKKStringUtil.nullToBlank(serviceBean.sendMessageString(FUW10409SFConst.EOELEC_RRKS_AZCHO_NM, GET));
			String elec_rrks_bhchigo = JKKStringUtil.nullToBlank(serviceBean.sendMessageString(FUW10409SFConst.EOELEC_RRKS_BNCHIGO, GET));
			String elec_rrks_adrttm = JKKStringUtil.nullToBlank(serviceBean.sendMessageString(FUW10409SFConst.EOELEC_RRKS_ADRTTM, GET));
			String elec_rrks_adrrm = JKKStringUtil.nullToBlank(serviceBean.sendMessageString(FUW10409SFConst.EOELEC_RRKS_ADRRM, GET));
			
			String elec_rrks_ad = elec_rrks_state + elec_rrks_city + elec_rrks_oaztsu + elec_rrks_azcho + elec_rrks_bhchigo;
			
			if (!JKKStringUtil.isNullBlank(elec_rrks_adrttm))
			{
				elec_rrks_ad = elec_rrks_ad + "　" + elec_rrks_adrttm;
			};
			
			if (!JKKStringUtil.isNullBlank(elec_rrks_adrrm))
			{
				elec_rrks_ad = elec_rrks_ad + "　" + elec_rrks_adrrm;
			};
			
			serviceBean.sendMessageString(FUW10409SFConst.DSP_ELEC_RRKS_AD_NM, SET, elec_rrks_ad);
			//ANK-3248-00-00 MOD END

			// 表示_eo電気お引越し先のご利用開始希望日
			String elecRiyoStaYmd = serviceBean.sendMessageString(FUW10409SFConst.EOELEC_ITENS_UEST_KIBOYMD, GET);
			String elecRiyoStaYmdStr = JFUWebCommon.toYearFromYmd(elecRiyoStaYmd) + getElecInfo(ELEC_Y)
										+ getZeroSuppress(JFUWebCommon.toMonthFromYmd(elecRiyoStaYmd)) + getElecInfo(ELEC_M)
										+ getZeroSuppress(JFUWebCommon.toDayFromYmd(elecRiyoStaYmd)) + getElecInfo(ELEC_D);

			serviceBean.sendMessageString(FUW10409SFConst.DSP_ELEC_ITENS_UEST_KIBOYMD, SET,
					elecRiyoStaYmdStr + JFUStrConst.SPACE
					+ getElecTimeCdNm(serviceBean, serviceBean.sendMessageString(FUW10409SFConst.EOELEC_ITENS_UEST_KBTMZ_CD, GET)));

			// 表示_eo電気お引越し元のご利用完了日
			String eoelecItnmUseEndRsYmd = serviceBean.sendMessageString(FUW10409SFConst.EOELEC_ITNM_USE_END_RSYMD, GET);
			String eoelecItnmUseEndRsYmdStr = JFUWebCommon.toYearFromYmd(eoelecItnmUseEndRsYmd) + getElecInfo(ELEC_Y)
												+ getZeroSuppress(JFUWebCommon.toMonthFromYmd(eoelecItnmUseEndRsYmd)) + getElecInfo(ELEC_M)
												+ getZeroSuppress(JFUWebCommon.toDayFromYmd(eoelecItnmUseEndRsYmd)) + getElecInfo(ELEC_D);

			serviceBean.sendMessageString(FUW10409SFConst.DSP_ELEC_ITNM_USE_END_RSYMD, SET, eoelecItnmUseEndRsYmdStr);

			// 表示_移転元建物取り壊し予定有無
			if(ELEC_TTMN_TRKWS_AR.equals(serviceBean.sendMessageString(FUW10409SFConst.ITNM_TTDEML_RSV_UM, GET)))
			{
				// 予定あり
				serviceBean.sendMessageString(FUW10409SFConst.DSP_ITNM_TTDEML_RSV_UM, SET, getElecInfo(ELEC_YOTEI_ARI));
			}
			else
			{
				// 予定なし
				serviceBean.sendMessageString(FUW10409SFConst.DSP_ITNM_TTDEML_RSV_UM, SET, getElecInfo(ELEC_YOTEI_NASHI));
			}

			// 表示_移転元建物取り壊し予定年月日
			String itnmTtdemlRsYmd = serviceBean.sendMessageString(FUW10409SFConst.ITNM_TTDEML_RSYMD, GET);
			String itnmTtdemlRsYmdStr = JFUWebCommon.toYearFromYmd(itnmTtdemlRsYmd) + getElecInfo(ELEC_Y)
										+ getZeroSuppress(JFUWebCommon.toMonthFromYmd(itnmTtdemlRsYmd)) + getElecInfo(ELEC_M)
										+ getZeroSuppress(JFUWebCommon.toDayFromYmd(itnmTtdemlRsYmd)) + getElecInfo(ELEC_D);

			serviceBean.sendMessageString(FUW10409SFConst.DSP_ITNM_TTDEML_RSYMD, SET,
					itnmTtdemlRsYmdStr + JFUStrConst.SPACE
					+ getElecTimeCdNm(serviceBean, serviceBean.sendMessageString(FUW10409SFConst.ITNM_TTDEML_RSV_TMZ_CD, GET)));

			// 表示_eo電気手続き用メールアドレス
			serviceBean.sendMessageString(FUW10409SFConst.DSP_ELEC_TTDK_YO_MLAD, SET,
					serviceBean.sendMessageString(FUW10409SFConst.EOELEC_TTDK_YO_MLAD, GET));
			
		}
		else
		{
			// 表示_eo電気フラグ
			serviceBean.sendMessageBoolean(FUW10409SFConst.DSP_ELEC_SVC_FLAG, SET, false);
		}

		// 遷移先画面IDを設定
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JFUWebCommon.getScreenId(this));
		// 遷移先画面名を設定
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JFUScreenConst.SCREEN_NAME_FUW10409);

		// デバッグログ
		DEBUG_LOG.debug("----- init_FUW10409SFLogic End -----");

		return true;
	}

	/**
	 * 長割表示区分を設定します。
	 * 
	 * @param serviceBean サービスフォームBean
	 * @param svcKeiInfoBean サービス契約情報Bean
	 */
	private void setChoDispKbn(X31SDataBeanAccess serviceBean, X31SDataBeanAccess svcKeiInfoBean)
	{
		Boolean chowariFlg = false;
		X31SDataBeanAccessArray wribSvcKeiInfoArray = svcKeiInfoBean.getDataBeanArray(CommonInfoCFConst.WRIB_SVC_KEI_INFO);
		for (int i = 0; i < wribSvcKeiInfoArray.getCount(); i++)
		{
			X31SDataBeanAccess wribSvcKeiInfoBean = wribSvcKeiInfoArray.getDataBean(i);

			// 割引サービスコード
			String wribSvcCd = wribSvcKeiInfoBean.sendMessageString(CommonInfoCFConst.WRIB_SVC_CD_30, X31CWebConst.DATABEAN_GET_VALUE);
			// 割引サービス契約ステータス
			String wribSvcKeiStat = wribSvcKeiInfoBean.sendMessageString(CommonInfoCFConst.WRIB_SVC_KEI_STAT_30, X31CWebConst.DATABEAN_GET_VALUE);

			// 解約・キャンセル以外
			if (!JFUStrConst.CD00055_910.equals(wribSvcKeiStat) && !JFUStrConst.CD00055_920.equals(wribSvcKeiStat)
					&& !JFUStrConst.CD00055_300.equals(wribSvcKeiStat))
			{
				// 長割(長期継続利用)契約判定
				if (JFUStrConst.KK0841_WRIB_SVC_CD_CHOKEIWARI.equals(wribSvcCd))
				{
					chowariFlg = true;
				}
			}
		}

		// 長割文言表示区分
		String choDispKbn = JFUStrConst.EMPTY;
		if (chowariFlg)
		{
			String choAplyYmd = serviceBean.sendMessageString(FUW10409SFConst.DSP_CHO_APLY_YMD, X31CWebConst.DATABEAN_GET_VALUE);
			if (JFUWebCommon.isNull(choAplyYmd)
					|| midString(serviceBean.sendMessageString(FUW10409SFConst.WEB_MSKM_UK_DTM, X31CWebConst.DATABEAN_GET_VALUE), 0, 8).compareTo(choAplyYmd) < 0)
			{
				choDispKbn = CHO_DISP_KBN_YOYAKU; // 契約中（予約中）
			}
			else
			{
				choDispKbn = CHO_DISP_KBN_KEIYAKU; // 契約中
			}
		}
		else
		{
			choDispKbn = CHO_DISP_KBN_MIKEIYAKU; // 未契約
		}
		serviceBean.sendMessageString(FUW10409SFConst.DSP_CHO_DISP_KBN, X31CWebConst.DATABEAN_SET_VALUE, choDispKbn);
	}

	/**
	 * 月額料金リストに値を設定します。
	 * 
	 * @param bean サービスフォームBean
	 * @param idx パス中の「n」を置換する要素番号
	 * @param name 名称
	 * @param amnt 金額
	 * @throws Exception 
	 */
	private void addGtgkList(X31SDataBeanAccess bean, int idx, String name, String amnt) throws Exception
	{
		// デバッグログ
		DEBUG_LOG.debug("----- addGtgkList_FUW10409SFLogic Start -----");

		X31SDataBeanAccess gtgkList =
				JFUWebCommon.createAndGetDataBeanTypeByPath(bean, FUW10409SFConst.DSP_GTGPRCAM_LIST + JFUWebCommon.SEP_N_LAST, idx);
		gtgkList.sendMessageString(FUW10409SFConst.DSP_GTGPRCAM_SVC_NM_03, SET, name);
		gtgkList.sendMessageString(FUW10409SFConst.DSP_GTGPRCAM_SVC_AMNT_03, SET, amnt);

		// デバッグログ
		DEBUG_LOG.debug("----- addGtgkList_FUW10409SFLogic End -----");
	}

	/**
	 * 初期費用リストに値を設定します。
	 * 
	 * @param bean サービスフォームBean
	 * @param idx パス中の「n」を置換する要素番号
	 * @param name 名称
	 * @param amnt 金額
	 * @throws Exception 
	 */
	private void addshkhList(X31SDataBeanAccess bean, int idx, String name, String amnt) throws Exception
	{
		// デバッグログ
		DEBUG_LOG.debug("----- addshkhList_FUW10409SFLogic Start -----");

		X31SDataBeanAccess shkhList = JFUWebCommon.createAndGetDataBeanTypeByPath(bean, FUW10409SFConst.DSP_SHKH_LIST + JFUWebCommon.SEP_N_LAST, idx);
		shkhList.sendMessageString(FUW10409SFConst.DSP_SHKH_SVC_NM_04, SET, name);
		shkhList.sendMessageString(FUW10409SFConst.DSP_SHKH_SVC_AMNT_04, SET, amnt);

		// デバッグログ
		DEBUG_LOG.debug("----- addshkhList_FUW10409SFLogic End -----");

	}

	/**
	 * eo光電話サービスリストに値を設定します。
	 * 
	 * @param bean サービスフォームBean
	 * @param idx パス中の「n」を置換する要素番号
	 * @param cnt 電話番号数
	 * @param telNo 電話番号の引継ぎ
	 * @param dnwacho 電話帳掲載
	 * @param hasinsha 発信者番号通知
	 * @param bmpTelno 番ポ電話番号
	 * @param bmpMskmJiTsjgsNm 番ポ申込時通信事業者名
	 * @param bmpNttKshNm 番ポＮＴＴ契約者名
	 * @param bmpNttKshKana 番ポＮＴＴ契約者かな名
	 * @param nttTelnoItnttdkIsUmCd 利用者によるNTT電話番号移転手続き実施有無コード
	 * @param useTelsvStcAdKbn 利用中電話サービス設置場所住所区分
	 * @param useTelsvStcPcd 利用中電話サービス設置場所住所郵便番号
	 * @param useTelsvStcAd 利用中電話サービス設置場所都道府県名
	 * @param useTelsvStcAd 利用中電話サービス設置場所市区町村名
	 * @param useTelsvStcAd 利用中電話サービス設置場所大字通称名
	 * @param useTelsvStcAd 利用中電話サービス設置場所字丁目名
	 * @param useTelsvStcAd 利用中電話サービス設置場所番地号
	 * @param useTelsvStcAd 利用中電話サービス設置場所住所補記・建物名
	 * @param useTelsvStcAd 利用中電話サービス設置場所住所補記・部屋番号
	 * @param useTelsvKiyksMgKbnCd 利用中電話サービス契約者名義区分コード
	 * @throws Exception 
	 */

	private void addTlList(X31SDataBeanAccess bean, int idx, String cnt, String telNo, String dnwacho, String hasinsha, String bmpTelno,
			String bmpMskmJiTsjgsNm, String bmpNttKshNm, String bmpNttKshKana, String nttTelnoItnttdkIsUmCd, 
			String useTelsvStcAdKbn, String useTelsvStcPcd, String UseTelsvStcStateNm, String UseTelsvStcCityNm, String UseTelsvStcOaztsuNm,
			String UseTelsvStcAzchoNm, String UseTelsvStcBnchigo , String UseTelsvStcAdrttm, String UseTelsvStcAdrrm, String useTelsvKiyksMgKbnCd) throws Exception
	{
		// デバッグログ
		DEBUG_LOG.debug("----- addTlList_FUW10409SFLogic Start -----");

		X31SDataBeanAccess tlList =
				JFUWebCommon.createAndGetDataBeanTypeByPath(bean, FUW10409SFConst.DSP_EOHTL_SVC_LIST + JFUWebCommon.SEP_N_LAST, idx);
		//	表示_電話番号数
		tlList.sendMessageString(FUW10409SFConst.DSP_AFTER_TELNO_CNT_05, SET, cnt + BANGOME);
		//	表示_電話番号の引継ぎの表示
		tlList.sendMessageString(FUW10409SFConst.DSP_AFTER_TELNO_05, SET, telNo);
		//	表示_電話帳掲載/104番号案内(無料)の表示
		tlList.sendMessageString(FUW10409SFConst.DSP_DNWACHO_104_05, SET, dnwacho);
		//	表示_発信者番号通知(無料)の表示
		tlList.sendMessageString(FUW10409SFConst.DSP_HASINSHA_NO_05, SET, hasinsha);
		//	表示＿番ポ電話番号の表示
		tlList.sendMessageString(FUW10409SFConst.DSP_BMP_TELNO_05, SET, bmpTelno);
		//	表示＿番ポ申込時通信事業者名の表示
		tlList.sendMessageString(FUW10409SFConst.DSP_BMP_MSKM_JI_TSJGS_NM_05, SET, bmpMskmJiTsjgsNm);
		//	表示＿番ポＮＴＴ契約者名の表示
		tlList.sendMessageString(FUW10409SFConst.DSP_BMP_NTT_KSH_NM_05, SET, bmpNttKshNm);
		//	表示＿番ポＮＴＴ契約者かな名の表示
		tlList.sendMessageString(FUW10409SFConst.DSP_BMP_NTT_KSH_KANA_05, SET, bmpNttKshKana);

		
		//	表示＿利用者によるNTT電話番号移転手続き実施有無コードの表示
		tlList.sendMessageString(FUW10409SFConst.DSP_NTTTELNO_ITNTTDK_JS_UM_05, SET, nttTelnoItnttdkIsUmCd);
		//	表示＿利用中電話サービス設置場所住所区分の表示
		tlList.sendMessageString(FUW10409SFConst.DSP_USE_TELSV_STC_AD_KBN_05, SET, useTelsvStcAdKbn);
		//	表示＿利用中電話サービス設置場所住所郵便番号の表示
		tlList.sendMessageString(FUW10409SFConst.DSP_USE_TELSV_STC_PCD_05, SET, JFUWebCommon.hyhunPcd(useTelsvStcPcd));
		//表示＿利用中電話サービス設置場所住所の表示
		String UseTelsvStcad = UseTelsvStcStateNm + UseTelsvStcCityNm + UseTelsvStcOaztsuNm 
								+ UseTelsvStcAzchoNm + UseTelsvStcBnchigo;
		
		if (!JKKStringUtil.isNullBlank(UseTelsvStcAdrttm))
		{
			UseTelsvStcad = UseTelsvStcad + "　" + UseTelsvStcAdrttm;
		};
		
		if (!JKKStringUtil.isNullBlank(UseTelsvStcAdrrm))
		{
			UseTelsvStcad = UseTelsvStcad + "　" + UseTelsvStcAdrrm;
		};

		tlList.sendMessageString(FUW10409SFConst.DSP_USE_TELSV_STC_AD_05, SET, UseTelsvStcad);
		
		//	表示＿利用中電話サービス契約者名義区分コードの表示
		tlList.sendMessageString(FUW10409SFConst.DSP_USE_TELSV_KIYKS_MG_KBN_CD_05, SET, useTelsvKiyksMgKbnCd);

		
		// デバッグログ
		DEBUG_LOG.debug("----- addTlList_FUW10409SFLogic End -----");
	}

	/**
	 * チューナーリストに値を設定します。
	 * 
	 * @param bean サービスフォームBean
	 * @param idx パス中の「n」を置換する要素番号
	 * @param cnt 台数
	 * @param course コース
	 * @param rec 録画機能
	 * @throws Exception 
	 */
	private void addKkList(X31SDataBeanAccess bean, int cnt, String course, String rec) throws Exception
	{
		// デバッグログ
		DEBUG_LOG.debug("----- addKkList_FUW10409SFLogic Start -----");

		X31SDataBeanAccess kkList =
				JFUWebCommon.createAndGetDataBeanTypeByPath(bean, FUW10409SFConst.DSP_COURSE_KIKI_LIST + JFUWebCommon.SEP_N_LAST, cnt - 1);
		//	表示_eo光テレビチューナー台数
		kkList.sendMessageString(FUW10409SFConst.DSP_TV_STB_CNT_06, SET, String.valueOf(cnt));
		//	表示_eo光テレビチューナーコース
		kkList.sendMessageString(FUW10409SFConst.DSP_TV_STB_COURSE_06, SET, course);
		//	表示_eo光テレビチューナー録画機能有無
		kkList.sendMessageString(FUW10409SFConst.DSP_TV_STB_REC_KINO_UM_06, SET, rec);
		
		// デバッグログ
		DEBUG_LOG.debug("----- addKkList_FUW10409SFLogic End -----");
	}

	/**
	 * eo光テレビの料金コース名を取得します。
	 * 
	 * <br>
	 * @param pcrsSkbtStr 料金コース識別文字列
	 * @return 料金コース名
	 * @throws Exception 
	 */
	private String getPcrsNm(String pcrsSkbtStr) throws Exception
	{
		// デバッグログ
		DEBUG_LOG.debug("----- getPcrsNm_FUW10409SFLogic Start -----");

		// 検索キーが存在しない場合、処理を終了する
		if (pcrsSkbtStr == null || pcrsSkbtStr.length() == 0)
		{
			return null;
		}
		// 定義を取得
		Map<String, String> pcrsNmMap = JFUWebCommon.getDispItemsAsMap(PATH_TV_CRS_NM, QUERY_ATTR_NAME);
		// 料金コース名
		String pcrsNm = null;
		if (pcrsNmMap != null && pcrsNmMap.size() > 0)
		{
			// 料金コース名
			pcrsNm = (String)pcrsNmMap.get(pcrsSkbtStr);
		}

		// デバッグログ
		DEBUG_LOG.debug("----- getPcrsNm_FUW10409SFLogic End -----");

		return pcrsNm;
	}

	/**
	 * eo光テレビのチューナー名を取得します。
	 * 
	 * <br>
	 * @param pcrsSkbtStr 料金コース識別文字列
	 * @return チューナー名
	 * @throws Exception 
	 */
	private String getTvKikiNm(String pcrsSkbtStr) throws Exception
	{
		// デバッグログ
		DEBUG_LOG.debug("----- getKikiNm_FUW10409SFLogic Start -----");

		// 検索キーが存在しない場合、処理を終了する
		if (pcrsSkbtStr == null || pcrsSkbtStr.length() == 0)
		{
			return null;
		}
		// 定義を取得
		Map<String, String> pcrsNmMap = JFUWebCommon.getDispItemsAsMap(PATH_TV_KIKI_NM, QUERY_ATTR_NAME);
		// チューナー名
		String kikiNm = null;
		if (pcrsNmMap != null && pcrsNmMap.size() > 0)
		{
			// 料金コース名
			kikiNm = (String)pcrsNmMap.get(pcrsSkbtStr);
		}

		// デバッグログ
		DEBUG_LOG.debug("----- getKikiNm_FUW10409SFLogic End -----");

		return kikiNm;
	}

	/**
	 * テレビサービス申込内容コードからコース名称（テレビ）を取得します。
	 * <br>
	 * @param bean サービスフォームBean
	 * @param tvCd テレビサービス申込内容コード
	 * @return コース名称（テレビ）
	 * @throws Exception
	 */
	private String getDspTvNm(X31SDataBeanAccess bean, String tvCd) throws Exception
	{
		// デバッグログ
		DEBUG_LOG.debug("----- getDspTvNm_FUW10409SFLogic Start -----");

		String dsp_eohtv_course_nm = JFUStrConst.EMPTY;
		if (TV_SVC_MKM_CD_TUNNASI_RIYO.equals(tvCd))
		{
			//STB無し（変更後テレビサービス申込内容コードが"03"）の場合
			//「地デジ・BSコース」をサービスフォームBean.コース名称（テレビ）に設定
			dsp_eohtv_course_nm = TV_SVC_MKM_NM_TUNNASI_RIYO;
		}
		else if (TV_SVC_MKM_CD_TUNNASI_RIYO_STAR_SET.equals(tvCd))
		{
			//STB無し（変更後テレビサービス申込内容コードが"04"）の場合
			//「地デジ・BSコース　スターチャンネルセット」をサービスフォームBean.コース名称（テレビ）に設定
			dsp_eohtv_course_nm = TV_SVC_MKM_NM_TUNNASI_RIYO_STAR_SET;
		}
		else if (TV_SVC_MKM_CD_TUNARI_RIYO.equals(tvCd))
		{
			//STB有り（変更後テレビサービス申込内容コードが"02"）の場合

			//変更後STB料金コースコードから下記表の表示用文言を取得し、ローカル変数.コース名（テレビ）に連結する。
			//連結文字は中点「・」とする。

			//住所変更Web申込内容STB明細一覧照会明細リストの件数分処理を行う。
			X31SDataBeanAccessArray stbList2 = bean.getDataBeanArray(FUW10409SFConst.STB_DTL_LIST);

			int cntBas = 0;
			int cntPre = 0;
			int cntCom = 0;
			int cntVal = 0;
			int cntSta = 0;
			int cntRig = 0;
			int cntSmc = 0;
			int cntSmb = 0;
			int cntSmp = 0;
			for (int j = 0; j < stbList2.getCount(); j++)
			{
				X31SDataBeanAccess stbBean = stbList2.getDataBean(j);
				String chaf_stb_pcrs_cd = stbBean.sendMessageString(FUW10409SFConst.CHAF_TV_COURSE_PCRS_CD_01, GET);
				if (JFUStrConst.CD00134_A40.equals(chaf_stb_pcrs_cd))//ベーシックコース
				{
					cntBas++;
				}
				else if (JFUStrConst.CD00134_A41.equals(chaf_stb_pcrs_cd))//プレミアムコース
				{
					cntPre++;
				}
				else if (JFUStrConst.CD00134_A36.equals(chaf_stb_pcrs_cd))//コンパクト
				{
					cntCom++;
				}
				else if (JFUStrConst.CD00134_A33.equals(chaf_stb_pcrs_cd))//バリュー
				{
					cntVal++;
				}
				else if (JFUStrConst.CD00134_A35.equals(chaf_stb_pcrs_cd))//スタンダード
				{
					cntSta++;
				}
				else if (JFUStrConst.CD00134_A34.equals(chaf_stb_pcrs_cd))//ライト
				{
					cntRig++;
				}
				else if (JFUStrConst.CD00134_A85.equals(chaf_stb_pcrs_cd))//スマートコンパクト
				{
					cntSmc++;
				}
				else if (JFUStrConst.CD00134_A86.equals(chaf_stb_pcrs_cd))//スマートベーシック
				{
					cntSmb++;
				}
				else if (JFUStrConst.CD00134_A87.equals(chaf_stb_pcrs_cd))//スマートプレミアム
				{
					cntSmp++;
				}
			}

			StringBuilder sbTvCrs = new StringBuilder();
			if (0 < cntBas)
			{
				sbTvCrs.append(getPcrsNm(JFUStrConst.CD00134_A40));//ベーシックコース
			}
			if (0 < cntPre)
			{
				if (!JFUStrConst.EMPTY.equals(sbTvCrs.toString()))
				{
					sbTvCrs.append(KIGO_CHUTEN);
				}
				sbTvCrs.append(getPcrsNm(JFUStrConst.CD00134_A41));//プレミアムコース
			}
			if (0 < cntCom)
			{
				if (!JFUStrConst.EMPTY.equals(sbTvCrs.toString()))
				{
					sbTvCrs.append(KIGO_CHUTEN);
				}
				sbTvCrs.append(getPcrsNm(JFUStrConst.CD00134_A36));//コンパクト
			}
			if (0 < cntVal)
			{
				if (!JFUStrConst.EMPTY.equals(sbTvCrs.toString()))
				{
					sbTvCrs.append(KIGO_CHUTEN);
				}
				sbTvCrs.append(getPcrsNm(JFUStrConst.CD00134_A33));//バリュー
			}
			if (0 < cntSta)
			{
				if (!JFUStrConst.EMPTY.equals(sbTvCrs.toString()))
				{
					sbTvCrs.append(KIGO_CHUTEN);
				}
				sbTvCrs.append(getPcrsNm(JFUStrConst.CD00134_A35));//スタンダード
			}
			if (0 < cntRig)
			{
				if (!JFUStrConst.EMPTY.equals(sbTvCrs.toString()))
				{
					sbTvCrs.append(KIGO_CHUTEN);
				}
				sbTvCrs.append(getPcrsNm(JFUStrConst.CD00134_A34));//ライト
			}
			if (0 < cntSmc)
			{
				if (!JFUWebCommon.isNull(sbTvCrs.toString()))
				{
					sbTvCrs.append(KIGO_CHUTEN);
				}
				sbTvCrs.append(getPcrsNm(JFUStrConst.CD00134_A85));//スマートコンパクト
			}
			if (0 < cntSmb)
			{
				if (!JFUWebCommon.isNull(sbTvCrs.toString()))
				{
					sbTvCrs.append(KIGO_CHUTEN);
				}
				sbTvCrs.append(getPcrsNm(JFUStrConst.CD00134_A86));//スマートベーシック
			}
			if (0 < cntSmp)
			{
				if (!JFUWebCommon.isNull(sbTvCrs.toString()))
				{
					sbTvCrs.append(KIGO_CHUTEN);
				}
				sbTvCrs.append(getPcrsNm(JFUStrConst.CD00134_A87));//スマートプレミアム
			}
			dsp_eohtv_course_nm = sbTvCrs.toString();
		}

		// デバッグログ
		DEBUG_LOG.debug("----- getDspTvNm_FUW10409SFLogic End -----");

		return dsp_eohtv_course_nm;
	}

	/**
	 * ネットサービス申込内容コードからコード区分名称を取得します。
	 * <br>
	 * @param bean サービスフォームBean
	 * @param netmkmCd ネットサービス申込内容コード
	 * @return コード区分名
	 */
	private String getNetNm(X31SDataBeanAccess bean, String netmkmCd)
	{
		// デバッグログ
		DEBUG_LOG.debug("----- getNetNm_FUW10409SFLogic Start -----");

		String nm = JFUStrConst.EMPTY;
		// コード区分リストを取得
		X31SDataBeanAccessArray cdList = bean.getDataBeanArray(FUW10409SFConst.NET_CD_LIST);
		for (int i = 0; i < cdList.getCount(); i++)
		{
			X31SDataBeanAccess cdMap = cdList.getDataBean(i);
			//  コード区分にヒットするものがあればコード区分名を取得して返却
			String netCd = cdMap.sendMessageString(FUW10409SFConst.NET_CD_08, GET);
			if (netmkmCd.equals(netCd))
			{
				nm = cdMap.sendMessageString(FUW10409SFConst.NET_NM_08, GET);
				break;
			}
		}

		// デバッグログ
		DEBUG_LOG.debug("----- getNetNm_FUW10409SFLogic End -----");

		return nm;
	}

	/**
	 * 電話サービス申込内容コードからコード区分名称を取得します。
	 * <br>
	 * @param bean サービスフォームBean
	 * @param telmkmCd 電話サービス申込内容コード
	 * @return コード区分名
	 */
	private String getTelNm(X31SDataBeanAccess bean, String telmkmCd)
	{
		// デバッグログ
		DEBUG_LOG.debug("----- getTelNm_FUW10409SFLogic Start -----");

		String nm = JFUStrConst.EMPTY;
		// コード区分リストを取得
		X31SDataBeanAccessArray cdList = bean.getDataBeanArray(FUW10409SFConst.TEL_CD_LIST);
		for (int i = 0; i < cdList.getCount(); i++)
		{
			X31SDataBeanAccess cdMap = cdList.getDataBean(i);
			//  コード区分にヒットするものがあればコード区分名を取得して返却
			String telCd = cdMap.sendMessageString(FUW10409SFConst.TEL_CD_09, GET);
			if (telmkmCd.equals(telCd))
			{
				nm = cdMap.sendMessageString(FUW10409SFConst.TEL_NM_09, GET);
				break;
			}
		}

		// デバッグログ
		DEBUG_LOG.debug("----- getTelNm_FUW10409SFLogic End -----");

		return nm;
	}

	/**
	 * テレビサービス申込内容コードからコード区分名称を取得します。
	 * <br>
	 * @param bean サービスフォームBean
	 * @param tvmkmCd テレビサービス申込内容コード
	 * @return コード区分名
	 */
	private String getTvNm(X31SDataBeanAccess bean, String tvmkmCd)
	{
		// デバッグログ
		DEBUG_LOG.debug("----- getTvNm_FUW10409SFLogic Start -----");

		String nm = JFUStrConst.EMPTY;
		// コード区分リストを取得
		X31SDataBeanAccessArray cdList = bean.getDataBeanArray(FUW10409SFConst.TV_CD_LIST);
		for (int i = 0; i < cdList.getCount(); i++)
		{
			X31SDataBeanAccess cdMap = cdList.getDataBean(i);
			//  コード区分にヒットするものがあればコード区分名を取得して返却
			String tvCd = cdMap.sendMessageString(FUW10409SFConst.TV_CD_10, GET);
			if (tvmkmCd.equals(tvCd))
			{
				nm = cdMap.sendMessageString(FUW10409SFConst.TV_NM_10, GET);
				break;
			}
		}

		// デバッグログ
		DEBUG_LOG.debug("----- getTvNm_FUW10409SFLogic End -----");

		return nm;
	}

	/**
	 * フロント用画面表示定義ファイルからeo電気情報を取得します。
	 * 
	 * <br>
	 * @param id 取得キー
	 * @return 取得結果
	 * @throws Exception
	 */
	private String getElecInfo(String id) throws Exception{

		// 定義取得
		Map<String, String> elecInfoMap = JFUWebCommon.getDispItemsAsMap(PATH_ELEC, QUERY_ATTR_NAME);

		// 値取得
		String str = JFUStrConst.EMPTY;
		if(elecInfoMap != null && elecInfoMap.size() > 0)
		{
			str = (String)elecInfoMap.get(id);
		}

		return str;
	}

	/**
	 * eo電気住所変更時間帯聴き取りコード区分名称を取得します。
	 * 
	 * <br>
	 * @param bean サービスフォームBean
	 * @param div 区分
	 * @return 区分名称
	 */
	private String getElecTimeCdNm(X31SDataBeanAccess bean, String cd){
		String nm = JFUStrConst.EMPTY;

		// コード区分リストを取得
		X31SDataBeanAccessArray cdList = bean.getDataBeanArray(FUW10409SFConst.EOELEC_TIME_CD_LIST);
		for (int i = 0; i < cdList.getCount(); i++)
		{
			X31SDataBeanAccess cdMap = cdList.getDataBean(i);
			//  コード区分にヒットするものがあればコード区分名を取得して返却
			String timeCd = cdMap.sendMessageString(FUW10409SFConst.EOELEC_TIME_CD_12, GET);
			if (cd.equals(timeCd))
			{
				nm = cdMap.sendMessageString(FUW10409SFConst.EOELEC_TIME_NM_12, GET);
				break;
			}
		}

		return nm;
	}

	/**
	 * eo電気住所変更連絡先電話番号コード区分名称を取得します。
	 * 
	 * <br>
	 * @param bean サービスフォームBean
	 * @param div 区分
	 * @return 区分名称
	 */
	private String getElecTelCdNm(X31SDataBeanAccess bean, String cd){
		String nm = JFUStrConst.EMPTY;

		// コード区分リストを取得
		X31SDataBeanAccessArray cdList = bean.getDataBeanArray(FUW10409SFConst.EOELEC_TEL_CD_LIST);
		for (int i = 0; i < cdList.getCount(); i++)
		{
			X31SDataBeanAccess cdMap = cdList.getDataBean(i);
			//  コード区分にヒットするものがあればコード区分名を取得して返却
			String timeCd = cdMap.sendMessageString(FUW10409SFConst.EOELEC_TEL_CD_11, GET);
			if (cd.equals(timeCd))
			{
				nm = cdMap.sendMessageString(FUW10409SFConst.EOELEC_TEL_NM_11, GET);
				break;
			}
		}

		return nm;
	}

	/**
	 * "0"、""、nullの場合に"0"を返却します。
	 * <br>
	 * @param arg1
	 * @return 値
	 */
	private String nullToZero(String arg1)
	{
		String ret = arg1;
		
		if (JFUWebCommon.isNull(arg1))
		{
			ret = JFUStrConst.S_ZERO;
		}
		return ret;
	}

	/**
	 * 文字列を指定範囲で切り取ります。
	 * 
	 * @param str
	 * @param startIdx
	 * @param endIdx
	 * @return String
	 */
	private String midString(String str, int startIdx, int endIdx)
	{
		int tmpEndIdx = endIdx;
		String ret = JFUStrConst.EMPTY;
		if (JFUWebCommon.isNull(str))
		{
			return ret;
		}

		if (str.length() < startIdx + 1)
		{
			return ret;
		}

		if (str.length() < endIdx)
		{
			tmpEndIdx = str.length();
		}

		return str.substring(startIdx, tmpEndIdx);
	}

	/** 
	 * ゼロサプレス（0とリ）を行う
	 * 
	 * <br>
	 * @param mmDd  月、または日
	 * @return ゼロサプレスした結果
	 * @throws Exception 
	 */
	private String getZeroSuppress(String mmDd) throws Exception
	{

		// 入力値をセット、桁数が1のときはそのままの値を返す
		String zeroSuppress = mmDd;

		// 入力値が存在しない場合、処理を終了する
		if (mmDd == null || mmDd.length() == 0)
		{
			return null;
		}

		// 入力値が1より大きい時、ゼロサプレスを行う
		if (mmDd.length() > 1)
		{
			Pattern zeroSup = Pattern.compile("^0+([0-9]+.*)");
			Matcher mch = zeroSup.matcher(mmDd);
			if(mch.matches()){
				zeroSuppress = mch.group(1);
			}
		}

		return zeroSuppress;
	}
	
	/**
	 * ネットサービス申込内容コードから引越し先住所形態区分を取得します。
	 * <br>
	 * @param netmkmCd ネットサービス申込内容コード
	 */
	private void setAdFormDiv(X31SDataBeanAccess bean, String chafNetSvcMkmNyoCd)
	{
		// デバッグログ
		DEBUG_LOG.debug("----- getAdFormDiv_FUW10409SFLogic Start -----");
		
		if(!JKKStringUtil.isNullBlank(chafNetSvcMkmNyoCd))
		{
			if(chafNetSvcMkmNyoCd.startsWith("4") || chafNetSvcMkmNyoCd.startsWith("5") || chafNetSvcMkmNyoCd.startsWith("6") || chafNetSvcMkmNyoCd.startsWith("7"))
			{
				//マンションタイプの場合
				bean.sendMessageString(FUW10409SFConst.ITENS_AD_FORM_DIV, X31CWebConst.DATABEAN_SET_VALUE, ITENS_AD_FORM_DIV_MT);
			}
			else if(chafNetSvcMkmNyoCd.startsWith("2") || chafNetSvcMkmNyoCd.startsWith("3"))
			{
				//メゾンタイプの場合
				bean.sendMessageString(FUW10409SFConst.ITENS_AD_FORM_DIV, X31CWebConst.DATABEAN_SET_VALUE, ITENS_AD_FORM_DIV_MZ);
			}
			else
			{
				//ホームタイプの場合
				bean.sendMessageString(FUW10409SFConst.ITENS_AD_FORM_DIV, X31CWebConst.DATABEAN_SET_VALUE, ITENS_AD_FORM_DIV_HM);
			}
		}
	}
	
	/**
	 * ネットサービス申込内容コードから引越し先住所形態区分を取得します。
	 * <br>
	 * @param netmkmCd ネットサービス申込内容コード
	 */
	private void setmDiv(X31SDataBeanAccess bean, String key, String chafNetSvcMkmNyoCd)
	{
		
		if(!JKKStringUtil.isNullBlank(chafNetSvcMkmNyoCd))
		{
			if(chafNetSvcMkmNyoCd.startsWith("4") || chafNetSvcMkmNyoCd.startsWith("5") || chafNetSvcMkmNyoCd.startsWith("6") || chafNetSvcMkmNyoCd.startsWith("7"))
			{
				//マンションタイプの場合
				bean.sendMessageString(key, X31CWebConst.DATABEAN_SET_VALUE, HKKS_MT_JKYO_SBT_CD_MT);
			}
			else if(chafNetSvcMkmNyoCd.startsWith("2") || chafNetSvcMkmNyoCd.startsWith("3"))
			{
				//メゾンタイプの場合
				bean.sendMessageString(key, X31CWebConst.DATABEAN_SET_VALUE, HKKS_MT_JKYO_SBT_CD_MZ);
			}
			else
			{
				//ホームタイプの場合
				bean.sendMessageString(key, X31CWebConst.DATABEAN_SET_VALUE, HKKS_MT_JKYO_SBT_CD_HT);
			}
		}
	}

	/**
	 * シンプルプランかを判定します。
	 *
	 * <br>
	 * @param commoninfoBean　共有フォームBean
	 * @return true/false
	 */
	private boolean isSimple(X31SDataBeanAccess commoninfoBean)
	{
		// ★WEB変更情報
		X31SDataBeanAccess webChgInfoBean = JFUWebCommon.getDataBeanTypeByPath(commoninfoBean, JFUWebCommon.WEB_CHG_INFO);

		// ★現顧客情報(WEB変更情報の子階層)
		X31SDataBeanAccessArray genCustKeiInfoArray = webChgInfoBean.getDataBeanArray(CommonInfoCFConst.GEN_CUST_KEI_INFO);
		X31SDataBeanAccess genCustKeiInfoBean = genCustKeiInfoArray.getDataBean(0);

		// ★サービス契約情報
		X31SDataBeanAccessArray svcKeiInfoArray = genCustKeiInfoBean.getDataBeanArray(CommonInfoCFConst.SVC_KEI_INFO);
		X31SDataBeanAccess svcKeiInfoBean = svcKeiInfoArray.getDataBean(0);

		String pcrsCd = svcKeiInfoBean.sendMessageString(CommonInfoCFConst.PCRS_CD_23, X31CWebConst.DATABEAN_GET_VALUE);

		if (JFUStrConst.PCRS_CD_SIMPLE.contains(pcrsCd))
		{
			return true;
		}

		return false;
	}
}