/*********************************************************************
 *	All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名		：eo顧客基幹システム
*	モジュール名	：JFUEohDnBknSearchCC
*	ソースファイル名：JFUEohDnBknSearchCC.java
*	作成者			：FJ
*	日付			：2023年08月14日
*＜機能概要＞
*	eo光導入物件情報検索処理基底共通コンポーネントクラスです。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*   v67.00      2023/08/14  FJ) 張本    【ANK-4467-00-00】FRONTIERのマンション導線巻き取りに伴うAPI変更
**********************************************************************/
package com.fujitsu.futurity.bp.custom.common;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.fujitsu.futurity.bp.custom.constant.JFUMansionSearchConstCC;
import com.fujitsu.futurity.bp.x21.bpm.db.SessionHandle;
import com.fujitsu.futurity.bp.x21.bpm.exception.RequestParameterException;
import com.fujitsu.futurity.bp.x21.bpm.parameter.IRequestParameterReadWrite;
import com.fujitsu.futurity.bp.x21.cc.AbstractCommonComponent;
import com.fujitsu.futurity.common.JCMConstants;

import eo.common.constant.JFUStrConst;

public abstract class JFUEohDnBknSearchBaseCC extends AbstractCommonComponent
{

	/** パラメータ：ＫＥＹ＿郵便番号 */
	static final String KEY_PCD = "key_pcd";
	/** パラメータ：ＫＥＹ＿物件管理番号 */
	static final String KEY_BKN_KNRI_NO = "key_bkn_knri_no";
	/** パラメータ：ＫＥＹ＿ネット用提供方式契約番号 */
	static final String KEY_NET_TK_HOSHIKI_KEI_NO = "key_net_tk_hoshiki_kei_no";
	/** パラメータ：ＫＥＹ＿テレビ用提供方式契約番号 */
	static final String KEY_TV_TK_HOSHIKI_KEI_NO = "key_tv_tk_hoshiki_kei_no";
	/** パラメータ：ＫＥＹ＿ネット用回線使用契約番号 */
	static final String KEY_NET_KAISEN_USE_KEI_NO = "key_net_kaisen_use_kei_no";
	/** パラメータ：ＫＥＹ＿テレビ用回線使用契約番号 */
	static final String KEY_TV_KAISEN_USE_KEI_NO = "key_tv_kaisen_use_kei_no";

	/** パラメータ：マンション検索一覧リスト */
	static final String RES_MANSION_SEARCH_LIST = "mansion_search_list";

