/*********************************************************************
*	All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名		：eo顧客基幹システム
*	モジュール名	：FUSV0325_FUSV0325OPDBMapper
*	ソースファイル名：FUSV0325_FUSV0325OPDBMapper.java
*	作成者			：FJ
*	日付			：2018年10月13日
*＜機能概要＞
*	BP（eo光eo電気契約一覧(量販・訪販)(初期表示)）へのＤ−Ｂマッピングクラスです。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*   v39.00.00   2018/10/13  FJ) 謝      【ANK-3518-00-00】量販・訪販Webのサービス追加 新規作成
*   v40.00.00   2018/11/27  FJ) 松原    【ANK-3412-00-00】５ギガ・１０ギガコース導入対応【STEP1、2】
*   v41.00.00   2019/04/02  FJ) 大島    【ANK-3596-00-00】量販ＷＥＢでのマンションタイプ受付可能対応
*   v46.00.00   2019/10/04  FJ）西川    【ANK-3731-00-00】マンション光配線切替対応
*   v48.00.00   2020/02/07  FJ）岡井    【ANK-3757-00-00】マンション工事種別イーサ他社併行時のサービス開始希望日の入力欄制御
*   v53.00      2021/04/01  FJ) 張本    【ANK-3989-00-00】マンション光コンセント方式への5G・10Gコース追加
*   v54.00      2021/07/16  FJ) 大島    【ANK-4092-00-00】CX戦略WG方針対応STEP2
*   v59.00      2022/05/23	FJ)大島 	【ANK-4250-00-00】成人年齢引き下げに伴うフロント改修対応
*   v60.00      2022/06/20  FJ）美濃原  【ANK-4244-00-00】【eo定期】MT既設賃貸対応
*   v71.00      2024/03/04  FJ) 張本    【ANK-4468-00-00】eo光ネット「シンプルプラン」追加対応
*   v73.00      2024/11/15  FJ) 張本    【ANK-4493-00-00】【eo定期】光配線マンションのコースアップ対応
*   v74.00.00   2025/02/07  FJ) 余野木  【ANK-4592-00-00】テレビ新コース（スカパー用）導入対応
*
**********************************************************************/
package eo.web.webview.mapping;

import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;

import com.fujitsu.futurity.web.x31.X31BWebBusinessLogic;
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.JPCUtilCommon;
import eo.web.webview.CommonInfoCF.CommonInfoCFConst;
import eo.web.webview.FUW00957SF.FUW00957SFConst;
import eo.web.webview.common.JCCWebCommon;
import eo.web.webview.common.JFUWebCommon;

/**
 * DataBean-BPマッピングをする。
 *
 * <br>
 * @author 富士通
 */
public class FUSV0325_FUSV0325OPDBMapper
{

	// ■各ステータス
	/** ネットサービス契約ステータス */
	private String netSvcKeiStat = JFUStrConst.EMPTY;
	/** 電話サービス契約ステータス */
	private String telSvcKeiStat = JFUStrConst.EMPTY;
	/** テレビサービス契約ステータス */
	private String tvSvcKeiStat = JFUStrConst.EMPTY;
	/** 電気サービス契約ステータス */
	private String elecSvcKeiStat = JFUStrConst.EMPTY;

	// ■各リスト
	/** ネット請求契約番号リスト */
	@SuppressWarnings("unchecked")
	private ArrayList netSeikyKeiNoList = null;

	// ■クラス変数(電話)
	private boolean nothingTelUwFlg = false;
	// ■クラス変数(ＴＶ)
	private boolean nothingTvUwFlg = false;

	// ■ラベル表示判定用
	/** 申込可能ラベル表示"1" */
	private static final String LABEL_MSKM = "1";
	/** 手続き中ラベル表示"3" */
	private static final String LABEL_TTDK = "3";
	/** 取扱不可ラベル表示"4" */
	private static final String LABEL_TRATKI_FK = "4";
	/** 申込不可ラベル表示"5" */
	private static final String LABEL_MSKM_FK = "5";
	/** 契約中ラベル表示"6" */
	private static final String LABEL_KIYK = "6";
	/** mineo契約中ラベル表示"2" */
	private static final String MINEO_LABEL_KEI_CHU = "2";
	/** mineo手続き中ラベル表示"3" */
	private static final String MINEO_LABEL_TTDK = "3";

	/** 継続後契約変更手続中フラグ:ON */
	public static final String KEIZK_AF_KEI_CHGECHU_FLG_ON = "1";

	// ■その他
	/** 定義取得パス サービス名 */
	private static final String PATH_SVC_NM = "DISPSETTING/SETTING[@screenId='FUW00957']/DISPTEXT[@groupid='SVC_NM']";
	/** 定義取得パス 電話用文言 */
	private static final String PATH_TEL_MONGON = "DISPSETTING/SETTING[@screenId='FUW00957']/DISPTEXT[@groupid='TEL_MONGON']";
	/** 属性名 */
	private static final String QUERY_ATTR_NAME = "id";
	/** ２番号コース */
	private static final String A32 = "A32";
	/** 地デジ・ＢＳコース */
	private static final String A37 = "A37";
	/** CSベーシック */
	private static final String AC0 = "AC0";
	/** CSプレミアム */
	private static final String AC1 = "AC1";
	/** サービス契約eo電気サービス名 */
	private static final String SERVICE_NAME_ELEC = "service_name_elec";
	/** サービス契約eo電気リスト取得用 */
	private static final String SVC_KEI_ELEC_LIST = "svc_kei_elec_list";
	/** 請求方式コード取得用 */
	private static final String SEIKY_WAY_CD = "seiky_way_cd";
	/** サービス契約番号取得用 */
	private static final String SVC_KEI_NO = "svc_kei_no";
	/** サービス契約ステータス取得用 */
	private static final String SVC_KEI_STAT = "svc_kei_stat";
	/** サービスコード取得用 */
	private static final String SVC_CD = "svc_cd";
	/** サービス名取得用 */
	private static final String SVC_NM = "svc_nm";
	/** 料金コースコード取得用 */
	private static final String PCRS_CD = "pcrs_cd";
	/** 料金プランコード取得用 */
	private static final String PPLAN_CD = "pplan_cd";
	/** 料金グループコード取得用 */
	private static final String PRC_GRP_CD = "prc_grp_cd";
	/** 整理番号取得用 */
	private static final String SEIRI_NO = "seiri_no";
	/** eo電気注記文言３（督促ＮＧ） */
	private static final String ELEC_MNGN_3 = "3";
	/** eo電気注記文言４（支払ＮＧ） */
	private static final String ELEC_MNGN_4 = "4";

	/** "無効"文字列 */
	private static final String MUKOU = "0";
	/** "有効"文字列 */
	private static final String YUUKOU = "1";
	/** 支払審査結果コード(口座振替申請ＯＫ) */
	private static final String PAY_SKEKKA_CD_KOZA_OK = "20";
	/** 支払審査結果コード(口座振替申請ＮＧ) */
	private static final String PAY_SKEKKA_CD_KOZA_NG = "21";
	/** 支払審査結果コード(口座振替申請ＮＧ解除) */
	private static final String PAY_SKEKKA_CD_KOZA_NGOK = "29";
	/** 支払審査結果コード(郵便自動振込申請ＯＫ) */
	private static final String PAY_SKEKKA_CD_POST_OK = "30";
	/** 支払審査結果コード(郵便自動振込申請ＮＧ) */
	private static final String PAY_SKEKKA_CD_POST_NG = "31";
	/** 支払審査結果コード(郵便自動振込申請ＮＧ解除) */
	private static final String PAY_SKEKKA_CD_POST_NGOK = "39";
	/** 有効性確認結果区分(有効性ＯＫ) */
	private static final String YK_CFM_RSLT_DIV_1 = "1";
	/** 有効性確認結果区分(有効性ＮＧ) */
	private static final String YK_CFM_RSLT_DIV_2 = "2";
	/** 有効性確認結果区分(照合エラー) */
	private static final String YK_CFM_RSLT_DIV_3 = "3";

	/** 口座マップ */
	private static final String KOZA_MAP = "koza_map";
	/** 支払審査結果コード */
	private static final String PAY_SKEKKA_CD = "pay_skekka_cd";
	/** クレジットカードマップ */
	private static final String CRECARD_MAP = "crecard_map";
	/** クレジットステータス */
	private static final String CRECARD_STAT = "crecard_stat";
	/** 有効性確認結果区分 */
	private static final String YK_CFM_RSLT_DIV = "yk_cfm_rslt_div";
	/** クレジット無効年月 */
	private static final String CRECA_MK_YM = "creca_mk_ym";
	/** 同日包含フラグ(同日含む) */
	private static final String INCLUDE_FLG_NOTINCLUDED = "0";

	// ■同一サービスコード
	/** 同一サービスコードカウント：ネット */
	private int SameSvcCdCntNet = 0;
	/** 同一サービスコードカウント：電話 */
	private int SameSvcCdCntTel = 0;
	/** 同一サービスコードカウント：テレビ */
	private int SameSvcCdCntTv = 0;

	/**
	 * コンストラクタ
	 */
	@SuppressWarnings("unchecked")
	public FUSV0325_FUSV0325OPDBMapper()
	{
		// ネットサービス契約ステータス初期化
		this.netSvcKeiStat = JFUStrConst.EMPTY;
		// 電話サービス契約ステータス初期化
		this.telSvcKeiStat = JFUStrConst.EMPTY;
		// テレビサービス契約ステータス初期化
		this.tvSvcKeiStat = JFUStrConst.EMPTY;
		// 電気サービス契約ステータス初期化
		this.elecSvcKeiStat = JFUStrConst.EMPTY;
		// ネット請求契約番号リスト初期化
		this.netSeikyKeiNoList = new ArrayList();
	}

