/*********************************************************************
*	All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名		：eo顧客基幹システム
*	モジュール名	：FUSV0316_FUSV0316OPDBMapper
*	ソースファイル名：FUSV0316_FUSV0316OPDBMapper.java
*	作成者			：FJ
*	日付			：2018年05月14日
*＜機能概要＞
*	BP（支払方法変更受付(開通前初期表示)）へのＤ−Ｂマッピングクラスです。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*   v37.00      2018/05/14	FJ) 岡井    【ANK-3119-00-00】開通前でもＷｅｂから支払方法を変更可能とする
*   v41.00      2019/03/12	FJ) 岡井    【ANK-3577-00-00】アンケートWeb化対応
*   v45.00      2019/09/03	FJ) 岡井    【ANK-3551-00-00】クレカ有効性NG時の支払方法変更対応
**********************************************************************/
package eo.web.webview.mapping;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;

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.JZMFormatForMask;
import eo.web.webview.CommonInfoCF.CommonInfoCFConst;
import eo.web.webview.FUW00701SF.FUW00701SFConst;
import eo.web.webview.common.JFUWebCommon;

/**
 * DataBean-BPマッピングをする。
 * @author FJ
 *
 */
public class FUSV0316_FUSV0316OPDBMapper
{

	/** 開通前支払方法変更ログインチェックCC */
	private static final String FUSV031601CC = "FUSV031601CC";
	/** 開通前支払方法変更関連チェックCC */
	private static final String FUSV031602CC = "FUSV031602CC";
	/** 初期費用一覧照会CC */
	private static final String FUSV031603CC = "FUSV031603CC";

	/** 同一請求先照会SC */
	private static final String FUSV031601SC = "FUSV031601SC";
	/** 請求契約一意照会SC */
	private static final String FUSV031602SC = "FUSV031602SC";
	/** 請求抑止一意照会SC */
	private static final String FUSV031603SC = "FUSV031603SC";
	/** 口座一意照会SC */
	private static final String FUSV031604SC = "FUSV031604SC";
	/** クレジットカード一意照会SC */
	private static final String FUSV031605SC = "FUSV031605SC";
	/** クレジットカード会社一覧照会SC */
	private static final String FUSV031606SC = "FUSV031606SC";
	/** 異動予約一覧照会SC */
	private static final String FUSV031607SC = "FUSV031607SC";
	/** マンション物件一意照会SC */
	private static final String FUSV031608SC = "FUSV031608SC";
	/** 課金先一覧照会（請求契約番号/サービス契約番号）SC */
	private static final String FUSV031609SC = "FUSV031609SC";
	/** 金融機関一意照会SC */
	private static final String FUSV031610SC = "FUSV031610SC";
	/** 業務パラメータ管理一意照会SC */
	private static final String FUSV031611SC = "FUSV031611SC";

	/** 機能コード */
	private static final String FUNC_CODE = "func_code";

	/** 申込番号 */
	private static final String IN_MSKM_NO = "in_mskm_no";
	/** 電話番号 */
	private static final String IN_TEL_NO = "in_tel_no";
	/** IN：口座振替受付画面遷移フラグ */
	private static final String IN_KOUFURI_TRANS_FLG = "in_koufuri_trans_flg";
	/** 申込可能料金グループコード */
	private static final String IN_MSKM_OK_PRC_GRP_CD = "in_mskm_ok_prc_grp_cd";
	/** 申込可能サービス契約ステータス */
	private static final String IN_MSKM_OK_SVC_KEI_STAT = "in_mskm_ok_svc_kei_stat";

	/** 請求契約番号 */
	private static final String SEIKY_KEI_NO = "seiky_kei_no";
	/** サービス契約番号 */
	private static final String SVC_KEI_NO = "svc_kei_no";
	/** 課金先番号 */
	private static final String KAKINS_NO = "kakins_no";
	/** KEY_金融機関コード */
	private static final String KEY_BANK_CD = "key_bank_cd";
	/** KEY_金融機関支店コード */
	private static final String KEY_BANK_SHITEN_CD = "key_bank_shiten_cd";
	/** 金融機関名 */
	private static final String BANK_NM = "bank_nm";
	/** 金融機関支店名 */
	private static final String BANK_SHITEN_NM = "bank_shiten_nm";
	/** クレジットカード事業コード */
	private static final String CRECARD_JIGYO_CD = "crecard_jigyo_cd";
	/** 異動予約詳細コード */
	private static final String KEY_IDO_RSV_DTL_CD = "key_ido_rsv_dtl_cd";

	/** 課金先一覧照会明細 */
	private static final String EKK0321B002LIST = "EKK0321B002CBSMsg1List";
	/** 金融機関一意照会明細 */
	private static final String EKK0511A010LIST = "EKK0511A010CBSMsg1List";

	/** プロパティファイル取得文字列 */
	private static final String QUERY_PATH = "DISPSETTING/SETTING[@screenId='FUW00701']/DISPTEXT[@groupid='mskm_check']";
	/** 属性名 */
	private static final String QUERY_ATTR_NAME = "id";
	/** ID：MSKM_OK_PRC_GRP_CD */
	private static final String MSKM_OK_PRC_GRP_CD = "MSKM_OK_PRC_GRP_CD";
	/** ID：MSKM_OK_SVC_KEI_STAT */
	private static final String MSKM_OK_SVC_KEI_STAT = "MSKM_OK_SVC_KEI_STAT";

	/** 口座振替への画面遷移フラグ(口座振替からの戻りの処理) */
	private static final String KOUFURI_FLG_RET = "2";

	/**
	 * コンストラクタ
	 */
	public FUSV0316_FUSV0316OPDBMapper()
	{
	}