	/** パラメータ：マンション物件番号 */
	static final String RES_MANSION_BUKKEN_NO = "mansion_bukken_no";
	/** パラメータ：マンション物件コード */
	static final String RES_MANSION_BUKKEN_CD = "mansion_bukken_cd";
	/** パラメータ：物件管理番号 */
	static final String RES_BKN_KNRI_NO = "bkn_knri_no";
	/** パラメータ：回線使用契約物件名 */
	static final String RES_KISNUSEKEI_BKN_NM = "kisnusekei_bkn_nm";
	/** パラメータ：回線使用契約物件カナ名 */
	static final String RES_KISNUSEKEI_BKN_KANA = "kisnusekei_bkn_kana";
	/** パラメータ：回線使用契約物件住所コード */
	static final String RES_KISNUSEKEI_BKN_AD_CD = "kisnusekei_bkn_ad_cd";
	/** パラメータ：回線使用契約物件郵便番号 */
	static final String RES_KISNUSEKEI_BKN_PCD = "kisnusekei_bkn_pcd";
	/** パラメータ：回線使用契約物件都道府県名 */
	static final String RES_KISNUSEKEI_BKN_STATE_NM = "kisnusekei_bkn_state_nm";
	/** パラメータ：回線使用契約物件市区町村名 */
	static final String RES_KISNUSEKEI_BKN_CITY_NM = "kisnusekei_bkn_city_nm";
	/** パラメータ：回線使用契約物件大字通称名 */
	static final String RES_KISNUSEKEI_BKN_OAZTSU_NM = "kisnusekei_bkn_oaztsu_nm";
	/** パラメータ：回線使用契約物件字丁目名 */
	static final String RES_KISNUSEKEI_BKN_AZCHO_NM = "kisnusekei_bkn_azcho_nm";
	/** パラメータ：回線使用契約物件番地号 */
	static final String RES_KISNUSEKEI_BKN_BNCHIGO = "kisnusekei_bkn_bnchigo";
	/** パラメータ：ネット用回線使用契約番号 */
	static final String RES_NET_KAISEN_USE_KEI_NO = "net_kaisen_use_kei_no";
	/** パラメータ：テレビ用回線使用契約番号 */
	static final String RES_TV_KAISEN_USE_KEI_NO = "tv_kaisen_use_kei_no";
	/** パラメータ：マンションＩＤ */
	static final String RES_MANSION_ID = "mansion_id";
	/** パラメータ：ペアＩＤ */
	static final String RES_PAIRID = "pairid";
	/** パラメータ：ＣＡＴ−ＩＤ */
	static final String RES_CATID = "catid";
	/** パラメータ：宅内特殊配線有料工事コード */
	static final String RES_TAKNI_TOKUHSEN_YRKOJI_CD = "takni_tokuhsen_yrkoji_cd";
	/** パラメータ：マンション価格帯コード */
	static final String RES_MANSION_KAKAKUTAI_CD = "mansion_kakakutai_cd";
	/** パラメータ：加入契約申込条件コード */
	static final String RES_KNYKEI_MSKM_JOKEN_CD = "knykei_mskm_joken_cd";
	/** パラメータ：ネット加入契約申込条件コード */
	static final String RES_NET_KNYKEI_MSKM_JOKEN_CD = "net_knykei_mskm_joken_cd";
	/** パラメータ：テレビ加入契約申込条件コード */
	static final String RES_TV_KNYKEI_MSKM_JOKEN_CD = "tv_knykei_mskm_joken_cd";
	/** パラメータ：メゾン光テレビ提供コード */
	static final String RES_MAISON_HIKARI_TV_TK_CD = "maison_hikari_tv_tk_cd";
	/** パラメータ：光テレビ提供状況コード */
	static final String RES_HIKARI_TV_TK_JOKYO_CD = "hikari_tv_tk_jokyo_cd";
	/** パラメータ：光電話提供コード */
	static final String RES_HIKARI_TEL_TK_CD = "hikari_tel_tk_cd";
	/** パラメータ：加入契約ネット10G申込可否 */
	static final String RES_KNYKEI_NET_10G_MSKM_KH = "knykei_net_10g_mskm_kh";
	/** パラメータ：加入契約ネット1G申込可否 */
	static final String RES_KNYKEI_NET_1G_MSKM_KH = "knykei_net_1g_mskm_kh";
	/** パラメータ：提供方式コード */
	static final String RES_TK_HOSHIKI_CD = "tk_hoshiki_cd";
	/** パラメータ：提供料金種別コード */
	static final String RES_TK_PRC_SBT_CD = "tk_prc_sbt_cd";
	/** パラメータ：棟内速度コード */
	static final String RES_TONAI_SPEED_CD = "tonai_speed_cd";
	/** パラメータ：ネット用提供方式契約番号 */
	static final String RES_NET_TK_HOSHIKI_KEI_NO = "net_tk_hoshiki_kei_no";
	/** パラメータ：テレビ用提供方式契約番号 */
	static final String RES_TV_TK_HOSHIKI_KEI_NO = "tv_tk_hoshiki_kei_no";
	/** パラメータ：Ｐ−ＩＤ */
	static final String RES_PID = "pid";
	/** パラメータ：加入契約支払方式コード */
	static final String RES_KANYU_KEI_PAY_HOSHIKI_CD = "kanyu_kei_pay_hoshiki_cd";
	/** パラメータ：マンションキャンペーンリスト（ＮＥＴ） */
	static final String RES_NET_MANS_CAMPAIGN_LIST = "net_mans_campaign_list";
	/** パラメータ：マンションキャンペーンコード（ＮＥＴ） */
	static final String RES_NET_MANS_CAMPAIGN_CD = "net_mans_campaign_cd";
	/** パラメータ：マンション割引サービスコード（ＮＥＴ） */
	static final String RES_NET_MANS_WRIB_SVC_CD = "net_mans_wrib_svc_cd";
	/** パラメータ：マンションデータ抽出項目コード（ＮＥＴ） */
	static final String RES_NET_MANS_DCHSKM_CD = "net_mans_dchskm_cd";
	/** パラメータ：マンションキャンペーンリスト（ＴＶ） */
	static final String RES_TV_MANS_CAMPAIGN_LIST = "tv_mans_campaign_list";
	/** パラメータ：マンションキャンペーンコード（ＴＶ） */
	static final String RES_TV_MANS_CAMPAIGN_CD = "tv_mans_campaign_cd";
	/** パラメータ：マンション割引サービスコード（ＴＶ） */
	static final String RES_TV_MANS_WRIB_SVC_CD = "tv_mans_wrib_svc_cd";
	/** パラメータ：マンションデータ抽出項目コード（ＴＶ） */
	static final String RES_TV_MANS_DCHSKM_CD = "tv_mans_dchskm_cd";
	/** パラメータ：資料請求フラグ */
	static final String RES_SIRYO_SEIKY_FLG = "siryo_seiky_flg";
	/** パラメータ：サービス開始年月日 */
	static final String RES_SVC_STA_YMD = "svc_sta_ymd";
	/** パラメータ：サービス開始予定年月日 */
	static final String RES_SVC_STA_RSV_YMD = "svc_sta_rsv_ymd";
	/** パラメータ：標準サービス開始日数 */
	static final String RES_STDARD_SVC_STA_NISU = "stdard_svc_sta_nisu";
	/** パラメータ：BSパススルー可否 */
	static final String RES_BSPT_KH = "bspt_kh";
	/** パラメータ：光配線１Ｇのみフラグ */
	static final String RES_HHS_1GONLY_FLG = "hhs_1gonly_flg";
	/** パラメータ：工事種別 */
	static final String RES_KOJI_SBT = "koji_sbt";
	/** パラメータ：提供方式パターンコード */
	static final String RES_TK_HOSHIKI_PATTERN_CD = "tk_hoshiki_pattern_cd";
	/** パラメータ：メゾン開通実績PON種別コード */
	static final String RES_MZ_OPJSK_PON_SBT_CD = "mz_opjsk_pon_sbt_cd";
	/** パラメータ：提供方式変更種別コード */
	static final String RES_TK_HOSHIKI_CHG_SBT_CD = "tk_hoshiki_chg_sbt_cd";

