/*********************************************************************
*	All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名		：eo顧客基幹システム
*	モジュール名	：ACSV0033_ACSV0033OPDBMapper
*	ソースファイル名：ACSV0033_ACSV0033OPDBMapper.java
*	作成者			：FJ
*	日付			：2012年09月13日
*＜機能概要＞
*	BP（料金スケジュールマスタ保守情報取得）へのＤ−Ｂマッピングクラスです。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v1.00.00	2012/09/13	FJ		新規作成
*
**********************************************************************/
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.common.util.JPCUtilCommon;
import eo.web.webview.ACW01501SF.ACW01501SFConst;

/**
 * DataBean-BPマッピングをする。
 * 
 */
public class ACSV0033_ACSV0033OPDBMapper {
	
	/**
	 * コンストラクタ
	 */
	public ACSV0033_ACSV0033OPDBMapper(){
	}
	

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：料金スケジュールマスタ保守
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setACSV003301SC(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_ym", bean[0].sendMessageString("暦月", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("ACSV003301SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：料金スケジュールマスタ保守
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setACSV003302SC(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_stdardym", bean[0].sendMessageString("暦月", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("ACSV003302SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：料金スケジュールマスタ保守
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setACSV003303SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code) {
		
		if(bean == null){
			return null;
		}
		
		if(bean.length != 1){
			return null;
		}


		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		// 部品呼び出し → コード名称管理コード区分一覧照会（曜日コード）マップ.ＫＥＹ＿コード種別コード
		parentMap.put("key_cd_sbt_cd", String.valueOf("CD00023"));

		outputMap.put("ACSV003303SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：料金スケジュールマスタ保守
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setACSV003304SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code) {
		
		if(bean == null){
			return null;
		}
		
		if(bean.length != 1){
			return null;
		}


		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		// 部品呼び出し → コード名称管理コード区分一覧照会（営業日フラグ）マップ.ＫＥＹ＿コード種別コード
		parentMap.put("key_cd_sbt_cd", String.valueOf("CD01556"));

		outputMap.put("ACSV003304SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：料金スケジュールマスタ保守
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setACSV003305SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code) {
		
		if(bean == null){
			return null;
		}
		
		if(bean.length != 1){
			return null;
		}


		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		// 部品呼び出し → コード名称管理コード区分一覧照会（祝日フラグ）マップ.ＫＥＹ＿コード種別コード
		parentMap.put("key_cd_sbt_cd", String.valueOf("CD01557"));

		outputMap.put("ACSV003305SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 下りマッピング
	 * @param bean　[0]：料金スケジュールマスタ保守
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getACSV003301SC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{

		HashMap parentMap = null;
		if(outputMap.containsKey("ACSV003301SC")){
			parentMap = (HashMap)outputMap.get("ACSV003301SC");
		}

		ArrayList childList = null;

		childList = null;
		if(parentMap.containsKey("ECH0501B020CBSMsg1List")){
			childList = (ArrayList)parentMap.get("ECH0501B020CBSMsg1List");

			for(int i = 0; i < childList.size(); i++){
				HashMap childMap = (HashMap)childList.get(i);

				String eventCd = (String)childMap.get("event_cd"); 		// マスメン料金スケジュール定義イベント一覧照会マップ.料金スケジュール定義イベント一覧照会結果リスト.イベントコード
				String eventYmd = (String)childMap.get("event_ymd"); 	// マスメン料金スケジュール定義イベント一覧照会マップ.料金スケジュール定義イベント一覧照会結果リスト.イベント年月日
				String updDtm = (String)childMap.get("upd_dtm"); 		// マスメン料金スケジュール定義イベント一覧照会マップ.料金スケジュール定義イベント一覧照会結果リスト.更新年月日時分秒

				// 利用開始日　イベントコードが"01"の場合、設定する
				if (JACStrConst.EVENT_CD_USE_STAYMD.equals(eventCd))
				{
					bean[0].sendMessageString(ACW01501SFConst.RIYOU_STA_YMD, X31CWebConst.DATABEAN_SET_VALUE, eventYmd);
					bean[0].sendMessageString(ACW01501SFConst.RIYOU_STA_YMD_UPD_DTM, X31CWebConst.DATABEAN_SET_VALUE, updDtm);
				}

				// 利用終了日　イベントコードが"02"の場合、設定する
				else if (JACStrConst.EVENT_CD_USE_ENDYMD.equals(eventCd))
				{
					bean[0].sendMessageString(ACW01501SFConst.RIYOU_END_YMD, X31CWebConst.DATABEAN_SET_VALUE, eventYmd);
					bean[0].sendMessageString(ACW01501SFConst.RIYOU_END_YMD_UPD_DTM, X31CWebConst.DATABEAN_SET_VALUE, updDtm);
				}

				// 料金計算日　イベントコードが"03"の場合、設定する
				else if (JACStrConst.EVENT_CD_RYOKIN_KEISAN_YMD.equals(eventCd))
				{
					bean[0].sendMessageString(ACW01501SFConst.PRC_CALC_YMD, X31CWebConst.DATABEAN_SET_VALUE, eventYmd);
					bean[0].sendMessageString(ACW01501SFConst.PRC_CALC_YMD_UPD_DTM, X31CWebConst.DATABEAN_SET_VALUE, updDtm);
				}

				// 請求処理日　イベントコードが"04"の場合、設定する
				else if (JACStrConst.EVENT_CD_SEIKY_SHORI_YMD.equals(eventCd))
				{
					bean[0].sendMessageString(ACW01501SFConst.SEIKYU_TRN_YMD, X31CWebConst.DATABEAN_SET_VALUE, eventYmd);
					bean[0].sendMessageString(ACW01501SFConst.SEIKYU_TRN_YMD_UPD_DTM, X31CWebConst.DATABEAN_SET_VALUE, updDtm);
				}

				// クレジット請求依頼日　イベントコードが"05"の場合、設定する
				else if (JACStrConst.EVENT_CD_CREDIT_SEIKY_REQ_YMD.equals(eventCd))
				{
					bean[0].sendMessageString(ACW01501SFConst.CRESEIKYU_IRAI_YMD, X31CWebConst.DATABEAN_SET_VALUE, eventYmd);
					bean[0].sendMessageString(ACW01501SFConst.CRESEIKYU_IRAI_YMD_UPD_DTM, X31CWebConst.DATABEAN_SET_VALUE, updDtm);
				}

				// 口座振替請求依頼日　イベントコードが"06"の場合、設定する
				else if (JACStrConst.EVENT_CD_KOUZA_SEIKYU_IRAI_YMD.equals(eventCd))
				{
					bean[0].sendMessageString(ACW01501SFConst.KOUZA_SEIKYU_IRAI_YMD, X31CWebConst.DATABEAN_SET_VALUE, eventYmd);
					bean[0].sendMessageString(ACW01501SFConst.KOUZA_SEIKYU_IRAI_YMD_UPD_DTM, X31CWebConst.DATABEAN_SET_VALUE, updDtm);
				}
	
				// 請求書データ送信日　イベントコードが"07"の場合、設定する
				else if (JACStrConst.EVENT_CD_SKS_DATA_SND_YMD.equals(eventCd))
				{
					bean[0].sendMessageString(ACW01501SFConst.SKS_DATA_SND_YMD, X31CWebConst.DATABEAN_SET_VALUE, eventYmd);
					bean[0].sendMessageString(ACW01501SFConst.SKS_DATA_SND_YMD_UPD_DTM, X31CWebConst.DATABEAN_SET_VALUE, updDtm);
				}
	
				// 請求書引抜きデータ送信日(1回目)　イベントコードが"08"の場合、設定する
				else if (JACStrConst.EVENT_CD_SEIKYUS_HIKINUKI_DATA_SND_YMD_1.equals(eventCd))
				{
					bean[0].sendMessageString(ACW01501SFConst.SEIKYUS_HIKINUKI_DATA_SND_YMD_1, X31CWebConst.DATABEAN_SET_VALUE, eventYmd);
					bean[0].sendMessageString(ACW01501SFConst.SEIKYUS_HIKINUKI_DATA_SND_YMD_1_UPD_DTM, X31CWebConst.DATABEAN_SET_VALUE, updDtm);
				}
	
				// 請求書引抜きデータ送信日(2回目)　イベントコードが"09"の場合、設定する
				else if (JACStrConst.EVENT_CD_SEIKYUS_HIKINUKI_DATA_SND_YMD_2.equals(eventCd))
				{
					bean[0].sendMessageString(ACW01501SFConst.SEIKYUS_HIKINUKI_DATA_SND_YMD_2, X31CWebConst.DATABEAN_SET_VALUE, eventYmd);
					bean[0].sendMessageString(ACW01501SFConst.SEIKYUS_HIKINUKI_DATA_SND_YMD_2_UPD_DTM, X31CWebConst.DATABEAN_SET_VALUE, updDtm);
				}
	
				// 請求書引抜きデータ送信日(3回目)　イベントコードが"10"の場合、設定する
				else if (JACStrConst.EVENT_CD_SEIKYUS_HIKINUKI_DATA_SND_YMD_3.equals(eventCd))
				{
					bean[0].sendMessageString(ACW01501SFConst.SEIKYUS_HIKINUKI_DATA_SND_YMD_3, X31CWebConst.DATABEAN_SET_VALUE, eventYmd);
					bean[0].sendMessageString(ACW01501SFConst.SEIKYUS_HIKINUKI_DATA_SND_YMD_3_UPD_DTM, X31CWebConst.DATABEAN_SET_VALUE, updDtm);
				}
	
				// 利用停止予告メール作成日　イベントコードが"11"の場合、設定する
				else if (JACStrConst.EVENT_CD_USE_STOP_YOTEI_ML_MAKE_YMD.equals(eventCd))
				{
					bean[0].sendMessageString(ACW01501SFConst.RIYOU_STOP_MAIL_YMD, X31CWebConst.DATABEAN_SET_VALUE, eventYmd);
					bean[0].sendMessageString(ACW01501SFConst.RIYOU_STOP_MAIL_YMD_UPD_DTM, X31CWebConst.DATABEAN_SET_VALUE, updDtm);
				}
	
				// 利用停止日　イベントコードが"12"の場合、設定する
				else if (JACStrConst.EVENT_CD_USE_STOP_YMD.equals(eventCd))
				{
					bean[0].sendMessageString(ACW01501SFConst.RIYOU_STOP_YMD, X31CWebConst.DATABEAN_SET_VALUE, eventYmd);
					bean[0].sendMessageString(ACW01501SFConst.RIYOU_STOP_YMD_UPD_DTM, X31CWebConst.DATABEAN_SET_VALUE, updDtm);
				}
	
				// 支払期限日　イベントコードが"13"の場合、設定する
				else if (JACStrConst.EVENT_CD_KOUZA_PAY_KIGEN_YMD.equals(eventCd))
				{
					bean[0].sendMessageString(ACW01501SFConst.SIHARAI_KIGEN_YMD, X31CWebConst.DATABEAN_SET_VALUE, eventYmd);
					bean[0].sendMessageString(ACW01501SFConst.SIHARAI_KIGEN_YMD_UPD_DTM, X31CWebConst.DATABEAN_SET_VALUE, updDtm);
				}
	
				// 督促支払期限日　イベントコードが"14"の場合、設定する
				else if (JACStrConst.EVENT_CD_TOKSIHARAI_KIGEN_YMD.equals(eventCd))
				{
					bean[0].sendMessageString(ACW01501SFConst.TOKSIHARAI_KIGEN_YMD, X31CWebConst.DATABEAN_SET_VALUE, eventYmd);
					bean[0].sendMessageString(ACW01501SFConst.TOKSIHARAI_KIGEN_YMD_UPD_DTM, X31CWebConst.DATABEAN_SET_VALUE, updDtm);
				}
	
				// 口座振替日　イベントコードが"15"の場合、設定する
				else if (JACStrConst.EVENT_CD_KOUZA_HURIKAE_YMD.equals(eventCd))
				{
					bean[0].sendMessageString(ACW01501SFConst.KOUZA_FURIKAE_YMD, X31CWebConst.DATABEAN_SET_VALUE, eventYmd);
					bean[0].sendMessageString(ACW01501SFConst.KOUZA_FURIKAE_YMD_UPD_DTM, X31CWebConst.DATABEAN_SET_VALUE, updDtm);
				}
	
				// クレジット有効性チェック依頼日　イベントコードが"16"の場合、設定する
				else if (JACStrConst.EVENT_CD_CRDT_YK_CHK_IRAI_YMD.equals(eventCd))
				{
					bean[0].sendMessageString(ACW01501SFConst.CRDT_YK_CHK_IRAI_YMD, X31CWebConst.DATABEAN_SET_VALUE, eventYmd);
					bean[0].sendMessageString(ACW01501SFConst.CRDT_YK_CHK_IRAI_YMD_UPD_DTM, X31CWebConst.DATABEAN_SET_VALUE, updDtm);
				}
	
				// クレジット有効性チェック結果受信日　イベントコードが"17"の場合、設定する
				else if (JACStrConst.EVENT_CD_CRDT_YK_CHK_IRAI_RSLT_RCV_YMD.equals(eventCd))
				{
					bean[0].sendMessageString(ACW01501SFConst.CRDT_YK_CHK_IRAI_RSLT_RCV_YMD, X31CWebConst.DATABEAN_SET_VALUE, eventYmd);
					bean[0].sendMessageString(ACW01501SFConst.CRDT_YK_CHK_IRAI_RSLT_RCV_YMD_UPD_DTM, X31CWebConst.DATABEAN_SET_VALUE, updDtm);
				}
	
				// 強制解除予告メール作成日　イベントコードが"18"の場合、設定する
				else if (JACStrConst.EVENT_CD_TKSK_LIMIT_TOMORROW_YMD.equals(eventCd))
				{
					bean[0].sendMessageString(ACW01501SFConst.KSI_RLS_YKK_ML_SKSI_YMD, X31CWebConst.DATABEAN_SET_VALUE, eventYmd);
					bean[0].sendMessageString(ACW01501SFConst.KSI_RLS_YKK_ML_SKSI_YMD_UPD_DTM, X31CWebConst.DATABEAN_SET_VALUE, updDtm);
				}
	
				// 強制解約日　イベントコードが"19"の場合、設定する
				else if (JACStrConst.EVENT_CD_KYOSEI_KAIYAKU_YMD.equals(eventCd))
				{
					bean[0].sendMessageString(ACW01501SFConst.KYOUSEI_KAIYAKU_YMD, X31CWebConst.DATABEAN_SET_VALUE, eventYmd);
					bean[0].sendMessageString(ACW01501SFConst.KYOUSEI_KAIYAKU_YMD_UPD_DTM, X31CWebConst.DATABEAN_SET_VALUE, updDtm);
				}
	
				// 振込票取扱期限日　イベントコードが"20"の場合、設定する
				else if (JACStrConst.EVENT_CD_FURIKOMI_KIGEN_YMD.equals(eventCd))
				{
					bean[0].sendMessageString(ACW01501SFConst.FURIKOMI_KIGEN_YMD, X31CWebConst.DATABEAN_SET_VALUE, eventYmd);
					bean[0].sendMessageString(ACW01501SFConst.FURIKOMI_KIGEN_YMD_UPD_DTM, X31CWebConst.DATABEAN_SET_VALUE, updDtm);
				}
	
				// 会計処理日　イベントコードが"21"の場合、設定する
				else if (JACStrConst.EVENT_CD_KAIK_SHORI_YMD.equals(eventCd))
				{
					bean[0].sendMessageString(ACW01501SFConst.KAIK_TRN_YMD, X31CWebConst.DATABEAN_SET_VALUE, eventYmd);
					bean[0].sendMessageString(ACW01501SFConst.KAIK_TRN_YMD_UPD_DTM, X31CWebConst.DATABEAN_SET_VALUE, updDtm);
				}
	
				// 債権回収依頼日　イベントコードが"22"の場合、設定する
				else if (JACStrConst.EVENT_CD_SAIKEN_ITK_SHORI_YMD.equals(eventCd))
				{
					bean[0].sendMessageString(ACW01501SFConst.SAIKEN_IRAI_YMD, X31CWebConst.DATABEAN_SET_VALUE, eventYmd);
					bean[0].sendMessageString(ACW01501SFConst.SAIKEN_IRAI_YMD_UPD_DTM, X31CWebConst.DATABEAN_SET_VALUE, updDtm);
				}
	
				// 債権切り離し抽出日　イベントコードが"23"の場合、設定する
				else if (JACStrConst.EVENT_CD_SAIKEN_KRHBS_CHT_YMD.equals(eventCd))
				{
					bean[0].sendMessageString(ACW01501SFConst.SKN_KRHNS_CST_YMD, X31CWebConst.DATABEAN_SET_VALUE, eventYmd);
					bean[0].sendMessageString(ACW01501SFConst.SKN_KRHNS_CST_YMD_UPD_DTM, X31CWebConst.DATABEAN_SET_VALUE, updDtm);
				}
	
				// 貸倒れ対象者抽出日　イベントコードが"24"の場合、設定する
				else if (JACStrConst.EVENT_CD_KASHI_TRGT_YMD.equals(eventCd))
				{
					bean[0].sendMessageString(ACW01501SFConst.KASHID_TGSYA_CST_YMD, X31CWebConst.DATABEAN_SET_VALUE, eventYmd);
					bean[0].sendMessageString(ACW01501SFConst.KASHID_TGSYA_CST_YMD_UPD_DTM, X31CWebConst.DATABEAN_SET_VALUE, updDtm);
				}
	
				// 利用停止処理日　イベントコードが"25"の場合、設定する
				else if (JACStrConst.EVENT_CD_USE_STOP_TRN_YMD.equals(eventCd))
				{
					bean[0].sendMessageString(ACW01501SFConst.USE_STP_TRN_YMD, X31CWebConst.DATABEAN_SET_VALUE, eventYmd);
					bean[0].sendMessageString(ACW01501SFConst.USE_STP_TRN_YMD_UPD_DTM, X31CWebConst.DATABEAN_SET_VALUE, updDtm);
				}
	
				// 強制解約処理日　イベントコードが"26"の場合、設定する
				else if (JACStrConst.EVENT_CD_KYOSEI_KAIYAKU_TRN_YMD.equals(eventCd))
				{
					bean[0].sendMessageString(ACW01501SFConst.KSI_DSL_TRN_YMD, X31CWebConst.DATABEAN_SET_VALUE, eventYmd);
					bean[0].sendMessageString(ACW01501SFConst.KSI_DSL_TRN_YMD_UPD_DTM, X31CWebConst.DATABEAN_SET_VALUE, updDtm);
				}
	
				// コンビニ締日　イベントコードが"30"の場合、設定する
				else if (JACStrConst.EVENT_CD_CVS_SIME_YMD.equals(eventCd))
				{
					bean[0].sendMessageString(ACW01501SFConst.CVS_SIME_YMD, X31CWebConst.DATABEAN_SET_VALUE, eventYmd);
					bean[0].sendMessageString(ACW01501SFConst.CVS_SIME_YMD_UPD_DTM, X31CWebConst.DATABEAN_SET_VALUE, updDtm);
				}

				// 会計処理日（1日実行）　イベントコードが"31"の場合、設定する
				else if (JACStrConst.EVENT_CD_KAIK_TRN_YMD1.equals(eventCd))
				{
					bean[0].sendMessageString(ACW01501SFConst.KAIK_TRN_YMD1, X31CWebConst.DATABEAN_SET_VALUE, eventYmd);
					bean[0].sendMessageString(ACW01501SFConst.KAIK_TRN_YMD1_UPD_DTM, X31CWebConst.DATABEAN_SET_VALUE, updDtm);
				}

				// 会計処理日（2日実行）　イベントコードが"32"の場合、設定する
				else if (JACStrConst.EVENT_CD_KAIK_TRN_YMD2.equals(eventCd))
				{
					bean[0].sendMessageString(ACW01501SFConst.KAIK_TRN_YMD2, X31CWebConst.DATABEAN_SET_VALUE, eventYmd);
					bean[0].sendMessageString(ACW01501SFConst.KAIK_TRN_YMD2_UPD_DTM, X31CWebConst.DATABEAN_SET_VALUE, updDtm);
				}

				// 会計処理日（3日実行）　イベントコードが"33"の場合、設定する
				else if (JACStrConst.EVENT_CD_KAIK_TRN_YMD3.equals(eventCd))
				{
					bean[0].sendMessageString(ACW01501SFConst.KAIK_TRN_YMD3, X31CWebConst.DATABEAN_SET_VALUE, eventYmd);
					bean[0].sendMessageString(ACW01501SFConst.KAIK_TRN_YMD3_UPD_DTM, X31CWebConst.DATABEAN_SET_VALUE, updDtm);
				}

				// 撤去解約予定日　イベントコードが"35"の場合、設定する
				else if (JACStrConst.EVENT_CD_TEKKYO_DSL_REG_YMD.equals(eventCd))
				{
					bean[0].sendMessageString(ACW01501SFConst.TEKKYO_KAIYAKU_YMD, X31CWebConst.DATABEAN_SET_VALUE, eventYmd);
					bean[0].sendMessageString(ACW01501SFConst.TEKKYO_KAIYAKU_YMD_UPD_DTM, X31CWebConst.DATABEAN_SET_VALUE, updDtm);
				}

			}
		}

		// 料金スケジュール定義件数 ← マスメン料金スケジュール定義イベント一覧照会マップ.総検索件数
		bean[0].sendMessageString(ACW01501SFConst.PRC_EVENT_CNT, X31CWebConst.DATABEAN_SET_VALUE, (String) parentMap.get("total_search_num"));

		return bean;

	}

	/**
	 * 下りマッピング
	 * @param bean　[0]：料金スケジュールマスタ保守
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getACSV003302SC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{

		HashMap parentMap = null;
		if(outputMap.containsKey("ACSV003302SC")){
			parentMap = (HashMap)outputMap.get("ACSV003302SC");
		}

		ArrayList childList = null;

		X31SDataBeanAccessArray listACSV003302SC_eigyou_calender_EZM0291B020CBSMsg1List = bean[0].getDataBeanArray(ACW01501SFConst.EIGYOU_CALENDER);
		listACSV003302SC_eigyou_calender_EZM0291B020CBSMsg1List.clearArray();

		childList = null;
		if(listACSV003302SC_eigyou_calender_EZM0291B020CBSMsg1List != null && parentMap != null && parentMap.containsKey("EZM0291B020CBSMsg1List")){
			childList = (ArrayList)parentMap.get("EZM0291B020CBSMsg1List");

			for(int i = 0; i < childList.size(); i++){
				X31SDataBeanAccess subbean = null;
				if(listACSV003302SC_eigyou_calender_EZM0291B020CBSMsg1List.getCount() -1 >= i){
					subbean = listACSV003302SC_eigyou_calender_EZM0291B020CBSMsg1List.getDataBean(i);
				}else{
					subbean = listACSV003302SC_eigyou_calender_EZM0291B020CBSMsg1List.addDataBean();
				}
				HashMap childMap = (HashMap)childList.get(i);
				if (subbean == null) {
					continue;
				}

				// 営業日カレンダー.日 ← マスメン営業日管理基準年月一覧照会マップ.営業日管理基準年月一覧照会明細.対象年月日の日
				if (childMap != null) {
					// マスメン営業日管理基準年月一覧照会マップ.営業日管理基準年月一覧照会明細.対象年月日
					String trgtYmd = (String)childMap.get("trgt_ymd");
					String eigyouDay = "";
					// 対象年月日の日を取得
					if (trgtYmd != null && trgtYmd.length() == 8)
					{
						eigyouDay = String.valueOf(Integer.parseInt(trgtYmd.substring(6), 10));
					}
					subbean.sendMessageString(ACW01501SFConst.EIGYOU_DAY_02, X31CWebConst.DATABEAN_SET_VALUE, eigyouDay);
				} else {
					subbean.sendMessageString(ACW01501SFConst.EIGYOU_DAY_02, X31CWebConst.DATABEAN_SET_VALUE, "");
				}

				// 営業日カレンダー.営業／休業日選択コード ← マスメン営業日管理基準年月一覧照会マップ.営業日管理基準年月一覧照会明細.営業日フラグ
				if (childMap != null) {
					subbean.sendMessageString(ACW01501SFConst.EIGYOU_KYUGYOU_CD_SEL_02, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("busiday_flg"));
				} else {
					subbean.sendMessageString(ACW01501SFConst.EIGYOU_KYUGYOU_CD_SEL_02, X31CWebConst.DATABEAN_SET_VALUE, "");
				}

				getACSV003304SC(subbean, outputMap, false);

				// 営業日カレンダー.休日選択コード ← マスメン営業日管理基準年月一覧照会マップ.営業日管理基準年月一覧照会明細.祝日フラグ
				if (childMap != null) {
					subbean.sendMessageString(ACW01501SFConst.EIGYOU_HOLIDAY_CD_SEL_02, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("holiday_flg"));
				} else {
					subbean.sendMessageString(ACW01501SFConst.EIGYOU_HOLIDAY_CD_SEL_02, X31CWebConst.DATABEAN_SET_VALUE, "");
				}

				getACSV003305SC(subbean, outputMap, false);

				// 営業日カレンダー.営業日 ← マスメン営業日管理基準年月一覧照会マップ.営業日管理基準年月一覧照会明細.対象年月日
				if (childMap != null) {
					subbean.sendMessageString(ACW01501SFConst.EIGYOU_YMD_02, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("trgt_ymd"));
				} else {
					subbean.sendMessageString(ACW01501SFConst.EIGYOU_YMD_02, X31CWebConst.DATABEAN_SET_VALUE, "");
				}

				// 営業日カレンダー.更新年月日時分秒 ← マスメン営業日管理基準年月一覧照会マップ.営業日管理基準年月一覧照会明細.更新年月日時分秒
				if (childMap != null) {
					subbean.sendMessageString(ACW01501SFConst.UPD_YMD_02, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("upd_dtm"));
				} else {
					subbean.sendMessageString(ACW01501SFConst.UPD_YMD_02, X31CWebConst.DATABEAN_SET_VALUE, "");
				}

				// 営業日カレンダー.表示フラグ ← true（表示）
				subbean.sendMessageBoolean(ACW01501SFConst.DSP_FLG_02, X31CWebConst.DATABEAN_SET_VALUE, true);

			}

		}

		// 当月日数の取得（暦月より、当月日数を求める）
		String strTougetuNissu = JPCUtilCommon.getEndOfMonth(
				bean[0].sendMessageString(ACW01501SFConst.REKI_YM, X31CWebConst.DATABEAN_GET_VALUE));
		int tougetuNissu = Integer.parseInt(strTougetuNissu, 10);

		// 表示フラグ
		boolean dspFlg = false;
		
		// 処理区分が「登録」の場合、または、営業日管理が登録されていない場合、暦上の当月の日数を当月日数とする。
		// また、画面に対象の日付のデータを表示する。
		if ("1".equals(bean[0].sendMessageString(ACW01501SFConst.TRN_KBN, X31CWebConst.DATABEAN_GET_VALUE))
				|| parentMap.get("total_search_num") == null || "0".equals(parentMap.get("total_search_num")))
		{
			bean[0].sendMessageString(ACW01501SFConst.TOUGETU_NISSU, X31CWebConst.DATABEAN_SET_VALUE, String.valueOf(tougetuNissu));
			dspFlg = true;
		}
		// 上記以外の場合、登録されている営業日管理のレコード数を、当月日数とする。
		// また、画面に対象の日付のデータを表示しない。
		else
		{
			bean[0].sendMessageString(ACW01501SFConst.TOUGETU_NISSU, X31CWebConst.DATABEAN_SET_VALUE, (String) parentMap.get("total_search_num"));
			dspFlg = false;
		}

		// 最終日まで、営業日カレンダーを補完する
		for (int i = listACSV003302SC_eigyou_calender_EZM0291B020CBSMsg1List.getCount(); i < tougetuNissu; i++)
		{
			X31SDataBeanAccess subbean = listACSV003302SC_eigyou_calender_EZM0291B020CBSMsg1List.addDataBean();
			subbean.sendMessageString(ACW01501SFConst.EIGYOU_DAY_02, X31CWebConst.DATABEAN_SET_VALUE, String.valueOf(i + 1));

			// 営業／休業のセレクトボックスの組み立て
			this.getACSV003304SC(subbean, outputMap, true);

			// 休日のセレクトボックスの組み立て
			this.getACSV003305SC(subbean, outputMap, true);

			// 営業日カレンダー.営業日 ← 暦月 + 01からの連番
			subbean.sendMessageString(ACW01501SFConst.EIGYOU_YMD_02, X31CWebConst.DATABEAN_SET_VALUE
					, bean[0].sendMessageString(ACW01501SFConst.REKI_YM, X31CWebConst.DATABEAN_GET_VALUE) + JPCUtilCommon.padNumFormString(String.valueOf(i + 1), 2));

			// 営業日カレンダー.表示フラグ ← 上記で設定した表示フラグ
			subbean.sendMessageBoolean(ACW01501SFConst.DSP_FLG_02, X31CWebConst.DATABEAN_SET_VALUE, dspFlg);

		}

		// 営業日カレンダー件数 ← マスメン営業日管理基準年月一覧照会マップ.総検索件数
		bean[0].sendMessageString(ACW01501SFConst.EIGYOU_CALENDER_CNT, X31CWebConst.DATABEAN_SET_VALUE, (String) parentMap.get("total_search_num"));

		return bean;

	}

	/**
	 * 下りマッピング
	 * @param bean　[0]：料金スケジュールマスタ保守
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getACSV003303SC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{

		HashMap parentMap = null;
		if(outputMap.containsKey("ACSV003303SC")){
			parentMap = (HashMap)outputMap.get("ACSV003303SC");
		}

		ArrayList childList = null;

		X31SDataBeanAccessArray listACSV003303SC_tougetu_youbi_ECH0401B010CBSMsg1List = bean[0].getDataBeanArray(ACW01501SFConst.TOUGETU_YOUBI);
		X31SDataBeanAccess subbean = listACSV003303SC_tougetu_youbi_ECH0401B010CBSMsg1List.getDataBean(0);

		subbean.sendMessage(ACW01501SFConst.TOUGETU_YOUBI_LIST_01, X31CWebConst.DATABEAN_CLEAR);
		subbean.sendMessage(ACW01501SFConst.TOUGETU_YOUBI_VALUE_LIST_01, X31CWebConst.DATABEAN_CLEAR);

		childList = null;
		if(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(ACW01501SFConst.TOUGETU_YOUBI_LIST_01, X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("cd_div"));
				} else {
					subbean.sendMessageString(ACW01501SFConst.TOUGETU_YOUBI_LIST_01, X31CWebConst.DATABEAN_ADD_VALUE, "");
				}

				// 当月初日曜日.当月初日曜日名称リスト ← コード名称管理コード区分一覧照会（曜日コード）マップ.コード名称管理コード区分一覧照会明細.コード区分名
				if (childMap != null) {
					subbean.sendMessageString(ACW01501SFConst.TOUGETU_YOUBI_VALUE_LIST_01, X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("cd_div_nm"));
				} else {
					subbean.sendMessageString(ACW01501SFConst.TOUGETU_YOUBI_VALUE_LIST_01, X31CWebConst.DATABEAN_ADD_VALUE, "");
				}

			}
		}

		return bean;

	}

	/**
	 * 下りマッピング
	 * @param bean　[0]：料金スケジュールマスタ保守
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public void getACSV003304SC(X31SDataBeanAccess bean, HashMap outputMap, boolean shkDsp)
	{

		HashMap parentMap = null;
		if(outputMap.containsKey("ACSV003304SC")){
			parentMap = (HashMap)outputMap.get("ACSV003304SC");
		}

		ArrayList childList = null;

		X31SDataBeanAccessArray listACSV003304SC_eigyou_kyugyou_EZM0171B012CBSMsg1List = bean.getDataBeanArray(ACW01501SFConst.EIGYOU_KYUGYOU);
		listACSV003304SC_eigyou_kyugyou_EZM0171B012CBSMsg1List.clearArray();

		childList = null;
		if(listACSV003304SC_eigyou_kyugyou_EZM0171B012CBSMsg1List != null && parentMap != null && parentMap.containsKey("EZM0171B012CBSMsg1List")){
			childList = (ArrayList)parentMap.get("EZM0171B012CBSMsg1List");

			String selectedCode = bean.sendMessageString(ACW01501SFConst.EIGYOU_KYUGYOU_CD_SEL_02, X31CWebConst.DATABEAN_GET_VALUE);
			if (selectedCode == null)
			{
				selectedCode = "";
			}

			// 選択インデックス
			int selectedIndex = 0;

			listACSV003304SC_eigyou_kyugyou_EZM0171B012CBSMsg1List.addDataBean();
			for(int i = 0; i < childList.size(); i++){
				X31SDataBeanAccess subbean = null;
				if(listACSV003304SC_eigyou_kyugyou_EZM0171B012CBSMsg1List.getCount() -1 > i){
					subbean = listACSV003304SC_eigyou_kyugyou_EZM0171B012CBSMsg1List.getDataBean(i + 1);
				}else{
					subbean = listACSV003304SC_eigyou_kyugyou_EZM0171B012CBSMsg1List.addDataBean();
				}
				HashMap childMap = (HashMap)childList.get(i);
				if (subbean == null) {
					continue;
				}

				// 営業日カレンダー.営業／休業日.営業／休業日リスト ← コード名称管理コード区分一覧照会（営業日フラグ）マップ.コード名称管理コード区分一覧照会明細.コード区分
				if (childMap != null) {
					subbean.sendMessageString(ACW01501SFConst.EIGYOU_KYUGYOU_LIST_03, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("cd_div"));
				} else {
					subbean.sendMessageString(ACW01501SFConst.EIGYOU_KYUGYOU_LIST_03, X31CWebConst.DATABEAN_SET_VALUE, "");
				}
				
				// 営業日カレンダー.営業／休業日.営業／休業日名称リスト ← コード名称管理コード区分一覧照会（営業日フラグ）マップ.コード名称管理コード区分一覧照会明細.コード区分名
				if (childMap != null) {
					subbean.sendMessageString(ACW01501SFConst.EIGYOU_KYUGYOU_VALUE_LIST_03, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("cd_div_nm"));
				} else {
					subbean.sendMessageString(ACW01501SFConst.EIGYOU_KYUGYOU_VALUE_LIST_03, X31CWebConst.DATABEAN_SET_VALUE, "");
				}

				// 表示対象のコードの場合、対象のインデックスを保持する。
				if (!shkDsp && selectedCode.equals((String)childMap.get("cd_div")))
				{
					selectedIndex = i + 1;
				}

			}

			// 初期表示の場合
			if (shkDsp) {
				// 営業日カレンダー.営業／休業日選択 ← ""（固定）
				bean.sendMessageString(ACW01501SFConst.EIGYOU_KYUGYOU_SEL_02, X31CWebConst.DATABEAN_SET_VALUE, "");
				return;
			}

			X31SDataBeanAccess subbean = listACSV003304SC_eigyou_kyugyou_EZM0171B012CBSMsg1List.getDataBean(selectedIndex);
			// 営業日カレンダー.営業／休業日選択 ← 選択インデックス
			bean.sendMessageString(ACW01501SFConst.EIGYOU_KYUGYOU_SEL_02, X31CWebConst.DATABEAN_SET_VALUE, String.valueOf(selectedIndex));
			// 営業日カレンダー.営業／休業日選択コード ← 選択インデックスの営業日カレンダー.営業／休業日.営業／休業日リスト
			bean.sendMessageString(ACW01501SFConst.EIGYOU_KYUGYOU_CD_SEL_02, X31CWebConst.DATABEAN_SET_VALUE
					, subbean.sendMessageString(ACW01501SFConst.EIGYOU_KYUGYOU_LIST_03, X31CWebConst.DATABEAN_GET_VALUE));
			// 営業日カレンダー.営業／休業日選択名称 ← 選択インデックスの営業日カレンダー.営業／休業日.営業／休業日名称リスト
			bean.sendMessageString(ACW01501SFConst.EIGYOU_KYUGYOU_VALUE_SEL_02, X31CWebConst.DATABEAN_SET_VALUE
					, subbean.sendMessageString(ACW01501SFConst.EIGYOU_KYUGYOU_VALUE_LIST_03, X31CWebConst.DATABEAN_GET_VALUE));
			
		}

	}

	/**
	 * 下りマッピング
	 * @param bean　[0]：料金スケジュールマスタ保守
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public void getACSV003305SC(X31SDataBeanAccess bean, HashMap outputMap, boolean shkDsp)
	{

		HashMap parentMap = null;
		if(outputMap.containsKey("ACSV003305SC")){
			parentMap = (HashMap)outputMap.get("ACSV003305SC");
		}

		ArrayList childList = null;

		X31SDataBeanAccessArray listACSV003305SC_eigyou_holiday_EZM0171B012CBSMsg1List = bean.getDataBeanArray(ACW01501SFConst.EIGYOU_HOLIDAY);
		listACSV003305SC_eigyou_holiday_EZM0171B012CBSMsg1List.clearArray();

		childList = null;
		if(listACSV003305SC_eigyou_holiday_EZM0171B012CBSMsg1List != null && parentMap != null && parentMap.containsKey("EZM0171B012CBSMsg1List")){
			childList = (ArrayList)parentMap.get("EZM0171B012CBSMsg1List");

			String selectedCode = bean.sendMessageString(ACW01501SFConst.EIGYOU_HOLIDAY_CD_SEL_02, X31CWebConst.DATABEAN_GET_VALUE);
			if (selectedCode == null)
			{
				selectedCode = "";
			}

			// 選択インデックス
			int selectedIndex = 0;

			listACSV003305SC_eigyou_holiday_EZM0171B012CBSMsg1List.addDataBean();
			for(int i = 0; i < childList.size(); i++){
				X31SDataBeanAccess subbean = null;
				if(listACSV003305SC_eigyou_holiday_EZM0171B012CBSMsg1List.getCount() -1 > i){
					subbean = listACSV003305SC_eigyou_holiday_EZM0171B012CBSMsg1List.getDataBean(i + 1);
				}else{
					subbean = listACSV003305SC_eigyou_holiday_EZM0171B012CBSMsg1List.addDataBean();
				}
				HashMap childMap = (HashMap)childList.get(i);
				if (subbean == null) {
					continue;
				}

				// 営業日カレンダー.休日.休日リスト ← コード名称管理コード区分一覧照会（祝日フラグ）マップ.コード名称管理コード区分一覧照会明細.コード区分
				if (childMap != null) {
					subbean.sendMessageString(ACW01501SFConst.EIGYOU_HOLIDAY_LIST_04, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("cd_div"));
				} else {
					subbean.sendMessageString(ACW01501SFConst.EIGYOU_HOLIDAY_LIST_04, X31CWebConst.DATABEAN_SET_VALUE, "");
				}
				
				// 営業日カレンダー.休日.休日名称リスト ← コード名称管理コード区分一覧照会（祝日フラグ）マップ.コード名称管理コード区分一覧照会明細.コード区分名
				if (childMap != null) {
					subbean.sendMessageString(ACW01501SFConst.EIGYOU_HOLIDAY_VALUE_LIST_04, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("cd_div_nm"));
				} else {
					subbean.sendMessageString(ACW01501SFConst.EIGYOU_HOLIDAY_VALUE_LIST_04, X31CWebConst.DATABEAN_SET_VALUE, "");
				}

				// 表示対象のコードの場合、対象のインデックスを保持する。
				if (!shkDsp && selectedCode.equals((String)childMap.get("cd_div")))
				{
					selectedIndex = i + 1;
				}

			}
			
			// 初期表示の場合
			if (shkDsp) {
				// 営業日カレンダー.営業／休業日選択 ← ""（固定）
				bean.sendMessageString(ACW01501SFConst.EIGYOU_HOLIDAY_SEL_02, X31CWebConst.DATABEAN_SET_VALUE, "");
				return;
			}

			X31SDataBeanAccess subbean = listACSV003305SC_eigyou_holiday_EZM0171B012CBSMsg1List.getDataBean(selectedIndex);
			// 営業日カレンダー.休日選択 ← 選択インデックス
			bean.sendMessageString(ACW01501SFConst.EIGYOU_HOLIDAY_SEL_02, X31CWebConst.DATABEAN_SET_VALUE, String.valueOf(selectedIndex));
			// 営業日カレンダー.休日選択コード ← 選択インデックスの営業日カレンダー.休日.休日リスト
			bean.sendMessageString(ACW01501SFConst.EIGYOU_HOLIDAY_CD_SEL_02, X31CWebConst.DATABEAN_SET_VALUE
					, subbean.sendMessageString(ACW01501SFConst.EIGYOU_HOLIDAY_LIST_04, X31CWebConst.DATABEAN_GET_VALUE));
			// 営業日カレンダー.休日選択名称 ← 選択インデックスの営業日カレンダー.休日.休日名称リスト
			bean.sendMessageString(ACW01501SFConst.EIGYOU_HOLIDAY_VALUE_SEL_02, X31CWebConst.DATABEAN_SET_VALUE
					, subbean.sendMessageString(ACW01501SFConst.EIGYOU_HOLIDAY_VALUE_LIST_04, X31CWebConst.DATABEAN_GET_VALUE));

		}

	}
}
