/*********************************************************************
*	All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名		：eo顧客基幹システム
*	モジュール名	：CHSV0045_CHSV0045OPDBMapper
*	ソースファイル名：CHSV0045_CHSV0045OPDBMapper.java
*	作成者			：富士通
*	日付			：2012年01月17日
*＜機能概要＞
*	BP（督促状況更新画面情報取得）へのＤ−Ｂマッピングクラスです。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v1.00.00	2012/01/17	富士通		新規作成
*	v5.00.00	2013/07/30	FJ)早崎		【IT1-2013-0001487】
*	v5.01.00	2013/09/04	FJ)早崎		【OM-2013-0001470】うち利用停止解除金額に督促．督促金額を設定
*	v5.02.00	2013/10/22	FJ)北端		【OM-2013-0003008】未収金合計の算出において、充当されている金額を除く処理を追加
*                                                         「うち利用停止解除金額」表示項目とBean項目の対応を修正
*   v6.00.00	2013/12/06	FJ)江森		【OM-2013-0004748】督促ステータスを「"90"（貸倒登録済）」から「"99"（督促保留）」に変更した場合の対応
*	v6.01.00	2014/01/27	FJ)小野		【OM-2014-0000223】満額入金で督促ステータスが更新されない事象に対応。
*	v8.00.00	2014/01/31	FJ)江森    【ANK-1589-00-00】未収金額、充当額不正対応
*	v10.00.00	2014/10/18	FJ)鈴木		【ANK-2273-00-00】CIC案件対応
*	v37.00.00	2018/04/12	FJ)柳		【ANK-3366-00-00】eo光設備卸対応
*	v52.00.00	2020/10/20	FJ)平野		【ANK-3838-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.CHA00301SF.CHW01302SFConst;
import eo.web.webview.commonOneStop.JCHWebCommon;

/**
 * DataBean-BPマッピングをする。
 * 
 */
public class CHSV0045_CHSV0045OPDBMapper {
	