	/** パラメータ：オーナー契約番号 */
	static final String OWNR_KEI_NO = "ownr_kei_no";
	/** パラメータ：マンションオーナーＩＤ */
	static final String MANSION_OWNR_ID = "mansion_ownr_id";
	/** パラメータ：IP払出コード */
	static final String IP_HRADSI_CD = "ip_hradsi_cd";
	/** パラメータ：起点変電所コード */
	static final String KITEN_HDSHO_CD = "kiten_hdsho_cd";
	/** パラメータ：集約局コード */
	static final String SHYAKK_CD = "shyakk_cd";
	/** パラメータ：契約付加(レンタル)コード */
	static final String KEI_HUKA_RENT_CD = "kei_huka_rent_cd";
	/** パラメータ：契約付加(買取)コード */
	static final String KEI_HUKA_KAITORI_CD = "kei_huka_kaitori_cd";
	/** パラメータ：マンション接続機器コード */
	static final String MCNTKK_CD = "mcntkk_cd";
	/** パラメータ：マンション接続機器型式コード */
	static final String MCNTKK_MODEL_CD = "mcntkk_model_cd";

	/** マンション検索コモンコンポーネント部品 (ユーザ定義文字列) **/
	private static final String MANSION_SEARCH_CC = "JFUMansionSearchCC";

