/*********************************************************************
*	All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名		：eo顧客基幹システム
*	モジュール名	：KKSV0241_KKSV0241OPDBMapper
*	ソースファイル名：KKSV0241_KKSV0241OPDBMapper.java
*	作成者			：FJ
*	日付			：2011年09月18日
*＜機能概要＞
*	BP（住所変更共通ヘッダ情報取得）へのＤ−Ｂマッピングクラスです。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v1.00.00	2011/09/18	FJ		新規作成
*   v19.00.00   2015/09/11	FJ)森杉 ANK-2642-00-00
*   v41.00.00	2019/01/30  FJ)澤田	     ANK-3387-00-00 マンションタイプ光コンセントサービス導入

**********************************************************************/
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.constant.JZM0171Constant;

/**
 * DataBean-BPマッピングをする。
 * 
 */
public class KKSV0241_KKSV0241OPDBMapper {
	
// IT1-2012-0002227対応 20121201 星野 ADD START
	/**
	 * 運用日付
	 * 
	 */
	private String opeDate = new String("");
// IT1-2012-0002227対応 20121201 星野 ADD END
	
// IT1-2012-0002227対応 20121201 星野 MOD START
//	/**
//	 * コンストラクタ
//	 */
//	public KKSV0241_KKSV0241OPDBMapper(){
//	}
	/**
	 * コンストラクタ
	 */
	public KKSV0241_KKSV0241OPDBMapper(String opeDate){
		this.opeDate = opeDate;
	}
// IT1-2012-0002227対応 20121201 星野 MOD END
	

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：転居先サービス契約選択画面
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV024101SC(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_sysid", bean[0].sendMessageString("ヘッダ＿ＳＹＳＩＤ", X31CWebConst.DATABEAN_GET_VALUE));
		// 予約適用年月日 → お客様一意照会マップ.ＫＥＹ＿予約適用年月日
// IT1-2012-0002227対応 20121201 星野 MOD START
//		parentMap.put("key_rsv_aply_ymd", "20991231");
		parentMap.put("key_rsv_aply_ymd", opeDate);
// IT1-2012-0002227対応 20121201 星野 MOD END
		
		outputMap.put("KKSV024101SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：転居先サービス契約選択画面
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV024102SC(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_svc_kei_no", bean[0].sendMessageString("選択サービス契約番号", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("KKSV024102SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：転居先サービス契約選択画面
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV024103SC(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_svc_kei_no", bean[0].sendMessageString("選択サービス契約番号", X31CWebConst.DATABEAN_GET_VALUE));
		// 予約適用年月日 → サービス契約回線内訳一覧照会（サービス契約番号）マップ.ＫＥＹ＿予約適用年月日
// IT1-2012-0002227対応 20121201 星野 MOD START
//		parentMap.put("key_rsv_aply_ymd", "20991231");
		parentMap.put("key_rsv_aply_ymd", opeDate);
// IT1-2012-0002227対応 20121201 星野 MOD END

		outputMap.put("KKSV024103SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：転居先サービス契約選択画面
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV024108SC(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_cd_sbt_cd", String.valueOf(JZM0171Constant.CD00576));
		X31SDataBeanAccess subbean = bean[0].getDataBeanArray("顧客契約引継リスト").getDataBean(0);
		// 顧客契約引継リスト.異動区分 → コード名称管理一意照会.ＫＥＹ＿コード区分
		parentMap.put("key_cd_div", subbean.sendMessageString("異動区分", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("KKSV024108SC", parentMap);
						
		return outputMap;
	}
	// ANK-3387-00-00 ADD START
	/**
	 * 上りマッピングをする
	 * @param bean　[0]：転居先サービス契約選択画面
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV024109CC(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);

		// キーはKKSV0241_KKSV0241OP_EKK0871A010BSMapperで設定している。

		outputMap.put("KKSV024109CC", parentMap);
						
		return outputMap;
	}
	// ANK-3387-00-00 ADD END

	/**
	 * 下りマッピング
	 * @param bean　[0]：転居先サービス契約選択画面
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getKKSV024101SC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("KKSV024101SC")){
			parentMap = (HashMap)outputMap.get("KKSV024101SC");
		}

		ArrayList childList = null;
		

		childList = null;
		if(parentMap != null && parentMap.containsKey("ECK0011A010CBSMsg1List")){
			childList = (ArrayList)parentMap.get("ECK0011A010CBSMsg1List");
			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("cust_nm"));
				} else {
					bean[0].sendMessageString("ヘッダ＿契約者名", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// ｅｏＩＤ ← お客様一意照会マップ.お客様一意照会明細.ｅｏＩＤ
				if (childMap != null) {
					bean[0].sendMessageString("ヘッダ＿ｅｏＩＤ", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("eoid"));
				} else {
					bean[0].sendMessageString("ヘッダ＿ｅｏＩＤ", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 契約者住所コード ← お客様一意照会マップ.お客様一意照会明細.契約者住所コード
				if (childMap != null) {
					bean[0].sendMessageString("契約者利用場所情報＿住所コード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("keisha_ad_cd"));
				} else {
					bean[0].sendMessageString("契約者利用場所情報＿住所コード", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 契約者郵便番号 ← お客様一意照会マップ.お客様一意照会明細.契約者郵便番号
				if (childMap != null) {
					bean[0].sendMessageString("契約者利用場所情報＿郵便番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("keisha_pcd"));
				} else {
					bean[0].sendMessageString("契約者利用場所情報＿郵便番号", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 契約者都道府県名 ← お客様一意照会マップ.お客様一意照会明細.契約者都道府県名
				if (childMap != null) {
					bean[0].sendMessageString("契約者利用場所情報＿都道府県", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("keisha_state_nm"));
				} else {
					bean[0].sendMessageString("契約者利用場所情報＿都道府県", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 契約者市区町村名 ← お客様一意照会マップ.お客様一意照会明細.契約者市区町村名
				if (childMap != null) {
					bean[0].sendMessageString("契約者利用場所情報＿市区町村", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("keisha_city_nm"));
				} else {
					bean[0].sendMessageString("契約者利用場所情報＿市区町村", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 契約者大字通称名 ← お客様一意照会マップ.お客様一意照会明細.契約者大字通称名
				if (childMap != null) {
					bean[0].sendMessageString("契約者利用場所情報＿大字通称名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("keisha_oaztsu_nm"));
				} else {
					bean[0].sendMessageString("契約者利用場所情報＿大字通称名", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 契約者字丁目名 ← お客様一意照会マップ.お客様一意照会明細.契約者字丁目名
				if (childMap != null) {
					bean[0].sendMessageString("契約者利用場所情報＿字丁目", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("keisha_azcho_nm"));
				} else {
					bean[0].sendMessageString("契約者利用場所情報＿字丁目", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 契約者番地号 ← お客様一意照会マップ.お客様一意照会明細.契約者番地号
				if (childMap != null) {
					bean[0].sendMessageString("契約者利用場所情報＿番地・号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("keisha_bnchigo"));
				} else {
					bean[0].sendMessageString("契約者利用場所情報＿番地・号", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 契約者住所補記・建物名 ← お客様一意照会マップ.お客様一意照会明細.契約者住所補記・建物名
				if (childMap != null) {
					bean[0].sendMessageString("契約者利用場所情報＿建物名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("keisha_adrttm"));
				} else {
					bean[0].sendMessageString("契約者利用場所情報＿建物名", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 契約者住所補記・部屋番号 ← お客様一意照会マップ.お客様一意照会明細.契約者住所補記・部屋番号
				if (childMap != null) {
					bean[0].sendMessageString("契約者利用場所情報＿部屋番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("keisha_adrrm"));
				} else {
					bean[0].sendMessageString("契約者利用場所情報＿部屋番号", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 契約者電話番号 ← お客様一意照会マップ.お客様一意照会明細.契約者電話番号
				if (childMap != null) {
					bean[0].sendMessageString("ヘッダ＿契約者電話番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("keisha_telno"));
				} else {
					bean[0].sendMessageString("ヘッダ＿契約者電話番号", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 契約者名カナ ← お客様一意照会マップ.お客様一意照会明細.契約者名カナ
				if (childMap != null) {
					bean[0].sendMessageString("契約者名＿カナ", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("cust_kana"));
				} else {
					bean[0].sendMessageString("契約者名＿カナ", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
			}

		}
		

		return bean;
	}

	/**
	 * 下りマッピング
	 * @param bean　[0]：転居先サービス契約選択画面
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getKKSV024102SC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("KKSV024102SC")){
			parentMap = (HashMap)outputMap.get("KKSV024102SC");
		}

		ArrayList childList = null;
		

		childList = null;
		if(parentMap != null && parentMap.containsKey("EKK0241B001CBSMsg1List")){
			childList = (ArrayList)parentMap.get("EKK0241B001CBSMsg1List");
			for(int i = 0; i < childList.size(); i++){
				HashMap childMap = (HashMap)childList.get(i);
				
// IT1-2012-0002227対応 20121201 星野 MOD START
				if(childMap != null){
					// 使用開始年月日
					String useStaYmd = StringUtils.isEmpty( (String)childMap.get("use_staymd") ) ? "20991231" : (String)childMap.get("use_staymd");
					// 使用終了年月日
					String useEndYmd =  StringUtils.isEmpty( (String)childMap.get("use_endymd") ) ? "20991231" : (String)childMap.get("use_endymd");
					if( opeDate.compareTo(useStaYmd)<0 || opeDate.compareTo(useEndYmd)>0 ){
						continue;
					}
				}
// IT1-2012-0002227対応 20121201 星野 MOD END
				
				
				// 回線場所電話番号 ← サービス契約回線内訳一覧照会（サービス契約番号）マップ.サービス契約内訳一覧照会（サービス契約番号）明細.回線場所電話番号
				if (childMap != null) {
					bean[0].sendMessageString("ヘッダ＿利用場所電話番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("kaisen_place_telno"));
				} else {
					bean[0].sendMessageString("ヘッダ＿利用場所電話番号", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 回線場所住所コード ← サービス契約回線内訳一覧照会（サービス契約番号）マップ.サービス契約内訳一覧照会（サービス契約番号）明細.回線場所住所コード
				if (childMap != null) {
					bean[0].sendMessageString("転居元利用場所情報＿住所コード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("kaisen_place_ad_cd"));
				} else {
					bean[0].sendMessageString("転居元利用場所情報＿住所コード", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 回線場所郵便番号 ← サービス契約回線内訳一覧照会（サービス契約番号）マップ.サービス契約内訳一覧照会（サービス契約番号）明細.回線場所郵便番号
				if (childMap != null) {
					bean[0].sendMessageString("転居元利用場所情報＿郵便番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("kaisen_place_pcd"));
				} else {
					bean[0].sendMessageString("転居元利用場所情報＿郵便番号", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 回線場所都道府県名 ← サービス契約回線内訳一覧照会（サービス契約番号）マップ.サービス契約内訳一覧照会（サービス契約番号）明細.回線場所都道府県名
				if (childMap != null) {
					bean[0].sendMessageString("転居元利用場所情報＿都道府県", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("kaisen_place_state_nm"));
				} else {
					bean[0].sendMessageString("転居元利用場所情報＿都道府県", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 回線場所市区町村名 ← サービス契約回線内訳一覧照会（サービス契約番号）マップ.サービス契約内訳一覧照会（サービス契約番号）明細.回線場所市区町村名
				if (childMap != null) {
					bean[0].sendMessageString("転居元利用場所情報＿市区町村", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("kaisen_place_city_nm"));
				} else {
					bean[0].sendMessageString("転居元利用場所情報＿市区町村", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 回線場所大字通称名 ← サービス契約回線内訳一覧照会（サービス契約番号）マップ.サービス契約内訳一覧照会（サービス契約番号）明細.回線場所大字通称名
				if (childMap != null) {
					bean[0].sendMessageString("転居元利用場所情報＿大字通称名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("kaisen_place_oaztsu_nm"));
				} else {
					bean[0].sendMessageString("転居元利用場所情報＿大字通称名", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 回線場所字丁目名 ← サービス契約回線内訳一覧照会（サービス契約番号）マップ.サービス契約内訳一覧照会（サービス契約番号）明細.回線場所字丁目名
				if (childMap != null) {
					bean[0].sendMessageString("転居元利用場所情報＿字丁目", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("kaisen_place_azcho_nm"));
				} else {
					bean[0].sendMessageString("転居元利用場所情報＿字丁目", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 回線場所番地号 ← サービス契約回線内訳一覧照会（サービス契約番号）マップ.サービス契約内訳一覧照会（サービス契約番号）明細.回線場所番地号
				if (childMap != null) {
					bean[0].sendMessageString("転居元利用場所情報＿番地・号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("kaisen_place_bnchigo"));
				} else {
					bean[0].sendMessageString("転居元利用場所情報＿番地・号", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 回線場所住所補記・建物名 ← サービス契約回線内訳一覧照会（サービス契約番号）マップ.サービス契約内訳一覧照会（サービス契約番号）明細.回線場所住所補記・建物名
				if (childMap != null) {
					bean[0].sendMessageString("転居元利用場所情報＿建物名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("kaisen_place_adrttm"));
				} else {
					bean[0].sendMessageString("転居元利用場所情報＿建物名", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 回線場所住所補記・部屋番号 ← サービス契約回線内訳一覧照会（サービス契約番号）マップ.サービス契約内訳一覧照会（サービス契約番号）明細.回線場所住所補記・部屋番号
				if (childMap != null) {
					bean[0].sendMessageString("転居元利用場所情報＿部屋番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("kaisen_place_adrrm"));
				} else {
					bean[0].sendMessageString("転居元利用場所情報＿部屋番号", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 回線コード ← サービス契約回線内訳一覧照会（サービス契約番号）マップ.サービス契約内訳一覧照会（サービス契約番号）明細.回線コード
				if (childMap != null) {
					bean[0].sendMessageString("転居元＿回線種別", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("kaisen_cd"));
				} else {
					bean[0].sendMessageString("転居元＿回線種別", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
			}
		}
		
		return bean;
	}

// ANK-2642-00-00 2015/09/11 add start
	/**
	 * 下りマッピング
	 * @param bean　[0]：転居先サービス契約選択画面
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getKKSV024103SC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("KKSV024103SC")){
			parentMap = (HashMap)outputMap.get("KKSV024103SC");
		}

		ArrayList childList = null;
		

		childList = null;
		if(parentMap != null && parentMap.containsKey("EKK0081A010CBSMsg1List")){
			childList = (ArrayList)parentMap.get("EKK0081A010CBSMsg1List");
			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("svc_kei_stat"));
				} else {
					bean[0].sendMessageString("選択サービス契約ステータス", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
			}
		}

		return bean;
	}
// ANK-2642-00-00 2015/09/11 add end
	
	/**
	 * 下りマッピング
	 * @param bean　[0]：転居先サービス契約選択画面
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getKKSV024105SC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("KKSV024105SC")){
			parentMap = (HashMap)outputMap.get("KKSV024105SC");
		}

		ArrayList childList = null;
		

		childList = null;
		if(parentMap != null && parentMap.containsKey("EKK0881A010CBSMsg1List")){
			childList = (ArrayList)parentMap.get("EKK0881A010CBSMsg1List");
			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("mansion_id"));
				} else {
					bean[0].sendMessageString("ヘッダ＿マンション−マンションＩＤ／Ｐ−ＩＤ", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
			}
		}

		return bean;
	}

	/**
	 * 下りマッピング
	 * @param bean　[0]：転居先サービス契約選択画面
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getKKSV024106SC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("KKSV024106SC")){
			parentMap = (HashMap)outputMap.get("KKSV024106SC");
		}

		ArrayList childList = null;
		

		childList = null;
		if(parentMap != null && parentMap.containsKey("EKK0871A010CBSMsg1List")){
			childList = (ArrayList)parentMap.get("EKK0871A010CBSMsg1List");
			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("pid"));
				} else {
					bean[0].sendMessageString("ヘッダ＿マンション−マンションＩＤ／Ｐ−ＩＤ", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
			}
		}
		
		return bean;
	}

	/**
	 * 下りマッピング
	 * @param bean　[0]：転居先サービス契約選択画面
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getKKSV024107SC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("KKSV024107SC")){
			parentMap = (HashMap)outputMap.get("KKSV024107SC");
		}

		ArrayList childList = null;
		

		childList = null;
		if(parentMap != null && parentMap.containsKey("EKK0861A010CBSMsg1List")){
			childList = (ArrayList)parentMap.get("EKK0861A010CBSMsg1List");
			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("mansion_bukken_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_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_bukken_no"));
				} else {
					bean[0].sendMessageString("転居元＿マンション物件番号", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
			}
		}
		

		return bean;
	}
	
	/**
	 * 下りマッピング
	 * @param bean　[0]：転居先サービス契約選択画面
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getKKSV024108SC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("KKSV024108SC")){
			parentMap = (HashMap)outputMap.get("KKSV024108SC");
		}

		ArrayList childList = null;
		

		childList = null;
		if(parentMap != null && parentMap.containsKey("EZM0171A010CBSMsg1List")){
			childList = (ArrayList)parentMap.get("EZM0171A010CBSMsg1List");
			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("cd_div_nm"));
				} else {
					bean[0].sendMessageString("ヘッダ＿異動区分", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
			}
		}


		return bean;
	}
	
	// ANK-3387-00-00 ADD START
	/**
	 * 下りマッピング
	 * @param bean　[0]：転居先サービス契約選択画面
	 * @param outputMap
	 * @param overWrite : 番地号、建物名　上書きフラグ  
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getKKSV024109CC(X31SDataBeanAccess[] bean, HashMap outputMap,  boolean overWrite){

		HashMap parentMap = null;
		if(outputMap.containsKey("KKSV024109CC")){
			parentMap = (HashMap)outputMap.get("KKSV024109CC");
		}

		ArrayList kaisen_use_kei_list = null;
		
		if(parentMap != null){
			
			kaisen_use_kei_list = (ArrayList)parentMap.get("kaisen_use_kei_list");

			if(kaisen_use_kei_list != null)
			{
				for(int i = 0; i < kaisen_use_kei_list.size(); i++){
					HashMap kaisen_use_kei_map = (HashMap)kaisen_use_kei_list.get(i);
					if (kaisen_use_kei_map == null) {
						continue;
					}
					if ("01".equals((String)kaisen_use_kei_map.get("svc_cd")))
					{
						bean[0].sendMessageString("制御＿提供方式パターンコード（ネット）元", X31CWebConst.DATABEAN_SET_VALUE, (String)kaisen_use_kei_map.get("tk_hoshiki_ptn_cd"));
					}
				}
			}
		}


		return bean;
	}
	// ANK-3387-00-00 ADD END
}
