/*********************************************************************
*	All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名		：eo顧客基幹システム
*	モジュール名	：FUSV0199_FUSV0199OPDBMapper
*	ソースファイル名：FUSV0199_FUSV0199OPDBMapper.java
*	作成者			：FJ
*	日付			：2012年06月28日
*＜機能概要＞
*	BP（データ抽出項目一意照会）へのＤ−Ｂマッピングクラスです。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v1.00.00	2012/06/28	FJ		新規作成
*   v7.00       2014/02/26  FJ) 谷本   【OM-2014-0000636】訪販、その他キャンペーン修正対応
*   v23.00.00   2016/03/22  FJ) 中西   【ANK-2786-00-00】 訪販フロントシステムキャンペーンの追加
*
**********************************************************************/
package eo.web.webview.mapping;

import java.util.ArrayList;
import java.util.HashMap;

import com.fujitsu.futurity.web.x31.X31BWebBusinessLogic;
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.JFUStrConst;
import eo.web.webview.FUW00905SF.FUW00905SFConst;
import eo.web.webview.common.JFUWebCommon;

/**
 * DataBean-BPマッピングをする。
 * 
 */
public class FUSV0199_FUSV0199OPDBMapper
{

	/**
	 * コンストラクタ
	 */
	public FUSV0199_FUSV0199OPDBMapper()
	{
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：メニュー（量販・訪販）
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV019901SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code, X31BWebBusinessLogic bl)
	{

		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_rsv_aply_ymd", eo.web.webview.common.JCCWebCommon.getOpeDate(bl, null));

		// 実行判定
		if(chkDspCd(bean[0]))
		{
			// その他キャンペーンコード → データ抽出項目一意照会マップ.ＫＥＹ＿データ抽出項目コード
			parentMap.put("key_dchskm_cd", bean[0].sendMessageString("その他キャンペーンコード", X31CWebConst.DATABEAN_GET_VALUE));
			// 実行フラグ
			parentMap.put("do_flg", "1");
		}
		else
		{
			// その他キャンペーンコード(ダミー)
			parentMap.put("key_dchskm_cd", "000000000");
			// 実行フラグ
			parentMap.put("do_flg", "0");
		}

		outputMap.put("FUSV019901SC", parentMap);

		return outputMap;
	}