	/**
	 * 上りマッピングをする(現顧客情報一覧照会SC)
	 *
	 * <br>
	 * @param bean[0]：サービスフォームBean　Bean[1]：共有フォームBean
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return HashMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV032501SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{

		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		// WEB新規情報
		X31SDataBeanAccess webNewInfoBean = getWebInfo(bean[1]);

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		// ＫＥＹ＿ＳＹＳＩＤ
		parentMap.put("key_sysid", webNewInfoBean.sendMessageString(CommonInfoCFConst.SYSID_06, X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("FUSV032501SC", parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングをする(サービス契約一覧照会（SYSID）3SC)
	 *
	 * <br>
	 * @param bean[0]：サービスフォームBean　Bean[1]：共有フォームBean
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return HashMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV032502SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{

		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		// WEB新規情報
		X31SDataBeanAccess webNewInfoBean = getWebInfo(bean[1]);

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		// ＫＥＹ＿ＳＹＳＩＤ
		parentMap.put("key_sysid", webNewInfoBean.sendMessageString(CommonInfoCFConst.SYSID_06, X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("FUSV032502SC", parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングをする(サービス契約一覧照会CC)
	 *
	 * <br>
	 * @param bean[0]：サービスフォームBean　Bean[1]：共有フォームBean
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return HashMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV032501CC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{

		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		// WEB新規情報
		X31SDataBeanAccess webNewInfoBean = getWebInfo(bean[1]);

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		// ＫＥＹ＿ＳＹＳＩＤ
		parentMap.put("key_sysid", webNewInfoBean.sendMessageString(CommonInfoCFConst.SYSID_06, X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("FUSV032501CC", parentMap);

		return outputMap;
	}

	/**
	 * 下りマッピングをする(現顧客情報一覧照会SC)
	 *
	 * <br>
	 * @param bean[0]：サービスフォームBean　Bean[1]：共有フォームBean
	 * @param outputMap 出力データマップ
	 * @param bl viewロジックインスタンス
	 * @return HashMap
	 * @throws Exception
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getFUSV032501SC(X31SDataBeanAccess[] bean, HashMap outputMap, X31BWebBusinessLogic bl) throws Exception
	{

		HashMap parentMap = null;

		if (outputMap.containsKey("FUSV032501SC"))
		{
			parentMap = (HashMap)outputMap.get("FUSV032501SC");
		}
		if (parentMap != null && parentMap.containsKey("ECK0011B504CBSMsg1List"))
		{
			ArrayList childList = (ArrayList)parentMap.get("ECK0011B504CBSMsg1List");
			if (childList != null && !childList.isEmpty())
			{
				HashMap<String, String> childMap = (HashMap)childList.get(0);

				// お客様生年月日
				String birthd = childMap.get("cust_birthd");
				// 親権者名
				String skshaNm = childMap.get("sksha_nm");

				// 未成年の場合に親権者同意を設定
				if (birthd.compareTo(JFUCommonUtil.addYear(JCCWebCommon.getOpeDate(bl, null), -18)) > 0)
				{
					if (JFUWebCommon.isNull(skshaNm))
					{
						bean[0].sendMessageString(FUW00957SFConst.SKSHA_DOI_UM, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.CD00002_0);
					}
					else
					{
						bean[0].sendMessageString(FUW00957SFConst.SKSHA_DOI_UM, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.CD00002_1);
					}
				}
			}
		}

		return bean;
	}

	/**
	 * 下りマッピングをする(サービス契約一覧照会（SYSID）3SC)
	 *
	 * <br>
	 * @param bean[0]：サービスフォームBean　Bean[1]：共有フォームBean
	 * @param outputMap 出力データマップ
	 * @param bl viewロジックインスタンス
	 * @return HashMap
	 * @throws Exception
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getFUSV032502SC(X31SDataBeanAccess[] bean, HashMap outputMap, X31BWebBusinessLogic bl) throws Exception
	{
		// サービス契約ｍｉｎｅｏリスト
		X31SDataBeanAccessArray svcKeiMineoList = bean[0].getDataBeanArray(FUW00957SFConst.SVC_KEI_MINEO_LIST);

		HashMap parentMap = null;

		if (outputMap.containsKey("FUSV032502SC"))
		{
			parentMap = (HashMap)outputMap.get("FUSV032502SC");
		}
		if (parentMap != null && parentMap.containsKey("EKK0081B519CBSMsg1List"))
		{
			ArrayList childList = (ArrayList)parentMap.get("EKK0081B519CBSMsg1List");
			if (childList != null && !childList.isEmpty())
			{
				for (int i = 0; i < childList.size(); i++)
				{
					HashMap<String, String> childMap = (HashMap)childList.get(i);

					// サービス契約ステータス
					String svcKeiStat = childMap.get("svc_kei_stat");
					// 料金グループコード
					String prcGrpCd = childMap.get("prc_grp_cd");

					// 料金グループコードが"51"(mineo)かつサービス契約ステータスが"910"(解約済)、"920"(キャンセル済)以外の場合
					if (JFUStrConst.CD00133_51.equals(prcGrpCd)
							&& !(JFUStrConst.CD00037_910.equals(svcKeiStat) || JFUStrConst.CD00037_920.equals(svcKeiStat)))
					{
						// サービス契約ステータスが"010"(受付済)、"020"(照査済)、"030"(締結済)のいずれかの場合
						if (JFUStrConst.CD00037_010.equals(svcKeiStat) || JFUStrConst.CD00037_020.equals(svcKeiStat) || JFUStrConst.CD00037_030.equals(svcKeiStat))
						{
							// 手続き中ラベル表示
							svcKeiMineoList.addDataBean();
							X31SDataBeanAccess svcKeiMineobean = svcKeiMineoList.getDataBean(svcKeiMineoList.getCount() - 1);
							svcKeiMineobean.sendMessageString(FUW00957SFConst.LABEL_DSP_MINEO_10, X31CWebConst.DATABEAN_SET_VALUE, MINEO_LABEL_TTDK);
						}
						else
						{
							// 契約中ラベル表示
							svcKeiMineoList.addDataBean();
							X31SDataBeanAccess svcKeiMineobean = svcKeiMineoList.getDataBean(svcKeiMineoList.getCount() - 1);
							svcKeiMineobean.sendMessageString(FUW00957SFConst.LABEL_DSP_MINEO_10, X31CWebConst.DATABEAN_SET_VALUE, MINEO_LABEL_KEI_CHU);
						}
					}
				}
			}
		}

		// ｍｉｎｅｏ契約数
		bean[0].sendMessageLong(FUW00957SFConst.MINEO_NUM, X31CWebConst.DATABEAN_SET_VALUE, Long.valueOf(svcKeiMineoList.getCount()));

		return bean;
	}

	/**
	 * 下りマッピング(サービス契約一覧照会CC)
	 *
	 * <br>
	 * @param bean[0]：サービスフォームBean　Bean[1]：共有フォームBean
	 * @param outputMap
	 * @param bl viewロジックインスタンス
	 * @return X31SDataBeanAccess[]
	 * @throws Exception
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getFUSV032501CC(X31SDataBeanAccess[] bean, HashMap outputMap, X31BWebBusinessLogic bl) throws Exception
	{

		HashMap parentMap = null;
		if (outputMap.containsKey("FUSV032501CC"))
		{
			parentMap = (HashMap)outputMap.get("FUSV032501CC");
		}

		ArrayList childList = null;

		X31SDataBeanAccessArray kkeiSvcInfoArray = this.getKkeiSvcInfo(bean[1]);

		// サービス契約回線内訳リスト
		X31SDataBeanAccessArray svkeiKaisenUwList = bean[0].getDataBeanArray(FUW00957SFConst.SVKEI_KAISEN_UW_LIST);

		// 同一サービス契約で異なるsysidがある場合：1
		String choufukuString = (String)parentMap.get("choufuku_string");
		// 電話サービス契約有無フラグを取得
		String telSvcKeiUmFlg = (String)parentMap.get("tel_svc_kei_um_flg");

		// 同一サービスコードカウント取得
		if(parentMap != null && parentMap.containsKey("same_svc_cd_cnt_net"))
		{
			this.SameSvcCdCntNet = (Integer)parentMap.get("same_svc_cd_cnt_net");
		}
		if(parentMap != null && parentMap.containsKey("same_svc_cd_cnt_tel"))
		{
			this.SameSvcCdCntTel = (Integer)parentMap.get("same_svc_cd_cnt_tel");
		}
		if(parentMap != null && parentMap.containsKey("same_svc_cd_cnt_tv"))
		{
			this.SameSvcCdCntTv = (Integer)parentMap.get("same_svc_cd_cnt_tv");
		}

		childList = null;

		if (svkeiKaisenUwList != null && parentMap != null && parentMap.containsKey("svkei_kaisen_uw_list"))
		{
			childList = (ArrayList)parentMap.get("svkei_kaisen_uw_list");

			for (int i = 0; i < childList.size(); i++)
			{
				// ネットサービス契約ステータス初期化
				this.netSvcKeiStat = JFUStrConst.EMPTY;
				// 電話サービス契約ステータス初期化
				this.telSvcKeiStat = JFUStrConst.EMPTY;
				// テレビサービス契約ステータス初期化
				this.tvSvcKeiStat = JFUStrConst.EMPTY;
				// 電気サービス契約ステータス初期化
				this.elecSvcKeiStat = JFUStrConst.EMPTY;
				// ネット請求契約番号リスト初期化
				this.netSeikyKeiNoList = new ArrayList();
				// クラス変数(電話)
				this.nothingTelUwFlg = false;
				// クラス変数(電話)
				this.nothingTvUwFlg = false;

				X31SDataBeanAccess subbean = null;
				if (svkeiKaisenUwList.getCount() - 1 >= i)
				{
					subbean = svkeiKaisenUwList.getDataBean(i);
				}
				else
				{
					subbean = svkeiKaisenUwList.addDataBean();
				}
				HashMap childMap = (HashMap)childList.get(i);
				if (subbean == null)
				{
					continue;
				}

				if (childMap != null)
				{
					// -------------------------------------------
					//  サービス契約一覧照会CCからの転記項目
					// -------------------------------------------
					String[] choufukuArray = choufukuString.split(JFUStrConst.COMMA);

					String svcKeiKaisenUcwkNo = (String)childMap.get("svc_kei_kaisen_ucwk_no");
					String svcKeiKaisenUcwkStat = (String)childMap.get("svc_kei_kaisen_ucwk_stat");
					String choufuku = JFUStrConst.CD00002_0;
					if (null != choufukuArray && JFUStrConst.I_ZERO != choufukuArray.length)
					{
						for (int j = 0; j < choufuku.length(); j++)
						{
							String choufukuNo = (String)choufukuArray[j];
							if(choufukuNo.equals(svcKeiKaisenUcwkNo))
							{
								choufuku = JFUStrConst.CD00002_1;
							}
						}
					}

					// サービス契約回線内訳番号
					subbean.sendMessageString(FUW00957SFConst.SVC_KEI_KAISEN_UCWK_NO_01, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap
							.get("svc_kei_kaisen_ucwk_no"));
					// 回線場所電話番号
					subbean.sendMessageString(FUW00957SFConst.KAISEN_PLACE_TELNO_01, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap
							.get("kaisen_place_telno"));
					// 回線場所郵便番号
					subbean.sendMessageString(FUW00957SFConst.KAISEN_PLACE_PCD_01, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap
							.get("kaisen_place_pcd"));
					// 回線場所都道府県名
					subbean.sendMessageString(FUW00957SFConst.KAISEN_PLACE_STATE_NM_01, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap
							.get("kaisen_place_state_nm"));
					// 回線場所市区町村名
					subbean.sendMessageString(FUW00957SFConst.KAISEN_PLACE_CITY_NM_01, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap
							.get("kaisen_place_city_nm"));
					// 回線場所大字通称名
					subbean.sendMessageString(FUW00957SFConst.KAISEN_PLACE_OAZTSU_NM_01, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap
							.get("kaisen_place_oaztsu_nm"));
					// 回線場所字丁目名
					subbean.sendMessageString(FUW00957SFConst.KAISEN_PLACE_AZCHO_NM_01, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap
							.get("kaisen_place_azcho_nm"));
					// 回線場所番地号
					subbean.sendMessageString(FUW00957SFConst.KAISEN_PLACE_BNCHIGO_01, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap
							.get("kaisen_place_bnchigo"));
					// 回線場所補記・建物名
					subbean.sendMessageString(FUW00957SFConst.KAISEN_PLACE_ADRTTM_01, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap
							.get("kaisen_place_adrttm"));
					// 回線場所補記・部屋番号
					subbean.sendMessageString(FUW00957SFConst.KAISEN_PLACE_ADRRM_01, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap
							.get("kaisen_place_adrrm"));
					// 住所形態コード
					subbean.sendMessageString(FUW00957SFConst.AD_FORM_CD_01, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("ad_form_cd"));
					// 回線コード
					subbean.sendMessageString(FUW00957SFConst.KAISEN_CD_01, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("kaisen_cd"));

					if(childList.size() > 1)
					{
						// 整理番号
						subbean.sendMessageString(FUW00957SFConst.SEIRI_NO_01, X31CWebConst.DATABEAN_SET_VALUE, getSeiriNo((String)childMap
								.get("seiri_no")));
					}

					// マンション物件番号
					subbean.sendMessageString(FUW00957SFConst.MANSION_BUKKEN_NO_01, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap
							.get("mansion_bukken_no"));
					// ネット追加申込可否
					subbean.sendMessageString(FUW00957SFConst.NET_ADD_MSKM_KH_01, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap
							.get("net_add_mskm_kh"));
					// １００Ｍ申込可否
					subbean.sendMessageString(FUW00957SFConst.SPEED_100M_MSKM_KH_01, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap
							.get("speed_100m_mskm_kh"));
					// ２００Ｍ申込可否
					subbean.sendMessageString(FUW00957SFConst.SPEED_200M_MSKM_KH_01, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap
							.get("speed_200m_mskm_kh"));
					// １Ｇ申込可否
					subbean.sendMessageString(FUW00957SFConst.SPEED_1G_MSKM_KH_01, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap
							.get("speed_1g_mskm_kh"));
					// １０Ｇ申込可否
					subbean.sendMessageString(FUW00957SFConst.SPEED_10G_MSKM_KH_01, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap
							.get("speed_10g_mskm_kh"));
					// 電話追加申込可否
					subbean.sendMessageString(FUW00957SFConst.TEL_ADD_MSKM_KH_01, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap
							.get("tel_add_mskm_kh"));
					// テレビ追加申込可否
					subbean.sendMessageString(FUW00957SFConst.TV_ADD_MSKM_KH_01, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap
							.get("tv_add_mskm_kh"));
					// 増速申込可否
					subbean.sendMessageString(FUW00957SFConst.SPEED_CHG_MSKM_KH_01, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap
							.get("speed_chg_mskm_kh"));
					// ＩＰ払出コード
					subbean.sendMessageString(FUW00957SFConst.IP_HRADSI_CD_01, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("ip_hradsi_cd"));

					// サービス契約回線内訳＿更新年月日時分秒
					subbean.sendMessageString(FUW00957SFConst.KK0251_UPD_DTM_01, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap
							.get("kk0251_upd_dtm"));

					// マンション情報リスト
					subbean = createMansionInfoList(subbean, childMap);
					// サービス契約ネットリスト
					subbean = createSvcKeiNetList(subbean, childMap, kkeiSvcInfoArray);
					// サービス契約電話リスト
					subbean = createSvcKeiTelList(subbean, childMap, kkeiSvcInfoArray, telSvcKeiUmFlg);
					// サービス契約テレビリスト
					subbean = createSvcKeiTvList(subbean, childMap, kkeiSvcInfoArray);
					// サービス契約電気リスト
					subbean = createSvcKeiElecList(subbean, childMap, kkeiSvcInfoArray, childList.size());

					// --------------------------------------
					//  表示用回線場所の組立
					// --------------------------------------

					// 表示用回線場所
					String dspKaisenPlace = JFUStrConst.EMPTY;
					// 都道府県
					dspKaisenPlace +=
							(String)childMap.get("kaisen_place_state_nm") != null ? (String)childMap.get("kaisen_place_state_nm") : JFUStrConst.EMPTY;
					// 市区町村
					dspKaisenPlace +=
							(String)childMap.get("kaisen_place_city_nm") != null ? (String)childMap.get("kaisen_place_city_nm") : JFUStrConst.EMPTY;
					// 大字通称名
					dspKaisenPlace +=
							(String)childMap.get("kaisen_place_oaztsu_nm") != null ? (String)childMap.get("kaisen_place_oaztsu_nm")
									: JFUStrConst.EMPTY;
					// 字丁目名
					dspKaisenPlace +=
							(String)childMap.get("kaisen_place_azcho_nm") != null ? (String)childMap.get("kaisen_place_azcho_nm") : JFUStrConst.EMPTY;
					// 番地号
					dspKaisenPlace +=
							(String)childMap.get("kaisen_place_bnchigo") != null ? (String)childMap.get("kaisen_place_bnchigo") : JFUStrConst.EMPTY;
					// 補記・建物名
					dspKaisenPlace +=
							(String)childMap.get("kaisen_place_adrttm") != null ? (String)childMap.get("kaisen_place_adrttm") : JFUStrConst.EMPTY;
					// 補記・部屋番号
					dspKaisenPlace +=
							(String)childMap.get("kaisen_place_adrrm") != null ? (String)childMap.get("kaisen_place_adrrm") : JFUStrConst.EMPTY;

					// 表示用回線場所
					subbean.sendMessageString(FUW00957SFConst.DSP_KAISEN_PLACE_01, X31CWebConst.DATABEAN_SET_VALUE, dspKaisenPlace);

					// --------------------------------------
					//  既契約有無の判定
					// --------------------------------------

					// 住所変更ステータス
					String adChgStat = (String)childMap.get("adchg_stat");

					// サービス契約ネットリスト
					ArrayList svcKeiNetList = (ArrayList)childMap.get("svc_kei_net_list");

					if (isBlank(svcKeiNetList))
					{
						// 契約中サービス（ネット）無し
						subbean.sendMessageString(FUW00957SFConst.NOW_SVC_NET_01, X31CWebConst.DATABEAN_SET_VALUE, "0");

						if("001".equals(adChgStat))
						{
							// 住所変更ステータスが「登録済」の場合、手続き中
							subbean.sendMessageString(FUW00957SFConst.NOW_SVC_NET_01, X31CWebConst.DATABEAN_SET_VALUE, "9");
						}
					}
					else
					{
						// 契約中サービス（ネット）有り
						subbean.sendMessageString(FUW00957SFConst.NOW_SVC_NET_01, X31CWebConst.DATABEAN_SET_VALUE, "1");
					}

					// サービス契約電話リスト
					ArrayList svcKeiTelList = (ArrayList)childMap.get("svc_kei_tel_list");
					if (isBlank(svcKeiTelList))
					{
						// 契約中サービス（電話）無し
						subbean.sendMessageString(FUW00957SFConst.NOW_SVC_TEL_01, X31CWebConst.DATABEAN_SET_VALUE, "0");

						// 住所変更ステータスが「登録済」の場合、手続き中
						if("001".equals(adChgStat))
						{
							subbean.sendMessageString(FUW00957SFConst.NOW_SVC_TEL_01, X31CWebConst.DATABEAN_SET_VALUE, "9");
						}
					}
					else
					{
						// 契約中サービス（電話）有り
						subbean.sendMessageString(FUW00957SFConst.NOW_SVC_TEL_01, X31CWebConst.DATABEAN_SET_VALUE, "1");
					}

					// サービス契約テレビリスト
					ArrayList svcKeiTvList = (ArrayList)childMap.get("svc_kei_tv_list");
					// 契約中サービス（テレビ）
					if (isBlank(svcKeiTvList))
					{
						// 契約中サービス（テレビ）無し
						subbean.sendMessageString(FUW00957SFConst.NOW_SVC_TV_01, X31CWebConst.DATABEAN_SET_VALUE, "0");

						// 住所変更ステータスが「登録済」の場合、手続き中
						if("001".equals(adChgStat))
						{
							subbean.sendMessageString(FUW00957SFConst.NOW_SVC_TV_01, X31CWebConst.DATABEAN_SET_VALUE, "9");
						}
					}
					else
					{
						// 契約中サービス（テレビ）有り
						subbean.sendMessageString(FUW00957SFConst.NOW_SVC_TV_01, X31CWebConst.DATABEAN_SET_VALUE, "1");
					}

					// サービス契約eo電気リスト
					ArrayList svcKeiElecList = (ArrayList)childMap.get(SVC_KEI_ELEC_LIST);
					// 契約中サービス（eo電気）
					if (isBlank(svcKeiElecList))
					{
						// 契約中サービス（eo電気）無し
						subbean.sendMessageString(FUW00957SFConst.NOW_SVC_ELEC_01, X31CWebConst.DATABEAN_SET_VALUE, "0");

						// 住所変更ステータスが「登録済」の場合、手続き中
						if("001".equals(adChgStat))
						{
							subbean.sendMessageString(FUW00957SFConst.NOW_SVC_ELEC_01, X31CWebConst.DATABEAN_SET_VALUE, "9");
						}
					}
					else
					{
						// 契約中サービス（eo電気）有り
						subbean.sendMessageString(FUW00957SFConst.NOW_SVC_ELEC_01, X31CWebConst.DATABEAN_SET_VALUE, "1");
					}

					// --------------------------------------
					//  ラベル表示判定
					// --------------------------------------
					// 休止・停止中フラグ
					boolean statStopFlg = false;
					// 停止中フラグ
					boolean stoppingFlg = false;

					/* サービス提供中以降のサービスが無い場合の対応 */
					// サービス提供中なしフラグにfalseを設定
					boolean svcTkNsFlg = true;
					ArrayList<String> svcTk = new ArrayList<String>();

