/*********************************************************************
*	All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名		：eo顧客基幹システム
*	モジュール名	：KKSV0656_KKSV0656OPDBMapper
*	ソースファイル名：KKSV0656_KKSV0656OPDBMapper.java
*	作成者			：FJ
*	日付			：2012年09月06日
*＜機能概要＞
*	BP（契約内容変更WEB受付データ更新_初期表示）へのＤ−Ｂマッピングクラスです。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v1.00.00	2012/09/06	FJ			新規作成
*	v4.00.00	2012/10/31	FJ)宇野		【ANK-1223-00-00】対応
*	v4.01.00	2013/03/14	FJ)稲岡		【ST1-2013-0000356】対応
*	v4.02.00	2013/03/21	FJ)馬場		【IT1-2013-0000562】対応
*	v8.00.00	2014/03/05  FJ）石橋    【ANK-1962-00-00】対応
*	v17.00.00	2015/07/30  FJ)遠藤     【ANK-2557-00-00】対応
*	v17.00.01	2015/10/06  FJ)黒田     【ST-2015-0000050】対応
**********************************************************************/
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 eo.web.webview.KKW15901SF.KKW15901SFConst;

/**
 * DataBean-BPマッピングをする。
 * 
 * @author FJ)赤穂
 */
public class KKSV0656_KKSV0656OPDBMapper
{
	
	/** 変更無し */
	private static final String NO_CHANGE = "変更無し";
	
	/** 契約者住所手動入力フラグ(1：有) */
	private static final String AD_MAN_INPUT_1 = "1";
	
	/**
	 * コンストラクタ
	 */
	public KKSV0656_KKSV0656OPDBMapper()
	{
	}
	
