/*********************************************************************
 *	All Rights reserved,Copyright (c) K-Opticom
 **********************************************************************
 *＜プログラム内容＞
 *	システム名		：eo顧客基幹システム
 *	モジュール名	：CHSV0004_CHSV0004OPDBMapper
 *	ソースファイル名：CHSV0004_CHSV0004OPDBMapper.java
 *	作成者			：富士通
 *	日付			：2012年04月26日
 *＜機能概要＞
 *	BP（入金詳細照会）へのＤ−Ｂマッピングクラスです。
 *＜修正履歴＞
 *	バージョン	修正日		修正者		修正内容
 *	v1.00.00	2012/04/26	富士通		新規作成
 *  v5.00.00	2013/07/06  FJ) 林	   【LT-2013-0000252】 社内使用分＿組織コード名称マッピングミスを修正
 *  v5.00.01	2013/07/16  FJ) 山口   【LT-2013-0000504】 クレジット会社名のマッピングミスを修正
 *	v5.00.00	2013/08/03	FJ)吉田	   【IT1-2013-0001510】入金系画面強化対応 
 *
 **********************************************************************/
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.JACStrConst;
import eo.web.webview.common.JCHWebCommon;

/**
 * DataBean-BPマッピングをする。
 * 
 */
public class CHSV0004_CHSV0004OPDBMapper
{

	/**
	 * コンストラクタ
	 */
	public CHSV0004_CHSV0004OPDBMapper()
	{
	}

