/*********************************************************************
*	All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名		：eo顧客基幹システム
*	モジュール名	：FUSV0301_FUSV0301OPDBMapper
*	ソースファイル名：FUSV0301_FUSV0301OPDBMapper.java
*	作成者			：FJ
*	日付			：2017年01月26日
*＜機能概要＞
*	BP（支払関連情報取得(量販・訪販)）へのＤ−Ｂマッピングクラスです。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*   v29.00.00   2017/01/26  FJ)謝      【ANK-3112-00-00】訪販チャネルのタブレット対応 新規作成
*   v36.00      2017/12/14  FJ)岡井    【ANK-3313-02-00】クレジットカード非通過対応【案件内仕変2:申し込み時の５大カードブランド聞き取り化】
*   v39.00.00   2018/10/30  FJ)黒田(耕)【ANK-3518-00-00】量販・訪販Webのサービス追加
*   v58.00.00   2022/05/16	 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.web.webview.CommonInfoCF.CommonInfoCFConst;
import eo.web.webview.FUW00945SF.FUW00945SFConst;
import eo.web.webview.common.JFUWebCommon;

/**
 * DataBean-BPマッピングをする。
 * 
 */
public class FUSV0301_FUSV0301OPDBMapper {
	/** ダミー情報 銀行・口割りの値の場合は処理をスキップ */
	public static final String CARD_COMP_CD_DUMMY = "99999";

