/*********************************************************************
 *	All Rights reserved,Copyright (c) K-Opticom
 **********************************************************************
 *＜プログラム内容＞
 *	システム名		：eo顧客基幹システム
 *	モジュール名	：CHSV0009_CHSV0009OPDBMapper
 *	ソースファイル名：CHSV0009_CHSV0009OPDBMapper.java
 *	作成者			：富士通
 *	日付			：2011年08月21日
 *＜機能概要＞
 *	BP（入金登録画面情報取得）へのＤ−Ｂマッピングクラスです。
 *＜修正履歴＞
 *	バージョン	修正日		修正者		修正内容
 *	v1.00.00	2011/08/21	富士通		新規作成
 *	v5.00.00	2013/07/09	FJ)高川		【LT-2013-0000353】充当額初期表示対応
 *	v5.01.00	2013/07/16	FJ)小野		【LT-2013-0000504】クレジットカード情報の取得時、クレジット事業コードをFTTHに変更する。
 *	v5.00.00	2013/08/03	FJ)吉田		【IT1-2013-0001510】入金系画面強化対応 
 *	v32.00.00	2017/04/20	FJ) 清原	【ANK-2996-00-00】ＳＭＳを利用した即時決済サービスの導入
 *	v37.00.00	2018/04/24	FJ)麻生		【ANK-3366-00-00】eo光設備卸対応
 *	v52.00.00	2020/10/27	FJ) 寺園   【ANK-3838-00-00】窓口払い手数料の顧客負担方式導入
 *	v56.00.00	2021/12/07	FJ)麻生		【ANK-4139-00-00】クリアパス(NTTインターネット)からのコンビニ入金停止に伴う対応 STEP2
*
 **********************************************************************/
package eo.web.webview.mapping;

import java.math.BigDecimal;
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.common.constant.JZM0171Constant;
import eo.web.webview.CHW00801SF.CHW00801SFConst;
import eo.web.webview.CHW01102SF.CHW01102SFConst;

/**
 * DataBean-BPマッピングをする。
 * 
 */
public class CHSV0009_CHSV0009OPDBMapper
{

	/**
	 * コンストラクタ
	 */
	public CHSV0009_CHSV0009OPDBMapper()
	{
	}

	/**
	 * 上りマッピングをする
	 * 
	 * @param bean　[0]：入金登録
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setCHSV000901SC(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_seiky_kei_no", bean[0].sendMessageString("請求契約番号", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("CHSV000901SC", parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * 
	 * @param bean　[0]：入金登録
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setCHSV000902SC(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_seiky_kei_no", bean[0].sendMessageString("請求契約番号", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("CHSV000902SC", parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * 
	 * @param bean　[0]：入金登録
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setCHSV000903SC(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_seiky_kei_no", bean[0].sendMessageString("請求契約番号", X31CWebConst.DATABEAN_GET_VALUE));

		// 料金項目コード(預り金) → 預り金一覧照会マップ.ＫＥＹ＿金庫料金項目コード
		parentMap.put("key_knk_prc_kmk_cd", JACStrConst.PRC_KMK_CD_AZUKIN);

		// 金庫履歴データフラグ(カレントデータ) → 預り金一覧照会マップ.ＫＥＹ＿履歴データフラグ
		/* TODO : サービスIF側の仕様でカレントデータを照会する場合、"0"を指定 */
		//		parentMap.put("key_rireki_data_flg", JACStrConst.KNK_RIREKI_DATA_FLG_CURRENT);
		parentMap.put("key_rireki_data_flg", "0");

