/*********************************************************************
 *	All Rights reserved,Copyright (c) K-Opticom
 **********************************************************************
 *＜プログラム内容＞
 *	システム名		：eo顧客基幹システム
 *	モジュール名	：CHSV0016_CHSV0016OPDBMapper
 *	ソースファイル名：CHSV0016_CHSV0016OPDBMapper.java
 *	作成者			：富士通
 *	日付			：2012年04月22日
 *＜機能概要＞
 *	BP（金庫移動登録画面情報取得）へのＤ−Ｂマッピングクラスです。
 *＜修正履歴＞
 *	バージョン	修正日		修正者		修正内容
 *	v1.00.00	2012/04/22	富士通		新規作成
 *	v41.00.00	2019/02/22	FJ) 吉田   【ANK-3416-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.JACStrConst;
import eo.web.webview.CHW01104SF.CHW01104SFConst;

/**
 * DataBean-BPマッピングをする。
 * 
 */
public class CHSV0016_CHSV0016OPDBMapper
{

	/**
	 * コンストラクタ
	 */
	public CHSV0016_CHSV0016OPDBMapper()
	{
	}

	/**
	 * 上りマッピングをする
	 * 
	 * @param bean　[0]：金庫移動登録
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setCHSV001601SC(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_knk_no", bean[0].sendMessageString(CHW01104SFConst.KNK_NO, X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("CHSV001601SC", parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * 
	 * @param bean　[0]：金庫移動登録
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setCHSV001602SC(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("CHSV001602SC", parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * 
	 * @param bean　[0]：金庫移動登録
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setCHSV001603SC(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(CHW01104SFConst.SEIKY_KEI_NO, X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("CHSV001603SC", parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * 
	 * @param bean　[0]：金庫移動登録
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setCHSV001604SC(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(CHW01104SFConst.SEIKY_KEI_NO, X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("CHSV001604SC", parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * 
	 * @param bean　[0]：金庫移動登録
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setPRCKMKCSCHGECC(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);

		ArrayList<HashMap<String, Object>> prcKmkList = new ArrayList<HashMap<String, Object>>();

		HashMap childMap = null;
		childMap = new HashMap();
		childMap.put("key_sys_cd", JACStrConst.SYS_CD_CH);
		childMap.put("key_work_kino_skbt_cd", JACStrConst.WORK_KINO_SKBT_CD_KNKSTAT01); // 仮受金
		childMap.put("key_chsht_chg_cd", JACStrConst.CHSHT_CHG_CD_1);
		prcKmkList.add(childMap);

		childMap = new HashMap();
		childMap.put("key_sys_cd", JACStrConst.SYS_CD_CH);
		childMap.put("key_work_kino_skbt_cd", JACStrConst.WORK_KINO_SKBT_CD_KNKSTAT02); // 預り金
		childMap.put("key_chsht_chg_cd", JACStrConst.CHSHT_CHG_CD_1);
		prcKmkList.add(childMap);

		childMap = new HashMap();
		childMap.put("key_sys_cd", JACStrConst.SYS_CD_CH);
		childMap.put("key_work_kino_skbt_cd", JACStrConst.WORK_KINO_SKBT_CD_KNKSTAT03); // 前受金
		childMap.put("key_chsht_chg_cd", JACStrConst.CHSHT_CHG_CD_1);
		prcKmkList.add(childMap);

		childMap = new HashMap();
		childMap.put("key_sys_cd", JACStrConst.SYS_CD_CH);
		childMap.put("key_work_kino_skbt_cd", JACStrConst.WORK_KINO_SKBT_CD_KNKSTAT04); // 不明金
		childMap.put("key_chsht_chg_cd", JACStrConst.CHSHT_CHG_CD_1);
		prcKmkList.add(childMap);

		// ▼▼▼ ANK-3416-00-00 ADD START ▼▼▼
		childMap = new HashMap();
		childMap.put("key_sys_cd", JACStrConst.SYS_CD_CH);
		childMap.put("key_work_kino_skbt_cd", JACStrConst.WORK_KINO_SKBT_CD_KNKSTAT05); // 返戻不可分
		childMap.put("key_chsht_chg_cd", JACStrConst.CHSHT_CHG_CD_1);
		prcKmkList.add(childMap);
		// ▲▲▲ ANK-3416-00-00 ADD END ▲▲▲

		childMap = new HashMap();
		childMap.put("key_sys_cd", JACStrConst.SYS_CD_CH);
		childMap.put("key_work_kino_skbt_cd", JACStrConst.WORK_KINO_SKBT_CD_KNKSTAT11); // 処理済金（雑収入）
		childMap.put("key_chsht_chg_cd", JACStrConst.CHSHT_CHG_CD_1);
		prcKmkList.add(childMap);

		childMap = new HashMap();
		childMap.put("key_sys_cd", JACStrConst.SYS_CD_CH);
		childMap.put("key_work_kino_skbt_cd", JACStrConst.WORK_KINO_SKBT_CD_KNKSTAT12); // 処理済金（申立費用受付）
		childMap.put("key_chsht_chg_cd", JACStrConst.CHSHT_CHG_CD_1);
		prcKmkList.add(childMap);

		childMap = new HashMap();
		childMap.put("key_sys_cd", JACStrConst.SYS_CD_CH);
		childMap.put("key_work_kino_skbt_cd", JACStrConst.WORK_KINO_SKBT_CD_KNKSTAT13); // 処理済金（遅延損害金）
		childMap.put("key_chsht_chg_cd", JACStrConst.CHSHT_CHG_CD_1);
		prcKmkList.add(childMap);

		childMap = new HashMap();
		childMap.put("key_sys_cd", JACStrConst.SYS_CD_CH);
		childMap.put("key_work_kino_skbt_cd", JACStrConst.WORK_KINO_SKBT_CD_KNKSTAT14); // 処理済金（貸倒後入金）
		childMap.put("key_chsht_chg_cd", JACStrConst.CHSHT_CHG_CD_1);
		prcKmkList.add(childMap);

		childMap = new HashMap();
		childMap.put("key_sys_cd", JACStrConst.SYS_CD_CH);
		childMap.put("key_work_kino_skbt_cd", JACStrConst.WORK_KINO_SKBT_CD_KNKSTAT15); // 処理済金（返戻金）
		childMap.put("key_chsht_chg_cd", JACStrConst.CHSHT_CHG_CD_1);
		prcKmkList.add(childMap);

		childMap = new HashMap();
		childMap.put("key_sys_cd", JACStrConst.SYS_CD_CH);
		childMap.put("key_work_kino_skbt_cd", JACStrConst.WORK_KINO_SKBT_CD_KNKSTAT16); // 処理済金（ＰＨＳ移動）【過去表示用】
		childMap.put("key_chsht_chg_cd", JACStrConst.CHSHT_CHG_CD_1);
		prcKmkList.add(childMap);

		childMap = new HashMap();
		childMap.put("key_sys_cd", JACStrConst.SYS_CD_CH);
		childMap.put("key_work_kino_skbt_cd", JACStrConst.WORK_KINO_SKBT_CD_KNKSTAT17); // 処理済金（手作成請求書分）
		childMap.put("key_chsht_chg_cd", JACStrConst.CHSHT_CHG_CD_1);
		prcKmkList.add(childMap);

		childMap = new HashMap();
		childMap.put("key_sys_cd", JACStrConst.SYS_CD_CH);
		childMap.put("key_work_kino_skbt_cd", JACStrConst.WORK_KINO_SKBT_CD_KNKSTAT21); // 処理済金（預り金充当）
		childMap.put("key_chsht_chg_cd", JACStrConst.CHSHT_CHG_CD_1);
		prcKmkList.add(childMap);

		childMap = new HashMap();
		childMap.put("key_sys_cd", JACStrConst.SYS_CD_CH);
		childMap.put("key_work_kino_skbt_cd", JACStrConst.WORK_KINO_SKBT_CD_KNKSTAT22); // 処理済金（前受金充当）
		childMap.put("key_chsht_chg_cd", JACStrConst.CHSHT_CHG_CD_1);
		prcKmkList.add(childMap);

		// ▼▼▼ ANK-3416-00-00 ADD START ▼▼▼
		childMap = new HashMap();
		childMap.put("key_sys_cd", JACStrConst.SYS_CD_CH);
		childMap.put("key_work_kino_skbt_cd", JACStrConst.WORK_KINO_SKBT_CD_KNKSTAT23); // 処理済金（営業外支出返戻）
		childMap.put("key_chsht_chg_cd", JACStrConst.CHSHT_CHG_CD_1);
		prcKmkList.add(childMap);
		// ▲▲▲ ANK-3416-00-00 ADD END ▲▲▲

		parentMap.put("prc_kmk_cs_chge_list", prcKmkList);

		outputMap.put("PRCKMKCSCHGECC", parentMap);

		return outputMap;
	}

	/**
	 * 下りマッピング
	 * 
	 * @param bean　[0]：金庫移動登録
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getCHSV001601SC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{

		HashMap parentMap = null;
		if (outputMap.containsKey("CHSV001601SC"))
		{
			parentMap = (HashMap)outputMap.get("CHSV001601SC");
		}

		ArrayList childList = null;

		X31SDataBeanAccessArray listCHSV001601SC_ido_mt_knk_info_ECH0191A010CBSMsg1List = bean[0].getDataBeanArray(CHW01104SFConst.IDO_MT_KNK_INFO);
		childList = null;
		if (listCHSV001601SC_ido_mt_knk_info_ECH0191A010CBSMsg1List != null && parentMap != null && parentMap.containsKey("ECH0191A010CBSMsg1List"))
		{
			childList = (ArrayList)parentMap.get("ECH0191A010CBSMsg1List");

			for (int i = 0; i < childList.size(); i++)
			{
				X31SDataBeanAccess subbean = null;
				if (listCHSV001601SC_ido_mt_knk_info_ECH0191A010CBSMsg1List.getCount() - 1 >= i)
				{
					subbean = listCHSV001601SC_ido_mt_knk_info_ECH0191A010CBSMsg1List.getDataBean(i);
				}
				else
				{
					subbean = listCHSV001601SC_ido_mt_knk_info_ECH0191A010CBSMsg1List.addDataBean();
				}

				HashMap childMap = (HashMap)childList.get(i);
				if (subbean == null)
				{
					continue;
				}

				if (childMap != null)
				{
					// 入金番号 ← 金庫一意照会マップ.金庫一意明細.入金番号
					bean[0].sendMessageString(CHW01104SFConst.NYUKIN_NO, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("nyukin_no"));

					// 移動元金庫移動年月日 ← 金庫一意照会マップ.金庫一意明細.金庫移動年月日
					bean[0].sendMessageString(CHW01104SFConst.IDO_MT_KNK_IDO_YMD, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("knk_ido_ymd"));

					// 移動元金庫情報.現在金庫ステータスコード ← 金庫一意照会マップ.金庫一意明細.金庫料金項目コード
					subbean.sendMessageString(CHW01104SFConst.KNK_STAT_CD_01, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("knk_prc_kmk_cd"));

					// 移動元金庫情報.現在金庫ステータス名称 ← 金庫一意照会マップ.金庫一意明細.金庫料金項目コード名称
					subbean.sendMessageString(CHW01104SFConst.KNK_STAT_CD_NM_01, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("knk_prc_kmk_cd_nm"));

					// 移動元金庫情報.移動元金庫金額 ← 金庫一意照会マップ.金庫一意明細.金庫金額
					subbean.sendMessageString(CHW01104SFConst.IDO_MT_KNK_AMNT_01, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("knk_amnt"));

					// 移動元金庫金額（制御用） ← 金庫一意照会マップ.金庫一意明細.金庫金額
					bean[0].sendMessageString(CHW01104SFConst.IDO_MT_KNK_AMNT_HIDDEN, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("knk_amnt"));

					// 移動元金庫更新年月日時分秒 ← 金庫一意照会マップ.金庫一意明細.更新年月日時分秒
					bean[0].sendMessageString(CHW01104SFConst.KNK_UPD_DTM, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("upd_dtm"));
				}
				else
				{
					bean[0].sendMessageString(CHW01104SFConst.IDO_MT_KNK_IDO_YMD, X31CWebConst.DATABEAN_SET_VALUE, new String());
					subbean.sendMessageString(CHW01104SFConst.KNK_STAT_CD_01, X31CWebConst.DATABEAN_SET_VALUE, new String());
					subbean.sendMessageString(CHW01104SFConst.KNK_STAT_CD_NM_01, X31CWebConst.DATABEAN_SET_VALUE, new String());
					subbean.sendMessageString(CHW01104SFConst.IDO_MT_KNK_AMNT_01, X31CWebConst.DATABEAN_SET_VALUE, new String());
					bean[0].sendMessageString(CHW01104SFConst.IDO_MT_KNK_AMNT_HIDDEN, X31CWebConst.DATABEAN_SET_VALUE, new String());
					bean[0].sendMessageString(CHW01104SFConst.KNK_UPD_DTM, X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
			}
		}

		return bean;
	}

	/**
	 * 下りマッピング
	 * 
	 * @param bean　[0]：金庫移動登録
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getCHSV001602SC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{

		HashMap parentMap = null;
		if (outputMap.containsKey("CHSV001602SC"))
		{
			parentMap = (HashMap)outputMap.get("CHSV001602SC");
		}

		ArrayList childList = null;

		X31SDataBeanAccessArray listCHSV001602SC_ido_sk_knk_info_1_ECH0651B010CBSMsg1List = bean[0].getDataBeanArray(CHW01104SFConst.IDO_SK_KNK_INFO_1);
		X31SDataBeanAccess subbean1 = listCHSV001602SC_ido_sk_knk_info_1_ECH0651B010CBSMsg1List.getDataBean(0);
		X31SDataBeanAccessArray listCHSV001602SC_ido_sk_knk_info_2_ECH0651B010CBSMsg1List = bean[0].getDataBeanArray(CHW01104SFConst.IDO_SK_KNK_INFO_2);
		X31SDataBeanAccess subbean2 = listCHSV001602SC_ido_sk_knk_info_2_ECH0651B010CBSMsg1List.getDataBean(0);
		X31SDataBeanAccessArray listCHSV001602SC_ido_sk_knk_info_3_ECH0651B010CBSMsg1List = bean[0].getDataBeanArray(CHW01104SFConst.IDO_SK_KNK_INFO_3);
		X31SDataBeanAccess subbean3 = listCHSV001602SC_ido_sk_knk_info_3_ECH0651B010CBSMsg1List.getDataBean(0);
		X31SDataBeanAccessArray listCHSV001602SC_ido_sk_knk_info_4_ECH0651B010CBSMsg1List = bean[0].getDataBeanArray(CHW01104SFConst.IDO_SK_KNK_INFO_4);
		X31SDataBeanAccess subbean4 = listCHSV001602SC_ido_sk_knk_info_4_ECH0651B010CBSMsg1List.getDataBean(0);
		X31SDataBeanAccessArray listCHSV001602SC_ido_sk_knk_info_5_ECH0651B010CBSMsg1List = bean[0].getDataBeanArray(CHW01104SFConst.IDO_SK_KNK_INFO_5);
		X31SDataBeanAccess subbean5 = listCHSV001602SC_ido_sk_knk_info_5_ECH0651B010CBSMsg1List.getDataBean(0);

		subbean1.sendMessage(CHW01104SFConst.KNK_PRC_KMK_CD_LIST_1_02, X31CWebConst.DATABEAN_CLEAR);
		subbean1.sendMessage(CHW01104SFConst.KNK_PRC_KMK_NM_LIST_1_02, X31CWebConst.DATABEAN_CLEAR);
		subbean2.sendMessage(CHW01104SFConst.KNK_PRC_KMK_CD_LIST_2_02, X31CWebConst.DATABEAN_CLEAR);
		subbean2.sendMessage(CHW01104SFConst.KNK_PRC_KMK_NM_LIST_2_02, X31CWebConst.DATABEAN_CLEAR);
		subbean3.sendMessage(CHW01104SFConst.KNK_PRC_KMK_CD_LIST_3_02, X31CWebConst.DATABEAN_CLEAR);
		subbean3.sendMessage(CHW01104SFConst.KNK_PRC_KMK_NM_LIST_3_02, X31CWebConst.DATABEAN_CLEAR);
		subbean4.sendMessage(CHW01104SFConst.KNK_PRC_KMK_CD_LIST_4_02, X31CWebConst.DATABEAN_CLEAR);
		subbean4.sendMessage(CHW01104SFConst.KNK_PRC_KMK_NM_LIST_4_02, X31CWebConst.DATABEAN_CLEAR);
		subbean5.sendMessage(CHW01104SFConst.KNK_PRC_KMK_CD_LIST_5_02, X31CWebConst.DATABEAN_CLEAR);
		subbean5.sendMessage(CHW01104SFConst.KNK_PRC_KMK_NM_LIST_5_02, X31CWebConst.DATABEAN_CLEAR);

		childList = null;
		if (listCHSV001602SC_ido_sk_knk_info_1_ECH0651B010CBSMsg1List != null && parentMap != null && parentMap.containsKey("ECH0671B010CBSMsg1List"))
		{
			childList = (ArrayList)parentMap.get("ECH0671B010CBSMsg1List");

			//	先頭行に空白を追加
			subbean1.sendMessageString(CHW01104SFConst.KNK_PRC_KMK_CD_LIST_1_02, X31CWebConst.DATABEAN_ADD_VALUE, "");
			subbean1.sendMessageString(CHW01104SFConst.KNK_PRC_KMK_NM_LIST_1_02, X31CWebConst.DATABEAN_ADD_VALUE, "");
			subbean2.sendMessageString(CHW01104SFConst.KNK_PRC_KMK_CD_LIST_2_02, X31CWebConst.DATABEAN_ADD_VALUE, "");
			subbean2.sendMessageString(CHW01104SFConst.KNK_PRC_KMK_NM_LIST_2_02, X31CWebConst.DATABEAN_ADD_VALUE, "");
			subbean3.sendMessageString(CHW01104SFConst.KNK_PRC_KMK_CD_LIST_3_02, X31CWebConst.DATABEAN_ADD_VALUE, "");
			subbean3.sendMessageString(CHW01104SFConst.KNK_PRC_KMK_NM_LIST_3_02, X31CWebConst.DATABEAN_ADD_VALUE, "");
			subbean4.sendMessageString(CHW01104SFConst.KNK_PRC_KMK_CD_LIST_4_02, X31CWebConst.DATABEAN_ADD_VALUE, "");
			subbean4.sendMessageString(CHW01104SFConst.KNK_PRC_KMK_NM_LIST_4_02, X31CWebConst.DATABEAN_ADD_VALUE, "");
			subbean5.sendMessageString(CHW01104SFConst.KNK_PRC_KMK_CD_LIST_5_02, X31CWebConst.DATABEAN_ADD_VALUE, "");
			subbean5.sendMessageString(CHW01104SFConst.KNK_PRC_KMK_NM_LIST_5_02, X31CWebConst.DATABEAN_ADD_VALUE, "");

			for (int i = 0; i < childList.size(); i++)
			{

				HashMap childMap = (HashMap)childList.get(i);

				if (childMap != null)
				{
					// 移動先金庫ステータス情報１.移動先金庫料金項目コードリスト１ ← 金庫移動管理一覧照会マップ.金庫移動管理明細.移動先金庫料金項目コード
					subbean1.sendMessageString(CHW01104SFConst.KNK_PRC_KMK_CD_LIST_1_02, X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("idosaki_knk_prc_kmk_cd"));

					// 移動先金庫ステータス情報１.移動先金庫料金項目名称リスト１ ← 金庫移動管理一覧照会マップ.金庫移動管理明細.移動先金庫料金項目名称
					subbean1.sendMessageString(CHW01104SFConst.KNK_PRC_KMK_NM_LIST_1_02, X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("idosaki_knk_prc_kmk_cd_nm"));

					// 移動先金庫ステータス情報２.移動先金庫料金項目コードリスト２ ← 金庫移動管理一覧照会マップ.金庫移動管理明細.移動先金庫料金項目コード
					subbean2.sendMessageString(CHW01104SFConst.KNK_PRC_KMK_CD_LIST_2_02, X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("idosaki_knk_prc_kmk_cd"));

					// 移動先金庫ステータス情報２.移動先金庫料金項目名称リスト２ ← 金庫移動管理一覧照会マップ.金庫移動管理明細.移動先金庫料金項目名称
					subbean2.sendMessageString(CHW01104SFConst.KNK_PRC_KMK_NM_LIST_2_02, X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("idosaki_knk_prc_kmk_cd_nm"));

					// 移動先金庫ステータス情報３.移動先金庫料金項目コードリスト３ ← 金庫移動管理一覧照会マップ.金庫移動管理明細.移動先金庫料金項目コード
					subbean3.sendMessageString(CHW01104SFConst.KNK_PRC_KMK_CD_LIST_3_02, X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("idosaki_knk_prc_kmk_cd"));

					// 移動先金庫ステータス情報３.移動先金庫料金項目名称リスト３ ← 金庫移動管理一覧照会マップ.金庫移動管理明細.移動先金庫料金項目名称
					subbean3.sendMessageString(CHW01104SFConst.KNK_PRC_KMK_NM_LIST_3_02, X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("idosaki_knk_prc_kmk_cd_nm"));

					// 移動先金庫ステータス情報４.移動先金庫料金項目コードリスト４ ← 金庫移動管理一覧照会マップ.金庫移動管理明細.移動先金庫料金項目コード
					subbean4.sendMessageString(CHW01104SFConst.KNK_PRC_KMK_CD_LIST_4_02, X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("idosaki_knk_prc_kmk_cd"));

					// 移動先金庫ステータス情報４.移動先金庫料金項目名称リスト４ ← 金庫移動管理一覧照会マップ.金庫移動管理明細.移動先金庫料金項目名称
					subbean4.sendMessageString(CHW01104SFConst.KNK_PRC_KMK_NM_LIST_4_02, X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("idosaki_knk_prc_kmk_cd_nm"));

					// 移動先金庫ステータス情報５.移動先金庫料金項目コードリスト５ ← 金庫移動管理一覧照会マップ.金庫移動管理明細.移動先金庫料金項目コード
					subbean5.sendMessageString(CHW01104SFConst.KNK_PRC_KMK_CD_LIST_5_02, X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("idosaki_knk_prc_kmk_cd"));

					// 移動先金庫ステータス情報５.移動先金庫料金項目名称リスト５ ← 金庫移動管理一覧照会マップ.金庫移動管理明細.移動先金庫料金項目名称
					subbean5.sendMessageString(CHW01104SFConst.KNK_PRC_KMK_NM_LIST_5_02, X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("idosaki_knk_prc_kmk_cd_nm"));
				}
				else
				{
					subbean1.sendMessageString(CHW01104SFConst.KNK_PRC_KMK_CD_LIST_1_02, X31CWebConst.DATABEAN_ADD_VALUE, new String());
					subbean1.sendMessageString(CHW01104SFConst.KNK_PRC_KMK_NM_LIST_1_02, X31CWebConst.DATABEAN_ADD_VALUE, new String());
					subbean2.sendMessageString(CHW01104SFConst.KNK_PRC_KMK_CD_LIST_2_02, X31CWebConst.DATABEAN_ADD_VALUE, new String());
					subbean2.sendMessageString(CHW01104SFConst.KNK_PRC_KMK_NM_LIST_2_02, X31CWebConst.DATABEAN_ADD_VALUE, new String());
					subbean3.sendMessageString(CHW01104SFConst.KNK_PRC_KMK_CD_LIST_3_02, X31CWebConst.DATABEAN_ADD_VALUE, new String());
					subbean3.sendMessageString(CHW01104SFConst.KNK_PRC_KMK_NM_LIST_3_02, X31CWebConst.DATABEAN_ADD_VALUE, new String());
					subbean4.sendMessageString(CHW01104SFConst.KNK_PRC_KMK_CD_LIST_4_02, X31CWebConst.DATABEAN_ADD_VALUE, new String());
					subbean4.sendMessageString(CHW01104SFConst.KNK_PRC_KMK_NM_LIST_4_02, X31CWebConst.DATABEAN_ADD_VALUE, new String());
					subbean5.sendMessageString(CHW01104SFConst.KNK_PRC_KMK_CD_LIST_5_02, X31CWebConst.DATABEAN_ADD_VALUE, new String());
					subbean5.sendMessageString(CHW01104SFConst.KNK_PRC_KMK_NM_LIST_5_02, X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
			}
		}

		return bean;
	}

	/**
	 * 下りマッピング
	 * 
	 * @param bean　[0]：金庫移動登録
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getCHSV001603SC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{

		HashMap parentMap = null;
		if (outputMap.containsKey("CHSV001603SC"))
		{
			parentMap = (HashMap)outputMap.get("CHSV001603SC");
		}

		ArrayList childList = null;

		childList = null;
		if (parentMap != null && parentMap.containsKey("ECH0231A010CBSMsg1List"))
		{
			childList = (ArrayList)parentMap.get("ECH0231A010CBSMsg1List");

			for (int i = 0; i < childList.size(); i++)
			{
				HashMap childMap = (HashMap)childList.get(i);

				if (childMap != null)
				{
					// 督促番号 ← 督促一意照会マップ.督促一意明細.督促番号
					bean[0].sendMessageString(CHW01104SFConst.TOKUSOKU_NO, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("tokusoku_no"));

					// 督促更新タイムスタンプ ← 督促一意照会マップ.督促一意明細.督促更新タイムスタンプ
					bean[0].sendMessageString(CHW01104SFConst.TOKUSOKU_UPD_DTM, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("upd_dtm"));

					// 督促未収金額合計 ← 督促一意照会マップ.督促一意明細.督促未収金額合計
					bean[0].sendMessageString(CHW01104SFConst.TOKUSOKU_MSU_AMNT_SUM, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("msu_amnt_sum"));
				}
				else
				{
					bean[0].sendMessageString(CHW01104SFConst.TOKUSOKU_NO, X31CWebConst.DATABEAN_SET_VALUE, new String());
					bean[0].sendMessageString(CHW01104SFConst.TOKUSOKU_UPD_DTM, X31CWebConst.DATABEAN_SET_VALUE, new String());
					bean[0].sendMessageString(CHW01104SFConst.TOKUSOKU_MSU_AMNT_SUM, X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
			}
		}

		return bean;
	}

	/**
	 * 下りマッピング
	 * 
	 * @param bean　[0]：金庫移動登録
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getCHSV001604SC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{

		HashMap parentMap = null;
		if (outputMap.containsKey("CHSV001604SC"))
		{
			parentMap = (HashMap)outputMap.get("CHSV001604SC");
		}

		ArrayList childList = null;

		X31SDataBeanAccessArray listCHSV001604SC_ido_mt_knk_info_EKK0491A010CBSMsg1List = bean[0].getDataBeanArray(CHW01104SFConst.IDO_MT_KNK_INFO);
		childList = null;
		if (listCHSV001604SC_ido_mt_knk_info_EKK0491A010CBSMsg1List != null && parentMap != null && parentMap.containsKey("EKK0491A010CBSMsg1List"))
		{
			childList = (ArrayList)parentMap.get("EKK0491A010CBSMsg1List");

			for (int i = 0; i < childList.size(); i++)
			{
				X31SDataBeanAccess subbean = null;
				if (listCHSV001604SC_ido_mt_knk_info_EKK0491A010CBSMsg1List.getCount() - 1 >= i)
				{
					subbean = listCHSV001604SC_ido_mt_knk_info_EKK0491A010CBSMsg1List.getDataBean(i);
				}
				else
				{
					subbean = listCHSV001604SC_ido_mt_knk_info_EKK0491A010CBSMsg1List.addDataBean();
				}

				HashMap childMap = (HashMap)childList.get(i);
				if (subbean == null)
				{
					continue;
				}

				if (childMap != null)
				{
					// 移動元金庫情報.移動元請求契約者名 ← 請求契約一意照会マップ.請求契約一意照会明細.送付先名
					subbean.sendMessageString("移動元請求契約者名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("sohus_nm"));
				}
				else
				{
					subbean.sendMessageString("移動元請求契約者名", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
			}
		}

		return bean;
	}

	/**
	 * 下りマッピング
	 * 
	 * @param bean　[0]：金庫移動登録
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getPRCKMKCSCHGECC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{

		HashMap parentMap = null;
		if(outputMap.containsKey("PRCKMKCSCHGECC")){
			parentMap = (HashMap)outputMap.get("PRCKMKCSCHGECC");
		}

		ArrayList childList = null;

		childList = (ArrayList)parentMap.get("ECH0401B010CBSMsg1List");

		for(int i = 0; i < childList.size(); i++)
		{
			HashMap childMap = (HashMap)childList.get(i);

			String workKinoSkbtCd = (String)childMap.get("work_kino_skbt_cd");
			String prcKmkCd = (String)childMap.get("prc_kmk_cd");
			
			if (JACStrConst.WORK_KINO_SKBT_CD_KNKSTAT01.equals(workKinoSkbtCd)) 
			{
				// 仮受金の料金項目コード
				bean[0].sendMessageString(CHW01104SFConst.PRC_KMK_CD_KNKSTAT01, X31CWebConst.DATABEAN_SET_VALUE, prcKmkCd);
			}
			else if  (JACStrConst.WORK_KINO_SKBT_CD_KNKSTAT02.equals(workKinoSkbtCd)) 
			{
				// 預り金の料金項目コード
				bean[0].sendMessageString(CHW01104SFConst.PRC_KMK_CD_KNKSTAT02, X31CWebConst.DATABEAN_SET_VALUE, prcKmkCd);
			}
			else if  (JACStrConst.WORK_KINO_SKBT_CD_KNKSTAT03.equals(workKinoSkbtCd)) 
			{
				// 前受金の料金項目コード
				bean[0].sendMessageString(CHW01104SFConst.PRC_KMK_CD_KNKSTAT03, X31CWebConst.DATABEAN_SET_VALUE, prcKmkCd);
			}
			else if  (JACStrConst.WORK_KINO_SKBT_CD_KNKSTAT04.equals(workKinoSkbtCd)) 
			{
				// 不明金の料金項目コード
				bean[0].sendMessageString(CHW01104SFConst.PRC_KMK_CD_KNKSTAT04, X31CWebConst.DATABEAN_SET_VALUE, prcKmkCd);
			}
			// ▼▼▼ ANK-3416-00-00 ADD START ▼▼▼
			else if  (JACStrConst.WORK_KINO_SKBT_CD_KNKSTAT05.equals(workKinoSkbtCd)) 
			{
				// 返戻不可分の料金項目コード
				bean[0].sendMessageString(CHW01104SFConst.PRC_KMK_CD_KNKSTAT05, X31CWebConst.DATABEAN_SET_VALUE, prcKmkCd);
			}
			// ▲▲▲ ANK-3416-00-00 ADD END ▲▲▲
			else if  (JACStrConst.WORK_KINO_SKBT_CD_KNKSTAT11.equals(workKinoSkbtCd)) 
			{
				// 処理済金（雑収入）の料金項目コード
				bean[0].sendMessageString(CHW01104SFConst.PRC_KMK_CD_KNKSTAT11, X31CWebConst.DATABEAN_SET_VALUE, prcKmkCd);
			}
			else if  (JACStrConst.WORK_KINO_SKBT_CD_KNKSTAT12.equals(workKinoSkbtCd)) 
			{
				// 処理済金（申立費用受付）の料金項目コード
				bean[0].sendMessageString(CHW01104SFConst.PRC_KMK_CD_KNKSTAT12, X31CWebConst.DATABEAN_SET_VALUE, prcKmkCd);
			}
			else if  (JACStrConst.WORK_KINO_SKBT_CD_KNKSTAT13.equals(workKinoSkbtCd)) 
			{
				// 処理済金（遅延損害金）の料金項目コード
				bean[0].sendMessageString(CHW01104SFConst.PRC_KMK_CD_KNKSTAT13, X31CWebConst.DATABEAN_SET_VALUE, prcKmkCd);
			}
			else if  (JACStrConst.WORK_KINO_SKBT_CD_KNKSTAT14.equals(workKinoSkbtCd)) 
			{
				// 処理済金（貸倒後入金）の料金項目コード
				bean[0].sendMessageString(CHW01104SFConst.PRC_KMK_CD_KNKSTAT14, X31CWebConst.DATABEAN_SET_VALUE, prcKmkCd);
			}
			else if  (JACStrConst.WORK_KINO_SKBT_CD_KNKSTAT15.equals(workKinoSkbtCd)) 
			{
				// 処理済金（返戻金）の料金項目コード
				bean[0].sendMessageString(CHW01104SFConst.PRC_KMK_CD_KNKSTAT15, X31CWebConst.DATABEAN_SET_VALUE, prcKmkCd);
			}
			else if  (JACStrConst.WORK_KINO_SKBT_CD_KNKSTAT16.equals(workKinoSkbtCd)) 
			{
				// 処理済金（ＰＨＳ移動）【過去表示用】の料金項目コード
				bean[0].sendMessageString(CHW01104SFConst.PRC_KMK_CD_KNKSTAT16, X31CWebConst.DATABEAN_SET_VALUE, prcKmkCd);
			}
			else if  (JACStrConst.WORK_KINO_SKBT_CD_KNKSTAT17.equals(workKinoSkbtCd)) 
			{
				// 処理済金（手作成請求書分）の料金項目コード
				bean[0].sendMessageString(CHW01104SFConst.PRC_KMK_CD_KNKSTAT17, X31CWebConst.DATABEAN_SET_VALUE, prcKmkCd);
			}
			else if  (JACStrConst.WORK_KINO_SKBT_CD_KNKSTAT21.equals(workKinoSkbtCd)) 
			{
				// 処理済金（預り金充当）の料金項目コード
				bean[0].sendMessageString(CHW01104SFConst.PRC_KMK_CD_KNKSTAT21, X31CWebConst.DATABEAN_SET_VALUE, prcKmkCd);
			}
			else if  (JACStrConst.WORK_KINO_SKBT_CD_KNKSTAT22.equals(workKinoSkbtCd)) 
			{
				// 処理済金（前受金充当）の料金項目コード
				bean[0].sendMessageString(CHW01104SFConst.PRC_KMK_CD_KNKSTAT22, X31CWebConst.DATABEAN_SET_VALUE, prcKmkCd);
			}
			// ▼▼▼ ANK-3416-00-00 ADD START ▼▼▼
			else if  (JACStrConst.WORK_KINO_SKBT_CD_KNKSTAT23.equals(workKinoSkbtCd)) 
			{
				// 処理済金（営業外支出返戻）の料金項目コード
				bean[0].sendMessageString(CHW01104SFConst.PRC_KMK_CD_KNKSTAT23, X31CWebConst.DATABEAN_SET_VALUE, prcKmkCd);
			}
			// ▲▲▲ ANK-3416-00-00 ADD END ▲▲▲
		}

		return bean;
	}
}