/*********************************************************************
 *	All Rights reserved,Copyright (c) K-Opticom
 **********************************************************************
 *＜プログラム内容＞
 *	システム名		：eo顧客基幹システム
 *	モジュール名	：CHSV0017_CHSV0017OPDBMapper
 *	ソースファイル名：CHSV0017_CHSV0017OPDBMapper.java
 *	作成者			：富士通
 *	日付			：2012年04月24日
 *＜機能概要＞
 *	BP（金庫移動登録）へのＤ−Ｂマッピングクラスです。
 *＜修正履歴＞
 *	バージョン	修正日		修正者		修正内容
 *	v1.00.00	2012/04/24	富士通		新規作成
 *	v5.00.00	2013/07/11	FJ) 文元	【LT-2013-0000365】登録確認画面遷移しない不具合対応
 *	v8.00.00	2014/02/15	FJ) 小野	【IT1内部障害】金庫移動で精算方法コードが更新されていない事象に対応。
 *	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 java.util.List;

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.JPCModelConstant;
import eo.web.webview.JCCWebBusinessLogic;
import eo.web.webview.CHW01104SF.CHW01104SFConst;
import eo.web.webview.CommonInfoCF.CommonInfoCFConst;
import eo.web.webview.common.JACScreenConst;
import eo.web.webview.common.JCCWebCommon;
import eo.web.webview.common.JCHWebCommon;
import eo.web.webview.common.JCRWebCommon;

/**
 * DataBean-BPマッピングをする。
 * 
 */
public class CHSV0017_CHSV0017OPDBMapper
{

	/**
	 * 移動先金庫ステータス：処理済金（貸倒後入金）
	 */
	private final String KSDOR_NYUKIN_AMNT = "00900086301";

	/**
	 * 貸倒後入金選択フラグ（選択：無）
	 */
	private final String KSDOR_SEL_NASI = "0";

	/**
	 * 貸倒後入金選択フラグ（選択：有）
	 */
	private final String KSDOR_SEL_ARI = "1";

	/**
	 * 請求契約番号(ダミー値)
	 */
	private final String DMY_SEIKY_KEI_NO = "9999999999";
	
	/**
	 * コンストラクタ
	 */
	public CHSV0017_CHSV0017OPDBMapper()
	{
	}