	/**
	 * マンション検索処理
	 * 
	 * @param handle セッションハンドル
	 * @param param リクエストパラメータ
	 * @param ccMsg ユーザデータ情報
	 * @param outMap 出力情報
	 * @throws RequestParameterException
	 * @throws Throwable
	 */
	public void execMansionSearch(SessionHandle handle, IRequestParameterReadWrite param, Map<String, Object> ccMsg, Map<String, Object> outMap)
			throws RequestParameterException, Throwable
	{
		// 郵便番号
		String pcd = (String)ccMsg.get(KEY_PCD);
		// ネット用回線使用契約番号
		String ntKisnUseKeiNo = (String)ccMsg.get(KEY_NET_KAISEN_USE_KEI_NO);
		// テレビ用回線使用契約番号
		String tvKisnUseKeiNo = (String)ccMsg.get(KEY_TV_KAISEN_USE_KEI_NO);
		// ネット用提供方式契約番号
		String ntTkHskKeiNo = (String)ccMsg.get(KEY_NET_TK_HOSHIKI_KEI_NO);
		// テレビ用提供方式契約番号
		String tvTkHskKeiNo = (String)ccMsg.get(KEY_TV_TK_HOSHIKI_KEI_NO);
		// 物件管理番号
		String bknKnriNo = (String)ccMsg.get(KEY_BKN_KNRI_NO);

		// 郵便番号でマンション検索
		if (!JFUBPCommon.isNull(pcd))
		{
			execMansionSearch(handle, param, pcd, outMap);
		}

		// 回線使用契約番号でマンション検索
		if (!JFUBPCommon.isNull(ntKisnUseKeiNo) || !JFUBPCommon.isNull(tvKisnUseKeiNo))
		{
			execMansionSearch(handle, param, ntKisnUseKeiNo, tvKisnUseKeiNo, ntTkHskKeiNo, tvTkHskKeiNo, bknKnriNo, outMap);
		}

	}

	/**
	 * マンション検索処理
	 * 
	 * @param handle セッションハンドル
	 * @param param リクエストパラメータ
	 * @param pcd 郵便番号
	 * @param outMap 出力情報
	 * @throws RequestParameterException
	 * @throws Throwable
	 */
	@SuppressWarnings("unchecked")
	private void execMansionSearch(SessionHandle handle, IRequestParameterReadWrite param, String pcd, Map<String, Object> outMap)
			throws RequestParameterException, Throwable
	{
		// マンション検索パラメタ設定
		Map<String, Object> paramMap = new HashMap<String, Object>();
		paramMap.put(JCMConstants.FUNC_CODE_KEY, JFUMansionSearchConstCC.FUNC_CODE_KEY_1);
		paramMap.put(KEY_PCD, pcd);

		// マンション検索を実行する
		JFUMansionSearchCC cc = new JFUMansionSearchCC();
		param.setData(MANSION_SEARCH_CC, paramMap);
		cc.mansionSearch(handle, param, MANSION_SEARCH_CC);

		// マンション情報取得
		List<Map<String, Object>> resultList =
				getJFUMansionSearchCC((HashMap)param.getData(MANSION_SEARCH_CC), JFUMansionSearchConstCC.MANSION_SEARCH_B_LIST);

		// 検索結果を出力
		outMap.put(RES_MANSION_SEARCH_LIST, resultList);
	}