					if (!isBlank(svcKeiNetList) && !isBlank(this.netSvcKeiStat))
					{
						svcTk.add(this.netSvcKeiStat);
					}
					if (!isBlank(svcKeiTelList) && !isBlank(this.telSvcKeiStat))
					{
						svcTk.add(this.telSvcKeiStat);
					}
					if (!isBlank(svcKeiTvList) && !isBlank(this.tvSvcKeiStat))
					{
						svcTk.add(this.tvSvcKeiStat);
					}

					if(!isBlank(svcTk))
					{
						Collections.sort(svcTk);
						// サービス提供中以降のステータスが1つでも存在する場合
//						if(JFUStrConst.CD00037_100.compareTo((svcTk.get(svcTk.size() - 1))) <= 0)
						if(JFUStrConst.CD00037_020.compareTo((svcTk.get(svcTk.size() - 1))) <= 0)
						{
							svcTkNsFlg = false;
						}
					}

					// WEB新規情報
					X31SDataBeanAccess webNewInfoBean2 = bean[1].getDataBeanArray(CommonInfoCFConst.WEB_NEW_INFO).getDataBean(0);

// ANK-3596-00-00 DEL START
//					// マンション情報リスト
//					X31SDataBeanAccess mansionInfoBean2 = subbean.getDataBeanArray(FUW00957SFConst.MANSION_INFO_LIST).getDataBean(0);
//
//					// 申込マンションタイプ
//					String mskmMansionTyp = JFUStrConst.EMPTY;
//					// 契約種別
//					String keiyakuSbt = webNewInfoBean2.sendMessageString(CommonInfoCFConst.KEI_SBT_06, X31CWebConst.DATABEAN_GET_VALUE);
//					// 販売タイプ
//					String hanbaiType = webNewInfoBean2.sendMessageString(CommonInfoCFConst.HANBAI_TYPE_06, X31CWebConst.DATABEAN_GET_VALUE);
//
//					if (null != mansionInfoBean2)
//					{
//						// 申込マンションタイプ
//						mskmMansionTyp = mansionInfoBean2.sendMessageString(CommonInfoCFConst.MANSION_BUKKEN_CD_16, X31CWebConst.DATABEAN_GET_VALUE);
//					}
// ANK-3596-00-00 DEL END

					// ラベル表示（ネット）判定
					String labelDspNet = "1";
					if (JFUStrConst.CD00037_010.equals(this.netSvcKeiStat) || JFUStrConst.CD00037_020.equals(this.netSvcKeiStat)
							|| JFUStrConst.CD00037_030.equals(this.netSvcKeiStat)
							|| ("001".equals(adChgStat) && !JFUStrConst.CD00054_100.equals(svcKeiKaisenUcwkStat)))
					{
						// 手続き中ラベル表示"3"
						labelDspNet = "3";
					}
					else if (JFUStrConst.CD00037_100.equals(this.netSvcKeiStat))
					{
						// 契約中ラベル表示"2"
						labelDspNet = "2";
					}
					else if (JFUStrConst.CD00037_210.equals(this.netSvcKeiStat) || JFUStrConst.CD00037_220.equals(this.netSvcKeiStat))
					{
						// 取扱不可ラベル表示"4"
						labelDspNet = "4";
						statStopFlg = true;
						if(JFUStrConst.CD00037_220.equals(this.netSvcKeiStat))
						{
							// 停止中フラグ true
							stoppingFlg = true;
						}
					}
					else if (JFUStrConst.CD00002_1.equals(choufuku))
					{
						// 取扱不可ラベル表示"4"
						labelDspNet = "4";
					}
					else if(svcTkNsFlg)
					{
						// 取扱不可ラベル表示"4"
						labelDspNet = "4";
					}

					// ラベル表示（電話）判定
					String labelDspTel = "1";
					if (JFUStrConst.CD00037_010.equals(this.telSvcKeiStat) || JFUStrConst.CD00037_020.equals(this.telSvcKeiStat)
							|| JFUStrConst.CD00037_030.equals(this.telSvcKeiStat)
							|| ("001".equals(adChgStat) && !JFUStrConst.CD00054_100.equals(svcKeiKaisenUcwkStat)))
					{
						// 手続き中ラベル表示"3"
						labelDspTel = "3";
					}
					else if (JFUStrConst.CD00037_100.equals(this.telSvcKeiStat))
					{
						// 契約中ラベル表示"2"
						labelDspTel = "2";
					}
					else if (JFUStrConst.CD00037_210.equals(this.telSvcKeiStat) || JFUStrConst.CD00037_220.equals(this.telSvcKeiStat))
					{
						// 取扱不可ラベル表示"4"
						labelDspTel = "4";
						statStopFlg = true;
						if(JFUStrConst.CD00037_220.equals(this.telSvcKeiStat))
						{
							// 停止中フラグ true
							stoppingFlg = true;
						}
					}
					else if (JFUStrConst.CD00002_1.equals(choufuku))
					{
						// 取扱不可ラベル表示"4"
						labelDspTel = "4";
					}
					else if(svcTkNsFlg)
					{
						// 取扱不可ラベル表示"4"
						labelDspTel = "4";
					}

					// 内訳情報が不正の場合
					if(this.nothingTelUwFlg)
					{
						// 取扱不可ラベル表示"4"
						labelDspTel = "4";
					}

					// ラベル表示（テレビ）判定
					String labelDspTv = "1";
					if (JFUStrConst.CD00037_010.equals(this.tvSvcKeiStat) || JFUStrConst.CD00037_020.equals(this.tvSvcKeiStat)
							|| JFUStrConst.CD00037_030.equals(this.tvSvcKeiStat)
							|| ("001".equals(adChgStat) && !JFUStrConst.CD00054_100.equals(svcKeiKaisenUcwkStat)))
					{
						// 手続き中ラベル表示"3"
						labelDspTv = "3";
					}
					else if (JFUStrConst.CD00037_100.equals(this.tvSvcKeiStat))
					{
						// 契約中ラベル表示"2"
						labelDspTv = "2";
					}
					else if (JFUStrConst.CD00037_210.equals(this.tvSvcKeiStat) || JFUStrConst.CD00037_220.equals(this.tvSvcKeiStat))
					{
						// 取扱不可ラベル表示"4"
						labelDspTv = "4";
						statStopFlg = true;
						if(JFUStrConst.CD00037_220.equals(this.tvSvcKeiStat))
						{
							// 停止中フラグ true
							stoppingFlg = true;
						}
					}
					else if (JFUStrConst.CD00002_1.equals(choufuku))
					{
						// 取扱不可ラベル表示"4"
						labelDspTv = "4";
					}
					else if(svcTkNsFlg)
					{
						// 取扱不可ラベル表示"4"
						labelDspTv = "4";
					}

					// ラベル表示（電気）判定
					String labelDspElec = LABEL_MSKM_FK;
					if (JFUStrConst.CD00037_010.equals(this.elecSvcKeiStat) || JFUStrConst.CD00037_020.equals(this.elecSvcKeiStat)
							|| JFUStrConst.CD00037_030.equals(this.elecSvcKeiStat))
					{
						// 手続き中ラベル表示"3"
						labelDspElec = LABEL_TTDK;
					}
					else if (JFUStrConst.CD00037_100.equals(this.elecSvcKeiStat))
					{
						// 契約中ラベル表示"6"
						labelDspElec = LABEL_KIYK;
					}
					else if (JFUStrConst.CD00037_210.equals(this.elecSvcKeiStat))
					{
						// 契約中ラベル表示"6"
						labelDspElec = LABEL_KIYK;
						statStopFlg = true;
					}
					else if (JFUStrConst.CD00037_220.equals(this.elecSvcKeiStat))
					{
						// 取扱不可ラベル表示"4"
						labelDspElec = LABEL_TRATKI_FK;
						statStopFlg = true;
						// 停止中フラグ true
						stoppingFlg = true;
					}
					else if (JFUStrConst.CD00002_1.equals(choufuku))
					{
						// 取扱不可ラベル表示"4"
						labelDspElec = LABEL_TRATKI_FK;
					}
					else
					{
						// ■共有フォームBean.ＷＥＢ新規情報.ｅｏ電気申込可能督促フラグの設定
						// 督促フラグ取得
						String tkskFlg = webNewInfoBean2.sendMessageString(CommonInfoCFConst.ELEC_MSKM_TKSK_FLG_06, X31CWebConst.DATABEAN_GET_VALUE);

						// 電気文言リスト
						X31SDataBeanAccessArray mngnElecList = subbean.getDataBeanArray(FUW00957SFConst.MNGN_DSP_ELEC_LIST);

						//ネットの支払審査結果
						String netPaySkekka = JFUStrConst.EMPTY;

						if (!isBlank(svcKeiNetList))
						{
							//サービス契約ネットリスト取得
							HashMap svcKeiNetMap = (HashMap)svcKeiNetList.get(0);
							String netSeikyWayCd = (String)svcKeiNetMap.get(SEIKY_WAY_CD);
							//支払審査結果を判定
							judgePaySkekka(netSeikyWayCd, svcKeiNetMap, subbean, bl);
							//ネットの支払審査結果を取得
							netPaySkekka = subbean.sendMessageString(FUW00957SFConst.PAY_SKEKKA_01, X31CWebConst.DATABEAN_GET_VALUE);
						}
						else if (!isBlank(svcKeiTelList))
						{
							//サービス契約電話リスト取得
							HashMap svcKeiTelMap = (HashMap)svcKeiTelList.get(0);
							String telSeikyWayCd = (String)svcKeiTelMap.get(SEIKY_WAY_CD);
							//支払審査結果を判定
							judgePaySkekka(telSeikyWayCd, svcKeiTelMap, subbean, bl);
						}
						else if (!isBlank(svcKeiTvList))
						{
							//サービス契約テレビリスト取得
							HashMap svcKeiTvMap = (HashMap)svcKeiTvList.get(0);
							String tvSeikyWayCd = (String)svcKeiTvMap.get(SEIKY_WAY_CD);
							//支払審査結果を判定
							judgePaySkekka(tvSeikyWayCd, svcKeiTvMap, subbean, bl);
						}

						if(JFUStrConst.ELEC_TKSK_FUKA.equals(tkskFlg))
						{
							// ｅｏ電気申込可能督促フラグが不可の場合
							// 注記文言３(督促ＮＧ)を設定
							mngnElecList.addDataBean();
							X31SDataBeanAccess mngnbean = mngnElecList.getDataBean(mngnElecList.getCount() - 1);
							mngnbean.sendMessageString(FUW00957SFConst.MNGN_DSP_ELEC_09, X31CWebConst.DATABEAN_SET_VALUE, ELEC_MNGN_3);
						}
						if(MUKOU.equals(netPaySkekka))
						{
							// 支払方法が無効の場合
							// 注記文言４(支払ＮＧ)を設定
							mngnElecList.addDataBean();
							X31SDataBeanAccess mngnbean = mngnElecList.getDataBean(mngnElecList.getCount() - 1);
							mngnbean.sendMessageString(FUW00957SFConst.MNGN_DSP_ELEC_09, X31CWebConst.DATABEAN_SET_VALUE, ELEC_MNGN_4);
						}

						if (mngnElecList.getCount() == 0)
						{
							// 申込可能ラベル表示
							labelDspElec = LABEL_MSKM;
						}
					}