	/**
	 * 上りマッピングをする
	 * 
	 * @param bean　[0]：金庫移動登録
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setCHSV001701SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{

		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		X31SDataBeanAccessArray arraybean = null;
		ArrayList list = null;

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		arraybean = bean[0].getDataBeanArray(CHW01104SFConst.IDO_MT_KNK_INFO);
		X31SDataBeanAccess subbean = arraybean.getDataBean(0);

		// 金庫番号 → 金庫移動登録マップ.金庫番号
		parentMap.put("knk_no", bean[0].sendMessageString(CHW01104SFConst.KNK_NO, X31CWebConst.DATABEAN_GET_VALUE));

		// 請求契約番号 → 金庫移動登録マップ.移動元請求契約番号
		parentMap.put("ido_mt_seiky_kei_no", bean[0].sendMessageString(CHW01104SFConst.SEIKY_KEI_NO, X31CWebConst.DATABEAN_GET_VALUE));

		// 入金番号 → 金庫移動登録マップ.入金番号
		parentMap.put("nyukin_no", bean[0].sendMessageString(CHW01104SFConst.NYUKIN_NO, X31CWebConst.DATABEAN_GET_VALUE));

		// 移動元金庫情報．現在金庫ステータスコード → 金庫移動登録マップ．金庫料金項目コード
		parentMap.put("knk_prc_kmk_cd", subbean.sendMessageString(CHW01104SFConst.KNK_STAT_CD_01, X31CWebConst.DATABEAN_GET_VALUE));

		// 督促番号 → 金庫移動登録マップ.督促番号
		parentMap.put("tokusoku_no", bean[0].sendMessageString(CHW01104SFConst.TOKUSOKU_NO, X31CWebConst.DATABEAN_GET_VALUE));

		// 移動元金庫情報．移動元金庫金額 → 金庫移動登録マップ.金庫金額
		parentMap.put("knk_amnt", subbean.sendMessageString(CHW01104SFConst.IDO_MT_KNK_AMNT_01, X31CWebConst.DATABEAN_GET_VALUE));

		// 移動元金庫更新年月日時分秒 → 金庫移動登録マップ.金庫移動登録明細.移動元金庫更新年月日時分秒
		parentMap.put("knk_upd_dtm", bean[0].sendMessageString(CHW01104SFConst.KNK_UPD_DTM, X31CWebConst.DATABEAN_GET_VALUE));

		if (parentMap.containsKey("ECH0191D020CBSMsg1List"))
		{
			list = (ArrayList)parentMap.get("ECH0191D020CBSMsg1List");
		}
		else
		{
			list = new ArrayList();
		}
		HashMap childMap1 = new HashMap();
		HashMap childMap2 = new HashMap();
		HashMap childMap3 = new HashMap();
		HashMap childMap4 = new HashMap();
		HashMap childMap5 = new HashMap();

		if (checkInput(bean, CHW01104SFConst.KNK_PRC_KMK_CD_1, CHW01104SFConst.IDO_SK_SEIKY_KEI_NO_1, CHW01104SFConst.IDO_SK_KNK_AMNT_1))
		{
			// 移動先請求契約番号１ → 金庫移動登録マップ.金庫移動登録明細.請求契約番号
			childMap1.put("seiky_kei_no", bean[0].sendMessageString(CHW01104SFConst.IDO_SK_SEIKY_KEI_NO_1, X31CWebConst.DATABEAN_GET_VALUE));

			// 移動先金庫料金項目コード１ → 金庫移動登録マップ.金庫移動登録明細.移動先金庫料金項目コード
			childMap1.put("knk_prc_kmk_cd_af", bean[0].sendMessageString(CHW01104SFConst.KNK_PRC_KMK_CD_1, X31CWebConst.DATABEAN_GET_VALUE));

			// 移動先金庫金額１ → 金庫移動登録マップ.金庫移動登録明細.移動先金庫金額
			childMap1.put("knk_amnt_af", bean[0].sendMessageString(CHW01104SFConst.IDO_SK_KNK_AMNT_1, X31CWebConst.DATABEAN_GET_VALUE));

			// 精算方法コード１ → 金庫移動登録マップ.金庫移動登録明細.移動先精算方法コード
			childMap1.put("ssn_way_cd_af", getSsnWayCd(bean, bean[0].sendMessageString(CHW01104SFConst.KNK_PRC_KMK_CD_1, X31CWebConst.DATABEAN_GET_VALUE)));

			list.add(childMap1);
		}

		if (checkInput(bean, CHW01104SFConst.KNK_PRC_KMK_CD_2, CHW01104SFConst.IDO_SK_SEIKY_KEI_NO_2, CHW01104SFConst.IDO_SK_KNK_AMNT_2))
		{
			// 移動先請求契約番号２ → 金庫移動登録マップ.金庫移動登録明細.請求契約番号
			childMap2.put("seiky_kei_no", bean[0].sendMessageString(CHW01104SFConst.IDO_SK_SEIKY_KEI_NO_2, X31CWebConst.DATABEAN_GET_VALUE));

			// 移動先金庫料金項目コード２ → 金庫移動登録マップ.金庫移動登録明細.移動先金庫料金項目コード
			childMap2.put("knk_prc_kmk_cd_af", bean[0].sendMessageString(CHW01104SFConst.KNK_PRC_KMK_CD_2, X31CWebConst.DATABEAN_GET_VALUE));

			// 移動先金庫金額２ → 金庫移動登録マップ.金庫移動登録明細.移動先金庫金額
			childMap2.put("knk_amnt_af", bean[0].sendMessageString(CHW01104SFConst.IDO_SK_KNK_AMNT_2, X31CWebConst.DATABEAN_GET_VALUE));

			// 精算方法コード２ → 金庫移動登録マップ.金庫移動登録明細.移動先精算方法コード
			childMap2.put("ssn_way_cd_af", getSsnWayCd(bean, bean[0].sendMessageString(CHW01104SFConst.KNK_PRC_KMK_CD_2, X31CWebConst.DATABEAN_GET_VALUE)));

			list.add(childMap2);
		}

		if (checkInput(bean, CHW01104SFConst.KNK_PRC_KMK_CD_3, CHW01104SFConst.IDO_SK_SEIKY_KEI_NO_3, CHW01104SFConst.IDO_SK_KNK_AMNT_3))
		{
			// 移動先請求契約番号３ → 金庫移動登録マップ.金庫移動登録明細.請求契約番号
			childMap3.put("seiky_kei_no", bean[0].sendMessageString(CHW01104SFConst.IDO_SK_SEIKY_KEI_NO_3, X31CWebConst.DATABEAN_GET_VALUE));

			// 移動先金庫料金項目コード３ → 金庫移動登録マップ.金庫移動登録明細.移動先金庫料金項目コード
			childMap3.put("knk_prc_kmk_cd_af", bean[0].sendMessageString(CHW01104SFConst.KNK_PRC_KMK_CD_3, X31CWebConst.DATABEAN_GET_VALUE));

			// 移動先金庫金額３ → 金庫移動登録マップ.金庫移動登録明細.移動先金庫金額
			childMap3.put("knk_amnt_af", bean[0].sendMessageString(CHW01104SFConst.IDO_SK_KNK_AMNT_3, X31CWebConst.DATABEAN_GET_VALUE));

			// 精算方法コード３ → 金庫移動登録マップ.金庫移動登録明細.移動先精算方法コード
			childMap3.put("ssn_way_cd_af", getSsnWayCd(bean, bean[0].sendMessageString(CHW01104SFConst.KNK_PRC_KMK_CD_3, X31CWebConst.DATABEAN_GET_VALUE)));

			list.add(childMap3);
		}

		if (checkInput(bean, CHW01104SFConst.KNK_PRC_KMK_CD_4, CHW01104SFConst.IDO_SK_SEIKY_KEI_NO_4, CHW01104SFConst.IDO_SK_KNK_AMNT_4))
		{
			// 移動先請求契約番号４ → 金庫移動登録マップ.金庫移動登録明細.請求契約番号
			childMap4.put("seiky_kei_no", bean[0].sendMessageString(CHW01104SFConst.IDO_SK_SEIKY_KEI_NO_4, X31CWebConst.DATABEAN_GET_VALUE));

			// 移動先金庫料金項目コード４ → 金庫移動登録マップ.金庫移動登録明細.移動先金庫料金項目コード
			childMap4.put("knk_prc_kmk_cd_af", bean[0].sendMessageString(CHW01104SFConst.KNK_PRC_KMK_CD_4, X31CWebConst.DATABEAN_GET_VALUE));

			// 移動先金庫金額４ → 金庫移動登録マップ.金庫移動登録明細.移動先金庫金額
			childMap4.put("knk_amnt_af", bean[0].sendMessageString(CHW01104SFConst.IDO_SK_KNK_AMNT_4, X31CWebConst.DATABEAN_GET_VALUE));

			// 精算方法コード４ → 金庫移動登録マップ.金庫移動登録明細.移動先精算方法コード
			childMap4.put("ssn_way_cd_af", getSsnWayCd(bean, bean[0].sendMessageString(CHW01104SFConst.KNK_PRC_KMK_CD_4, X31CWebConst.DATABEAN_GET_VALUE)));

			list.add(childMap4);
		}

		if (checkInput(bean, CHW01104SFConst.KNK_PRC_KMK_CD_5, CHW01104SFConst.IDO_SK_SEIKY_KEI_NO_5, CHW01104SFConst.IDO_SK_KNK_AMNT_5))
		{
			// 移動先請求契約番号５ → 金庫移動登録マップ.金庫移動登録明細.請求契約番号
			childMap5.put("seiky_kei_no", bean[0].sendMessageString(CHW01104SFConst.IDO_SK_SEIKY_KEI_NO_5, X31CWebConst.DATABEAN_GET_VALUE));

			// 移動先金庫料金項目コード５ → 金庫移動登録マップ.金庫移動登録明細.移動先金庫料金項目コード
			childMap5.put("knk_prc_kmk_cd_af", bean[0].sendMessageString(CHW01104SFConst.KNK_PRC_KMK_CD_5, X31CWebConst.DATABEAN_GET_VALUE));

			// 移動先金庫金額５ → 金庫移動登録マップ.金庫移動登録明細.移動先金庫金額
			childMap5.put("knk_amnt_af", bean[0].sendMessageString(CHW01104SFConst.IDO_SK_KNK_AMNT_5, X31CWebConst.DATABEAN_GET_VALUE));

			// 精算方法コード５ → 金庫移動登録マップ.金庫移動登録明細.移動先精算方法コード
			childMap5.put("ssn_way_cd_af", getSsnWayCd(bean, bean[0].sendMessageString(CHW01104SFConst.KNK_PRC_KMK_CD_5, X31CWebConst.DATABEAN_GET_VALUE)));

			list.add(childMap5);
		}

		parentMap.put("ECH0191D020CBSMsg1List", list);

		outputMap.put("CHSV001701SC", parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * 
	 * @param bean　[0]：金庫移動登録
	 * @param outputMap
	 * @param func_code　機能コード
	 * @param bl　 ビューロジックインスタンス
	 */
	@SuppressWarnings("unchecked")
	public HashMap setTAIOKIROKADDCC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code, JCCWebBusinessLogic bl)
	{

		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		String wkkbtOrgCd = JCRWebCommon.getWkkbtOrgCd(bean[1]);
		String wkkbtOrgNm = JCRWebCommon.getWkkbtOrgNm(bean[1]);
		String userId = bean[1].sendMessageString(CommonInfoCFConst.USER_ID, X31CWebConst.DATABEAN_GET_VALUE);
		String userNm = bean[1].sendMessageString(CommonInfoCFConst.USER_NM, X31CWebConst.DATABEAN_GET_VALUE);
		String dtm = JCCWebCommon.getSysDateTime();

		ArrayList<HashMap<String, Object>> taioKirokAddList = new ArrayList<HashMap<String, Object>>();

		HashMap parentMap2 = null;
		if (outputMap.containsKey("PRCTAIOKIROKADDCC"))
		{
			parentMap2 = (HashMap) outputMap.get("PRCTAIOKIROKADDCC");
		}

		ArrayList prcTaioKirokList = null;
		if (parentMap2.containsKey("prc_taio_kirok_list"))
		{
			prcTaioKirokList = (ArrayList) parentMap2.get("prc_taio_kirok_list");

			for (int i = 0; i < prcTaioKirokList.size(); i++)
			{
				HashMap childMapPrc = (HashMap) prcTaioKirokList.get(i);
				String prcTaioKirokSbtDtlCd = (String) childMapPrc.get("prc_taio_kirok_sbt_dtl_cd");

				HashMap<String, Object> childMap = new HashMap<String, Object>();

				// 金庫移動登録["125"固定] → 対応記録登録マップ.対応記録登録リスト.料金対応記録種別コード
				childMap.put("prc_taio_kirok_sbt_cd", JACStrConst.TKRK_SBT_KNK_IDO_ADD);

				// 料金対応記録種別詳細コード → 対応記録登録マップ.対応記録登録リスト.料金対応記録種別詳細コード
				childMap.put("prc_taio_kirok_dtl_bunrui_cd", prcTaioKirokSbtDtlCd);

				// "金庫移動登録" → 対応記録登録マップ.対応記録登録リスト.タイトル
				childMap.put("title", JACScreenConst.SCREEN_NAME_CHW01104);

				// 記事 → 対応記録登録マップ.対応記録登録リスト.問合せ内容
				childMap.put("toiawase_naiyo", bean[0].sendMessageString("記事", X31CWebConst.DATABEAN_GET_VALUE));

				// 業務個別設定組織コード → 対応記録登録マップ.対応記録登録リスト.業務個別設定組織コード
				childMap.put("wkkbt_org_cd", wkkbtOrgCd);

				// 業務個別設定組織名 → 対応記録登録マップ.対応記録登録リスト.業務個別設定組織名
				childMap.put("wkkbt_org_nm", wkkbtOrgNm);

				// ユーザーＩＤ → 対応記録登録マップ.対応記録登録リスト.ユーザーＩＤ
				childMap.put("user_id", userId);

				// ユーザー名 → 対応記録登録マップ.対応記録登録リスト.ユーザー名
				childMap.put("user_nm", userNm);

				// 年月日時分秒 → 対応記録登録マップ.対応記録登録リスト.年月日時分秒
				childMap.put("dtm", dtm);

				// 応対区分カテゴリーリストの作成
				ArrayList<HashMap<String, Object>> rspCtgrList = new ArrayList<HashMap<String, Object>>();
				HashMap<String, Object> ctgrMap = new HashMap<String, Object>();

				// 金庫移動登録["125"固定] → 対応記録登録マップ.応対区分カテゴリーリスト.料金対応記録種別コード
				ctgrMap.put("prc_taio_kirok_sbt_cd", JACStrConst.TKRK_SBT_KNK_IDO_ADD);

				// 料金対応記録種別詳細コード → 対応記録登録マップ.応対区分カテゴリーリスト.料金対応記録種別詳細コード
				ctgrMap.put("prc_taio_kirok_dtl_bunrui_cd", prcTaioKirokSbtDtlCd);

				// taio_kirok_add_listにrsp_ctgr_listを追加
				rspCtgrList.add(ctgrMap);
				childMap.put("rsp_ctgr_list", rspCtgrList);

				taioKirokAddList.add(childMap);
			}
		}

		parentMap.put("taio_kirok_add_list", taioKirokAddList);

		parentMap.put("seiky_kei_no", bean[0].sendMessageString("請求契約番号", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put(JACStrConst.TAIOKIROKADDCC_MAP_ID, parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * 
	 * @param bean　[0]：金庫移動登録
	 * @param outputMap
	 * @param func_code　機能コード
	 * @param bl　 ビューロジックインスタンス
	 */
	@SuppressWarnings("unchecked")
	public HashMap setADDHOTVOICCC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code, JCCWebBusinessLogic bl)
	{

		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		// 応対区分カテゴリーリストの作成
		ArrayList<HashMap<String, Object>> rspCtgrList = new ArrayList<HashMap<String, Object>>();
		HashMap<String, Object> ctgrMap = new HashMap<String, Object>();
		rspCtgrList.add(ctgrMap);

		parentMap.put("RSP_CTGR_List", rspCtgrList);
		outputMap.put("ADDHOTVOICCC", parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * 
	 * @param bean　[0]：金庫移動登録
	 * @param outputMap
	 * @param func_code　機能コード
	 * @param bl　 ビューロジックインスタンス
	 */
	@SuppressWarnings("unchecked")
	public HashMap setPRCTAIOKIROKADDCC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code, JCCWebBusinessLogic bl)
	{

		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		List<HashMap<String, Object>> list = null;
		HashMap childMap = null;

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		String userId = bean[1].sendMessageString(CommonInfoCFConst.USER_ID, X31CWebConst.DATABEAN_GET_VALUE);

		if (parentMap.containsKey("prc_taio_kirok_list"))
		{
			list = (ArrayList)parentMap.get("prc_taio_kirok_list");
		}
		else
		{
			list = new ArrayList();
		}

		// 移動元金庫情報
		X31SDataBeanAccessArray idoMtKnkInfo = bean[0].getDataBeanArray(CHW01104SFConst.IDO_MT_KNK_INFO);
		String idoMtKnkAmnt = idoMtKnkInfo.getDataBean(0).sendMessageString(CHW01104SFConst.IDO_MT_KNK_AMNT_01, X31CWebConst.DATABEAN_GET_VALUE);
		String idoMtKnkStats = idoMtKnkInfo.getDataBean(0).sendMessageString(CHW01104SFConst.KNK_STAT_CD_01, X31CWebConst.DATABEAN_GET_VALUE);

		if (checkInput(bean, CHW01104SFConst.KNK_PRC_KMK_CD_1, CHW01104SFConst.IDO_SK_SEIKY_KEI_NO_1, CHW01104SFConst.IDO_SK_KNK_AMNT_1))
		{
			childMap = new HashMap();

			// ユーザＩＤ → 料金対応記録登録マップ.料金対応記録明細リスト.料金対応ユーザＩＤ
			childMap.put("prc_taio_user_id", userId);

			// 請求契約番号 → 料金対応記録登録マップ.料金対応記録明細リスト.請求契約番号
			childMap.put("seiky_kei_no", bean[0].sendMessageString(CHW01104SFConst.SEIKY_KEI_NO, X31CWebConst.DATABEAN_GET_VALUE));

			// 金庫移動登録["124"固定] → 料金対応記録登録マップ.料金対応記録種別コード
			childMap.put("prc_taio_kirok_sbt_cd", JACStrConst.TKRK_SBT_KNK_IDO_ADD);

			// 移動先金庫料金項目コード
			String idoSkKnkStats1 = bean[0].sendMessageString(CHW01104SFConst.KNK_PRC_KMK_CD_1, X31CWebConst.DATABEAN_GET_VALUE);
			
			// 料金対応記録種別詳細コード → 料金対応記録登録マップ.料金対応記録種別詳細コード
			childMap.put("prc_taio_kirok_sbt_dtl_cd", this.getPrcTaioKirokSbtDtlCd(bean, idoMtKnkStats, idoSkKnkStats1));

			// "金庫移動登録" → 料金対応記録登録マップ.料金対応記録明細リスト.タイトル
			childMap.put("title", JACScreenConst.SCREEN_NAME_CHW01104);

			// 記事 → 料金対応記録登録マップ.料金対応記録明細リスト.記事
			childMap.put("kiji", bean[0].sendMessageString(CHW01104SFConst.KIJI, X31CWebConst.DATABEAN_GET_VALUE));

			// 移動元金庫金額 → 料金対応記録登録マップ.料金対応記録明細リスト.変更前金額
			childMap.put("chg_bf_amnt", idoMtKnkAmnt);

			// 移動先金庫金額 → 料金対応記録登録マップ.料金対応記録明細リスト.変更後金額
			childMap.put("chg_af_amnt", bean[0].sendMessageString(CHW01104SFConst.IDO_SK_KNK_AMNT_1, X31CWebConst.DATABEAN_GET_VALUE));

			// 現在金庫ステータスコード → 料金対応記録登録マップ.料金対応記録明細リスト.変更前料金項目コード
			childMap.put("chg_bf_prc_kmk_cd", idoMtKnkStats);

			// 移動先金庫料金項目コード１ → 料金対応記録登録マップ.料金対応記録明細リスト.変更後料金項目コード
			childMap.put("chg_af_prc_kmk_cd", idoSkKnkStats1);

			// 対応履歴表示 → 料金対応記録登録マップ.料金対応記録明細リスト.対応履歴連動対象フラグ
			childMap.put("taiorrki_rendo_tg_flg", JCHWebCommon.getRendoFlg(bean[0], CHW01104SFConst.TAIO_RIREKI_DSP));

			// 金庫番号 → 料金対応記録登録マップ.料金対応記録明細リスト.金庫番号
			childMap.put("knk_no", bean[0].sendMessageString(CHW01104SFConst.KNK_NO, X31CWebConst.DATABEAN_GET_VALUE));

			// 督促番号 → 料金対応記録登録マップ.料金対応記録明細リスト.督促番号
			childMap.put("tokusoku_no", bean[0].sendMessageString(CHW01104SFConst.TOKUSOKU_NO, X31CWebConst.DATABEAN_GET_VALUE));

			list.add(childMap);
		}

		if (checkInput(bean, CHW01104SFConst.KNK_PRC_KMK_CD_2, CHW01104SFConst.IDO_SK_SEIKY_KEI_NO_2, CHW01104SFConst.IDO_SK_KNK_AMNT_2))
		{
			childMap = new HashMap();

			// ユーザＩＤ → 料金対応記録登録マップ.料金対応記録明細リスト.料金対応ユーザＩＤ
			childMap.put("prc_taio_user_id", userId);

			// 請求契約番号 → 料金対応記録登録マップ.料金対応記録明細リスト.請求契約番号
			childMap.put("seiky_kei_no", bean[0].sendMessageString(CHW01104SFConst.SEIKY_KEI_NO, X31CWebConst.DATABEAN_GET_VALUE));

			// 金庫移動登録["124"固定] → 料金対応記録登録マップ.料金対応記録種別コード
			childMap.put("prc_taio_kirok_sbt_cd", JACStrConst.TKRK_SBT_KNK_IDO_ADD);

			// 移動先金庫料金項目コード
			String idoSkKnkStats2 = bean[0].sendMessageString(CHW01104SFConst.KNK_PRC_KMK_CD_2, X31CWebConst.DATABEAN_GET_VALUE);
			
			// 料金対応記録種別詳細コード → 料金対応記録登録マップ.料金対応記録種別詳細コード
			childMap.put("prc_taio_kirok_sbt_dtl_cd", this.getPrcTaioKirokSbtDtlCd(bean, idoMtKnkStats, idoSkKnkStats2));

			// "金庫移動登録" → 料金対応記録登録マップ.料金対応記録明細リスト.タイトル
			childMap.put("title", JACScreenConst.SCREEN_NAME_CHW01104);
			
			// 記事 → 料金対応記録登録マップ.料金対応記録明細リスト.記事
			childMap.put("kiji", bean[0].sendMessageString(CHW01104SFConst.KIJI, X31CWebConst.DATABEAN_GET_VALUE));

			// 移動元金庫金額 → 料金対応記録登録マップ.料金対応記録明細リスト.変更前金額
			childMap.put("chg_bf_amnt", idoMtKnkAmnt);

			// 移動先金庫金額 → 料金対応記録登録マップ.料金対応記録明細リスト.変更後金額
			childMap.put("chg_af_amnt", bean[0].sendMessageString(CHW01104SFConst.IDO_SK_KNK_AMNT_2, X31CWebConst.DATABEAN_GET_VALUE));

			// 現在金庫ステータスコード → 料金対応記録登録マップ.料金対応記録明細リスト.変更前料金項目コード
			childMap.put("chg_bf_prc_kmk_cd", idoMtKnkStats);

			// 移動先金庫料金項目コード１ → 料金対応記録登録マップ.料金対応記録明細リスト.変更後料金項目コード
			childMap.put("chg_af_prc_kmk_cd", idoSkKnkStats2);

			// 対応履歴表示 → 料金対応記録登録マップ.料金対応記録明細リスト.対応履歴連動対象フラグ
			childMap.put("taiorrki_rendo_tg_flg", JCHWebCommon.getRendoFlg(bean[0], CHW01104SFConst.TAIO_RIREKI_DSP));

			// 金庫番号 → 料金対応記録登録マップ.料金対応記録明細リスト.金庫番号
			childMap.put("knk_no", bean[0].sendMessageString(CHW01104SFConst.KNK_NO, X31CWebConst.DATABEAN_GET_VALUE));

			// 督促番号 → 料金対応記録登録マップ.料金対応記録明細リスト.督促番号
			childMap.put("tokusoku_no", bean[0].sendMessageString(CHW01104SFConst.TOKUSOKU_NO, X31CWebConst.DATABEAN_GET_VALUE));

			list.add(childMap);
		}

		if (checkInput(bean, CHW01104SFConst.KNK_PRC_KMK_CD_3, CHW01104SFConst.IDO_SK_SEIKY_KEI_NO_3, CHW01104SFConst.IDO_SK_KNK_AMNT_3))
		{
			childMap = new HashMap();

			// ユーザＩＤ → 料金対応記録登録マップ.料金対応記録明細リスト.料金対応ユーザＩＤ
			childMap.put("prc_taio_user_id", userId);

			// 請求契約番号 → 料金対応記録登録マップ.料金対応記録明細リスト.請求契約番号
			childMap.put("seiky_kei_no", bean[0].sendMessageString(CHW01104SFConst.SEIKY_KEI_NO, X31CWebConst.DATABEAN_GET_VALUE));

			// 金庫移動登録["124"固定] → 料金対応記録登録マップ.料金対応記録種別コード
			childMap.put("prc_taio_kirok_sbt_cd", JACStrConst.TKRK_SBT_KNK_IDO_ADD);

			// 移動先金庫料金項目コード
			String idoSkKnkStats3 = bean[0].sendMessageString(CHW01104SFConst.KNK_PRC_KMK_CD_3, X31CWebConst.DATABEAN_GET_VALUE);

			// 料金対応記録種別詳細コード → 料金対応記録登録マップ.料金対応記録種別詳細コード
			childMap.put("prc_taio_kirok_sbt_dtl_cd", this.getPrcTaioKirokSbtDtlCd(bean, idoMtKnkStats, idoSkKnkStats3));

			// "金庫移動登録" → 料金対応記録登録マップ.料金対応記録明細リスト.タイトル
			childMap.put("title", JACScreenConst.SCREEN_NAME_CHW01104);

			// 記事 → 料金対応記録登録マップ.料金対応記録明細リスト.記事
			childMap.put("kiji", bean[0].sendMessageString(CHW01104SFConst.KIJI, X31CWebConst.DATABEAN_GET_VALUE));

			// 移動元金庫金額 → 料金対応記録登録マップ.料金対応記録明細リスト.変更前金額
			childMap.put("chg_bf_amnt", idoMtKnkAmnt);

			// 移動先金庫金額 → 料金対応記録登録マップ.料金対応記録明細リスト.変更後金額
			childMap.put("chg_af_amnt", bean[0].sendMessageString(CHW01104SFConst.IDO_SK_KNK_AMNT_3, X31CWebConst.DATABEAN_GET_VALUE));

			// 現在金庫ステータスコード → 料金対応記録登録マップ.料金対応記録明細リスト.変更前料金項目コード
			childMap.put("chg_bf_prc_kmk_cd", idoMtKnkStats);

			// 移動先金庫料金項目コード１ → 料金対応記録登録マップ.料金対応記録明細リスト.変更後料金項目コード
			childMap.put("chg_af_prc_kmk_cd", idoSkKnkStats3);

			// 対応履歴表示 → 料金対応記録登録マップ.料金対応記録明細リスト.対応履歴連動対象フラグ
			childMap.put("taiorrki_rendo_tg_flg", JCHWebCommon.getRendoFlg(bean[0], CHW01104SFConst.TAIO_RIREKI_DSP));

			// 金庫番号 → 料金対応記録登録マップ.料金対応記録明細リスト.金庫番号
			childMap.put("knk_no", bean[0].sendMessageString(CHW01104SFConst.KNK_NO, X31CWebConst.DATABEAN_GET_VALUE));

			// 督促番号 → 料金対応記録登録マップ.料金対応記録明細リスト.督促番号
			childMap.put("tokusoku_no", bean[0].sendMessageString(CHW01104SFConst.TOKUSOKU_NO, X31CWebConst.DATABEAN_GET_VALUE));

			list.add(childMap);
		}

		if (checkInput(bean, CHW01104SFConst.KNK_PRC_KMK_CD_4, CHW01104SFConst.IDO_SK_SEIKY_KEI_NO_4, CHW01104SFConst.IDO_SK_KNK_AMNT_4))
		{
			childMap = new HashMap();

			// ユーザＩＤ → 料金対応記録登録マップ.料金対応記録明細リスト.料金対応ユーザＩＤ
			childMap.put("prc_taio_user_id", userId);

			// 請求契約番号 → 料金対応記録登録マップ.料金対応記録明細リスト.請求契約番号
			childMap.put("seiky_kei_no", bean[0].sendMessageString(CHW01104SFConst.SEIKY_KEI_NO, X31CWebConst.DATABEAN_GET_VALUE));

			// 金庫移動登録["124"固定] → 料金対応記録登録マップ.料金対応記録種別コード
			childMap.put("prc_taio_kirok_sbt_cd", JACStrConst.TKRK_SBT_KNK_IDO_ADD);

			// 移動先金庫料金項目コード
			String idoSkKnkStats4 = bean[0].sendMessageString(CHW01104SFConst.KNK_PRC_KMK_CD_4, X31CWebConst.DATABEAN_GET_VALUE);

			// 料金対応記録種別詳細コード → 料金対応記録登録マップ.料金対応記録種別詳細コード
			childMap.put("prc_taio_kirok_sbt_dtl_cd", this.getPrcTaioKirokSbtDtlCd(bean, idoMtKnkStats, idoSkKnkStats4));

			// "金庫移動登録" → 料金対応記録登録マップ.料金対応記録明細リスト.タイトル
			childMap.put("title", JACScreenConst.SCREEN_NAME_CHW01104);

			// 記事 → 料金対応記録登録マップ.料金対応記録明細リスト.記事
			childMap.put("kiji", bean[0].sendMessageString(CHW01104SFConst.KIJI, X31CWebConst.DATABEAN_GET_VALUE));

			// 移動元金庫金額 → 料金対応記録登録マップ.料金対応記録明細リスト.変更前金額
			childMap.put("chg_bf_amnt", idoMtKnkAmnt);

			// 移動先金庫金額 → 料金対応記録登録マップ.料金対応記録明細リスト.変更後金額
			childMap.put("chg_af_amnt", bean[0].sendMessageString(CHW01104SFConst.IDO_SK_KNK_AMNT_4, X31CWebConst.DATABEAN_GET_VALUE));

			// 現在金庫ステータスコード → 料金対応記録登録マップ.料金対応記録明細リスト.変更前料金項目コード
			childMap.put("chg_bf_prc_kmk_cd", idoMtKnkStats);

			// 移動先金庫料金項目コード１ → 料金対応記録登録マップ.料金対応記録明細リスト.変更後料金項目コード
			childMap.put("chg_af_prc_kmk_cd", idoSkKnkStats4);

			// 対応履歴表示 → 料金対応記録登録マップ.料金対応記録明細リスト.対応履歴連動対象フラグ
			childMap.put("taiorrki_rendo_tg_flg", JCHWebCommon.getRendoFlg(bean[0], CHW01104SFConst.TAIO_RIREKI_DSP));

			// 金庫番号 → 料金対応記録登録マップ.料金対応記録明細リスト.金庫番号
			childMap.put("knk_no", bean[0].sendMessageString(CHW01104SFConst.KNK_NO, X31CWebConst.DATABEAN_GET_VALUE));

			// 督促番号 → 料金対応記録登録マップ.料金対応記録明細リスト.督促番号
			childMap.put("tokusoku_no", bean[0].sendMessageString(CHW01104SFConst.TOKUSOKU_NO, X31CWebConst.DATABEAN_GET_VALUE));

			list.add(childMap);
		}

		if (checkInput(bean, CHW01104SFConst.KNK_PRC_KMK_CD_5, CHW01104SFConst.IDO_SK_SEIKY_KEI_NO_5, CHW01104SFConst.IDO_SK_KNK_AMNT_5))
		{
			childMap = new HashMap();

			// ユーザＩＤ → 料金対応記録登録マップ.料金対応記録明細リスト.料金対応ユーザＩＤ
			childMap.put("prc_taio_user_id", userId);

			// 請求契約番号 → 料金対応記録登録マップ.料金対応記録明細リスト.請求契約番号
			childMap.put("seiky_kei_no", bean[0].sendMessageString(CHW01104SFConst.SEIKY_KEI_NO, X31CWebConst.DATABEAN_GET_VALUE));

			// 金庫移動登録["124"固定] → 料金対応記録登録マップ.料金対応記録種別コード
			childMap.put("prc_taio_kirok_sbt_cd", JACStrConst.TKRK_SBT_KNK_IDO_ADD);

			// 移動先金庫料金項目コード
			String idoSkKnkStats5 = bean[0].sendMessageString(CHW01104SFConst.KNK_PRC_KMK_CD_5, X31CWebConst.DATABEAN_GET_VALUE);
			
			// 料金対応記録種別詳細コード → 料金対応記録登録マップ.料金対応記録種別詳細コード
			childMap.put("prc_taio_kirok_sbt_dtl_cd", this.getPrcTaioKirokSbtDtlCd(bean, idoMtKnkStats, idoSkKnkStats5));

			// "金庫移動登録" → 料金対応記録登録マップ.料金対応記録明細リスト.タイトル
			childMap.put("title", JACScreenConst.SCREEN_NAME_CHW01104);

			// 記事 → 料金対応記録登録マップ.料金対応記録明細リスト.記事
			childMap.put("kiji", bean[0].sendMessageString(CHW01104SFConst.KIJI, X31CWebConst.DATABEAN_GET_VALUE));

			// 移動元金庫金額 → 料金対応記録登録マップ.料金対応記録明細リスト.変更前金額
			childMap.put("chg_bf_amnt", idoMtKnkAmnt);

			// 移動先金庫金額 → 料金対応記録登録マップ.料金対応記録明細リスト.変更後金額
			childMap.put("chg_af_amnt", bean[0].sendMessageString(CHW01104SFConst.IDO_SK_KNK_AMNT_5, X31CWebConst.DATABEAN_GET_VALUE));

			// 現在金庫ステータスコード → 料金対応記録登録マップ.料金対応記録明細リスト.変更前料金項目コード
			childMap.put("chg_bf_prc_kmk_cd", idoMtKnkStats);

			// 移動先金庫料金項目コード１ → 料金対応記録登録マップ.料金対応記録明細リスト.変更後料金項目コード
			childMap.put("chg_af_prc_kmk_cd", idoSkKnkStats5);

			// 対応履歴表示 → 料金対応記録登録マップ.料金対応記録明細リスト.対応履歴連動対象フラグ
			childMap.put("taiorrki_rendo_tg_flg", JCHWebCommon.getRendoFlg(bean[0], CHW01104SFConst.TAIO_RIREKI_DSP));

			// 金庫番号 → 料金対応記録登録マップ.料金対応記録明細リスト.金庫番号
			childMap.put("knk_no", bean[0].sendMessageString(CHW01104SFConst.KNK_NO, X31CWebConst.DATABEAN_GET_VALUE));

			// 督促番号 → 料金対応記録登録マップ.料金対応記録明細リスト.督促番号
			childMap.put("tokusoku_no", bean[0].sendMessageString(CHW01104SFConst.TOKUSOKU_NO, X31CWebConst.DATABEAN_GET_VALUE));

			list.add(childMap);
		}
		parentMap.put("prc_taio_kirok_list", list);

		outputMap.put(JACStrConst.PRCTAIOKIROKADDCC_MAP_ID, parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * 
	 * @param bean　[0]：金庫移動登録
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setHURYOCUSTDELCC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{

		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		//◇処理済金（貸倒後入金）合計額の設定
		String amntSum = "0";
		if (KSDOR_NYUKIN_AMNT.equals(bean[0].sendMessageString(CHW01104SFConst.KNK_PRC_KMK_CD_1, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			amntSum = JCHWebCommon.calcAdd(amntSum, bean[0].sendMessageString(CHW01104SFConst.IDO_SK_KNK_AMNT_1, X31CWebConst.DATABEAN_GET_VALUE), true);
		}

		if (KSDOR_NYUKIN_AMNT.equals(bean[0].sendMessageString(CHW01104SFConst.KNK_PRC_KMK_CD_2, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			amntSum = JCHWebCommon.calcAdd(amntSum, bean[0].sendMessageString(CHW01104SFConst.IDO_SK_KNK_AMNT_2, X31CWebConst.DATABEAN_GET_VALUE), true);
		}

		if (KSDOR_NYUKIN_AMNT.equals(bean[0].sendMessageString(CHW01104SFConst.KNK_PRC_KMK_CD_3, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			amntSum = JCHWebCommon.calcAdd(amntSum, bean[0].sendMessageString(CHW01104SFConst.IDO_SK_KNK_AMNT_3, X31CWebConst.DATABEAN_GET_VALUE), true);
		}

		if (KSDOR_NYUKIN_AMNT.equals(bean[0].sendMessageString(CHW01104SFConst.KNK_PRC_KMK_CD_4, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			amntSum = JCHWebCommon.calcAdd(amntSum, bean[0].sendMessageString(CHW01104SFConst.IDO_SK_KNK_AMNT_4, X31CWebConst.DATABEAN_GET_VALUE), true);
		}

		if (KSDOR_NYUKIN_AMNT.equals(bean[0].sendMessageString(CHW01104SFConst.KNK_PRC_KMK_CD_5, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			amntSum = JCHWebCommon.calcAdd(amntSum, bean[0].sendMessageString(CHW01104SFConst.IDO_SK_KNK_AMNT_5, X31CWebConst.DATABEAN_GET_VALUE), true);
		}

		// 合計額 → 不良顧客削除マップ.処理済金（貸倒後入金）合計額
		parentMap.put("ksdor_nyukin_amnt_sum", amntSum);

		//◇処理済金（貸倒後入金）選択フラグ設定
		String ksdorSelFlg = KSDOR_SEL_NASI;
		if (checkInput(bean, CHW01104SFConst.KNK_PRC_KMK_CD_1, CHW01104SFConst.IDO_SK_SEIKY_KEI_NO_1, CHW01104SFConst.IDO_SK_KNK_AMNT_1))
		{
			// 移動先金庫料金項目コード１ 判定
			if (KSDOR_NYUKIN_AMNT.equals(bean[0].sendMessageString(CHW01104SFConst.KNK_PRC_KMK_CD_1, X31CWebConst.DATABEAN_GET_VALUE)))
			{
				ksdorSelFlg = KSDOR_SEL_ARI;
			}
		}

		if (checkInput(bean, CHW01104SFConst.KNK_PRC_KMK_CD_2, CHW01104SFConst.IDO_SK_SEIKY_KEI_NO_2, CHW01104SFConst.IDO_SK_KNK_AMNT_2))
		{
			// 移動先金庫料金項目コード２ 判定
			if (KSDOR_NYUKIN_AMNT.equals(bean[0].sendMessageString(CHW01104SFConst.KNK_PRC_KMK_CD_2, X31CWebConst.DATABEAN_GET_VALUE)))
			{
				ksdorSelFlg = KSDOR_SEL_ARI;
			}
		}

		if (checkInput(bean, CHW01104SFConst.KNK_PRC_KMK_CD_3, CHW01104SFConst.IDO_SK_SEIKY_KEI_NO_3, CHW01104SFConst.IDO_SK_KNK_AMNT_3))
		{
			// 移動先金庫料金項目コード３ 判定
			if (KSDOR_NYUKIN_AMNT.equals(bean[0].sendMessageString(CHW01104SFConst.KNK_PRC_KMK_CD_3, X31CWebConst.DATABEAN_GET_VALUE)))
			{
				ksdorSelFlg = KSDOR_SEL_ARI;
			}
		}

		if (checkInput(bean, CHW01104SFConst.KNK_PRC_KMK_CD_4, CHW01104SFConst.IDO_SK_SEIKY_KEI_NO_4, CHW01104SFConst.IDO_SK_KNK_AMNT_4))
		{
			// 移動先金庫料金項目コード４ 判定
			if (KSDOR_NYUKIN_AMNT.equals(bean[0].sendMessageString(CHW01104SFConst.KNK_PRC_KMK_CD_4, X31CWebConst.DATABEAN_GET_VALUE)))
			{
				ksdorSelFlg = KSDOR_SEL_ARI;
			}
		}

		if (checkInput(bean, CHW01104SFConst.KNK_PRC_KMK_CD_5, CHW01104SFConst.IDO_SK_SEIKY_KEI_NO_5, CHW01104SFConst.IDO_SK_KNK_AMNT_5))
		{
			// 移動先金庫料金項目コード５ 判定
			if (KSDOR_NYUKIN_AMNT.equals(bean[0].sendMessageString(CHW01104SFConst.KNK_PRC_KMK_CD_5, X31CWebConst.DATABEAN_GET_VALUE)))
			{
				ksdorSelFlg = KSDOR_SEL_ARI;
			}
		}
		// 貸倒後入金選択フラグ → 不良顧客削除マップ.貸倒後入金選択フラグ
		parentMap.put("ksdor_sel_flg", ksdorSelFlg);

		// 料金対応記録追加モード"1"(請求先単位)
		parentMap.put("prc_taio_kirok_add_mode", "1");

		// 料金対応記録種別コード
		parentMap.put("prc_taio_kirok_sbt_cd", JACStrConst.TKRK_SBT_KNK_IDO_ADD);

		outputMap.put("HURYOCUSTDELCC", parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：金庫移動登録
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setSEIKYKEISEARCHCC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code) {
		
		if(bean == null){
			return null;
		}
		
		if(bean.length != 2){
			return null;
		}

		ArrayList list = null;

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		// 機能コード1の場合は、BP実行判定ではじくため、何もセットせずリターンする。
		if (JPCModelConstant.FUNC_CD_1.equals(func_code))
		{
			outputMap.put("SEIKYKEISEARCHCC", parentMap);
			return null;
		}

		if(parentMap.containsKey("seiky_kei_list")){
			list = (ArrayList)parentMap.get("seiky_kei_list");
		}else{
			list = new ArrayList();
		}
		HashMap childMap1 = new HashMap();
		HashMap childMap2 = new HashMap();
		HashMap childMap3 = new HashMap();
		HashMap childMap4 = new HashMap();
		HashMap childMap5 = new HashMap();

		// ※【LT-2013-0000365】登録確認画面遷移しない不具合対応に関して
		// I/F「EKK0491A010_請求契約一意照会」の請求契約照会マップ.請求契約照会明細.請求契約番号(必須項目)に、
		// 画面の移動先請求番号を設定しているが、金庫ステータスが仮受金または不明金の場合、
		// 移動先請求契約番号の入力は必須では無い。
		// その為、移動先契約番号が未入力の場合、I/Fの単項目チェックエラー(E1:必須チェックエラー)が発生し、
		// 結果、請求契約なしエラーとなってしまう。
		// 回避策として、金庫ステータスが仮受金または不明金で、移動先請求契約番号が未入力の場合、
		// 請求契約照会マップ.請求契約照会明細.請求契約番号にダミー値「9999999999」を設定し、単項目チェックエラーを回避する。
		// 仮に、ダミー値に紐づく請求契約が取得できた場合、ダミー値に紐づく結果は下りマッピングを行っていない為、
		// 後続の処理に影響は無い。
		
		
		// 移動先請求契約番号１ → 請求契約照会マップ.請求契約照会明細.請求契約番号
		if(checkInput(bean[0].sendMessageString(CHW01104SFConst.KNK_PRC_KMK_CD_1, X31CWebConst.DATABEAN_GET_VALUE),
				bean[0].sendMessageString(CHW01104SFConst.IDO_SK_SEIKY_KEI_NO_1, X31CWebConst.DATABEAN_GET_VALUE),
				bean[0].sendMessageString(CHW01104SFConst.IDO_SK_KNK_AMNT_1, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			String strIdoSkKnkStat = bean[0].sendMessageString(CHW01104SFConst.KNK_PRC_KMK_CD_1, X31CWebConst.DATABEAN_GET_VALUE);
			if (checkNullSeikyKeiNo(bean[0].sendMessageString(CHW01104SFConst.IDO_SK_SEIKY_KEI_NO_1, X31CWebConst.DATABEAN_GET_VALUE))
					&& (JACStrConst.KNK_STAT_KARIUKEKIN.equals(strIdoSkKnkStat) || JACStrConst.KNK_STAT_HUMEIKIN.equals(strIdoSkKnkStat)))
			{
				
				childMap1.put("seiky_kei_no", DMY_SEIKY_KEI_NO);
			
				list.add(childMap1);
			}
			else
			{
				childMap1.put("seiky_kei_no", bean[0].sendMessageString(CHW01104SFConst.IDO_SK_SEIKY_KEI_NO_1, X31CWebConst.DATABEAN_GET_VALUE));
				
				list.add(childMap1);
			}
		}
		else
		{
			childMap1.put("seiky_kei_no", DMY_SEIKY_KEI_NO);
			
			list.add(childMap1);
		}
		// 移動先請求契約番号２ → 請求契約照会マップ.請求契約照会明細.請求契約番号
		if(checkInput(bean[0].sendMessageString(CHW01104SFConst.KNK_PRC_KMK_CD_2, X31CWebConst.DATABEAN_GET_VALUE),
				bean[0].sendMessageString(CHW01104SFConst.IDO_SK_SEIKY_KEI_NO_2, X31CWebConst.DATABEAN_GET_VALUE),
				bean[0].sendMessageString(CHW01104SFConst.IDO_SK_KNK_AMNT_2, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			String strIdoSkKnkStat = bean[0].sendMessageString(CHW01104SFConst.KNK_PRC_KMK_CD_2, X31CWebConst.DATABEAN_GET_VALUE);
			if (checkNullSeikyKeiNo(bean[0].sendMessageString(CHW01104SFConst.IDO_SK_SEIKY_KEI_NO_2, X31CWebConst.DATABEAN_GET_VALUE))
					&& (JACStrConst.KNK_STAT_KARIUKEKIN.equals(strIdoSkKnkStat) || JACStrConst.KNK_STAT_HUMEIKIN.equals(strIdoSkKnkStat)))
			{
				
				childMap2.put("seiky_kei_no", DMY_SEIKY_KEI_NO);
			
				list.add(childMap2);
			}
			else
			{
				childMap2.put("seiky_kei_no", bean[0].sendMessageString(CHW01104SFConst.IDO_SK_SEIKY_KEI_NO_2, X31CWebConst.DATABEAN_GET_VALUE));
				
				list.add(childMap2);
			}
		}
		else
		{
			childMap2.put("seiky_kei_no", DMY_SEIKY_KEI_NO);
			
			list.add(childMap2);
		}
		// 移動先請求契約番号３ → 請求契約照会マップ.請求契約照会明細.請求契約番号
		if(checkInput(bean[0].sendMessageString(CHW01104SFConst.KNK_PRC_KMK_CD_3, X31CWebConst.DATABEAN_GET_VALUE),
				bean[0].sendMessageString(CHW01104SFConst.IDO_SK_SEIKY_KEI_NO_3, X31CWebConst.DATABEAN_GET_VALUE),
				bean[0].sendMessageString(CHW01104SFConst.IDO_SK_KNK_AMNT_3, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			String strIdoSkKnkStat = bean[0].sendMessageString(CHW01104SFConst.KNK_PRC_KMK_CD_3, X31CWebConst.DATABEAN_GET_VALUE);
			if (checkNullSeikyKeiNo(bean[0].sendMessageString(CHW01104SFConst.IDO_SK_SEIKY_KEI_NO_3, X31CWebConst.DATABEAN_GET_VALUE))
					&& (JACStrConst.KNK_STAT_KARIUKEKIN.equals(strIdoSkKnkStat) || JACStrConst.KNK_STAT_HUMEIKIN.equals(strIdoSkKnkStat)))
			{
				
				childMap3.put("seiky_kei_no", DMY_SEIKY_KEI_NO);
			
				list.add(childMap3);
			}
			else
			{
				childMap3.put("seiky_kei_no", bean[0].sendMessageString(CHW01104SFConst.IDO_SK_SEIKY_KEI_NO_3, X31CWebConst.DATABEAN_GET_VALUE));
				
				list.add(childMap3);
			}
		}
		else
		{
			childMap3.put("seiky_kei_no", DMY_SEIKY_KEI_NO);
			
			list.add(childMap3);
		}
		// 移動先請求契約番号４ → 請求契約照会マップ.請求契約照会明細.請求契約番号
		if(checkInput(bean[0].sendMessageString(CHW01104SFConst.KNK_PRC_KMK_CD_4, X31CWebConst.DATABEAN_GET_VALUE),
				bean[0].sendMessageString(CHW01104SFConst.IDO_SK_SEIKY_KEI_NO_4, X31CWebConst.DATABEAN_GET_VALUE),
				bean[0].sendMessageString(CHW01104SFConst.IDO_SK_KNK_AMNT_4, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			String strIdoSkKnkStat = bean[0].sendMessageString(CHW01104SFConst.KNK_PRC_KMK_CD_4, X31CWebConst.DATABEAN_GET_VALUE);
			if (checkNullSeikyKeiNo(bean[0].sendMessageString(CHW01104SFConst.IDO_SK_SEIKY_KEI_NO_4, X31CWebConst.DATABEAN_GET_VALUE))
					&& (JACStrConst.KNK_STAT_KARIUKEKIN.equals(strIdoSkKnkStat) || JACStrConst.KNK_STAT_HUMEIKIN.equals(strIdoSkKnkStat)))
			{
				
				childMap4.put("seiky_kei_no", DMY_SEIKY_KEI_NO);
			
				list.add(childMap4);
			}
			else
			{
				childMap4.put("seiky_kei_no", bean[0].sendMessageString(CHW01104SFConst.IDO_SK_SEIKY_KEI_NO_4, X31CWebConst.DATABEAN_GET_VALUE));
				
				list.add(childMap4);
			}
		}
		else
		{
			childMap4.put("seiky_kei_no", DMY_SEIKY_KEI_NO);
			
			list.add(childMap4);
		}
		// 移動先請求契約番号５ → 請求契約照会マップ.請求契約照会明細.請求契約番号
		if(checkInput(bean[0].sendMessageString(CHW01104SFConst.KNK_PRC_KMK_CD_5, X31CWebConst.DATABEAN_GET_VALUE),
				bean[0].sendMessageString(CHW01104SFConst.IDO_SK_SEIKY_KEI_NO_5, X31CWebConst.DATABEAN_GET_VALUE),
				bean[0].sendMessageString(CHW01104SFConst.IDO_SK_KNK_AMNT_5, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			String strIdoSkKnkStat = bean[0].sendMessageString(CHW01104SFConst.KNK_PRC_KMK_CD_5, X31CWebConst.DATABEAN_GET_VALUE);
			if (checkNullSeikyKeiNo(bean[0].sendMessageString(CHW01104SFConst.IDO_SK_SEIKY_KEI_NO_5, X31CWebConst.DATABEAN_GET_VALUE))
					&& (JACStrConst.KNK_STAT_KARIUKEKIN.equals(strIdoSkKnkStat) || JACStrConst.KNK_STAT_HUMEIKIN.equals(strIdoSkKnkStat)))
			{
				
				childMap5.put("seiky_kei_no", DMY_SEIKY_KEI_NO);
			
				list.add(childMap5);
			}
			else
			{
				childMap5.put("seiky_kei_no", bean[0].sendMessageString(CHW01104SFConst.IDO_SK_SEIKY_KEI_NO_5, X31CWebConst.DATABEAN_GET_VALUE));
				
				list.add(childMap5);
			}
		}
		else
		{
			childMap5.put("seiky_kei_no", DMY_SEIKY_KEI_NO);
			
			list.add(childMap5);
		}
		
		parentMap.put("seiky_kei_list", list);

		outputMap.put("SEIKYKEISEARCHCC", parentMap);

		return outputMap;
	}

	/**
	 * 下りマッピング
	 * @param bean　[0]：金庫移動登録
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getSEIKYKEISEARCHCC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("SEIKYKEISEARCHCC")){
			parentMap = (HashMap)outputMap.get("SEIKYKEISEARCHCC");
		}

		ArrayList childList = null;
		childList = null;

		if(parentMap != null && parentMap.containsKey("seiky_kei_list")){
			childList = (ArrayList)parentMap.get("seiky_kei_list");

			for(int i = 0; i < childList.size(); i++){
				HashMap childMap = (HashMap)childList.get(i);
				
				int idx = i + 1;
				if (idx == 1)
				{
					// ダミーの請求契約番号にて取得したデータは編集しない
					if (DMY_SEIKY_KEI_NO.equals((String)childMap.get("seiky_kei_no")))
					{
						// 移動先金庫ステータス情報１.移動先金庫料金項目名称リスト１ ← 空文字
						bean[0].sendMessageString(CHW01104SFConst.IDO_SK_SOHUS_NM_1, "");
					}
					else
					{
						// 移動先金庫ステータス情報１.移動先金庫料金項目名称リスト１ ← 請求契約照会マップ.請求契約明細リスト.送付先名
						bean[0].sendMessageString(CHW01104SFConst.IDO_SK_SOHUS_NM_1, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("sohus_nm"));
					}
				}
				else if (idx == 2)
				{
					// ダミーの請求契約番号にて取得したデータは編集しない
					if (DMY_SEIKY_KEI_NO.equals((String)childMap.get("seiky_kei_no")))
					{
						// 移動先金庫ステータス情報１.移動先金庫料金項目名称リスト２ ← 空文字
						bean[0].sendMessageString(CHW01104SFConst.IDO_SK_SOHUS_NM_2, "");
					}
					else
					{
						// 移動先金庫ステータス情報２.移動先金庫料金項目名称リスト２ ← 請求契約照会マップ.請求契約明細リスト.送付先名
						bean[0].sendMessageString(CHW01104SFConst.IDO_SK_SOHUS_NM_2, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("sohus_nm"));
					}
				}
				else if (idx == 3)
				{
					// ダミーの請求契約番号にて取得したデータは編集しない
					if (DMY_SEIKY_KEI_NO.equals((String)childMap.get("seiky_kei_no")))
					{
						// 移動先金庫ステータス情報１.移動先金庫料金項目名称リスト３ ← 空文字
						bean[0].sendMessageString(CHW01104SFConst.IDO_SK_SOHUS_NM_3, "");
					}
					else
					{
						// 移動先金庫ステータス情報３.移動先金庫料金項目名称リスト３ ← 請求契約照会マップ.請求契約明細リスト.送付先名
						bean[0].sendMessageString(CHW01104SFConst.IDO_SK_SOHUS_NM_3, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("sohus_nm"));
					}
				}
				else if (idx == 4)
				{
					// ダミーの請求契約番号にて取得したデータは編集しない
					if (DMY_SEIKY_KEI_NO.equals((String)childMap.get("seiky_kei_no")))
					{
						// 移動先金庫ステータス情報１.移動先金庫料金項目名称リスト４← 空文字
						bean[0].sendMessageString(CHW01104SFConst.IDO_SK_SOHUS_NM_4, "");
					}
					else
					{
						// 移動先金庫ステータス情報４.移動先金庫料金項目名称リスト４ ← 請求契約照会マップ.請求契約明細リスト.送付先名
						bean[0].sendMessageString(CHW01104SFConst.IDO_SK_SOHUS_NM_4, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("sohus_nm"));
					}
				}
				else if (idx == 5)
				{
					// ダミーの請求契約番号にて取得したデータは編集しない
					if (DMY_SEIKY_KEI_NO.equals((String)childMap.get("seiky_kei_no")))
					{
						// 移動先金庫ステータス情報１.移動先金庫料金項目名称リスト５← 空文字
						bean[0].sendMessageString(CHW01104SFConst.IDO_SK_SOHUS_NM_5, "");
					}
					else
					{
						// 移動先金庫ステータス情報５.移動先金庫料金項目名称リスト５ ← 請求契約照会マップ.請求契約明細リスト.送付先名
						bean[0].sendMessageString(CHW01104SFConst.IDO_SK_SOHUS_NM_5, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("sohus_nm"));
					}
				}
			}
		}

		return bean;
	}

	/**
	 * 移動先金庫情報がすべて入力されている場合trueを返却する。
	 * 
	 * @param bean　[0]：金庫移動登録
	 * @param beanNmIdoSkKnkStat　移動先金庫料金項目コード（Bean項目名）
	 * @param beanNmSeikyKeiNo　移動先請求契約番号（Bean項目名）
	 * @param beanNmIdoSkKnkAmnt　移動先金庫金額（Bean項目名）
	 * @return boolean
	 */
	private boolean checkInput(X31SDataBeanAccess[] bean, String beanNmIdoSkKnkStat, String beanNmSeikyKeiNo, String beanNmIdoSkKnkAmnt)
	{

		String idoSkKnkStat = bean[0].sendMessageString(beanNmIdoSkKnkStat, X31CWebConst.DATABEAN_GET_VALUE);
		String seikyKeiNo = bean[0].sendMessageString(beanNmSeikyKeiNo, X31CWebConst.DATABEAN_GET_VALUE);
		String idoSkKnkAmnt = bean[0].sendMessageString(beanNmIdoSkKnkAmnt, X31CWebConst.DATABEAN_GET_VALUE);

		if (JACStrConst.KNK_STAT_KARIUKEKIN.equals(idoSkKnkStat) || JACStrConst.KNK_STAT_HUMEIKIN.equals(idoSkKnkStat))
		{
			if (JCHWebCommon.isNotNullOrEmpty(idoSkKnkStat) && JCHWebCommon.isNotNullOrEmpty(idoSkKnkAmnt))
			{
				return true;
			}
		}
		else
		{
			if (JCHWebCommon.isNotNullOrEmpty(idoSkKnkStat) && JCHWebCommon.isNotNullOrEmpty(seikyKeiNo) && JCHWebCommon.isNotNullOrEmpty(idoSkKnkAmnt))
			{
				return true;
			}
		}
		return false;
	}

	/**
	 * 移動先金庫情報がすべて入力されている場合trueを返却する。
	 * @param strIdoSkKnkStat　移動先金庫ステータス
	 * @param strSeikyKeiNo　移動先請求契約番号
	 * @param strIdoSkKnkAmnt　移動先金庫金額
	 * @return boolean
	 */
	private boolean checkInput(String strIdoSkKnkStat, String strSeikyKeiNo, String strIdoSkKnkAmnt) {
		
		if (JACStrConst.KNK_STAT_KARIUKEKIN.equals(strIdoSkKnkStat) || JACStrConst.KNK_STAT_HUMEIKIN.equals(strIdoSkKnkStat))
		{
			if(strIdoSkKnkStat != null && strIdoSkKnkAmnt != null
					&& !"".equals(strIdoSkKnkStat) && !"".equals(strIdoSkKnkAmnt)){
				return true;
			}
		}
		else
		{
			if(strIdoSkKnkStat != null && strSeikyKeiNo != null && strIdoSkKnkAmnt != null
					&& !"".equals(strIdoSkKnkStat) && !"".equals(strSeikyKeiNo) && !"".equals(strIdoSkKnkAmnt)){
				return true;
			}
		}
		return false;
	}

	/**
	 * 移動先請求契約番号が未入力の場合trueを返却する。
	 * @param strSeikyKeiNo　移動先請求契約番号
	 * @return boolean
	 */
	private boolean checkNullSeikyKeiNo(String strSeikyKeiNo) {
		
		if (strSeikyKeiNo == null || strSeikyKeiNo.length() == 0)
		{
			return true;
		}
		return false;
	}
	
	/**
	 * 料金対応記録種別詳細コードを取得します。
	 * 
	 * @param idoMtKnkStats：移動元金庫ステータス
	 * @return String　料金対応記録種別詳細コード
	 */
	private String getPrcTaioKirokSbtDtlCd(X31SDataBeanAccess[] bean, String idoMtPrcKmkCd, String idoSkPrcKmkCd)
	{
		String prcTaioKirokSbtDtlCd = null;
		boolean idoMtKnkStats = false;
		boolean idoSkKnkStats = false;

		if (idoMtPrcKmkCd.equals(bean[0].sendMessageString(CHW01104SFConst.PRC_KMK_CD_KNKSTAT01, X31CWebConst.DATABEAN_GET_VALUE))
			|| idoMtPrcKmkCd.equals(bean[0].sendMessageString(CHW01104SFConst.PRC_KMK_CD_KNKSTAT02, X31CWebConst.DATABEAN_GET_VALUE))
			|| idoMtPrcKmkCd.equals(bean[0].sendMessageString(CHW01104SFConst.PRC_KMK_CD_KNKSTAT03, X31CWebConst.DATABEAN_GET_VALUE))
			// ▼▼▼ ANK-3416-00-00 MOD START ▼▼▼
//			|| idoMtPrcKmkCd.equals(bean[0].sendMessageString(CHW01104SFConst.PRC_KMK_CD_KNKSTAT04, X31CWebConst.DATABEAN_GET_VALUE)))
			|| idoMtPrcKmkCd.equals(bean[0].sendMessageString(CHW01104SFConst.PRC_KMK_CD_KNKSTAT04, X31CWebConst.DATABEAN_GET_VALUE))
			|| idoMtPrcKmkCd.equals(bean[0].sendMessageString(CHW01104SFConst.PRC_KMK_CD_KNKSTAT05, X31CWebConst.DATABEAN_GET_VALUE)))
			// ▲▲▲ ANK-3416-00-00 MOD END ▲▲▲
		{
			// 未処理金
			idoMtKnkStats = false;
		}
		else if (idoMtPrcKmkCd.equals(bean[0].sendMessageString(CHW01104SFConst.PRC_KMK_CD_KNKSTAT11, X31CWebConst.DATABEAN_GET_VALUE))
				|| idoMtPrcKmkCd.equals(bean[0].sendMessageString(CHW01104SFConst.PRC_KMK_CD_KNKSTAT12, X31CWebConst.DATABEAN_GET_VALUE))
				|| idoMtPrcKmkCd.equals(bean[0].sendMessageString(CHW01104SFConst.PRC_KMK_CD_KNKSTAT13, X31CWebConst.DATABEAN_GET_VALUE))
				|| idoMtPrcKmkCd.equals(bean[0].sendMessageString(CHW01104SFConst.PRC_KMK_CD_KNKSTAT14, X31CWebConst.DATABEAN_GET_VALUE))
				|| idoMtPrcKmkCd.equals(bean[0].sendMessageString(CHW01104SFConst.PRC_KMK_CD_KNKSTAT15, X31CWebConst.DATABEAN_GET_VALUE))
				|| idoMtPrcKmkCd.equals(bean[0].sendMessageString(CHW01104SFConst.PRC_KMK_CD_KNKSTAT16, X31CWebConst.DATABEAN_GET_VALUE))
				|| idoMtPrcKmkCd.equals(bean[0].sendMessageString(CHW01104SFConst.PRC_KMK_CD_KNKSTAT17, X31CWebConst.DATABEAN_GET_VALUE))
				|| idoMtPrcKmkCd.equals(bean[0].sendMessageString(CHW01104SFConst.PRC_KMK_CD_KNKSTAT21, X31CWebConst.DATABEAN_GET_VALUE))
				// ▼▼▼ ANK-3416-00-00 MOD START ▼▼▼
//				|| idoMtPrcKmkCd.equals(bean[0].sendMessageString(CHW01104SFConst.PRC_KMK_CD_KNKSTAT22, X31CWebConst.DATABEAN_GET_VALUE)))
				|| idoMtPrcKmkCd.equals(bean[0].sendMessageString(CHW01104SFConst.PRC_KMK_CD_KNKSTAT22, X31CWebConst.DATABEAN_GET_VALUE))
				|| idoMtPrcKmkCd.equals(bean[0].sendMessageString(CHW01104SFConst.PRC_KMK_CD_KNKSTAT23, X31CWebConst.DATABEAN_GET_VALUE)))
				// ▲▲▲ ANK-3416-00-00 MOD END ▲▲▲
		{
			// 処理済金
			idoMtKnkStats = true;
		}

		if (idoSkPrcKmkCd.equals(bean[0].sendMessageString(CHW01104SFConst.PRC_KMK_CD_KNKSTAT01, X31CWebConst.DATABEAN_GET_VALUE))
				|| idoSkPrcKmkCd.equals(bean[0].sendMessageString(CHW01104SFConst.PRC_KMK_CD_KNKSTAT02, X31CWebConst.DATABEAN_GET_VALUE))
				|| idoSkPrcKmkCd.equals(bean[0].sendMessageString(CHW01104SFConst.PRC_KMK_CD_KNKSTAT03, X31CWebConst.DATABEAN_GET_VALUE))
				// ▼▼▼ ANK-3416-00-00 MOD START ▼▼▼
//				|| idoSkPrcKmkCd.equals(bean[0].sendMessageString(CHW01104SFConst.PRC_KMK_CD_KNKSTAT04, X31CWebConst.DATABEAN_GET_VALUE)))
				|| idoSkPrcKmkCd.equals(bean[0].sendMessageString(CHW01104SFConst.PRC_KMK_CD_KNKSTAT04, X31CWebConst.DATABEAN_GET_VALUE))
				|| idoSkPrcKmkCd.equals(bean[0].sendMessageString(CHW01104SFConst.PRC_KMK_CD_KNKSTAT05, X31CWebConst.DATABEAN_GET_VALUE)))
				// ▲▲▲ ANK-3416-00-00 MOD END ▲▲▲
		{
			// 未処理金
			idoSkKnkStats = false;
		}
		else if (idoSkPrcKmkCd.equals(bean[0].sendMessageString(CHW01104SFConst.PRC_KMK_CD_KNKSTAT11, X31CWebConst.DATABEAN_GET_VALUE))
				|| idoSkPrcKmkCd.equals(bean[0].sendMessageString(CHW01104SFConst.PRC_KMK_CD_KNKSTAT12, X31CWebConst.DATABEAN_GET_VALUE))
				|| idoSkPrcKmkCd.equals(bean[0].sendMessageString(CHW01104SFConst.PRC_KMK_CD_KNKSTAT13, X31CWebConst.DATABEAN_GET_VALUE))
				|| idoSkPrcKmkCd.equals(bean[0].sendMessageString(CHW01104SFConst.PRC_KMK_CD_KNKSTAT14, X31CWebConst.DATABEAN_GET_VALUE))
				|| idoSkPrcKmkCd.equals(bean[0].sendMessageString(CHW01104SFConst.PRC_KMK_CD_KNKSTAT15, X31CWebConst.DATABEAN_GET_VALUE))
				|| idoSkPrcKmkCd.equals(bean[0].sendMessageString(CHW01104SFConst.PRC_KMK_CD_KNKSTAT16, X31CWebConst.DATABEAN_GET_VALUE))
				|| idoSkPrcKmkCd.equals(bean[0].sendMessageString(CHW01104SFConst.PRC_KMK_CD_KNKSTAT17, X31CWebConst.DATABEAN_GET_VALUE))
				|| idoSkPrcKmkCd.equals(bean[0].sendMessageString(CHW01104SFConst.PRC_KMK_CD_KNKSTAT21, X31CWebConst.DATABEAN_GET_VALUE))
				// ▼▼▼ ANK-3416-00-00 MOD START ▼▼▼
//				|| idoSkPrcKmkCd.equals(bean[0].sendMessageString(CHW01104SFConst.PRC_KMK_CD_KNKSTAT22, X31CWebConst.DATABEAN_GET_VALUE)))
				|| idoSkPrcKmkCd.equals(bean[0].sendMessageString(CHW01104SFConst.PRC_KMK_CD_KNKSTAT22, X31CWebConst.DATABEAN_GET_VALUE))
				|| idoSkPrcKmkCd.equals(bean[0].sendMessageString(CHW01104SFConst.PRC_KMK_CD_KNKSTAT23, X31CWebConst.DATABEAN_GET_VALUE)))
			// ▲▲▲ ANK-3416-00-00 MOD END ▲▲▲
		{
			// 処理済金
			idoSkKnkStats = true;
		}

		// 未処理金 → 処理済金
		if (!idoMtKnkStats && idoSkKnkStats)
		{
			// 処理済金移動 1406
			prcTaioKirokSbtDtlCd = JACStrConst.TKRK_SBTD_ZUMI_AMNT_IDO;
		}
		// 処理済金 → 未処理金
		else if (idoMtKnkStats && !idoSkKnkStats)
		{
			// 仮受金移動 1402
			prcTaioKirokSbtDtlCd = JACStrConst.TKRK_SBTD_KARIUKE_IDO;
		}
		// 未処理金 → 未処理金
		else if(!idoMtKnkStats && !idoSkKnkStats)
		{
			// 預り金移動 1403
			prcTaioKirokSbtDtlCd = JACStrConst.TKRK_SBTD_AZUKIN_IDO;
		}

		return prcTaioKirokSbtDtlCd;
	}

	/**
	 * 精算方法コードを取得します。
	 * 
	 * @param idoSkPrcKmkCd：移動先金庫料金項目コード
	 * @return String　精算方法コード
	 */
	private String getSsnWayCd(X31SDataBeanAccess[] bean, String idoSkPrcKmkCd)
	{
		String ssnWayCd = null;

		// 移動先金庫料金項目コードが処理済金（雑収入）の場合
		if (idoSkPrcKmkCd.equals(bean[0].sendMessageString(CHW01104SFConst.PRC_KMK_CD_KNKSTAT11, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			ssnWayCd = JACStrConst.SSN_WAY_CD_ZASYUNYU;
		}
		// 移動先金庫料金項目コードが処理済金（申立費用受付）の場合
		else if (idoSkPrcKmkCd.equals(bean[0].sendMessageString(CHW01104SFConst.PRC_KMK_CD_KNKSTAT12, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			ssnWayCd = JACStrConst.SSN_WAY_CD_MUSTHIUK;
		}
		// 移動先金庫料金項目コードが処理済金（遅延損害金）の場合
		else if (idoSkPrcKmkCd.equals(bean[0].sendMessageString(CHW01104SFConst.PRC_KMK_CD_KNKSTAT13, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			ssnWayCd = JACStrConst.SSN_WAY_CD_DLYSG_AT;
		}
		// 移動先金庫料金項目コードが処理済金（貸倒後入金）の場合
		else if (idoSkPrcKmkCd.equals(bean[0].sendMessageString(CHW01104SFConst.PRC_KMK_CD_KNKSTAT14, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			ssnWayCd = JACStrConst.SSN_WAY_CD_KASHIDAFN_AT;
		}
		// 移動先金庫料金項目コードが処理済金（返戻金）の場合
		else if (idoSkPrcKmkCd.equals(bean[0].sendMessageString(CHW01104SFConst.PRC_KMK_CD_KNKSTAT15, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			ssnWayCd = JACStrConst.SSN_WAY_CD_REFUND;
		}
		// 移動先金庫料金項目コードが処理済金（ＰＨＳ移動）の場合
		else if (idoSkPrcKmkCd.equals(bean[0].sendMessageString(CHW01104SFConst.PRC_KMK_CD_KNKSTAT16, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			ssnWayCd = JACStrConst.SSN_WAY_CD_PHS_MOVE;
		}
		// 移動先金庫料金項目コードが処理済金（手作成請求書分）の場合
		else if (idoSkPrcKmkCd.equals(bean[0].sendMessageString(CHW01104SFConst.PRC_KMK_CD_KNKSTAT17, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			ssnWayCd = JACStrConst.SSN_WAY_CD_TESKSI_SKS;
		}
		// 移動先金庫料金項目コードが処理済金（預り金充当）の場合
		else if (idoSkPrcKmkCd.equals(bean[0].sendMessageString(CHW01104SFConst.PRC_KMK_CD_KNKSTAT21, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			ssnWayCd = JACStrConst.SSN_WAY_CD_AZUKIN_JUTO;
		}
		// 移動先金庫料金項目コードが処理済金（前受金充当）の場合
		else if (idoSkPrcKmkCd.equals(bean[0].sendMessageString(CHW01104SFConst.PRC_KMK_CD_KNKSTAT22, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			ssnWayCd = JACStrConst.SSN_WAY_CD_MAEUK_AT_JUTO;
		}
		// ▼▼▼ ANK-3416-00-00 ADD START ▼▼▼
		// 移動先金庫料金項目コードが処理済金（営業外支出返戻）の場合
		else if (idoSkPrcKmkCd.equals(bean[0].sendMessageString(CHW01104SFConst.PRC_KMK_CD_KNKSTAT23, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			ssnWayCd = JACStrConst.SSN_WAY_CD_REFUND;
		}
		// ▲▲▲ ANK-3416-00-00 ADD END ▲▲▲

		return ssnWayCd;
	}

}