	/**
	 * 開通前支払方法変更ログインチェックCCの上りマッピングをします。
	 * <br>
	 * @param bean データBean
	 * @param outputMap マップ
	 * @return HashMap 結果マップ
	 */
	@SuppressWarnings("unchecked")
	public HashMap<String, Object> setFUSV031601CC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{
		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 申込番号(ログイン)
		parentMap.put(IN_MSKM_NO, bean[0].sendMessageString(FUW00701SFConst.MSKM_NO_LOGIN, X31CWebConst.DATABEAN_GET_VALUE));
		// 電話番号(ログイン)
		parentMap.put(IN_TEL_NO, bean[0].sendMessageString(FUW00701SFConst.TEL_NO_LOGIN, X31CWebConst.DATABEAN_GET_VALUE));
		// 口座振替受付画面遷移フラグ
		parentMap.put(IN_KOUFURI_TRANS_FLG, bean[0].sendMessageString(FUW00701SFConst.KOUFURI_TRANS_FLG, X31CWebConst.DATABEAN_GET_VALUE));

		if (KOUFURI_FLG_RET.equals(bean[0].sendMessageString(FUW00701SFConst.KOUFURI_TRANS_FLG, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			// 口座振替から戻りの場合は共有フォームBeanの値をアウトとして設定
			X31SDataBeanAccess webChgInfoBean = bean[1].getDataBeanArray(CommonInfoCFConst.WEB_CHG_INFO).getDataBean(0);
			X31SDataBeanAccess genCustKeiInfoBean = webChgInfoBean.getDataBeanArray(CommonInfoCFConst.GEN_CUST_KEI_INFO).getDataBean(0);
			X31SDataBeanAccess svcKeiInfoBean = genCustKeiInfoBean.getDataBeanArray(CommonInfoCFConst.SVC_KEI_INFO).getDataBean(0);
			X31SDataBeanAccess svcKeiKaisenUwInfoBean = svcKeiInfoBean.getDataBeanArray(CommonInfoCFConst.SVC_KEI_KAISEN_UCWK_INFO).getDataBean(0);

			// SYSID
			parentMap.put("out_sysid",
					genCustKeiInfoBean.sendMessageString(CommonInfoCFConst.SYSID_22, X31CWebConst.DATABEAN_GET_VALUE));
			// マンション物件番号
			parentMap.put("out_mansion_bukken_no",
					svcKeiKaisenUwInfoBean.sendMessageString(CommonInfoCFConst.MANSION_BUKKEN_NO_26, X31CWebConst.DATABEAN_GET_VALUE));
		}

		outputMap.put(FUSV031601CC, parentMap);

		return outputMap;
	}

	/**
	 * 支払方法変更受付関連チェックCCの上りマッピングをします。
	 * <br>
	 * @param bean データBean
	 * @param outputMap マップ
	 * @param func_code
	 * @return HashMap 結果マップ
	 */
	@SuppressWarnings("unchecked")
	public HashMap<String, Object> setFUSV031602CC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{
		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, func_code);
		// 申込番号(ログイン)
		parentMap.put(IN_MSKM_NO, bean[0].sendMessageString(FUW00701SFConst.MSKM_NO_LOGIN, X31CWebConst.DATABEAN_GET_VALUE));

		try
		{
			// 申込チェック用の定義を取得
			Map<String, String> chkMap = JFUWebCommon.getDispItemsAsMap(QUERY_PATH, QUERY_ATTR_NAME);

			// 申込可能料金グループコード
			parentMap.put(IN_MSKM_OK_PRC_GRP_CD, chkMap.get(MSKM_OK_PRC_GRP_CD));
			// 申込可能サービス契約ステータス
			parentMap.put(IN_MSKM_OK_SVC_KEI_STAT, chkMap.get(MSKM_OK_SVC_KEI_STAT));
		}
		catch (Exception e)
		{
			// エラー時は未設定とする

			// 申込可能料金グループコード
			parentMap.put(IN_MSKM_OK_PRC_GRP_CD, JFUStrConst.EMPTY);
			// 申込可能サービス契約ステータス
			parentMap.put(IN_MSKM_OK_SVC_KEI_STAT, JFUStrConst.EMPTY);
		}

		outputMap.put(FUSV031602CC, parentMap);

		return outputMap;
	}

	/**
	 * 同一請求先照会SCの上りマッピングをします。
	 * <br>
	 * @param bean [0]：支払方法変更受付　[1]：共有フォームビーン
	 * @param outputMap
	 * @param func_code 機能コード
	 * @return HashMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV031601SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{

		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, func_code);

		outputMap.put(FUSV031601SC, parentMap);

		return outputMap;
	}

	/**
	 * 請求契約一意照会SCの上りマッピングをします。
	 * <br>
	 * @param bean [0]：支払方法変更受付　[1]：共有フォームビーン
	 * @param outputMap
	 * @param func_code 機能コード
	 * @return HashMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV031602SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{

		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, func_code);

		outputMap.put(FUSV031602SC, parentMap);

		return outputMap;
	}

	/**
	 * 請求抑止一覧照会（口座番号表示抑止制御）SCの上りマッピングをします。
	 * <br>
	 * @param bean [0]：支払方法変更受付　[1]：共有フォームビーン
	 * @param outputMap
	 * @param func_code 機能コード
	 * @return HashMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV031603SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{

		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, func_code);

		outputMap.put(FUSV031603SC, parentMap);

		return outputMap;
	}

	/**
	 * 口座一意照会SCの上りマッピングをします。
	 * <br>
	 * @param bean [0]：支払方法変更受付　[1]：共有フォームビーン
	 * @param outputMap
	 * @param func_code 機能コード
	 * @return HashMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV031604SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{

		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, func_code);

		outputMap.put(FUSV031604SC, parentMap);

		return outputMap;
	}

	/**
	 * クレジットカード一意照会SCの上りマッピングをします。
	 * <br>
	 * @param bean [0]：支払方法変更受付　[1]：共有フォームビーン
	 * @param outputMap
	 * @param func_code 機能コード
	 * @return HashMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV031605SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{

		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, func_code);

		outputMap.put(FUSV031605SC, parentMap);

		return outputMap;
	}

	/**
	 * クレジットカード会社一覧照会SCの上りマッピングをします
	 * <br>
	 * @param bean [0]：支払方法変更受付　[1]：共有フォームビーン
	 * @param outputMap
	 * @param func_code 機能コード
	 * @return HashMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV031606SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{

		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, func_code);

		// クレジットカード事業コード → クレジットカード会社一覧照会マップ.クレジットカード事業コード
		parentMap.put(CRECARD_JIGYO_CD, bean[0].sendMessageString(FUW00701SFConst.CRECARD_JIGYO_CD, X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put(FUSV031606SC, parentMap);

		return outputMap;
	}

	/**
	 * 異動予約一覧照会SCの上りマッピングをします。
	 * <br>
	 * @param bean [0]：支払方法変更受付　[1]：共有フォームビーン
	 * @param outputMap
	 * @param func_code 機能コード
	 * @return HashMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV031607SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{

		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, func_code);

		// 異動予約詳細コード → 異動予約一覧照会マップ.ＫＥＹ＿異動予約詳細コード
		parentMap.put(KEY_IDO_RSV_DTL_CD, bean[0].sendMessageString("異動予約詳細コード", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put(FUSV031607SC, parentMap);

		return outputMap;
	}

	/**
	 * マンション物件一意照会SCの上りマッピングをします。
	 * <br>
	 * @param bean　[0]：支払方法変更受付　[1]：共有フォームビーン
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return outputMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV031608SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{

		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		//マンション物件番号が設定されていない場合は実行しない
		if (JFUStrConst.EMPTY.equals(bean[0].sendMessageString("マンション物件番号", X31CWebConst.DATABEAN_GET_VALUE).trim()))
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, func_code);

		outputMap.put(FUSV031608SC, parentMap);

		return outputMap;
	}

	/**
	 * 課金先一覧照会（請求契約番号/サービス契約番号）SCの上りマッピングをします。
	 * <br>
	 * @param bean　[0]：支払方法変更受付　[1]：共有フォームビーン
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return outputMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV031609SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{

		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, func_code);

		outputMap.put(FUSV031609SC, parentMap);

		return outputMap;
	}

	/**
	 * 金融機関一意照会SCの上りマッピングをします。
	 * <br>
	 * @param bean　[0]：支払方法変更受付　[1]：共有フォームビーン
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return outputMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV031610SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{

		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, func_code);

		// 変更後の銀行コード → 金融機関一意照会マップ.ＫＥＹ＿金融機関コード
		parentMap.put(KEY_BANK_CD, bean[0].sendMessageString(FUW00701SFConst.CHAF_BANK_CD, X31CWebConst.DATABEAN_GET_VALUE));
		// 変更後の支店コード → 金融機関一意照会マップ.ＫＥＹ＿金融機関支店コード
		parentMap.put(KEY_BANK_SHITEN_CD, bean[0].sendMessageString(FUW00701SFConst.CHAF_BRANCH_CD, X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put(FUSV031610SC, parentMap);

		return outputMap;
	}

	/**
	 * 初期費用一覧照会CCの上りマッピングをします。
	 * <br>
	 * @param bean
	 * @param outputMap
	 * @return HashMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap<String, Object> setFUSV031603CC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{
		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		outputMap.put(FUSV031603CC, parentMap);

		return outputMap;
	}

	/**
	 * 業務パラメータ管理一意照会SCの上りマッピングをします。
	 * <br>
	 * @param bean [0]：支払方法変更受付　[1]：共有フォームビーン
	 * @param outputMap
	 * @param func_code 機能コード
	 * @return HashMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV031611SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{

		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, func_code);

		outputMap.put(FUSV031611SC, parentMap);

		return outputMap;
	}

	/**
	 * 開通前支払方法変更ログインチェックCCの下りマッピングをします。
	 * <br>
	 * @param bean [0]：支払方法変更受付　[1]：共有フォームビーン
	 * @param outputMap
	 * @return X31SDataBeanAccess[]
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getFUSV031601CC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{
		HashMap parentMap = null;
		if (outputMap.containsKey("FUSV031601CC"))
		{
			parentMap = (HashMap)outputMap.get("FUSV031601CC");
		}

		// SYSID
		if (parentMap != null && !JFUWebCommon.isNull((String)parentMap.get("out_sysid")))
		{
			bean[0].sendMessageString(FUW00701SFConst.SYSID, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("out_sysid"));
		}

		// 契約者タイプコード
		if (parentMap != null && !JFUWebCommon.isNull((String)parentMap.get("out_keisha_type_cd")))
		{
			bean[0].sendMessageString(FUW00701SFConst.KEISHA_TYPE_CD, X31CWebConst.DATABEAN_SET_VALUE,
					(String)parentMap.get("out_keisha_type_cd"));
		}

		// マンション物件番号
		if (parentMap != null && !JFUWebCommon.isNull((String)parentMap.get("out_mansion_bukken_no")))
		{
			bean[0].sendMessageString(FUW00701SFConst.MANSION_BUKKEN_NO, X31CWebConst.DATABEAN_SET_VALUE,
					(String)parentMap.get("out_mansion_bukken_no"));
		}

		// アンケート用受付番号(申込書番号)
		if (parentMap != null && !JFUWebCommon.isNull((String)parentMap.get("out_uk_no")))
		{
			bean[0].sendMessageString(FUW00701SFConst.ANQ_UK_NO, X31CWebConst.DATABEAN_SET_VALUE,
					(String)parentMap.get("out_uk_no"));
		}

		return bean;
	}

	/**
	 * 開通前支払方法変更関連チェックCCの下りマッピングをします。
	 * <br>
	 * @param bean [0]：支払方法変更受付　[1]：共有フォームビーン
	 * @param outputMap
	 * @return X31SDataBeanAccess[]
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getFUSV031602CC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{
		HashMap parentMap = null;
		if (outputMap.containsKey("FUSV031602CC"))
		{
			parentMap = (HashMap)outputMap.get("FUSV031602CC");
		}

		// 請求契約番号
		if (parentMap != null && !JFUWebCommon.isNull((String)parentMap.get("out_seiky_kei_no")))
		{
			bean[0].sendMessageString(FUW00701SFConst.SEIKY_KEI_NO, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("out_seiky_kei_no"));
		}

		// 請求方法コード
		if (parentMap != null && !JFUWebCommon.isNull((String)parentMap.get("out_seiky_way_cd")))
		{
			bean[0].sendMessageString(FUW00701SFConst.NOW_SEIKY_WAY_CD, X31CWebConst.DATABEAN_SET_VALUE,
					(String)parentMap.get("out_seiky_way_cd"));
		}

		// お客様名
		if (parentMap != null && !JFUWebCommon.isNull((String)parentMap.get("out_cust_nm")))
		{
			bean[0].sendMessageString(FUW00701SFConst.KEI_CUST_NM, X31CWebConst.DATABEAN_SET_VALUE,
					(String)parentMap.get("out_cust_nm"));
		}

		// お客様名カナ
		if (parentMap != null && !JFUWebCommon.isNull((String)parentMap.get("out_cust_nm_kana")))
		{
			bean[0].sendMessageString(FUW00701SFConst.KEI_CUST_NM_KANA, X31CWebConst.DATABEAN_SET_VALUE,
					(String)parentMap.get("out_cust_nm_kana"));
		}

		return bean;
	}

	/**
	 * 同一請求先照会SCの下りマッピングをします。
	 * <br>
	 * @param bean [0]：支払方法変更受付　[1]：共有フォームビーン
	 * @param outputMap
	 * @return X31SDataBeanAccess[]
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getFUSV031601SC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{

		HashMap parentMap = null;
		if (outputMap.containsKey("FUSV031601SC"))
		{
			parentMap = (HashMap)outputMap.get("FUSV031601SC");
		}

		ArrayList childList = null;

		X31SDataBeanAccessArray listFUSV031601SC_doit_seiky_syki_lst_EKK0321B501CBSMsg1List = bean[0].getDataBeanArray("同一請求先照会リスト");
		childList = null;
		if (listFUSV031601SC_doit_seiky_syki_lst_EKK0321B501CBSMsg1List != null && parentMap != null
				&& parentMap.containsKey("EKK0321B501CBSMsg1List"))
		{
			childList = (ArrayList)parentMap.get("EKK0321B501CBSMsg1List");

			for (int i = 0; i < childList.size(); i++)
			{
				X31SDataBeanAccess subbean = null;
				if (listFUSV031601SC_doit_seiky_syki_lst_EKK0321B501CBSMsg1List.getCount() - 1 >= i)
				{
					subbean = listFUSV031601SC_doit_seiky_syki_lst_EKK0321B501CBSMsg1List.getDataBean(i);
				}
				else
				{
					subbean = listFUSV031601SC_doit_seiky_syki_lst_EKK0321B501CBSMsg1List.addDataBean();
				}
				HashMap childMap = (HashMap)childList.get(i);
				if (subbean == null)
				{
					continue;
				}

				// 同一請求先照会リスト.お客様ステータス ← 同一請求先照会マップ.同一請求先照会明細.お客様ステータス
				if (childMap != null)
				{
					subbean.sendMessageString("お客様ステータス", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("cust_stat"));
				}
				else
				{
					subbean.sendMessageString("お客様ステータス", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 同一請求先照会リスト.お客様名 ← 同一請求先照会マップ.同一請求先照会明細.お客様名
				if (childMap != null)
				{
					subbean.sendMessageString("お客様名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("cust_nm"));
				}
				else
				{
					subbean.sendMessageString("お客様名", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 同一請求先照会リスト.サービス契約番号 ← 同一請求先照会マップ.同一請求先照会明細.サービス契約番号
				if (childMap != null)
				{
					subbean.sendMessageString("サービス契約番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("svc_kei_no"));
				}
				else
				{
					subbean.sendMessageString("サービス契約番号", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 同一請求先照会リスト.料金グループコード ← 同一請求先照会マップ.同一請求先照会明細.料金グループコード
				if (childMap != null)
				{
					subbean.sendMessageString("料金グループコード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("prc_grp_cd"));
				}
				else
				{
					subbean.sendMessageString("料金グループコード", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
			}
		}

		return bean;
	}

	/**
	 * 請求契約一意照会SCの下りマッピングをします。
	 * <br>
	 * @param bean [0]：支払方法変更受付　[1]：共有フォームビーン
	 * @param outputMap
	 * @return X31SDataBeanAccess[]
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getFUSV031602SC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{

		HashMap parentMap = null;
		if (outputMap.containsKey("FUSV031602SC"))
		{
			parentMap = (HashMap)outputMap.get("FUSV031602SC");
		}

		ArrayList childList = null;

		X31SDataBeanAccessArray listFUSV031602SC_seiky_kei_lst_EKK0491A010CBSMsg1List = bean[0].getDataBeanArray("請求契約リスト");
		childList = null;
		if (listFUSV031602SC_seiky_kei_lst_EKK0491A010CBSMsg1List != null && parentMap != null && parentMap.containsKey("EKK0491A010CBSMsg1List"))
		{
			childList = (ArrayList)parentMap.get("EKK0491A010CBSMsg1List");

			for (int i = 0; i < childList.size(); i++)
			{
				X31SDataBeanAccess subbean = null;
				if (listFUSV031602SC_seiky_kei_lst_EKK0491A010CBSMsg1List.getCount() - 1 >= i)
				{
					subbean = listFUSV031602SC_seiky_kei_lst_EKK0491A010CBSMsg1List.getDataBean(i);
				}
				else
				{
					subbean = listFUSV031602SC_seiky_kei_lst_EKK0491A010CBSMsg1List.addDataBean();
				}
				HashMap childMap = (HashMap)childList.get(i);
				if (subbean == null)
				{
					continue;
				}

				// 請求契約リスト.請求方法コード ← 請求契約一意照会マップ.請求契約一覧照会明細.請求方法コード
				if (childMap != null)
				{
					subbean.sendMessageString("請求方法コード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("seiky_way_cd"));
				}
				else
				{
					subbean.sendMessageString("請求方法コード", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 請求契約リスト.マンションオーナーＩＤ ← 請求契約一意照会マップ.請求契約一覧照会明細.マンションオーナーID
				if (childMap != null)
				{
					subbean.sendMessageString("マンションオーナーＩＤ", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("mansion_ownr_id"));
				}
				else
				{
					subbean.sendMessageString("マンションオーナーＩＤ", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 請求契約リスト.更新年月日時分秒 ← 請求契約一意照会マップ.請求契約一覧照会明細.更新年月日時分秒
				if (childMap != null)
				{
					subbean.sendMessageString("更新年月日時分秒", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("upd_dtm"));
				}
				else
				{
					subbean.sendMessageString("更新年月日時分秒", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 請求契約リスト.予約適用コード ← 請求契約一意照会マップ.請求契約一覧照会明細.予約適用コード
				if (childMap != null)
				{
					subbean.sendMessageString("予約適用コード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("rsv_aply_cd"));
				}
				else
				{
					subbean.sendMessageString("予約適用コード", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
			}
		}

		return bean;
	}

	/**
	 * 請求抑止一覧照会（口座番号表示抑止制御）SCの下りマッピングをします。
	 * <br>
	 * @param bean [0]：支払方法変更受付　[1]：共有フォームビーン
	 * @param outputMap
	 * @return X31SDataBeanAccess[]
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getFUSV031603SC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{

		HashMap parentMap = null;
		if (outputMap.containsKey("FUSV031603SC"))
		{
			parentMap = (HashMap)outputMap.get("FUSV031603SC");
		}

		ArrayList childList = null;

		X31SDataBeanAccessArray listFUSV031603SC_seiky_yks_EKK0541B502CBSMsg1List = bean[0].getDataBeanArray("請求抑止リスト");
		childList = null;
		if (listFUSV031603SC_seiky_yks_EKK0541B502CBSMsg1List != null && parentMap != null && parentMap.containsKey("EKK0541B502CBSMsg1List"))
		{
			childList = (ArrayList)parentMap.get("EKK0541B502CBSMsg1List");

			for (int i = 0; i < childList.size(); i++)
			{
				X31SDataBeanAccess subbean = null;
				if (listFUSV031603SC_seiky_yks_EKK0541B502CBSMsg1List.getCount() - 1 >= i)
				{
					subbean = listFUSV031603SC_seiky_yks_EKK0541B502CBSMsg1List.getDataBean(i);
				}
				else
				{
					subbean = listFUSV031603SC_seiky_yks_EKK0541B502CBSMsg1List.addDataBean();
				}
				HashMap childMap = (HashMap)childList.get(i);
				if (subbean == null)
				{
					continue;
				}

				// 請求抑止リスト.請求抑止コード ← 請求抑止一意照会マップ.請求抑止明細.請求抑止コード
				if (childMap != null)
				{
					subbean.sendMessageString("請求抑止コード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("seiky_yoksi_cd"));
				}
				else
				{
					subbean.sendMessageString("請求抑止コード", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
			}
		}

		return bean;
	}

	/**
	 * 口座一意照会SCの下りマッピングをします。
	 * <br>
	 * @param bean [0]：支払方法変更受付　[1]：共有フォームビーン
	 * @param outputMap
	 * @param seikyWayCd 請求方法コード
	 * @return X31SDataBeanAccess[]
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getFUSV031604SC(X31SDataBeanAccess[] bean, HashMap outputMap, String seikyWayCd)
	{

		HashMap parentMap = null;
		if (outputMap.containsKey("FUSV031604SC"))
		{
			parentMap = (HashMap)outputMap.get("FUSV031604SC");
		}

		ArrayList childList = null;

		X31SDataBeanAccessArray listFUSV031604SC_koza_lst_EKK0501A010CBSMsg1List = bean[0].getDataBeanArray("口座一意照会リスト");
		childList = null;
		if (listFUSV031604SC_koza_lst_EKK0501A010CBSMsg1List != null && parentMap != null && parentMap.containsKey("EKK0501A010CBSMsg1List"))
		{
			childList = (ArrayList)parentMap.get("EKK0501A010CBSMsg1List");

			for (int i = 0; i < childList.size(); i++)
			{
				X31SDataBeanAccess subbean = null;
				if (listFUSV031604SC_koza_lst_EKK0501A010CBSMsg1List.getCount() - 1 >= i)
				{
					subbean = listFUSV031604SC_koza_lst_EKK0501A010CBSMsg1List.getDataBean(i);
				}
				else
				{
					subbean = listFUSV031604SC_koza_lst_EKK0501A010CBSMsg1List.addDataBean();
				}
				HashMap childMap = (HashMap)childList.get(i);
				if (subbean == null)
				{
					continue;
				}

				// 口座一意照会リスト.請求方法番号（口座） ← 口座一意照会マップ.口座一意照会明細.請求方法番号（口座）
				if (childMap != null)
				{
					subbean.sendMessageString("請求方法番号（口座）", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("seiky_way_no_koza"));
				}
				else
				{
					subbean.sendMessageString("請求方法番号（口座）", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 口座一意照会リスト.金融機関コード ← 口座一意照会マップ.口座一意照会明細.金融機関コード
				if (childMap != null)
				{
					subbean.sendMessageString("金融機関コード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("bank_cd"));
				}
				else
				{
					subbean.sendMessageString("金融機関コード", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 口座一意照会リスト.金融機関コード名 ← 口座一意照会マップ.口座一意照会明細.金融機関コード名
				if (childMap != null)
				{
					subbean.sendMessageString("金融機関コード名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("bank_cd_nm"));
				}
				else
				{
					subbean.sendMessageString("金融機関コード名", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 口座一意照会リスト.金融機関支店コード ← 口座一意照会マップ.口座一意照会明細.金融機関支店コード
				if (childMap != null)
				{
					subbean.sendMessageString("金融機関支店コード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("bank_shiten_cd"));
				}
				else
				{
					subbean.sendMessageString("金融機関支店コード", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 口座一意照会リスト.金融機関支店コード名 ← 口座一意照会マップ.口座一意照会明細.金融機関支店コード名
				if (childMap != null)
				{
					subbean.sendMessageString("金融機関支店コード名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("bank_shiten_cd_nm"));
				}
				else
				{
					subbean.sendMessageString("金融機関支店コード名", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 口座一意照会リスト.預金種目コード ← 口座一意照会マップ.口座一意照会明細.預金種目コード
				if (childMap != null)
				{
					subbean.sendMessageString("預金種目コード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("yokin_shumoku_cd"));
				}
				else
				{
					subbean.sendMessageString("預金種目コード", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 口座一意照会リスト.預金種目コード名 ← 口座一意照会マップ.口座一意照会明細.預金種目コード名
				if (childMap != null)
				{
					subbean.sendMessageString("預金種目コード名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("yokin_shumoku_cd_nm"));
				}
				else
				{
					subbean.sendMessageString("預金種目コード名", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 口座一意照会リスト.口座番号 ← 口座一意照会マップ.口座一意照会明細.口座番号
				if (childMap != null)
				{
					StringBuffer payWayBuff = new StringBuffer();

					if (JFUStrConst.CD00166_3.equals(seikyWayCd))
					{
						// ゆうちょ
						payWayBuff.append(JFUStrConst.ASTERISK_HALF);
						payWayBuff.append(JZMFormatForMask.stdMask((String)childMap.get("tsucho_symbol"), true));
						payWayBuff.append(JFUStrConst.ASTERISK_HALF);
						payWayBuff.append(JFUStrConst.HALF_HAIHUN);
						payWayBuff.append(JZMFormatForMask.maskExcRight4((String)childMap.get("tsucho_no")));
					}
					else
					{
						// 口座振替
						payWayBuff.append(JZMFormatForMask.maskExcRight4((String)childMap.get("koza_no")));
					}

					subbean.sendMessageString("口座番号", X31CWebConst.DATABEAN_SET_VALUE, payWayBuff.toString());
				}
				else
				{
					subbean.sendMessageString("口座番号", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 口座一意照会リスト.口座名義人カナ名 ← 口座一意照会マップ.口座一意照会明細.口座名義人カナ名
				if (childMap != null)
				{
					subbean.sendMessageString("口座名義人カナ名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("koza_meigin_kana"));
				}
				else
				{
					subbean.sendMessageString("口座名義人カナ名", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 口座一意照会リスト.支払い審査結果コード ← 口座一意照会マップ.口座一意照会明細.支払い審査結果コード
				if (childMap != null)
				{
					subbean.sendMessageString("支払い審査結果コード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("pay_skekka_cd"));
				}
				else
				{
					subbean.sendMessageString("支払い審査結果コード", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
			}
		}

		return bean;
	}

	/**
	 * クレジットカード一意照会SCの下りマッピングをします。
	 * <br>
	 * @param bean [0]：支払方法変更受付　[1]：共有フォームビーン
	 * @param outputMap
	 * @return X31SDataBeanAccess[]
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getFUSV031605SC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{

		HashMap parentMap = null;
		if (outputMap.containsKey("FUSV031605SC"))
		{
			parentMap = (HashMap)outputMap.get("FUSV031605SC");
		}

		ArrayList childList = null;

		X31SDataBeanAccessArray listFUSV031605SC_crecard_syki_lst_EKK0521A010CBSMsg1List = bean[0].getDataBeanArray("クレジットカード一意照会リスト");
		childList = null;
		if (listFUSV031605SC_crecard_syki_lst_EKK0521A010CBSMsg1List != null && parentMap != null && parentMap.containsKey("EKK0521A010CBSMsg1List"))
		{
			childList = (ArrayList)parentMap.get("EKK0521A010CBSMsg1List");

			for (int i = 0; i < childList.size(); i++)
			{
				X31SDataBeanAccess subbean = null;
				if (listFUSV031605SC_crecard_syki_lst_EKK0521A010CBSMsg1List.getCount() - 1 >= i)
				{
					subbean = listFUSV031605SC_crecard_syki_lst_EKK0521A010CBSMsg1List.getDataBean(i);
				}
				else
				{
					subbean = listFUSV031605SC_crecard_syki_lst_EKK0521A010CBSMsg1List.addDataBean();
				}
				HashMap childMap = (HashMap)childList.get(i);
				if (subbean == null)
				{
					continue;
				}

				// クレジットカード一意照会リスト.クレジットカード会社コード
				//   ← クレジットカード一意照会マップ.クレジットカード一意照会明細.クレジットカード会社コード
				if (childMap != null)
				{
					subbean.sendMessageString("クレジットカード会社コード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("crecard_comp_cd"));
				}
				else
				{
					subbean.sendMessageString("クレジットカード会社コード", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// クレジットカード一意照会リスト.クレジットカード会社コード名
				//   ← クレジットカード一意照会マップ.クレジットカード一意照会明細.クレジットカード会社コード名称
				if (childMap != null)
				{
					subbean.sendMessageString("クレジットカード会社コード名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("crecard_comp_cd_nm"));
				}
				else
				{
					subbean.sendMessageString("クレジットカード会社コード名", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// クレジットカード一意照会リスト.クレジットカード番号 ← クレジットカード一意照会マップ.クレジットカード一意照会明細.クレジットカード番号
				if (childMap != null)
				{
					subbean.sendMessageString("クレジットカード番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("crecard_no"));
				}
				else
				{
					subbean.sendMessageString("クレジットカード番号", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// クレジットカード一意照会リスト.クレジットカード有効期限 ← クレジットカード一意照会マップ.クレジットカード一意照会明細.クレジットカード有効期限
				if (childMap != null)
				{
					subbean.sendMessageString("クレジットカード有効期限", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("crecard_yk_kigen"));
				}
				else
				{
					subbean.sendMessageString("クレジットカード有効期限", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// クレジットカード一意照会リスト.クレジットカード名義カナ名
				//   ← クレジットカード一意照会マップ.クレジットカード一意照会明細.クレジットカード名義カナ名
				if (childMap != null)
				{
					subbean.sendMessageString("クレジットカード名義カナ名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("crecard_nm_kana"));
				}
				else
				{
					subbean.sendMessageString("クレジットカード名義カナ名", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// クレジットカード一意照会リスト.クレジットカードステータス ← クレジットカード一意照会マップ.クレジットカード一意照会明細.クレジットカードステータス
				if (childMap != null)
				{
					subbean.sendMessageString("クレジットカードステータス", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("crecard_stat"));
				}
				else
				{
					subbean.sendMessageString("クレジットカードステータス", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// クレジットカード一意照会リスト.クレジットカード無効年月 ← クレジットカード一意照会マップ.クレジットカード一意照会明細.クレジットカード無効年月
				if (childMap != null)
				{
					subbean.sendMessageString("クレジットカード無効年月", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("creca_mk_ym"));
				}
				else
				{
					subbean.sendMessageString("クレジットカード無効年月", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
			}
		}

		return bean;
	}

	/**
	 * クレジットカード会社一覧照会SCの下りマッピングをします。
	 * <br>
	 * @param bean [0]：支払方法変更受付　[1]：共有フォームビーン
	 * @param outputMap
	 * @return X31SDataBeanAccess[]
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getFUSV031606SC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{

		HashMap parentMap = null;
		if (outputMap.containsKey("FUSV031606SC"))
		{
			parentMap = (HashMap)outputMap.get("FUSV031606SC");
		}

		// 表示するクレジットカード会社を取得
		HashMap parentMapWp = null;
		if (outputMap.containsKey("FUSV031611SC"))
		{
			parentMapWp = (HashMap)outputMap.get("FUSV031611SC");
		}

		String dspCrecardComp = JFUStrConst.EMPTY;
		if (parentMapWp != null && parentMapWp.containsKey("EZM0321A010CBSMsg1List"))
		{
			ArrayList childListWp = (ArrayList)parentMapWp.get("EZM0321A010CBSMsg1List");
			if (childListWp != null)
			{
				for (int i = 0; i < childListWp.size(); i++)
				{
					HashMap childMap = (HashMap)childListWp.get(i);

					if (childMap != null && childMap.containsKey("work_param_sette_value"))
					{
						dspCrecardComp = (String)childMap.get("work_param_sette_value");
					}
				}
			}
		}

		ArrayList childList = null;

		X31SDataBeanAccessArray listFUSV031606SC_crecard_comp_lst_EKK0531B501CBSMsg1List = bean[0].getDataBeanArray("クレジットカード会社リスト");
		childList = null;
		if (listFUSV031606SC_crecard_comp_lst_EKK0531B501CBSMsg1List != null && parentMap != null && parentMap.containsKey("EKK0531B501CBSMsg1List"))
		{
			childList = (ArrayList)parentMap.get("EKK0531B501CBSMsg1List");

			X31SDataBeanAccess subbean = listFUSV031606SC_crecard_comp_lst_EKK0531B501CBSMsg1List.getDataBean(0);

			for (int i = 0; i < childList.size(); i++)
			{

				HashMap childMap = (HashMap)childList.get(i);

				if (subbean == null)
				{
					continue;
				}

				if (childMap != null)
				{
					// 表示するクレジットカード会社でない場合は処理をスキップ
					if (!JFUWebCommon.isNull(dspCrecardComp) && !dspCrecardComp.contains((String)childMap.get("crecard_comp_cd")))
					{
						continue;
					}

					subbean.sendMessageString("クレジット会社コード値リスト", X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("crecard_comp_cd"));
				}
				else
				{
					subbean.sendMessageString("クレジット会社コード値リスト", X31CWebConst.DATABEAN_ADD_VALUE, JFUStrConst.EMPTY);
				}
				// クレジットカード会社リスト.クレジット会社コード名リスト
				//  ← クレジットカード会社一覧照会マップ.クレジットカード一覧照会明細.クレジットカード会社コード名称
				if (childMap != null)
				{
					subbean.sendMessageString("クレジット会社コード名リスト", X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("crecard_comp_nm"));
				}
				else
				{
					subbean.sendMessageString("クレジット会社コード名リスト", X31CWebConst.DATABEAN_ADD_VALUE, JFUStrConst.EMPTY);
				}
				// クレジットカード会社リスト.加盟店番号（１５桁） ← クレジットカード会社一覧照会マップ.クレジットカード一意照会明細.加盟店番号（１５桁）
				if (childMap != null)
				{
					subbean.sendMessageString("加盟店番号（１５桁）", X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("membstr_no_15"));
				}
				else
				{
					subbean.sendMessageString("加盟店番号（１５桁）", X31CWebConst.DATABEAN_ADD_VALUE, JFUStrConst.EMPTY);
				}
				// クレジットカード会社リスト.加盟店番号（１２桁） ← クレジットカード会社一覧照会マップ.クレジットカード一意照会明細.加盟店番号（１２桁）
				if (childMap != null)
				{
					subbean.sendMessageString("加盟店番号（１２桁）", X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("membstr_no_12"));
				}
				else
				{
					subbean.sendMessageString("加盟店番号（１２桁）", X31CWebConst.DATABEAN_ADD_VALUE, JFUStrConst.EMPTY);
				}
				// クレジットカード会社リスト.クレジット交換コードリス
				//  ← クレジットカード会社一覧照会マップ.クレジットカード一意照会明細.クレジット交換コードリスト
				if (childMap != null)
				{
					subbean.sendMessageString("クレジット交換コードリスト", X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("credit_kokan_cd"));
				}
				else
				{
					subbean.sendMessageString("クレジット交換コードリスト", X31CWebConst.DATABEAN_ADD_VALUE, JFUStrConst.EMPTY);
				}
			}
		}

		return bean;
	}

	/**
	 * 異動予約一覧照会SCの下りマッピングをします。
	 * <br>
	 * @param bean [0]：支払方法変更受付　[1]：共有フォームビーン
	 * @param outputMap
	 * @return X31SDataBeanAccess[]
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getFUSV031607SC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{

		HashMap parentMap = null;
		if (outputMap.containsKey("FUSV031607SC"))
		{
			parentMap = (HashMap)outputMap.get("FUSV031607SC");
		}

		ArrayList childList = null;

		X31SDataBeanAccessArray listFUSV031607SC_ido_yyk_EKK1681B001CBSMsg1List = bean[0].getDataBeanArray("異動予約リスト");
		childList = null;
		if (listFUSV031607SC_ido_yyk_EKK1681B001CBSMsg1List != null && parentMap != null && parentMap.containsKey("EKK1681B001CBSMsg1List"))
		{
			childList = (ArrayList)parentMap.get("EKK1681B001CBSMsg1List");

			for (int i = 0; i < childList.size(); i++)
			{
				X31SDataBeanAccess subbean = null;
				if (listFUSV031607SC_ido_yyk_EKK1681B001CBSMsg1List.getCount() - 1 >= i)
				{
					subbean = listFUSV031607SC_ido_yyk_EKK1681B001CBSMsg1List.getDataBean(i);
				}
				else
				{
					subbean = listFUSV031607SC_ido_yyk_EKK1681B001CBSMsg1List.addDataBean();
				}
				HashMap childMap = (HashMap)childList.get(i);
				if (subbean == null)
				{
					continue;
				}

				// 異動予約リスト.予約適用年月日 ← 異動予約一覧照会マップ.異動予約一覧照会明細.予約適用年月日
				if (childMap != null)
				{
					subbean.sendMessageString("予約適用年月日", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("rsv_aply_ymd"));
				}
				else
				{
					subbean.sendMessageString("予約適用年月日", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
			}
		}

		return bean;
	}

	/**
	 * マンション物件一意照会SCの下りマッピングをします。
	 * <br>
	 * @param bean [0]：支払方法変更受付　[1]：共有フォームビーン
	 * @param outputMap
	 * @return X31SDataBeanAccess[]
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getFUSV031608SC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{

		HashMap parentMap = null;
		if (outputMap.containsKey("FUSV031608SC"))
		{
			parentMap = (HashMap)outputMap.get("FUSV031608SC");
		}

		ArrayList childList = null;

		X31SDataBeanAccessArray listFUSV031608SC_mansion_bukken_info_EKK0861A010CBSMsg1List = bean[0].getDataBeanArray("マンション物件情報");
		childList = null;
		if (listFUSV031608SC_mansion_bukken_info_EKK0861A010CBSMsg1List != null && parentMap != null
				&& parentMap.containsKey("EKK0861A010CBSMsg1List"))
		{
			childList = (ArrayList)parentMap.get("EKK0861A010CBSMsg1List");

			for (int i = 0; i < childList.size(); i++)
			{
				X31SDataBeanAccess subbean = null;
				if (listFUSV031608SC_mansion_bukken_info_EKK0861A010CBSMsg1List.getCount() - 1 >= i)
				{
					subbean = listFUSV031608SC_mansion_bukken_info_EKK0861A010CBSMsg1List.getDataBean(i);
				}
				else
				{
					subbean = listFUSV031608SC_mansion_bukken_info_EKK0861A010CBSMsg1List.addDataBean();
				}
				HashMap childMap = (HashMap)childList.get(i);
				if (subbean == null)
				{
					continue;
				}

				// マンション物件情報.マンション物件コード ← マンション物件一意照会マップ.マンション物件一意照会明細.マンション物件コード
				if (childMap != null)
				{
					subbean.sendMessageString("マンション物件コード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("mansion_bukken_cd"));
				}
				else
				{
					subbean.sendMessageString("マンション物件コード", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
			}
		}

		return bean;
	}

	/**
	 * 課金先一覧照会（請求契約番号/サービス契約番号）SCの下りマッピングをします。
	 * <br>
	 * @param bean [0]：支払方法変更受付　[1]：共有フォームビーン
	 * @param outputMap
	 * @return bean
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getFUSV031609SC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{

		HashMap parentMap = null;
		if (outputMap.containsKey(FUSV031609SC))
		{
			parentMap = (HashMap)outputMap.get(FUSV031609SC);
		}

		ArrayList childList = null;

		X31SDataBeanAccessArray listFUSV031610SC_kakin_lst_EKK0321B002CBSMsg1List = bean[0].getDataBeanArray(FUW00701SFConst.KAKIN_LST);
		childList = null;
		if (listFUSV031610SC_kakin_lst_EKK0321B002CBSMsg1List != null && parentMap != null && parentMap.containsKey(EKK0321B002LIST))
		{
			childList = (ArrayList)parentMap.get(EKK0321B002LIST);

			for (int i = 0; i < childList.size(); i++)
			{
				X31SDataBeanAccess subbean = null;
				if (listFUSV031610SC_kakin_lst_EKK0321B002CBSMsg1List.getCount() - 1 >= i)
				{
					subbean = listFUSV031610SC_kakin_lst_EKK0321B002CBSMsg1List.getDataBean(i);
				}
				else
				{
					subbean = listFUSV031610SC_kakin_lst_EKK0321B002CBSMsg1List.addDataBean();
				}
				HashMap childMap = (HashMap)childList.get(i);
				if (subbean == null)
				{
					continue;
				}

				//課金先一覧照会リスト.請求契約番号 ← 課金先一覧照会マップ.課金先一覧照会明細.請求契約番号
				if (childMap != null)
				{
					subbean.sendMessageString(FUW00701SFConst.SEIKY_KEI_NO_12, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get(SEIKY_KEI_NO));
				}
				else
				{
					subbean.sendMessageString(FUW00701SFConst.SEIKY_KEI_NO_12, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				//課金先一覧照会リスト.サービス契約番号 ← 課金先一覧照会マップ.課金先一覧照会明細.サービス契約番号
				if (childMap != null)
				{
					subbean.sendMessageString(FUW00701SFConst.SVC_KEI_NO_12, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get(SVC_KEI_NO));
				}
				else
				{
					subbean.sendMessageString(FUW00701SFConst.SVC_KEI_NO_12, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				//課金先一覧照会リスト.課金先番号 ← 課金先一覧照会マップ.課金先一覧照会明細.課金先番号
				if (childMap != null)
				{
					subbean.sendMessageString(FUW00701SFConst.KAKINS_NO_12, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get(KAKINS_NO));
				}
				else
				{
					subbean.sendMessageString(FUW00701SFConst.KAKINS_NO_12, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
			}
		}

		return bean;
	}

	/**
	 * 金融機関一意照会SCの下りマッピングをします。
	 * <br>
	 * @param bean [0]：支払方法変更受付　[1]：共有フォームビーン
	 * @param outputMap
	 * @return bean
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getFUSV031610SC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{
		HashMap parentMap = null;
		if (outputMap.containsKey(FUSV031610SC))
		{
			parentMap = (HashMap)outputMap.get(FUSV031610SC);
		}

		if (null != parentMap && parentMap.containsKey(EKK0511A010LIST))
		{
			ArrayList childList = (ArrayList)parentMap.get(EKK0511A010LIST);

			for (int i = 0; i < childList.size(); i++)
			{
				HashMap childMap = (HashMap)childList.get(i);

				if (childMap.containsKey(BANK_NM))
				{
					// 変更後の金融機関名
					bean[0].sendMessageString(FUW00701SFConst.CHAF_BANK_NM, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get(BANK_NM));
				}
				if (childMap.containsKey(BANK_SHITEN_NM))
				{
					// 変更後の支店名
					bean[0].sendMessageString(FUW00701SFConst.CHAF_BRANCH_NM, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get(BANK_SHITEN_NM));
				}
			}
		}
		return bean;
	}
}