					if (subbean.sendMessageString(FUW00957SFConst.IP_HRADSI_CD_01, X31CWebConst.DATABEAN_GET_VALUE)
							.equals(JFUStrConst.CD01264_01) || isWebNoDisp(subbean))
					{
						if ("1".equals(labelDspNet))
						{
							// 取扱不可ラベル表示"4"
							labelDspNet = "4";
						}
						if ("1".equals(labelDspTel))
						{
							// 取扱不可ラベル表示"4"
							labelDspTel = "4";
						}
						if ("1".equals(labelDspTv))
						{
							// 取扱不可ラベル表示"4"
							labelDspTv = "4";
						}
						// 取扱不可ラベル表示"4"
						labelDspElec = "4";
					}

					// 契約サービスで1つでも「休止・中断中」、又は、「停止中」がある場合、全て取扱不可ラベルを表示する
					if (statStopFlg)
					{
						// 取扱不可ラベル表示"4"
						labelDspNet = "4";
						// 取扱不可ラベル表示"4"
						labelDspTel = "4";
						// 取扱不可ラベル表示"4"
						labelDspTv = "4";
					}

					// シンプルプラン乗換中の場合、全て取扱不可ラベルを表示する
					if ("1".equals(childMap.get("simple_chg_flg")))
					{
						// 取扱不可ラベル表示"4"
						labelDspNet = "4";
						// 取扱不可ラベル表示"4"
						labelDspTel = "4";
						// 取扱不可ラベル表示"4"
						labelDspTv = "4";
					}

					// 内訳情報が不正の場合
					if(this.nothingTvUwFlg)
					{
						// 取扱不可ラベル表示"4"
						labelDspTv = "4";
					}

					if (stoppingFlg)
					{
						// 取扱不可ラベル表示"4"
						labelDspElec = LABEL_TRATKI_FK;
					}

					// 全戸一括マンションの場合、全て取扱不可ラベルを表示する
					if (isZenko(subbean))
					{
						// 取扱不可ラベル表示"4"
						labelDspNet = "4";
						// 取扱不可ラベル表示"4"
						labelDspTel = "4";
						// 取扱不可ラベル表示"4"
						labelDspTv = "4";
					}

// ANK-3596-00-00 DEL START
//					// 量販Web申込でマンション契約者の場合
//					if (JFUStrConst.MANSION_BUKKEN_CD_MF.equals(mskmMansionTyp) && JFUStrConst.HNBAI_TYPE_RYOHAN.equals(hanbaiType))
//					{
//						// 取扱不可ラベル表示"4"
//						labelDspNet = "4";
//						// 取扱不可ラベル表示"4"
//						labelDspTel = "4";
//						// 取扱不可ラベル表示"4"
//						labelDspTv = "4";
//						// 取扱不可ラベル表示"4"
//						labelDspElec = "4";
//					}
// ANK-3596-00-00 DEL END
					// ラベル表示（ネット）
					subbean.sendMessageString(FUW00957SFConst.LABEL_DSP_NET_01, X31CWebConst.DATABEAN_SET_VALUE, labelDspNet);
					// ラベル表示（電話）
					subbean.sendMessageString(FUW00957SFConst.LABEL_DSP_TEL_01, X31CWebConst.DATABEAN_SET_VALUE, labelDspTel);
					// ラベル表示（テレビ）
					subbean.sendMessageString(FUW00957SFConst.LABEL_DSP_TV_01, X31CWebConst.DATABEAN_SET_VALUE, labelDspTv);
					// ラベル表示（電気）
					subbean.sendMessageString(FUW00957SFConst.LABEL_DSP_ELEC_01, X31CWebConst.DATABEAN_SET_VALUE, labelDspElec);