	//【ANK-2786-00-00】 訪販フロントシステムキャンペーンの追加 2016.03.22 FJ)中西 add start
	/**
	 * 上りマッピングをする
	 * @param bean　[0]：メニュー（量販・訪販）
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV019902SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code, X31BWebBusinessLogic bl)
	{

		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_rsv_aply_ymd", eo.web.webview.common.JCCWebCommon.getOpeDate(bl, null));

		// 実行判定
		if(chkDspCd(bean[0]))
		{
			// その他キャンペーンコード → 割引サービス一意照会マップ.ＫＥＹ＿割引サービスコード
			parentMap.put("key_wrib_svc_cd", bean[0].sendMessageString("その他キャンペーンコード", X31CWebConst.DATABEAN_GET_VALUE));
			// 実行フラグ
			parentMap.put("do_flg", "1");
		}
		else
		{
			// その他キャンペーンコード(ダミー)
			parentMap.put("key_wrib_svc_cd", "000000000");
			// 実行フラグ
			parentMap.put("do_flg", "0");
		}

		outputMap.put("FUSV019902SC", parentMap);

		return outputMap;
	}
	//【ANK-2786-00-00】 訪販フロントシステムキャンペーンの追加 2016.03.22 FJ)中西 add end

	/**
	 * 上りマッピング処理(データ抽出項目一覧照会（表示データ抽出項目ＣＤ）)です。
	 * 
	 * <br>
	 * @param bean
	 * @param outputMap
	 * @param func_code
	 * @return
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV019903SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{
		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		// 実行判定
		if(!chkDspCd(bean[0]))
		{
			// ＫＥＹ＿表示用データ抽出項目コード
			parentMap.put("key_dsp_dchskm_cd", bean[0].sendMessageString(FUW00905SFConst.OTHER_DSP_CMP_CD, X31CWebConst.DATABEAN_GET_VALUE));
			// 実行フラグ
			parentMap.put("do_flg", "1");
		}
		else
		{
			// ＫＥＹ＿表示用データ抽出項目コード(ダミー)
			parentMap.put("key_dsp_dchskm_cd", "00000000");
			// 実行フラグ
			parentMap.put("do_flg", "0");
		}

		outputMap.put("FUSV019903SC", parentMap);

		return outputMap;
	}

	//【ANK-2786-00-00】 訪販フロントシステムキャンペーンの追加 2016.03.22 FJ)中西 add start
	/**
	 * 上りマッピング処理(割引サービス一覧照会（基準年月日）)です。
	 * 
	 * <br>
	 * @param bean
	 * @param outputMap
	 * @param func_code
	 * @return
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV019904SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{
		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		if(!chkDspCd(bean[0]))
		{
			// ＫＥＹ＿表示用キャンペーンコード
			parentMap.put("key_dsp_campaign_cd", bean[0].sendMessageString(FUW00905SFConst.OTHER_DSP_CMP_CD, X31CWebConst.DATABEAN_GET_VALUE));
			// 実行フラグ
			parentMap.put("do_flg", "1");
		}
		else
		{
			// ＫＥＹ＿表示用キャンペーンコード(ダミー)
			parentMap.put("key_dsp_campaign_cd", "00000000");
			// 実行フラグ
			parentMap.put("do_flg", "0");
		}

		outputMap.put("FUSV019904SC", parentMap);

		return outputMap;
	}
	//【ANK-2786-00-00】 訪販フロントシステムキャンペーンの追加 2016.03.22 FJ)中西 add end
	
	/**
	 * 下りマッピング  テータ抽出項目一意照会
	 * @param bean　[0]：メニュー（量販・訪販）
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getFUSV019901SC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{

		HashMap parentMap = null;
		if (outputMap.containsKey("FUSV019901SC"))
		{
			parentMap = (HashMap)outputMap.get("FUSV019901SC");
		}

		ArrayList childList = null;

		X31SDataBeanAccessArray listFUSV019901SC_other_cmp_cd_list_search_EKK1351A010CBSMsg1List = bean[0].getDataBeanArray("その他キャンペーンコードリスト（検索用）");
		childList = null;
		if (listFUSV019901SC_other_cmp_cd_list_search_EKK1351A010CBSMsg1List != null && parentMap != null
				&& parentMap.containsKey("EKK1351A010CBSMsg1List"))
		{
			childList = (ArrayList)parentMap.get("EKK1351A010CBSMsg1List");

			for (int i = 0; i < childList.size(); i++)
			{
				X31SDataBeanAccess subbean = null;
				if (listFUSV019901SC_other_cmp_cd_list_search_EKK1351A010CBSMsg1List.getCount() - 1 >= i)
				{
					subbean = listFUSV019901SC_other_cmp_cd_list_search_EKK1351A010CBSMsg1List.getDataBean(i);
				}
				else
				{
					subbean = listFUSV019901SC_other_cmp_cd_list_search_EKK1351A010CBSMsg1List.addDataBean();
				}
				HashMap childMap = (HashMap)childList.get(i);
				if (subbean == null)
				{
					continue;
				}

				// その他キャンペーンコードリスト（検索用）.データ抽出項目コード ← データ抽出項目一意照会マップ.データ抽出項目一意照会明細.データ抽出項目コード
				if (childMap != null)
				{
					subbean.sendMessageString("データ抽出項目コード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("dchskm_cd"));
				}
				else
				{
					subbean.sendMessageString("データ抽出項目コード", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// その他キャンペーンコードリスト（検索用）.データ抽出項目名 ← データ抽出項目一意照会マップ.データ抽出項目一意照会明細.データ抽出項目名
				if (childMap != null)
				{
					subbean.sendMessageString("データ抽出項目名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("dchskm_nm"));
				}
				else
				{
					subbean.sendMessageString("データ抽出項目名", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// その他キャンペーンコードリスト（検索用）.設定可能開始年月日時分 ← データ抽出項目一意照会マップ.データ抽出項目一意照会明細.設定可能開始年月日時分
				if (childMap != null)
				{
					subbean.sendMessageString("設定可能開始年月日時分", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("set_psb_sta_ymdhm"));
				}
				else
				{
					subbean.sendMessageString("設定可能開始年月日時分", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// その他キャンペーンコードリスト（検索用）.設定可能終了年月日時分 ← データ抽出項目一意照会マップ.データ抽出項目一意照会明細.設定可能終了年月日時分
				if (childMap != null)
				{
					subbean.sendMessageString("設定可能終了年月日時分", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("set_psb_end_ymdhm"));
				}
				else
				{
					subbean.sendMessageString("設定可能終了年月日時分", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// その他キャンペーンコードリスト（検索用）.条件適用開始年月日 ← データ抽出項目一意照会マップ.データ抽出項目一意照会明細.条件適用開始年月日
				if (childMap != null)
				{
					subbean.sendMessageString("条件適用開始年月日", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("joken_tstaymd"));
				}
				else
				{
					subbean.sendMessageString("条件適用開始年月日", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// その他キャンペーンコードリスト（検索用）.条件適用終了年月日 ← データ抽出項目一意照会マップ.データ抽出項目一意照会明細.条件適用終了年月日
				if (childMap != null)
				{
					subbean.sendMessageString("条件適用終了年月日", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("joken_tendymd"));
				}
				else
				{
					subbean.sendMessageString("条件適用終了年月日", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// その他キャンペーンコードリスト（検索用）.データ抽出項目適用開始年月日 ← データ抽出項目一意照会マップ.データ抽出項目一意照会明細.データ抽出項目適用開始年月日
				if (childMap != null)
				{
					subbean.sendMessageString("データ抽出項目適用開始年月日", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("dchskm_tstaymd"));
				}
				else
				{
					subbean.sendMessageString("データ抽出項目適用開始年月日", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// その他キャンペーンコードリスト（検索用）.データ抽出項目適用終了年月日 ← データ抽出項目一意照会マップ.データ抽出項目一意照会明細.データ抽出項目適用終了年月日
				if (childMap != null)
				{
					subbean.sendMessageString("データ抽出項目適用終了年月日", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("dchskm_tendymd"));
				}
				else
				{
					subbean.sendMessageString("データ抽出項目適用終了年月日", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// その他キャンペーンコードリスト（検索用）.汎用コード区分 ← 汎用コード区分 データ抽出項目
				subbean.sendMessageString(FUW00905SFConst.HANYO_CD_KBN_01, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.HANYO_SBT_CD_HANYO);
				// その他キャンペーンコードリスト（検索用）.表示用キャンペーンコード ← データ抽出項目一意照会マップ.データ抽出項目一意照会明細.表示用データ抽出項目コード
				if (childMap != null)
				{
					subbean.sendMessageString("表示用キャンペーンコード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("dsp_dchskm_cd"));
				}
				else
				{
					subbean.sendMessageString("表示用キャンペーンコード", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
			}
		}

		return bean;
	}
	
	//【ANK-2786-00-00】 訪販フロントシステムキャンペーンの追加 2016.03.22 FJ)中西 add start
	/**
	 * 下りマッピング  割引サービス一覧照会
	 * @param bean　[0]：メニュー（量販・訪販）
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getFUSV019902SC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{

		HashMap parentMap = null;
		if (outputMap.containsKey("FUSV019902SC"))
		{
			parentMap = (HashMap)outputMap.get("FUSV019902SC");
		}

		ArrayList childList = null;

		X31SDataBeanAccessArray listFUSV019902SC_other_cmp_cd_list_show_EKK0841A010CBSMsg1List = bean[0].getDataBeanArray("その他キャンペーンコードリスト（検索用）");
		childList = null;
		if (listFUSV019902SC_other_cmp_cd_list_show_EKK0841A010CBSMsg1List != null && parentMap != null
				&& parentMap.containsKey("EKK0841A010CBSMsg1List"))
		{
			childList = (ArrayList)parentMap.get("EKK0841A010CBSMsg1List");

			for (int i = 0; i < childList.size(); i++)
			{
				X31SDataBeanAccess subbean = null;

				subbean = listFUSV019902SC_other_cmp_cd_list_show_EKK0841A010CBSMsg1List.addDataBean();

				HashMap childMap = (HashMap)childList.get(i);
				if (subbean == null)
				{
					continue;
				}

				// その他キャンペーンコードリスト（検索用）.データ抽出項目コード ← 割引サービス一意照会マップ.割引サービス一意照会明細.割引サービスコード
				if (childMap != null)
				{
					subbean.sendMessageString("データ抽出項目コード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("wrib_svc_cd"));
				}
				else
				{
					subbean.sendMessageString("データ抽出項目コード", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// その他キャンペーンコードリスト（検索用）.データ抽出項目名 ← 割引サービス一意照会マップ.割引サービス一意照会明細.割引サービス名
				if (childMap != null)
				{
					subbean.sendMessageString("データ抽出項目名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("wrib_svc_nm"));
				}
				else
				{
					subbean.sendMessageString("データ抽出項目名", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// その他キャンペーンコードリスト（検索用）.設定可能開始年月日時分 ← 割引サービス一意照会マップ.割引サービス一意照会明細.受付開始年月日時分
				if (childMap != null)
				{
					subbean.sendMessageString("設定可能開始年月日時分", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("uk_sta_ymdhm"));
				}
				else
				{
					subbean.sendMessageString("設定可能開始年月日時分", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// その他キャンペーンコードリスト（検索用）.設定可能終了年月日時分 ← 割引サービス一意照会マップ.割引サービス一意照会明細.受付終了年月日時分
				if (childMap != null)
				{
					subbean.sendMessageString("設定可能終了年月日時分", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("uk_end_ymdhm"));
				}
				else
				{
					subbean.sendMessageString("設定可能終了年月日時分", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// その他キャンペーンコードリスト（検索用）.条件適用開始年月日 ← 割引サービス一意照会マップ.割引サービス一意照会明細.条件適用開始年月日
				if (childMap != null)
				{
					subbean.sendMessageString("条件適用開始年月日", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("joken_tstaymd"));
				}
				else
				{
					subbean.sendMessageString("条件適用開始年月日", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// その他キャンペーンコードリスト（検索用）.条件適用終了年月日 ← 割引サービス一意照会マップ.割引サービス一意照会明細.条件適用終了年月日
				if (childMap != null)
				{
					subbean.sendMessageString("条件適用終了年月日", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("joken_tendymd"));
				}
				else
				{
					subbean.sendMessageString("条件適用終了年月日", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// その他キャンペーンコードリスト（検索用）.汎用コード区分 ← 汎用コード区分 割引サービス 
				subbean.sendMessageString(FUW00905SFConst.HANYO_CD_KBN_01, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.HANYO_SBT_CD_WARIBIKI);
				// その他キャンペーンコードリスト（検索用）.表示用キャンペーンコード ← 割引サービス一意照会マップ.割引サービス一意照会明細.表示用キャンペーンコード
				if (childMap != null)
				{
					subbean.sendMessageString("表示用キャンペーンコード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("dsp_campaign_cd"));
				}
				else
				{
					subbean.sendMessageString("表示用キャンペーンコード", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
			}
		}

		return bean;
	}
	//【ANK-2786-00-00】 訪販フロントシステムキャンペーンの追加 2016.03.22 FJ)中西 add end

	/**
	 * 下りマッピング処理(データ抽出項目一覧照会（表示データ抽出項目ＣＤ）)です。
	 * <br>
	 * @param bean　[0]：メニュー（量販・訪販）
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getFUSV019903SC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{

		HashMap parentMap = null;
		if (outputMap.containsKey("FUSV019903SC"))
		{
			parentMap = (HashMap)outputMap.get("FUSV019903SC");
		}

		ArrayList childList = null;

		X31SDataBeanAccessArray otherCmpCdListSearch = bean[0].getDataBeanArray("その他キャンペーンコードリスト（検索用）");

		if (otherCmpCdListSearch != null && parentMap != null && parentMap.containsKey("EKK1351B501CBSMsg1List"))
		{
			childList = (ArrayList)parentMap.get("EKK1351B501CBSMsg1List");

			for (int i = 0; i < childList.size(); i++)
			{
				X31SDataBeanAccess subbean = null;
				if (otherCmpCdListSearch.getCount() - 1 >= i)
				{
					subbean = otherCmpCdListSearch.getDataBean(i);
				}
				else
				{
					subbean = otherCmpCdListSearch.addDataBean();
				}
				HashMap childMap = (HashMap)childList.get(i);
				if (subbean == null)
				{
					continue;
				}

				// その他キャンペーンコードリスト（検索用）.データ抽出項目コード
				if (childMap != null)
				{
					subbean.sendMessageString("データ抽出項目コード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("dchskm_cd"));
				}
				else
				{
					subbean.sendMessageString("データ抽出項目コード", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// その他キャンペーンコードリスト（検索用）.データ抽出項目名
				if (childMap != null)
				{
					subbean.sendMessageString("データ抽出項目名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("dchskm_nm"));
				}
				else
				{
					subbean.sendMessageString("データ抽出項目名", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// その他キャンペーンコードリスト（検索用）.設定可能開始年月日時分
				if (childMap != null)
				{
					subbean.sendMessageString("設定可能開始年月日時分", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("set_psb_sta_ymdhm"));
				}
				else
				{
					subbean.sendMessageString("設定可能開始年月日時分", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// その他キャンペーンコードリスト（検索用）.設定可能終了年月日時分
				if (childMap != null)
				{
					subbean.sendMessageString("設定可能終了年月日時分", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("set_psb_end_ymdhm"));
				}
				else
				{
					subbean.sendMessageString("設定可能終了年月日時分", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// その他キャンペーンコードリスト（検索用）.条件適用開始年月日
				if (childMap != null)
				{
					subbean.sendMessageString("条件適用開始年月日", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("joken_tstaymd"));
				}
				else
				{
					subbean.sendMessageString("条件適用開始年月日", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// その他キャンペーンコードリスト（検索用）.条件適用終了年月日
				if (childMap != null)
				{
					subbean.sendMessageString("条件適用終了年月日", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("joken_tendymd"));
				}
				else
				{
					subbean.sendMessageString("条件適用終了年月日", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// その他キャンペーンコードリスト（検索用）.データ抽出項目適用開始年月日
				if (childMap != null)
				{
					subbean.sendMessageString("データ抽出項目適用開始年月日", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("dchskm_tstaymd"));
				}
				else
				{
					subbean.sendMessageString("データ抽出項目適用開始年月日", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// その他キャンペーンコードリスト（検索用）.データ抽出項目適用終了年月日
				if (childMap != null)
				{
					subbean.sendMessageString("データ抽出項目適用終了年月日", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("dchskm_tendymd"));
				}
				else
				{
					subbean.sendMessageString("データ抽出項目適用終了年月日", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// その他キャンペーンコードリスト（検索用）.汎用コード区分 ← 汎用コード区分 データ抽出項目
				subbean.sendMessageString(FUW00905SFConst.HANYO_CD_KBN_01, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.HANYO_SBT_CD_HANYO);
				// その他キャンペーンコードリスト（検索用）.表示用キャンペーンコード
				if (childMap != null)
				{
					subbean.sendMessageString("表示用キャンペーンコード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("dsp_dchskm_cd"));
				}
				else
				{
					subbean.sendMessageString("表示用キャンペーンコード", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
			}
		}

		return bean;
	}

	//【ANK-2786-00-00】 訪販フロントシステムキャンペーンの追加 2016.03.22 FJ)中西 add start
	/**
	 * 下りマッピング処理(割引サービス一覧照会（基準年月日）)です。
	 * <br>
	 * @param bean　[0]：メニュー（量販・訪販）
	 * @param outputMap
	 * @param bl ビジネスロジック
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getFUSV019904SC(X31SDataBeanAccess[] bean, HashMap outputMap, X31BWebBusinessLogic bl)
	{

		HashMap parentMap = null;
		if (outputMap.containsKey("FUSV019904SC"))
		{
			parentMap = (HashMap)outputMap.get("FUSV019904SC");
		}

		// 年月日時分を取得
		String YMDhm = JFUWebCommon.getOpeDateTime(bl, null).substring(0, 8) + JFUStrConst.S_HHMMSS_MIN;
		ArrayList childList = null;

		X31SDataBeanAccessArray otherCmpCdListSearch = bean[0].getDataBeanArray("その他キャンペーンコードリスト（検索用）");

		if (otherCmpCdListSearch != null && parentMap != null && parentMap.containsKey("EKK0841B003CBSMsg1List"))
		{
			childList = (ArrayList)parentMap.get("EKK0841B003CBSMsg1List");

			for (int i = 0; i < childList.size(); i++)
			{
				X31SDataBeanAccess subbean = null;

				subbean = otherCmpCdListSearch.addDataBean();

				HashMap childMap = (HashMap)childList.get(i);
				if (subbean == null)
				{
					continue;
				}

				// その他キャンペーンコードリスト（検索用）.データ抽出項目コード
				if (childMap != null)
				{
					subbean.sendMessageString("データ抽出項目コード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("wrib_svc_cd"));
				}
				else
				{
					subbean.sendMessageString("データ抽出項目コード", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// その他キャンペーンコードリスト（検索用）.データ抽出項目名
				if (childMap != null)
				{
					subbean.sendMessageString("データ抽出項目名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("wrib_svc_nm"));
				}
				else
				{
					subbean.sendMessageString("データ抽出項目名", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}

				// ※基準日で検索するため、データがあれば適用可能ということなのでオンライン運用日を設定する(OUT項目にないため)
				// その他キャンペーンコードリスト（検索用）.設定可能開始年月日時分
				subbean.sendMessageString("設定可能開始年月日時分", X31CWebConst.DATABEAN_SET_VALUE, YMDhm);
				// その他キャンペーンコードリスト（検索用）.設定可能終了年月日時分
				subbean.sendMessageString("設定可能終了年月日時分", X31CWebConst.DATABEAN_SET_VALUE, YMDhm);
				// その他キャンペーンコードリスト（検索用）.条件適用開始年月日
				subbean.sendMessageString("条件適用開始年月日", X31CWebConst.DATABEAN_SET_VALUE, YMDhm);
				// その他キャンペーンコードリスト（検索用）.条件適用終了年月日
				subbean.sendMessageString("条件適用終了年月日", X31CWebConst.DATABEAN_SET_VALUE, YMDhm);

				// その他キャンペーンコードリスト（検索用）.汎用コード区分
				subbean.sendMessageString(FUW00905SFConst.HANYO_CD_KBN_01, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.HANYO_SBT_CD_WARIBIKI);
				// その他キャンペーンコードリスト（検索用）.表示用キャンペーンコード
				subbean.sendMessageString("表示用キャンペーンコード", X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("key_dsp_campaign_cd"));
			}
		}

		return bean;
	}
	//【ANK-2786-00-00】 訪販フロントシステムキャンペーンの追加 2016.03.22 FJ)中西 add end

	/**
	 * 表示用コード存在チェック処理です。
	 * 
	 * <br>
	 * @param bean サービスフォームBean
	 * @return
	 */
	private boolean chkDspCd(X31SDataBeanAccess bean)
	{
		boolean result = false;

		X31SDataBeanAccessArray selList =  bean.getDataBeanArray(FUW00905SFConst.OTHER_CMP_LIST_SELECT);
		X31SDataBeanAccess selBean = selList.getDataBean(0);

		int cnt = Integer.parseInt(String.valueOf(selBean.sendMessage(FUW00905SFConst.OTHER_DSP_CMP_CD_03, X31CWebConst.DATABEAN_GET_COUNT)));

		// 表示用コード
		String inDspCd = bean.sendMessageString(FUW00905SFConst.OTHER_DSP_CMP_CD, X31CWebConst.DATABEAN_GET_VALUE);

		for (int i = 0; i < cnt; i++)
		{
			String dspCd = selBean.sendMessageString(FUW00905SFConst.OTHER_DSP_CMP_CD_03, X31CWebConst.DATABEAN_GET_VALUE, i);
			String wribSvcCd = selBean.sendMessageString(FUW00905SFConst.OTHER_CMP_CD_03, X31CWebConst.DATABEAN_GET_VALUE, i);

			if(inDspCd.equals(dspCd))
			{
				// 存在する場合、TRUEで値を設定
				result = true;
				bean.sendMessageString(FUW00905SFConst.OTHER_CMP_CD, X31CWebConst.DATABEAN_SET_VALUE, wribSvcCd);

				break;
			}
		}

		return result;
	}
}