/*********************************************************************
*	All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名		：eo顧客基幹システム
*	モジュール名	：FUSV0116_FUSV0116OPDBMapper
*	ソースファイル名：FUSV0116_FUSV0116OPDBMapper.java
*	作成者			：FJ
*	日付			：2012年02月07日
*＜機能概要＞
*	BP（支払方法変更受付（初期表示））へのＤ−Ｂマッピングクラスです。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v1.00.00	2012/02/07	FJ		新規作成
*   v4.00       2012/06/18   FJ）濱口    【ANK-0351-00-00】オーソリ認証処理改修対応
*   v4.00       2012/06/18   FJ）濱口    【ANK-0357-00-00】支払方法変更画面の文言追加
*   v4.00       2012/06/18   FJ）濱口    【ANK-0358-00-00】支払方法変更申込後の契約状態エラー対応
*   v4.00       2012/06/18   FJ）濱口    【ANK-0536-00-00】回線支払方法変更　仕様変更対応*
*   v4.00       2012/07/03   FJ）濱口    【ANK-0381-00-00】ＩＰｖ６無料文言不備
*   v10.00      2014/09/24	 FJ）中谷    【TAI-2014-0000026】文字列編集処理の改修
*   v20.00      2015/11/20	 FJ）岡井    【ANK-2565-00-00】クレカ番号預かりサービス導入(STEP3)
*   v36.00      2017/12/14	 FJ) 岡井    【ANK-3313-02-00】クレジットカード非通過対応【案件内仕変2:申し込み時の５大カードブランド聞き取り化】
*   v45.00      2019/09/03	 FJ) 岡井    【ANK-3551-00-00】クレカ有効性NG時の支払方法変更対応
*   v57.00      2022/03/01	 FJ) 新谷    【ANK-4211-00-00】支払方法変更(口振)の導線変更対応
*   v57.00.01   2022/04/07	 FJ) 新谷    【ANK-4230-00-00】クレカ不正オーソリ対応
*   v58.00.00   2022/05/12	 FJ) 新谷    【ANK-3846-00-00】【クレカ】クリアパス→ペイジェント移行
**********************************************************************/
package eo.web.webview.mapping;

import java.util.ArrayList;
import java.util.HashMap;

import com.fujitsu.futurity.web.x31.X31CWebConst;
import com.fujitsu.futurity.web.x31.X31SDataBeanAccess;
import com.fujitsu.futurity.web.x31.X31SDataBeanAccessArray;

import eo.common.constant.JFUStrConst;
import eo.common.util.JZMFormatForMask;
import eo.web.webview.CommonInfoCF.CommonInfoCFConst;
import eo.web.webview.FUW07701SF.FUW07701SFConst;
import eo.web.webview.common.JFUWebCommon;

/**
 * DataBean-BPマッピングをする。
 *
 */
public class FUSV0116_FUSV0116OPDBMapper
{

	/** 機能コード */
	private static final String FUNC_CODE = "func_code";

	/** KEY_SYSID */
	private static final String KEY_SYSID = "key_sysid";
	/** KEY_請求契約番号 */
	private static final String KEY_SEIKY_KEI_NO = "key_seiky_kei_no";
	/** KEY_サービス契約番号 */
	private static final String KEY_SVC_KEI_NO = "key_svc_kei_no";
	/** 請求契約番号 */
	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";
	/** 機器提供サービス契約ステータス */
	private static final String CNT = "cnt";
	/** 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 SEIRI_NO = "seiri_no";
	/** 機能ID */
	private static final String PROC_ID = "proc_id";
	/** SYSID */
	private static final String SYSID = "sysid";
	/** 業務パラメータ設定値 */
	private static final String WORK_PARAM_SETTE_VALUE = "work_param_sette_value";