					// WEB新規情報
					X31SDataBeanAccess webNewInfoBean = bean[1].getDataBeanArray(CommonInfoCFConst.WEB_NEW_INFO).getDataBean(0);
					// 電気ボタン表示ステータス
					webNewInfoBean.sendMessageString(CommonInfoCFConst.BTN_DSP_ELEC_STAT_06, X31CWebConst.DATABEAN_SET_VALUE, labelDspElec);

				}
			}
		}

		// サービス契約数
		bean[0].sendMessageLong(FUW00957SFConst.SVC_NUM, X31CWebConst.DATABEAN_SET_VALUE, Long.valueOf(svkeiKaisenUwList.getCount()));

		return bean;
	}

	/**
	 * マンション情報リストを生成する
	 * <br>
	 * @param subbean
	 * @param inMap
	 * @return
	 */
	@SuppressWarnings("unchecked")
	X31SDataBeanAccess createMansionInfoList(X31SDataBeanAccess subbean, HashMap inMap)
	{
		ArrayList mansion_info_list = (ArrayList)inMap.get("mansion_info_list");

		if (!this.isBlank(mansion_info_list))
		{
			X31SDataBeanAccessArray mansionInfoArray = subbean.getDataBeanArray(FUW00957SFConst.MANSION_INFO_LIST);

			if (0 == mansionInfoArray.getCount())
			{
				mansionInfoArray.addDataBean();
			}

			X31SDataBeanAccess mansionBean = mansionInfoArray.getDataBean(0);

			HashMap mansionInfoMap = (HashMap)mansion_info_list.get(0);

			// マンション物件番号
			mansionBean.sendMessageString(FUW00957SFConst.MANSION_BUKKEN_NO_02, X31CWebConst.DATABEAN_SET_VALUE, (String)mansionInfoMap
					.get("mansion_bukken_no"));
			// マンション物件コード
			mansionBean.sendMessageString(FUW00957SFConst.MANSION_BUKKEN_CD_02, X31CWebConst.DATABEAN_SET_VALUE, (String)mansionInfoMap
					.get("mansion_bukken_cd"));
			// 物件管理番号
			mansionBean.sendMessageString(FUW00957SFConst.BKN_KNRI_NO_02, X31CWebConst.DATABEAN_SET_VALUE, (String)mansionInfoMap.get("bkn_knri_no"));

			// 回線使用契約物件名
			mansionBean.sendMessageString(FUW00957SFConst.KISNUSEKEI_BKN_NM_02, X31CWebConst.DATABEAN_SET_VALUE, (String)mansionInfoMap
					.get("msbsn_krtg_bkn_nm"));
			// 回線使用契約物件住所コード
			mansionBean.sendMessageString(FUW00957SFConst.KISNUSEKEI_BKN_AD_CD_02, X31CWebConst.DATABEAN_SET_VALUE, (String)mansionInfoMap
					.get("msbsn_krtg_bkn_ad_cd"));
			// 回線使用契約物件郵便番号
			mansionBean.sendMessageString(FUW00957SFConst.KISNUSEKEI_BKN_PCD_02, X31CWebConst.DATABEAN_SET_VALUE, (String)mansionInfoMap
					.get("msbsn_krtg_bkn_pcd"));
			// 回線使用契約物件都道府県名
			mansionBean.sendMessageString(FUW00957SFConst.KISNUSEKEI_BKN_STATE_NM_02, X31CWebConst.DATABEAN_SET_VALUE, (String)mansionInfoMap
					.get("msbsn_krtg_bkn_state_nm"));
			// 回線使用契約物件市区町村名
			mansionBean.sendMessageString(FUW00957SFConst.KISNUSEKEI_BKN_CITY_NM_02, X31CWebConst.DATABEAN_SET_VALUE, (String)mansionInfoMap
					.get("msbsn_krtg_bkn_city_nm"));
			// 回線使用契約物件大字通称名
			mansionBean.sendMessageString(FUW00957SFConst.KISNUSEKEI_BKN_OAZTSU_NM_02, X31CWebConst.DATABEAN_SET_VALUE, (String)mansionInfoMap
					.get("msbsn_krtg_bkn_oaztsu_nm"));
			// 回線使用物件字丁名
			mansionBean.sendMessageString(FUW00957SFConst.KISNUSEKEI_BKN_AZCHO_NM_02, X31CWebConst.DATABEAN_SET_VALUE, (String)mansionInfoMap
					.get("msbsn_krtg_bkn_azcho_nm"));

			// ネット用回線使用契約番号
			mansionBean.sendMessageString(FUW00957SFConst.NET_KAISEN_USE_KEI_NO_02, X31CWebConst.DATABEAN_SET_VALUE, (String)mansionInfoMap
					.get("net_kaisen_use_kei_no"));
			// テレビ用回線使用契約番号
			mansionBean.sendMessageString(FUW00957SFConst.TV_KAISEN_USE_KEI_NO_02, X31CWebConst.DATABEAN_SET_VALUE, (String)mansionInfoMap
					.get("tv_kaisen_use_kei_no"));
			// マンションＩＤ
			mansionBean.sendMessageString(FUW00957SFConst.MANSION_ID_02, X31CWebConst.DATABEAN_SET_VALUE, (String)mansionInfoMap.get("mansion_id"));
			// ペアＩＤ
			mansionBean.sendMessageString(FUW00957SFConst.PAIRID_02, X31CWebConst.DATABEAN_SET_VALUE, (String)mansionInfoMap.get("pairid"));
			// ＣＡＴ−ＩＤ
			mansionBean.sendMessageString(FUW00957SFConst.CATID_02, X31CWebConst.DATABEAN_SET_VALUE, (String)mansionInfoMap.get("catid"));
			// 宅内特殊配線有料工事コード
			mansionBean.sendMessageString(FUW00957SFConst.TAKNI_TOKUHSEN_YRKOJI_CD_02, X31CWebConst.DATABEAN_SET_VALUE, (String)mansionInfoMap
					.get("takni_tokuhsen_yrkoji_cd"));
			// マンション価格帯コード
			mansionBean.sendMessageString(FUW00957SFConst.MANSION_KAKAKUTAI_CD_02, X31CWebConst.DATABEAN_SET_VALUE, (String)mansionInfoMap
					.get("mansion_kakakutai_cd"));
			// 加入契約申込条件コード
			mansionBean.sendMessageString(FUW00957SFConst.KNYKEI_MSKM_JOKEN_CD_02, X31CWebConst.DATABEAN_SET_VALUE, (String)mansionInfoMap
					.get("knykei_mskm_joken_cd"));
			// 加入契約ネット10G申込可否
			mansionBean.sendMessageString(FUW00957SFConst.KNYKEI_NET_10G_MSKM_KH_02, X31CWebConst.DATABEAN_SET_VALUE, (String)mansionInfoMap
					.get("knykei_net_10g_mskm_kh"));
			// 加入契約ネット1G申込可否
			mansionBean.sendMessageString(FUW00957SFConst.KNYKEI_NET_1G_MSKM_KH_02, X31CWebConst.DATABEAN_SET_VALUE, (String)mansionInfoMap
					.get("knykei_net_1g_mskm_kh"));
			// 加入契約ネット200M申込可否
			mansionBean.sendMessageString(FUW00957SFConst.KNYKEI_NET_200M_MSKM_KH_02, X31CWebConst.DATABEAN_SET_VALUE, (String)mansionInfoMap
					.get("knykei_net_200m_mskm_kh"));
			// 加入契約ネット100M申込可否
			mansionBean.sendMessageString(FUW00957SFConst.KNYKEI_NET_100M_MSKM_KH_02, X31CWebConst.DATABEAN_SET_VALUE, (String)mansionInfoMap
					.get("knykei_net_100m_mskm_kh"));
			// メゾン光テレビ提供コード
			mansionBean.sendMessageString(FUW00957SFConst.MAISON_HIKARI_TV_TK_CD_02, X31CWebConst.DATABEAN_SET_VALUE, (String)mansionInfoMap
					.get("maison_hikari_tv_tk_cd"));
			// 光テレビ提供状況コード
			mansionBean.sendMessageString(FUW00957SFConst.HIKARI_TV_TK_JOKYO_CD_02, X31CWebConst.DATABEAN_SET_VALUE, (String)mansionInfoMap
					.get("hikari_tv_tk_jokyo_cd"));
			// 光電話提供コード
			mansionBean.sendMessageString(FUW00957SFConst.HIKARI_TEL_TK_CD_02, X31CWebConst.DATABEAN_SET_VALUE, (String)mansionInfoMap
					.get("hikari_tel_tk_cd"));
			// 標準サービス開始日数
			mansionBean.sendMessageString(FUW00957SFConst.STDARD_SVC_STA_NISU_02, X31CWebConst.DATABEAN_SET_VALUE, (String)mansionInfoMap
					.get("stdard_svc_sta_nisu"));
			// 提供方式コード
			mansionBean.sendMessageString(FUW00957SFConst.TK_HOSHIKI_CD_02, X31CWebConst.DATABEAN_SET_VALUE, (String)mansionInfoMap
					.get("tk_hoshiki_cd"));
			// 提供料金種別コード
			mansionBean.sendMessageString(FUW00957SFConst.TK_PRC_SBT_CD_02, X31CWebConst.DATABEAN_SET_VALUE, (String)mansionInfoMap
					.get("tk_prc_sbt_cd"));
			// 棟内速度コード
			mansionBean.sendMessageString(FUW00957SFConst.TONAI_SPEED_CD_02, X31CWebConst.DATABEAN_SET_VALUE, (String)mansionInfoMap
					.get("tonai_speed_cd"));
			// ネット用提供方式契約番号
			mansionBean.sendMessageString(FUW00957SFConst.NET_TK_HOSHIKI_KEI_NO_02, X31CWebConst.DATABEAN_SET_VALUE, (String)mansionInfoMap
					.get("net_tk_hoshiki_kei_no"));
			// テレビ用提供方式契約番号
			mansionBean.sendMessageString(FUW00957SFConst.TV_TK_HOSHIKI_KEI_NO_02, X31CWebConst.DATABEAN_SET_VALUE, (String)mansionInfoMap
					.get("tv_tk_hoshiki_kei_no"));
			// Ｐ−ＩＤ
			mansionBean.sendMessageString(FUW00957SFConst.PID_02, X31CWebConst.DATABEAN_SET_VALUE, (String)mansionInfoMap.get("pid"));
			// オーナー契約番号
			mansionBean.sendMessageString(FUW00957SFConst.OWNR_KEI_NO_02, X31CWebConst.DATABEAN_SET_VALUE, (String)mansionInfoMap.get("ownr_kei_no"));
			// マンションオーナーＩＤ
			mansionBean.sendMessageString(FUW00957SFConst.MANSION_OWNR_ID_02, X31CWebConst.DATABEAN_SET_VALUE, (String)mansionInfoMap
					.get("mansion_ownr_id"));
			// 支払方式コード
			mansionBean.sendMessageString(FUW00957SFConst.PAY_HOSHIKI_CD_02, X31CWebConst.DATABEAN_SET_VALUE, (String)mansionInfoMap
					.get("pay_hoshiki_cd"));
			// 起点変電所コード
			mansionBean.sendMessageString(FUW00957SFConst.KITEN_HDSHO_CD_02, X31CWebConst.DATABEAN_SET_VALUE, (String)mansionInfoMap
					.get("kiten_hdsho_cd"));
			// 集約局コード
			mansionBean.sendMessageString(FUW00957SFConst.SHYAKK_CD_02, X31CWebConst.DATABEAN_SET_VALUE, (String)mansionInfoMap.get("shyakk_cd"));
			// マンション割引サービス契約番号（ＮＥＴ）
			mansionBean.sendMessageString(FUW00957SFConst.NET_MANSION_WRIB_SVC_KEI_NO_02, X31CWebConst.DATABEAN_SET_VALUE, (String)mansionInfoMap
					.get("net_mansion_wrib_svc_kei_no"));
			// マンションキャンペーンコード（ＮＥＴ）
			mansionBean.sendMessageString(FUW00957SFConst.NET_MANS_CAMPAIGN_CD_02, X31CWebConst.DATABEAN_SET_VALUE, (String)mansionInfoMap
					.get("net_mans_campaign_cd"));
			// マンション割引サービス契約番号（ＴＶ）
			mansionBean.sendMessageString(FUW00957SFConst.TV_MANSION_WRIB_SVC_KEI_NO_02, X31CWebConst.DATABEAN_SET_VALUE, (String)mansionInfoMap
					.get("tv_mansion_wrib_svc_kei_no"));
			// マンションキャンペーンコード（ＴＶ）
			mansionBean.sendMessageString(FUW00957SFConst.TV_MANS_CAMPAIGN_CD_02, X31CWebConst.DATABEAN_SET_VALUE, (String)mansionInfoMap
					.get("tv_mans_campaign_cd"));
			// ｅｏ光ネット従量プラン申込可否
			mansionBean.sendMessageString(FUW00957SFConst.EOHNT_JURYO_PLAN_MKM_KH_02, X31CWebConst.DATABEAN_SET_VALUE, (String)mansionInfoMap
					.get("eohnt_juryo_plan_mkm_kh"));
			// サービス開始年月日
			mansionBean.sendMessageString(FUW00957SFConst.SVC_STA_YMD_02, X31CWebConst.DATABEAN_SET_VALUE, (String)mansionInfoMap.get("svc_sta_ymd"));
			// サービス開始予定年月日
			mansionBean.sendMessageString(FUW00957SFConst.SVC_STA_RSV_YMD_02, X31CWebConst.DATABEAN_SET_VALUE, (String)mansionInfoMap
					.get("svc_sta_rsv_ymd"));
			// ＩＰ払出コード
			mansionBean.sendMessageString(FUW00957SFConst.IP_HRADSI_CD_02, X31CWebConst.DATABEAN_SET_VALUE, (String)mansionInfoMap
					.get("ip_hradsi_cd"));
			// 資料請求フラグ
			mansionBean.sendMessageString(FUW00957SFConst.SIRYO_SEIKY_FLG_02, X31CWebConst.DATABEAN_SET_VALUE, (String)mansionInfoMap
					.get("siryo_seiky_flg"));
			// アクセス回線速度コード
			mansionBean.sendMessageString(FUW00957SFConst.ACCSS_KISN_SPEED_CD_02, X31CWebConst.DATABEAN_SET_VALUE, (String)mansionInfoMap
					.get("accss_kisn_speed_cd"));
			// 光配線１Ｇのみフラグ
			mansionBean.sendMessageString(FUW00957SFConst.HHS_1GONLY_FLG_02, X31CWebConst.DATABEAN_SET_VALUE, (String)mansionInfoMap
					.get("hhs_1gonly_flg"));
			// 契約付加(レンタル)コード
			mansionBean.sendMessageString(FUW00957SFConst.KEI_HUKA_RENT_CD_02, X31CWebConst.DATABEAN_SET_VALUE, (String)mansionInfoMap
					.get("kei_huka_rent_cd"));
			// 契約付加(買取)コード
			mansionBean.sendMessageString(FUW00957SFConst.KEI_HUKA_KAITORI_CD_02, X31CWebConst.DATABEAN_SET_VALUE, (String)mansionInfoMap
					.get("kei_huka_kaitori_cd"));
			// マンション接続機器コード
			mansionBean.sendMessageString(FUW00957SFConst.MCNTKK_CD_02, X31CWebConst.DATABEAN_SET_VALUE, (String)mansionInfoMap
					.get("mcntkk_cd"));
			// マンション接続機器型式コード
			mansionBean.sendMessageString(FUW00957SFConst.MCNTKK_MODEL_CD_02, X31CWebConst.DATABEAN_SET_VALUE, (String)mansionInfoMap
					.get("mcntkk_model_cd"));
			// イーサ他社併行フラグ
			mansionBean.sendMessageString(FUW00957SFConst.ETHER_TASHAHEIKO_FLG_02, X31CWebConst.DATABEAN_SET_VALUE, (String)mansionInfoMap
					.get("ether_tashaheiko_flg"));
			// 工事種別
			mansionBean.sendMessageString(FUW00957SFConst.KOJI_SBT_02, X31CWebConst.DATABEAN_SET_VALUE, (String)mansionInfoMap
					.get("koji_sbt"));
			// 提供方式パターンコード
			mansionBean.sendMessageString(FUW00957SFConst.TK_HOSHIKI_PATTERN_CD_02, X31CWebConst.DATABEAN_SET_VALUE, (String)mansionInfoMap
					.get("tk_hoshiki_pattern_cd"));
			// 回線場所連番
			mansionBean.sendMessageString(FUW00957SFConst.KAISEN_PLACE_RENBAN_02, X31CWebConst.DATABEAN_SET_VALUE, (String)mansionInfoMap
					.get("kaisen_place_renban"));
		}
		return subbean;
	}

	/**
	 * サービス契約ネットリストを生成する
	 * <br>
	 * @param subbean
	 * @param inMap
	 * @return
	 * @throws Exception
	 */
	@SuppressWarnings("unchecked")
	X31SDataBeanAccess createSvcKeiNetList(X31SDataBeanAccess subbean, HashMap inMap, X31SDataBeanAccessArray kkeiSvcInfoArray) throws Exception
	{
		ArrayList svc_kei_list = (ArrayList)inMap.get("svc_kei_net_list");

		if (!this.isBlank(svc_kei_list))
		{
			X31SDataBeanAccessArray svcKeiNetList = subbean.getDataBeanArray(FUW00957SFConst.SVC_KEI_NET_LIST);
			// フロント定義ファイルからサービス名一覧取得
			Map<String, String> svcNmMap = JFUWebCommon.getDispItemsAsMap(PATH_SVC_NM, QUERY_ATTR_NAME);

			if (0 == svcKeiNetList.getCount())
			{
				svcKeiNetList.addDataBean();
			}

			X31SDataBeanAccess svcKeiNetBean = svcKeiNetList.getDataBean(0);

			HashMap svcKeiNetMap = (HashMap)svc_kei_list.get(0);

			// サービス契約番号
			svcKeiNetBean.sendMessageString(FUW00957SFConst.SVC_KEI_NO_03, X31CWebConst.DATABEAN_SET_VALUE, (String)svcKeiNetMap.get("svc_kei_no"));
			// サービス契約ステータス
			svcKeiNetBean.sendMessageString(FUW00957SFConst.SVC_KEI_STAT_03, X31CWebConst.DATABEAN_SET_VALUE, (String)svcKeiNetMap
					.get("svc_kei_stat"));
			// クラス変数へ転記
			this.netSvcKeiStat = (String)svcKeiNetMap.get("svc_kei_stat");
			// サービスコード
			svcKeiNetBean.sendMessageString(FUW00957SFConst.SVC_CD_03, X31CWebConst.DATABEAN_SET_VALUE, (String)svcKeiNetMap.get("svc_cd"));
			// サービス名
			svcKeiNetBean.sendMessageString(FUW00957SFConst.SVC_NM_03, X31CWebConst.DATABEAN_SET_VALUE, (String)svcKeiNetMap.get("svc_nm"));
			// 料金コースコード
			svcKeiNetBean.sendMessageString(FUW00957SFConst.PCRS_CD_03, X31CWebConst.DATABEAN_SET_VALUE, (String)svcKeiNetMap.get("pcrs_cd"));
			// 料金コース名
			svcKeiNetBean.sendMessageString(FUW00957SFConst.PCRS_NM_03, X31CWebConst.DATABEAN_SET_VALUE, (String)svcKeiNetMap.get("pcrs_nm"));
			// 料金プランコード
			String pplanCd = svcKeiNetBean.sendMessageString(FUW00957SFConst.PPLAN_CD_03, X31CWebConst.DATABEAN_SET_VALUE,
					(String)svcKeiNetMap.get("pplan_cd"));
			// 料金プラン名
			svcKeiNetBean.sendMessageString(FUW00957SFConst.PPLAN_NM_03, X31CWebConst.DATABEAN_SET_VALUE, (String)svcKeiNetMap.get("pplan_nm"));
			// 料金グループコード
			String prcGrpCd = svcKeiNetBean.sendMessageString(FUW00957SFConst.PRC_GRP_CD_03, X31CWebConst.DATABEAN_SET_VALUE, (String)svcKeiNetMap.get("prc_grp_cd"));

			// 料金グループ名
			svcKeiNetBean.sendMessageString(FUW00957SFConst.PRC_GRP_NM_03, X31CWebConst.DATABEAN_SET_VALUE,
					(String)svcNmMap.get("service_name_net"));
			// 表示用サービス詳細
			svcKeiNetBean.sendMessageString(FUW00957SFConst.DSP_SVC_SYOSAI_03, X31CWebConst.DATABEAN_SET_VALUE,
					(String)svcNmMap.get(prcGrpCd) + (String)svcNmMap.get(pplanCd));

			// シンプルプランの場合はサービス追加不可
			if (JFUStrConst.PCRS_CD_SIMPLE.contains(svcKeiNetMap.get("pcrs_cd")))
			{
				// 表示用サービス詳細
				svcKeiNetBean.sendMessageString(FUW00957SFConst.DSP_SVC_SYOSAI_04, X31CWebConst.DATABEAN_SET_VALUE, (String)svcNmMap.get(pplanCd));
				// 電話追加申込可否
				subbean.sendMessageString(FUW00957SFConst.TEL_ADD_MSKM_KH_01, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				// テレビ追加申込可否
				subbean.sendMessageString(FUW00957SFConst.TV_ADD_MSKM_KH_01, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
			}

			if(JFUStrConst.CD00134_A57.equals((String)svcKeiNetMap.get("pcrs_cd")))
			{
				// マンション光配線１ギガの場合、棟内速度コードを考慮して表示
				String tonaiCd =
						JFUWebCommon.getTonaiSpeedCd(subbean.getDataBeanArray(FUW00957SFConst.MANSION_INFO_LIST).getDataBean(0),
								FUW00957SFConst.TK_HOSHIKI_PATTERN_CD_02, FUW00957SFConst.TONAI_SPEED_CD_02, FUW00957SFConst.HHS_1GONLY_FLG_02);
				// 表示用サービス詳細
				if (tonaiCd != null)
				{
					svcKeiNetBean.sendMessageString(FUW00957SFConst.DSP_SVC_SYOSAI_03, X31CWebConst.DATABEAN_SET_VALUE, (String)svcNmMap.get(prcGrpCd)
							+ (String)svcNmMap.get(pplanCd + JFUStrConst.HALF_UNDER_BAR + tonaiCd));
				}
			}

			// 認証ＩＤ
			if(this.SameSvcCdCntNet == 1)
			{
				// ネット契約1つの場合、詳細情報を表示しない
				svcKeiNetBean.sendMessageString(FUW00957SFConst.NINSHO_ID_03, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
			}
			else if(this.SameSvcCdCntNet > 1)
			{
				// ネット契約2つ以上の場合、詳細情報を表示する
				svcKeiNetBean.sendMessageString(FUW00957SFConst.NINSHO_ID_03, X31CWebConst.DATABEAN_SET_VALUE, (String)svcKeiNetMap.get("ninsho_id"));
			}

			// 請求契約番号
			if (!isBlank(svcKeiNetMap.get("seiky_kei_no")))
			{
				this.netSeikyKeiNoList.add(svcKeiNetMap.get("seiky_kei_no"));
			}

			// 既契約サービス情報Bean配列確保
			kkeiSvcInfoArray.addDataBean();

			// 既契約サービス情報Bean取得
			X31SDataBeanAccess kkeiSvcInfoBean = kkeiSvcInfoArray.getDataBean(kkeiSvcInfoArray.getCount() - 1);

			// サービス契約番号
			kkeiSvcInfoBean.sendMessageString(CommonInfoCFConst.SVC_KEI_NO_54, X31CWebConst.DATABEAN_SET_VALUE, (String)svcKeiNetMap
					.get("svc_kei_no"));
			// サービス契約ステータス
			kkeiSvcInfoBean.sendMessageString(CommonInfoCFConst.SVC_KEI_STAT_54, X31CWebConst.DATABEAN_SET_VALUE, (String)svcKeiNetMap
					.get("svc_kei_stat"));
			// サービスコード
			kkeiSvcInfoBean.sendMessageString(CommonInfoCFConst.SVC_CD_54, X31CWebConst.DATABEAN_SET_VALUE, (String)svcKeiNetMap.get("svc_cd"));
			// 料金グループコード
			kkeiSvcInfoBean.sendMessageString(CommonInfoCFConst.PRC_GRP_CD_54, X31CWebConst.DATABEAN_SET_VALUE, (String)svcKeiNetMap
					.get("prc_grp_cd"));
			// 料金コースコード
			kkeiSvcInfoBean.sendMessageString(CommonInfoCFConst.PCRS_CD_54, X31CWebConst.DATABEAN_SET_VALUE, (String)svcKeiNetMap.get("pcrs_cd"));
			// 料金プランコード
			kkeiSvcInfoBean.sendMessageString(CommonInfoCFConst.PPLAN_CD_54, X31CWebConst.DATABEAN_SET_VALUE, (String)svcKeiNetMap.get("pplan_cd"));
			// サービス契約回線内訳番号
			kkeiSvcInfoBean.sendMessageString(CommonInfoCFConst.SVC_KEI_KAISEN_UCWK_NO_54, X31CWebConst.DATABEAN_SET_VALUE, (String)inMap.get("svc_kei_kaisen_ucwk_no"));
		}

		return subbean;
	}

	/**
	 * サービス契約電話リストを生成する
	 * <br>
	 * @param subbean
	 * @param inMap
	 * @return
	 * @throws Exception
	 */
	@SuppressWarnings("unchecked")
	private X31SDataBeanAccess createSvcKeiTelList(X31SDataBeanAccess subbean, HashMap inMap, X31SDataBeanAccessArray kkeiSvcInfoArray, String tel_svc_kei_um_flg) throws Exception
	{
		ArrayList svc_kei_tel_list = (ArrayList)inMap.get("svc_kei_tel_list");

		if (!this.isBlank(svc_kei_tel_list))
		{
			X31SDataBeanAccessArray svcKeiTelList = subbean.getDataBeanArray(FUW00957SFConst.SVC_KEI_TEL_LIST);
			// フロント定義ファイルからサービス名一覧取得
			Map<String, String> svcNmMap = JFUWebCommon.getDispItemsAsMap(PATH_SVC_NM, QUERY_ATTR_NAME);
			// フロント定義ファイルから電話用文言を取得
			Map<String, String> telMongonMap = JFUWebCommon.getDispItemsAsMap(PATH_TEL_MONGON, QUERY_ATTR_NAME);

			if (0 == svcKeiTelList.getCount())
			{
				svcKeiTelList.addDataBean();
			}

			X31SDataBeanAccess svcKeiTetBean = svcKeiTelList.getDataBean(0);

			HashMap svcKeiTelMap = (HashMap)svc_kei_tel_list.get(0);

			// サービス契約番号
			svcKeiTetBean.sendMessageString(FUW00957SFConst.SVC_KEI_NO_04, X31CWebConst.DATABEAN_SET_VALUE, (String)svcKeiTelMap.get("svc_kei_no"));
			// サービス契約ステータス
			svcKeiTetBean.sendMessageString(FUW00957SFConst.SVC_KEI_STAT_04, X31CWebConst.DATABEAN_SET_VALUE, (String)svcKeiTelMap
					.get("svc_kei_stat"));
			// クラス変数へ転記
			this.telSvcKeiStat = (String)svcKeiTelMap.get("svc_kei_stat");
			// サービスコード
			svcKeiTetBean.sendMessageString(FUW00957SFConst.SVC_CD_04, X31CWebConst.DATABEAN_SET_VALUE, (String)svcKeiTelMap.get("svc_cd"));
			// サービス名
			svcKeiTetBean.sendMessageString(FUW00957SFConst.SVC_NM_04, X31CWebConst.DATABEAN_SET_VALUE, (String)svcKeiTelMap.get("svc_nm"));
			// 料金コースコード
			svcKeiTetBean.sendMessageString(FUW00957SFConst.PCRS_CD_04, X31CWebConst.DATABEAN_SET_VALUE, (String)svcKeiTelMap.get("pcrs_cd"));
			// 料金コース名
			svcKeiTetBean.sendMessageString(FUW00957SFConst.PCRS_NM_04, X31CWebConst.DATABEAN_SET_VALUE, (String)svcKeiTelMap.get("pcrs_nm"));
			// 料金プランコード
			String pplanCd = svcKeiTetBean.sendMessageString(FUW00957SFConst.PPLAN_CD_04, X31CWebConst.DATABEAN_SET_VALUE,
					(String)svcKeiTelMap.get("pplan_cd"));
			// 料金プラン名
			svcKeiTetBean.sendMessageString(FUW00957SFConst.PPLAN_NM_04, X31CWebConst.DATABEAN_SET_VALUE, (String)svcKeiTelMap.get("pplan_nm"));
			// 料金グループコード
			svcKeiTetBean.sendMessageString(FUW00957SFConst.PRC_GRP_CD_04, X31CWebConst.DATABEAN_SET_VALUE, (String)svcKeiTelMap.get("prc_grp_cd"));

			// 料金グループ名
			svcKeiTetBean.sendMessageString(FUW00957SFConst.PRC_GRP_NM_04, X31CWebConst.DATABEAN_SET_VALUE,
					(String)svcNmMap.get("service_name_tel"));
			// 表示用サービス詳細
			svcKeiTetBean.sendMessageString(FUW00957SFConst.DSP_SVC_SYOSAI_04, X31CWebConst.DATABEAN_SET_VALUE,
					(String)svcNmMap.get(pplanCd));

			// 既契約サービス情報Bean配列確保
			kkeiSvcInfoArray.addDataBean();

			// 既契約サービス情報Bean取得
			X31SDataBeanAccess kkeiSvcInfoBean = kkeiSvcInfoArray.getDataBean(kkeiSvcInfoArray.getCount() - 1);

			// サービス契約番号
			kkeiSvcInfoBean.sendMessageString(CommonInfoCFConst.SVC_KEI_NO_54, X31CWebConst.DATABEAN_SET_VALUE, (String)svcKeiTelMap
					.get("svc_kei_no"));
			// サービス契約ステータス
			kkeiSvcInfoBean.sendMessageString(CommonInfoCFConst.SVC_KEI_STAT_54, X31CWebConst.DATABEAN_SET_VALUE, (String)svcKeiTelMap
					.get("svc_kei_stat"));
			// サービスコード
			kkeiSvcInfoBean.sendMessageString(CommonInfoCFConst.SVC_CD_54, X31CWebConst.DATABEAN_SET_VALUE, (String)svcKeiTelMap.get("svc_cd"));
			// 料金グループコード
			kkeiSvcInfoBean.sendMessageString(CommonInfoCFConst.PRC_GRP_CD_54, X31CWebConst.DATABEAN_SET_VALUE, (String)svcKeiTelMap
					.get("prc_grp_cd"));
			// 料金コースコード
			kkeiSvcInfoBean.sendMessageString(CommonInfoCFConst.PCRS_CD_54, X31CWebConst.DATABEAN_SET_VALUE, (String)svcKeiTelMap.get("pcrs_cd"));
			// 料金プランコード
			kkeiSvcInfoBean.sendMessageString(CommonInfoCFConst.PPLAN_CD_54, X31CWebConst.DATABEAN_SET_VALUE, (String)svcKeiTelMap.get("pplan_cd"));
			// サービス契約回線内訳番号
			kkeiSvcInfoBean.sendMessageString(CommonInfoCFConst.SVC_KEI_KAISEN_UCWK_NO_54, X31CWebConst.DATABEAN_SET_VALUE, (String)inMap.get("svc_kei_kaisen_ucwk_no"));

			// ------------------------------
			//  電話番号リストの生成
			// ------------------------------
			ArrayList telno_list = (ArrayList)svcKeiTelMap.get("telno_list");

			if (!isBlank(telno_list))
			{
				X31SDataBeanAccessArray telnoArray = svcKeiTetBean.getDataBeanArray(FUW00957SFConst.TELNO_LIST);

				String[] telArray = new String[telno_list.size()];
				boolean telExsistFlg = false;

				for (int i = 0; i < telno_list.size(); i++)
				{

					X31SDataBeanAccess telnoBean = null;

					if (telnoArray.getCount() - 1 >= i)
					{
						telnoBean = telnoArray.getDataBean(i);
					}
					else
					{
						telnoBean = telnoArray.addDataBean();
					}
					HashMap childMap = (HashMap)telno_list.get(i);
					if (subbean == null)
					{
						continue;
					}

					// 二重表示対応
					String telString = (String)childMap.get("telno");
					telExsistFlg = false;

					for (int j = 0; j < telArray.length; j++)
					{
						String telArrayString = telArray[j];

						if (null != telArrayString && JFUStrConst.EMPTY.equals(telArrayString) && telString.equals(telArrayString))
						{
							telExsistFlg = true;
						}
					}

					if (!telExsistFlg)
					{
						if(this.SameSvcCdCntTel == 1)
						{
							// 電話契約が1つの場合、詳細情報を表示しない
							// 電話番号順
							telnoBean.sendMessageString(FUW00957SFConst.TELNO_JUN_06, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
							// 電話番号
							telnoBean.sendMessageString(FUW00957SFConst.TELNO_06, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
						}
						else if(this.SameSvcCdCntTel > 1)
						{
							// 電話契約が2つ以上の場合、詳細情報を表示する
							// 電話番号順
							telnoBean.sendMessageString(FUW00957SFConst.TELNO_JUN_06, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("telno_jun"));
							// 電話番号
							telnoBean.sendMessageString(FUW00957SFConst.TELNO_06, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("telno"));
						}

						// 2番号契約の場合、必ず詳細情報を表示する
						if(JFUStrConst.CD00134_A32.equals((String)svcKeiTelMap.get("pcrs_cd")) || telno_list.size() == 2)
						{
							// 電話番号順
							telnoBean.sendMessageString(FUW00957SFConst.TELNO_JUN_06, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("telno_jun"));

							if(JFUWebCommon.isNull((String)childMap.get("telno")))
							{
								// 2番号サービスで電話番号が未発番の場合、専用文言を設定する
								telnoBean.sendMessageString(FUW00957SFConst.TELNO_06, X31CWebConst.DATABEAN_SET_VALUE, (String)telMongonMap.get("mihatsuban"));
							}
							else
							{
								// 電話番号
								telnoBean.sendMessageString(FUW00957SFConst.TELNO_06, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("telno"));
							}
						}

						// ●無条件で設定する
						// WEB変更連携用電話番号順番
						telnoBean.sendMessageString(FUW00957SFConst.WEB_CHG_RNK_TELNO_JUN_06, X31CWebConst.DATABEAN_SET_VALUE,
								(String)childMap.get("telno_jun"));
						// WEB変更連携用電話番号
						telnoBean.sendMessageString(FUW00957SFConst.WEB_CHG_RNK_CTR_TELNO_06, X31CWebConst.DATABEAN_SET_VALUE,
								(String)childMap.get("telno"));

						String keizkAfKeiChgechuFlg = (String)childMap.get("keizk_af_kei_chgechu_flg");
						if (KEIZK_AF_KEI_CHGECHU_FLG_ON.equals(keizkAfKeiChgechuFlg))
						{
							// WEB変更連携用電話番号
							telnoBean.sendMessageString(FUW00957SFConst.WEB_CHG_RNK_CTR_TELNO_06, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
						}
					}

					telArray[i] = telString;
				}
			}
			else
			{
				// サービス契約が存在しているのに、サービス契約内訳(電話番号リスト)が存在していない
				nothingTelUwFlg = true;
			}

			if(A32.equals((String)svcKeiTelMap.get("pcrs_cd")) && 1 == telno_list.size())
			{
				// サービス契約が2番号だが、電話番号(電話番号リスト)が1つしかない
				nothingTelUwFlg = true;
			}
		}

		return subbean;
	}

	/**
	 * サービス契約テレビリストを生成する
	 * <br>
	 * @param subbean
	 * @param inMap
	 * @return
	 * @throws Exception
	 */
	@SuppressWarnings("unchecked")
	private X31SDataBeanAccess createSvcKeiTvList(X31SDataBeanAccess subbean, HashMap inMap, X31SDataBeanAccessArray kkeiSvcInfoArray) throws Exception
	{
		ArrayList svc_kei_tv_list = (ArrayList)inMap.get("svc_kei_tv_list");

		if (!this.isBlank(svc_kei_tv_list))
		{
			X31SDataBeanAccessArray svcKeiTvList = subbean.getDataBeanArray(FUW00957SFConst.SVC_KEI_TV_LIST);
			// フロント定義ファイルからサービス名一覧取得
			Map<String, String> svcNmMap = JFUWebCommon.getDispItemsAsMap(PATH_SVC_NM, QUERY_ATTR_NAME);

			if (0 == svcKeiTvList.getCount())
			{
				svcKeiTvList.addDataBean();
			}

			X31SDataBeanAccess svcKeiTvBean = svcKeiTvList.getDataBean(0);

			HashMap svcKeiTvMap = (HashMap)svc_kei_tv_list.get(0);

			// サービス契約番号
			svcKeiTvBean.sendMessageString(FUW00957SFConst.SVC_KEI_NO_05, X31CWebConst.DATABEAN_SET_VALUE, (String)svcKeiTvMap.get("svc_kei_no"));
			// サービス契約ステータス
			svcKeiTvBean.sendMessageString(FUW00957SFConst.SVC_KEI_STAT_05, X31CWebConst.DATABEAN_SET_VALUE, (String)svcKeiTvMap.get("svc_kei_stat"));
			// クラス変数へ転記
			this.tvSvcKeiStat = (String)svcKeiTvMap.get("svc_kei_stat");
			// サービスコード
			svcKeiTvBean.sendMessageString(FUW00957SFConst.SVC_CD_05, X31CWebConst.DATABEAN_SET_VALUE, (String)svcKeiTvMap.get("svc_cd"));
			// サービス名
			svcKeiTvBean.sendMessageString(FUW00957SFConst.SVC_NM_05, X31CWebConst.DATABEAN_SET_VALUE, (String)svcKeiTvMap.get("svc_nm"));
			// 料金コースコード
			svcKeiTvBean.sendMessageString(FUW00957SFConst.PCRS_CD_05, X31CWebConst.DATABEAN_SET_VALUE, (String)svcKeiTvMap.get("pcrs_cd"));
			// 料金コース名
			svcKeiTvBean.sendMessageString(FUW00957SFConst.PCRS_NM_05, X31CWebConst.DATABEAN_SET_VALUE, (String)svcKeiTvMap.get("pcrs_nm"));
			// 料金プランコード
			String pplanCd = svcKeiTvBean.sendMessageString(FUW00957SFConst.PPLAN_CD_05, X31CWebConst.DATABEAN_SET_VALUE, (String)svcKeiTvMap.get("pplan_cd"));
			// 料金プラン名
			svcKeiTvBean.sendMessageString(FUW00957SFConst.PPLAN_NM_05, X31CWebConst.DATABEAN_SET_VALUE, (String)svcKeiTvMap.get("pplan_nm"));
			// 料金グループコード
			svcKeiTvBean.sendMessageString(FUW00957SFConst.PRC_GRP_CD_05, X31CWebConst.DATABEAN_SET_VALUE, (String)svcKeiTvMap.get("prc_grp_cd"));
			// 料金プランコード
			String chbf_pplan_cd = svcKeiTvBean.sendMessageString(FUW00957SFConst.PPLAN_CD_05, X31CWebConst.DATABEAN_SET_VALUE, (String)svcKeiTvMap.get("chbf_pplan_cd"));

			// 料金グループ名
			svcKeiTvBean.sendMessageString(FUW00957SFConst.PRC_GRP_NM_05, X31CWebConst.DATABEAN_SET_VALUE,
					(String)svcNmMap.get("service_name_tv"));
			if(JFUWebCommon.isNull(chbf_pplan_cd))
			{
				// 表示用サービス詳細
				svcKeiTvBean.sendMessageString(FUW00957SFConst.DSP_SVC_SYOSAI_05, X31CWebConst.DATABEAN_SET_VALUE,
						(String)svcNmMap.get(pplanCd));
			}
			else
			{
				// 表示用サービス詳細 テレビコース名表示切替
				svcKeiTvBean.sendMessageString(FUW00957SFConst.DSP_SVC_SYOSAI_05, X31CWebConst.DATABEAN_SET_VALUE,
						(String)svcNmMap.get(chbf_pplan_cd));
			}

			// 既契約サービス情報Bean配列確保
			kkeiSvcInfoArray.addDataBean();

			// 既契約サービス情報Bean取得
			X31SDataBeanAccess kkeiSvcInfoBean = kkeiSvcInfoArray.getDataBean(kkeiSvcInfoArray.getCount() - 1);

			// サービス契約番号
			kkeiSvcInfoBean
					.sendMessageString(CommonInfoCFConst.SVC_KEI_NO_54, X31CWebConst.DATABEAN_SET_VALUE, (String)svcKeiTvMap.get("svc_kei_no"));
			// サービス契約ステータス
			kkeiSvcInfoBean.sendMessageString(CommonInfoCFConst.SVC_KEI_STAT_54, X31CWebConst.DATABEAN_SET_VALUE, (String)svcKeiTvMap
					.get("svc_kei_stat"));
			// サービスコード
			kkeiSvcInfoBean.sendMessageString(CommonInfoCFConst.SVC_CD_54, X31CWebConst.DATABEAN_SET_VALUE, (String)svcKeiTvMap.get("svc_cd"));
			// 料金グループコード
			kkeiSvcInfoBean
					.sendMessageString(CommonInfoCFConst.PRC_GRP_CD_54, X31CWebConst.DATABEAN_SET_VALUE, (String)svcKeiTvMap.get("prc_grp_cd"));
			// 料金コースコード
			kkeiSvcInfoBean.sendMessageString(CommonInfoCFConst.PCRS_CD_54, X31CWebConst.DATABEAN_SET_VALUE, (String)svcKeiTvMap.get("pcrs_cd"));
			// 料金プランコード
			kkeiSvcInfoBean.sendMessageString(CommonInfoCFConst.PPLAN_CD_54, X31CWebConst.DATABEAN_SET_VALUE, (String)svcKeiTvMap.get("pplan_cd"));
			// サービス契約回線内訳番号
			kkeiSvcInfoBean.sendMessageString(CommonInfoCFConst.SVC_KEI_KAISEN_UCWK_NO_54, X31CWebConst.DATABEAN_SET_VALUE, (String)inMap.get("svc_kei_kaisen_ucwk_no"));

			ArrayList ucwk_info_list = (ArrayList)svcKeiTvMap.get("ucwk_info_list");

			// 内訳情報リスト件数
			svcKeiTvBean.sendMessageLong(FUW00957SFConst.UCWK_INFO_LIST_NUM_05, X31CWebConst.DATABEAN_SET_VALUE, Long.valueOf(ucwk_info_list.size()));

// ANK-4592-00-00 MOD START
			if ((isBlank(ucwk_info_list) || "0".equals((String)svcKeiTvMap.get("kiki_um")))
					&& !(A37.equals((String)svcKeiTvMap.get("pcrs_cd")) || AC0.equals((String)svcKeiTvMap.get("pcrs_cd")) || AC1.equals((String)svcKeiTvMap.get("pcrs_cd"))))
			{
				// 内訳が存在しない場合、フラグをTRUEにする
				this.nothingTvUwFlg = true;
			}
// ANK-4592-00-00 MOD END

			if (!isBlank(ucwk_info_list))
			{
				X31SDataBeanAccessArray ucwkInfoArray = svcKeiTvBean.getDataBeanArray(FUW00957SFConst.UCWK_INFO_LIST);

				String[] tvArray = new String[ucwk_info_list.size()];
				boolean tvExsistFlg = false;

				for (int i = 0; i < ucwk_info_list.size(); i++)
				{

					X31SDataBeanAccess ucwkInfoBean = null;

					if (ucwkInfoArray.getCount() - 1 >= i)
					{
						ucwkInfoBean = ucwkInfoArray.getDataBean(i);
					}
					else
					{
						ucwkInfoBean = ucwkInfoArray.addDataBean();
					}
					HashMap childMap = (HashMap)ucwk_info_list.get(i);
					if (subbean == null)
					{
						continue;
					}

					// 二重表示対応
					String tvString = (String)childMap.get("pcrs_cd") +
								 (String)childMap.get("pcrs_nm") +
								 (String)childMap.get("pplan_cd") +
								 (String)childMap.get("pplan_nm") +
								 (String)childMap.get("ccas_card_no");

					tvExsistFlg = false;

					for (int j = 0; j < tvArray.length; j++)
					{
						String tvArrayString = tvArray[j];

						if (null != tvArrayString && JFUStrConst.EMPTY.equals(tvArrayString) && tvArrayString.equals(tvString))
						{
							tvExsistFlg = true;
						}
					}

					if (!tvExsistFlg)
					{
						// 料金コースコード
						ucwkInfoBean.sendMessageString(FUW00957SFConst.PCRS_CD_07, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("pcrs_cd"));
						// 料金コース名
						ucwkInfoBean.sendMessageString(FUW00957SFConst.PCRS_NM_07, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("pcrs_nm"));
						// 料金プランコード
						String ucwkPplanCd = ucwkInfoBean.sendMessageString(FUW00957SFConst.PPLAN_CD_07, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("pplan_cd"));
						// 料金プラン名
						ucwkInfoBean.sendMessageString(FUW00957SFConst.PPLAN_NM_07, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("pplan_nm"));

						if(this.SameSvcCdCntTv == 1)
						{
							// テレビ契約が1つの場合、詳細情報を表示しない
							// Ｃ−ＣＡＳカードＮｏ
							ucwkInfoBean.sendMessageString(FUW00957SFConst.CCAS_CARD_NO_07, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
						}
						else if(this.SameSvcCdCntTv > 1)
						{
							// テレビ契約が2つ以上の場合、詳細情報を表示する
							// Ｃ−ＣＡＳカードＮｏ
							ucwkInfoBean.sendMessageString(FUW00957SFConst.CCAS_CARD_NO_07, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap
									.get("ccas_card_no"));
						}

						// 表示用サービス詳細
						ucwkInfoBean.sendMessageString(FUW00957SFConst.DSP_SVC_SYOSAI_07, X31CWebConst.DATABEAN_SET_VALUE,
								(String)svcNmMap.get(ucwkPplanCd));
					}
					tvArray[i] = tvString;
				}
			}
		}
		return subbean;
	}


	/**
	 * サービス契約電気リストを生成する
	 * <br>
	 * @param subbean サービスフォームBean
	 * @param inMap inマップ
	 * @param kkeiSvcInfoArray 既契約サービス情報
	 * @param childListSize リストサイズ
	 * @return サービスフォームBean
	 * @throws Exception
	 */
	@SuppressWarnings("unchecked")
	X31SDataBeanAccess createSvcKeiElecList(X31SDataBeanAccess subbean, HashMap inMap, X31SDataBeanAccessArray kkeiSvcInfoArray, int childListSize) throws Exception
	{
		ArrayList svc_kei_list = (ArrayList)inMap.get(SVC_KEI_ELEC_LIST);

		if (!this.isBlank(svc_kei_list))
		{
			X31SDataBeanAccessArray svcKeiElectricList = subbean.getDataBeanArray(FUW00957SFConst.SVC_KEI_ELEC_LIST);
			// フロント定義ファイルからサービス名一覧取得
			Map<String, String> svcNmMap = JFUWebCommon.getDispItemsAsMap(PATH_SVC_NM, QUERY_ATTR_NAME);

			if (0 == svcKeiElectricList.getCount())
			{
				svcKeiElectricList.addDataBean();
			}

			X31SDataBeanAccess svcKeiElectricBean = svcKeiElectricList.getDataBean(0);

			HashMap svcKeiElectricMap = (HashMap)svc_kei_list.get(0);

			// サービス契約番号
			svcKeiElectricBean.sendMessageString(FUW00957SFConst.SVC_KEI_NO_08, X31CWebConst.DATABEAN_SET_VALUE, (String)svcKeiElectricMap.get(SVC_KEI_NO));
			// サービス契約ステータス
			svcKeiElectricBean.sendMessageString(FUW00957SFConst.SVC_KEI_STAT_08, X31CWebConst.DATABEAN_SET_VALUE, (String)svcKeiElectricMap.get(SVC_KEI_STAT));
			// クラス変数へ転記
			this.elecSvcKeiStat = (String)svcKeiElectricMap.get(SVC_KEI_STAT);
			// サービスコード
			svcKeiElectricBean.sendMessageString(FUW00957SFConst.SVC_CD_08, X31CWebConst.DATABEAN_SET_VALUE, (String)svcKeiElectricMap.get(SVC_CD));
			// サービス名
			svcKeiElectricBean.sendMessageString(FUW00957SFConst.SVC_NM_08, X31CWebConst.DATABEAN_SET_VALUE, (String)svcKeiElectricMap.get(SVC_NM));
			// 料金コースコード
			svcKeiElectricBean.sendMessageString(FUW00957SFConst.PCRS_CD_08, X31CWebConst.DATABEAN_SET_VALUE, (String)svcKeiElectricMap.get(PCRS_CD));
			// 料金コース名
			svcKeiElectricBean.sendMessageString(FUW00957SFConst.PCRS_NM_08, X31CWebConst.DATABEAN_SET_VALUE,
					(String)svcNmMap.get(SERVICE_NAME_ELEC));
			// 料金プランコード
			String pplanCd = svcKeiElectricBean.sendMessageString(FUW00957SFConst.PPLAN_CD_08, X31CWebConst.DATABEAN_SET_VALUE, (String)svcKeiElectricMap.get(PPLAN_CD));
			// 料金プラン名
			svcKeiElectricBean.sendMessageString(FUW00957SFConst.PPLAN_NM_08, X31CWebConst.DATABEAN_SET_VALUE,
					(String)svcNmMap.get(pplanCd));
			// 料金グループコード
			svcKeiElectricBean.sendMessageString(FUW00957SFConst.PRC_GRP_CD_08, X31CWebConst.DATABEAN_SET_VALUE, (String)svcKeiElectricMap.get(PRC_GRP_CD));
			// 料金グループ名
			svcKeiElectricBean.sendMessageString(FUW00957SFConst.PRC_GRP_NM_08, X31CWebConst.DATABEAN_SET_VALUE,
					(String)svcNmMap.get(SERVICE_NAME_ELEC));
			// 整理番号
			String seiriNo = (String)svcKeiElectricMap.get(SEIRI_NO);
			if(!JFUWebCommon.isNull(seiriNo) && childListSize > 1)
			{
				// 整理番号があり、単一回線でなければ設定
				svcKeiElectricBean.sendMessageString(FUW00957SFConst.SEIRI_NO_08, X31CWebConst.DATABEAN_SET_VALUE, getSeiriNo(seiriNo));
			}
			// 既契約サービス情報Bean配列確保
			kkeiSvcInfoArray.addDataBean();
			// 既契約サービス情報Bean取得
			X31SDataBeanAccess kkeiSvcInfoBean = kkeiSvcInfoArray.getDataBean(kkeiSvcInfoArray.getCount() - 1);
			// サービス契約番号
			kkeiSvcInfoBean.sendMessageString(CommonInfoCFConst.SVC_KEI_NO_54, X31CWebConst.DATABEAN_SET_VALUE, (String)svcKeiElectricMap.get(SVC_KEI_NO));
			// サービス契約ステータス
			kkeiSvcInfoBean.sendMessageString(CommonInfoCFConst.SVC_KEI_STAT_54, X31CWebConst.DATABEAN_SET_VALUE, (String)svcKeiElectricMap.get(SVC_KEI_STAT));
			// サービスコード
			kkeiSvcInfoBean.sendMessageString(CommonInfoCFConst.SVC_CD_54, X31CWebConst.DATABEAN_SET_VALUE, (String)svcKeiElectricMap.get(SVC_CD));
			// 料金グループコード
			kkeiSvcInfoBean.sendMessageString(CommonInfoCFConst.PRC_GRP_CD_54, X31CWebConst.DATABEAN_SET_VALUE, (String)svcKeiElectricMap.get(PRC_GRP_CD));
			// 料金コースコード
			kkeiSvcInfoBean.sendMessageString(CommonInfoCFConst.PCRS_CD_54, X31CWebConst.DATABEAN_SET_VALUE, (String)svcKeiElectricMap.get(PCRS_CD));
			// 料金プランコード
			kkeiSvcInfoBean.sendMessageString(CommonInfoCFConst.PPLAN_CD_54, X31CWebConst.DATABEAN_SET_VALUE, (String)svcKeiElectricMap.get(PPLAN_CD));
			// サービス契約回線内訳番号
			kkeiSvcInfoBean.sendMessageString(CommonInfoCFConst.SVC_KEI_KAISEN_UCWK_NO_54, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);

		}

		return subbean;
	}

	/**
	 * 値が設定されているか判定する
	 * <br>
	 * @param obj 対象オブジェクト
	 * @return 判定結果
	 */
	@SuppressWarnings("unchecked")
	private boolean isBlank(Object obj)
	{
		boolean ret = false;
		if (obj == null)
		{
			// オブジェクトがNull
			ret = true;
		}
		else if (obj instanceof String)
		{
			// String型の場合
			if (JFUStrConst.EMPTY.equals(obj))
			{
				ret = true;
			}
		}
		else if (obj instanceof ArrayList)
		{
			// ArrayList型の場合
			if (((ArrayList)obj).isEmpty())
			{
				ret = true;
			}
		}
		else if (obj instanceof HashMap)
		{
			// HashMap型の場合
			if (((HashMap)obj).isEmpty())
			{
				ret = true;
			}
		}

		return ret;
	}

	/**
	 * 共有フォームBeanから既契約サービス情報を取得する
	 * <br>
	 * @param bn
	 * @return X31SDataBeanAccessArray
	 */
	private X31SDataBeanAccessArray getKkeiSvcInfo(X31SDataBeanAccess bn)
	{
		// WEB新規情報取得
		X31SDataBeanAccess webNewInfoBean = bn.getDataBeanArray(CommonInfoCFConst.WEB_NEW_INFO).getDataBean(0);
		// 既契約サービス情報取得
		X31SDataBeanAccessArray kkeiSvcInfoArray = webNewInfoBean.getDataBeanArray(CommonInfoCFConst.KKEI_SVC_INFO);

		return kkeiSvcInfoArray;
	}

	/**
	 * サービス契約回線内訳明細（作業用）から「整理番号」を表示用に変換して返却する。
	 * <br>
	 * @param svcKsnUcwkWorkBean 回線利用場所毎サービス契約番号Map
	 * @return 整理番号
	 */
	private String getSeiriNo(String seiriNo)
	{

		if (null != seiriNo && !JFUStrConst.EMPTY.equals(seiriNo))
		{
			seiriNo = seiriNo.substring(0, 10).concat("-").concat(seiriNo.substring(10).replaceAll("^0*", JFUStrConst.EMPTY));
			seiriNo = "(".concat(seiriNo).concat(")");
		}
		else
		{
			seiriNo = JFUStrConst.EMPTY;
		}

		return seiriNo;
	}

	/**
	 * 支払審査結果を判定する
	 * <br>
	 * @param seikyuCd 請求方法コード
	 * @param svcKeiMap サービス契約マップ
	 * @param subbean サービス契約回線内訳情報
	 * @param bl viewロジックインスタンス
	 */
	@SuppressWarnings("unchecked")
	private void judgePaySkekka(String seikyuCd, HashMap svcKeiMap, X31SDataBeanAccess subbean, X31BWebBusinessLogic bl)
	{

		HashMap childMap = new HashMap();
		if (svcKeiMap != null && svcKeiMap.containsKey(KOZA_MAP))
		{
			childMap = (HashMap)svcKeiMap.get(KOZA_MAP);
		}
		if (svcKeiMap != null && svcKeiMap.containsKey(CRECARD_MAP))
		{
			childMap = (HashMap)svcKeiMap.get(CRECARD_MAP);
		}

		// 口座振替か郵便自動振込の場合の編集
		if (JFUStrConst.CD00166_2.equals(seikyuCd) || JFUStrConst.CD00166_3.equals(seikyuCd))
		{
			// 支払い審査結果コード（口座）
			String sKekkaCd = (String)childMap.get(PAY_SKEKKA_CD);

			if (JFUStrConst.CD00166_2.equals(seikyuCd))
			{
				// 支払審査結果が口座振替ＮＧの場合
				if (PAY_SKEKKA_CD_KOZA_NG.equals(sKekkaCd))
				{
					subbean.sendMessageString(FUW00957SFConst.PAY_SKEKKA_01, X31CWebConst.DATABEAN_SET_VALUE, MUKOU);
				}// 支払審査結果が口座振替ＯＫか口座振替ＮＧ解除の場合
				else if (PAY_SKEKKA_CD_KOZA_OK.equals(sKekkaCd) || PAY_SKEKKA_CD_KOZA_NGOK.equals(sKekkaCd))
				{
					subbean.sendMessageString(FUW00957SFConst.PAY_SKEKKA_01, X31CWebConst.DATABEAN_SET_VALUE, YUUKOU);
				}
			}
			else
			{
				// 支払審査結果が郵便自動振込申請ＮＧの場合
				if (PAY_SKEKKA_CD_POST_NG.equals(sKekkaCd))
				{
					subbean.sendMessageString(FUW00957SFConst.PAY_SKEKKA_01, X31CWebConst.DATABEAN_SET_VALUE, MUKOU);
				}// 支払審査結果が郵便自動振込ＯＫか郵便自動振込ＮＧ解除の場合
				else if (PAY_SKEKKA_CD_POST_OK.equals(sKekkaCd) || PAY_SKEKKA_CD_POST_NGOK.equals(sKekkaCd))
				{
					subbean.sendMessageString(FUW00957SFConst.PAY_SKEKKA_01, X31CWebConst.DATABEAN_SET_VALUE, YUUKOU);
				}
			}
		}
		// クレジットの場合
		else if (JFUStrConst.CD00166_4.equals(seikyuCd))
		{

			// クレジットカードステータス
			String crecardStat = (String)childMap.get(CRECARD_STAT);
			// クレジットカード無効年月
			String mkYm = (String)childMap.get(CRECA_MK_YM);
			// 有効性確認結果区分
			String ykDiv = (String)childMap.get(YK_CFM_RSLT_DIV);

			// クレジットカードステータスが"有効"の場合
			if (JFUStrConst.CD00059_100.equals(crecardStat))
			{
				// 有効性確認結果区分が"有効性NG"か"照合エラー"か空の場合
				if (JFUWebCommon.isNull(ykDiv) || YK_CFM_RSLT_DIV_1.equals(ykDiv) || YK_CFM_RSLT_DIV_2.equals(ykDiv) || YK_CFM_RSLT_DIV_3.equals(ykDiv))
				{
					if (!JFUWebCommon.isNull(mkYm))
					{
						String unyoYm = JCCWebCommon.getOpeDate(bl, null).substring(0, 6);

						if (JPCUtilCommon.isFutureDate(mkYm + JFUStrConst.S_FIRST_DAY, unyoYm + JFUStrConst.S_FIRST_DAY, INCLUDE_FLG_NOTINCLUDED))
						{
							// 無効年月が運用日より未来なら審査結果を有効表示する
							subbean.sendMessageString(FUW00957SFConst.PAY_SKEKKA_01, X31CWebConst.DATABEAN_SET_VALUE, YUUKOU);
						}
						else
						{
							// 無効年月が運用日以下なら審査結果を無効表示する
							subbean.sendMessageString(FUW00957SFConst.PAY_SKEKKA_01, X31CWebConst.DATABEAN_SET_VALUE, MUKOU);
						}
					}
					else
					{
						// 無効年月が無ければを有効表示する
						subbean.sendMessageString(FUW00957SFConst.PAY_SKEKKA_01, X31CWebConst.DATABEAN_SET_VALUE, YUUKOU);
					}
				}
				else
				{
					// 有効性確認結果区分が"有効性OK"の場合、有効表示する
					subbean.sendMessageString(FUW00957SFConst.PAY_SKEKKA_01, X31CWebConst.DATABEAN_SET_VALUE, YUUKOU);
				}
			}
			// クレジットカードステータスが"無効"の場合、無効表示する
			else if (JFUStrConst.CD00059_190.equals(crecardStat))
			{
				subbean.sendMessageString(FUW00957SFConst.PAY_SKEKKA_01, X31CWebConst.DATABEAN_SET_VALUE, MUKOU);
			}
		}
		// 窓口払いの場合
		else if (JFUStrConst.CD00166_1.equals(seikyuCd))
		{
			subbean.sendMessageString(FUW00957SFConst.PAY_SKEKKA_01, X31CWebConst.DATABEAN_SET_VALUE, MUKOU);
		}
	}

	/**
	 * WEB新規情報
	 *
	 * @param bean
	 * @return bn
	 */
	private X31SDataBeanAccess getWebInfo(X31SDataBeanAccess bean)
	{
		X31SDataBeanAccessArray arr = bean.getDataBeanArray(CommonInfoCFConst.WEB_NEW_INFO);
		if (arr.getCount() == 0)
		{
			arr.addDataBean();
		}
		X31SDataBeanAccess bn = arr.getDataBean(0);

		return bn;
	}

	/**
	 * ＷＥＢ非表示を判定する
	 * <br>
	 * @param subbean サービス契約回線内訳情報
	 * @return ＷＥＢ非表示か否か
	 */
	private boolean isWebNoDisp(X31SDataBeanAccess subbean)
	{

		X31SDataBeanAccessArray mansionInfoArray = subbean.getDataBeanArray(FUW00957SFConst.MANSION_INFO_LIST);

		if (0 < mansionInfoArray.getCount())
		{
			// マンション情報
			X31SDataBeanAccess mansionInfoBean = mansionInfoArray.getDataBean(0);
			// 加入申込条件コード
			String knykeiMskmJokenCd = mansionInfoBean.sendMessageString(FUW00957SFConst.KNYKEI_MSKM_JOKEN_CD_02, X31CWebConst.DATABEAN_GET_VALUE);

			if (JFUStrConst.KNYKEI_MSKM_JOKEN_ATICLE.equals(knykeiMskmJokenCd)
					|| JFUStrConst.KNYKEI_MSKM_JOKEN_ATICLE_SIKY_MAISON.equals(knykeiMskmJokenCd)
					|| JFUStrConst.KNYKEI_MSKM_JOKEN_DONYU_MK.equals(knykeiMskmJokenCd)
					|| JFUStrConst.KNYKEI_MSKM_JOKEN_DONYU_MK_MAISON.equals(knykeiMskmJokenCd))
			{
				return true;
			}
		}

		return false;
	}

	/**
	 * ＷＥＢ非表示を判定する
	 * <br>
	 * @param subbean サービス契約回線内訳情報
	 * @return ＷＥＢ非表示か否か
	 */
	private boolean isZenko(X31SDataBeanAccess subbean)
	{

		X31SDataBeanAccessArray mansionInfoArray = subbean.getDataBeanArray(FUW00957SFConst.MANSION_INFO_LIST);

		if (0 < mansionInfoArray.getCount())
		{
			// マンション情報
			X31SDataBeanAccess mansionInfoBean = mansionInfoArray.getDataBean(0);
			// 加入申込条件コード
			String knykeiMskmJokenCd = mansionInfoBean.sendMessageString(FUW00957SFConst.KNYKEI_MSKM_JOKEN_CD_02, X31CWebConst.DATABEAN_GET_VALUE);

			if (JFUStrConst.KNYKEI_MSKM_JOKEN_IKT.equals(knykeiMskmJokenCd))
			{
				return true;
			}
		}

		return false;
	}
}
