/*********************************************************************
*	All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名		：eo顧客基幹システム
*	モジュール名	：KKSV0881_KKSV0881OPDBMapper
*	ソースファイル名：KKSV0881_KKSV0881OPDBMapper.java
*	作成者			：FJ
*	日付			：2017年12月23日
*＜機能概要＞
*	BP（検索処理）へのＤ−Ｂマッピングクラスです。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v1.00.00	2017/12/23	FJ			新規作成
*
**********************************************************************/
package eo.web.webview.mapping;

import java.util.ArrayList;
import java.util.HashMap;

import com.fujitsu.futurity.web.x31.X31CWebConst;
import com.fujitsu.futurity.web.x31.X31SDataBeanAccess;
import com.fujitsu.futurity.web.x31.X31SDataBeanAccessArray;
import com.sun.enterprise.tools.common.util.StringUtils;

import eo.common.util.JPCUtilCommon;
import eo.common.util.JZMCommonUtil;
import eo.web.webview.KKW22001SF.KKW22001SFConst;
import eo.web.webview.common.JCCWebCommon;

/**
 * DataBean-BPマッピングをする。
 * @author 919738
 */
public class KKSV0881_KKSV0881OPDBMapper 
{
	
	/**
	 * コンストラクタ
	 */
	public KKSV0881_KKSV0881OPDBMapper()
	{
	}
	
	/** 料金コースコード:１Ｇ */
	private static final String PCRS_CD_1G = "04";
	
	/**  eo光ネット料金プラン体系識別コード:従量制 */
	private static final String JURYO_PLAN = "1";

	/** eo光ネット従量プラン申込可否:可 */
	private static final String MSKM_K  = "1";