	/** 支払方法変更受付関連チェックCC */
	private static final String CC_TITLE_FUSV011601 = "FUSV011601CC";
	/** 機器提供サービス契約(予約件数)一覧照会SC */
	private static final String SC_TITLE_FUSV011609 = "FUSV011609SC";
	/** 機器提供サービス契約(予約件数)一覧照会SC */
	private static final String SC_TITLE_FUSV011610 = "FUSV011610SC";
	/** 課金先一覧照会SC（請求契約番号/サービス契約番号） */
	private static final String SC_TITLE_FUSV011611 = "FUSV011611SC";
	/** 金融機関一意照会SC（金融機関コード/金融機関支店コード） */
	private static final String SC_TITLE_FUSV011612 = "FUSV011612SC";
	/** 業務パラメータ管理一意照会SC */
	private static final String SC_TITLE_FUSV011614 = "FUSV011614SC";

	/** 機器提供サービス契約一覧照会明細 */
	private static final String EKK0341B506LIST = "EKK0341B506CBSMsg1List";
	/** 課金先一覧照会明細 */
	private static final String EKK0321B002LIST = "EKK0321B002CBSMsg1List";
	/** 金融機関一意照会明細 */
	private static final String EKK0511A010LIST = "EKK0511A010CBSMsg1List";
	/** 送信対象メール情報リスト */
	private static final String SEND_ML_INFO_LIST = "send_ml_info_list";
	/** 業務パラメータ管理一意照会明細 */
	private static final String EZM0321A010LIST = "EZM0321A010CBSMsg1List";

	/** 初期費用一覧照会CC */
	private static final String CC_TITLE_FUSV011602 = "FUSV011602CC";
	/** 申込完了メール送信登録コモンコンポーネント部品 */
	private static final String CC_TITLE_FUSV011603 = "FUSV011603CC";

	/**
	 * コンストラクタ
	 */
	public FUSV0116_FUSV0116OPDBMapper()
	{
	}

