/*********************************************************************
*	All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名		：eo顧客基幹システム
*	モジュール名	：FUSV0215_FUSV0215OPDBMapper
*	ソースファイル名：FUSV0215_FUSV0215OPDBMapper.java
*	作成者			：富士通
*	日付			：2012年04月05日
*＜機能概要＞
*	BP（登録証詳細）へのＤ−Ｂマッピングクラスです。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v3.00		2012/04/05	FJ)文元 	【案件番号：ANK-0024-01-00】新規作成
*	v5.00		2013/01/08	FJ)瀧澤 	【案件番号：ANK-1388-00-00】ID通知書へのTVサービス名称表示対応
*	v5.01		2013/03/06	FJ)文元 	【案件番号：ANK-1462-00-00】ＩＤ登録証のサービス開始日削除対応
*	v5.02       2013/08/19	FJ)文元		【障害対応：OM-2013-0000322】eoID(変更後)が表示されない不具合対応
*
**********************************************************************/
package eo.web.webview.mapping;

import java.util.ArrayList;
import java.util.HashMap;

import com.fujitsu.futurity.common.JCMConstants;
import com.fujitsu.futurity.web.x31.X31CWebConst;
import com.fujitsu.futurity.web.x31.X31SDataBeanAccess;
import com.fujitsu.futurity.web.x31.X31SDataBeanAccessArray;

import eo.common.constant.JFUStrConst;
import eo.common.util.JFUCommonUtil;
import eo.web.webview.CommonInfoCF.CommonInfoCFConst;
import eo.web.webview.FUW10601SF.FUW10601SFConst;
import eo.web.webview.common.JFUWebCommon;

/**
 * DataBean-BPマッピングをします。
 *
 * <br>
 * @author 富士通
 */
public class FUSV0215_FUSV0215OPDBMapper
{
	/** 通知対象物一覧照会SC */
	private static final String FUSV021501SC = "FUSV021501SC";
	/** 通知書内訳一覧照会SC */
	private static final String FUSV021502SC = "FUSV021502SC";
	/** サービス契約回線内訳一覧照会SC */
	private static final String FUSV021503SC = "FUSV021503SC";
	/** サービス契約回線内訳一意照会SC */
	private static final String FUSV021504SC = "FUSV021504SC";
	/** サービス契約内訳＜eo光電話＞一覧照会SC */
	private static final String FUSV021505SC = "FUSV021505SC";
	/** 登録証照会CC */
	private static final String FUSV021501CC = "FUSV021501CC";