		outputMap.put("CHSV000903SC", parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * 
	 * @param bean　[0]：入金登録
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setCHSV000904SC(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_cd_sbt_cd", JZM0171Constant.CD00176);

		outputMap.put("CHSV000904SC", parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * 
	 * @param bean　[0]：入金登録
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setCHSV000905SC(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_cd_sbt_cd", JZM0171Constant.CD01329);

		outputMap.put("CHSV000905SC", parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * 
	 * @param bean　[0]：入金登録
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setCHSV000906SC(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);

		String nyukinRouteCd = bean[0].sendMessageString(CHW01102SFConst.NYUKIN_ROUTE_CD, X31CWebConst.DATABEAN_GET_VALUE);

		// 入金経路コードが総合口座の場合は指定口座コードを「CD01596」で取得する。
		if (nyukinRouteCd != null && JACStrConst.NYKNKEIRCD_TTL_KOZA.equals(nyukinRouteCd))
		{
			// コード種別コード(指定口座) → 指定口座一覧照会マップ.ＫＥＹ＿コード種別コード
			// TODO JZM0171ConstatにCD01596が定義されていないため、以下で暫定対応。
			parentMap.put("key_cd_sbt_cd", "CD01596");
			// parentMap.put("key_cd_sbt_cd", JZM0171Constant.CD01596);
		}
		else
		{
			// コード種別コード(指定口座) → 指定口座一覧照会マップ.ＫＥＹ＿コード種別コード
			parentMap.put("key_cd_sbt_cd", JZM0171Constant.CD00178);
		}

		outputMap.put("CHSV000906SC", parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * 
	 * @param bean　[0]：入金登録
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setCHSV000907SC(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("CHSV000907SC", parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * 
	 * @param bean　[0]：入金登録
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setCHSV000908SC(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("CHSV000908SC", parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * 
	 * @param bean　[0]：入金登録
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setCHSV000909SC(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);

		// クレジットカード事業コード(固定：FTTH事業) → クレジットカード会社一覧照会マップ.ＫＥＹ＿クレジットカード事業コード
		parentMap.put("key_crecard_jigyo_cd", JACStrConst.CRECARD_JIGYO_CD_FTTH);

		outputMap.put("CHSV000909SC", parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * 
	 * @param bean　[0]：入金登録
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setCHSV000910SC(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_seiky_kei_no", bean[0].sendMessageString("請求契約番号", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("CHSV000910SC", parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * 
	 * @param bean　[0]：入金登録
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setCHSV000911SC(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);

		// 業務パラメータID → 債権一覧照会マップ.ＫＥＹ＿業務パラメータID
		parentMap.put("key_work_param_id", JACStrConst.WORK_PARAM_ID_BANK_CD_YUUCHO);

		outputMap.put("CHSV000911SC", parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * 
	 * @param bean　[0]：入金登録
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setCHSV000912SC(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("CHSV000912SC", parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * 
	 * @param bean　[0]：入金登録
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap<String, Object> setGETWORKPARAMLISTCC(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);

		// 業務パラメータIDリスト
		ArrayList<HashMap<String, Object>> workParamList = new  ArrayList<HashMap<String, Object>>(); 

		HashMap<String, Object> workParamIdMap = new HashMap<String, Object>();
		workParamIdMap.put("in_work_param_id", JACStrConst.WKPARA_CH_BANK_CD_REMOVE);
		workParamList.add(workParamIdMap);

		// 業務パラメータIDリストを設定
		parentMap.put("WORK_PARAM_ID_List", workParamList);

		outputMap.put("GETWORKPARAMLISTCC", parentMap);

		return outputMap;
	}

//v32.00.00 Add Start
	
	/**
	 * 上りマッピングをする
	 * 
	 * @param bean　[0]：入金登録
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setSHUNOKKNINFOSTKUCC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{

		if (bean == null)
		{
			return null;
		}

		if (bean.length != 1)
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング

		outputMap.put("SHUNOKKNINFOSTKUCC", parentMap);

		return outputMap;
	}
//v32.00.00 Add End
	
	// ANK-3366-00-00 ADD START
	/**
	 * 上りマッピングをする
	 * 
	 * @param bean [0]：入金登録
	 * @param outputMap マップ
	 * @return マップ
	 */
	@SuppressWarnings("unchecked")
	public HashMap setORSJGSNMINFOSTKUCC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{

		if (bean == null)
		{
			return null;
		}

		if (bean.length != 1)
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング

		outputMap.put("ORSJGSNMINFOSTKUCC", parentMap);

		return outputMap;
	}
	// ANK-3366-00-00 ADD END

//v52.00.00 Add Start
	/**
	 * 上りマッピングをする
	 * 
	 * @param bean　[0]：入金登録
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setCHSV000913SC(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_cd_sbt_cd", JZM0171Constant.CD00911);

		outputMap.put("CHSV000913SC", parentMap);

		return outputMap;
	}
//v52.00.00 Add End

	/**
	 * 下りマッピング
	 * 
	 * @param bean　[0]：入金登録
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getCHSV000901SC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{

		HashMap parentMap = null;
		if (outputMap.containsKey("CHSV000901SC"))
		{
			parentMap = (HashMap)outputMap.get("CHSV000901SC");
		}

		ArrayList childList = null;
		if (bean[0] != null && parentMap != null && parentMap.containsKey("EKK0491A010CBSMsg1List"))
		{
			childList = (ArrayList)parentMap.get("EKK0491A010CBSMsg1List");

			for (int i = 0; i < childList.size(); i++)
			{
				HashMap childMap = (HashMap)childList.get(i);

				// 送付先名 ← 請求契約一意照会マップ.請求契約一意照会明細.送付先名
				if (childMap != null)
				{
					bean[0].sendMessageString(CHW00801SFConst.SOHUS_NM, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("sohus_nm"));
				}
				else
				{
					bean[0].sendMessageString(CHW00801SFConst.SOHUS_NM, X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
			}
		}

		return bean;
	}

	/**
	 * 下りマッピング
	 * 
	 * @param bean　[0]：入金登録
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getCHSV000902SC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{

		HashMap parentMap = null;
		if (outputMap.containsKey("CHSV000902SC"))
		{
			parentMap = (HashMap)outputMap.get("CHSV000902SC");
		}

		ArrayList childList = null;
		if (bean[0] != null && parentMap != null && parentMap.containsKey("ECH0191B020CBSMsg1List"))
		{
			childList = (ArrayList)parentMap.get("ECH0191B020CBSMsg1List");

			// 預り金を0で初期化
			bean[0].sendMessageString(CHW00801SFConst.AZUKIN, X31CWebConst.DATABEAN_SET_VALUE, "0");
			for (int i = 0; i < childList.size(); i++)
			{
				HashMap childMap = (HashMap)childList.get(i);

				String knkPrcKmkCd = (String)childMap.get("knk_prc_kmk_cd");
				if (knkPrcKmkCd.equals(JACStrConst.PRC_KMK_CD_AZUKIN))
				{
					// 預り金 ← 金庫ステータス毎合計一覧照会マップ.金庫ステータス毎合計一覧明細.金庫金額
					bean[0].sendMessageString(CHW00801SFConst.AZUKIN, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("knk_amnt"));
				}
			}
		}

		return bean;
	}

	/**
	 * 下りマッピング
	 * 
	 * @param bean　[0]：入金登録
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getCHSV000903SC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{

		HashMap parentMap = null;
		if (outputMap.containsKey("CHSV000903SC"))
		{
			parentMap = (HashMap)outputMap.get("CHSV000903SC");
		}

		ArrayList childList = null;

		/* TODO : 金庫ステータス毎合計一覧照会で、履歴データフラグ="1"のカレントデータの合計が正しく取得できないため、当マッピングで合計額を算出する */
		// 預り金合計
		BigDecimal azukin = BigDecimal.ZERO;

		X31SDataBeanAccessArray listCHSV000903SC_azukin_list_info_ECH0191B010CBSMsg1List = bean[0].getDataBeanArray("預り金明細情報");
		childList = null;
		if (listCHSV000903SC_azukin_list_info_ECH0191B010CBSMsg1List != null && parentMap != null && parentMap.containsKey("ECH0191B010CBSMsg1List"))
		{
			childList = (ArrayList)parentMap.get("ECH0191B010CBSMsg1List");

			for (int i = 0; i < childList.size(); i++)
			{
				X31SDataBeanAccess subbean = null;
				if (listCHSV000903SC_azukin_list_info_ECH0191B010CBSMsg1List.getCount() - 1 >= i)
				{
					subbean = listCHSV000903SC_azukin_list_info_ECH0191B010CBSMsg1List.getDataBean(i);
				}
				else
				{
					subbean = listCHSV000903SC_azukin_list_info_ECH0191B010CBSMsg1List.addDataBean();
				}

				HashMap childMap = (HashMap)childList.get(i);
				if (subbean == null)
				{
					continue;
				}

				if (childMap != null)
				{
					// 預り金明細情報.金庫番号 ← 預り金一覧照会マップ.金庫一覧明細.金庫番号
					subbean.sendMessageString("金庫番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("knk_no"));

					// 預り金明細情報.金庫金額 ← 預り金一覧照会マップ.金庫一覧明細.金庫金額
					subbean.sendMessageString("金庫金額", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("knk_amnt"));
					// 預り金合計
					azukin = azukin.add(new BigDecimal((String)childMap.get("knk_amnt")));

					// 預り金明細情報.精算方法コード ← 預り金一覧照会マップ.金庫一覧明細.精算方法コード
					subbean.sendMessageString("精算方法コード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("ssn_way_cd"));

					// 預り金明細情報.入金番号 ← 預り金一覧照会マップ.金庫一覧明細.入金番号
					subbean.sendMessageString("入金番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("nyukin_no"));

					// 預り金明細情報.金庫更新年月日時分秒 ← 預り金一覧照会マップ.金庫一覧明細.更新年月日時分秒
					subbean.sendMessageString("金庫更新年月日時分秒", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("upd_dtm"));
				}
				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());
				}
			}

			// 算出した合計額
			bean[0].sendMessageString(CHW00801SFConst.AZUKIN, X31CWebConst.DATABEAN_SET_VALUE, String.valueOf(azukin));
		}

		return bean;
	}

	/**
	 * 下りマッピング
	 * 
	 * @param bean　[0]：入金登録
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getCHSV000904SC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{

		HashMap parentMap = null;
		if (outputMap.containsKey("CHSV000904SC"))
		{
			parentMap = (HashMap)outputMap.get("CHSV000904SC");
		}

		ArrayList childList = null;

		X31SDataBeanAccessArray listCHSV000904SC_nyukin_route_info_EZM0171B012CBSMsg1List = bean[0].getDataBeanArray(CHW00801SFConst.NYUKIN_ROUTE_INFO);
		X31SDataBeanAccess subbean = listCHSV000904SC_nyukin_route_info_EZM0171B012CBSMsg1List.getDataBean(0);

		subbean.sendMessage(CHW00801SFConst.NYUKIN_ROUTE_CD_LIST_01, X31CWebConst.DATABEAN_CLEAR);
		subbean.sendMessage(CHW00801SFConst.NYUKIN_ROUTE_NM_LIST_01, X31CWebConst.DATABEAN_CLEAR);
		subbean.sendMessage(CHW00801SFConst.NYUKIN_ROUTE_CD_NM_LIST_01, X31CWebConst.DATABEAN_CLEAR);
		subbean.sendMessage(CHW00801SFConst.NYUKIN_ROUTE_SHK_DSP_CD_LIST_01, X31CWebConst.DATABEAN_CLEAR);

		if (listCHSV000904SC_nyukin_route_info_EZM0171B012CBSMsg1List != null && parentMap != null && parentMap.containsKey("EZM0171B012CBSMsg1List"))
		{
			childList = (ArrayList)parentMap.get("EZM0171B012CBSMsg1List");

			for (int i = 0; i < childList.size(); i++)
			{
				HashMap childMap = (HashMap)childList.get(i);

				String cd = new String();
				String nm = new String();
				String shkDspCd = new String();
				if (childMap != null)
				{
					cd = (String)childMap.get("cd_div");
					nm = (String)childMap.get("cd_div_nm");
					shkDspCd = (String)childMap.get("shk_dsp_cd");
				}
				// v52.00.00 ADD START
				//入金経路コードが「コンビニ等」の場合、入金経路に表示しない
				if (JACStrConst.NYKNKEIRCD_CVSTORE_ETC.equals(cd))
				{
					HashMap parentMap2 = null;
					if (outputMap.containsKey("CHSV000913SC"))
					{
						parentMap2 = (HashMap)outputMap.get("CHSV000913SC");
					}

					ArrayList childList2 = null;

					childList2 = (ArrayList)parentMap2.get("EZM0171B012CBSMsg1List");

					for (int j = 0; j < childList2.size(); j++)
					{
						HashMap childMap2 = (HashMap)childList2.get(j);

						String cd2 = new String();
						String nm2 = new String();
						String shkDspCd2 = new String();
						if (childMap2 != null)
						{
							cd2 = (String)childMap2.get("cd_div");
							nm2 = (String)childMap2.get("cd_div_nm");
							shkDspCd2 = (String)childMap2.get("shk_dsp_cd");
						}
						//収納機関コードが「コンビニ等（通：顧）」「コンビニ等（通：企） 」の場合のみ表示
						if (JACStrConst.SHNKKNCD_CVSTORE_ETC_NORMAL_CUST.equals(cd2) || JACStrConst.SHNKKNCD_CVSTORE_ETC_NORMAL_COMP.equals(cd2))
						{
							// 入金経路情報.入金経路コードリスト ← 収納機関一覧照会マップ.コード名称管理コード区分一覧照会明細.コード区分
							if (childMap != null)
							{
								subbean.sendMessageString(CHW00801SFConst.NYUKIN_ROUTE_CD_LIST_01, X31CWebConst.DATABEAN_ADD_VALUE, cd2);
							}
							else
							{
								subbean.sendMessageString(CHW00801SFConst.NYUKIN_ROUTE_CD_LIST_01, X31CWebConst.DATABEAN_ADD_VALUE, new String());
							}
							// 入金経路情報.入金経路名称リスト ← 収納機関一覧照会マップ.コード名称管理コード区分一覧照会明細.コード区分名
							if (childMap != null)
							{
								subbean.sendMessageString(CHW00801SFConst.NYUKIN_ROUTE_NM_LIST_01, X31CWebConst.DATABEAN_ADD_VALUE, nm2);
							}
							else
							{
								subbean.sendMessageString(CHW00801SFConst.NYUKIN_ROUTE_NM_LIST_01, X31CWebConst.DATABEAN_ADD_VALUE, new String());
							}
							// 入金経路情報.入金経路初期表示コードリスト ← 収納機関一覧照会マップ.コード名称管理コード区分一覧照会明細.初期表示コード
							if (childMap != null)
							{
								subbean.sendMessageString(CHW00801SFConst.NYUKIN_ROUTE_SHK_DSP_CD_LIST_01, X31CWebConst.DATABEAN_ADD_VALUE, shkDspCd2);
							}
							else
							{
								subbean.sendMessageString(CHW00801SFConst.NYUKIN_ROUTE_SHK_DSP_CD_LIST_01, X31CWebConst.DATABEAN_ADD_VALUE, new String());
							}
							// 入金経路情報.入金経路コード名称リスト
							StringBuffer cdNmEditor2 = new StringBuffer();
							cdNmEditor2.append(cd).append(JACStrConst.COLON).append(nm2);
							subbean.sendMessageString(CHW00801SFConst.NYUKIN_ROUTE_CD_NM_LIST_01, X31CWebConst.DATABEAN_ADD_VALUE, cdNmEditor2.toString());
						}
					}
				}
				// v56.00.00 ADD START
				// 入金経路コードが「コンビニ」の場合、入金経路に表示しない
				else if (JACStrConst.NYKNKEIRCD_CVSTORE.equals(cd))
				{
					continue;
				}
				// v56.00.00 ADD END
				else
				{
					// 入金経路情報.入金経路コードリスト ← 入金経路一覧照会マップ.コード名称管理コード区分一覧照会明細.コード区分
					if (childMap != null)
					{
						subbean.sendMessageString(CHW00801SFConst.NYUKIN_ROUTE_CD_LIST_01, X31CWebConst.DATABEAN_ADD_VALUE, cd);
					}
					else
					{
						subbean.sendMessageString(CHW00801SFConst.NYUKIN_ROUTE_CD_LIST_01, X31CWebConst.DATABEAN_ADD_VALUE, new String());
					}
					// 入金経路情報.入金経路名称リスト ← 入金経路一覧照会マップ.コード名称管理コード区分一覧照会明細.コード区分名
					if (childMap != null)
					{
						subbean.sendMessageString(CHW00801SFConst.NYUKIN_ROUTE_NM_LIST_01, X31CWebConst.DATABEAN_ADD_VALUE, nm);
					}
					else
					{
						subbean.sendMessageString(CHW00801SFConst.NYUKIN_ROUTE_NM_LIST_01, X31CWebConst.DATABEAN_ADD_VALUE, new String());
					}
					// 入金経路情報.入金経路初期表示コードリスト ← 入金経路一覧照会マップ.コード名称管理コード区分一覧照会明細.初期表示コード
					if (childMap != null)
					{
						subbean.sendMessageString(CHW00801SFConst.NYUKIN_ROUTE_SHK_DSP_CD_LIST_01, X31CWebConst.DATABEAN_ADD_VALUE, shkDspCd);
					}
					else
					{
						subbean.sendMessageString(CHW00801SFConst.NYUKIN_ROUTE_SHK_DSP_CD_LIST_01, X31CWebConst.DATABEAN_ADD_VALUE, new String());
					}
					// 入金経路情報.入金経路コード名称リスト
					StringBuffer cdNmEditor = new StringBuffer();
					cdNmEditor.append(cd).append(JACStrConst.COLON).append(nm);
					subbean.sendMessageString(CHW00801SFConst.NYUKIN_ROUTE_CD_NM_LIST_01, X31CWebConst.DATABEAN_ADD_VALUE, cdNmEditor.toString());
				}
				// v52.00.00 ADD END
			}
		}

		return bean;
	}

	/**
	 * 下りマッピング
	 * 
	 * @param bean　[0]：入金登録
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getCHSV000905SC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{

		HashMap parentMap = null;
		if (outputMap.containsKey("CHSV000905SC"))
		{
			parentMap = (HashMap)outputMap.get("CHSV000905SC");
		}

		ArrayList childList = null;

		X31SDataBeanAccessArray listCHSV000905SC_uketori_bumon_info_EZM0171B012CBSMsg1List = bean[0].getDataBeanArray(CHW00801SFConst.UKETORI_BUMON_INFO);
		X31SDataBeanAccess subbean = listCHSV000905SC_uketori_bumon_info_EZM0171B012CBSMsg1List.getDataBean(0);

		subbean.sendMessage(CHW00801SFConst.UKETORI_BUMON_CD_LIST_02, X31CWebConst.DATABEAN_CLEAR);
		subbean.sendMessage(CHW00801SFConst.UKETORI_BUMON_NM_LIST_02, X31CWebConst.DATABEAN_CLEAR);
		subbean.sendMessage(CHW00801SFConst.UKETORI_BUMON_CD_NM_LIST_02, X31CWebConst.DATABEAN_CLEAR);
		subbean.sendMessage(CHW00801SFConst.UKETORI_BUMON_SHK_DSP_CD_LIST_02, X31CWebConst.DATABEAN_CLEAR);

		if (listCHSV000905SC_uketori_bumon_info_EZM0171B012CBSMsg1List != null && parentMap != null && parentMap.containsKey("EZM0171B012CBSMsg1List"))
		{
			childList = (ArrayList)parentMap.get("EZM0171B012CBSMsg1List");

			for (int i = 0; i < childList.size(); i++)
			{
				HashMap childMap = (HashMap)childList.get(i);

				String cd = new String();
				String nm = new String();
				String shkDspCd = new String();
				if (childMap != null)
				{
					cd = (String)childMap.get("cd_div");
					nm = (String)childMap.get("cd_div_nm");
					shkDspCd = (String)childMap.get("shk_dsp_cd");
				}
				// 受取り部門情報.受取り部門コードリスト ← 受取り部門一覧照会マップ.コード名称管理コード区分一覧照会明細.コード区分
				subbean.sendMessageString(CHW00801SFConst.UKETORI_BUMON_CD_LIST_02, X31CWebConst.DATABEAN_ADD_VALUE, cd);
				// 受取り部門情報.受取り部門名称リスト ← 受取り部門一覧照会マップ.コード名称管理コード区分一覧照会明細.コード区分名
				subbean.sendMessageString(CHW00801SFConst.UKETORI_BUMON_NM_LIST_02, X31CWebConst.DATABEAN_ADD_VALUE, nm);
				// 受取り部門情報.受取り部門初期表示コードリスト ← 受取り部門一覧照会マップ.コード名称管理コード区分一覧照会明細.初期表示コード
				subbean.sendMessageString(CHW00801SFConst.SHITEIKOZA_SHK_DSP_CD_LIST_03, X31CWebConst.DATABEAN_ADD_VALUE, shkDspCd);
				// 受取り部門情報.受取り部門コード名称リスト
				StringBuffer cdNmEditor = new StringBuffer();
				cdNmEditor.append(cd).append(JACStrConst.COLON).append(nm);
				subbean.sendMessageString(CHW00801SFConst.UKETORI_BUMON_CD_NM_LIST_02, X31CWebConst.DATABEAN_ADD_VALUE, cdNmEditor.toString());
			}
		}

		return bean;
	}

	/**
	 * 下りマッピング
	 * 
	 * @param bean　[0]：入金登録
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getCHSV000906SC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{

		HashMap parentMap = null;
		if (outputMap.containsKey("CHSV000906SC"))
		{
			parentMap = (HashMap)outputMap.get("CHSV000906SC");
		}

		ArrayList childList = null;

		X31SDataBeanAccessArray listCHSV000906SC_shiteikoza_info_EZM0171B012CBSMsg1List = bean[0].getDataBeanArray(CHW00801SFConst.SHITEIKOZA_INFO);
		X31SDataBeanAccess subbean = listCHSV000906SC_shiteikoza_info_EZM0171B012CBSMsg1List.getDataBean(0);

		subbean.sendMessage(CHW00801SFConst.SHITEIKOZA_CD_LIST_03, X31CWebConst.DATABEAN_CLEAR);
		subbean.sendMessage(CHW00801SFConst.SHITEIKOZA_NM_LIST_03, X31CWebConst.DATABEAN_CLEAR);
		subbean.sendMessage(CHW00801SFConst.SHITEIKOZA_SHK_DSP_CD_LIST_03, X31CWebConst.DATABEAN_CLEAR);
		subbean.sendMessage(CHW00801SFConst.SHITEIKOZA_CD_NM_LIST_03, X31CWebConst.DATABEAN_CLEAR);

		if (listCHSV000906SC_shiteikoza_info_EZM0171B012CBSMsg1List != null && parentMap != null && parentMap.containsKey("EZM0171B012CBSMsg1List"))
		{
			childList = (ArrayList)parentMap.get("EZM0171B012CBSMsg1List");

			for (int i = 0; i < childList.size(); i++)
			{
				HashMap childMap = (HashMap)childList.get(i);

				String cd = new String();
				String nm = new String();
				String shkDspCd = new String();
				if (childMap != null)
				{
					cd = (String)childMap.get("cd_div");
					nm = (String)childMap.get("cd_div_nm");
					shkDspCd = (String)childMap.get("shk_dsp_cd");
				}
				// 指定口座情報.指定口座コードリスト ← 指定口座一覧照会マップ.コード名称管理コード区分一覧照会明細.コード区分
				subbean.sendMessageString(CHW00801SFConst.SHITEIKOZA_CD_LIST_03, X31CWebConst.DATABEAN_ADD_VALUE, cd);
				// 指定口座情報.指定口座名称リスト ← 指定口座一覧照会マップ.コード名称管理コード区分一覧照会明細.コード区分名
				subbean.sendMessageString(CHW00801SFConst.SHITEIKOZA_NM_LIST_03, X31CWebConst.DATABEAN_ADD_VALUE, nm);
				// 指定口座情報.指定口座初期表示コードリスト ← 指定口座一覧照会マップ.コード名称管理コード区分一覧照会明細.初期表示コード
				subbean.sendMessageString(CHW00801SFConst.SHITEIKOZA_SHK_DSP_CD_LIST_03, X31CWebConst.DATABEAN_ADD_VALUE, shkDspCd);
				// 指定口座情報.指定口座コード名称リスト
				StringBuffer cdNmEditor = new StringBuffer();
				cdNmEditor.append(cd).append(JACStrConst.COLON).append(nm);
				subbean.sendMessageString(CHW00801SFConst.SHITEIKOZA_CD_NM_LIST_03, X31CWebConst.DATABEAN_ADD_VALUE, cdNmEditor.toString());
			}
		}

		return bean;
	}

	/**
	 * 下りマッピング
	 * 
	 * @param bean　[0]：入金登録
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getCHSV000907SC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{

		HashMap parentMap = null;
		if (outputMap.containsKey("CHSV000907SC"))
		{
			parentMap = (HashMap)outputMap.get("CHSV000907SC");
		}

		ArrayList childList = null;

		X31SDataBeanAccessArray listCHSV000907SC_cvstore_info_ECH0181B010CBSMsg1List = bean[0].getDataBeanArray(CHW00801SFConst.CVSTORE_INFO);
		X31SDataBeanAccess subbean = listCHSV000907SC_cvstore_info_ECH0181B010CBSMsg1List.getDataBean(0);

		subbean.sendMessage(CHW00801SFConst.CVSTORE_CD_LIST_04, X31CWebConst.DATABEAN_CLEAR);
		subbean.sendMessage(CHW00801SFConst.CVSTORE_COMP_NM_LIST_04, X31CWebConst.DATABEAN_CLEAR);
		subbean.sendMessage(CHW00801SFConst.CVSTORE_COMP_CD_NM_LIST_04, X31CWebConst.DATABEAN_CLEAR);

		if (listCHSV000907SC_cvstore_info_ECH0181B010CBSMsg1List != null && parentMap != null && parentMap.containsKey("ECH0181B010CBSMsg1List"))
		{
			childList = (ArrayList)parentMap.get("ECH0181B010CBSMsg1List");

			for (int i = 0; i < childList.size(); i++)
			{
				HashMap childMap = (HashMap)childList.get(i);

				String cd = new String();
				String nm = new String();
				if (childMap != null)
				{
					cd = (String)childMap.get("cvstore_cd");
					nm = (String)childMap.get("cvstore_comp_nm");
				}
				// v52.00.00 ADD START
				if (JACStrConst.CVSTORE_CD_DUMMY.equals(cd))
				{
					continue;
				}
				// v52.00.00 ADD END
				// コンビニエンスストア情報.コンビニエンスストアコードリスト ← コンビニエンスストア一覧照会マップ.コンビニ会社一覧照会明細.コンビニエンスストアコード
				subbean.sendMessageString(CHW00801SFConst.CVSTORE_CD_LIST_04, X31CWebConst.DATABEAN_ADD_VALUE, cd);
				// コンビニエンスストア情報.コンビニエンスストア会社名称リスト ← コンビニエンスストア一覧照会マップ.コンビニ会社一覧照会明細.コンビニエンスストア会社名
				subbean.sendMessageString(CHW00801SFConst.CVSTORE_COMP_NM_LIST_04, X31CWebConst.DATABEAN_ADD_VALUE, nm);
				// コンビニエンスストア情報.コンビニエンスストア会社コード名称リスト
				StringBuffer cdNmEditor = new StringBuffer();
				cdNmEditor.append(cd).append(JACStrConst.COLON).append(nm);
				subbean.sendMessageString(CHW00801SFConst.CVSTORE_COMP_CD_NM_LIST_04, X31CWebConst.DATABEAN_ADD_VALUE, cdNmEditor.toString());
			}
		}

		return bean;
	}
	// v52.00.00 ADD START

	/**
	 * 下りマッピング
	 * 
	 * @param bean　[0]：入金登録
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getCHSV000907SC2(X31SDataBeanAccess[] bean, HashMap outputMap)
	{

		HashMap parentMap = null;
		if (outputMap.containsKey("CHSV000907SC"))
		{
			parentMap = (HashMap)outputMap.get("CHSV000907SC");
		}

		ArrayList childList = null;

		X31SDataBeanAccessArray listCHSV000907SC2_cvstore_info_ECH0181B010CBSMsg1List = bean[0].getDataBeanArray(CHW00801SFConst.CVSTORE_INFO2);
		X31SDataBeanAccess subbean = listCHSV000907SC2_cvstore_info_ECH0181B010CBSMsg1List.getDataBean(0);

		subbean.sendMessage(CHW00801SFConst.CVSTORE_CD_LIST2_13, X31CWebConst.DATABEAN_CLEAR);
		subbean.sendMessage(CHW00801SFConst.CVSTORE_COMP_NM_LIST2_13, X31CWebConst.DATABEAN_CLEAR);
		subbean.sendMessage(CHW00801SFConst.CVSTORE_COMP_CD_NM_LIST2_13, X31CWebConst.DATABEAN_CLEAR);

		if (listCHSV000907SC2_cvstore_info_ECH0181B010CBSMsg1List != null && parentMap != null && parentMap.containsKey("ECH0181B010CBSMsg1List"))
		{
			childList = (ArrayList)parentMap.get("ECH0181B010CBSMsg1List");

			for (int i = 0; i < childList.size(); i++)
			{
				HashMap childMap = (HashMap)childList.get(i);

				String cd = new String();
				String nm = new String();
				if (childMap != null)
				{
					cd = (String)childMap.get("cvstore_cd");
					nm = (String)childMap.get("cvstore_comp_nm");
				}
				// コンビニエンスストア情報.コンビニエンスストアコードリスト ← コンビニエンスストア一覧照会マップ.コンビニ会社一覧照会明細.コンビニエンスストアコード
				subbean.sendMessageString(CHW00801SFConst.CVSTORE_CD_LIST2_13, X31CWebConst.DATABEAN_ADD_VALUE, cd);
				// コンビニエンスストア情報.コンビニエンスストア会社名称リスト ← コンビニエンスストア一覧照会マップ.コンビニ会社一覧照会明細.コンビニエンスストア会社名
				subbean.sendMessageString(CHW00801SFConst.CVSTORE_COMP_NM_LIST2_13, X31CWebConst.DATABEAN_ADD_VALUE, nm);
				// コンビニエンスストア情報.コンビニエンスストア会社コード名称リスト
				StringBuffer cdNmEditor = new StringBuffer();
				cdNmEditor.append(cd).append(JACStrConst.COLON).append(nm);
				subbean.sendMessageString(CHW00801SFConst.CVSTORE_COMP_CD_NM_LIST2_13, X31CWebConst.DATABEAN_ADD_VALUE, cdNmEditor.toString());
			}
		}

		return bean;
	}
	// v52.00.00 ADD END

	/**
	 * 下りマッピング
	 * 
	 * @param bean　[0]：入金登録
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getCHSV000908SC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{

		HashMap parentMap = null;
		if (outputMap.containsKey("CHSV000908SC"))
		{
			parentMap = (HashMap)outputMap.get("CHSV000908SC");
		}

		ArrayList childList = null;

		X31SDataBeanAccessArray listCHSV000908SC_sknksitkcm_info_ECH0601B010CBSMsg1List = bean[0].getDataBeanArray(CHW00801SFConst.SKNKSITKCM_INFO);
		X31SDataBeanAccess subbean = listCHSV000908SC_sknksitkcm_info_ECH0601B010CBSMsg1List.getDataBean(0);

		subbean.sendMessage(CHW00801SFConst.SKNKSITKCM_CD_LIST_05, X31CWebConst.DATABEAN_CLEAR);
		subbean.sendMessage(CHW00801SFConst.SKNKSITKCM_NM_LIST_05, X31CWebConst.DATABEAN_CLEAR);
		subbean.sendMessage(CHW00801SFConst.SKNKSITKCM_CD_NM_LIST_05, X31CWebConst.DATABEAN_CLEAR);

		if (listCHSV000908SC_sknksitkcm_info_ECH0601B010CBSMsg1List != null && parentMap != null && parentMap.containsKey("ECH0601B010CBSMsg1List"))
		{
			childList = (ArrayList)parentMap.get("ECH0601B010CBSMsg1List");

			for (int i = 0; i < childList.size(); i++)
			{
				HashMap childMap = (HashMap)childList.get(i);

				String cd = new String();
				String nm = new String();
				if (childMap != null)
				{
					cd = (String)childMap.get("sknksitkcm_cd");
					nm = (String)childMap.get("sknksitkcm_nm");
				}
				// 債権回収委託会社.債権回収委託会社コードリスト ← 債権回収委託会社一覧照会マップ.債権回収委託会社一覧照会明細.債権回収委託会社コード
				subbean.sendMessageString(CHW00801SFConst.SKNKSITKCM_CD_LIST_05, X31CWebConst.DATABEAN_ADD_VALUE, cd);
				// 債権回収委託会社.債権回収委託会社名称リスト ← 債権回収委託会社一覧照会マップ.債権回収委託会社一覧照会明細.債権回収委託会社名
				subbean.sendMessageString(CHW00801SFConst.SKNKSITKCM_NM_LIST_05, X31CWebConst.DATABEAN_ADD_VALUE, nm);
				// 債権回収委託会社.債権回収委託会社コード名称リスト
				StringBuffer cdNmEditor = new StringBuffer();
				cdNmEditor.append(cd).append(JACStrConst.COLON).append(nm);
				subbean.sendMessageString(CHW00801SFConst.SKNKSITKCM_CD_NM_LIST_05, X31CWebConst.DATABEAN_ADD_VALUE, cdNmEditor.toString());
			}
		}

		return bean;
	}

	/**
	 * 下りマッピング
	 * 
	 * @param bean　[0]：入金登録
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getCHSV000909SC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{

		HashMap parentMap = null;
		if (outputMap.containsKey("CHSV000909SC"))
		{
			parentMap = (HashMap)outputMap.get("CHSV000909SC");
		}

		ArrayList childList = null;

		X31SDataBeanAccessArray listCHSV000909SC_crecard_comp_info_EKK0531B002CBSMsg1List = bean[0].getDataBeanArray(CHW00801SFConst.CRECARD_COMP_INFO);
		X31SDataBeanAccess subbean = listCHSV000909SC_crecard_comp_info_EKK0531B002CBSMsg1List.getDataBean(0);

		subbean.sendMessage(CHW00801SFConst.CRECARD_COMP_CD_LIST_08, X31CWebConst.DATABEAN_CLEAR);
		subbean.sendMessage(CHW00801SFConst.CRECARD_COMP_NM_LIST_08, X31CWebConst.DATABEAN_CLEAR);
		subbean.sendMessage(CHW00801SFConst.CRECARD_COMP_CD_NM_LIST_08, X31CWebConst.DATABEAN_CLEAR);

		if (listCHSV000909SC_crecard_comp_info_EKK0531B002CBSMsg1List != null && parentMap != null && parentMap.containsKey("EKK0531B002CBSMsg1List"))
		{
			childList = (ArrayList)parentMap.get("EKK0531B002CBSMsg1List");

			for (int i = 0; i < childList.size(); i++)
			{
				HashMap childMap = (HashMap)childList.get(i);

				String cd = new String();
				String nm = new String();
				if (childMap != null)
				{
					cd = (String)childMap.get("crecard_comp_cd");
					nm = (String)childMap.get("crecard_comp_nm");
				}
				// クレジットカード会社情報.クレジットカード会社コードリスト ← クレジットカード会社一覧照会マップ.クレジットカード会社一覧.クレジットカード会社コード
				subbean.sendMessageString(CHW00801SFConst.CRECARD_COMP_CD_LIST_08, X31CWebConst.DATABEAN_ADD_VALUE, cd);
				// クレジットカード会社情報.クレジットカード会社名称リスト ← クレジットカード会社一覧照会マップ.クレジットカード会社一覧.クレジットカード会社名
				subbean.sendMessageString(CHW00801SFConst.CRECARD_COMP_NM_LIST_08, X31CWebConst.DATABEAN_ADD_VALUE, nm);
				// クレジットカード会社情報.クレジットカード会社コード名称リスト
				StringBuffer cdNmEditor = new StringBuffer();
				cdNmEditor.append(cd).append(JACStrConst.COLON).append(nm);
				subbean.sendMessageString(CHW00801SFConst.CRECARD_COMP_CD_NM_LIST_08, X31CWebConst.DATABEAN_ADD_VALUE, cdNmEditor.toString());
			}
		}

		return bean;
	}

	/**
	 * 下りマッピング
	 * 
	 * @param bean　[0]：入金登録
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getCHSV000910SC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{

		HashMap parentMap = null;
		if (outputMap.containsKey("CHSV000910SC"))
		{
			parentMap = (HashMap)outputMap.get("CHSV000910SC");
		}

		ArrayList childList = null;

		X31SDataBeanAccessArray listCHSV000910SC_mino_saiken_icrn_info_ECH0011B010CBSMsg1List = bean[0].getDataBeanArray("未納債権一覧情報");
		childList = null;
		if (listCHSV000910SC_mino_saiken_icrn_info_ECH0011B010CBSMsg1List != null && parentMap != null && parentMap.containsKey("ECH0011B010CBSMsg1List"))
		{
			childList = (ArrayList)parentMap.get("ECH0011B010CBSMsg1List");

			// 未収金額合計
			BigDecimal mishuSum = BigDecimal.ZERO;

			for (int i = 0; i < childList.size(); i++)
			{
				X31SDataBeanAccess subbean = null;
				if (listCHSV000910SC_mino_saiken_icrn_info_ECH0011B010CBSMsg1List.getCount() - 1 >= i)
				{
					subbean = listCHSV000910SC_mino_saiken_icrn_info_ECH0011B010CBSMsg1List.getDataBean(i);
				}
				else
				{
					subbean = listCHSV000910SC_mino_saiken_icrn_info_ECH0011B010CBSMsg1List.addDataBean();
				}
				HashMap childMap = (HashMap)childList.get(i);
				if (subbean == null)
				{
					continue;
				}

				// 未納債権一覧情報.債権番号 ← 債権一覧照会マップ.債権一覧明細.債権番号
				if (childMap != null)
				{
					subbean.sendMessageString("債権番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("saiken_no"));
				}
				else
				{
					subbean.sendMessageString("債権番号", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 未納債権一覧情報.請求年月 ← 債権一覧照会マップ.債権一覧明細.債権確定年月
				if (childMap != null)
				{
					subbean.sendMessageString("請求年月", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("saiken_fix_ym"));
				}
				else
				{
					subbean.sendMessageString("請求年月", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 未納債権一覧情報.債権ステータスコード ← 債権一覧照会マップ.債権一覧明細.債権ステータス
				if (childMap != null)
				{
					subbean.sendMessageString("債権ステータスコード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("saiken_stat"));
				}
				else
				{
					subbean.sendMessageString("債権ステータスコード", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 未納債権一覧情報.収納状態 ← 債権一覧照会マップ.債権一覧明細.債権ステータス略名
				if (childMap != null)
				{
					subbean.sendMessageString("収納状態", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("saiken_stat_ali"));
				}
				else
				{
					subbean.sendMessageString("収納状態", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 未納債権一覧情報.支払方法コード ← 債権一覧照会マップ.債権一覧明細.請求方法コード
				if (childMap != null)
				{
					subbean.sendMessageString("支払方法コード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("seiky_way_cd"));
				}
				else
				{
					subbean.sendMessageString("支払方法コード", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 未納債権一覧情報.支払方法 ← 債権一覧照会マップ.債権一覧明細.請求方法コード略称
				if (childMap != null)
				{
					subbean.sendMessageString("支払方法", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("seiky_way_cd_ali"));
				}
				else
				{
					subbean.sendMessageString("支払方法", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 未納債権一覧情報.請求種別 ← 債権一覧照会マップ.債権一覧明細.請求種別コード名称
				if (childMap != null)
				{
					subbean.sendMessageString("請求種別", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("seiky_sbt_cd_nm"));
				}
				else
				{
					subbean.sendMessageString("請求種別", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 未納債権一覧情報.未納額 ← 債権一覧照会マップ.債権一覧明細.未納額
				if (childMap != null)
				{
					String minouAmnt = "0";
					String minouAmntVal = (String)childMap.get("minou_amnt");
					if (minouAmntVal != null && "".equals(minouAmntVal) == false)
					{
						minouAmnt = minouAmntVal;
					}
					subbean.sendMessageString("未納額", X31CWebConst.DATABEAN_SET_VALUE, minouAmnt);

					// 未収金額合計を加算
					mishuSum = mishuSum.add(new BigDecimal(minouAmnt));
				}
				else
				{
					subbean.sendMessageString("未納額", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 未納債権一覧情報.充当額 ← 固定値"0"
				if (childMap != null)
				{
					String jytoAmnt = "0";
					subbean.sendMessageString("充当額", X31CWebConst.DATABEAN_SET_VALUE, jytoAmnt);
				}
				else
				{
					subbean.sendMessageString("充当額", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 未納債権一覧情報.更新年月日時分秒 ← 債権一覧照会マップ.債権一覧明細.更新前債権更新年月日時分秒
				if (childMap != null)
				{
					subbean.sendMessageString("更新年月日時分秒", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("saiken_upd_dtm_af"));
				}
				else
				{
					subbean.sendMessageString("更新年月日時分秒", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 未納債権一覧情報.請求番号 ← 債権一覧照会マップ.債権一覧明細.請求番号
				if (childMap != null)
				{
					subbean.sendMessageString("請求番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("seiky_no"));
				}
				else
				{
					subbean.sendMessageString("請求番号", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
			}

			// 未収金額合計
			bean[0].sendMessageString(CHW00801SFConst.MISHUGOKEI, X31CWebConst.DATABEAN_SET_VALUE, String.valueOf(mishuSum));
		}

		return bean;
	}

	/**
	 * 下りマッピング
	 * 
	 * @param bean　[0]：入金登録
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getCHSV000911SC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{

		HashMap parentMap = null;
		if (outputMap.containsKey("CHSV000911SC"))
		{
			parentMap = (HashMap)outputMap.get("CHSV000911SC");
		}

		ArrayList childList = null;
		if (bean[0] != null && parentMap != null && parentMap.containsKey("EZM0321A010CBSMsg1List"))
		{
			childList = (ArrayList)parentMap.get("EZM0321A010CBSMsg1List");

			for (int i = 0; i < childList.size(); i++)
			{
				HashMap childMap = (HashMap)childList.get(i);

				// ゆうちょ銀行コード ← 業務パラメータ管理一意照会マップ.業務パラメータ管理一意照会明細.業務パラメータ設定値
				if (childMap != null)
				{
					bean[0].sendMessageString(CHW00801SFConst.YUUCHO_BANK_CD, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("work_param_sette_value"));
				}
				else
				{
					bean[0].sendMessageString(CHW00801SFConst.YUUCHO_BANK_CD, X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
			}
		}

		return bean;
	}

	/**
	 * 下りマッピング
	 * 
	 * @param bean　[0]：入金登録
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getCHSV000912SC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{

		HashMap parentMap = null;
		if (outputMap.containsKey("CHSV000912SC"))
		{
			parentMap = (HashMap)outputMap.get("CHSV000912SC");
		}

		ArrayList childList = null;
		if (bean[0] != null && parentMap != null && parentMap.containsKey("EKK0511B004CBSMsg1List"))
		{
			childList = (ArrayList)parentMap.get("EKK0511B004CBSMsg1List");

			for (int i = 0; i < childList.size(); i++)
			{
				HashMap childMap = (HashMap)childList.get(i);

				// ゆうちょ銀行支店コード ← 金融機関一覧照会マップ.金融機関一覧照会明細.業務パラメータ設定値
				if (childMap != null)
				{
					bean[0].sendMessageString(CHW00801SFConst.YUUCHO_BANK_SHITEN_CD, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("bank_shiten_cd"));
				}
				else
				{
					bean[0].sendMessageString(CHW00801SFConst.YUUCHO_BANK_SHITEN_CD, X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
			}
		}

		return bean;
	}

	/**
	 * 下りマッピング
	 * @param bean　[0]：入金登録
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getGETWORKPARAMLISTCC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("GETWORKPARAMLISTCC")){
			parentMap = (HashMap)outputMap.get("GETWORKPARAMLISTCC");
		}

		if (parentMap != null && parentMap.containsKey("EZM0321A010CBSMsg1List"))
		{
			ArrayList childList = (ArrayList)parentMap.get("EZM0321A010CBSMsg1List");

			for (int i = 0; i < childList.size(); i++)
			{
				HashMap childMap = (HashMap)childList.get(i);

				// 金融機関コード除外リスト ← 業務パラメータ管理情報取得CCマップ.業務パラメータ管理一意照会明細.業務パラメータID
				if (childMap != null) {
					bean[0].sendMessageString("金融機関コード除外リスト", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("work_param_sette_value"));
				}
				else
				{
					bean[0].sendMessageString("金融機関コード除外リスト", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				break;
			}
		}

		return bean;
	}

//v32.00.00 Add Start

	/**
	 * 下りマッピング
	 * 
	 * @param bean　[0]：入金登録
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getSHUNOKKNINFOSTKUCC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{

		HashMap parentMap = null;
		if (outputMap.containsKey("SHUNOKKNINFOSTKUCC"))
		{
			parentMap = (HashMap)outputMap.get("SHUNOKKNINFOSTKUCC");
		}

		ArrayList childList = null;
		
		X31SDataBeanAccessArray listCHSV000907SC_cvstore_info_ECH0181B010CBSMsg1List = bean[0].getDataBeanArray(CHW00801SFConst.SHUNO_KKN_INFO);
		X31SDataBeanAccess subbean = listCHSV000907SC_cvstore_info_ECH0181B010CBSMsg1List.getDataBean(0);


		subbean.sendMessage(CHW00801SFConst.SHUNO_KKN_CD_LIST_11, X31CWebConst.DATABEAN_CLEAR);
		subbean.sendMessage(CHW00801SFConst.SHUNO_KKN_NM_LIST_11, X31CWebConst.DATABEAN_CLEAR);
		subbean.sendMessage(CHW00801SFConst.SHUNO_KKN_CD_NM_LIST_11, X31CWebConst.DATABEAN_CLEAR);

		if (bean[0] != null && parentMap != null && parentMap.containsKey("EZM0171B010CBSMsg1List"))
		{
			childList = (ArrayList)parentMap.get("EZM0171B010CBSMsg1List");

			for (int i = 0; i < childList.size(); i++)
			{
				HashMap childMap = (HashMap)childList.get(i);

				String cd = new String();
				String nm = new String();
				if (childMap != null)
				{
					cd = (String)childMap.get("cd_div");
					nm = (String)childMap.get("cd_div_nm");
				}
				// 収納機関情報.収納機関コードリスト ← 収納機関一覧照会マップ.決済代行収納機関一覧照会明細.コード区分
				subbean.sendMessageString(CHW00801SFConst.SHUNO_KKN_CD_LIST_11, X31CWebConst.DATABEAN_ADD_VALUE, cd);
				// 収納機関情報.収納機関名称リスト ← 収納機関一覧照会マップ.決済代行収納機関一覧照会明細.コード区分名
				subbean.sendMessageString(CHW00801SFConst.SHUNO_KKN_NM_LIST_11, X31CWebConst.DATABEAN_ADD_VALUE, nm);
				// 収納機関情報.収納機関名称リスト
				StringBuffer cdNmEditor = new StringBuffer();
				cdNmEditor.append(cd).append(JACStrConst.COLON).append(nm);
				subbean.sendMessageString(CHW00801SFConst.SHUNO_KKN_CD_NM_LIST_11, X31CWebConst.DATABEAN_ADD_VALUE, cdNmEditor.toString());
			}
		}

		return bean;
	}
//v32.00.00 Add End
	
	// ANK-3366-00-00 ADD START
	/**
	 * 下りマッピング
	 * 
	 * @param bean [0]：入金登録
	 * @param outputMap マップ
	 * @return [0]：入金登録
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getORSJGSNMINFOSTKUCC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{

		HashMap parentMap = null;
		if (outputMap.containsKey("ORSJGSNMINFOSTKUCC"))
		{
			parentMap = (HashMap)outputMap.get("ORSJGSNMINFOSTKUCC");
		}

		ArrayList childList = null;
		
		X31SDataBeanAccessArray orsjgsInfoList = bean[0].getDataBeanArray(CHW00801SFConst.ORSJGS_INFO);
		X31SDataBeanAccess subbean = orsjgsInfoList.getDataBean(0);

		subbean.sendMessage(CHW00801SFConst.ORSJGS_CD_LIST_12, X31CWebConst.DATABEAN_CLEAR);
		subbean.sendMessage(CHW00801SFConst.ORSJGS_NM_LIST_12, X31CWebConst.DATABEAN_CLEAR);
		subbean.sendMessage(CHW00801SFConst.ORSJGS_CD_NM_LIST_12, X31CWebConst.DATABEAN_CLEAR);

		if (bean[0] != null && parentMap != null && parentMap.containsKey("EZM0171B010CBSMsg1List"))
		{
			childList = (ArrayList)parentMap.get("EZM0171B010CBSMsg1List");

			for (int i = 0; i < childList.size(); i++)
			{
				HashMap childMap = (HashMap)childList.get(i);

				String cd = "";
				String nm = "";
				if (childMap != null)
				{
					cd = (String)childMap.get("cd_div");
					nm = (String)childMap.get("cd_div_nm");
				}
				// 卸先事業者情報.卸先事業者コードリスト ← 卸先事業者名一覧照会マップ.コード名称管理コード区分一覧照会明細.コード区分
				subbean.sendMessageString(CHW00801SFConst.ORSJGS_CD_LIST_12, X31CWebConst.DATABEAN_ADD_VALUE, cd);
				// 卸先事業者情報.卸先事業者名称リスト ← 卸先事業者名一覧照会マップ.コード名称管理コード区分一覧照会明細.コード区分名
				subbean.sendMessageString(CHW00801SFConst.ORSJGS_NM_LIST_12, X31CWebConst.DATABEAN_ADD_VALUE, nm);
				// 卸先事業者情報.卸先事業者名称リスト
				StringBuffer cdNmEditor = new StringBuffer();
				cdNmEditor.append(cd).append(JACStrConst.COLON).append(nm);
				subbean.sendMessageString(CHW00801SFConst.ORSJGS_CD_NM_LIST_12, X31CWebConst.DATABEAN_ADD_VALUE, cdNmEditor.toString());
			}
		}

		return bean;
	}
	// ANK-3366-00-00 ADD END
}