	/**
	 * コンストラクタ
	 */
	public FUSV0301_FUSV0301OPDBMapper(){
	}
	

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：お支払い方法入力（量販・訪販）
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV030101SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code) {
		
		if(bean == null){
			return null;
		}
		
// ANK-3518-00-00 MOD START
//		if(bean.length != 1){
		if(bean.length != 2){
// ANK-3518-00-00 MOD END
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		// クレジットカード事業コード → クレジット会社一覧照会マップ.ＫＥＹ＿クレジットカード事業コード
		parentMap.put("key_crecard_jigyo_cd", bean[0].sendMessageString("クレジットカード事業コード", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("FUSV030101SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：お支払い方法入力（量販・訪販）
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV030102SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code) {
		
		if(bean == null){
			return null;
		}
		
// ANK-3518-00-00 MOD START
//		if(bean.length != 1){
		if(bean.length != 2){
// ANK-3518-00-00 MOD END
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		outputMap.put("FUSV030102SC", parentMap);
						
		return outputMap;
	}

// ANK-3518-00-00 ADD START
	/**
	 * 上りマッピングをする
	 * @param bean　[0]：お支払い方法入力（量販・訪販）　[1]：共有フォームビーン
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return HashMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV030103SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{

		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		X31SDataBeanAccess web_new_bean = null; // 共有フォームBeanのＷＥＢ新規以下へのアクセサ
		X31SDataBeanAccess eonet_bean = null;   // 共有フォームBeanのｅｏ光ネット以下へのアクセサ
		X31SDataBeanAccessArray bean_array = null;

		bean_array = bean[1].getDataBeanArray(CommonInfoCFConst.WEB_NEW_INFO);
		web_new_bean = bean_array.getDataBean(0);
		bean_array =web_new_bean.getDataBeanArray(CommonInfoCFConst.EONET);
		eonet_bean = bean_array.getDataBean(0);

		// 申込区分
		String mskm_kbn = web_new_bean.sendMessageString(CommonInfoCFConst.MSKM_KBN_06, X31CWebConst.DATABEAN_GET_VALUE);
		// ｅｏ光ネット.サービス契約番号
		String svc_kei_no_net = eonet_bean.sendMessageString(CommonInfoCFConst.SVC_KEI_NO_11, X31CWebConst.DATABEAN_GET_VALUE);
		
		
		//追加申込の場合マッピングを行う
		if (!(JFUStrConst.MSKM_KBN_ADD.equals(mskm_kbn)))
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		// 共有フォームBean.ＷＥＢ新規[0].ｓｙｓＩＤ → 支払方法一覧照会マップ.ＫＥＹ＿SYSID
		parentMap.put("key_sysid", web_new_bean.sendMessageString(CommonInfoCFConst.SYSID_06, X31CWebConst.DATABEAN_GET_VALUE));
		
		if (svc_kei_no_net != null){
			// 共有フォームBean.ｅｏ光ネット.サービス契約番号 → 支払方法一覧照会マップ.ＫＥＹ＿サービス契約番号
			parentMap.put("key_svc_kei_no", svc_kei_no_net);
		}
		else 
		{
			return null;
		}
		
		outputMap.put("FUSV030103SC", parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：お支払い方法入力（量販・訪販）　[1]：共有フォームビーン
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return HashMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV030104SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{

		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		X31SDataBeanAccess web_new_bean = null; // 共有フォームBeanのＷＥＢ新規以下へのアクセサ
		X31SDataBeanAccess eotel_bean = null;   // 共有フォームBeanのｅｏ光電話以下へのアクセサ
		X31SDataBeanAccessArray bean_array = null;

		bean_array = bean[1].getDataBeanArray(CommonInfoCFConst.WEB_NEW_INFO);
		web_new_bean = bean_array.getDataBean(0);
		bean_array = web_new_bean.getDataBeanArray(CommonInfoCFConst.EOTEL);
		eotel_bean = bean_array.getDataBean(0);

		// 申込区分
		String mskm_kbn = web_new_bean.sendMessageString(CommonInfoCFConst.MSKM_KBN_06, X31CWebConst.DATABEAN_GET_VALUE);
		// ｅｏ光電話.サービス契約番号
		String svc_kei_no_tel = eotel_bean.sendMessageString(CommonInfoCFConst.SVC_KEI_NO_12, X31CWebConst.DATABEAN_GET_VALUE);
		
		
		//追加申込の場合マッピングを行う
		if (!(JFUStrConst.MSKM_KBN_ADD.equals(mskm_kbn)))
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		// 共有フォームBean.ＷＥＢ新規[0].ｓｙｓＩＤ → 支払方法一覧照会マップ.ＫＥＹ＿SYSID
		parentMap.put("key_sysid", web_new_bean.sendMessageString(CommonInfoCFConst.SYSID_06, X31CWebConst.DATABEAN_GET_VALUE));

		if (svc_kei_no_tel != null){
			// 共有フォームBean.ｅｏ光電話.サービス契約番号 → 支払方法一覧照会マップ.ＫＥＹ＿サービス契約番号
			parentMap.put("key_svc_kei_no", svc_kei_no_tel);
		}
		else
		{
			return null;
		}
		
		outputMap.put("FUSV030104SC", parentMap);

		return outputMap;
	}

	/**
	* 上りマッピングをする
	 * @param bean　[0]：お支払い方法入力（量販・訪販）　[1]：共有フォームビーン
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return HashMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV030105SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{

		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		X31SDataBeanAccess web_new_bean = null; // 共有フォームBeanのＷＥＢ新規以下へのアクセサ
		X31SDataBeanAccess eotv_bean = null;    // 共有フォームBeanのｅｏ光テレビ以下へのアクセサ
		X31SDataBeanAccessArray bean_array = null;

		bean_array = bean[1].getDataBeanArray(CommonInfoCFConst.WEB_NEW_INFO);
		web_new_bean = bean_array.getDataBean(0);
		bean_array = web_new_bean.getDataBeanArray(CommonInfoCFConst.EOTV);
		eotv_bean = bean_array.getDataBean(0);

		// 申込区分
		String mskm_kbn = web_new_bean.sendMessageString(CommonInfoCFConst.MSKM_KBN_06, X31CWebConst.DATABEAN_GET_VALUE);
		// ｅｏ光テレビ.サービス契約番号
		String svc_kei_no_tv = eotv_bean.sendMessageString(CommonInfoCFConst.SVC_KEI_NO_13, X31CWebConst.DATABEAN_GET_VALUE);
		
		
		//追加申込の場合マッピングを行う
		if (!(JFUStrConst.MSKM_KBN_ADD.equals(mskm_kbn)))
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		// 共有フォームBean.ＷＥＢ新規[0].ｓｙｓＩＤ → 支払方法一覧照会マップ.ＫＥＹ＿SYSID
		parentMap.put("key_sysid", web_new_bean.sendMessageString(CommonInfoCFConst.SYSID_06, X31CWebConst.DATABEAN_GET_VALUE));

		if (svc_kei_no_tv != null){
			// 共有フォームBean.ｅｏ光テレビ.サービス契約番号 → 支払方法一覧照会マップ.ＫＥＹ＿サービス契約番号
			parentMap.put("key_svc_kei_no", svc_kei_no_tv);
		}
		else
		{
			return null;
		}
		
		outputMap.put("FUSV030105SC", parentMap);

		return outputMap;
	}
// ANK-3518-00-00 ADD END

	/**
	 * 業務パラメータ管理一意照会（ペイジェント向けマーチャントID）の上りマッピングをする
	 * @param bean　[0]：支払方法変更受付　[1]：共有フォームビーン
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV030106SC(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("FUSV030106SC", parentMap);

		return outputMap;
	}

	/**
	 * 下りマッピング
	 * @param bean　[0]：お支払い方法入力（量販・訪販）
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getFUSV030101SC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("FUSV030101SC")){
			parentMap = (HashMap)outputMap.get("FUSV030101SC");
		}

		// 表示するクレジットカード会社を取得
		HashMap parentMapWp = null;
		if (outputMap.containsKey("FUSV030102SC"))
		{
			parentMapWp = (HashMap)outputMap.get("FUSV030102SC");
		}

		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 listFUSV030101SC_crecard_comp_list_EKK0531B501CBSMsg1List = bean[0].getDataBeanArray("クレジットカード会社リスト");
		childList = null;
		if(listFUSV030101SC_crecard_comp_list_EKK0531B501CBSMsg1List != null && parentMap != null && parentMap.containsKey("EKK0531B501CBSMsg1List")){
			childList = (ArrayList)parentMap.get("EKK0531B501CBSMsg1List");

			for(int i = 0; i < childList.size(); i++){
				X31SDataBeanAccess subbean = listFUSV030101SC_crecard_comp_list_EKK0531B501CBSMsg1List.getDataBean(0);
				HashMap childMap = (HashMap)childList.get(i);
				// クレジットカード会社リスト.クレジット会社コード値リスト ← クレジット会社一覧照会マップ.クレジットカード会社一覧照会明細.クレジットカード会社コード
				if (childMap != null)
				{
					// ダミー情報 銀行・口割りの値の場合は処理をスキップ
					if (CARD_COMP_CD_DUMMY.equals((String)childMap.get("crecard_comp_cd")))
					{
						continue;
					}

					// 表示するクレジットカード会社でない場合は処理をスキップ
					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, new String());
				}
				// クレジットカード会社リスト.クレジット会社コード名リスト ← クレジット会社一覧照会マップ.クレジットカード会社一覧照会明細.クレジットカード会社名
				if (childMap != null) {
					subbean.sendMessageString("クレジット会社コード名リスト", X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("crecard_comp_nm"));
				} else {
					subbean.sendMessageString("クレジット会社コード名リスト", X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
				// クレジットカード会社リスト.加盟店番号（１５桁） ← クレジット会社一覧照会マップ.クレジットカード会社一覧照会明細.加盟店番号（15桁）
				if (childMap != null) {
					subbean.sendMessageString("加盟店番号（１５桁）", X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("membstr_no_15"));
				} else {
					subbean.sendMessageString("加盟店番号（１５桁）", X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
				// クレジットカード会社リスト.加盟店番号（１２桁） ← クレジット会社一覧照会マップ.クレジットカード会社一覧照会明細.加盟店番号（12桁）
				if (childMap != null) {
					subbean.sendMessageString("加盟店番号（１２桁）", X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("membstr_no_12"));
				} else {
					subbean.sendMessageString("加盟店番号（１２桁）", X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
				// クレジットカード会社リスト.クレジット交換コードリスト ← クレジット会社一覧照会マップ.クレジットカード会社一覧照会明細.クレジット交換コード
				if (childMap != null) {
					subbean.sendMessageString("クレジット交換コードリスト", X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("credit_kokan_cd"));
				} else {
					subbean.sendMessageString("クレジット交換コードリスト", X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
			}
		}


		return bean;
	}

// ANK-3518-00-00 ADD START
	/**
	 * 下りマッピング
	 * @param bean　[0]：お支払い方法入力（量販・訪販）
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getFUSV030103SC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("FUSV030103SC")){
			parentMap = (HashMap)outputMap.get("FUSV030103SC");
		}

		ArrayList childList = null;
		

		X31SDataBeanAccessArray listFUSV030103SC_hktgi_payway_EKK0491B505CBSMsg1List = bean[0].getDataBeanArray("引継支払方法（ネット）");
		childList = null;
		if(listFUSV030103SC_hktgi_payway_EKK0491B505CBSMsg1List != null && parentMap != null && parentMap.containsKey("EKK0491B505CBSMsg1List")){
			childList = (ArrayList)parentMap.get("EKK0491B505CBSMsg1List");

			for(int i = 0; i < childList.size(); i++){
				X31SDataBeanAccess subbean = null;
				if(listFUSV030103SC_hktgi_payway_EKK0491B505CBSMsg1List.getCount() -1 >= i){
					subbean = listFUSV030103SC_hktgi_payway_EKK0491B505CBSMsg1List.getDataBean(i);
				}else{
					subbean = listFUSV030103SC_hktgi_payway_EKK0491B505CBSMsg1List.addDataBean();
				}
				HashMap childMap = (HashMap)childList.get(i);
				if (subbean == null) {
					continue;
				}
			
				// 引継支払方法（ネット）.請求契約番号 ← 請求契約一覧照会（支払方法取得）（ネット）ＳＣマップ.請求契約一覧照会明細.請求契約番号
				if (childMap != null) {
					subbean.sendMessageString("請求契約番号", X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("seiky_kei_no"));
				} else {
					subbean.sendMessageString("請求契約番号", X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
				// 引継支払方法（ネット）.請求契約ステータス ← 請求契約一覧照会（支払方法取得）（ネット）ＳＣマップ.請求契約一覧照会明細.請求契約ステータス
				if (childMap != null) {
					subbean.sendMessageString("請求契約ステータス", X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("seiky_kei_stat"));
				} else {
					subbean.sendMessageString("請求契約ステータス", X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
				// 引継支払方法（ネット）.請求契約ステータス名称 ← 請求契約一覧照会（支払方法取得）（ネット）ＳＣマップ.請求契約一覧照会明細.請求契約ステータス名称
				if (childMap != null) {
					subbean.sendMessageString("請求契約ステータス名称", X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("seiky_kei_stat_nm"));
				} else {
					subbean.sendMessageString("請求契約ステータス名称", X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
				// 引継支払方法（ネット）.請求方法コード ← 請求契約一覧照会（支払方法取得）（ネット）ＳＣマップ.請求契約一覧照会明細.請求方法コード
				if (childMap != null) {
					subbean.sendMessageString("請求方法コード", X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("seiky_way_cd"));
				} else {
					subbean.sendMessageString("請求方法コード", X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
				// 引継支払方法（ネット）.請求方法コード名称 ← 請求契約一覧照会（支払方法取得）（ネット）ＳＣマップ.請求契約一覧照会明細.請求方法コード名称
				if (childMap != null) {
					subbean.sendMessageString("請求方法コード名称", X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("seiky_way_cd_nm"));
				} else {
					subbean.sendMessageString("請求方法コード名称", X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
				// 引継支払方法（ネット）.請求方法番号（口座） ← 請求契約一覧照会（支払方法取得）（ネット）ＳＣマップ.請求契約一覧照会明細.請求方法番号(口座)
				if (childMap != null) {
					subbean.sendMessageString("請求方法番号（口座）", X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("seiky_way_no_koza"));
				} else {
					subbean.sendMessageString("請求方法番号（口座）", X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
				// 引継支払方法（ネット）.請求方法番号（クレジットカード） ← 請求契約一覧照会（支払方法取得）（ネット）ＳＣマップ.請求契約一覧照会明細.請求方法番号(クレジットカード)
				if (childMap != null) {
					subbean.sendMessageString("請求方法番号（クレジットカード）", X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("seiky_way_no_crecard"));
				} else {
					subbean.sendMessageString("請求方法番号（クレジットカード）", X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
				// 引継支払方法（ネット）.金融機関名 ← 請求契約一覧照会（支払方法取得）（ネット）ＳＣマップ.請求契約一覧照会明細.金融機関名
				if (childMap != null) {
					subbean.sendMessageString("金融機関名", X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("bank_nm"));
				} else {
					subbean.sendMessageString("金融機関名", X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
				// 引継支払方法（ネット）.金融機関支店名 ← 請求契約一覧照会（支払方法取得）（ネット）ＳＣマップ.請求契約一覧照会明細.金融機関支店名
				if (childMap != null) {
					subbean.sendMessageString("金融機関支店名", X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("bank_shiten_nm"));
				} else {
					subbean.sendMessageString("金融機関支店名", X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
				// 引継支払方法（ネット）.口座番号 ← 請求契約一覧照会（支払方法取得）（ネット）ＳＣマップ.請求契約一覧照会明細.口座番号
				if (childMap != null) {
					subbean.sendMessageString("口座番号", X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("koza_no"));
				} else {
					subbean.sendMessageString("口座番号", X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
				// 引継支払方法（ネット）.預金種目コード ← 請求契約一覧照会（支払方法取得）（ネット）ＳＣマップ.請求契約一覧照会明細.預金種目コード
				if (childMap != null) {
					subbean.sendMessageString("預金種目コード", X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("yokin_shumoku_cd"));
				} else {
					subbean.sendMessageString("預金種目コード", X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
				// 引継支払方法（ネット）.預金種目コード名称 ← 請求契約一覧照会（支払方法取得）（ネット）ＳＣマップ.請求契約一覧照会明細.預金種目コード名称
				if (childMap != null) {
					subbean.sendMessageString("預金種目コード名称", X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("yokin_shumoku_cd_nm"));
				} else {
					subbean.sendMessageString("預金種目コード名称", X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
				// 引継支払方法（ネット）.クレジットカード会社名 ← 請求契約一覧照会（支払方法取得）（ネット）ＳＣマップ.請求契約一覧照会明細.クレジットカード会社名
				if (childMap != null) {
					subbean.sendMessageString("クレジットカード会社名", X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("crecard_comp_nm"));
				} else {
					subbean.sendMessageString("クレジットカード会社名", X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
				// 引継支払方法（ネット）.クレジットカード番号 ← 請求契約一覧照会（支払方法取得）（ネット）ＳＣマップ.請求契約一覧照会明細.クレジットカード番号
				if (childMap != null) {
					subbean.sendMessageString("クレジットカード番号", X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("crecard_no"));
				} else {
					subbean.sendMessageString("クレジットカード番号", X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
				// 引継支払方法（ネット）.通帳記号 ← 請求契約一覧照会（支払方法取得）（ネット）ＳＣマップ.請求契約一覧照会明細.通帳記号
				if (childMap != null) {
					subbean.sendMessageString("通帳記号", X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("tsucho_symbol"));
				} else {
					subbean.sendMessageString("通帳記号", X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
				// 引継支払方法（ネット）.通帳番号 ← 請求契約一覧照会（支払方法取得）（ネット）ＳＣマップ.請求契約一覧照会明細.通帳番号
				if (childMap != null) {
					subbean.sendMessageString("通帳番号", X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("tsucho_no"));
				} else {
					subbean.sendMessageString("通帳番号", X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
				// 引継支払方法（ネット）.送付先名 ← 請求契約一覧照会（支払方法取得）（ネット）ＳＣマップ.請求契約一覧照会明細.送付先名
				if (childMap != null) {
					subbean.sendMessageString("送付先名", X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("sohus_nm"));
				} else {
					subbean.sendMessageString("送付先名", X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
				// 引継支払方法（ネット）.送付先市区町村名 ← 請求契約一覧照会（支払方法取得）（ネット）ＳＣマップ.請求契約一覧照会明細.送付先市区町村名
				if (childMap != null) {
					subbean.sendMessageString("送付先市区町村名", X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("sohus_city_nm"));
				} else {
					subbean.sendMessageString("送付先市区町村名", X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
				// 引継支払方法（ネット）.送付先大字通称名 ← 請求契約一覧照会（支払方法取得）（ネット）ＳＣマップ.請求契約一覧照会明細.送付先大字通称名
				if (childMap != null) {
					subbean.sendMessageString("送付先大字通称名", X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("sohus_oaztsu_nm"));
				} else {
					subbean.sendMessageString("送付先大字通称名", X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
				// 引継支払方法（ネット）.送付先字丁目名 ← 請求契約一覧照会（支払方法取得）（ネット）ＳＣマップ.請求契約一覧照会明細.送付先字丁目名
				if (childMap != null) {
					subbean.sendMessageString("送付先字丁目名", X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("sohus_azcho_nm"));
				} else {
					subbean.sendMessageString("送付先字丁目名", X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
				// 引継支払方法（ネット）.送付先住所補記・建物名 ← 請求契約一覧照会（支払方法取得）（ネット）ＳＣマップ.請求契約一覧照会明細.送付先住所補記・建物名
				if (childMap != null) {
					subbean.sendMessageString("送付先住所補記・建物名", X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("sohus_adrttm"));
				} else {
					subbean.sendMessageString("送付先住所補記・建物名", X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
				// 引継支払方法（ネット）.送付先住所補記・部屋番号 ← 請求契約一覧照会（支払方法取得）（ネット）ＳＣマップ.請求契約一覧照会明細.送付先住所補記・部屋番号
				if (childMap != null) {
					subbean.sendMessageString("送付先住所補記・部屋番号", X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("sohus_adrrm"));
				} else {
					subbean.sendMessageString("送付先住所補記・部屋番号", X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
				// 引継支払方法（ネット）.送付先番地号 ← 請求契約一覧照会（支払方法取得）（ネット）ＳＣマップ.請求契約一覧照会明細.送付先番地号
				if (childMap != null) {
					subbean.sendMessageString("送付先番地号", X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("sohus_bnchigo"));
				} else {
					subbean.sendMessageString("送付先番地号", X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
				// 引継支払方法（ネット）.更新年月日時分秒 ← 請求契約一覧照会（支払方法取得）（ネット）ＳＣマップ.請求契約一覧照会明細.更新年月日時分秒
				if (childMap != null) {
					subbean.sendMessageString("更新年月日時分秒", X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("upd_dtm"));
				} else {
					subbean.sendMessageString("更新年月日時分秒", X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
			}
		}


		return bean;
	}

	/**
	 * 下りマッピング
	 * @param bean　[0]：お支払い方法入力（量販・訪販）
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getFUSV030104SC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("FUSV030104SC")){
			parentMap = (HashMap)outputMap.get("FUSV030104SC");
		}

		ArrayList childList = null;
		

		X31SDataBeanAccessArray listFUSV030104SC_hktgi_payway_EKK0491B505CBSMsg1List = bean[0].getDataBeanArray("引継支払方法（電話）");
		childList = null;
		if(listFUSV030104SC_hktgi_payway_EKK0491B505CBSMsg1List != null && parentMap != null && parentMap.containsKey("EKK0491B505CBSMsg1List")){
			childList = (ArrayList)parentMap.get("EKK0491B505CBSMsg1List");

			for(int i = 0; i < childList.size(); i++){
				X31SDataBeanAccess subbean = null;
				if(listFUSV030104SC_hktgi_payway_EKK0491B505CBSMsg1List.getCount() -1 >= i){
					subbean = listFUSV030104SC_hktgi_payway_EKK0491B505CBSMsg1List.getDataBean(i);
				}else{
					subbean = listFUSV030104SC_hktgi_payway_EKK0491B505CBSMsg1List.addDataBean();
				}
				HashMap childMap = (HashMap)childList.get(i);
				if (subbean == null) {
					continue;
				}
			
				// 引継支払方法（電話）.請求契約番号 ← 請求契約一覧照会（支払方法取得）（電話）ＳＣマップ.請求契約一覧照会明細.請求契約番号
				if (childMap != null) {
					subbean.sendMessageString("請求契約番号", X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("seiky_kei_no"));
				} else {
					subbean.sendMessageString("請求契約番号", X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
				// 引継支払方法（電話）.請求契約ステータス ← 請求契約一覧照会（支払方法取得）（電話）ＳＣマップ.請求契約一覧照会明細.請求契約ステータス
				if (childMap != null) {
					subbean.sendMessageString("請求契約ステータス", X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("seiky_kei_stat"));
				} else {
					subbean.sendMessageString("請求契約ステータス", X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
				// 引継支払方法（電話）.請求契約ステータス名称 ← 請求契約一覧照会（支払方法取得）（電話）ＳＣマップ.請求契約一覧照会明細.請求契約ステータス名称
				if (childMap != null) {
					subbean.sendMessageString("請求契約ステータス名称", X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("seiky_kei_stat_nm"));
				} else {
					subbean.sendMessageString("請求契約ステータス名称", X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
				// 引継支払方法（電話）.請求方法コード ← 請求契約一覧照会（支払方法取得）（電話）ＳＣマップ.請求契約一覧照会明細.請求方法コード
				if (childMap != null) {
					subbean.sendMessageString("請求方法コード", X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("seiky_way_cd"));
				} else {
					subbean.sendMessageString("請求方法コード", X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
				// 引継支払方法（電話）.請求方法コード名称 ← 請求契約一覧照会（支払方法取得）（電話）ＳＣマップ.請求契約一覧照会明細.請求方法コード名称
				if (childMap != null) {
					subbean.sendMessageString("請求方法コード名称", X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("seiky_way_cd_nm"));
				} else {
					subbean.sendMessageString("請求方法コード名称", X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
				// 引継支払方法（電話）.請求方法番号（口座） ← 請求契約一覧照会（支払方法取得）（電話）ＳＣマップ.請求契約一覧照会明細.請求方法番号(口座)
				if (childMap != null) {
					subbean.sendMessageString("請求方法番号（口座）", X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("seiky_way_no_koza"));
				} else {
					subbean.sendMessageString("請求方法番号（口座）", X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
				// 引継支払方法（電話）.請求方法番号（クレジットカード） ← 請求契約一覧照会（支払方法取得）（電話）ＳＣマップ.請求契約一覧照会明細.請求方法番号(クレジットカード)
				if (childMap != null) {
					subbean.sendMessageString("請求方法番号（クレジットカード）", X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("seiky_way_no_crecard"));
				} else {
					subbean.sendMessageString("請求方法番号（クレジットカード）", X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
				// 引継支払方法（電話）.金融機関名 ← 請求契約一覧照会（支払方法取得）（電話）ＳＣマップ.請求契約一覧照会明細.金融機関名
				if (childMap != null) {
					subbean.sendMessageString("金融機関名", X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("bank_nm"));
				} else {
					subbean.sendMessageString("金融機関名", X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
				// 引継支払方法（電話）.金融機関支店名 ← 請求契約一覧照会（支払方法取得）（電話）ＳＣマップ.請求契約一覧照会明細.金融機関支店名
				if (childMap != null) {
					subbean.sendMessageString("金融機関支店名", X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("bank_shiten_nm"));
				} else {
					subbean.sendMessageString("金融機関支店名", X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
				// 引継支払方法（電話）.口座番号 ← 請求契約一覧照会（支払方法取得）（電話）ＳＣマップ.請求契約一覧照会明細.口座番号
				if (childMap != null) {
					subbean.sendMessageString("口座番号", X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("koza_no"));
				} else {
					subbean.sendMessageString("口座番号", X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
				// 引継支払方法（電話）.預金種目コード ← 請求契約一覧照会（支払方法取得）（電話）ＳＣマップ.請求契約一覧照会明細.預金種目コード
				if (childMap != null) {
					subbean.sendMessageString("預金種目コード", X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("yokin_shumoku_cd"));
				} else {
					subbean.sendMessageString("預金種目コード", X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
				// 引継支払方法（電話）.預金種目コード名称 ← 請求契約一覧照会（支払方法取得）（電話）ＳＣマップ.請求契約一覧照会明細.預金種目コード名称
				if (childMap != null) {
					subbean.sendMessageString("預金種目コード名称", X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("yokin_shumoku_cd_nm"));
				} else {
					subbean.sendMessageString("預金種目コード名称", X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
				// 引継支払方法（電話）.クレジットカード会社名 ← 請求契約一覧照会（支払方法取得）（電話）ＳＣマップ.請求契約一覧照会明細.クレジットカード会社名
				if (childMap != null) {
					subbean.sendMessageString("クレジットカード会社名", X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("crecard_comp_nm"));
				} else {
					subbean.sendMessageString("クレジットカード会社名", X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
				// 引継支払方法（電話）.クレジットカード番号 ← 請求契約一覧照会（支払方法取得）（電話）ＳＣマップ.請求契約一覧照会明細.クレジットカード番号
				if (childMap != null) {
					subbean.sendMessageString("クレジットカード番号", X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("crecard_no"));
				} else {
					subbean.sendMessageString("クレジットカード番号", X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
				// 引継支払方法（電話）.通帳記号 ← 請求契約一覧照会（支払方法取得）（電話）ＳＣマップ.請求契約一覧照会明細.通帳記号
				if (childMap != null) {
					subbean.sendMessageString("通帳記号", X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("tsucho_symbol"));
				} else {
					subbean.sendMessageString("通帳記号", X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
				// 引継支払方法（電話）.通帳番号 ← 請求契約一覧照会（支払方法取得）（電話）ＳＣマップ.請求契約一覧照会明細.通帳番号
				if (childMap != null) {
					subbean.sendMessageString("通帳番号", X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("tsucho_no"));
				} else {
					subbean.sendMessageString("通帳番号", X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
				// 引継支払方法（電話）.送付先名 ← 請求契約一覧照会（支払方法取得）（電話）ＳＣマップ.請求契約一覧照会明細.送付先名
				if (childMap != null) {
					subbean.sendMessageString("送付先名", X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("sohus_nm"));
				} else {
					subbean.sendMessageString("送付先名", X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
				// 引継支払方法（電話）.送付先市区町村名 ← 請求契約一覧照会（支払方法取得）（電話）ＳＣマップ.請求契約一覧照会明細.送付先市区町村名
				if (childMap != null) {
					subbean.sendMessageString("送付先市区町村名", X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("sohus_city_nm"));
				} else {
					subbean.sendMessageString("送付先市区町村名", X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
				// 引継支払方法（電話）.送付先大字通称名 ← 請求契約一覧照会（支払方法取得）（電話）ＳＣマップ.請求契約一覧照会明細.送付先大字通称名
				if (childMap != null) {
					subbean.sendMessageString("送付先大字通称名", X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("sohus_oaztsu_nm"));
				} else {
					subbean.sendMessageString("送付先大字通称名", X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
				// 引継支払方法（電話）.送付先字丁目名 ← 請求契約一覧照会（支払方法取得）（電話）ＳＣマップ.請求契約一覧照会明細.送付先字丁目名
				if (childMap != null) {
					subbean.sendMessageString("送付先字丁目名", X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("sohus_azcho_nm"));
				} else {
					subbean.sendMessageString("送付先字丁目名", X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
				// 引継支払方法（電話）.送付先住所補記・建物名 ← 請求契約一覧照会（支払方法取得）（電話）ＳＣマップ.請求契約一覧照会明細.送付先住所補記・建物名
				if (childMap != null) {
					subbean.sendMessageString("送付先住所補記・建物名", X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("sohus_adrttm"));
				} else {
					subbean.sendMessageString("送付先住所補記・建物名", X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
				// 引継支払方法（電話）.送付先住所補記・部屋番号 ← 請求契約一覧照会（支払方法取得）（電話）ＳＣマップ.請求契約一覧照会明細.送付先住所補記・部屋番号
				if (childMap != null) {
					subbean.sendMessageString("送付先住所補記・部屋番号", X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("sohus_adrrm"));
				} else {
					subbean.sendMessageString("送付先住所補記・部屋番号", X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
				// 引継支払方法（電話）.送付先番地号 ← 請求契約一覧照会（支払方法取得）（電話）ＳＣマップ.請求契約一覧照会明細.送付先番地号
				if (childMap != null) {
					subbean.sendMessageString("送付先番地号", X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("sohus_bnchigo"));
				} else {
					subbean.sendMessageString("送付先番地号", X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
				// 引継支払方法（電話）.更新年月日時分秒 ← 請求契約一覧照会（支払方法取得）（電話）ＳＣマップ.請求契約一覧照会明細.更新年月日時分秒
				if (childMap != null) {
					subbean.sendMessageString("更新年月日時分秒", X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("upd_dtm"));
				} else {
					subbean.sendMessageString("更新年月日時分秒", X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
			}
		}


		return bean;
	}

	/**
	 * 下りマッピング
	 * @param bean　[0]：お支払い方法入力（量販・訪販）
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getFUSV030105SC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("FUSV030105SC")){
			parentMap = (HashMap)outputMap.get("FUSV030105SC");
		}

		ArrayList childList = null;
		

		X31SDataBeanAccessArray listFUSV030105SC_hktgi_payway_EKK0491B505CBSMsg1List = bean[0].getDataBeanArray("引継支払方法（テレビ）");
		childList = null;
		if(listFUSV030105SC_hktgi_payway_EKK0491B505CBSMsg1List != null && parentMap != null && parentMap.containsKey("EKK0491B505CBSMsg1List")){
			childList = (ArrayList)parentMap.get("EKK0491B505CBSMsg1List");

			for(int i = 0; i < childList.size(); i++){
				X31SDataBeanAccess subbean = null;
				if(listFUSV030105SC_hktgi_payway_EKK0491B505CBSMsg1List.getCount() -1 >= i){
					subbean = listFUSV030105SC_hktgi_payway_EKK0491B505CBSMsg1List.getDataBean(i);
				}else{
					subbean = listFUSV030105SC_hktgi_payway_EKK0491B505CBSMsg1List.addDataBean();
				}
				HashMap childMap = (HashMap)childList.get(i);
				if (subbean == null) {
					continue;
				}
			
				// 引継支払方法（テレビ）.請求契約番号 ← 請求契約一覧照会（支払方法取得）（テレビ）ＳＣマップ.請求契約一覧照会明細.請求契約番号
				if (childMap != null) {
					subbean.sendMessageString("請求契約番号", X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("seiky_kei_no"));
				} else {
					subbean.sendMessageString("請求契約番号", X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
				// 引継支払方法（テレビ）.請求契約ステータス ← 請求契約一覧照会（支払方法取得）（テレビ）ＳＣマップ.請求契約一覧照会明細.請求契約ステータス
				if (childMap != null) {
					subbean.sendMessageString("請求契約ステータス", X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("seiky_kei_stat"));
				} else {
					subbean.sendMessageString("請求契約ステータス", X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
				// 引継支払方法（テレビ）.請求契約ステータス名称 ← 請求契約一覧照会（支払方法取得）（テレビ）ＳＣマップ.請求契約一覧照会明細.請求契約ステータス名称
				if (childMap != null) {
					subbean.sendMessageString("請求契約ステータス名称", X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("seiky_kei_stat_nm"));
				} else {
					subbean.sendMessageString("請求契約ステータス名称", X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
				// 引継支払方法（テレビ）.請求方法コード ← 請求契約一覧照会（支払方法取得）（テレビ）ＳＣマップ.請求契約一覧照会明細.請求方法コード
				if (childMap != null) {
					subbean.sendMessageString("請求方法コード", X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("seiky_way_cd"));
				} else {
					subbean.sendMessageString("請求方法コード", X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
				// 引継支払方法（テレビ）.請求方法コード名称 ← 請求契約一覧照会（支払方法取得）（テレビ）ＳＣマップ.請求契約一覧照会明細.請求方法コード名称
				if (childMap != null) {
					subbean.sendMessageString("請求方法コード名称", X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("seiky_way_cd_nm"));
				} else {
					subbean.sendMessageString("請求方法コード名称", X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
				// 引継支払方法（テレビ）.請求方法番号（口座） ← 請求契約一覧照会（支払方法取得）（テレビ）ＳＣマップ.請求契約一覧照会明細.請求方法番号(口座)
				if (childMap != null) {
					subbean.sendMessageString("請求方法番号（口座）", X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("seiky_way_no_koza"));
				} else {
					subbean.sendMessageString("請求方法番号（口座）", X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
				// 引継支払方法（テレビ）.請求方法番号（クレジットカード） ← 請求契約一覧照会（支払方法取得）（テレビ）ＳＣマップ.請求契約一覧照会明細.請求方法番号(クレジットカード)
				if (childMap != null) {
					subbean.sendMessageString("請求方法番号（クレジットカード）", X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("seiky_way_no_crecard"));
				} else {
					subbean.sendMessageString("請求方法番号（クレジットカード）", X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
				// 引継支払方法（テレビ）.金融機関名 ← 請求契約一覧照会（支払方法取得）（テレビ）ＳＣマップ.請求契約一覧照会明細.金融機関名
				if (childMap != null) {
					subbean.sendMessageString("金融機関名", X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("bank_nm"));
				} else {
					subbean.sendMessageString("金融機関名", X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
				// 引継支払方法（テレビ）.金融機関支店名 ← 請求契約一覧照会（支払方法取得）（テレビ）ＳＣマップ.請求契約一覧照会明細.金融機関支店名
				if (childMap != null) {
					subbean.sendMessageString("金融機関支店名", X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("bank_shiten_nm"));
				} else {
					subbean.sendMessageString("金融機関支店名", X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
				// 引継支払方法（テレビ）.口座番号 ← 請求契約一覧照会（支払方法取得）（テレビ）ＳＣマップ.請求契約一覧照会明細.口座番号
				if (childMap != null) {
					subbean.sendMessageString("口座番号", X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("koza_no"));
				} else {
					subbean.sendMessageString("口座番号", X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
				// 引継支払方法（テレビ）.預金種目コード ← 請求契約一覧照会（支払方法取得）（テレビ）ＳＣマップ.請求契約一覧照会明細.預金種目コード
				if (childMap != null) {
					subbean.sendMessageString("預金種目コード", X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("yokin_shumoku_cd"));
				} else {
					subbean.sendMessageString("預金種目コード", X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
				// 引継支払方法（テレビ）.預金種目コード名称 ← 請求契約一覧照会（支払方法取得）（テレビ）ＳＣマップ.請求契約一覧照会明細.預金種目コード名称
				if (childMap != null) {
					subbean.sendMessageString("預金種目コード名称", X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("yokin_shumoku_cd_nm"));
				} else {
					subbean.sendMessageString("預金種目コード名称", X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
				// 引継支払方法（テレビ）.クレジットカード会社名 ← 請求契約一覧照会（支払方法取得）（テレビ）ＳＣマップ.請求契約一覧照会明細.クレジットカード会社名
				if (childMap != null) {
					subbean.sendMessageString("クレジットカード会社名", X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("crecard_comp_nm"));
				} else {
					subbean.sendMessageString("クレジットカード会社名", X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
				// 引継支払方法（テレビ）.クレジットカード番号 ← 請求契約一覧照会（支払方法取得）（テレビ）ＳＣマップ.請求契約一覧照会明細.クレジットカード番号
				if (childMap != null) {
					subbean.sendMessageString("クレジットカード番号", X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("crecard_no"));
				} else {
					subbean.sendMessageString("クレジットカード番号", X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
				// 引継支払方法（テレビ）.通帳記号 ← 請求契約一覧照会（支払方法取得）（テレビ）ＳＣマップ.請求契約一覧照会明細.通帳記号
				if (childMap != null) {
					subbean.sendMessageString("通帳記号", X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("tsucho_symbol"));
				} else {
					subbean.sendMessageString("通帳記号", X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
				// 引継支払方法（テレビ）.通帳番号 ← 請求契約一覧照会（支払方法取得）（テレビ）ＳＣマップ.請求契約一覧照会明細.通帳番号
				if (childMap != null) {
					subbean.sendMessageString("通帳番号", X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("tsucho_no"));
				} else {
					subbean.sendMessageString("通帳番号", X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
				// 引継支払方法（テレビ）.送付先名 ← 請求契約一覧照会（支払方法取得）（テレビ）ＳＣマップ.請求契約一覧照会明細.送付先名
				if (childMap != null) {
					subbean.sendMessageString("送付先名", X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("sohus_nm"));
				} else {
					subbean.sendMessageString("送付先名", X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
				// 引継支払方法（テレビ）.送付先市区町村名 ← 請求契約一覧照会（支払方法取得）（テレビ）ＳＣマップ.請求契約一覧照会明細.送付先市区町村名
				if (childMap != null) {
					subbean.sendMessageString("送付先市区町村名", X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("sohus_city_nm"));
				} else {
					subbean.sendMessageString("送付先市区町村名", X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
				// 引継支払方法（テレビ）.送付先大字通称名 ← 請求契約一覧照会（支払方法取得）（テレビ）ＳＣマップ.請求契約一覧照会明細.送付先大字通称名
				if (childMap != null) {
					subbean.sendMessageString("送付先大字通称名", X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("sohus_oaztsu_nm"));
				} else {
					subbean.sendMessageString("送付先大字通称名", X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
				// 引継支払方法（テレビ）.送付先字丁目名 ← 請求契約一覧照会（支払方法取得）（テレビ）ＳＣマップ.請求契約一覧照会明細.送付先字丁目名
				if (childMap != null) {
					subbean.sendMessageString("送付先字丁目名", X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("sohus_azcho_nm"));
				} else {
					subbean.sendMessageString("送付先字丁目名", X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
				// 引継支払方法（テレビ）.送付先住所補記・建物名 ← 請求契約一覧照会（支払方法取得）（テレビ）ＳＣマップ.請求契約一覧照会明細.送付先住所補記・建物名
				if (childMap != null) {
					subbean.sendMessageString("送付先住所補記・建物名", X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("sohus_adrttm"));
				} else {
					subbean.sendMessageString("送付先住所補記・建物名", X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
				// 引継支払方法（テレビ）.送付先住所補記・部屋番号 ← 請求契約一覧照会（支払方法取得）（テレビ）ＳＣマップ.請求契約一覧照会明細.送付先住所補記・部屋番号
				if (childMap != null) {
					subbean.sendMessageString("送付先住所補記・部屋番号", X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("sohus_adrrm"));
				} else {
					subbean.sendMessageString("送付先住所補記・部屋番号", X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
				// 引継支払方法（テレビ）.送付先番地号 ← 請求契約一覧照会（支払方法取得）（テレビ）ＳＣマップ.請求契約一覧照会明細.送付先番地号
				if (childMap != null) {
					subbean.sendMessageString("送付先番地号", X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("sohus_bnchigo"));
				} else {
					subbean.sendMessageString("送付先番地号", X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
				// 引継支払方法（テレビ）.更新年月日時分秒 ← 請求契約一覧照会（支払方法取得）（テレビ）ＳＣマップ.請求契約一覧照会明細.更新年月日時分秒
				if (childMap != null) {
					subbean.sendMessageString("更新年月日時分秒", X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("upd_dtm"));
				} else {
					subbean.sendMessageString("更新年月日時分秒", X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
			}
		}


		return bean;
	}
// ANK-3518-00-00 ADD END

	/**
	 * 業務パラメータ管理一意照会（ペイジェント向けマーチャントID）の下りマッピング
	 * @param bean　[0]：支払方法変更受付　[1]：共有フォームビーン
	 * @param outputMap
	 * @return bean
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getFUSV030106SC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{
		HashMap parentMap = null;
		if (outputMap.containsKey("FUSV030106SC"))
		{
			parentMap = (HashMap)outputMap.get("FUSV030106SC");
		}

		if (null != parentMap && parentMap.containsKey("EZM0321A010CBSMsg1List"))
		{
			ArrayList childList = (ArrayList)parentMap.get("EZM0321A010CBSMsg1List");

			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(FUW00945SFConst.MERCHANT_ID, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("work_param_sette_value"));
				}
			}
		}
		return bean;
	}

}