	/**
	 * マンション検索処理
	 * 
	 * @param handle セッションハンドル
	 * @param param リクエストパラメータ
	 * @param ntKaisenUseKeiNo ネット用回線使用契約番号
	 * @param tvKaisenUseKeiNo テレビ用回線使用契約番号
	 * @param ntTkHskKeiNo ネット用提供方式契約番号
	 * @param tvTkHskKeiNo テレビ用提供方式契約番号
	 * @param bknKnriNo 物件管理番号
	 * @param outMap 出力情報
	 * @throws RequestParameterException
	 * @throws Throwable
	 */
	@SuppressWarnings("unchecked")
	private void execMansionSearch(SessionHandle handle, IRequestParameterReadWrite param, String ntKaisenUseKeiNo, String tvKaisenUseKeiNo,
			String ntTkHskKeiNo, String tvTkHskKeiNo, String bknKnriNo, Map<String, Object> outMap) throws RequestParameterException, Throwable
	{
		// マンション検索パラメタ設定
		Map<String, Object> paramMap = new HashMap<String, Object>();

		paramMap.put(JCMConstants.FUNC_CODE_KEY, JFUMansionSearchConstCC.FUNC_CODE_KEY_2);
		paramMap.put(KEY_NET_KAISEN_USE_KEI_NO, ntKaisenUseKeiNo);
		paramMap.put(KEY_TV_KAISEN_USE_KEI_NO, tvKaisenUseKeiNo);

		// マンション検索を実行する
		JFUMansionSearchCC cc = new JFUMansionSearchCC();
		param.setData(MANSION_SEARCH_CC, paramMap);
		cc.mansionSearch(handle, param, MANSION_SEARCH_CC);

		// マンション情報取得
		List<Map<String, Object>> searchList =
				getJFUMansionSearchCC((HashMap)param.getData(MANSION_SEARCH_CC), JFUMansionSearchConstCC.MANSION_SEARCH_A_LIST);

		// マンション検索結果リスト
		List<Map<String, Object>> resultList = new ArrayList<Map<String, Object>>();

		for (Map<String, Object> searchMap : searchList)
		{

			// テレビ用回線使用契約番号
			if (!JFUBPCommon.nvl((String)searchMap.get(RES_NET_KAISEN_USE_KEI_NO), "").equals(JFUBPCommon.nvl(ntKaisenUseKeiNo, "")))
			{
				continue;
			}
			// テレビ用回線使用契約番号
			if (!JFUBPCommon.nvl((String)searchMap.get(RES_TV_KAISEN_USE_KEI_NO), "").equals(JFUBPCommon.nvl(tvKaisenUseKeiNo, "")))
			{
				continue;
			}
			// ネット用提供方式契約番号
			if (!JFUBPCommon.nvl((String)searchMap.get(RES_NET_TK_HOSHIKI_KEI_NO), "").equals(JFUBPCommon.nvl(ntTkHskKeiNo, "")))
			{
				continue;
			}
			// テレビ用提供方式契約番号
			if (!JFUBPCommon.nvl((String)searchMap.get(RES_TV_TK_HOSHIKI_KEI_NO), "").equals(JFUBPCommon.nvl(tvTkHskKeiNo, "")))
			{
				continue;
			}
			// 物件管理番号
			if (!JFUBPCommon.nvl((String)searchMap.get(RES_BKN_KNRI_NO), "").equals(JFUBPCommon.nvl(bknKnriNo, "")))
			{
				continue;
			}

			resultList.add(searchMap);
		}

		// 検索結果を出力
		outMap.put(RES_MANSION_SEARCH_LIST, resultList);
	}