	/** 通知対象物一覧照会明細 */
	private static final String EKK0571B001CBSMSG1LIST = "EKK0571B001CBSMsg1List";
	/** 通知書内訳一覧照会明細 */
	private static final String EKK1061B001CBSMSG1LIST = "EKK1061B001CBSMsg1List";
	/** サービス契約回線内訳一覧照会（サービス契約番号）明細 */
	private static final String EKK0251B001CBSMSG1LIST = "EKK0251B001CBSMsg1List";
	/** サービス契約回線内訳一意照会明細 */
	private static final String EKK0251A010CBSMSG1LIST = "EKK0251A010CBSMsg1List";
	/** サービス契約内訳＜eo光電話＞一覧照会（サービス契約番号）明細 */
	private static final String EKK0191B001CBSMSG1LIST = "EKK0191B001CBSMsg1List";

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：登録証照会　[1]：共有フォームビーン
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return HashMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap<String, Object> setFUSV021501SC(X31SDataBeanAccess[] bean, HashMap<String, Object> outputMap, String func_code)
	{
		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(JCMConstants.FUNC_CODE_KEY, func_code);

		// 登録証選択通知書番号 → 通知対象物一覧照会マップ.ＫＥＹ＿通知書番号
		parentMap.put("key_tchisho_no", bean[0].sendMessageString(FUW10601SFConst.TOROKUSHO_SEL, X31CWebConst.DATABEAN_GET_VALUE));

		// 通知対象物一覧照会明細
		ArrayList arrayList = new ArrayList<HashMap>();
		HashMap detailMap = new HashMap();
		arrayList.add(detailMap);
		parentMap.put(EKK0571B001CBSMSG1LIST, arrayList);

		outputMap.put(FUSV021501SC, parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：登録証照会　[1]：共有フォームビーン
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return HashMap
	 */
	public HashMap<String, Object> setFUSV021502SC(X31SDataBeanAccess[] bean, HashMap<String, Object> outputMap, String func_code)
	{
		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(JCMConstants.FUNC_CODE_KEY, func_code);

		// 詳細＿通知書番号 → 通知書内訳一覧照会マップ.ＫＥＹ＿通知書番号
		parentMap.put("key_tchisho_no", bean[0].sendMessageString(FUW10601SFConst.TOROKUSHO_SEL, X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put(FUSV021502SC, parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：登録証照会　[1]：共有フォームビーン
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return HashMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap<String, Object> setFUSV021503SC(X31SDataBeanAccess[] bean, HashMap<String, Object> outputMap, String func_code)
	{
		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(JCMConstants.FUNC_CODE_KEY, func_code);

		// サービス契約回線内訳一覧照会（サービス契約番号）明細
		ArrayList arrayList = new ArrayList<HashMap>();
		HashMap detailMap = new HashMap();
		arrayList.add(detailMap);
		parentMap.put(EKK0251B001CBSMSG1LIST, arrayList);

		outputMap.put(FUSV021503SC, parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：登録証照会　[1]：共有フォームビーン
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return HashMap
	 */
	public HashMap<String, Object> setFUSV021504SC(X31SDataBeanAccess[] bean, HashMap<String, Object> outputMap, String func_code)
	{
		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(JCMConstants.FUNC_CODE_KEY, func_code);

		outputMap.put(FUSV021504SC, parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：登録証照会　[1]：共有フォームビーン
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return HashMap
	 */
	public HashMap<String, Object> setFUSV021505SC(X31SDataBeanAccess[] bean, HashMap<String, Object> outputMap, String func_code)
	{
		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(JCMConstants.FUNC_CODE_KEY, func_code);

		outputMap.put(FUSV021505SC, parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：登録証照会　[1]：共有フォームビーン
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return HashMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap<String, Object> setFUSV021501CC(X31SDataBeanAccess[] bean, HashMap<String, Object> outputMap, String func_code)
	{
		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(JCMConstants.FUNC_CODE_KEY, func_code);

		// SYSID
		parentMap.put("key_sysid", bean[1].sendMessageString(CommonInfoCFConst.SYSID_21, X31CWebConst.DATABEAN_GET_VALUE));
		// キー情報
		parentMap.put("key_key_list", bean[0].sendMessageString(FUW10601SFConst.TOROKUSHO_SEL, X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put(FUSV021501CC, parentMap);

		return outputMap;
	}

	/**
	 * 下りマッピング
	 *
	 * <br>
	 * @param bean 登録証照会
	 * @param outputMap
	 * @return X31SDataBeanAccess
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getFUSV021501SC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{
		HashMap parentMap = null;
		if (outputMap.containsKey(FUSV021501SC))
		{
			parentMap = (HashMap)outputMap.get(FUSV021501SC);
		}

		ArrayList childList = null;

		X31SDataBeanAccessArray listFUSV021501SC_tchi_tg_bpin_list_EKK0571B001CBSMsg1List =
				bean[0].getDataBeanArray(FUW10601SFConst.TCHI_TG_BPIN_LIST);
		childList = null;

		if (listFUSV021501SC_tchi_tg_bpin_list_EKK0571B001CBSMsg1List != null && parentMap != null && parentMap.containsKey(EKK0571B001CBSMSG1LIST))
		{
			childList = (ArrayList)parentMap.get(EKK0571B001CBSMSG1LIST);

			for (int i = 0; i < childList.size(); i++)
			{
				X31SDataBeanAccess subbean = null;

				if (listFUSV021501SC_tchi_tg_bpin_list_EKK0571B001CBSMsg1List.getCount() - 1 >= i)
				{
					subbean = listFUSV021501SC_tchi_tg_bpin_list_EKK0571B001CBSMsg1List.getDataBean(i);
				}
				else
				{
					subbean = listFUSV021501SC_tchi_tg_bpin_list_EKK0571B001CBSMsg1List.addDataBean();
				}

				HashMap childMap = (HashMap)childList.get(i);

				if (subbean == null)
				{
					continue;
				}

				if (childMap == null)
				{
					continue;
				}

				// 通知対象物一覧.通知対象物番号 ← 通知対象物一覧照会マップ.通知対象物一覧照会明細.通知対象物番号
				subbean.sendMessageString(FUW10601SFConst.TCHI_TG_BPIN_NO_02, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap
						.get("tchi_tg_bpin_no"));

				// 通知対象物一覧.サービス契約番号 ← 通知対象物一覧照会マップ.通知対象物一覧照会明細.サービス契約番号
				subbean.sendMessageString(FUW10601SFConst.SVC_KEI_NO_02, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("svc_kei_no"));

				// 通知対象物一覧.サービスコード ← 通知対象物一覧照会マップ.通知対象物一覧照会明細.サービスコード
				subbean.sendMessageString(FUW10601SFConst.SVC_CD_02, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("svc_cd"));

				// 通知対象物一覧.サービス名 ← 通知対象物一覧照会マップ.通知対象物一覧照会明細.サービス名
				subbean.sendMessageString(FUW10601SFConst.SVC_NM_02, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("svc_nm"));

				// 通知対象物一覧.料金グループコード ← 通知対象物一覧照会マップ.通知対象物一覧照会明細.料金グループコード
				subbean.sendMessageString(FUW10601SFConst.PRC_GRP_CD_02, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("prc_grp_cd"));

				// 通知対象物一覧.料金グループ名 ← 通知対象物一覧照会マップ.通知対象物一覧照会明細.料金グループ名
				subbean.sendMessageString(FUW10601SFConst.PRC_GRP_NM_02, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("prc_grp_nm"));

				// 通知対象物一覧.料金コースコード ← 通知対象物一覧照会マップ.通知対象物一覧照会明細.料金コースコード
				subbean.sendMessageString(FUW10601SFConst.PCRS_CD_02, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("pcrs_cd"));

				// 通知対象物一覧.料金コース名 ← 通知対象物一覧照会マップ.通知対象物一覧照会明細.料金コース名
				subbean.sendMessageString(FUW10601SFConst.PCRS_NM_02, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("pcrs_nm"));

				// 通知対象物一覧.料金プランコード ← 通知対象物一覧照会マップ.通知対象物一覧照会明細.料金プランコード
				subbean.sendMessageString(FUW10601SFConst.PPLAN_CD_02, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("pplan_cd"));

				// 通知対象物一覧.料金プラン名 ← 通知対象物一覧照会マップ.通知対象物一覧照会明細.料金プラン名
				subbean.sendMessageString(FUW10601SFConst.PPLAN_NM_02, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("pplan_nm"));

				// 通知対象物一覧.整理番号 ← 通知対象物一覧照会マップ.通知対象物一覧照会明細.整理番号
				subbean.sendMessageString(FUW10601SFConst.SEIRI_NO_02, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("seiri_no"));
			}
		}

		return bean;
	}

	/**
	 * 下りマッピング
	 *
	 * <br>
	 * @param bean 登録証照会
	 * @param outputMap
	 * @return X31SDataBeanAccess
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getFUSV021502SC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{
//		HashMap parentMap = null;
//		if (outputMap.containsKey(FUSV021502SC))
//		{
//			parentMap = (HashMap)outputMap.get(FUSV021502SC);
//		}
//
//		ArrayList childList = null;
//
//		X31SDataBeanAccessArray listFUSV021502SC_tchisho_uw_list_EKK1061B001CBSMsg1List = bean[0].getDataBeanArray(FUW10601SFConst.TCHISHO_UW_LIST);
//		childList = null;
//		if (listFUSV021502SC_tchisho_uw_list_EKK1061B001CBSMsg1List != null && parentMap != null && parentMap.containsKey(EKK1061B001CBSMSG1LIST))
//		{
//			childList = (ArrayList)parentMap.get(EKK1061B001CBSMSG1LIST);
//
//			for (int i = 0; i < childList.size(); i++)
//			{
//				X31SDataBeanAccess subbean = null;
//
//				if (listFUSV021502SC_tchisho_uw_list_EKK1061B001CBSMsg1List.getCount() - 1 >= i)
//				{
//					subbean = listFUSV021502SC_tchisho_uw_list_EKK1061B001CBSMsg1List.getDataBean(i);
//				}
//				else
//				{
//					subbean = listFUSV021502SC_tchisho_uw_list_EKK1061B001CBSMsg1List.addDataBean();
//				}
//
//				HashMap childMap = (HashMap)childList.get(i);
//
//				if (subbean == null)
//				{
//					continue;
//				}
//
//				if (childMap == null)
//				{
//					continue;
//				}
//
//				// 通知書内訳一覧.通知書内訳番号 ← 通知書内訳一覧照会マップ.通知書内訳一覧照会明細.通知書内訳番号
//				subbean.sendMessageString(FUW10601SFConst.TCHISHO_UW_NO_03, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("tchisho_uw_no"));
//
//				// 通知書内訳一覧.通知書内訳識別コード ← 通知書内訳一覧照会マップ.通知書内訳一覧照会明細.通知書内訳識別コード
//				subbean.sendMessageString(FUW10601SFConst.TCHISHO_UCWK_SBT_CD_03, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap
//						.get("tchisho_ucwk_sbt_cd"));
//
//				// 通知書内訳一覧.料金グループコード ← 通知書内訳一覧照会マップ.料金グループコード
//				subbean.sendMessageString(FUW10601SFConst.PRC_GRP_CD_03, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("prc_grp_cd"));
//
//				// 通知書内訳一覧.利用開始年月日 ← 通知書内訳一覧照会マップ.利用開始年月日
//				subbean.sendMessageString(FUW10601SFConst.USE_STAYMD_03, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("use_staymd"));
//
//				// 通知書内訳一覧.ADSL利用開始年月日 ← 通知書内訳一覧照会マップ.ADSL利用開始年月日
//				subbean.sendMessageString(FUW10601SFConst.ADSL_USE_STAYMD_03, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("adsl_use_staymd"));
//
//				// 通知書内訳一覧.メールアドレス ← 通知書内訳一覧照会マップ.通知書内訳一覧照会明細.メールアドレス
//				subbean.sendMessageString(FUW10601SFConst.MLAD_03, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("mlad"));
//
//				// 通知書内訳一覧.ＰＯＰＩＤパスワード ← 通知書内訳一覧照会マップ.通知書内訳一覧照会明細.POPIDパスワード
//				subbean.sendMessageString(FUW10601SFConst.POP_ID_PWD_03, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("pop_id_pwd"));
//
//				// 通知書内訳一覧.ＷｅｂＩＤ ← 通知書内訳一覧照会マップ.通知書内訳一覧照会明細.WebID
//				subbean.sendMessageString(FUW10601SFConst.WEB_ID_03, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("web_id"));
//
//				// 通知書内訳一覧.ＷｅｂＩＤパスワード ← 通知書内訳一覧照会マップ.通知書内訳一覧照会明細.WebIDパスワード
//				subbean.sendMessageString(FUW10601SFConst.WEB_ID_PWD_03, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("web_id_pwd"));
//
//				// 通知書内訳一覧.ＩＥＥＥ８０２．１Ｘ用ＳＳＩＤ ← 通知書内訳一覧照会マップ.通知書内訳一覧照会明細.IEEE8021X用SSID
//				subbean.sendMessageString(FUW10601SFConst.IEEE802_1X_SSID_03, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap
//						.get("ieee802_1x_ssid"));
//
//				// 通知書内訳一覧.ＷＰＡ２．ＡＥＳ用ＳＳＩＤ ← 通知書内訳一覧照会マップ.通知書内訳一覧照会明細.WPA2AES用SSID
//				subbean.sendMessageString(FUW10601SFConst.WPA2_AES_SSID_03, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("wpa2_aes_ssid"));
//
//				// 通知書内訳一覧.ＷＥＰ用ＳＳＩＤ ← 通知書内訳一覧照会マップ.通知書内訳一覧照会明細.WEP用SSID
//				subbean.sendMessageString(FUW10601SFConst.WEP_SSID_03, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("wep_ssid"));
//
//				// 通知書内訳一覧.ＷＥＰキー ← 通知書内訳一覧照会マップ.通知書内訳一覧照会明細.WEPキー
//				subbean.sendMessageString(FUW10601SFConst.WEP_KEY_03, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("wep_key"));
//
//				// 通知書内訳一覧.認証ＩＤ ← 通知書内訳一覧照会マップ.通知書内訳一覧照会明細.認証ID
//				subbean.sendMessageString(FUW10601SFConst.NINSHO_ID_03, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("ninsho_id"));
//
//				// 通知書内訳一覧.認証ＩＤパスワード ← 通知書内訳一覧照会マップ.通知書内訳一覧照会明細.認証IDパスワード
//				subbean.sendMessageString(FUW10601SFConst.NINSHO_ID_PWD_03, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("ninsho_id_pwd"));
//
//				// 通知書内訳一覧.電話オプション設定用リモート操作用パスワード
//				// 					← 通知書内訳一覧照会マップ.通知書内訳一覧照会明細.電話オプション設定用リモート操作用パスワード
//				subbean.sendMessageString(FUW10601SFConst.TEL_OP_SETTE_RMTS_PWD_03, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap
//						.get("tel_op_sette_rmts_pwd"));
//
//				// 通知書内訳一覧.初期ｅｏＩＤ ← 通知書内訳一覧照会マップ.通知書内訳一覧照会明細.初期eoID
//				subbean.sendMessageString(FUW10601SFConst.SHK_EOID_03, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("shk_eoid"));
//
//				// 通知書内訳一覧.初期ｅｏＩＤパスワード ← 通知書内訳一覧照会マップ.通知書内訳一覧照会明細.初期eoIDパスワード
//				subbean.sendMessageString(FUW10601SFConst.SHK_EOID_PWD_03, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("shk_eoid_pwd"));
//
//				// 通知書内訳一覧.家族入会コード ← 通知書内訳一覧照会マップ.通知書内訳一覧照会明細.家族入会コード
//				subbean.sendMessageString(FUW10601SFConst.FAMILY_JOIN_CD_03, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("family_join_cd"));
//
//				// 通知書内訳一覧.家族入会コードパスワード ← 通知書内訳一覧照会マップ.通知書内訳一覧照会明細.家族入会コードパスワード
//				subbean.sendMessageString(FUW10601SFConst.FAMILY_JOIN_CD_PWD_03, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap
//						.get("family_join_cd_pwd"));
//
//				// 通知書内訳一覧.通知書印字名 ← 通知書内訳一覧照会マップ.通知書印字名
//				subbean.sendMessageString(FUW10601SFConst.TCHISHO_PRT_NM_03, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("tchisho_prt_nm"));
//			}
//		}
//
		return bean;
	}

	/**
	 * 下りマッピング
	 *
	 * <br>
	 * @param bean 登録証照会
	 * @param outputMap
	 * @return X31SDataBeanAccess
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getFUSV021504SC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{
//		HashMap parentMap = null;
//		if (outputMap.containsKey(FUSV021504SC))
//		{
//			parentMap = (HashMap)outputMap.get(FUSV021504SC);
//		}
//
//		ArrayList childList = null;
//
//		X31SDataBeanAccessArray listFUSV021504SC_dtl_use_plc_EKK0251A010CBSMsg1List = bean[0].getDataBeanArray(FUW10601SFConst.DTL_USE_PLC);
//		childList = null;
//
//		if (listFUSV021504SC_dtl_use_plc_EKK0251A010CBSMsg1List != null && parentMap != null && parentMap.containsKey(EKK0251A010CBSMSG1LIST))
//		{
//			childList = (ArrayList)parentMap.get(EKK0251A010CBSMSG1LIST);
//
//			for (int i = 0; i < childList.size(); i++)
//			{
//				X31SDataBeanAccess subbean = null;
//
//				if (listFUSV021504SC_dtl_use_plc_EKK0251A010CBSMsg1List.getCount() - 1 >= i)
//				{
//					subbean = listFUSV021504SC_dtl_use_plc_EKK0251A010CBSMsg1List.getDataBean(i);
//				}
//				else
//				{
//					subbean = listFUSV021504SC_dtl_use_plc_EKK0251A010CBSMsg1List.addDataBean();
//				}
//
//				HashMap childMap = (HashMap)childList.get(0);
//
//				if (subbean == null)
//				{
//					continue;
//				}
//
//				if (childMap == null)
//				{
//					continue;
//				}
//
//				// 詳細＿利用場所住所（郵便番号） ← サービス契約回線内訳一意照会マップ.回線場所郵便番号
//				subbean.sendMessageString(FUW10601SFConst.PCD_04, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("kaisen_place_pcd"));
//
//				// 詳細＿利用場所住所（都道府県） ← サービス契約回線内訳一意照会マップ.回線場所都道府県名
//				subbean.sendMessageString(FUW10601SFConst.RIYOBASYO_STATE_NM_04, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap
//						.get("kaisen_place_state_nm"));
//
//				// 詳細＿利用場所住所（市区町村） ← サービス契約回線内訳一意照会マップ.回線場所市区町村名
//				subbean.sendMessageString(FUW10601SFConst.RIYOBASYO_CITY_NM_04, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap
//						.get("kaisen_place_city_nm"));
//
//				// 詳細＿利用場所住所（大字通称） ← サービス契約回線内訳一意照会マップ.回線場所大字通称名
//				subbean.sendMessageString(FUW10601SFConst.RIYOBASYO_OAZTSU_NM_04, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap
//						.get("kaisen_place_oaztsu_nm"));
//
//				// 詳細＿利用場所住所（字丁目） ← サービス契約回線内訳一意照会マップ.回線場所字丁目名
//				subbean.sendMessageString(FUW10601SFConst.RIYOBASYO_AZCHO_NM_04, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap
//						.get("kaisen_place_azcho_nm"));
//
//				// 詳細＿利用場所住所（番地・号） ← サービス契約回線内訳一意照会マップ.回線場所番地号
//				subbean.sendMessageString(FUW10601SFConst.RIYOBASYO_BNCHIGO_04, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap
//						.get("kaisen_place_bnchigo"));
//
//				// 詳細＿利用場所住所（建物名） ← サービス契約回線内訳一意照会マップ.回線場所住所補記・建物名
//				subbean.sendMessageString(FUW10601SFConst.RIYOBASYO_ADRTTM_04, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap
//						.get("kaisen_place_adrttm"));
//
//				// 詳細＿利用場所住所（部屋番号） ← サービス契約回線内訳一意照会マップ.回線場所住所補記・部屋番号
//				subbean.sendMessageString(FUW10601SFConst.RIYOBASYO_ADRRM_04, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap
//						.get("kaisen_place_adrrm"));
//
//				// 最初の１レコード目のみ使用
//				break;
//			}
//		}
//
		return bean;
	}

	/**
	 * 下りマッピング
	 *
	 * <br>
	 * @param bean 登録証照会
	 * @param outputMap
	 * @return X31SDataBeanAccess
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getFUSV021505SC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{
//
//		HashMap parentMap = null;
//		if (outputMap.containsKey(FUSV021505SC))
//		{
//			parentMap = (HashMap)outputMap.get(FUSV021505SC);
//		}
//
//		ArrayList childList = null;
//
//		X31SDataBeanAccessArray listFUSV021505SC_eo_tel_list_EKK0191B001CBSMsg1List = bean[0].getDataBeanArray(FUW10601SFConst.EO_TEL_LIST);
//		childList = null;
//		if (listFUSV021505SC_eo_tel_list_EKK0191B001CBSMsg1List != null && parentMap != null && parentMap.containsKey(EKK0191B001CBSMSG1LIST))
//		{
//			childList = (ArrayList)parentMap.get(EKK0191B001CBSMSG1LIST);
//
//			for (int i = 0; i < childList.size(); i++)
//			{
//				X31SDataBeanAccess subbean = null;
//
//				if (listFUSV021505SC_eo_tel_list_EKK0191B001CBSMsg1List.getCount() - 1 >= i)
//				{
//					subbean = listFUSV021505SC_eo_tel_list_EKK0191B001CBSMsg1List.getDataBean(i);
//				}
//				else
//				{
//					subbean = listFUSV021505SC_eo_tel_list_EKK0191B001CBSMsg1List.addDataBean();
//				}
//
//				HashMap childMap = (HashMap)childList.get(i);
//
//				if (subbean == null)
//				{
//					continue;
//				}
//
//				if (childMap == null)
//				{
//					continue;
//				}
//
//				// ｅｏ電話情報一覧.サービス契約内訳番号
//				// 		← サービス契約内訳＜eo光電話＞一覧照会マップ.サービス契約内訳＜eo光電話＞一覧照会（サービス契約番号）明細.サービス契約内訳番号
//				subbean.sendMessageString(FUW10601SFConst.SVC_KEI_UCWK_NO_05, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap
//						.get("svc_kei_ucwk_no"));
//
//				// ｅｏ電話情報一覧.電話番号 ← サービス契約内訳＜eo光電話＞一覧照会マップ.サービス契約内訳＜eo光電話＞一覧照会（サービス契約番号）明細.電話番号
//
//				subbean.sendMessageString(FUW10601SFConst.TELNO_05, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("telno"));
//
//				// ｅｏ電話情報一覧.ＶＡポート番号
//				// 		← サービス契約内訳＜eo光電話＞一覧照会マップ.サービス契約内訳＜eo光電話＞一覧照会（サービス契約番号）明細.VAポート番号
//
//				subbean.sendMessageString(FUW10601SFConst.VA_PORT_NO_05, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("va_port_no"));
//
//				// ｅｏ電話情報一覧.ＮＴＴ番号案内有無
//				// 		← サービス契約内訳＜eo光電話＞一覧照会マップ.サービス契約内訳＜eo光電話＞一覧照会（サービス契約番号）明細.NTT番号案内有無
//
//				subbean.sendMessageString(FUW10601SFConst.NTT_NO_GUIDE_UM_05, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap
//						.get("ntt_no_guide_um"));
//
//				// ｅｏ電話情報一覧.電話オプション設定用リモート操作用パスワード
//				// 		← サービス契約内訳＜eo光電話＞一覧照会マップ.サービス契約内訳＜eo光電話＞一覧照会（サービス契約番号）明細.電話オプション設定用リモート操作用パスワード
//
//				subbean.sendMessageString(FUW10601SFConst.TEL_OP_SETTE_RMTS_PWD_05, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap
//						.get("tel_op_sette_rmts_pwd"));
//			}
//		}
//
		return bean;

	}

	/**
	 * 下りマッピング
	 *
	 * <br>
	 * @param bean 登録証照会
	 * @param outputMap
	 * @return X31SDataBeanAccess
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getFUSV021501CC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{
		HashMap parentMap = null;
		if (outputMap.containsKey(FUSV021501CC))
		{
			parentMap = (HashMap)outputMap.get(FUSV021501CC);
		}

		String nttors_div = JFUStrConst.EMPTY;
		if (parentMap != null && parentMap.size() > 0)
		{
			nttors_div = JFUWebCommon.nvl((String)parentMap.get("nttors_div"), JFUStrConst.EMPTY);
		}
		// 
		{
			X31SDataBeanAccessArray list = bean[0].getDataBeanArray(FUW10601SFConst.DTL_USE_PLC);
			list.clearArray();
			X31SDataBeanAccess subbean = list.addDataBean();

			// 詳細＿利用場所住所（郵便番号） ← サービス契約回線内訳一意照会マップ.回線場所郵便番号
			subbean.sendMessageString(FUW10601SFConst.PCD_04, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("kaisen_place_pcd"));

			// 詳細＿利用場所住所（都道府県） ← サービス契約回線内訳一意照会マップ.回線場所都道府県名
			subbean.sendMessageString(FUW10601SFConst.RIYOBASYO_STATE_NM_04, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap
					.get("kaisen_place_state_nm"));

			// 詳細＿利用場所住所（市区町村） ← サービス契約回線内訳一意照会マップ.回線場所市区町村名
			subbean.sendMessageString(FUW10601SFConst.RIYOBASYO_CITY_NM_04, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap
					.get("kaisen_place_city_nm"));

			// 詳細＿利用場所住所（大字通称） ← サービス契約回線内訳一意照会マップ.回線場所大字通称名
			subbean.sendMessageString(FUW10601SFConst.RIYOBASYO_OAZTSU_NM_04, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap
					.get("kaisen_place_oaztsu_nm"));

			// 詳細＿利用場所住所（字丁目） ← サービス契約回線内訳一意照会マップ.回線場所字丁目名
			subbean.sendMessageString(FUW10601SFConst.RIYOBASYO_AZCHO_NM_04, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap
					.get("kaisen_place_azcho_nm"));

			// 詳細＿利用場所住所（番地・号） ← サービス契約回線内訳一意照会マップ.回線場所番地号
			subbean.sendMessageString(FUW10601SFConst.RIYOBASYO_BNCHIGO_04, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap
					.get("kaisen_place_bnchigo"));

			// 詳細＿利用場所住所（建物名） ← サービス契約回線内訳一意照会マップ.回線場所住所補記・建物名
			subbean.sendMessageString(FUW10601SFConst.RIYOBASYO_ADRTTM_04, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap
					.get("kaisen_place_adrttm"));

			// 詳細＿利用場所住所（部屋番号） ← サービス契約回線内訳一意照会マップ.回線場所住所補記・部屋番号
			subbean.sendMessageString(FUW10601SFConst.RIYOBASYO_ADRRM_04, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap
					.get("kaisen_place_adrrm"));
		}
		
		// 
		{
			X31SDataBeanAccessArray list = bean[0].getDataBeanArray(FUW10601SFConst.TCHISHO_UW_LIST);
			list.clearArray();
			X31SDataBeanAccess subbean = list.addDataBean();
	
//			// 通知書内訳一覧.通知書内訳番号 ← 通知書内訳一覧照会マップ.通知書内訳一覧照会明細.通知書内訳番号
//			subbean.sendMessageString(FUW10601SFConst.TCHISHO_UW_NO_03, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("tchisho_uw_no"));
//	
//			// 通知書内訳一覧.通知書内訳識別コード ← 通知書内訳一覧照会マップ.通知書内訳一覧照会明細.通知書内訳識別コード
//			subbean.sendMessageString(FUW10601SFConst.TCHISHO_UCWK_SBT_CD_03, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap
//					.get("tchisho_ucwk_sbt_cd"));
//	
//			// 通知書内訳一覧.料金グループコード ← 通知書内訳一覧照会マップ.料金グループコード
//			subbean.sendMessageString(FUW10601SFConst.PRC_GRP_CD_03, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("prc_grp_cd"));
	
			// 通知書内訳一覧.利用開始年月日 ← 通知書内訳一覧照会マップ.利用開始年月日
			subbean.sendMessageString(FUW10601SFConst.USE_STAYMD_03, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("use_staymd"));
	
			// 通知書内訳一覧.ADSL利用開始年月日 ← 通知書内訳一覧照会マップ.ADSL利用開始年月日
			subbean.sendMessageString(FUW10601SFConst.ADSL_USE_STAYMD_03, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("adsl_use_staymd"));
	
			// ●通知書内訳一覧.メールアドレス ← メールアドレス
			subbean.sendMessageString(FUW10601SFConst.MLAD_03, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("mlad"));
	
			// ●通知書内訳一覧.ＰＯＰＩＤパスワード ← メールアドレスパスワード
			subbean.sendMessageString(FUW10601SFConst.POP_ID_PWD_03, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("pop_id_pwd"));
	
			if (JFUWebCommon.isNull(nttors_div)) {
				// ＮＴＴ卸以外
				// ●通知書内訳一覧.ＷｅｂＩＤ ← 通知書内訳一覧照会マップ.通知書内訳一覧照会明細.WebID
				subbean.sendMessageString(FUW10601SFConst.WEB_ID_03, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("web_id"));
			
				// ●通知書内訳一覧.ＷｅｂＩＤパスワード ← 通知書内訳一覧照会マップ.通知書内訳一覧照会明細.WebIDパスワード
				subbean.sendMessageString(FUW10601SFConst.WEB_ID_PWD_03, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("web_id_pwd"));
			} else {
				// ＮＴＴ卸
				// ●通知書内訳一覧.ＷｅｂＩＤ ← 通知書内訳一覧照会マップ.通知書内訳一覧照会明細.WebID
				subbean.sendMessageString(FUW10601SFConst.WEB_ID_03, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
		
				// ●通知書内訳一覧.ＷｅｂＩＤパスワード ← 通知書内訳一覧照会マップ.通知書内訳一覧照会明細.WebIDパスワード
				subbean.sendMessageString(FUW10601SFConst.WEB_ID_PWD_03, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
			}

			// ●通知書内訳一覧.ＩＥＥＥ８０２．１Ｘ用ＳＳＩＤ ← SSID_IEEE801.1X
			subbean.sendMessageString(FUW10601SFConst.IEEE802_1X_SSID_03, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("ieee802_1x_ssid"));
	
			// ●通知書内訳一覧.ＷＰＡ２．ＡＥＳ用ＳＳＩＤ ← SSID_WPA2_AES
			subbean.sendMessageString(FUW10601SFConst.WPA2_AES_SSID_03, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("wpa2_aes_ssid"));
	
			// ●通知書内訳一覧.ＷＥＰ用ＳＳＩＤ ← SSID_WEP
			subbean.sendMessageString(FUW10601SFConst.WEP_SSID_03, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("wep_ssid"));
	
			// ●通知書内訳一覧.ＷＥＰキー ← SSID_暗号化キー
			subbean.sendMessageString(FUW10601SFConst.WEP_KEY_03, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("wep_key"));
	
			if (JFUWebCommon.isNull(nttors_div)) {
				// ＮＴＴ卸以外
				// ●通知書内訳一覧.認証ＩＤ ← 認証ID
				subbean.sendMessageString(FUW10601SFConst.NINSHO_ID_03, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("ninsho_id"));
		
				// ●通知書内訳一覧.認証ＩＤパスワード ← 通知書内訳一覧照会マップ.通知書内訳一覧照会明細.認証IDパスワード
				subbean.sendMessageString(FUW10601SFConst.NINSHO_ID_PWD_03, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("ninsho_id_pwd"));
			} else {
				// ＮＴＴ卸
				// ●通知書内訳一覧.認証ＩＤ ← 認証ID
				subbean.sendMessageString(FUW10601SFConst.NINSHO_ID_03, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
		
				// ●通知書内訳一覧.認証ＩＤパスワード ← 通知書内訳一覧照会マップ.通知書内訳一覧照会明細.認証IDパスワード
				subbean.sendMessageString(FUW10601SFConst.NINSHO_ID_PWD_03, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
			}

			// 通知書内訳一覧.電話オプション設定用リモート操作用パスワード
			// 					← 通知書内訳一覧照会マップ.通知書内訳一覧照会明細.電話オプション設定用リモート操作用パスワード
			subbean.sendMessageString(FUW10601SFConst.TEL_OP_SETTE_RMTS_PWD_03, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap
					.get("tel_op_sette_rmts_pwd"));
	
			// ●通知書内訳一覧.初期ｅｏＩＤ ← 初期eoID(初期値)
			subbean.sendMessageString(FUW10601SFConst.SHK_EOID_03, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("shk_eoid"));
	
			// ●通知書内訳一覧.初期ｅｏＩＤパスワード ← 初期eoID(パスワード)
			subbean.sendMessageString(FUW10601SFConst.SHK_EOID_PWD_03, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("shk_eoid_pwd"));
	
			// ●通知書内訳一覧.ｅｏＩＤ ← eoID
			subbean.sendMessageString(FUW10601SFConst.EOID_03, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("eoid"));
	
			// ●通知書内訳一覧.家族入会コード ← ファミリーコード
			subbean.sendMessageString(FUW10601SFConst.FAMILY_JOIN_CD_03, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("family_join_cd"));
	
			// ●通知書内訳一覧.家族入会コードパスワード ← ファミリーコードパスワード
			subbean.sendMessageString(FUW10601SFConst.FAMILY_JOIN_CD_PWD_03, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("family_join_cd_pwd"));
	
			// ●通知書内訳一覧.通知書印字名 ← 通知書内訳一覧照会マップ.通知書印字名
			subbean.sendMessageString(FUW10601SFConst.TCHISHO_PRT_NM_03, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("tchisho_prt_nm"));

			// ○通知書内訳一覧.通知書印字名 ← 通知書内訳一覧照会マップ.通知書印字名
			subbean.sendMessageString(FUW10601SFConst.TCHISHO_PRT_NM_ADSL_03, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("tchisho_prt_nm_adsl"));

			// ○通知書内訳一覧.通知書印字名 ← 通知書内訳一覧照会マップ.通知書印字名
			subbean.sendMessageString(FUW10601SFConst.TCHISHO_PRT_NM_MOBILE_03, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("tchisho_prt_nm_mobile"));

			// ○通知書内訳一覧.通知書印字名 ← 通知書内訳一覧照会マップ.通知書印字名
			subbean.sendMessageString(FUW10601SFConst.TCHISHO_PRT_NM_TV_03, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("tchisho_prt_nm_tv"));

		}

		{
			X31SDataBeanAccessArray eoTelList = bean[0].getDataBeanArray(FUW10601SFConst.EO_TEL_LIST);
	
			eoTelList.clearArray();
			
			String svcKeiUcwkNo1 = (String)parentMap.get("svc_kei_ucwk_no_1");
			
			if (!JFUCommonUtil.isNull(svcKeiUcwkNo1)) {
				X31SDataBeanAccess subbeanTel1 = eoTelList.addDataBean();
		
				// ｅｏ電話情報一覧.サービス契約内訳番号 ← 
				subbeanTel1.sendMessageString(FUW10601SFConst.SVC_KEI_UCWK_NO_05, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("svc_kei_ucwk_no_1"));
		
				// ｅｏ電話情報一覧.電話番号 ← 
				subbeanTel1.sendMessageString(FUW10601SFConst.TELNO_05, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("telno_1"));
		
				// ｅｏ電話情報一覧.ＶＡポート番号 ← 
				subbeanTel1.sendMessageString(FUW10601SFConst.VA_PORT_NO_05, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("va_port_no_1"));
		
				// ｅｏ電話情報一覧.ＮＴＴ番号案内有無 ← 
				subbeanTel1.sendMessageString(FUW10601SFConst.NTT_NO_GUIDE_UM_05, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("ntt_no_guide_um_1"));
		
				// ｅｏ電話情報一覧.電話オプション設定用リモート操作用パスワード ← 
				subbeanTel1.sendMessageString(FUW10601SFConst.TEL_OP_SETTE_RMTS_PWD_05, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap
						.get("tel_op_sette_rmts_pwd_1"));
			}

			String svcKeiUcwkNo2 = (String)parentMap.get("svc_kei_ucwk_no_2");
			
			if (!JFUCommonUtil.isNull(svcKeiUcwkNo2)) {
				X31SDataBeanAccess subbeanTel1 = eoTelList.addDataBean();
		
				// ｅｏ電話情報一覧.サービス契約内訳番号 ← 
				subbeanTel1.sendMessageString(FUW10601SFConst.SVC_KEI_UCWK_NO_05, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("svc_kei_ucwk_no_2"));
		
				// ｅｏ電話情報一覧.電話番号 ← 
				subbeanTel1.sendMessageString(FUW10601SFConst.TELNO_05, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("telno_2"));
		
				// ｅｏ電話情報一覧.ＶＡポート番号 ← 
				subbeanTel1.sendMessageString(FUW10601SFConst.VA_PORT_NO_05, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("va_port_no_2"));
		
				// ｅｏ電話情報一覧.ＮＴＴ番号案内有無 ← 
				subbeanTel1.sendMessageString(FUW10601SFConst.NTT_NO_GUIDE_UM_05, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("ntt_no_guide_um_2"));
		
				// ｅｏ電話情報一覧.電話オプション設定用リモート操作用パスワード ← 
				subbeanTel1.sendMessageString(FUW10601SFConst.TEL_OP_SETTE_RMTS_PWD_05, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap
						.get("tel_op_sette_rmts_pwd_2"));
			}
}
		
		return bean;
	}

}