	/**
	 * 上りマッピングをする
	 * 
	 * @param bean　[0]：入金詳細照会
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setCHSV000401SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{

		if (bean == null)
		{
			return null;
		}

		if (bean.length != 1)
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		// 入金番号 → 入金照会マップ.ＫＥＹ＿入金番号
		parentMap.put("key_nyukin_no", bean[0].sendMessageString("入金番号", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("CHSV000401SC", parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * 
	 * @param bean　[0]：入金詳細照会
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setCHSV000402SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{

		if (bean == null)
		{
			return null;
		}

		if (bean.length != 1)
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		// 入金番号 → 充当一覧照会マップ.ＫＥＹ＿入金番号
		parentMap.put("key_nyukin_no", bean[0].sendMessageString("入金番号", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("CHSV000402SC", parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * 
	 * @param bean　[0]：入金詳細照会
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setCHSV000403SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{

		if (bean == null)
		{
			return null;
		}

		if (bean.length != 1)
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		// 入金番号 → 金庫一意照会マップ.ＫＥＹ＿入金番号
		parentMap.put("key_nyukin_no", bean[0].sendMessageString("入金番号", X31CWebConst.DATABEAN_GET_VALUE));
		// 請求契約番号 → 金庫一意照会マップ.ＫＥＹ＿請求契約
		parentMap.put("key_seiky_kei_no", bean[0].sendMessageString("請求契約番号", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("CHSV000403SC", parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * 
	 * @param bean　[0]：入金詳細照会
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setCHSV000404SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{

		if (bean == null)
		{
			return null;
		}

		if (bean.length != 1)
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		outputMap.put("CHSV000404SC", parentMap);

		return outputMap;
	}

	/**
	 * 下りマッピング
	 * 
	 * @param bean　[0]：入金詳細照会
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getCHSV000401SC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{

		HashMap parentMap = null;
		if (outputMap.containsKey("CHSV000401SC"))
		{
			parentMap = (HashMap)outputMap.get("CHSV000401SC");
		}

		ArrayList childList = null;

		X31SDataBeanAccessArray listCHSV000401SC_nyukin_info_ECH0111A010CBSMsg1List = bean[0].getDataBeanArray("入金情報");
		childList = null;
		if (listCHSV000401SC_nyukin_info_ECH0111A010CBSMsg1List != null && parentMap != null && parentMap.containsKey("ECH0111A010CBSMsg1List"))
		{
			childList = (ArrayList)parentMap.get("ECH0111A010CBSMsg1List");

			for (int i = 0; i < childList.size(); i++)
			{
				X31SDataBeanAccess subbean = null;
				if (listCHSV000401SC_nyukin_info_ECH0111A010CBSMsg1List.getCount() - 1 >= i)
				{
					subbean = listCHSV000401SC_nyukin_info_ECH0111A010CBSMsg1List.getDataBean(i);
				}
				else
				{
					subbean = listCHSV000401SC_nyukin_info_ECH0111A010CBSMsg1List.addDataBean();
				}

				HashMap childMap = (HashMap)childList.get(i);
				if (subbean == null)
				{
					continue;
				}

				if (childMap != null)
				{
					// 入金情報.入金番号 ← 入金一意照会マップ.入金一意明細.入金番号
					subbean.sendMessageString("入金番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("nyukin_no"));

					// 入金情報.入金ステータス名称 ← 入金一意照会マップ.入金一意明細.入金ステータス名称
					subbean.sendMessageString("入金ステータス名称", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("nyukin_stat_nm"));

					// 入金情報.入金経路コード ← 入金一意照会マップ.入金一意明細.入金経路コード
					subbean.sendMessageString("入金経路コード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("nyukin_route_cd"));

					// 入金情報.入金経路コード名称 ← 入金一意照会マップ.入金一意明細.入金経路コード名称
					subbean.sendMessageString("入金経路コード名称", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("nyukin_route_cd_nm"));

					// 入金情報.収納機関コード名称 ← 入金一意照会マップ.入金一意明細.収納機関コード名称
					subbean.sendMessageString("収納機関コード名称", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("shunokikan_cd_nm"));

					// 入金情報.外部組織収納年月日 ← 入金一意照会マップ.入金一意明細.外部組織収納年月日
					subbean.sendMessageString("外部組織収納年月日", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("out_org_shuno_ymd"));

					// 入金情報.入金処理年月日 ← 入金一意照会マップ.入金一意明細.入金処理年月日
					subbean.sendMessageString("入金処理年月日", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("nyukin_trn_ymd"));

					// 入金情報.入金処理時分秒 ← 入金一意照会マップ.入金一意明細.入金処理時分秒
					subbean.sendMessageString("入金処理時分秒", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("nyukin_trn_hms"));

					// 入金情報.領収年月日 ← 入金一意照会マップ.入金一意明細.領収年月日
					subbean.sendMessageString("領収年月日", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("receipt_ymd"));

					// 入金情報.領収時分秒 ← 入金一意照会マップ.入金一意明細.領収時分秒
					subbean.sendMessageString("領収時分秒", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("receipt_hms"));

					// 入金情報.入金額 ← 入金一意照会マップ.入金一意明細.入金額
					subbean.sendMessageString("入金額", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("nyukin_amnt"));

					// 入金情報.入金登録方法コード ← 入金一意照会マップ.入金一意明細.入金登録方法コード
					subbean.sendMessageString("入金登録方法コード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("nyukin_add_way_cd"));

					// 入金情報.入金登録方法コード名称 ← 入金一意照会マップ.入金一意明細.入金登録方法コード名称
					subbean.sendMessageString("入金登録方法コード名称", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("nyukin_add_way_cd_nm"));

					// 入金情報.口座振替＿金融機関名 ← 入金一意照会マップ.入金一意明細.口座振替＿金融機関名
					subbean.sendMessageString("口座振替＿金融機関名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("khri_bank_nm"));

					// 入金情報.口座振替＿金融機関支店名 ← 入金一意照会マップ.入金一意明細.口座振替＿金融機関支店名
					subbean.sendMessageString("口座振替＿金融機関支店名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("khri_bank_shiten_nm"));

					// 入金情報.窓口＿金融機関名 ← 入金一意照会マップ.入金一意明細.窓口＿金融機関名
					subbean.sendMessageString("窓口＿金融機関名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("madoguchi_bank_nm"));

					// 入金情報.窓口＿金融機関支店名 ← 入金一意照会マップ.入金一意明細.窓口＿金融機関支店名
					subbean.sendMessageString("窓口＿金融機関支店名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("madoguchi_bank_shiten_nm"));

					// 入金情報.コンビニ＿コンビニエンスストア会社名称 ← 入金一意照会マップ.入金一意明細.コンビニ＿コンビニエンスストア会社名
					subbean.sendMessageString("コンビニ＿コンビニエンスストア会社名称", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("cvstore_comp_nm"));

					// 入金情報.コンビニ＿コンビニ受付店コード ← 入金一意照会マップ.入金一意明細.コンビニ＿コンビニ受付店コード
					subbean.sendMessageString("コンビニ＿コンビニ受付店コード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("cvstore_uk_ten_cd"));

					// 入金情報.コンビニ＿ＥＡＮメーカーコード名称 ← 入金一意照会マップ.入金一意明細.コンビニ＿ＥＡＮメーカーコード名称
					subbean.sendMessageString("コンビニ＿ＥＡＮメーカーコード名称", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("ean_maker_cd_nm"));

					// 入金情報.コンビニ＿コンビニリアル業務区分コード名称 ← 入金一意照会マップ.入金一意明細.コンビニ＿コンビニリアル業務区分コード名称
					subbean.sendMessageString("コンビニ＿コンビニリアル業務区分コード名称", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("cvstore_real_work_nm"));

					// 入金情報.コンビニ＿コンビニリアル速報通知年月日 ← 入金一意照会マップ.入金一意明細.コンビニ＿コンビニリアル速報通知年月日
					subbean.sendMessageString("コンビニ＿コンビニリアル速報通知年月日", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("cvstore_real_sokho_tch_ymd"));

					// 入金情報.コンビニ＿コンビ二リアル速報通知時分秒 ← 入金一意照会マップ.入金一意明細.コンビニ＿コンビ二リアル速報通知時分秒
					subbean.sendMessageString("コンビニ＿コンビ二リアル速報通知時分秒", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("cvstore_real_sokho_tch_hms"));

					// 入金情報.コンビニ＿コンビ二速報通知年月日 ← 入金一意照会マップ.入金一意明細.コンビニ＿コンビ二速報通知年月日
					subbean.sendMessageString("コンビニ＿コンビ二速報通知年月日", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("cvstore_sokho_tch_ymd"));

					// 入金情報.コンビニ＿コンビニ確報通知年月日 ← 入金一意照会マップ.入金一意明細.コンビニ＿コンビニ確報通知年月日
					subbean.sendMessageString("コンビニ＿コンビニ確報通知年月日", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("cvstore_kakho_tch_ymd"));

					// 入金情報.コンビニ＿コンビニ支払予定年月日 ← 入金一意照会マップ.入金一意明細.コンビニ＿コンビニ支払予定年月日
					subbean.sendMessageString("コンビニ＿コンビニ支払予定年月日", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("cvstore_pay_rsv_ymd"));

					// 入金情報.コンビニ＿コンビニ速報取消通知年月日 ← 入金一意照会マップ.入金一意明細.コンビニ＿コンビニ速報取消通知年月日
					subbean.sendMessageString("コンビニ＿コンビニ速報取消通知年月日", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("cvstore_sokho_cl_tch_ymd"));

					// 入金情報.債権回収委託会社＿債権回収委託会社名 ← 入金一意照会マップ.入金一意明細.債権回収委託会社＿債権回収委託会社名
					subbean.sendMessageString("債権回収委託会社＿債権回収委託会社名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("sknksitkcm_nm"));

					// 入金情報.総合口座＿指定口座コード名称 ← 入金一意照会マップ.入金一意明細.総合口座＿指定口座コード名称
					subbean.sendMessageString("総合口座＿指定口座コード名称", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("shiteikoza_cd_nm"));

					// 入金情報.総合口座＿受取組織コード名称 ← 入金一意照会マップ.入金一意明細.総合口座＿受取組織コード名称
					subbean.sendMessageString("総合口座＿受取組織コード名称", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("uketori_org_cd_nm"));

					// 入金情報.郵便振込＿受取組織コード名称 ← 入金一意照会マップ.入金一意明細.郵便振込＿受取組織コード名称
					subbean.sendMessageString("郵便振込＿受取組織コード名称", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("yhrikomi_uketori_org_nm"));

					// 入金情報.郵券＿受取組織コード名称 ← 入金一意照会マップ.入金一意明細.郵券＿受取組織コード名称
					subbean.sendMessageString("郵券＿受取組織コード名称", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("yuken_uketori_org_cd_nm"));

					// 入金情報.社内使用分＿組織コード名称 ← 入金一意照会マップ.入金一意明細.社内使用分＿組織コード名称
					subbean.sendMessageString("社内使用分＿組織コード名称", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("syayobun_org_cd_nm"));

					// 入金情報.登録オペレータアカウント名称 ← 入金一意照会マップ.入金一意明細.登録オペレータアカウント名称
					subbean.sendMessageString("登録オペレータアカウント名称", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("add_opeacnt_nm"));

					// 入金情報.クレジット＿クレジットカード会社名 ← 入金一意照会マップ.入金一意明細.クレジット＿クレジットカード会社名
					subbean.sendMessageString("クレジット＿クレジットカード会社名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("crecard_comp_nm"));
				}
				else
				{
					subbean.sendMessageString("入金番号", X31CWebConst.DATABEAN_SET_VALUE, new String());
					subbean.sendMessageString("入金ステータス名称", X31CWebConst.DATABEAN_SET_VALUE, new String());
					subbean.sendMessageString("入金経路コード", X31CWebConst.DATABEAN_SET_VALUE, new String());
					subbean.sendMessageString("入金経路コード名称", X31CWebConst.DATABEAN_SET_VALUE, new String());
					subbean.sendMessageString("収納機関コード名称", X31CWebConst.DATABEAN_SET_VALUE, new String());
					subbean.sendMessageString("外部組織収納年月日", X31CWebConst.DATABEAN_SET_VALUE, new String());
					subbean.sendMessageString("入金処理年月日", X31CWebConst.DATABEAN_SET_VALUE, new String());
					subbean.sendMessageString("入金処理時分秒", X31CWebConst.DATABEAN_SET_VALUE, new String());
					subbean.sendMessageString("領収年月日", X31CWebConst.DATABEAN_SET_VALUE, new String());
					subbean.sendMessageString("領収時分秒", X31CWebConst.DATABEAN_SET_VALUE, new String());
					subbean.sendMessageString("入金額", X31CWebConst.DATABEAN_SET_VALUE, new String());
					subbean.sendMessageString("入金登録方法コード", X31CWebConst.DATABEAN_SET_VALUE, new String());
					subbean.sendMessageString("入金登録方法コード名称", X31CWebConst.DATABEAN_SET_VALUE, new String());
					subbean.sendMessageString("口座振替＿金融機関名", X31CWebConst.DATABEAN_SET_VALUE, new String());
					subbean.sendMessageString("口座振替＿金融機関支店名", X31CWebConst.DATABEAN_SET_VALUE, new String());
					subbean.sendMessageString("クレジット＿クレジットカード会社名", X31CWebConst.DATABEAN_SET_VALUE, new String());
					subbean.sendMessageString("窓口＿金融機関名", X31CWebConst.DATABEAN_SET_VALUE, new String());
					subbean.sendMessageString("窓口＿金融機関支店名", X31CWebConst.DATABEAN_SET_VALUE, new String());
					subbean.sendMessageString("コンビニ＿コンビニエンスストア会社名称", X31CWebConst.DATABEAN_SET_VALUE, new String());
					subbean.sendMessageString("コンビニ＿コンビニ受付店コード", X31CWebConst.DATABEAN_SET_VALUE, new String());
					subbean.sendMessageString("コンビニ＿ＥＡＮメーカーコード名称", X31CWebConst.DATABEAN_SET_VALUE, new String());
					subbean.sendMessageString("コンビニ＿コンビニリアル業務区分コード名称", X31CWebConst.DATABEAN_SET_VALUE, new String());
					subbean.sendMessageString("コンビニ＿コンビニリアル速報通知年月日", X31CWebConst.DATABEAN_SET_VALUE, new String());
					subbean.sendMessageString("コンビニ＿コンビ二リアル速報通知時分秒", X31CWebConst.DATABEAN_SET_VALUE, new String());
					subbean.sendMessageString("コンビニ＿コンビ二速報通知年月日", X31CWebConst.DATABEAN_SET_VALUE, new String());
					subbean.sendMessageString("コンビニ＿コンビニ確報通知年月日", X31CWebConst.DATABEAN_SET_VALUE, new String());
					subbean.sendMessageString("コンビニ＿コンビニ支払予定年月日", X31CWebConst.DATABEAN_SET_VALUE, new String());
					subbean.sendMessageString("コンビニ＿コンビニ速報取消通知年月日", X31CWebConst.DATABEAN_SET_VALUE, new String());
					subbean.sendMessageString("債権回収委託会社＿債権回収委託会社名", X31CWebConst.DATABEAN_SET_VALUE, new String());
					subbean.sendMessageString("総合口座＿指定口座コード名称", X31CWebConst.DATABEAN_SET_VALUE, new String());
					subbean.sendMessageString("総合口座＿受取組織コード名称", X31CWebConst.DATABEAN_SET_VALUE, new String());
					subbean.sendMessageString("郵便振込＿受取組織コード名称", X31CWebConst.DATABEAN_SET_VALUE, new String());
					subbean.sendMessageString("郵券＿受取組織コード名称", X31CWebConst.DATABEAN_SET_VALUE, new String());
					subbean.sendMessageString("社内使用分＿組織コード名称", X31CWebConst.DATABEAN_SET_VALUE, new String());
					subbean.sendMessageString("登録オペレータアカウント名称", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}

			}
		}

		return bean;
	}

	/**
	 * 下りマッピング
	 * 
	 * @param bean　[0]：入金詳細照会
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getCHSV000402SC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{

		String jutoAmntTotal = "0";
		HashMap parentMap = null;

		if (outputMap.containsKey("CHSV000402SC"))
		{
			parentMap = (HashMap)outputMap.get("CHSV000402SC");
		}

		ArrayList childList = null;

		if (parentMap != null && parentMap.containsKey("ECH0201B010CBSMsg1List"))
		{
			childList = (ArrayList)parentMap.get("ECH0201B010CBSMsg1List");

			for (int i = 0; i < childList.size(); i++)
			{
				HashMap childMap = (HashMap)childList.get(i);

				// 充当額合計を加算
				jutoAmntTotal = JCHWebCommon.calcAdd(jutoAmntTotal, (String)childMap.get("juto_amnt"), false);
			}
		}

		// 充当情報.充当額 ← 充当額合計
		bean[0].sendMessageString("充当額", X31CWebConst.DATABEAN_SET_VALUE, jutoAmntTotal);

		return bean;
	}

	/**
	 * 下りマッピング
	 * 
	 * @param bean　[0]：入金詳細照会
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getCHSV000403SC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{

		HashMap parentMap = null;
		if (outputMap.containsKey("CHSV000403SC"))
		{
			parentMap = (HashMap)outputMap.get("CHSV000403SC");
		}

		ArrayList childList = null;

		X31SDataBeanAccessArray listCHSV000403SC_knk_info_ECH0191B015CBSMsg1List = bean[0].getDataBeanArray("金庫情報");
		childList = null;
		if (listCHSV000403SC_knk_info_ECH0191B015CBSMsg1List != null && parentMap != null && parentMap.containsKey("ECH0191B015CBSMsg1List"))
		{
			childList = (ArrayList)parentMap.get("ECH0191B015CBSMsg1List");

			for (int i = 0; i < childList.size(); i++)
			{
				X31SDataBeanAccess subbean = null;
				if (listCHSV000403SC_knk_info_ECH0191B015CBSMsg1List.getCount() - 1 >= i)
				{
					subbean = listCHSV000403SC_knk_info_ECH0191B015CBSMsg1List.getDataBean(i);
				}
				else
				{
					subbean = listCHSV000403SC_knk_info_ECH0191B015CBSMsg1List.addDataBean();
				}
				HashMap childMap = (HashMap)childList.get(i);
				if (subbean == null)
				{
					continue;
				}

				if (childMap != null)
				{
					// 入金一覧情報.金庫統合区分 ← 入金一覧照会マップ.入金一覧照会明細.金庫統合区分
					String togoKbn = (String)childMap.get("togo_kbn");
					subbean.sendMessageString("金庫統合区分", X31CWebConst.DATABEAN_SET_VALUE, togoKbn);

					// 金庫情報.金庫件数 ← 金庫一覧照会マップ.金庫一覧明細.金庫件数
					String knkCnt = (String)childMap.get("knk_cnt");
					subbean.sendMessageString("金庫件数", X31CWebConst.DATABEAN_SET_VALUE, knkCnt);

					// 金庫番号
					String knkNo = "";
					// 金庫金額
					String knkAmnt = "";

					// 金庫統合されている場合、金庫番号、金庫金額をアスタリスク表示
					if ("1".equals(togoKbn))
					{
						knkNo = JACStrConst.KNK_FULL_ASTERISK;
						knkAmnt = JACStrConst.KNK_FULL_ASTERISK;
					}
					else
					{
						// 金庫が複数存在する場合、金庫番号をアスタリスク表示
						if (Integer.parseInt(knkCnt) > 1)
						{
							knkNo = JACStrConst.KNK_FULL_ASTERISK;
						}
						else
						{
							knkNo = (String)childMap.get("knk_no");
						}
						knkAmnt = (String)childMap.get("knk_amnt");
					}

					// 金庫情報.金庫番号 ← 金庫一覧照会マップ.金庫一覧明細.金庫番号
					subbean.sendMessageString("金庫番号", X31CWebConst.DATABEAN_SET_VALUE, knkNo);

					// 金庫情報.金庫金額 ← 金庫一覧照会マップ.金庫一覧明細.金庫金額
					subbean.sendMessageString("金庫金額", X31CWebConst.DATABEAN_SET_VALUE, knkAmnt);
				}
				else
				{
					subbean.sendMessageString("金庫統合区分", X31CWebConst.DATABEAN_SET_VALUE, new String());
					subbean.sendMessageString("金庫件数", X31CWebConst.DATABEAN_SET_VALUE, new String());
					subbean.sendMessageString("金庫番号", X31CWebConst.DATABEAN_SET_VALUE, new String());
					subbean.sendMessageString("金庫金額", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
			}
		}

		return bean;
	}

	/**
	 * 下りマッピング
	 * 
	 * @param bean　[0]：入金詳細照会
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getCHSV000404SC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{

		HashMap parentMap = null;
		if (outputMap.containsKey("CHSV000404SC"))
		{
			parentMap = (HashMap)outputMap.get("CHSV000404SC");
		}

		ArrayList childList = null;

		X31SDataBeanAccessArray listCHSV000404SC_nyukin_info_ECH0051A010CBSMsg1List = bean[0].getDataBeanArray("入金情報");
		childList = null;
		if (listCHSV000404SC_nyukin_info_ECH0051A010CBSMsg1List != null && parentMap != null && parentMap.containsKey("ECH0051A010CBSMsg1List"))
		{
			childList = (ArrayList)parentMap.get("ECH0051A010CBSMsg1List");

			for (int i = 0; i < childList.size(); i++)
			{
				X31SDataBeanAccess subbean = null;
				if (listCHSV000404SC_nyukin_info_ECH0051A010CBSMsg1List.getCount() - 1 >= i)
				{
					subbean = listCHSV000404SC_nyukin_info_ECH0051A010CBSMsg1List.getDataBean(i);
				}
				else
				{
					subbean = listCHSV000404SC_nyukin_info_ECH0051A010CBSMsg1List.addDataBean();
				}

				HashMap childMap = (HashMap)childList.get(i);
				if (subbean == null)
				{
					continue;
				}

				if (childMap != null)
				{
					// 入金一意照会で取得できなかった場合セットする。
					if (subbean.sendMessageString("口座振替＿金融機関名", X31CWebConst.DATABEAN_GET_VALUE).isEmpty())
					{
						// 入金情報.口座振替＿金融機関名 ← 請求一意照会マップ.請求一意明細.口座振替＿金融機関名
						subbean.sendMessageString("口座振替＿金融機関名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("kofuri_bank_nm"));
					}

					// 入金一意照会で取得できなかった場合セットする。
					if (subbean.sendMessageString("口座振替＿金融機関支店名", X31CWebConst.DATABEAN_GET_VALUE).isEmpty())
					{
						// 入金情報.口座振替＿金融機関支店名 ← 請求一意照会マップ.請求一意明細.口座振替＿金融機関支店名
						subbean.sendMessageString("口座振替＿金融機関支店名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("kofuri_bank_shiten_nm"));
					}

					// 入金一意照会で取得できなかった場合セットする。
					if (subbean.sendMessageString("クレジット＿クレジットカード会社名", X31CWebConst.DATABEAN_GET_VALUE).isEmpty())
					{
						// 入金情報.クレジット＿クレジットカード会社名 ← 請求一意照会マップ.請求一意明細.クレジット＿クレジット会社名
						subbean.sendMessageString("クレジット＿クレジットカード会社名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("crecard_crecard_comp_nm"));
					}
				}
			}
		}

		return bean;
	}

}