	/**
	 * マンション検索結果の取得
	 * @param outputMap
	 * @return 検索結果
	 */
	@SuppressWarnings("unchecked")
	private List<Map<String, Object>> getJFUMansionSearchCC(HashMap outputMap, String keyMansionSearchList)
	{

		String opedate = JFUBPCommon.getOpeDate(null);
		
		List<Map<String, Object>> mansionList = new ArrayList<Map<String, Object>>();
	
		if (outputMap.containsKey(keyMansionSearchList))
		{
			List<Map<String, Object>> childList = (List<Map<String, Object>>)outputMap.get(keyMansionSearchList);
	
			for (int i = 0; i < childList.size(); i++)
			{
				Map<String, Object> mansionMap = new HashMap<String, Object>();
				Map<String, Object> childMap = (Map<String, Object>)childList.get(i);
	
				// マンション物件番号
				mansionMap.put(RES_MANSION_BUKKEN_NO, (String)childMap.get("mansion_bukken_no"));
				// マンション物件コード
				mansionMap.put(RES_MANSION_BUKKEN_CD, (String)childMap.get("mansion_bukken_cd"));
				// 物件管理番号
				mansionMap.put(RES_BKN_KNRI_NO, (String)childMap.get("bkn_knri_no"));
				// 回線使用契約物件名
				mansionMap.put(RES_KISNUSEKEI_BKN_NM, (String)childMap.get("kisnusekei_bkn_nm"));
				// 回線使用契約物件カナ名
				mansionMap.put(RES_KISNUSEKEI_BKN_KANA, (String)childMap.get("kisnusekei_bkn_kana"));
				// 回線使用契約物件住所コード
				mansionMap.put(RES_KISNUSEKEI_BKN_AD_CD, (String)childMap.get("kisnusekei_bkn_ad_cd"));
				// 回線使用契約物件郵便番号
				mansionMap.put(RES_KISNUSEKEI_BKN_PCD, (String)childMap.get("kisnusekei_bkn_pcd"));
				// 回線使用契約物件都道府県名
				mansionMap.put(RES_KISNUSEKEI_BKN_STATE_NM, (String)childMap.get("kisnusekei_bkn_state_nm"));
				// 回線使用契約物件市区町村名
				mansionMap.put(RES_KISNUSEKEI_BKN_CITY_NM, (String)childMap.get("kisnusekei_bkn_city_nm"));
				// 回線使用契約物件大字通称名
				mansionMap.put(RES_KISNUSEKEI_BKN_OAZTSU_NM, (String)childMap.get("kisnusekei_bkn_oaztsu_nm"));
				// 回線使用契約物件字丁目名
				mansionMap.put(RES_KISNUSEKEI_BKN_AZCHO_NM, (String)childMap.get("msbsn_krtg_bkn_azcho_nm"));
				// 回線使用契約物件番地号
				mansionMap.put(RES_KISNUSEKEI_BKN_BNCHIGO, (String)childMap.get("msbsn_krtg_bkn_bnchigo"));
				// ネット用回線使用契約番号
				mansionMap.put(RES_NET_KAISEN_USE_KEI_NO, (String)childMap.get("net_kaisen_use_kei_no"));
				// テレビ用回線使用契約番号
				mansionMap.put(RES_TV_KAISEN_USE_KEI_NO, (String)childMap.get("tv_kaisen_use_kei_no"));
				// マンションＩＤ
				mansionMap.put(RES_MANSION_ID, (String)childMap.get("mansion_id"));
				// ペアＩＤ
				mansionMap.put(RES_PAIRID, (String)childMap.get("pairid"));
				// ＣＡＴ−ＩＤ
				mansionMap.put(RES_CATID, (String)childMap.get("catid"));
				// 宅内特殊配線有料工事コード
				mansionMap.put(RES_TAKNI_TOKUHSEN_YRKOJI_CD, (String)childMap.get("takni_tokuhsen_yrkoji_cd"));
				// マンション価格帯コード
				mansionMap.put(RES_MANSION_KAKAKUTAI_CD, (String)childMap.get("mansion_kakakutai_cd"));
				// 加入契約申込条件コード
				mansionMap.put(RES_KNYKEI_MSKM_JOKEN_CD, (String)childMap.get("knykei_mskm_joken_cd"));
				// ネット加入契約申込条件コード
				mansionMap.put(RES_NET_KNYKEI_MSKM_JOKEN_CD, (String)childMap.get("net_knykei_mskm_joken_cd"));
				// テレビ加入契約申込条件コード
				mansionMap.put(RES_TV_KNYKEI_MSKM_JOKEN_CD, (String)childMap.get("tv_knykei_mskm_joken_cd"));
				// メゾン光テレビ提供コード
				mansionMap.put(RES_MAISON_HIKARI_TV_TK_CD, (String)childMap.get("maison_hikari_tv_tk_cd"));
				// 光テレビ提供状況コード
				mansionMap.put(RES_HIKARI_TV_TK_JOKYO_CD, (String)childMap.get("hikari_tv_tk_jokyo_cd"));
				// 光電話提供コード
				mansionMap.put(RES_HIKARI_TEL_TK_CD, (String)childMap.get("hikari_tel_tk_cd"));
				// 加入契約ネット1G申込可否
				mansionMap.put(RES_KNYKEI_NET_1G_MSKM_KH, (String)childMap.get("knykei_net_1g_mskm_kh"));
				// 提供方式コード
				mansionMap.put(RES_TK_HOSHIKI_CD, (String)childMap.get("tk_hoshiki_cd"));
				// 提供料金種別コード
				mansionMap.put(RES_TK_PRC_SBT_CD, (String)childMap.get("tk_prc_sbt_cd"));
				// 棟内速度コード
				mansionMap.put(RES_TONAI_SPEED_CD, (String)childMap.get("tonai_speed_cd"));
				// ネット用提供方式契約番号
				mansionMap.put(RES_NET_TK_HOSHIKI_KEI_NO, (String)childMap.get("net_tk_hoshiki_kei_no"));
				// テレビ用提供方式契約番号
				mansionMap.put(RES_TV_TK_HOSHIKI_KEI_NO, (String)childMap.get("tv_tk_hoshiki_kei_no"));
				// Ｐ−ＩＤ
				mansionMap.put(RES_PID, (String)childMap.get("pid"));
				// 加入契約支払方式コード
				mansionMap.put(RES_KANYU_KEI_PAY_HOSHIKI_CD, (String)childMap.get("pay_hoshiki_cd"));
	
				// 加入契約ネット10G申込可否
				String knyKeiNet10GMskmKh = (String)childMap.get("knykei_net_10g_mskm_kh");
				String knyKeiNet10GStaYmd = (String)childMap.get("knykei_10g_mskm_tstaymd");
				String knyKeiNet10GEndYmd = (String)childMap.get("knykei_10g_mskm_tendymd");
				// 加入契約ネット10G適用期間判定
				if ("1".equals(knyKeiNet10GMskmKh) && 0 <= opedate.compareTo(knyKeiNet10GStaYmd) && 0 >= opedate.compareTo(knyKeiNet10GEndYmd))
				{
					// 運用年月日
					// 加入契約ネット10G適用期間判定
					if (0 <= opedate.compareTo(knyKeiNet10GStaYmd) && 0 >= opedate.compareTo(knyKeiNet10GEndYmd))
					{
						mansionMap.put(RES_KNYKEI_NET_10G_MSKM_KH, knyKeiNet10GMskmKh);
					}
					else
					{
						mansionMap.put(RES_KNYKEI_NET_10G_MSKM_KH, JFUStrConst.EMPTY);
					}
				}
				else
				{
					mansionMap.put(RES_KNYKEI_NET_10G_MSKM_KH, JFUStrConst.EMPTY);
				}
	
				// マンションキャンペーン（ＮＥＴ）
				if (!JFUBPCommon.isNull(childMap.get("net_mans_campaign_cd")))
				{
					String[] campCds = ((String)childMap.get("net_mans_campaign_cd")).split(JFUStrConst.COMMA);
					List<Map<String, Object>> campList = new ArrayList<Map<String, Object>>();
					for (String campCd : campCds)
					{
						Map<String, Object> campMap = new HashMap<String, Object>();

						// マンションキャンペーンコード（ＮＥＴ）
						campMap.put(RES_NET_MANS_CAMPAIGN_CD, campCd);
						campList.add(campMap);
					}

					if (campList.size() > 0)
					{
						// マンションキャンペーンリスト（ＮＥＴ）
						mansionMap.put(RES_NET_MANS_CAMPAIGN_LIST, campList);
					}
				}

				// マンションキャンペーン（ＴＶ）
				if (!JFUBPCommon.isNull(childMap.get("tv_mans_campaign_cd")))
				{
					String[] campCds = ((String)childMap.get("tv_mans_campaign_cd")).split(JFUStrConst.COMMA);
					List<Map<String, Object>> campList = new ArrayList<Map<String, Object>>();
					for (String campCd : campCds)
					{
						Map<String, Object> campMap = new HashMap<String, Object>();
						// マンションキャンペーンコード（ＴＶ）
						campMap.put(RES_TV_MANS_CAMPAIGN_CD, campCd);
						campList.add(campMap);
					}
					if (campList.size() > 0)
					{
						// マンションキャンペーンリスト（ＴＶ）
						mansionMap.put(RES_TV_MANS_CAMPAIGN_LIST, campList);
					}
				}

				// 資料請求フラグ
				mansionMap.put(RES_SIRYO_SEIKY_FLG, (String)childMap.get("siryo_seiky_flg"));
				// サービス開始年月日
				mansionMap.put(RES_SVC_STA_YMD, (String)childMap.get("svc_sta_ymd"));
				// サービス開始予定年月日
				mansionMap.put(RES_SVC_STA_RSV_YMD, (String)childMap.get("svc_sta_rsv_ymd"));
				// 標準サービス開始日数
				mansionMap.put(RES_STDARD_SVC_STA_NISU, (String)childMap.get("stdard_svc_sta_nisu"));
				// BSパススルー可否
				mansionMap.put(RES_BSPT_KH, (String)childMap.get("bspt_kh"));
				// 光配線１Ｇのみフラグ
				mansionMap.put(RES_HHS_1GONLY_FLG, (String)childMap.get("hhs_1gonly_flg"));
				// 工事種別
				mansionMap.put(RES_KOJI_SBT, (String)childMap.get("koji_sbt"));
				// 提供方式パターンコード
				mansionMap.put(RES_TK_HOSHIKI_PATTERN_CD, (String)childMap.get("tk_hoshiki_pattern_cd"));
				// メゾン開通実績PON種別コード
				mansionMap.put(RES_MZ_OPJSK_PON_SBT_CD, (String)childMap.get("mz_opjsk_pon_sbt_cd"));
				// 提供方式変更種別コード
				mansionMap.put(RES_TK_HOSHIKI_CHG_SBT_CD, (String)childMap.get("tk_hoshiki_chg_sbt_cd"));
				// オーナー契約番号
				mansionMap.put(OWNR_KEI_NO, (String)childMap.get("ownr_kei_no"));
				// マンションオーナーＩＤ
				mansionMap.put(MANSION_OWNR_ID, (String)childMap.get("mansion_ownr_id"));
				// IP払出コード
				mansionMap.put(IP_HRADSI_CD, (String)childMap.get("ip_hradsi_cd"));
				// 起点変電所コード
				mansionMap.put(KITEN_HDSHO_CD, (String)childMap.get("kiten_hdsho_cd"));
				// 集約局コード
				mansionMap.put(SHYAKK_CD, (String)childMap.get("shyakk_cd"));
				// 契約付加(レンタル)コード
				mansionMap.put(KEI_HUKA_RENT_CD, (String)childMap.get("kei_huka_rent_cd"));
				// 契約付加(買取)コード
				mansionMap.put(KEI_HUKA_KAITORI_CD, (String)childMap.get("kei_huka_kaitori_cd"));
				// マンション接続機器コード
				mansionMap.put(MCNTKK_CD, (String)childMap.get("mcntkk_cd"));
				// マンション接続機器型式コード
				mansionMap.put(MCNTKK_MODEL_CD, (String)childMap.get("mcntkk_model_cd"));

				if (JFUMansionSearchConstCC.MANSION_SEARCH_B_LIST.equals(keyMansionSearchList))
				{
					mansionList.add(editMansionMap(mansionMap));
				}
				else
				{
					mansionList.add(mansionMap);
				}
			}
		}
	
		return mansionList;
	}

	/**
	 * マンション検索結果の内容を必要に応じて編集する
	 * 
	 * @param mansionMap マンション検索結果のマップ
	 * @return マンション検索結果のマップ
	 */
	protected Map<String, Object> editMansionMap(Map<String, Object> mansionMap)
	{
		return mansionMap;
	}

}