	/** マンション料金識別コード:基本料金 */
	private static final String PRC_SKBT_CD  = "001";
	/**
	 * 上りマッピングをする
	 * @param bean　[0]：マンション契約情報照会画面
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV088101SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code) {
		
		if(bean == null){
			return null;
		}
		
		if(bean.length != 1){
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		String seacchPid = bean[0].sendMessageString(KKW22001SFConst.SEARCH_P_ID, X31CWebConst.DATABEAN_GET_VALUE);
		String searchMansId = bean[0].sendMessageString(KKW22001SFConst.SEARCH_MANS_ID, X31CWebConst.DATABEAN_GET_VALUE);
		
		// マンション物件情報＿Ｐ‐ＩＤ → マンション契約一覧照会（複合検索）ＳＣ.ＫＥＹ＿Ｐ−ＩＤ
		if (!StringUtils.isEmpty(seacchPid))
		{
			parentMap.put("key_pid", seacchPid);
		}
		// マンション物件情報＿マンションＩＤ → マンション契約一覧照会（複合検索）ＳＣ.ＫＥＹ＿マンションID
		if (!StringUtils.isEmpty(searchMansId))
		{
			parentMap.put("key_mansion_id", searchMansId);
		}

		outputMap.put("KKSV088101SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：マンション契約情報照会画面
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV088104SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code) {
		
		if(bean == null){
			return null;
		}
		
		if(bean.length != 1){
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		// キー項目はサービスのWORK利用
		outputMap.put("KKSV088104SC", parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：マンション契約情報照会画面
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV088105SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code) {
		
		if(bean == null){
			return null;
		}
		
		if(bean.length != 1){
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);
		// キー項目はサービスのWORK利用
		outputMap.put("KKSV088105SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV088108SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code, String unyo_day) {
		
		if(bean == null){
			return null;
		}
		
		if(bean.length != 1){
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		// 部品呼び出し → 料金スケジュール定義一意照会マップ.ＫＥＹ＿イベントコード
		parentMap.put("key_event_cd", String.valueOf("03"));
		// 処理年月日時分秒 → 料金スケジュール定義一意照会マップ.ＫＥＹ＿運用日
		parentMap.put("key_unyo_day", unyo_day);

		outputMap.put("KKSV088108SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：マンション契約情報照会画面
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV088109SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code) {
		
		if(bean == null){
			return null;
		}
		
		if(bean.length != 1){
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		// キー項目はサービスのWORK利用
		outputMap.put("KKSV088109SC", parentMap);

		return outputMap;
	}
	
	/**
	 * 上りマッピングをする
	 * @param bean　[0]：マンション契約情報照会画面
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV088110SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code) {
		
		if(bean == null){
			return null;
		}
		
		if(bean.length != 1){
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		outputMap.put("KKSV088110SC", parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：マンション契約情報照会画面
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV088111SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code) {
		
		if(bean == null){
			return null;
		}
		
		if(bean.length != 1){
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		outputMap.put("KKSV088111SC", parentMap);
		
		return outputMap;
	}
	
	/**
	 * 上りマッピングをする
	 * @param bean　[0]：マンション契約情報照会画面
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV088112SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code) {
		
		if(bean == null){
			return null;
		}
		
		if(bean.length != 1){
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		// マンション物件情報＿Ｐ‐ＩＤ → マンション子契約一覧照会（複合検索）ＳＣ.ＫＥＹ＿Ｐ−ＩＤ
		parentMap.put("key_pid", bean[0].sendMessageString("マンション物件情報＿Ｐ‐ＩＤ", X31CWebConst.DATABEAN_GET_VALUE));
		// 回線使用契約番号（ネット）
		String work_kaisen_use_kei_no_net = bean[0].sendMessageString("回線使用契約番号（ネット）", X31CWebConst.DATABEAN_GET_VALUE);
		// 回線使用契約番号（ＴＶ）
		String work_kaisen_use_kei_no_tv = bean[0].sendMessageString("回線使用契約番号（ＴＶ）", X31CWebConst.DATABEAN_GET_VALUE);
		// 値設定用の回線使用契約番号 カンマ区切りでネットとＴＶの回線使用契約番号を並べる
		String kaisen_use_kei_no_joined = "";
		if (!StringUtils.isEmpty(work_kaisen_use_kei_no_net)) {
			kaisen_use_kei_no_joined = work_kaisen_use_kei_no_net;
		}
		if (!StringUtils.isEmpty(work_kaisen_use_kei_no_tv)) {
			if (StringUtils.isEmpty(kaisen_use_kei_no_joined)){
				kaisen_use_kei_no_joined = work_kaisen_use_kei_no_tv;
			} else {
				kaisen_use_kei_no_joined = kaisen_use_kei_no_joined + "," + work_kaisen_use_kei_no_tv;
			}
		}
		// 回線使用契約番号（ネット），（ＴＶ）カンマ区切り → マンション子契約一覧照会（複合検索）ＳＣ.ＫＥＹ＿回線使用契約番号
		parentMap.put("key_kaisen_use_kei_no", kaisen_use_kei_no_joined);

		// 固定 → マンションオーナー一覧照会マップ.検索タイプ
		parentMap.put("search_type", "1");
		// 最大検索件数 → マンションオーナー一覧照会マップ.最大検索件数
		parentMap.put("max_search_num",  JCCWebCommon.getSearchConst("KKW22001_MAX_SHOW_CNT"));
		// 表示件数 → マンションオーナー一覧照会マップ.表示件数
		parentMap.put("display_num",  JCCWebCommon.getSearchConst("KKW22001_ROW_PER_PAGE"));

		outputMap.put("KKSV088112SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 下りマッピング
	 * @param bean　[0]：マンションオーナー照会画面
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getKKSV088101SC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("KKSV088101SC")){
			parentMap = (HashMap)outputMap.get("KKSV088101SC");
		}

		ArrayList childList = null;
		childList = null;

		if(parentMap != null && parentMap.containsKey("EKK0881B002CBSMsg1List")){

			childList = (ArrayList)parentMap.get("EKK0881B002CBSMsg1List");

			if (childList.size() > 0){
				
				HashMap childMap = (HashMap)childList.get(0);

				// マンション物件情報＿Ｐ‐ＩＤ ← マンション契約一覧照会（複合検索）ＳＣ.マンション契約一覧照会（複合検索）明細.マンション物件情報＿Ｐ‐ＩＤ
				if (childMap != null) {
					bean[0].sendMessageString("マンション物件情報＿Ｐ‐ＩＤ", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("pid"));
				} else {
					bean[0].sendMessageString("マンション物件情報＿Ｐ‐ＩＤ", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// マンション物件情報＿マンションＩＤ ← マンション契約一覧照会（複合検索）ＳＣ.マンション契約一覧照会（複合検索）明細.マンション物件情報＿マンションＩＤ
				if (childMap != null) {
					bean[0].sendMessageString("マンション物件情報＿マンションＩＤ", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("mansion_id"));
				} else {
					bean[0].sendMessageString("マンション物件情報＿マンションＩＤ", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// マンション物件情報＿ＣＡＴ−ＩＤ ← マンション契約一覧照会（複合検索）ＳＣ.マンション契約一覧照会（複合検索）明細.マンション物件情報＿ＣＡＴ−ＩＤ
				if (childMap != null) {
					bean[0].sendMessageString("マンション物件情報＿ＣＡＴ−ＩＤ", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("catid"));
				} else {
					bean[0].sendMessageString("マンション物件情報＿ＣＡＴ−ＩＤ", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// マンション物件情報＿マンション物件 ← マンション契約一覧照会（複合検索）ＳＣ.マンション契約一覧照会（複合検索）明細.マンション物件コード名称
				if (childMap != null) {
					bean[0].sendMessageString("マンション物件情報＿マンション物件", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("mansion_bukken_cd_nm"));
				} else {
					bean[0].sendMessageString("マンション物件情報＿マンション物件", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// マンション物件情報＿マンションオーナーＩＤ ← マンション契約一覧照会（複合検索）ＳＣ.マンション契約一覧照会（複合検索）明細.マンションオーナーＩＤ
				if (childMap != null) {
					bean[0].sendMessageString("マンション物件情報＿マンションオーナーＩＤ", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("mansion_ownr_id"));
				} else {
					bean[0].sendMessageString("マンション物件情報＿マンションオーナーＩＤ", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 回線使用契約番号（ネット） ← マンション契約一覧照会（複合検索）ＳＣ.マンション契約一覧照会（複合検索）明細.回線使用契約番号（ネット）
				if (childMap != null) {
					bean[0].sendMessageString("回線使用契約番号（ネット）", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("kaisen_use_kei_no_net"));
				} else {
					bean[0].sendMessageString("回線使用契約番号（ネット）", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 回線使用契約番号（ＴＶ） ← マンション契約一覧照会（複合検索）ＳＣ.マンション契約一覧照会（複合検索）明細.回線使用契約番号（ＴＶ）
				if (childMap != null) {
					bean[0].sendMessageString("回線使用契約番号（ＴＶ）", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("kaisen_use_kei_no_tv"));
				} else {
					bean[0].sendMessageString("回線使用契約番号（ＴＶ）", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
			}
		}

		return bean;
	}

	/**
	 * 下りマッピング
	 * @param bean　[0]：マンションオーナー照会画面
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getKKSV088104SC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("KKSV088104SC")){
			parentMap = (HashMap)outputMap.get("KKSV088104SC");
		}

		ArrayList childList = null;
		childList = null;

		if(parentMap != null && parentMap.containsKey("EKK0891A010CBSMsg1List")){

			childList = (ArrayList)parentMap.get("EKK0891A010CBSMsg1List");

			if (childList.size() > 0){
				
				HashMap childMap = (HashMap)childList.get(0);

				// マンション物件情報＿物件形態 ← 提供方式契約一意照会ＳＣ.提供方式契約一意照会明細.マンション営業管理対象物件形態コード名称
				if (childMap != null) {
					bean[0].sendMessageString("マンション物件情報＿物件形態", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("msbsn_krtg_bkn_form_cd_nm"));
				} else {
					bean[0].sendMessageString("マンション物件情報＿物件形態", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}

				// マンション物件情報＿仮称フラグ ← 提供方式契約一意照会ＳＣ.提供方式契約一意照会明細.仮称フラグ
				if (childMap != null) {
					String ksyoFlgNm = "";
					String ksyoFlg = (String)childMap.get("ksyo_flg");
					if ("0".equals(ksyoFlg)) {
						ksyoFlgNm = "正式名称";
					} else if ("1".equals(ksyoFlg)) {
						ksyoFlgNm = "仮称";
					}
					bean[0].sendMessageString("マンション物件情報＿仮称フラグ", X31CWebConst.DATABEAN_SET_VALUE, ksyoFlgNm);
				} else {
					bean[0].sendMessageString("マンション物件情報＿仮称フラグ", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}

				// マンション物件情報＿マンション名 ← 提供方式契約一意照会ＳＣ.提供方式契約一意照会明細.マンション営業管理対象物件名
				if (childMap != null) {
					bean[0].sendMessageString("マンション物件情報＿マンション名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("msbsn_krtg_bkn_nm"));
				} else {
					bean[0].sendMessageString("マンション物件情報＿マンション名", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}

				// マンション物件情報＿マンションカナ名 ← 提供方式契約一意照会ＳＣ.提供方式契約一意照会明細.マンション営業管理対象物件カナ名
				if (childMap != null) {
					bean[0].sendMessageString("マンション物件情報＿マンションカナ名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("msbsn_krtg_bkn_kana"));
				} else {
					bean[0].sendMessageString("マンション物件情報＿マンションカナ名", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}

				// マンション物件情報＿住所 ← 提供方式契約一意照会ＳＣ.提供方式契約一意照会明細.マンション営業管理対象物件都道府県名 〜 マンション営業管理対象物件番地号
				if (childMap != null) {

					StringBuffer msbsn_krtg_bkn_ad = new StringBuffer();
					msbsn_krtg_bkn_ad
					.append((String)childMap.get("msbsn_krtg_bkn_state_nm"))
					.append(" ")
					.append((String)childMap.get("msbsn_krtg_bkn_city_nm"))
					.append(" ")
					.append((String)childMap.get("msbsn_krtg_bkn_oaztsu_nm"))
					.append(" ")
					.append((String)childMap.get("msbsn_krtg_bkn_azcho_nm"))
					.append(" ")
					.append((String)childMap.get("msbsn_krtg_bkn_bnchigo"));

					bean[0].sendMessageString("マンション物件情報＿住所", X31CWebConst.DATABEAN_SET_VALUE, msbsn_krtg_bkn_ad.toString());
					
				} else {
					bean[0].sendMessageString("マンション物件情報＿住所", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}

				// マンション物件情報＿総棟数 ← 提供方式契約一意照会ＳＣ.提供方式契約一意照会明細.総棟数
				if (childMap != null) {
					bean[0].sendMessageString("マンション物件情報＿総棟数", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("ttl_tou_cnt"));
				} else {
					bean[0].sendMessageString("マンション物件情報＿総棟数", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}

				// マンション物件情報＿戸数 ← 提供方式契約一意照会ＳＣ.提供方式契約一意照会明細.総戸数
				if (childMap != null) {
					bean[0].sendMessageString("マンション物件情報＿戸数", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("ttl_kosu"));
				} else {
					bean[0].sendMessageString("マンション物件情報＿戸数", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// マンション物件情報＿支払方式 ← 提供方式契約一意照会ＳＣ.提供方式契約一意照会明細.加入契約支払方式コード名称
				if (childMap != null) {
					bean[0].sendMessageString("マンション物件情報＿支払方式", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("kanyu_kei_pay_hoshiki_cd_nm"));
				} else {
					bean[0].sendMessageString("マンション物件情報＿支払方式", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// マンション物件情報＿支払方式コード ← 提供方式契約一意照会ＳＣ.提供方式契約一意照会明細.加入契約支払方式コード
				if (childMap != null) {
					bean[0].sendMessageString("マンション物件情報＿支払方式コード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("kanyu_kei_pay_hoshiki_cd"));
				} else {
					bean[0].sendMessageString("マンション物件情報＿支払方式コード", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// マンションプランコード ← 提供方式契約一意照会ＳＣ.提供方式契約一意照会明細.マンションプランコード
				if (childMap != null) {
					bean[0].sendMessageString("マンション物件情報＿マンションプランコード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("mansion_plan_cd"));
				} else {
					bean[0].sendMessageString("マンション物件情報＿マンションプランコード", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
			}
		}

		return bean;
	}
	
	/**
	 * 下りマッピング
	 * @param bean　[0]：マンションオーナー照会画面
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getKKSV088105SC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("KKSV088105SC")){
			parentMap = (HashMap)outputMap.get("KKSV088105SC");
		}
		if (parentMap != null) {
			// マンション物件情報＿サービス提供数 ← マンション子契約一覧照会マップの件数
			bean[0].sendMessageString("マンション物件情報＿サービス提供数", X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("total_search_num"));
		} else {
			// マンション物件情報＿サービス契約数 ← マンション子契約一覧照会マップの件数
			bean[0].sendMessageString("マンション物件情報＿サービス提供数", X31CWebConst.DATABEAN_SET_VALUE, new String());
		}

		return bean;
	}
	
	/**
	 * 下りマッピング
	 * @param bean　[0]：機器代金請求登録
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getKKSV088108SC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("KKSV088108SC")){
			parentMap = (HashMap)outputMap.get("KKSV088108SC");
		}

		ArrayList childList = null;
		
		childList = null;
		if(parentMap != null && parentMap.containsKey("ECH0501A010CBSMsg1List")){
			childList = (ArrayList)parentMap.get("ECH0501A010CBSMsg1List");

			for(int i = 0; i < childList.size(); i++){
				HashMap childMap = (HashMap)childList.get(i);			
				// 料金スケジュール定義リスト.イベント年月日 ← 料金スケジュール定義一意照会マップ.料金スケジュール一意明細.イベント年月日
				if (childMap != null) {
					bean[0].sendMessageString("料金計算日", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("event_ymd"));
				} else {
					bean[0].sendMessageString("料金計算日", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
			}
		}
		return bean;
	}

	/**
	 * 下りマッピング
	 * @param bean　[0]：マンション契約情報照会画面
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getKKSV088109SC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("KKSV088109SC")){
			parentMap = (HashMap)outputMap.get("KKSV088109SC");
		}

		ArrayList childList = null;
		
		X31SDataBeanAccessArray listKKSV088109SC_svc_kei_dammy_list_EKK2281B001CBSMsg1List = bean[0].getDataBeanArray("サービス契約＜ダミー＞一覧");
		childList = null;
		if(listKKSV088109SC_svc_kei_dammy_list_EKK2281B001CBSMsg1List != null && parentMap != null && parentMap.containsKey("EKK2281B001CBSMsg1List")){
			childList = (ArrayList)parentMap.get("EKK2281B001CBSMsg1List");

			for(int i = 0; i < childList.size(); i++)
			{
				X31SDataBeanAccess subbean = null;
				if(listKKSV088109SC_svc_kei_dammy_list_EKK2281B001CBSMsg1List.getCount() -1 >= i){
					subbean = listKKSV088109SC_svc_kei_dammy_list_EKK2281B001CBSMsg1List.getDataBean(i);
				}else{
					subbean = listKKSV088109SC_svc_kei_dammy_list_EKK2281B001CBSMsg1List.addDataBean();
				}
				HashMap childMap = (HashMap)childList.get(i);
				if (subbean == null) {
					continue;
				}
				// サービス契約＜ダミー＞一覧.サービス契約＜ダミー＞一覧＿サービス契約番号 ← サービス契約＜ダミー＞.サービス契約番号リスト.サービス契約番号
				if (childMap != null) {
					subbean.sendMessageString("サービス契約＜ダミー＞一覧＿サービス契約番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("svc_kei_no"));
				} else {
					subbean.sendMessageString("サービス契約＜ダミー＞一覧＿サービス契約番号", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// サービス契約＜ダミー＞一覧.サービス契約＜ダミー＞一覧＿マンションＩＤ ← サービス契約＜ダミー＞.サービス契約番号リスト.マンションＩＤ
				if (childMap != null) {
					subbean.sendMessageString("サービス契約＜ダミー＞一覧＿マンションＩＤ", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("mans_id"));
				} else {
					subbean.sendMessageString("サービス契約＜ダミー＞一覧＿マンションＩＤ", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// サービス契約＜ダミー＞一覧.サービス契約＜ダミー＞一覧＿ＣＡＴ−ＩＤ ← サービス契約＜ダミー＞.サービス契約番号リスト.ＣＡＴ−ＩＤ
				if (childMap != null) {
					subbean.sendMessageString("サービス契約＜ダミー＞一覧＿ＣＡＴ−ＩＤ", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("cat_id"));
				} else {
					subbean.sendMessageString("サービス契約＜ダミー＞一覧＿ＣＡＴ−ＩＤ", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
			}
		}
		return bean;
	}
	
	/**
	 * 下りマッピング
	 * @param bean　[0]：マンション契約情報照会画面
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getKKSV088110SC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("KKSV088110SC")){
			parentMap = (HashMap)outputMap.get("KKSV088110SC");
		}

		ArrayList childList = null;
		
		X31SDataBeanAccessArray listKKSV088101SC_tk_hoshiki_kei_list_EKK1921B001CBSMsg1List = bean[0].getDataBeanArray("提供方式契約一覧");
		childList = null;
		if(listKKSV088101SC_tk_hoshiki_kei_list_EKK1921B001CBSMsg1List != null && parentMap != null && parentMap.containsKey("EKK1921B001CBSMsg1List")){
			childList = (ArrayList)parentMap.get("EKK1921B001CBSMsg1List");

			for(int i = 0; i < childList.size(); i++)
			{
				X31SDataBeanAccess subbean = null;
				if(listKKSV088101SC_tk_hoshiki_kei_list_EKK1921B001CBSMsg1List.getCount() -1 >= i){
					subbean = listKKSV088101SC_tk_hoshiki_kei_list_EKK1921B001CBSMsg1List.getDataBean(i);
				}else{
					subbean = listKKSV088101SC_tk_hoshiki_kei_list_EKK1921B001CBSMsg1List.addDataBean();
				}
				HashMap childMap = (HashMap)childList.get(i);
				if (subbean == null) {
					continue;
				}

				String isMansPrcSkbtCd = null;
				isMansPrcSkbtCd = (String)childMap.get("mans_prc_skbt_cd");
				
				if (!isMansPrcSkbtCd.equals(PRC_SKBT_CD)) {
					listKKSV088101SC_tk_hoshiki_kei_list_EKK1921B001CBSMsg1List.removeDataBean(i);
					continue;
				}
							
				// 提供方式契約一覧.提供方式契約情報＿提供方式契約番号 ← 提供方式契約料金一覧照会.提供方式契約料金一覧照会明細.提供方式契約番号
				if (childMap != null) {
					subbean.sendMessageString("提供方式契約情報＿提供方式契約番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("tk_hoshiki_kei_no"));
				} else {
					subbean.sendMessageString("提供方式契約情報＿提供方式契約番号", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 提供方式契約一覧.提供方式契約情報＿マンション料金識別コード ← 提供方式契約料金一覧照会.提供方式契約料金一覧照会明細.マンション料金識別コード
				if (childMap != null) {
					subbean.sendMessageString("提供方式契約情報＿マンション料金識別コード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("mans_prc_skbt_cd"));
				} else {
					subbean.sendMessageString("提供方式契約情報＿マンション料金識別コード", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 提供方式契約一覧.提供方式契約情報＿マンションプラン名 ← 提供方式契約料金一覧照会.提供方式契約料金一覧照会明細.マンションプラン名
				if (childMap != null) {
					// 提供方式コードを後ろに設定する。
					subbean.sendMessageString("提供方式契約情報＿マンションプラン名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("mansion_plan_nm") + "／" + (String)childMap.get("tk_hoshiki_cd_nm"));
				} else {
					subbean.sendMessageString("提供方式契約情報＿マンションプラン名", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 提供方式契約一覧.提供方式契約情報＿月額料金（親） ← 提供方式契約料金一覧照会.提供方式契約料金一覧照会明細.オーナー契約請求金額
				if (childMap != null) {
					subbean.sendMessageString("提供方式契約情報＿月額料金（親）", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("ownr_kei_seiky_amnt"));
				} else {
					subbean.sendMessageString("提供方式契約情報＿月額料金（親）", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				
				if (childMap != null) {
					
					// 判断に使用するコードを取得
					String isPcrsSpeedCd = null;
					String isPplantikiCd = null;
					String isJuryoPlanCd = null;
					isPcrsSpeedCd = (String)childMap.get("pcrs_speed_cd");
					isPplantikiCd = (String)childMap.get("eohnt_pplan_tiki_skcd");
					isJuryoPlanCd = (String)childMap.get("eohnt_juryo_plan_mkm_kh");
					
					// 料金コースコードが【04:１Ｇ】の場合加入契約請求金額を設定
					// 提供方式契約一覧.提供方式契約情報＿月額料金（子）（１Ｇ） ← 提供方式契約料金一覧照会.提供方式契約料金一覧照会明細.加入契約請求金額
					if ( isPcrsSpeedCd.equals(PCRS_CD_1G) ) {
						subbean.sendMessageString("提供方式契約情報＿月額料金（子）（１Ｇ）", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("kanyu_kei_seiky_amnt"));

					// eo光ネット料金プラン体系識別コードの値が「従量制」であるか
					} else if( isPplantikiCd.equals(JURYO_PLAN )){

						// eo光ネット従量プラン申込可否の値が「可」であるか
						if ( isJuryoPlanCd.equals(MSKM_K) ){
									subbean.sendMessageString("提供方式契約情報＿月額料金（子）（１００Ｍライト）", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("kanyu_kei_seiky_amnt"));
						}
						
						// 上記以外の場合「月額料金（子）（１００Ｍ）」に加入契約請求金額を設定する
					} else {
						subbean.sendMessageString("提供方式契約情報＿月額料金（子）（１００Ｍ）", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("kanyu_kei_seiky_amnt"));
					}
				} else{
						subbean.sendMessageString("提供方式契約情報＿月額料金（子）（１００Ｍ）", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 提供方式契約一覧.提供方式契約情報＿加入契約請求金額 ← 提供方式契約料金一覧照会.提供方式契約料金一覧照会明細.加入契約請求金額
				if (childMap != null) {
					subbean.sendMessageString("提供方式契約情報＿加入契約請求金額", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("kanyu_kei_seiky_amnt"));
				} else {
					subbean.sendMessageString("提供方式契約情報＿加入契約請求金額", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 提供方式契約一覧.提供方式契約情報＿提供方式 ← 提供方式契約料金一覧照会.提供方式契約料金一覧照会明細.提供方式コード名称
				if (childMap != null) {
					subbean.sendMessageString("提供方式契約情報＿提供方式", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("tk_hoshiki_cd_nm"));
				} else {
					subbean.sendMessageString("提供方式契約情報＿提供方式", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 提供方式契約一覧.提供方式契約情報＿加入契約支払方式コード ← 提供方式契約料金一覧照会.提供方式契約料金一覧照会明細.加入契約支払方式コード
				if (childMap != null) {
					subbean.sendMessageString("提供方式契約情報＿加入契約支払方式コード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("kanyu_kei_pay_hoshiki_cd"));
				} else {
					subbean.sendMessageString("提供方式契約情報＿加入契約支払方式コード", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 提供方式契約一覧.提供方式契約情報＿総戸数 ← 提供方式契約料金一覧照会.提供方式契約料金一覧照会明細.総戸数
				if (childMap != null) {
					subbean.sendMessageString("提供方式契約情報＿総戸数", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("ttl_kosu"));
				} else {
					subbean.sendMessageString("提供方式契約情報＿総戸数", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
			}
		}

		return bean;
	}

	/**
	 * 下りマッピング
	 * @param bean　[0]：マンション契約情報照会画面
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getKKSV088111SC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("KKSV088111SC")){
			parentMap = (HashMap)outputMap.get("KKSV088111SC");
		}

		ArrayList childList = null;

		X31SDataBeanAccessArray listKKSV088102SC_eohnt_svs_tei_inf_list_EKK0891B002CBSMsg1List = bean[0].getDataBeanArray("光ネットサービス提供情報一覧");
		childList = null;
		if(listKKSV088102SC_eohnt_svs_tei_inf_list_EKK0891B002CBSMsg1List != null && parentMap != null && parentMap.containsKey("EKK0891B002CBSMsg1List")){
			childList = (ArrayList)parentMap.get("EKK0891B002CBSMsg1List");

			for(int i = 0; i < childList.size(); i++){
				X31SDataBeanAccess subbean = null;
				if(listKKSV088102SC_eohnt_svs_tei_inf_list_EKK0891B002CBSMsg1List.getCount() -1 >= i){
					subbean = listKKSV088102SC_eohnt_svs_tei_inf_list_EKK0891B002CBSMsg1List.getDataBean(i);
				}else{
					subbean = listKKSV088102SC_eohnt_svs_tei_inf_list_EKK0891B002CBSMsg1List.addDataBean();
				}
				HashMap childMap = (HashMap)childList.get(i);
				if (subbean == null) {
					continue;
				}
			
				// 光ネットサービス提供情報一覧.光ネットサービス提供情報＿提供方式 ← 提供方式契約一覧照会.提供方式契約一覧照会明細.提供方式コード
				if (childMap != null) {
					subbean.sendMessageString("光ネットサービス提供情報＿提供方式", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("tk_hoshiki_cd"));
				} else {
					subbean.sendMessageString("光ネットサービス提供情報＿提供方式", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 光ネットサービス提供情報一覧.光ネットサービス提供情報＿従量制申込可否 ← 提供方式契約一覧照会.提供方式契約一覧照会明細.従量制申込可否
				if (childMap != null) {
					subbean.sendMessageString("光ネットサービス提供情報＿従量制申込可否", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("juryo_plan_mkm_nm"));
				} else {
					subbean.sendMessageString("光ネットサービス提供情報＿従量制申込可否", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 光ネットサービス提供情報一覧.光ネットサービス提供情報＿提供料金種別 ← 提供方式契約一覧照会.提供方式契約一覧照会明細.提供料金種別コード
				if (childMap != null) {
					subbean.sendMessageString("光ネットサービス提供情報＿提供料金種別", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("tk_prc_sbt_cd"));
				} else {
					subbean.sendMessageString("光ネットサービス提供情報＿提供料金種別", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 光ネットサービス提供情報一覧.光ネットサービス提供情報＿アクセス回線 ← 提供方式契約一覧照会.提供方式契約一覧照会明細.アクセス回線速度コード
				if (childMap != null) {
					subbean.sendMessageString("光ネットサービス提供情報＿アクセス回線", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("accss_kisn_speed_cd"));
				} else {
					subbean.sendMessageString("光ネットサービス提供情報＿アクセス回線", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 提供方式パターンコード ← 提供方式契約一覧照会.提供方式契約一覧照会明細.提供方式パターンコード
				if (childMap != null) {
					bean[0].sendMessageString("提供方式パターンコード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("tk_hoshiki_pattern_cd"));
				} else {
					bean[0].sendMessageString("提供方式パターンコード", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
			}
		}
		return bean;
	}
}