	/**
	 * コンストラクタ
	 */
	public CHSV0045_CHSV0045OPDBMapper(){
	}
	

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：督促状況更新
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setCHSV004501SC(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("CHSV004501SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：督促状況更新
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setCHSV004502SC(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("CHSV004502SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：督促状況更新
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setCHSV004503SC(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);

		// 固定値"CD00111" → 変更抑止登録情報一覧照会マップ.ＫＥＹ＿コード種別コード
		parentMap.put("key_cd_sbt_cd", "CD00111");

		outputMap.put("CHSV004503SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：督促状況更新
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setCHSV004504SC(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_tokusoku_stat", bean[0].sendMessageString("請求契約番号", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("CHSV004504SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：督促状況更新
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setCHSV004505SC(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("CHSV004505SC", parentMap);
						
		return outputMap;
	}


	/**
	 * 上りマッピングをする
	 * @param bean　[0]：督促状況更新
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setCHSV004506SC(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("CHSV004506SC", parentMap);
						
		return outputMap;
	}

// 2014.10.16 ANK-2273-00-00 add start
	/**
	 * 上りマッピングをする
	 * @param bean　[0]：督促状況更新
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setCHSV004507SC(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);

		// 請求契約番号 → CIC参照用請求契約一意照会マップ.ＫＥＹ＿請求契約番号
		parentMap.put("key_seiky_kei_no", bean[0].sendMessageString("請求契約番号", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("CHSV004507SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：督促状況更新
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setCHSV004508SC(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_stdardymd", bean[0].sendMessageString(CHW01302SFConst.OPE_DATE, X31CWebConst.DATABEAN_GET_VALUE));
		
		// コード種別コード → コードマップ.ＫＥＹ＿コード種別コード
		// TODO:JZM0171Constant
		parentMap.put("key_cd_sbt_cd", "CD01666");

		outputMap.put("CHSV004508SC", parentMap);
						
		return outputMap;
	}
// 2014.10.16 ANK-2273-00-00 add end
	
	// ANK-3366-00-00 2018/04/12 ADD START
	/**
	 * 上りマッピングをする
	 * @param bean　[0]：督促状況更新
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setCHSV004509SC(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(CHW01302SFConst.SEIKY_KEI_NO, X31CWebConst.DATABEAN_GET_VALUE));
		
		outputMap.put("CHSV004509SC", parentMap);
		
		return outputMap;
	}
	
	/**
	 * 上りマッピングをする
	 * @param bean　[0]：督促状況更新
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setCHSV004510SC(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("CHSV004510SC", parentMap);
		
		return outputMap;
	}
	// ANK-3366-00-00 2018/04/12 ADD END
	
	// ANK-3838-00-00 ADD START
	/**
	 * 上りマッピングをする
	 * @param bean　[0]：督促状況更新
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setCHSV004511SC(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_stdardymd", bean[0].sendMessageString(CHW01302SFConst.OPE_DATE, X31CWebConst.DATABEAN_GET_VALUE));
		
		// コード種別コード → コードマップ.ＫＥＹ＿コード種別コード
		parentMap.put("key_cd_sbt_cd", "CD01757");

		outputMap.put("CHSV004511SC", parentMap);
						
		return outputMap;
	}
	// ANK-3838-00-00 ADD END

	/**
	 * 下りマッピング
	 * @param bean　[0]：督促状況更新
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getCHSV004501SC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("CHSV004501SC")){
			parentMap = (HashMap)outputMap.get("CHSV004501SC");
		}

		ArrayList childList = null;

		X31SDataBeanAccessArray listCHSV004501SC_tokusoku_stat_dtl_info_ECH0231A010CBSMsg1List = bean[0].getDataBeanArray("督促状況詳細情報");
		childList = null;
		if(listCHSV004501SC_tokusoku_stat_dtl_info_ECH0231A010CBSMsg1List != null && parentMap != null && parentMap.containsKey("ECH0231A010CBSMsg1List")){
			childList = (ArrayList)parentMap.get("ECH0231A010CBSMsg1List");

			for(int i = 0; i < childList.size(); i++){
				X31SDataBeanAccess subbean = null;
				if(listCHSV004501SC_tokusoku_stat_dtl_info_ECH0231A010CBSMsg1List.getCount() -1 >= i){
					subbean = listCHSV004501SC_tokusoku_stat_dtl_info_ECH0231A010CBSMsg1List.getDataBean(i);
				}else{
					subbean = listCHSV004501SC_tokusoku_stat_dtl_info_ECH0231A010CBSMsg1List.addDataBean();
				}
				HashMap childMap = (HashMap)childList.get(i);
				if (subbean == null) {
					continue;
				}

				// 督促番号 ← 督促一意照会マップ.督促一意明細.督促番号
				if (childMap != null) {
					bean[0].sendMessageString("督促番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("tokusoku_no"));
				} else {
					bean[0].sendMessageString("督促番号", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 督促管理終了年月日 ← 督促一意照会マップ.督促一意明細.督促管理終了年月日
				if (childMap != null) {
					subbean.sendMessageString("督促管理終了年月日", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("tokusoku_endymd"));
				} else {
					subbean.sendMessageString("督促管理終了年月日", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 督促異動年月日 ← 督促一意照会マップ.督促一意明細.督促異動年月日
				if (childMap != null) {
					subbean.sendMessageString("督促異動年月日", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("tokusoku_ido_ymd"));
				} else {
					subbean.sendMessageString("督促異動年月日", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 支払約束受付年月日 ← 督促一意照会マップ.督促一意明細.支払約束受付年月日
				if (childMap != null) {
					subbean.sendMessageString("支払約束受付年月日", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("pay_yakusoku_uk_ymd"));
				} else {
					subbean.sendMessageString("支払約束受付年月日", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 督促状況詳細情報.支払約束日 ← 督促一意照会マップ.督促一意明細.支払約束年月日
				if (childMap != null) {
					subbean.sendMessageString("支払約束日", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("pay_yakusoku_ymd"));
				} else {
					subbean.sendMessageString("支払約束日", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 督促状況詳細情報.支払約束履行判定日 ← 督促一意照会マップ.督促一意明細.支払約束履行判定日
				if (childMap != null) {
					subbean.sendMessageString("支払約束履行判定日", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("pay_yakusoku_riko_ymd"));
				} else {
					subbean.sendMessageString("支払約束履行判定日", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 督促状況詳細情報.利用停止依頼年月日 ← 督促一意照会マップ.督促一意明細.利用停止依頼年月日
				if (childMap != null) {
					subbean.sendMessageString("利用停止依頼年月日", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("use_stp_req_ymd"));
				} else {
					subbean.sendMessageString("利用停止依頼年月日", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 督促状況詳細情報.利用停止解除依頼年月日 ← 督促一意照会マップ.督促一意明細.利用停止解除依頼年月日
				if (childMap != null) {
					subbean.sendMessageString("利用停止解除依頼年月日", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("use_stp_rls_req_ymd"));
				} else {
					subbean.sendMessageString("利用停止解除依頼年月日", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 督促状況詳細情報.強制解約依頼年月日 ← 督促一意照会マップ.督促一意明細.強制解約依頼年月日
				if (childMap != null) {
					subbean.sendMessageString("強制解約依頼年月日", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("kyosei_dsl_req_ymd"));
				} else {
					subbean.sendMessageString("強制解約依頼年月日", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 督促状況詳細情報.債権回収委託会社委託処理年月日 ← 督促一意照会マップ.督促一意明細.債権回収委託会社委託処理年月日
				if (childMap != null) {
					subbean.sendMessageString("債権回収委託会社委託処理年月日", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("sknksitkcm_itaku_tran_ymd"));
				} else {
					subbean.sendMessageString("債権回収委託会社委託処理年月日", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 督促状況詳細情報.貸倒処理年月日 ← 督促一意照会マップ.督促一意明細.貸倒処理年月日
				if (childMap != null) {
					subbean.sendMessageString("貸倒処理年月日", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("kashid_tran_ymd"));
				} else {
					subbean.sendMessageString("貸倒処理年月日", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 督促状況詳細情報.うち利用停止解除金額 ← 督促一意照会マップ.督促一意明細.督促金額
				if (childMap != null) {
					subbean.sendMessageString("うち利用停止解除金額", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("msu_amnt_sum"));
				} else {
					subbean.sendMessageString("うち利用停止解除金額", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 督促状況詳細情報.督促異動イベントコード ← 督促一意照会マップ.督促一意明細.督促異動イベントコード
				if (childMap != null) {
					subbean.sendMessageString("督促異動イベントコード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("tokusoku_ido_evnt_cd"));
				} else {
					subbean.sendMessageString("督促異動イベントコード", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 督促状況詳細情報.督促金額 ← 督促一意照会マップ.督促一意明細.督促金額
				if (childMap != null) {
					subbean.sendMessageString("督促金額", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("tokusoku_amnt"));
				} else {
					subbean.sendMessageString("督促金額", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 督促更新年月日時分秒 ← 督促一意照会マップ.督促一意明細.更新年月日時分秒
				if (childMap != null) {
					bean[0].sendMessageString("督促更新年月日時分秒", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("upd_dtm"));
				} else {
					bean[0].sendMessageString("督促更新年月日時分秒", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
			}
		}

		return bean;
	}

	/**
	 * 下りマッピング
	 * @param bean　[0]：督促状況更新
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getCHSV004502SC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("CHSV004502SC")){
			parentMap = (HashMap)outputMap.get("CHSV004502SC");
		}

		ArrayList childList = null;
		

		X31SDataBeanAccessArray listCHSV004502SC_seiky_yoksi_info_EKK0541B501CBSMsg1List = bean[0].getDataBeanArray("請求抑止情報");
		childList = null;
		if(listCHSV004502SC_seiky_yoksi_info_EKK0541B501CBSMsg1List != null && parentMap != null && parentMap.containsKey("EKK0541B501CBSMsg1List")){
			childList = (ArrayList)parentMap.get("EKK0541B501CBSMsg1List");

			for(int i = 0; i < childList.size(); i++){
				X31SDataBeanAccess subbean = null;
				if(listCHSV004502SC_seiky_yoksi_info_EKK0541B501CBSMsg1List.getCount() -1 >= i){
					subbean = listCHSV004502SC_seiky_yoksi_info_EKK0541B501CBSMsg1List.getDataBean(i);
				}else{
					subbean = listCHSV004502SC_seiky_yoksi_info_EKK0541B501CBSMsg1List.addDataBean();
				}
				HashMap childMap = (HashMap)childList.get(i);
				if (subbean == null) {
					continue;
				}

				// 請求抑止情報から抑止フラグを取得
				String yoksiFlg = (String)childMap.get("seiky_yoksi_flg");
				
				if("1".equals(yoksiFlg))
				{
					// 抑止フラグが"1"の請求抑止リストを形成
					// 請求抑止情報.請求抑止コード ← 請求抑止一覧照会マップ.請求抑止一覧明細.請求抑止コード
					if (childMap != null) {
						subbean.sendMessageString("請求抑止コード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("seiky_yoksi_cd"));
					} else {
						subbean.sendMessageString("請求抑止コード", X31CWebConst.DATABEAN_SET_VALUE, new String());
					}
					// 請求抑止情報.請求抑止コード名称 ← 請求抑止一覧照会マップ.請求抑止一覧明細.請求抑止コード名称
					if (childMap != null) {
						subbean.sendMessageString("請求抑止コード名称", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("seiky_yoksi_cd_nm"));
					} else {
						subbean.sendMessageString("請求抑止コード名称", X31CWebConst.DATABEAN_SET_VALUE, new String());
					}
				}
			}
		}


		return bean;
	}

	/**
	 * 下りマッピング
	 * @param bean　[0]：督促状況更新
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getCHSV004503SC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("CHSV004503SC")){
			parentMap = (HashMap)outputMap.get("CHSV004503SC");
		}
		HashMap tmpMap = null;
		if(outputMap.containsKey("CHSV004502SC")){
			tmpMap = (HashMap)outputMap.get("CHSV004502SC");
		}

		ArrayList childList = null;
		

		X31SDataBeanAccessArray listCHSV004503SC_henko_yoksi_add_info_EZM0171B012CBSMsg1List = bean[0].getDataBeanArray("変更抑止登録情報");
		childList = null;
		if(listCHSV004503SC_henko_yoksi_add_info_EZM0171B012CBSMsg1List != null && parentMap != null && parentMap.containsKey("EZM0171B012CBSMsg1List")){
			childList = (ArrayList)parentMap.get("EZM0171B012CBSMsg1List");

			for(int i = 0; i < childList.size(); i++){
				X31SDataBeanAccess subbean = null;
				if(listCHSV004503SC_henko_yoksi_add_info_EZM0171B012CBSMsg1List.getCount() -1 >= i){
					subbean = listCHSV004503SC_henko_yoksi_add_info_EZM0171B012CBSMsg1List.getDataBean(i);
				}else{
					subbean = listCHSV004503SC_henko_yoksi_add_info_EZM0171B012CBSMsg1List.addDataBean();
				}
				HashMap childMap = (HashMap)childList.get(i);
				if (subbean == null) {
					continue;
				}
			
				// 変更抑止登録情報.変更請求抑止コード ← 変更抑止登録情報一覧照会マップ.コード名称管理コード区分一覧照会明細.コード区分
				if (childMap != null) {
					subbean.sendMessageString("変更請求抑止コード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("cd_div"));
				} else {
					subbean.sendMessageString("変更請求抑止コード", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 変更抑止登録情報.変更請求抑止コード名称 ← 変更抑止登録情報一覧照会マップ.コード名称管理コード区分一覧照会明細.コード区分略称
				if (childMap != null) {
					subbean.sendMessageString("変更請求抑止コード名称", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("cd_div_ali"));
				} else {
					subbean.sendMessageString("変更請求抑止コード名称", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}

				// 変更抑止登録情報一覧からコード区分取得
				String henkoSeikyYoksiCd = (String)childMap.get("cd_div");

				// 変更抑止登録情報.変更前抑止フラグ
				subbean.sendMessageString("変更前抑止フラグ", X31CWebConst.DATABEAN_SET_VALUE, "0");
				// 変更抑止登録情報.抑止情報有無
				subbean.sendMessageString("抑止情報有無", X31CWebConst.DATABEAN_SET_VALUE, "0");
				// 変更抑止登録情報.抑止フラグ
				subbean.sendMessageBoolean("抑止フラグ", X31CWebConst.DATABEAN_SET_VALUE, false);
				// 変更抑止登録情報.更新年月日時分秒（更新前）
				subbean.sendMessageString("更新年月日時分秒（更新前）", X31CWebConst.DATABEAN_SET_VALUE, "");
				
				// 請求抑止情報を元に設定
				X31SDataBeanAccessArray listCHSV004502SC_seiky_yoksi_info_EKK0541B501CBSMsg1List = bean[0].getDataBeanArray("請求抑止情報");
				ArrayList yoksiChildList = null;
				if(listCHSV004502SC_seiky_yoksi_info_EKK0541B501CBSMsg1List != null && tmpMap != null && tmpMap.containsKey("EKK0541B501CBSMsg1List")){
					yoksiChildList = (ArrayList)tmpMap.get("EKK0541B501CBSMsg1List");

					for(int j = 0; j < yoksiChildList.size(); j++){
						HashMap yoksiChildMap = (HashMap)yoksiChildList.get(j);
					
						// 請求抑止情報から請求抑止コード取得
						String seikyYoksiCd = (String)yoksiChildMap.get("seiky_yoksi_cd");

						// 変更抑止登録情報で保持する請求抑止コードが請求抑止情報に存在する場合
						if(henkoSeikyYoksiCd.equals(seikyYoksiCd)){
							// 請求抑止情報で保持する抑止フラグを取得
							String henkoMaeYoksiFlg = (String)yoksiChildMap.get("seiky_yoksi_flg");
							if("1".equals(henkoMaeYoksiFlg))
							{
								// 変更抑止登録情報.変更前抑止フラグ
								subbean.sendMessageString("変更前抑止フラグ", X31CWebConst.DATABEAN_SET_VALUE, henkoMaeYoksiFlg);
								// 変更抑止登録情報.抑止フラグ
								subbean.sendMessageBoolean("抑止フラグ", X31CWebConst.DATABEAN_SET_VALUE, true);
							}
							// 変更抑止登録情報.抑止情報有無
							subbean.sendMessageString("抑止情報有無", X31CWebConst.DATABEAN_SET_VALUE, "1");
							// 変更抑止登録情報.更新年月日時分秒（更新前）
							subbean.sendMessageString("更新年月日時分秒（更新前）", X31CWebConst.DATABEAN_SET_VALUE, (String)yoksiChildMap.get("upd_dtm_bf"));
						}
					}
				}
			}
		}

		return bean;
	}

	/**
	 * 下りマッピング
	 * @param bean　[0]：督促状況更新
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getCHSV004504SC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("CHSV004504SC")){
			parentMap = (HashMap)outputMap.get("CHSV004504SC");
		}

		ArrayList childList = null;
		

		X31SDataBeanAccessArray listCHSV004504SC_henko_tokusoku_stat_info_ECH0661B010CBSMsg1List = bean[0].getDataBeanArray("変更督促ステータス情報");
		X31SDataBeanAccess subbean = listCHSV004504SC_henko_tokusoku_stat_info_ECH0661B010CBSMsg1List.getDataBean(0);

		subbean.sendMessage(CHW01302SFConst.TOKUSOKU_STAT_CD_LIST_06, X31CWebConst.DATABEAN_CLEAR);
		subbean.sendMessage(CHW01302SFConst.TOKUSOKU_STAT_NM_LIST_06, X31CWebConst.DATABEAN_CLEAR);
		subbean.sendMessage(CHW01302SFConst.TOKUSOKU_STAT_CD_SEL_06, X31CWebConst.DATABEAN_CLEAR);

		childList = null;
		if(listCHSV004504SC_henko_tokusoku_stat_info_ECH0661B010CBSMsg1List != null && parentMap != null && parentMap.containsKey("ECH0661B010CBSMsg1List")){
			childList = (ArrayList)parentMap.get("ECH0661B010CBSMsg1List");

			subbean.sendMessageString("変更督促ステータスコードリスト", X31CWebConst.DATABEAN_ADD_VALUE,"");
			subbean.sendMessageString("変更督促ステータス名称リスト", X31CWebConst.DATABEAN_ADD_VALUE,"");
			subbean.sendMessageString("利用停止解除対象フラグ", X31CWebConst.DATABEAN_ADD_VALUE,"");
			subbean.sendMessageString("利用停止対象フラグ", X31CWebConst.DATABEAN_ADD_VALUE,"");
			subbean.sendMessageString("強制解約対象フラグ", X31CWebConst.DATABEAN_ADD_VALUE,"");

			for(int i = 0; i < childList.size(); i++){

				HashMap childMap = (HashMap)childList.get(i);
			
				// 変更督促ステータス情報.変更督促ステータスコードリスト ← 変更督促ステータス一覧照会マップ.督促ステータス一覧紹介明細.督促ステータス
				if (childMap != null) {
					subbean.sendMessageString("変更督促ステータスコードリスト", X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("tokusoku_stat"));
				} else {
					subbean.sendMessageString("変更督促ステータスコードリスト", X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
				// 変更督促ステータス情報.変更督促ステータス名称リスト ← 変更督促ステータス一覧照会マップ.督促ステータス一覧紹介明細.督促ステータス名
				if (childMap != null) {
					String tokuStat = (String)childMap.get("tokusoku_stat");
					String tokuStatNm = (String)childMap.get("tokusoku_stat_nm");
					StringBuffer sb = new StringBuffer();
					String henkoTokuStatNm = sb.append(tokuStat).append(":").append(tokuStatNm).toString();
					subbean.sendMessageString("変更督促ステータス名称リスト", X31CWebConst.DATABEAN_ADD_VALUE, henkoTokuStatNm);
				} else {
					subbean.sendMessageString("変更督促ステータス名称リスト", X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
				// 変更督促ステータス情報.利用停止解除対象フラグ ← 変更督促ステータス一覧照会マップ.督促ステータス一覧紹介明細.利用停止解除対象フラグ
				if (childMap != null) {
					subbean.sendMessageString("利用停止解除対象フラグ", X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("use_stp_rls_tg_flg"));
				} else {
					subbean.sendMessageString("利用停止解除対象フラグ", X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
				// 変更督促ステータス情報.利用停止対象フラグ ← 変更督促ステータス一覧照会マップ.督促ステータス一覧紹介明細.利用停止対象フラグ
				if (childMap != null) {
					subbean.sendMessageString("利用停止対象フラグ", X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("use_stp_tg_flg"));
				} else {
					subbean.sendMessageString("利用停止対象フラグ", X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
				// 変更督促ステータス情報.強制解約対象フラグ ← 変更督促ステータス一覧照会マップ.督促ステータス一覧紹介明細.強制解約対象フラグ
				if (childMap != null) {
					subbean.sendMessageString("強制解約対象フラグ", X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("ksi_dsl_tg_flg"));
				} else {
					subbean.sendMessageString("強制解約対象フラグ", X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
			}
		}


		return bean;
	}

	/**
	 * 下りマッピング
	 * @param bean　[0]：督促状況更新
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getCHSV004505SC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("CHSV004505SC")){
			parentMap = (HashMap)outputMap.get("CHSV004505SC");
		}

		ArrayList childList = null;
		
		// 未納金額合計
		long minoAmntSum = 0;
		// 充当金額合計
		long jytoAmntSum = 0;

		X31SDataBeanAccessArray listCHSV004505SC_saiken_icrn_info_ECH0011B010CBSMsg1List = bean[0].getDataBeanArray("債権一覧情報");
		childList = null;
		if(listCHSV004505SC_saiken_icrn_info_ECH0011B010CBSMsg1List != null && parentMap != null && parentMap.containsKey("ECH0011B010CBSMsg1List")){
			childList = (ArrayList)parentMap.get("ECH0011B010CBSMsg1List");

			for(int i = 0; i < childList.size(); i++){
				X31SDataBeanAccess subbean = null;
				if(listCHSV004505SC_saiken_icrn_info_ECH0011B010CBSMsg1List.getCount() -1 >= i){
					subbean = listCHSV004505SC_saiken_icrn_info_ECH0011B010CBSMsg1List.getDataBean(i);
				}else{
					subbean = listCHSV004505SC_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_amnt"));
					// 未納金額合計への集計
					if (!JACStrConst.KARA_MOJI.equals(childMap.get("saiken_amnt")))
					{
						minoAmntSum += Long.parseLong((String)childMap.get("saiken_amnt"));
					}
				} else {
					subbean.sendMessageString("債権額", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				
				subbean.sendMessageString("債権番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("saiken_no"));
				subbean.sendMessageString("更新年月日時分秒（更新前）", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("saiken_upd_dtm_af"));

				// 債権一覧情報.充当額 ← 未納債権一覧照会マップ.債権一覧明細.充当額
				if (childMap != null)
				{
					// 充当額
					String jytoAmnt = "0";
					
					if ((String)childMap.get("jyto_amnt") != null && "".equals((String)childMap.get("jyto_amnt")) == false)
					{
						jytoAmnt = (String)childMap.get("jyto_amnt");
					}
					
					// 前受金充当額
					String maeujytoAmnt = "0";
					
					if ((String)childMap.get("maeu_jyto_amnt") != null && "".equals((String)childMap.get("maeu_jyto_amnt")) == false)
					{
						maeujytoAmnt = (String)childMap.get("maeu_jyto_amnt");
					}

					// 貸倒後入金額
					String ksdAfNyknAmnt = "0";
					
					if ((String)childMap.get("ksd_af_nk_amnt") != null && "".equals((String)childMap.get("ksd_af_nk_amnt")) == false)
					{
						ksdAfNyknAmnt = (String)childMap.get("ksd_af_nk_amnt");
					}
					
					// 充当額と前受金充当額と貸倒後入金額を加算
					String jytoAmntAdd =  JCHWebCommon.calcAdd(ksdAfNyknAmnt, JCHWebCommon.calcAdd(jytoAmnt, maeujytoAmnt, true), true);
					
					if (JCHWebCommon.isNullOrEmpty(jytoAmntAdd))
					{
						// 債権一覧情報.充当額 ← 債権一覧照会マップ.債権一覧明細.充当額
						subbean.sendMessageString("充当額", X31CWebConst.DATABEAN_SET_VALUE, "0");
					}
					else
					{
						// 債権一覧情報.充当額 ← 債権一覧照会マップ.債権一覧明細.充当額
						subbean.sendMessageString("充当額", X31CWebConst.DATABEAN_SET_VALUE, jytoAmntAdd);
						// 充当金額合計への集計
						jytoAmntSum += Long.parseLong(jytoAmntAdd);
					}
				}
				else
				{
					subbean.sendMessageString("充当額", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				
			}
		}
		
		// 未収金額合計の設定
		if (childList.size() > 0)
		{
			X31SDataBeanAccessArray tokusokuStatInfo = bean[0].getDataBeanArray("督促状況詳細情報");
			X31SDataBeanAccess tokusokuStat = null;
			if(tokusokuStatInfo.getCount() > 0)
			{
				tokusokuStat = tokusokuStatInfo.getDataBean(0);
			}
			else
			{
				tokusokuStat = tokusokuStatInfo.addDataBean();
			}
			tokusokuStat.sendMessageString("未納金額合計", X31CWebConst.DATABEAN_SET_VALUE, String.valueOf(minoAmntSum - jytoAmntSum));
		}
		return bean;
	}
	
	/**
	 * 下りマッピング
	 * @param bean　[0]：督促状況更新
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getCHSV004506SC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("CHSV004506SC")){
			parentMap = (HashMap)outputMap.get("CHSV004506SC");
		}
		
		// 総件数
		String totalSearchNum = (String)parentMap.get("total_search_num");

		// 検索結果が1件以上の場合
		if(JACStrConst.CNT_ZERO.compareTo(totalSearchNum) < 0)
		{
			// 対応履歴チェックボックス制御フラグ ← true
			bean[0].sendMessageBoolean("対応履歴チェックボックス表示制御フラグ", X31CWebConst.DATABEAN_SET_VALUE, true);
		}
		
		return bean;
	}

// 2014.10.16 ANK-2273-00-00 add start
	/**
	 * 下りマッピング
	 * @param bean　[0]：督促状況更新
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getCHSV004507SC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("CHSV004507SC")){
			parentMap = (HashMap)outputMap.get("CHSV004507SC");
		}

		ArrayList childList = null;
		

		X31SDataBeanAccessArray listCHSV004507SC_seiky_kei_zoku_info_EKK2951A010CBSMsg1List = bean[0].getDataBeanArray("請求契約属性情報");
		childList = null;
		if(listCHSV004507SC_seiky_kei_zoku_info_EKK2951A010CBSMsg1List != null && parentMap != null && parentMap.containsKey("EKK2951A010CBSMsg1List")){
			childList = (ArrayList)parentMap.get("EKK2951A010CBSMsg1List");

			for(int i = 0; i < childList.size(); i++){
				X31SDataBeanAccess subbean = null;
				if(listCHSV004507SC_seiky_kei_zoku_info_EKK2951A010CBSMsg1List.getCount() -1 >= i){
					subbean = listCHSV004507SC_seiky_kei_zoku_info_EKK2951A010CBSMsg1List.getDataBean(i);
				}else{
					subbean = listCHSV004507SC_seiky_kei_zoku_info_EKK2951A010CBSMsg1List.addDataBean();
				}
				HashMap childMap = (HashMap)childList.get(i);
				if (subbean == null) {
					continue;
				}

				// 請求契約属性情報.ＣＩＣ連携制御フラグ ← 請求契約属性一意照会マップ.ＣＩＣ連携制御フラグ
				if (childMap != null) {
					subbean.sendMessageString("ＣＩＣ連携制御フラグ", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("cic_rnki_naiyo_cd"));
				} else {
					subbean.sendMessageString("ＣＩＣ連携制御フラグ", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 請求契約属性情報.更新年月日時分秒（更新前） ← 請求契約属性一意照会マップ.更新年月日時分秒（更新前）
				if (childMap != null) {
					subbean.sendMessageString("更新年月日時分秒（更新前）", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("upd_dtm"));
				} else {
					subbean.sendMessageString("更新年月日時分秒（更新前）", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
			}
		}


		return bean;
	}

	/**
	 * 下りマッピング
	 * @param bean　[0]：督促状況更新
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getCHSV004508SC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("CHSV004508SC")){
			parentMap = (HashMap)outputMap.get("CHSV004508SC");
		}

		ArrayList childList = null;
		

		X31SDataBeanAccessArray listCHSV004508SC_cic_rnki_ctrl_flg_info_EZM0171B012CBSMsg1List = bean[0].getDataBeanArray("ＣＩＣ連携制御フラグ情報");
		X31SDataBeanAccess subbean = listCHSV004508SC_cic_rnki_ctrl_flg_info_EZM0171B012CBSMsg1List.getDataBean(0);

		subbean.sendMessageString(CHW01302SFConst.CD_DIV_CD_09, X31CWebConst.DATABEAN_CLEAR);
		subbean.sendMessageString(CHW01302SFConst.CD_DIV_NM_09, X31CWebConst.DATABEAN_CLEAR);
		subbean.sendMessageString(CHW01302SFConst.SELECT_INDEX_09, X31CWebConst.DATABEAN_SET_VALUE, "0");
		subbean.sendMessage(CHW01302SFConst.DEFAULT_CD_LIST_09, X31CWebConst.DATABEAN_CLEAR);
		subbean.sendMessage(CHW01302SFConst.CD_DIV_CD_LIST_09, X31CWebConst.DATABEAN_CLEAR);
		subbean.sendMessage(CHW01302SFConst.CD_DIV_NM_LIST_09, X31CWebConst.DATABEAN_CLEAR);
		subbean.sendMessage(CHW01302SFConst.CD_DIV_ALI_LIST_09, X31CWebConst.DATABEAN_CLEAR);

		childList = null;
		if(listCHSV004508SC_cic_rnki_ctrl_flg_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);
			
				// ＣＩＣ連携制御フラグ情報.変更督促ステータスコードリスト ← コード名称管理コード区分一覧照会.コード名称管理コード区分一覧照会明細.コード区分
				if (childMap != null) {
					subbean.sendMessageString("コードタイプコード値リスト", X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("cd_div"));
				} else {
					subbean.sendMessageString("コードタイプコード値リスト", X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
				
				// ＣＩＣ連携制御フラグ情報.プルダウン表示名称リスト ← コード名称管理コード区分一覧照会.コード名称管理コード区分一覧照会明細.督促ステータス名
				
				// コード区分名称（略称）をプルダウンに表示する。
				if (childMap != null) {
					String cd_div = (String)childMap.get("cd_div");
					String cd_div_ali = (String)childMap.get("cd_div_ali");
					StringBuffer sb = new StringBuffer();
					String dispNm = sb.append(cd_div).append(":").append(cd_div_ali).toString();
					subbean.sendMessageString("コードタイプ名称リスト", X31CWebConst.DATABEAN_ADD_VALUE, dispNm);
				} else {
					subbean.sendMessageString("コードタイプ名称リスト", X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
//				// ＣＩＣ連携制御フラグ情報.コードタイプ名称リスト ← コード名称管理コード区分一覧照会.コード名称管理コード区分一覧照会明細.コード区分名
//				if (childMap != null) {
//					subbean.sendMessageString("コードタイプ名称リスト", X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("cd_div_nm"));
//				} else {
//					subbean.sendMessageString("コードタイプ名称リスト", X31CWebConst.DATABEAN_ADD_VALUE, new String());
//				}
				// ＣＩＣ連携制御フラグ情報.コードタイプ名称リスト ← コード名称管理コード区分一覧照会.コード名称管理コード区分一覧照会明細.コード区分略称
				if (childMap != null) {
					subbean.sendMessageString("コードタイプ略称リスト", X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("cd_div_ali"));
				} else {
					subbean.sendMessageString("コードタイプ略称リスト", X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
				// ＣＩＣ連携制御フラグ情報.初期設定コード ← コード名称管理コード区分一覧照会.コード名称管理コード区分一覧照会明細.初期表示コード
				if (childMap != null) {
					subbean.sendMessageString("初期設定コード", X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("shk_dsp_cd"));
				} else {
					subbean.sendMessageString("初期設定コード", X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
			}
		}


		return bean;
	}
// 2014.10.16 ANK-2273-00-00 add end
	
	// ANK-3366-00-00 2018/04/12 ADD START
	/**
	 * 下りマッピング
	 * @param bean　[0]：督促状況更新
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getCHSV004510SC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{
		
		HashMap parentMap = null;
		
		if(outputMap.containsKey("CHSV004510SC"))
		{
			parentMap = (HashMap)outputMap.get("CHSV004510SC");
		}
		
		ArrayList childList = null;
		
		X31SDataBeanAccessArray listCHSV004510SC_seiky_info_ECH0051A010CBSMsg1List = bean[0].getDataBeanArray("請求情報");
		
		childList = null;
		
		if(listCHSV004510SC_seiky_info_ECH0051A010CBSMsg1List != null && parentMap != null && parentMap.containsKey("ECH0051A010CBSMsg1List"))
		{
			childList = (ArrayList)parentMap.get("ECH0051A010CBSMsg1List");
			
			for(int i = 0; i < childList.size(); i++)
			{
				X31SDataBeanAccess subbean = null;
				
				if(listCHSV004510SC_seiky_info_ECH0051A010CBSMsg1List.getCount() -1 >= i)
				{
					subbean = listCHSV004510SC_seiky_info_ECH0051A010CBSMsg1List.getDataBean(i);
				}
				else
				{
					subbean = listCHSV004510SC_seiky_info_ECH0051A010CBSMsg1List.addDataBean();
				}
				
				HashMap childMap = (HashMap)childList.get(i);
				
				if (subbean == null)
				{
					continue;
				}
				
				// 請求情報.卸先事業者コード ← 請求一意照会マップ.卸先事業者コード
				if (childMap != null)
				{
					subbean.sendMessageString("卸先事業者コード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("orsjgs_cd"));
				}
				else
				{
					subbean.sendMessageString("卸先事業者コード", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
			}
		}
		
		return bean;
	}
	// ANK-3366-00-00 2018/04/12 ADD END
    // ANK-3838-00-00 ADD START
	/**
	 * 下りマッピング
	 * @param bean　[0]：督促状況更新
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getCHSV004511SC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("CHSV004511SC")){
			parentMap = (HashMap)outputMap.get("CHSV004511SC");
		}

		ArrayList childList = null;
		

		X31SDataBeanAccessArray listCHSV004511SC_hrikomi_cms_yoksi_set_info_EZM0171B012CBSMsg1List = bean[0].getDataBeanArray("振込手数料抑止設定情報");
		X31SDataBeanAccess subbean = listCHSV004511SC_hrikomi_cms_yoksi_set_info_EZM0171B012CBSMsg1List.getDataBean(0);

		subbean.sendMessageString(CHW01302SFConst.CD_DIV_CD_09, X31CWebConst.DATABEAN_CLEAR);
		subbean.sendMessageString(CHW01302SFConst.CD_DIV_NM_09, X31CWebConst.DATABEAN_CLEAR);
		subbean.sendMessageString(CHW01302SFConst.SELECT_INDEX_09, X31CWebConst.DATABEAN_SET_VALUE, "0");
		subbean.sendMessage(CHW01302SFConst.DEFAULT_CD_LIST_09, X31CWebConst.DATABEAN_CLEAR);
		subbean.sendMessage(CHW01302SFConst.CD_DIV_CD_LIST_09, X31CWebConst.DATABEAN_CLEAR);
		subbean.sendMessage(CHW01302SFConst.CD_DIV_NM_LIST_09, X31CWebConst.DATABEAN_CLEAR);
		subbean.sendMessage(CHW01302SFConst.CD_DIV_ALI_LIST_09, X31CWebConst.DATABEAN_CLEAR);
		// 予めプルダウンの先頭に空のリストを追加
		subbean.sendMessageString("コードタイプコード値リスト", X31CWebConst.DATABEAN_ADD_VALUE, new String());
		subbean.sendMessageString("コードタイプ名称リスト", X31CWebConst.DATABEAN_ADD_VALUE, new String());
		subbean.sendMessageString("コードタイプ略称リスト", X31CWebConst.DATABEAN_ADD_VALUE, new String());
		subbean.sendMessageString("初期設定コード", X31CWebConst.DATABEAN_ADD_VALUE, new String());
		childList = null;
		if(listCHSV004511SC_hrikomi_cms_yoksi_set_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);
			
				// 振込手数料抑止設定情報.振込手数料抑止設定コードリスト ← コード名称管理コード区分一覧照会.コード名称管理コード区分一覧照会明細.コード区分
				if (childMap != null) {
					subbean.sendMessageString("コードタイプコード値リスト", X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("cd_div"));
				} else {
					subbean.sendMessageString("コードタイプコード値リスト", X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
				
				// 振込手数料抑止設定情報.プルダウン表示名称リスト ← コード名称管理コード区分一覧照会.コード名称管理コード区分一覧照会明細.抑止ステータス名
				
				// コード区分名称（略称）をプルダウンに表示する。
				if (childMap != null) {
					String cd_div = (String)childMap.get("cd_div");
					String cd_div_ali = (String)childMap.get("cd_div_ali");
					StringBuffer sb = new StringBuffer();
					String dispNm = sb.append(cd_div).append(":").append(cd_div_ali).toString();
					subbean.sendMessageString("コードタイプ名称リスト", X31CWebConst.DATABEAN_ADD_VALUE, dispNm);
				} else {
					subbean.sendMessageString("コードタイプ名称リスト", X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
				// 振込手数料抑止設定情報.コードタイプ名称リスト ← コード名称管理コード区分一覧照会.コード名称管理コード区分一覧照会明細.コード区分略称
				if (childMap != null) {
					subbean.sendMessageString("コードタイプ略称リスト", X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("cd_div_ali"));
				} else {
					subbean.sendMessageString("コードタイプ略称リスト", X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
				// 振込手数料抑止設定情報.初期設定コード ← コード名称管理コード区分一覧照会.コード名称管理コード区分一覧照会明細.初期表示コード
				if (childMap != null) {
					subbean.sendMessageString("初期設定コード", X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("shk_dsp_cd"));
				} else {
					subbean.sendMessageString("初期設定コード", X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
			}
		}
		return bean;
	}
	// ANK-3838-00-00 ADD END
}