	/**
	 * 支払方法変更受付関連チェックCCの上りマッピングをします。
	 * @param bean データBean
	 * @param outputMap マップ
	 * @return HashMap 結果マップ
	 */
	@SuppressWarnings("unchecked")
	public HashMap<String, Object> setFUSV011601CC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{
		HashMap<String, Object> parentMap = new HashMap<String, Object>();
		// ○WEB変更情報
		X31SDataBeanAccess webChgInfoBean = bean[1].getDataBeanArray(CommonInfoCFConst.WEB_CHG_INFO).getDataBean(0);
		// ○SSO情報
		X31SDataBeanAccess ssoInfoBean = webChgInfoBean.getDataBeanArray(CommonInfoCFConst.SSO_INFO).getDataBean(0);

		// ＫＥＹ＿SYSID
		parentMap.put(KEY_SYSID, ssoInfoBean.sendMessageString(CommonInfoCFConst.SYSID_21, X31CWebConst.DATABEAN_GET_VALUE));
		// ＫＥＹ＿請求契約番号
		parentMap.put(KEY_SEIKY_KEI_NO, bean[0].sendMessageString(FUW07701SFConst.SEIKY_KEI_NO, X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put(CC_TITLE_FUSV011601, parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：支払方法変更受付　[1]：共有フォームビーン
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV011601SC(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_seiky_kei_no", bean[0].sendMessageString("請求契約番号", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("FUSV011601SC", parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：支払方法変更受付　[1]：共有フォームビーン
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV011602SC(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_seiky_kei_no", bean[0].sendMessageString("請求契約番号", X31CWebConst.DATABEAN_GET_VALUE));
		// 運用日付 → 請求契約一意照会マップ.ＫＥＹ＿予約適用年月日
		parentMap.put("key_rsv_aply_ymd", bean[0].sendMessageString("運用日付", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("FUSV011602SC", parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：支払方法変更受付　[1]：共有フォームビーン
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV011603SC(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_seiky_kei_no", bean[0].sendMessageString("請求契約番号", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("FUSV011603SC", parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：支払方法変更受付　[1]：共有フォームビーン
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV011604SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{

		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}
		// 請求契約情報の取得
		X31SDataBeanAccess seikyKeiInfo = JFUWebCommon.getDataBeanTypeByPath(bean[1], JFUWebCommon.SEIKY_KEI_INFO);

		// 請求契約情報.請求方法コードを取得
		String seikyWay = seikyKeiInfo.sendMessageString(CommonInfoCFConst.SEIKY_WAY_CD_32, X31CWebConst.DATABEAN_GET_VALUE);

		//請求方法コード 「"2":預金口座振替」または、「"3":郵便自動振込」以外は実行しない
		if ((!JFUStrConst.CD00166_2.equals(seikyWay)) && (!JFUStrConst.CD00166_3.equals(seikyWay)))
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		// 請求方法番号（口座） → 口座一意照会マップ.ＫＥＹ＿請求方法番号（口座）
		parentMap.put("key_seiky_way_no_koza", seikyKeiInfo.sendMessageString("請求方法番号（口座）", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("FUSV011604SC", parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：支払方法変更受付　[1]：共有フォームビーン
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV011605SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{

		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		// 請求契約情報の取得
		X31SDataBeanAccess seikyKeiInfo = JFUWebCommon.getDataBeanTypeByPath(bean[1], JFUWebCommon.SEIKY_KEI_INFO);

		// 請求契約情報.請求方法コードを取得
		String seikyWay = seikyKeiInfo.sendMessageString(CommonInfoCFConst.SEIKY_WAY_CD_32, X31CWebConst.DATABEAN_GET_VALUE);

		//請求方法コード 「"4":クレジット」以外は実行しない
		if (!JFUStrConst.CD00166_4.equals(seikyWay))
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		// 請求方法番号（クレジットカード） → クレジットカード一意照会マップ.ＫＥＹ＿請求方法番号（クレジットカード）
		parentMap.put("key_seiky_way_no_crecard", seikyKeiInfo.sendMessageString("請求方法番号（クレジットカード）", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("FUSV011605SC", parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：支払方法変更受付　[1]：共有フォームビーン
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV011606SC(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("クレジットカード事業コード", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("FUSV011606SC", parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：支払方法変更受付　[1]：共有フォームビーン
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV011607SC(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));
		// 請求契約番号 → 異動予約一覧照会マップ.ＫＥＹ＿請求契約番号
		parentMap.put("key_seiky_kei_no", bean[0].sendMessageString("請求契約番号", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("FUSV011607SC", parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：支払方法変更受付　[1]：共有フォームビーン
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return outputMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV011608SC(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);

		// マンション物件番号 → マンション物件一意照会マップ.ＫＥＹ＿マンション物件番号
		parentMap.put("key_mansion_bukken_no", bean[0].sendMessageString("マンション物件番号", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("FUSV011608SC", parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：支払方法変更受付　[1]：共有フォームビーン
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return outputMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV011609SC(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);
		// ○WEB変更情報
		X31SDataBeanAccess webChgInfoBean = bean[1].getDataBeanArray(CommonInfoCFConst.WEB_CHG_INFO).getDataBean(0);
		// ○SSO情報
		X31SDataBeanAccess ssoInfoBean = webChgInfoBean.getDataBeanArray(CommonInfoCFConst.SSO_INFO).getDataBean(0);

		// サービス契約番号 →機器提供サービス契約(予約件数)一覧照会マップ.ＫＥＹ＿サービス契約番号
		parentMap.put(KEY_SVC_KEI_NO, ssoInfoBean.sendMessageString(CommonInfoCFConst.SVC_KEI_NO_21, X31CWebConst.DATABEAN_GET_VALUE));
		;

		outputMap.put(SC_TITLE_FUSV011609, parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：支払方法変更受付　[1]：共有フォームビーン
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return outputMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV011610SC(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);
		// ○WEB変更情報
		X31SDataBeanAccess webChgInfoBean = bean[1].getDataBeanArray(CommonInfoCFConst.WEB_CHG_INFO).getDataBean(0);
		// ○SSO情報
		X31SDataBeanAccess ssoInfoBean = webChgInfoBean.getDataBeanArray(CommonInfoCFConst.SSO_INFO).getDataBean(0);

		// サービス契約番号 →機器提供サービス契約(予約件数)一覧照会マップ.ＫＥＹ＿サービス契約番号
		parentMap.put(KEY_SVC_KEI_NO, ssoInfoBean.sendMessageString(CommonInfoCFConst.SVC_KEI_NO_21, X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put(SC_TITLE_FUSV011610, parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：支払方法変更受付　[1]：共有フォームビーン
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return outputMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV011611SC(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_SEIKY_KEI_NO, bean[0].sendMessageString(FUW07701SFConst.SEIKY_KEI_NO, X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put(SC_TITLE_FUSV011611, parentMap);

		return outputMap;
	}


	/**
	 * 上りマッピングをする
	 * @param bean　[0]：支払方法変更受付　[1]：共有フォームビーン
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return outputMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV011612SC(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(FUW07701SFConst.CHAF_BANK_CD, X31CWebConst.DATABEAN_GET_VALUE));
		// 変更後の支店コード → 金融機関一意照会マップ.ＫＥＹ＿金融機関支店コード
		parentMap.put(KEY_BANK_SHITEN_CD, bean[0].sendMessageString(FUW07701SFConst.CHAF_BRANCH_CD, X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put(SC_TITLE_FUSV011612, parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピング
	 * <br>
	 * @param bean
	 * @param outputMap
	 * @return
	 */
	@SuppressWarnings("unchecked")
	public HashMap<String, Object> setFUSV011602CC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{
		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		outputMap.put(CC_TITLE_FUSV011602, parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：支払方法変更受付　[1]：共有フォームビーン
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV011613SC(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("FUSV011613SC", parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：支払方法変更受付　[1]：共有フォームビーン
	 * @param outputMap
	 * @return outputMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap<String, Object> setFUSV011603CC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{
		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();
		// ○WEB変更情報
		X31SDataBeanAccess webChgInfoBean = bean[1].getDataBeanArray(CommonInfoCFConst.WEB_CHG_INFO).getDataBean(0);
		// ○SSO情報
		X31SDataBeanAccess ssoInfoBean = webChgInfoBean.getDataBeanArray(CommonInfoCFConst.SSO_INFO).getDataBean(0);
		// ○現顧客情報
		X31SDataBeanAccess genCustKeiInfoBean = webChgInfoBean.getDataBeanArray(CommonInfoCFConst.GEN_CUST_KEI_INFO).getDataBean(0);
		// ○サービス契約情報
		X31SDataBeanAccess svcKeiInfoBean = genCustKeiInfoBean.getDataBeanArray(CommonInfoCFConst.SVC_KEI_INFO).getDataBean(0);

		// サービス契約情報.整理番号 →申込完了メール送信登録コモンコンポーネント部品.整理番号
		parentMap.put(SEIRI_NO, svcKeiInfoBean.sendMessageString(CommonInfoCFConst.SEIRI_NO_23, X31CWebConst.DATABEAN_GET_VALUE));

		// "FUW077_1"(固定) →申込完了メール送信登録コモンコンポーネント部品.機能ID
		parentMap.put(PROC_ID, "FUW077_1");

		// SSO情報.SYSID →申込完了メール送信登録コモンコンポーネント部品.SYSID
		parentMap.put(SYSID, ssoInfoBean.sendMessageString(CommonInfoCFConst.SYSID_21, X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put(CC_TITLE_FUSV011603, parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：支払方法変更受付　[1]：共有フォームビーン
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV011614SC(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("FUSV011614SC", parentMap);

		return outputMap;
	}

	/**
	 * 下りマッピング
	 * @param bean　[0]：支払方法変更受付　[1]：共有フォームビーン
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getFUSV011601SC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{

		HashMap parentMap = null;
		if (outputMap.containsKey("FUSV011601SC"))
		{
			parentMap = (HashMap)outputMap.get("FUSV011601SC");
		}

		ArrayList childList = null;

		X31SDataBeanAccessArray listFUSV011601SC_doit_seiky_syki_lst_EKK0321B501CBSMsg1List = bean[0].getDataBeanArray("同一請求先照会リスト");
		childList = null;
		if (listFUSV011601SC_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 (listFUSV011601SC_doit_seiky_syki_lst_EKK0321B501CBSMsg1List.getCount() - 1 >= i)
				{
					subbean = listFUSV011601SC_doit_seiky_syki_lst_EKK0321B501CBSMsg1List.getDataBean(i);
				}
				else
				{
					subbean = listFUSV011601SC_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;
	}

	/**
	 * 下りマッピング
	 * @param bean　[0]：支払方法変更受付　[1]：共有フォームビーン
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getFUSV011602SC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{

		HashMap parentMap = null;
		if (outputMap.containsKey("FUSV011602SC"))
		{
			parentMap = (HashMap)outputMap.get("FUSV011602SC");
		}

		ArrayList childList = null;

		X31SDataBeanAccessArray listFUSV011602SC_seiky_kei_lst_EKK0491A010CBSMsg1List = bean[0].getDataBeanArray("請求契約リスト");
		childList = null;
		if (listFUSV011602SC_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 (listFUSV011602SC_seiky_kei_lst_EKK0491A010CBSMsg1List.getCount() - 1 >= i)
				{
					subbean = listFUSV011602SC_seiky_kei_lst_EKK0491A010CBSMsg1List.getDataBean(i);
				}
				else
				{
					subbean = listFUSV011602SC_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);
				}
				// 請求契約リスト.予約適用年月日 ← 請求契約一意照会マップ.請求契約一覧照会明細.予約適用年月日
				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;
	}

	/**
	 * 下りマッピング
	 * @param bean　[0]：支払方法変更受付　[1]：共有フォームビーン
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getFUSV011603SC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{

		HashMap parentMap = null;
		if (outputMap.containsKey("FUSV011603SC"))
		{
			parentMap = (HashMap)outputMap.get("FUSV011603SC");
		}

		ArrayList childList = null;

		X31SDataBeanAccessArray listFUSV011603SC_seiky_yks_EKK0541B502CBSMsg1List = bean[0].getDataBeanArray("請求抑止リスト");
		childList = null;
		if (listFUSV011603SC_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 (listFUSV011603SC_seiky_yks_EKK0541B502CBSMsg1List.getCount() - 1 >= i)
				{
					subbean = listFUSV011603SC_seiky_yks_EKK0541B502CBSMsg1List.getDataBean(i);
				}
				else
				{
					subbean = listFUSV011603SC_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;
	}

	/**
	 * 下りマッピング
	 * @param bean　[0]：支払方法変更受付　[1]：共有フォームビーン
	 * @param outputMap
	 * @param seikyWayCd 請求方法コード
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getFUSV011604SC(X31SDataBeanAccess[] bean, HashMap outputMap, String seikyWayCd)
	{

		HashMap parentMap = null;
		if (outputMap.containsKey("FUSV011604SC"))
		{
			parentMap = (HashMap)outputMap.get("FUSV011604SC");
		}

		ArrayList childList = null;

		X31SDataBeanAccessArray listFUSV011604SC_koza_lst_EKK0501A010CBSMsg1List = bean[0].getDataBeanArray("口座一意照会リスト");
		childList = null;
		if (listFUSV011604SC_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 (listFUSV011604SC_koza_lst_EKK0501A010CBSMsg1List.getCount() - 1 >= i)
				{
					subbean = listFUSV011604SC_koza_lst_EKK0501A010CBSMsg1List.getDataBean(i);
				}
				else
				{
					subbean = listFUSV011604SC_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;
	}

	/**
	 * 下りマッピング
	 * @param bean　[0]：支払方法変更受付　[1]：共有フォームビーン
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getFUSV011605SC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{

		HashMap parentMap = null;
		if (outputMap.containsKey("FUSV011605SC"))
		{
			parentMap = (HashMap)outputMap.get("FUSV011605SC");
		}

		ArrayList childList = null;

		X31SDataBeanAccessArray listFUSV011605SC_crecard_syki_lst_EKK0521A010CBSMsg1List = bean[0].getDataBeanArray("クレジットカード一意照会リスト");
		childList = null;
		if (listFUSV011605SC_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 (listFUSV011605SC_crecard_syki_lst_EKK0521A010CBSMsg1List.getCount() - 1 >= i)
				{
					subbean = listFUSV011605SC_crecard_syki_lst_EKK0521A010CBSMsg1List.getDataBean(i);
				}
				else
				{
					subbean = listFUSV011605SC_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;
	}

	/**
	 * 下りマッピング
	 * @param bean　[0]：支払方法変更受付　[1]：共有フォームビーン
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getFUSV011606SC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{

		HashMap parentMap = null;
		if (outputMap.containsKey("FUSV011606SC"))
		{
			parentMap = (HashMap)outputMap.get("FUSV011606SC");
		}

		// 表示するクレジットカード会社を取得
		HashMap parentMapWp = null;
		if (outputMap.containsKey("FUSV011613SC"))
		{
			parentMapWp = (HashMap)outputMap.get("FUSV011613SC");
		}

		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 listFUSV011606SC_crecard_comp_lst_EKK0531B501CBSMsg1List = bean[0].getDataBeanArray("クレジットカード会社リスト");
		childList = null;
		if (listFUSV011606SC_crecard_comp_lst_EKK0531B501CBSMsg1List != null && parentMap != null && parentMap.containsKey("EKK0531B501CBSMsg1List"))
		{
			childList = (ArrayList)parentMap.get("EKK0531B501CBSMsg1List");

			X31SDataBeanAccess subbean = listFUSV011606SC_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;
	}

	/**
	 * 下りマッピング
	 * @param bean　[0]：支払方法変更受付　[1]：共有フォームビーン
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getFUSV011607SC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{

		HashMap parentMap = null;
		if (outputMap.containsKey("FUSV011607SC"))
		{
			parentMap = (HashMap)outputMap.get("FUSV011607SC");
		}

		ArrayList childList = null;

		X31SDataBeanAccessArray listFUSV011607SC_ido_yyk_EKK1681B001CBSMsg1List = bean[0].getDataBeanArray("異動予約リスト");
		childList = null;
		if (listFUSV011607SC_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 (listFUSV011607SC_ido_yyk_EKK1681B001CBSMsg1List.getCount() - 1 >= i)
				{
					subbean = listFUSV011607SC_ido_yyk_EKK1681B001CBSMsg1List.getDataBean(i);
				}
				else
				{
					subbean = listFUSV011607SC_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;
	}

	/**
	 * 下りマッピング
	 * @param bean　[0]：支払方法変更受付　[1]：共有フォームビーン
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getFUSV011608SC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{

		HashMap parentMap = null;
		if (outputMap.containsKey("FUSV011608SC"))
		{
			parentMap = (HashMap)outputMap.get("FUSV011608SC");
		}

		ArrayList childList = null;

		X31SDataBeanAccessArray listFUSV011608SC_mansion_bukken_info_EKK0861A010CBSMsg1List = bean[0].getDataBeanArray("マンション物件情報");
		childList = null;
		if (listFUSV011608SC_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 (listFUSV011608SC_mansion_bukken_info_EKK0861A010CBSMsg1List.getCount() - 1 >= i)
				{
					subbean = listFUSV011608SC_mansion_bukken_info_EKK0861A010CBSMsg1List.getDataBean(i);
				}
				else
				{
					subbean = listFUSV011608SC_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;
	}

	/**
	 * 下りマッピング
	 * @param bean　[0]：支払方法変更受付　[1]：共有フォームビーン
	 * @param outputMap
	 * @return bean
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getFUSV011609SC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{

		HashMap parentMap = null;
		if (outputMap.containsKey(SC_TITLE_FUSV011609))
		{
			parentMap = (HashMap)outputMap.get(SC_TITLE_FUSV011609);
		}

		ArrayList childList = null;

		X31SDataBeanAccessArray listFUSV011609SC_kiki_list_EKK0341B506CBSMsg1List = bean[0].getDataBeanArray(FUW07701SFConst.KIKI_LIST);
		childList = null;
		if (listFUSV011609SC_kiki_list_EKK0341B506CBSMsg1List != null && parentMap != null && parentMap.containsKey(EKK0341B506LIST))
		{
			childList = (ArrayList)parentMap.get(EKK0341B506LIST);

			for (int i = 0; i < childList.size(); i++)
			{
				X31SDataBeanAccess subbean = null;
				if (listFUSV011609SC_kiki_list_EKK0341B506CBSMsg1List.getCount() - 1 >= i)
				{
					subbean = listFUSV011609SC_kiki_list_EKK0341B506CBSMsg1List.getDataBean(i);
				}
				else
				{
					subbean = listFUSV011609SC_kiki_list_EKK0341B506CBSMsg1List.addDataBean();
				}
				HashMap childMap = (HashMap)childList.get(i);
				if (subbean == null)
				{
					continue;
				}

				//機器提供サービス契約リスト.件数 ← 機器提供サービス契約(予約件数)一覧照会マップ.機器提供サービス契約(予約件数)一覧照会明細.件数
				if (childMap != null)
				{
					subbean.sendMessageString(FUW07701SFConst.CNT_11, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get(CNT));
				}
				else
				{
					subbean.sendMessageString(FUW07701SFConst.CNT_11, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}

			}
		}

		return bean;
	}

	/**
	 * 下りマッピング
	 * @param bean　[0]：支払方法変更受付　[1]：共有フォームビーン
	 * @param outputMap
	 * @return bean
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getFUSV011610SC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{

		HashMap parentMap = null;
		if (outputMap.containsKey(SC_TITLE_FUSV011610))
		{
			parentMap = (HashMap)outputMap.get(SC_TITLE_FUSV011610);
		}

		ArrayList childList = null;

		X31SDataBeanAccessArray listFUSV011610SC_kiki_list_EKK0341B506CBSMsg1List = bean[0].getDataBeanArray(FUW07701SFConst.KIKI_LIST);
		childList = null;
		if (listFUSV011610SC_kiki_list_EKK0341B506CBSMsg1List != null && parentMap != null && parentMap.containsKey(EKK0341B506LIST))
		{
			childList = (ArrayList)parentMap.get(EKK0341B506LIST);

			for (int i = 0; i < childList.size(); i++)
			{
				X31SDataBeanAccess subbean = null;
				if (listFUSV011610SC_kiki_list_EKK0341B506CBSMsg1List.getCount() - 1 >= i)
				{
					subbean = listFUSV011610SC_kiki_list_EKK0341B506CBSMsg1List.getDataBean(i);
				}
				else
				{
					subbean = listFUSV011610SC_kiki_list_EKK0341B506CBSMsg1List.addDataBean();
				}
				HashMap childMap = (HashMap)childList.get(i);
				if (subbean == null)
				{
					continue;
				}

				//機器提供サービス契約リスト.件数 ← 機器提供サービス契約(予約件数)一覧照会マップ.機器提供サービス契約(予約件数)一覧照会明細.件数
				if (childMap != null)
				{
					subbean.sendMessageString(FUW07701SFConst.CNT_11, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get(CNT));
				}
				else
				{
					subbean.sendMessageString(FUW07701SFConst.CNT_11, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
			}
		}
		return bean;
	}

	/**
	 * 下りマッピング
	 * @param bean　[0]：支払方法変更受付　[1]：共有フォームビーン
	 * @param outputMap
	 * @return bean
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getFUSV011611SC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{

		HashMap parentMap = null;
		if (outputMap.containsKey(SC_TITLE_FUSV011611))
		{
			parentMap = (HashMap)outputMap.get(SC_TITLE_FUSV011611);
		}

		ArrayList childList = null;

		X31SDataBeanAccessArray listFUSV011610SC_kakin_lst_EKK0321B002CBSMsg1List = bean[0].getDataBeanArray(FUW07701SFConst.KAKIN_LST);
		childList = null;
		if (listFUSV011610SC_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 (listFUSV011610SC_kakin_lst_EKK0321B002CBSMsg1List.getCount() - 1 >= i)
				{
					subbean = listFUSV011610SC_kakin_lst_EKK0321B002CBSMsg1List.getDataBean(i);
				}
				else
				{
					subbean = listFUSV011610SC_kakin_lst_EKK0321B002CBSMsg1List.addDataBean();
				}
				HashMap childMap = (HashMap)childList.get(i);
				if (subbean == null)
				{
					continue;
				}

				//課金先一覧照会リスト.請求契約番号 ← 課金先一覧照会マップ.課金先一覧照会明細.請求契約番号
				if (childMap != null)
				{
					subbean.sendMessageString(FUW07701SFConst.SEIKY_KEI_NO_12, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get(SEIKY_KEI_NO));
				}
				else
				{
					subbean.sendMessageString(FUW07701SFConst.SEIKY_KEI_NO_12, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				//課金先一覧照会リスト.サービス契約番号 ← 課金先一覧照会マップ.課金先一覧照会明細.サービス契約番号
				if (childMap != null)
				{
					subbean.sendMessageString(FUW07701SFConst.SVC_KEI_NO_12, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get(SVC_KEI_NO));
				}
				else
				{
					subbean.sendMessageString(FUW07701SFConst.SVC_KEI_NO_12, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				//課金先一覧照会リスト.課金先番号 ← 課金先一覧照会マップ.課金先一覧照会明細.課金先番号
				if (childMap != null)
				{
					subbean.sendMessageString(FUW07701SFConst.KAKINS_NO_12, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get(KAKINS_NO));
				}
				else
				{
					subbean.sendMessageString(FUW07701SFConst.KAKINS_NO_12, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
			}
		}

		return bean;
	}

	/**
	 * 下りマッピング
	 * @param bean　[0]：支払方法変更受付　[1]：共有フォームビーン
	 * @param outputMap
	 * @return bean
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getFUSV011612SC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{
		HashMap parentMap = null;
		if (outputMap.containsKey(SC_TITLE_FUSV011612))
		{
			parentMap = (HashMap)outputMap.get(SC_TITLE_FUSV011612);
		}

		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(FUW07701SFConst.CHAF_BANK_NM, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get(BANK_NM));
				}
				if (childMap.containsKey(BANK_SHITEN_NM))
				{
					// 変更後の支店名
					bean[0].sendMessageString(FUW07701SFConst.CHAF_BRANCH_NM, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get(BANK_SHITEN_NM));
				}
			}
		}
		return bean;
	}

	/**
	 * 下りマッピング
	 * @param bean　[0]：支払方法変更受付　[1]：共有フォームビーン
	 * @param outputMap
	 * @return bean
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getFUSV011603CC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{
		HashMap parentMap = null;

		if (outputMap.containsKey(CC_TITLE_FUSV011603))
		{
			parentMap = (HashMap)outputMap.get(CC_TITLE_FUSV011603);
		}

		if (null != parentMap && parentMap.containsKey(SEND_ML_INFO_LIST))
		{
			ArrayList childList = (ArrayList)parentMap.get(SEND_ML_INFO_LIST);
			if (0 < childList.size())
			{
				bean[0].sendMessageBoolean(FUW07701SFConst.SEND_ML_MSG_DISP_FLG, X31CWebConst.DATABEAN_SET_VALUE, true);
			}
			else
			{
				bean[0].sendMessageBoolean(FUW07701SFConst.SEND_ML_MSG_DISP_FLG, X31CWebConst.DATABEAN_SET_VALUE, false);
			}
		}

		return bean;
	}

	/**
	 * 下りマッピング
	 * @param bean　[0]：支払方法変更受付　[1]：共有フォームビーン
	 * @param outputMap
	 * @return bean
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getFUSV011614SC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{
		HashMap parentMap = null;
		if (outputMap.containsKey(SC_TITLE_FUSV011614))
		{
			parentMap = (HashMap)outputMap.get(SC_TITLE_FUSV011614);
		}

		if (null != parentMap && parentMap.containsKey(EZM0321A010LIST))
		{
			ArrayList childList = (ArrayList)parentMap.get(EZM0321A010LIST);

			for (int i = 0; i < childList.size(); i++)
			{
				HashMap childMap = (HashMap)childList.get(i);

				if (childMap.containsKey(WORK_PARAM_SETTE_VALUE))
				{
					// 業務パラメータ設定値(ペイジェント向けマーチャントID)
					bean[0].sendMessageString(FUW07701SFConst.MERCHANT_ID, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get(WORK_PARAM_SETTE_VALUE));
				}
			}
		}
		return bean;
	}

}