	/**
	 * 上りマッピングをする
	 * @param bean　[0]：契約内容変更ＷＥＢ受付データ更新
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return HashMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV065601SC(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);
		
		// ＰＭＰ変更依頼識別番号 → PMPお客様情報変更依頼一意照会マップ.ＫＥＹ＿ＰＭＰ変更依頼識別番号
		parentMap.put("key_pmp_chg_req_skbt_no", bean[0].sendMessageString(KKW15901SFConst.PMP_CHG_REQ_SKBT_NO, X31CWebConst.DATABEAN_GET_VALUE));
		
		outputMap.put("KKSV065601SC", parentMap);
		
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：契約内容変更ＷＥＢ受付データ更新
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return HashMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV065602SC(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_rsv_aply_ymd", bean[0].sendMessageString("運用年月日", X31CWebConst.DATABEAN_GET_VALUE));
		
		outputMap.put("KKSV065602SC", parentMap);
		
		return outputMap;
	}
	
/* ++++++++++ v4.01.00 追加開始 ++++++++++ */
	/**
	 * 上りマッピングをする
	 * @param bean　[0]：契約内容変更ＷＥＢ受付データ更新
	 * @param outputMap
	 * @return outputMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV065603CC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{
		
		if(bean == null)
		{
			return null;
		}
		
		if(bean.length != 1)
		{
			return null;
		}
		
		HashMap<String, Object> parentMap = new HashMap<String, Object>();
		
		// 共通情報のマッピング
		parentMap.put("func_code", "1");
		
		outputMap.put("KKSV065603CC", parentMap);
		
		return outputMap;
	}
/* ++++++++++ v4.01.00 追加終了 ++++++++++ */

// ANK-2557-00-00 ADD START
	/**
	 * 上りマッピングをする
	 * @param bean　[0]：契約内容変更ＷＥＢ受付データ更新
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return HashMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV065603SC(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("KKSV065603SC", parentMap);
		
		return outputMap;
	}
// ANK-2557-00-00 ADD END

	/**
	 * 下りマッピング
	 * @param bean　[0]：PMPお客様情報変更依頼一意照会
	 * @param outputMap
	 * 
	 * @return bean
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getKKSV065601SC(X31SDataBeanAccess[] bean, HashMap<String, Object> outputMap)
	{
		HashMap parentMap = null;
		if (outputMap.containsKey("KKSV065601SC"))
		{
			parentMap = (HashMap)outputMap.get("KKSV065601SC");
		}

		ArrayList childList = null;
		if (parentMap.containsKey("EKK1261A010CBSMsg1List"))
		{
			childList = (ArrayList)parentMap.get("EKK1261A010CBSMsg1List");
			if (childList != null && childList.size() > 0)
			{
				HashMap childMap = (HashMap)childList.get(0);
				
				// 受付年月日
				bean[0].sendMessageString(KKW15901SFConst.UK_YMD, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("uk_ymd"));
				// サービス契約番号
				bean[0].sendMessageString(KKW15901SFConst.SVC_KEI_NO, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("svc_kei_no"));
				// SYSID
				bean[0].sendMessageString(KKW15901SFConst.SYSID, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("sysid"));
				// お客様名
				bean[0].sendMessageString(KKW15901SFConst.CUST_NM, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("cust_nm"));
				// eoID
				bean[0].sendMessageString(KKW15901SFConst.EOID, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("eoid"));
				// データ反映処理済フラグ
				bean[0].sendMessageString(KKW15901SFConst.DATA_HANEI_TRN_CD, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("data_hanei_trn_zm_flg"));
				// データ反映処理済フラグ名称
				bean[0].sendMessageString(KKW15901SFConst.DATA_HANEI_TRN_NM, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("data_hanei_trn_zm_flg_nm"));
				// 保持＿データ反映処理済フラグ名
				bean[0].sendMessageString(KKW15901SFConst.BK_DATA_HANEI_TRN_NM,
											X31CWebConst.DATABEAN_SET_VALUE,
											(String)childMap.get("data_hanei_trn_zm_flg_nm"));
				// データ反映処理年月日
				bean[0].sendMessageString(KKW15901SFConst.DATA_HANEI_YMD, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("data_hanei_trn_day"));
				// 保持＿データ反映処理年月日
				bean[0].sendMessageString(KKW15901SFConst.BK_DATA_HANEI_YMD, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("data_hanei_trn_day"));
				// 変更後お客様性別
				bean[0].sendMessageString(KKW15901SFConst.CHAF_CUST_SEX, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("chaf_cust_sex"));
				// 変更後契約者郵便番号
				bean[0].sendMessageString(KKW15901SFConst.CHAF_KEISHA_PCD, X31CWebConst.DATABEAN_SET_VALUE, formatPcd((String)childMap.get("chaf_keisha_pcd")));
				// 変更後契約者電話番号
				bean[0].sendMessageString(KKW15901SFConst.CHAF_KEISHA_TELNO, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("chaf_keisha_telno"));
				// 変更後契約者都道府県名
				String stateNm = (String)childMap.get("chaf_keisha_state_nm");
				// 変更後契約者市区町村名
				String cityNm = (String)childMap.get("chaf_keisha_city_nm");
				// 変更後契約者大字通称名
				String oaztsuNm = (String)childMap.get("chaf_keisha_oaztsu_nm");
				// 変更後契約者字丁目名
				String azchoNm = (String)childMap.get("chaf_keisha_azcho_nm");
				// 変更後契約者番地号
				String bnchigo = (String)childMap.get("chaf_keisha_bnchigo");
				// 変更後契約者住所補記・建物名
				String adrttm = (String)childMap.get("chaf_keisha_adrttm");
				// 変更後契約者住所補記・部屋番号
				String adrrm = (String)childMap.get("chaf_keisha_adrrm");
				// 変更後契約者住所
				bean[0].sendMessageString(KKW15901SFConst.CHAF_AD,
											X31CWebConst.DATABEAN_SET_VALUE,
											stateNm + cityNm + oaztsuNm + azchoNm + bnchigo + adrttm + adrrm);
				// 住所変更時変更理由
				bean[0].sendMessageString(KKW15901SFConst.ADCHG_JI_CHGRE, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("adchg_ji_chgre"));
				// PMP変更依頼識別番号
				bean[0].sendMessageString(KKW15901SFConst.PMP_CHG_REQ_SKBT_NO, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("pmp_chg_req_skbt_no"));
				// PMP＿更新年月日時分秒(更新前)
				bean[0].sendMessageString(KKW15901SFConst.PMP_UPD_DTM_BF, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("pmp_upd_dtm_bf"));
// ANK-2557-00-00 ADD START
				// 請求書送付先同時変更有無
				bean[0].sendMessageString(KKW15901SFConst.SKS_SHS_DOJI_CHGE_UM, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("sks_shs_doji_chge_um"));
				// 請求書送付先同時変更有無名称
				bean[0].sendMessageString(KKW15901SFConst.SKS_SHS_DOJI_CHGE, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("sks_shs_doji_chge_um_nm"));
// ANK-2557-00-00 ADD END
			}
		}
		
		return bean;
	}
	
	/**
	 * 下りマッピング
	 * @param bean　[0]：お客様一意照会
	 * @param outputMap
	 * 
	 * @return bean
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getKKSV065602SC(X31SDataBeanAccess[] bean, HashMap<String, Object> outputMap)
	{
		HashMap parentMap = null;
		if (outputMap.containsKey("KKSV065602SC"))
		{
			parentMap = (HashMap)outputMap.get("KKSV065602SC");
		}

		ArrayList childList = null;
		if (parentMap.containsKey("ECK0011A010CBSMsg1List"))
		{
			childList = (ArrayList)parentMap.get("ECK0011A010CBSMsg1List");
			if (childList != null && childList.size() > 0)
			{
				HashMap childMap = (HashMap)childList.get(0);
				
				// お客様性別コード
				bean[0].sendMessageString(KKW15901SFConst.KEISHA_SEX_CD, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("cust_sex_cd"));
// ++++++++++ v4.02.00 追加開始 ++++++++++
				// 初期表示＿お客様性別
				bean[0].sendMessageString(KKW15901SFConst.INIT_KEISHA_SEX_CD, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("cust_sex_cd"));
// ++++++++++ v4.02.00 追加終了 ++++++++++
				// 契約者住所コード
				String strAd = (String)childMap.get("keisha_ad_cd");
				String strAd1 = "";
				String strAd2 = "";
				String strAd3 = "";
				String strAd4 = "";
				if(strAd.length() >= 11)
				{
					strAd1 = strAd.substring(0, 2);
					strAd2 = strAd.substring(2, 5);
					strAd3 = strAd.substring(5, 8);
					strAd4 = strAd.substring(8, 11);
				}
				// 契約者住所コード１
				bean[0].sendMessageString(KKW15901SFConst.GEN_AD_CD_1, X31CWebConst.DATABEAN_SET_VALUE, strAd1);
				// 契約者住所コード２
				bean[0].sendMessageString(KKW15901SFConst.GEN_AD_CD_2, X31CWebConst.DATABEAN_SET_VALUE, strAd2);
				// 契約者住所コード３
				bean[0].sendMessageString(KKW15901SFConst.GEN_AD_CD_3, X31CWebConst.DATABEAN_SET_VALUE, strAd3);
				// 契約者住所コード４
				bean[0].sendMessageString(KKW15901SFConst.GEN_AD_CD_4, X31CWebConst.DATABEAN_SET_VALUE, strAd4);
				// 契約者住所コード
				bean[0].sendMessageString(KKW15901SFConst.GEN_AD_CD, X31CWebConst.DATABEAN_SET_VALUE, strAd);
				// 契約者郵便番号
				String strPcd = (String)childMap.get("keisha_pcd");
				String strPcd1 = "";
				String strPcd2 = "";
				if(strPcd.length() >= 7)
				{
					strPcd1 = strPcd.substring(0, 3);
					strPcd2 = strPcd.substring(3, 7);
				}
				// 契約者郵便番号１
				bean[0].sendMessageString(KKW15901SFConst.KEISHA_AD_PCD_1, X31CWebConst.DATABEAN_SET_VALUE, strPcd1);
				// 契約者郵便番号２
				bean[0].sendMessageString(KKW15901SFConst.KEISHA_AD_PCD_2, X31CWebConst.DATABEAN_SET_VALUE, strPcd2);
				// 契約者郵便番号
				bean[0].sendMessageString(KKW15901SFConst.KEISHA_AD_PCD, X31CWebConst.DATABEAN_SET_VALUE, strPcd);
				// 契約者都道府県名
				bean[0].sendMessageString(KKW15901SFConst.KEISHA_STATE_NM, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("keisha_state_nm"));
				// 契約者市区町村名
				bean[0].sendMessageString(KKW15901SFConst.KEISHA_CITY_NM, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("keisha_city_nm"));
				// 契約者大字通称名
				bean[0].sendMessageString(KKW15901SFConst.KEISHA_OAZTSU_NM, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("keisha_oaztsu_nm"));
				// 契約者字丁目名
				bean[0].sendMessageString(KKW15901SFConst.KEISHA_AZCHO_NM, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("keisha_azcho_nm"));
				// 契約者番地号
				bean[0].sendMessageString(KKW15901SFConst.KEISHA_BNCHIGO, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("keisha_bnchigo"));
				// 契約者住所補記・建物名
				bean[0].sendMessageString(KKW15901SFConst.KEISHA_ADRTTM, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("keisha_adrttm"));
				// 契約者住所補記・部屋番号
				bean[0].sendMessageString(KKW15901SFConst.KEISHA_ADRRM, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("keisha_adrrm"));
				// 契約者電話番号
				bean[0].sendMessageString(KKW15901SFConst.KEISHA_TELNO, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("keisha_telno"));
				// 契約者住所手動入力フラグ
				// 送付先住所手動入力フラグ
				boolean adManInputFlg = false;
				if(AD_MAN_INPUT_1.equals((String)childMap.get("keisha_ad_man_input_flg")))
				{
					adManInputFlg = true;
				}
				bean[0].sendMessageBoolean(KKW15901SFConst.SKSHA_REGAI_INPUT_BTN, X31CWebConst.DATABEAN_SET_VALUE, adManInputFlg);
				// お客様確認備考
				bean[0].sendMessageString(KKW15901SFConst.KIJIRAN, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("cust_cfm_biko"));
				// 更新年月日時分秒
				bean[0].sendMessageString(KKW15901SFConst.UPD_DTM_BF, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("upd_dtm"));
				// 契約者タイプコード
				bean[0].sendMessageString(KKW15901SFConst.KEISHA_TYPE_CD, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("keisha_type_cd"));
				
				// ======== v4.00.00 ANK-1223-00-00 進捗対応 ========
				// 初期表示契約者電話番号
				bean[0].sendMessageString(KKW15901SFConst.INIT_KEISHA_TELNO, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("keisha_telno"));
				// 初期表示契約者住所
				String init_add = (String)childMap.get("keisha_state_nm")
									+ (String)childMap.get("keisha_city_nm")
									+ (String)childMap.get("keisha_oaztsu_nm")
									+ (String)childMap.get("keisha_azcho_nm")
									+ (String)childMap.get("keisha_bnchigo")
									+ (String)childMap.get("keisha_adrttm")
									+ (String)childMap.get("keisha_adrrm");
				
				bean[0].sendMessageString(KKW15901SFConst.INIT_KEISHA_ADD, X31CWebConst.DATABEAN_SET_VALUE, init_add);
				// ======== v4.00.00 ANK-1223-00-00 進捗対応 ========

				// ++++++ v8.00.00【ANK-1962-00-00】対応 開始 +++++++++
				// 関電Ｇ個人情報取扱同意有無
				bean[0].sendMessageString(KKW15901SFConst.KEPG_KJNIF_TRAT_DOI_UM, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("kepg_kjnif_trat_doi_um"));
				// 関電Ｇ個人情報取扱同意有無名称
				bean[0].sendMessageString(KKW15901SFConst.KEPG_KJNIF_TRAT_DOI_UM_NM, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("kepg_kjnif_trat_doi_um_nm"));
				// 関電Ｇ個人情報取扱同意年月日
				bean[0].sendMessageString(KKW15901SFConst.KEPG_KJNIF_TRAT_DOI_YMD, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("kepg_kjnif_trat_doi_ymd"));
				// 関電Ｇ個人情報提供不可フラグ
				bean[0].sendMessageString(KKW15901SFConst.KEPG_KJNIFT_FFG, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("kepg_kjnift_ffg"));
				// 関電Ｇ個人情報提供不可フラグ名称
				bean[0].sendMessageString(KKW15901SFConst.KEPG_KJNIFT_FFG_NM, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("kepg_kjnift_ffg_nm"));
				// 関電Ｇ個人情報提供不可フラグ変更年月日
				bean[0].sendMessageString(KKW15901SFConst.KEPG_KJNIFT_FFG_CHG_YMD, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("kepg_kjnift_ffg_chg_ymd"));
				// 関電Ｇ個人情報提供不可フラグ変更受付方法コード
				bean[0].sendMessageString(KKW15901SFConst.KEPG_KJNIFT_FFG_CHG_UWY_CD, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("kepg_kjnift_ffg_chg_uwy_cd"));
				// 関電Ｇ個人情報提供不可フラグ変更受付方法コード名称
				bean[0].sendMessageString(KKW15901SFConst.KEPG_KJNIFT_FFG_CHG_UWY_CD_NM, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("kepg_kjnift_ffg_chg_uwy_cd_nm"));
				// 関電Ｇ個人情報提供状況コード
				bean[0].sendMessageString(KKW15901SFConst.KEPG_KJNIFT_JOKYO_CD, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("kepg_kjnift_jokyo_cd"));
				// 関電Ｇ個人情報提供状況コード名称
				bean[0].sendMessageString(KKW15901SFConst.KEPG_KJNIFT_JOKYO_CD_NM, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("kepg_kjnift_jokyo_cd_nm"));
				// 関電Ｇ個人情報提供開始年月日
				bean[0].sendMessageString(KKW15901SFConst.KEPG_KJNIFT_STAYMD, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("kepg_kjnift_staymd"));
				// 関電Ｇ個人情報提供停止連携状態コード
				bean[0].sendMessageString(KKW15901SFConst.KEPG_KJNIFT_RSCD, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("kepg_kjnift_rscd"));
				// 関電Ｇ個人情報提供停止連携状態コード名称
				bean[0].sendMessageString(KKW15901SFConst.KEPG_KJNIFT_RSCD_NM, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("kepg_kjnift_rscd_nm"));
				// 関電Ｇ個人情報提供停止連携状態コード変更年月日
				bean[0].sendMessageString(KKW15901SFConst.KEPG_KJNIFT_RSCD_CHG_YMD, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("kepg_kjnift_rscd_chg_ymd"));
				// ++++++ v8.00.00【ANK-1962-00-00】対応 終了 +++++++++
			}
		}
		
		return bean;
	}
	
//* ++++++++++ v4.01.00 追加開始 ++++++++++ */
	/**
	 * 下りマッピング
	 * @param bean　[0]：
	 * @param outputMap
	 * 
	 * @return bean
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getKKSV065603CC(X31SDataBeanAccess[] bean, HashMap<String, Object> outputMap)
	{
		HashMap parentMap = null;
		if (outputMap.containsKey("KKSV065603CC"))
		{
			parentMap = (HashMap)outputMap.get("KKSV065603CC");
		}
		
		// 標準コンテンツ同意フラグ
		if (parentMap.containsKey("stdard_cont_doi"))
		{
			bean[0].sendMessageString(
					KKW15901SFConst.STDARD_CONT_DOI_FLG, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("stdard_cont_doi"));
		}
		
		// 連絡先＿連絡先番号
		if (parentMap.containsKey("eck0201_rrks_no"))
		{
			bean[0].sendMessageString(
					KKW15901SFConst.RRKS_RRKS_NO, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("eck0201_rrks_no"));
		}
		
		return bean;
	}
//* ++++++++++ v4.01.00 追加終了 ++++++++++ */
	
// ANK-2557-00-00 ADD START
	/**
	 * 下りマッピング
	 * @param bean　[0]：請求書送付先情報一覧照会
	 * @param outputMap
	 * 
	 * @return bean
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getKKSV065603SC(X31SDataBeanAccess[] bean, HashMap<String, Object> outputMap)
	{
		HashMap parentMap = null;
		if (outputMap.containsKey("KKSV065603SC"))
		{
			parentMap = (HashMap)outputMap.get("KKSV065603SC");
		}
		
		ArrayList childList = null;
		
		X31SDataBeanAccessArray arraybean = bean[0].getDataBeanArray("請求書送付先情報リスト");
		childList = null;
		
		if(arraybean != null && parentMap != null && parentMap.containsKey("EKK0491B009CBSMsg1List"))
		{
			childList = (ArrayList)parentMap.get("EKK0491B009CBSMsg1List");
			String init_add = null;
			for(int i = 0; i < childList.size(); i++)
			{
				X31SDataBeanAccess subbean = null;
				if(arraybean.getCount() -1 >= i)
				{
					subbean = arraybean.getDataBean(i);
				}else
				{
					subbean = arraybean.addDataBean();
				}
				
				HashMap childMap = (HashMap)childList.get(i);
				
				if (subbean == null)
				{
					continue;
				}
				
				// 請求書送付先情報リスト.請求契約番号 ← 請求書送付先情報一覧照会マップ.請求書送付先情報一覧照会明細.請求契約番号
				if (childMap != null)
				{
					subbean.sendMessageString("請求契約番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("seiky_kei_no"));
				}
				// 請求書送付先情報リスト.請求契約番号← 請求書送付先情報一覧照会マップ.請求書送付先情報一覧照会明細.請求契約番号
				if (childMap != null)
				{
					subbean.sendMessageString("請求契約番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("seiky_kei_no"));
				}
				// 請求書送付先情報リスト.申込明細番号← 請求書送付先情報一覧照会マップ.請求書送付先情報一覧照会明細.申込明細番号
				if (childMap != null)
				{
					subbean.sendMessageString("申込明細番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("mskm_dtl_no"));
				}
				// 請求書送付先情報リスト.請求方法コード← 請求書送付先情報一覧照会マップ.請求書送付先情報一覧照会明細.請求方法コード
				if (childMap != null)
				{
					subbean.sendMessageString("請求方法コード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("seiky_way_cd"));
				}
				// 請求書送付先情報リスト.請求方法コード名称← 請求書送付先情報一覧照会マップ.請求書送付先情報一覧照会明細.請求方法コード名称
				if (childMap != null)
				{
					subbean.sendMessageString("請求方法コード名称", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("seiky_way_cd_nm"));
				}
				// 請求書送付先情報リスト.請求契約カナ名← 請求書送付先情報一覧照会マップ.請求書送付先情報一覧照会明細.請求契約カナ名
				if (childMap != null)
				{
					subbean.sendMessageString("請求契約カナ名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("seiky_kei_kana"));
				}
				// 請求書送付先情報リスト.情報表示コード← 請求書送付先情報一覧照会マップ.請求書送付先情報一覧照会明細.情報表示コード
				if (childMap != null)
				{
					subbean.sendMessageString("情報表示コード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("info_dsp_cd"));
				}
				// 請求書送付先情報リスト.請求書発行要否← 請求書送付先情報一覧照会マップ.請求書送付先情報一覧照会明細.請求書発行要否
				if (childMap != null)
				{
					subbean.sendMessageString("請求書発行要否", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("seikyus_hakko_yh"));
				}
				// 請求書送付先情報リスト.請求書送付先_契約者住所差異フラグ← 請求書送付先情報一覧照会マップ.請求書送付先情報一覧照会明細.請求書送付先_契約者住所差異フラグ
				if (childMap != null)
				{
					subbean.sendMessageString("請求書送付先＿契約者住所差異フラグ", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("sks_shs_ksh_ad_sai_flg"));
				}
				// 請求書送付先情報リスト.請求書送付先名_お客様名差異フラグ← 請求書送付先情報一覧照会マップ.請求書送付先情報一覧照会明細.請求書送付先名_お客様名差異フラグ
				if (childMap != null)
				{
					subbean.sendMessageString("請求書送付先名＿お客様名差異フラグ", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("sks_shs_nm_cust_nm_sai_flg"));
				}
				// 請求書送付先情報リスト.送付先法人格種別コード← 請求書送付先情報一覧照会マップ.請求書送付先情報一覧照会明細.送付先法人格種別コード
				if (childMap != null)
				{
					subbean.sendMessageString("送付先法人格種別コード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("shs_hojin_sbt_cd"));
				}
				// 請求書送付先情報リスト.送付先法人格前後指定コード← 請求書送付先情報一覧照会マップ.請求書送付先情報一覧照会明細.送付先法人格前後指定コード
				if (childMap != null)
				{
					subbean.sendMessageString("送付先法人格前後指定コード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("shs_hojin_zengo_shitei_cd"));
				}
				// 請求書送付先情報リスト.送付先住所← 請求書送付先情報一覧照会マップ.請求書送付先情報一覧照会明細.送付先住所
				if (childMap != null)
				{
					init_add = (String)childMap.get("sohus_state_nm")
							 + (String)childMap.get("sohus_city_nm")
							 + (String)childMap.get("sohus_oaztsu_nm")
							 + (String)childMap.get("sohus_azcho_nm")
// ST-2015-0000050 MOD START
//							 + (String)childMap.get("sohus_adrttm")
//							 + (String)childMap.get("sohus_adrrm")
//							 + (String)childMap.get("sohus_bnchigo");
							 + (String)childMap.get("sohus_bnchigo")
							 + (String)childMap.get("sohus_adrttm")
							 + (String)childMap.get("sohus_adrrm");
// ST-2015-0000050 MOD END
					subbean.sendMessageString("送付先住所", X31CWebConst.DATABEAN_SET_VALUE, init_add);
				}
				// 請求書送付先情報リスト.送付先カナ名← 請求書送付先情報一覧照会マップ.請求書送付先情報一覧照会明細.送付先カナ名
				if (childMap != null)
				{
					subbean.sendMessageString("送付先カナ名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("shs_kana"));
				}
				// 請求書送付先情報リスト.送付先名← 請求書送付先情報一覧照会マップ.請求書送付先情報一覧照会明細.送付先名
				if (childMap != null)
				{
					subbean.sendMessageString("送付先名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("sohus_nm"));
				}
				// 請求書送付先情報リスト.送付先部課名← 請求書送付先情報一覧照会マップ.請求書送付先情報一覧照会明細.送付先部課名
				if (childMap != null)
				{
					subbean.sendMessageString("送付先部課名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("sohus_bkm"));
				}
				// 請求書送付先情報リスト.送付先担当者名← 請求書送付先情報一覧照会マップ.請求書送付先情報一覧照会明細.送付先担当者名
				if (childMap != null)
				{
					subbean.sendMessageString("送付先担当者名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("sohus_tntsha_nm"));
				}
				// 請求書送付先情報リスト.送付先住所コード← 請求書送付先情報一覧照会マップ.請求書送付先情報一覧照会明細.送付先住所コード
				if (childMap != null)
				{
					subbean.sendMessageString("送付先住所コード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("sohus_ad_cd"));
				}
				// 請求書送付先情報リスト.送付先郵便番号← 請求書送付先情報一覧照会マップ.請求書送付先情報一覧照会明細.送付先郵便番号
				if (childMap != null)
				{
					subbean.sendMessageString("送付先郵便番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("sohus_pcd"));
				}
				// 請求書送付先情報リスト.送付先都道府県名← 請求書送付先情報一覧照会マップ.請求書送付先情報一覧照会明細.送付先都道府県名
				if (childMap != null)
				{
					subbean.sendMessageString("送付先都道府県名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("sohus_state_nm"));
				}
				// 請求書送付先情報リスト.送付先市区町村名← 請求書送付先情報一覧照会マップ.請求書送付先情報一覧照会明細.送付先市区町村名
				if (childMap != null)
				{
					subbean.sendMessageString("送付先市区町村名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("sohus_city_nm"));
				}
				// 請求書送付先情報リスト.送付先大字通称名← 請求書送付先情報一覧照会マップ.請求書送付先情報一覧照会明細.送付先大字通称名
				if (childMap != null)
				{
					subbean.sendMessageString("送付先大字通称名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("sohus_oaztsu_nm"));
				}
				// 請求書送付先情報リスト.送付先字丁目名← 請求書送付先情報一覧照会マップ.請求書送付先情報一覧照会明細.送付先字丁目名
				if (childMap != null)
				{
					subbean.sendMessageString("送付先字丁目名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("sohus_azcho_nm"));
				}
				// 請求書送付先情報リスト.送付先住所補記・建物名← 請求書送付先情報一覧照会マップ.請求書送付先情報一覧照会明細.送付先住所補記・建物名
				if (childMap != null)
				{
					subbean.sendMessageString("送付先住所補記・建物名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("sohus_adrttm"));
				}
				// 請求書送付先情報リスト.送付先住所補記・部屋番号← 請求書送付先情報一覧照会マップ.請求書送付先情報一覧照会明細.送付先住所補記・部屋番号
				if (childMap != null)
				{
					subbean.sendMessageString("送付先住所補記・部屋番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("sohus_adrrm"));
				}
				// 請求書送付先情報リスト.送付先番地号← 請求書送付先情報一覧照会マップ.請求書送付先情報一覧照会明細.送付先番地号
				if (childMap != null)
				{
					subbean.sendMessageString("送付先番地号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("sohus_bnchigo"));
				}
				// 請求書送付先情報リスト.送付先住所手動入力フラグ← 請求書送付先情報一覧照会マップ.請求書送付先情報一覧照会明細.送付先住所手動入力フラグ
				if (childMap != null)
				{
					subbean.sendMessageString("送付先住所手動入力フラグ", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("sohus_ad_man_input_flg"));
				}
				// 請求書送付先情報リスト.送付先電話番号← 請求書送付先情報一覧照会マップ.請求書送付先情報一覧照会明細.送付先電話番号
				if (childMap != null)
				{
					subbean.sendMessageString("送付先電話番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("sohus_telno"));
				}
				// 請求書送付先情報リスト.送付先FAX番号← 請求書送付先情報一覧照会マップ.請求書送付先情報一覧照会明細.送付先FAX番号
				if (childMap != null)
				{
					subbean.sendMessageString("送付先ＦＡＸ番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("sohus_fax_no"));
				}
				// 請求書送付先情報リスト.送付先メールアドレス← 請求書送付先情報一覧照会マップ.請求書送付先情報一覧照会明細.送付先メールアドレス
				if (childMap != null)
				{
					subbean.sendMessageString("送付先メールアドレス", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("sohus_mlad"));
				}
				// 請求書送付先情報リスト.請求書送付先変更年月日← 請求書送付先情報一覧照会マップ.請求書送付先情報一覧照会明細.請求書送付先変更年月日
				if (childMap != null)
				{
					subbean.sendMessageString("請求書送付先変更年月日", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("seikyus_sohus_chge_ymd"));
				}
				// 請求書送付先情報リスト.請求方法適用調整年月日← 請求書送付先情報一覧照会マップ.請求書送付先情報一覧照会明細.請求方法適用調整年月日
				if (childMap != null)
				{
					subbean.sendMessageString("請求方法適用調整年月日", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("seiky_way_aply_adj_ymd"));
				}
				// 請求書送付先情報リスト.予約適用開始希望年月日← 請求書送付先情報一覧照会マップ.請求書送付先情報一覧照会明細.予約適用開始希望年月日
				if (childMap != null)
				{
					subbean.sendMessageString("予約適用開始希望年月日", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("rsv_tsta_kibo_ymd"));
				}
				// 請求書送付先情報リスト.予約適用年月日← 請求書送付先情報一覧照会マップ.請求書送付先情報一覧照会明細.予約適用年月日
				if (childMap != null)
				{
					subbean.sendMessageString("予約適用年月日", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("rsv_aply_ymd"));
				}
				// 請求書送付先情報リスト.異動区分← 請求書送付先情報一覧照会マップ.請求書送付先情報一覧照会明細.異動区分
				if (childMap != null)
				{
					subbean.sendMessageString("異動区分", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("ido_div"));
				}
				// 請求書送付先情報リスト.初回請求年月← 請求書送付先情報一覧照会マップ.請求書送付先情報一覧照会明細.初回請求年月
				if (childMap != null)
				{
					subbean.sendMessageString("初回請求年月", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("first_seiky_ym"));
				}
				// 請求書送付先情報リスト.初回支払申込書送付要否← 請求書送付先情報一覧照会マップ.請求書送付先情報一覧照会明細.初回支払申込書送付要否
				if (childMap != null)
				{
					subbean.sendMessageString("初回支払申込書送付要否", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("first_pay_mskmsho_sohu_yh"));
				}
				// 請求書送付先情報リスト.初回支払申込書送付年月日← 請求書送付先情報一覧照会マップ.請求書送付先情報一覧照会明細.初回支払申込書送付年月日
				if (childMap != null)
				{
					subbean.sendMessageString("初回支払申込書送付年月日", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("first_pay_mskmsho_sohu_ymd"));
				}
				// 請求書送付先情報リスト.初回支払申込書受領年月日← 請求書送付先情報一覧照会マップ.請求書送付先情報一覧照会明細.初回支払申込書受領年月日
				if (childMap != null)
				{
					subbean.sendMessageString("初回支払申込書受領年月日", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("first_pay_mskmsho_rcp_ymd"));
				}
				// 請求書送付先情報リスト.更新年月日時分秒（更新前）← 請求書送付先情報一覧照会マップ.請求書送付先情報一覧照会明細.更新年月日時分秒（更新前）
				if (childMap != null)
				{
					subbean.sendMessageString("更新年月日時分秒（更新前）", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("upd_dtm_bf"));
				}
				// 背景色設定
				if (i % 2 == 1)
				{
					subbean.sendMessageString("背景色", X31CWebConst.DATABEAN_SET_VALUE, "even");
				}
				else
				{
					subbean.sendMessageString("背景色", X31CWebConst.DATABEAN_SET_VALUE, "odd");
				}
				// 変更設定
				if (bean[0].sendMessageString(KKW15901SFConst.SKS_SHS_DOJI_CHGE_UM, X31CWebConst.DATABEAN_GET_VALUE) .equals("1"))
				{
					subbean.sendMessageBoolean("変更", X31CWebConst.DATABEAN_SET_VALUE, true);
				}
				else
				{
					subbean.sendMessageBoolean("変更", X31CWebConst.DATABEAN_SET_VALUE, false);
				}
			}
		}
		
		return bean;
	}
// ANK-2557-00-00 ADD END
	
	/**
	 * 郵便番号フォーマットに変換します。
	 * <br>
	 * @param pcd 郵便番号
	 * <br>
	 * @return String フォーマット変換した郵便番号
	 */
	private String formatPcd(String pcd)
	{
		String rtnPcd = "";
		
		if (pcd == null || "".equals(pcd))
		{
			return rtnPcd;
		}
		
		if(NO_CHANGE.equals(pcd))
		{
			rtnPcd = pcd;
		}
		else
		{
			rtnPcd = "〒" + pcd;
		}
		
		return rtnPcd;
	}
	
}