/*********************************************************************
*	All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名		：eo顧客基幹システム
*	モジュール名	：FUSV0240_FUSV0240OPDBMapper
*	ソースファイル名：FUSV0240_FUSV0240OPDBMapper.java
*	作成者			：富士通
*	日付			：2012年07月01日
*＜機能概要＞
*	BP（引越しナビ住所変更申込照会(初期表示)）へのＤ−Ｂマッピングクラスです。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v4.00   	2012/07/01	FJ)谷本 	新規作成
*	v4.01   	2012/11/07	FJ)谷本		変更【IT1-2012-0001896】
*   v8.00       2014/04/02  FJ)中谷     変更【OM-2014-0001340】住変確定後のプラン変更申込エラー対応
*   v17.0.0		2015/09/09  FJ)岡井		変更【ANK-2480-00-00】新電力対応：呼び出すサービスIFを追加
*   v32.0.0     2017/05/29  FJ)杉本 　　変更【ANK-3135-00-00】引越し受付画面への連絡用メールアドレス表示対応
*   v40.0.0     2018/12/10  FJ)中野     変更【ANK-3248-00-00】引越しNavi対応
*   v47.00      2020/01/08  FJ)西川     変更【ANK-3628-00-00】マンションタイプ引越しNaviのフォロー対応
*   v53.00      2021/04/01  FJ)張本     変更【ANK-3989-00-00】マンション光コンセント方式への5G・10Gコース追加
*   v56.00      2021/08/16  FJ)張本     変更【ANK-4038-00-00】【eo定期】光ローゼット化対応
*   v72.01      2024/12/04  FJ)余野木   変更【ANK-4610-00-00】【eo】引越しNaviへのアンケート項目追加対応
**********************************************************************/
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.JFUStrConst;
import eo.common.constant.JPCModelConstant;
import eo.web.webview.CommonInfoCF.CommonInfoCFConst;
import eo.web.webview.FUW10401SF.FUW10401SFConst;
import eo.web.webview.common.JFUWebCommon;

/**
 * DataBean-BPマッピングをします。
 *
 * @author 富士通
 */
public class FUSV0240_FUSV0240OPDBMapper
{

	/** 共有フォームBean */
	private static final int BEAN_COM_0 = 0;
	/** サービスフォームBean */
	private static final int BEAN_SF_1 = 1;

	/** 機能コード */
	private static final String FUNC_CODE = "func_code";

	/** 住所変更Web申込内容一覧照会 */
	private static final String SC_TITLE_FUSV024001 = "FUSV024001SC";
	// ANK-3135-00-00_引越し受付画面への連絡用メールアドレス表示 2017/05/29 ADD START
	/** お客様情報照会 */
	private static final String SC_TITLE_FUSV024002 = "FUSV024002SC";
	// ANK-3135-00-00_引越し受付画面への連絡用メールアドレス表示 2017/05/29 ADD END
	private static final String SC_TITLE_FUSV024003 = "FUSV024003SC";
	/** 引越しナビ住所変更申込関連チェックCC */
	private static final String CC_TITLE_FUSV024001 = "FUSV024001CC";
	/** コード名称管理一意照会CC */
	private static final String CC_TITLE_FUSV024002 = "FUSV024002CC";
	/** eo電気サービス契約一覧照会(サービス契約グループ設定番号)CC */
	private static final String CC_TITLE_FUSV024003 = "FUSV024003CC";
	/** ローゼット化設置済案件チェックCC */
	private static final String CC_TITLE_FUSV024004 = "FUSV024004CC";
	/** コード名称管理一意照会CC */
	private static final String CC_TITLE_FUSV024005 = "FUSV024005CC";

	// マップキー
	/** コード区分 */
	private static final String CD_DIV = "cd_div";
	/** コード区分名 */
	private static final String CD_DIV_NM = "cd_div_nm";
	/** 住所変更Web申込内容一覧照会明細 */
	private static final String EFU0281B010_LIST = "EFU0281B010CBSMsg1List";
	/** コード名称管理コード区分一覧照会明細 */
	private static final String EZM0171B012_LIST = "EZM0171B012CBSMsg1List";
	/** ＫＥＹ＿コード種別コード */
	private static final String KEY_CD_SBT_CD = "key_cd_sbt_cd";
	/** ＫＥＹ＿整理番号 */
	private static final String KEY_SEIRI_NO = "key_seiri_no";
	/** ＫＥＹ＿基準日 */
	private static final String KEY_STDARDYMD = "key_stdardymd";
	/** ＫＥＹ＿サービス契約回線内訳番号 */
	private static final String KEY_SVC_KEI_KAISEN_UCWK_NO = "key_svc_kei_kaisen_ucwk_no";
	/** ＫＥＹ＿サービス契約番号 */
	private static final String KEY_SVC_KEI_NO = "key_svc_kei_no";
	// ANK-3135-00-00_引越し受付画面への連絡用メールアドレス表示 2017/05/29 ADD START
	/** ＫＥＹ＿SYSID */
	private static final String KEY_SYSID = "key_sysid";
	// ANK-3135-00-00_引越し受付画面への連絡用メールアドレス表示 2017/05/29 ADD END
	/** 初期表示コード */
	private static final String SHK_DSP_CD = "shk_dsp_cd";
	/** Web申込受付年月日 */
	private static final String WEB_MSKM_UK_DTM = "web_mskm_uk_dtm";
	/** サービス契約グループ設定番号 */
	private static final String SVKEI_GRP_SETTE_NO = "svkei_grp_sette_no";
	/** サービス契約グループ種別コード */
	private static final String SVKEI_GRP_SBT_CD = "svkei_grp_sbt_cd";
	/** サービス契約番号 */
	private static final String SVC_KEI_NO = "svc_kei_no";
	/** ＫＥＹ＿世代登録年月日時分秒 */
	private static final String KEY_GENE_ADD_DTM = "key_gene_add_dtm";
	/** マンション物件コード */
	private static final String MANSION_BUKKEN_CD = "mansion_bukken_cd";
	/** サービス契約回線内訳番号 */
	private static final String SVC_KEI_KAISEN_UCWK_NO = "svc_kei_kaisen_ucwk_no";
	/** 異動区分 */
	private static final String IDO_DIV = "ido_div";
	/** チェック結果 */
	private static final String CHK_RESULT = "chk_result";
	/** 引越し元住居種別コード : ホーム */
	private static final String HKKS_MT_JKYO_SBT_CD_HT = "0";
	/** 引越し元住居種別コード : マンション */
	private static final String HKKS_MT_JKYO_SBT_CD_MT = "1";
	/** 引越し元住居種別コード : メゾン */
	private static final String HKKS_MT_JKYO_SBT_CD_MZ = "2";
	/** チェック結果 : 工事スキップ可 */
	private static final String CHK_RESULT_KA = "1";
	/** チェック結果 : 工事スキップ不可 */
	private static final String CHK_RESULT_FK = "2";

	/**
	 * コンストラクタ
	 */
	public FUSV0240_FUSV0240OPDBMapper()
	{
	}

	/**
	 * 上りマッピング処理です。
	 * <br>
	 * @param bean
	 * @param outputMap
	 * @return HashMap
	 */
	public HashMap<String, Object> setFUSV024001SC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共有フォームBean.サービス契約回線内訳情報
		X31SDataBeanAccess svcKeiKaisenUcwkInfoBean = JFUWebCommon.getDataBeanTypeByPath(bean[BEAN_COM_0], JFUWebCommon.SVC_KEI_KAISEN_UCWK_INFO);

		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, JPCModelConstant.FUNC_CD_1);

		// ＫＥＹ＿サービス契約回線内訳番号
		parentMap.put(KEY_SVC_KEI_KAISEN_UCWK_NO, svcKeiKaisenUcwkInfoBean.sendMessageString(CommonInfoCFConst.SVC_KEI_KAISEN_UCWK_NO_26,
				X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put(SC_TITLE_FUSV024001, parentMap);

		return outputMap;
	}

	// ANK-3135-00-00_引越し受付画面への連絡用メールアドレス表示 2017/05/29 ADD START
	/**
	 * 上りマッピング処理です。
	 * <br>
	 * @param bean
	 * @param outputMap
	 * @return HashMap
	 */
	public HashMap<String, Object> setFUSV024002SC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共有フォームBean.SSO情報
		X31SDataBeanAccess ssoInfoBean = JFUWebCommon.getDataBeanTypeByPath(bean[BEAN_COM_0], JFUWebCommon.SSO_INFO);


		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, JPCModelConstant.FUNC_CD_1);

		// ＫＥＹ＿SYSID
		parentMap.put(KEY_SYSID, ssoInfoBean.sendMessageString(CommonInfoCFConst.SYSID_21,
				X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put(SC_TITLE_FUSV024002, parentMap);

		return outputMap;
	}
	// ANK-3135-00-00_引越し受付画面への連絡用メールアドレス表示 2017/05/29 ADD END

	/**
	 * 上りマッピング処理です。
	 * <br>
	 * @param bean
	 * @param outputMap
	 * @return HashMap
	 */
	public HashMap<String, Object> setFUSV024003SC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共有フォームBean.SSO情報
		X31SDataBeanAccess svcKeiInfoBean = JFUWebCommon.getDataBeanTypeByPath(bean[BEAN_COM_0], JFUWebCommon.SVC_KEI_INFO);


		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, JPCModelConstant.FUNC_CD_1);

		// ＫＥＹ＿サービス契約番号
		parentMap.put(KEY_SVC_KEI_NO, svcKeiInfoBean.sendMessageString(CommonInfoCFConst.SVC_KEI_NO_23, X31CWebConst.DATABEAN_GET_VALUE));

		// ＫＥＹ＿世代登録年月日時分秒
		parentMap.put(KEY_GENE_ADD_DTM, svcKeiInfoBean.sendMessageString(CommonInfoCFConst.GENE_ADD_DTM_23, X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put(SC_TITLE_FUSV024003, parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピング処理です。
	 * <br>
	 * @param bean
	 * @param outputMap
	 * @return
	 */
	public HashMap<String, Object> setFUSV024001CC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{
		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共有フォームBean.サービス契約情報
		X31SDataBeanAccess svcKeiInfoBean = JFUWebCommon.getDataBeanTypeByPath(bean[BEAN_COM_0], JFUWebCommon.SVC_KEI_INFO);

		// ＫＥＹ＿サービス契約番号
		parentMap.put(KEY_SVC_KEI_NO, svcKeiInfoBean.sendMessageString(CommonInfoCFConst.SVC_KEI_NO_23, X31CWebConst.DATABEAN_GET_VALUE));
		// ＫＥＹ＿整理番号
		parentMap.put(KEY_SEIRI_NO, svcKeiInfoBean.sendMessageString(CommonInfoCFConst.SEIRI_NO_23, X31CWebConst.DATABEAN_GET_VALUE));

		// 共有フォームBean.サービス契約回線内訳情報
		X31SDataBeanAccess svcKeiKaisenUcwkInfoBean = JFUWebCommon.getDataBeanTypeByPath(bean[BEAN_COM_0], JFUWebCommon.SVC_KEI_KAISEN_UCWK_INFO);
		// ＫＥＹ＿サービス契約回線内訳番号
		parentMap.put(KEY_SVC_KEI_KAISEN_UCWK_NO, svcKeiKaisenUcwkInfoBean.sendMessageString(CommonInfoCFConst.SVC_KEI_KAISEN_UCWK_NO_26,
				X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put(CC_TITLE_FUSV024001, parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピング処理です。
	 * <br>
	 * @param bean
	 * @param outputMap
	 * @return
	 */
	public HashMap<String, Object> setFUSV024002CC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{
		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, JPCModelConstant.FUNC_CD_1);
		// ＫＥＹ＿コード種別コード
		parentMap.put(KEY_CD_SBT_CD, JFUStrConst.CD_SBT_CD00691); // "CD00691":府県コード
		// ＫＥＹ＿基準日
		parentMap.put(KEY_STDARDYMD, bean[BEAN_SF_1].sendMessageString(FUW10401SFConst.OPE_DATE, X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put(CC_TITLE_FUSV024002, parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピング処理です。
	 * <br>
	 * @param bean データBean
	 * @param outputMap 結果マップ
	 * @return 結果マップ
	 */
	public HashMap<String, Object> setFUSV024003CC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{
		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, JPCModelConstant.FUNC_CD_1);

		// 共有フォームBean.サービス契約回線内訳情報
		X31SDataBeanAccess svcKeiKaisenUcwkInfoBean = JFUWebCommon.getDataBeanTypeByPath(bean[BEAN_COM_0], JFUWebCommon.SVC_KEI_KAISEN_UCWK_INFO);

		// サービス契約グループ設定番号
		parentMap.put(SVKEI_GRP_SETTE_NO,
				svcKeiKaisenUcwkInfoBean.sendMessageString(CommonInfoCFConst.SVC_KEI_KAISEN_UCWK_NO_26, X31CWebConst.DATABEAN_GET_VALUE));
		// サービス契約グループ種別コード
		parentMap.put(SVKEI_GRP_SBT_CD, JFUStrConst.CD01674_01);

		outputMap.put(CC_TITLE_FUSV024003, parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピング処理です。
	 * <br>
	 * @param bean データBean
	 * @param outputMap 結果マップ
	 * @return 結果マップ
	 */
	@SuppressWarnings("unchecked")
	public HashMap<String, Object> setFUSV024004CC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{
		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, JPCModelConstant.FUNC_CD_1);

		// 共有フォームBean.サービス契約情報
		X31SDataBeanAccess svcKeiInfoBean = JFUWebCommon.getDataBeanTypeByPath(bean[BEAN_COM_0], JFUWebCommon.SVC_KEI_INFO);
		// 共有フォームBean.サービス契約回線内訳情報
		X31SDataBeanAccess svcKeiKaisenUcwkInfoBean = JFUWebCommon.getDataBeanTypeByPath(bean[BEAN_COM_0], JFUWebCommon.SVC_KEI_KAISEN_UCWK_INFO);

		// サービス契約番号
		parentMap.put(SVC_KEI_NO, svcKeiInfoBean.sendMessageString(CommonInfoCFConst.SVC_KEI_NO_23, X31CWebConst.DATABEAN_GET_VALUE));
		// サービス契約回線内訳番号
		parentMap.put(SVC_KEI_KAISEN_UCWK_NO, svcKeiKaisenUcwkInfoBean.sendMessageString(CommonInfoCFConst.SVC_KEI_KAISEN_UCWK_NO_26,
				X31CWebConst.DATABEAN_GET_VALUE));
		// 異動区分
		parentMap.put(IDO_DIV, JFUStrConst.CD00576_00019);

		outputMap.put(CC_TITLE_FUSV024004, parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピング処理です。
	 * <br>
	 * @param bean
	 * @param outputMap
	 * @return
	 */
	public HashMap<String, Object> setFUSV024005CC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{
		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, JPCModelConstant.FUNC_CD_1);
		// ＫＥＹ＿コード種別コード
		parentMap.put(KEY_CD_SBT_CD, JFUStrConst.CD_SBT_CD01857); // "CD01857":アンケートコード
		// ＫＥＹ＿基準日
		parentMap.put(KEY_STDARDYMD, bean[BEAN_SF_1].sendMessageString(FUW10401SFConst.OPE_DATE, X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put(CC_TITLE_FUSV024005, parentMap);

		return outputMap;
	}

	/**
	 * 下りマッピング処理です。
	 * <br>
	 * @param bean
	 * @param outputMap
	 * @return X31SDataBeanAccess
	 */
	public X31SDataBeanAccess getFUSV024001SC(X31SDataBeanAccess bean, HashMap outputMap)
	{

		HashMap parentMap = null;
		if (outputMap.containsKey(SC_TITLE_FUSV024001))
		{
			parentMap = (HashMap)outputMap.get(SC_TITLE_FUSV024001);
		}

		if (null != parentMap && parentMap.containsKey(EFU0281B010_LIST))
		{
			ArrayList childList = (ArrayList)parentMap.get(EFU0281B010_LIST);

			for (int i = 0; i < childList.size(); i++)
			{
				HashMap childMap = (HashMap)childList.get(i);

				if (childMap.containsKey(WEB_MSKM_UK_DTM))
				{
					// Web申込受付年月日時分秒
					bean.sendMessageString(FUW10401SFConst.INF_WEB_MSKM_UK_DTM, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap
							.get(WEB_MSKM_UK_DTM));
					break;
				}

			}
		}
		return bean;
	}

	/**
	 * 下りマッピング処理です。
	 * <br>
	 * @param bean
	 * @param outputMap
	 * @return X31SDataBeanAccess
	 */
	public X31SDataBeanAccess getFUSV024002CC(X31SDataBeanAccess bean, HashMap outputMap)
	{
		// プルダウンメニューを作成
		// 都道府県リスト
		X31SDataBeanAccessArray listArray = bean.getDataBeanArray(FUW10401SFConst.SRCH_FUKEN_LIST);
		listArray.clearArray();
		X31SDataBeanAccess listDataType = listArray.addDataBean();

		HashMap parentMap = (HashMap)outputMap.get(CC_TITLE_FUSV024002);

		ArrayList childList = (ArrayList)parentMap.get(EZM0171B012_LIST);

		for (int i = 0; i < childList.size(); i++)
		{
			HashMap<String, String> childMap = (HashMap)childList.get(i);

			// 府県リスト.府県コードリスト ← コード名称管理一意照会マップ.コード名称管理コード区分一覧照会明細.コード区分
			listDataType.sendMessageString(FUW10401SFConst.FUKEN_CODE_LIST_16, X31CWebConst.DATABEAN_ADD_VALUE, childMap.get(CD_DIV));
			// 府県リスト.府県名称リスト ← コード名称管理一意照会マップ.コード名称管理コード区分一覧照会明細.コード区分名
			listDataType.sendMessageString(FUW10401SFConst.FUKEN_NAME_LIST_16, X31CWebConst.DATABEAN_ADD_VALUE, childMap.get(CD_DIV_NM));

			// 初期表示
			if (JFUStrConst.CD00025_1.equals(childMap.get(SHK_DSP_CD)))
			{
				listDataType.sendMessageString(FUW10401SFConst.FUKEN_SELECT_16, X31CWebConst.DATABEAN_SET_VALUE, String.valueOf(i));
			}
		}

		return bean;
	}

	/**
	 * 下りマッピング処理です。
	 * <br>
	 * @param bean データBean
	 * @param outputMap 結果マップ
	 * @return データBean
	 */
	public X31SDataBeanAccess getFUSV024003CC(X31SDataBeanAccess bean, HashMap outputMap)
	{

		HashMap parentMap = null;
		if (outputMap.containsKey(CC_TITLE_FUSV024003))
		{
			parentMap = (HashMap)outputMap.get(CC_TITLE_FUSV024003);
		}

		if (parentMap != null && parentMap.size() > 0)
		{
			if (parentMap.containsKey(SVC_KEI_NO))
			{
				bean.sendMessageString(FUW10401SFConst.ELE_SVC_KEI_NO, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get(SVC_KEI_NO));
			}
		}

		return bean;
	}

	/**
	 * 下りマッピング処理です。
	 * <br>
	 * @param bean データBean
	 * @param outputMap 結果マップ
	 * @return データBean
	 */
	public X31SDataBeanAccess getFUSV024003SC(X31SDataBeanAccess bean, HashMap outputMap)
	{
		HashMap parentMap = null;

		if (outputMap.containsKey(SC_TITLE_FUSV024003))
		{
			parentMap = (HashMap)outputMap.get(SC_TITLE_FUSV024003);
		}

		if (parentMap != null)
		{
			if (parentMap.containsKey("EKK0861B002CBSMsg1List"))
			{
				ArrayList childList = (ArrayList)parentMap.get("EKK0861B002CBSMsg1List");

				if (childList.size() != 0 || !childList.isEmpty())
				{
					for (int i = 0; i < childList.size(); i++)
					{
						HashMap childMap = (HashMap)childList.get(0);

						if (childMap != null)
						{
							if (childMap.containsKey(MANSION_BUKKEN_CD))
							{
								// マンションの場合
								if (JFUStrConst.CD01228_001.equals(childMap.get(MANSION_BUKKEN_CD)))
								{
									bean.sendMessageString(FUW10401SFConst.HKKS_MT_JKYO_SBT_CD, X31CWebConst.DATABEAN_SET_VALUE, HKKS_MT_JKYO_SBT_CD_MT);

									// 引越し元マンションＩＤ
									bean.sendMessageString(FUW10401SFConst.HKKS_MT_MANSION_ID, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("mansion_id"));
									// 引越し元棟内速度コード
									bean.sendMessageString(FUW10401SFConst.HKKS_MT_TONAI_SPEED_CD, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("tonai_speed_cd"));
									// 引越し元提供方式パターンコード
									bean.sendMessageString(FUW10401SFConst.HKKS_MT_TK_HOSHIKI_PATTERN_CD, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("tk_hoshiki_pattern_cd"));
									// 引越し元光配線1Gのみフラグ
									bean.sendMessageString(FUW10401SFConst.HKKS_MT_HHS_1GONLY_FLG, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("hhs_1gonly_flg"));
								}
								// メゾンの場合
								else if (JFUStrConst.CD01228_002.equals(childMap.get(MANSION_BUKKEN_CD)))
								{
									bean.sendMessageString(FUW10401SFConst.HKKS_MT_JKYO_SBT_CD, X31CWebConst.DATABEAN_SET_VALUE, HKKS_MT_JKYO_SBT_CD_MZ);
								}
							}
						}
					}
				}
				else
				{
					// ホームの場合
					bean.sendMessageString(FUW10401SFConst.HKKS_MT_JKYO_SBT_CD, X31CWebConst.DATABEAN_SET_VALUE, HKKS_MT_JKYO_SBT_CD_HT);
				}
			}
		}

		return bean;
	}

	/**
	 * 下りマッピング処理です。
	 * <br>
	 * @param bean データBean
	 * @param outputMap 結果マップ
	 * @return データBean
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess getFUSV024004CC(X31SDataBeanAccess bean, HashMap outputMap)
	{

		HashMap parentMap = null;
		if (outputMap.containsKey(CC_TITLE_FUSV024004))
		{
			parentMap = (HashMap)outputMap.get(CC_TITLE_FUSV024004);
		}

		if (parentMap != null && parentMap.size() > 0)
		{
			if (parentMap.containsKey(CHK_RESULT))
			{
				String result = (String)parentMap.get(CHK_RESULT);
				// 工事スキップ可
				if (CHK_RESULT_KA.equals(result))
				{
					bean.sendMessageString(FUW10401SFConst.ITNM_ROZETT_STC_STAT_CD, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.CD00003_1);
				}
				// 工事スキップ不可
				else if (CHK_RESULT_FK.equals(result))
				{
					bean.sendMessageString(FUW10401SFConst.ITNM_ROZETT_STC_STAT_CD, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.CD00003_0);
				}
				// 以外
				else
				{
					bean.sendMessageString(FUW10401SFConst.ITNM_ROZETT_STC_STAT_CD, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
			}
		}

		return bean;
	}

	/**
	 * 下りマッピング処理です。
	 * <br>
	 * @param bean
	 * @param outputMap
	 * @return X31SDataBeanAccess
	 */
	public X31SDataBeanAccess getFUSV024005CC(X31SDataBeanAccess bean, HashMap outputMap)
	{
		// チェックリストを作成
		// アンケートリスト
		X31SDataBeanAccessArray listArray = bean.getDataBeanArray(FUW10401SFConst.ENQ_LIST);
		listArray.clearArray();

		HashMap parentMap = (HashMap)outputMap.get(CC_TITLE_FUSV024005);

		ArrayList childList = (ArrayList)parentMap.get(EZM0171B012_LIST);

		for (int i = 0; i < childList.size(); i++)
		{
			X31SDataBeanAccess listDataType = listArray.addDataBean();
			HashMap<String, String> childMap = (HashMap)childList.get(i);

			// アンケートリスト.アンケートコード ← コード名称管理一意照会マップ.コード名称管理コード区分一覧照会明細.コード区分
			listDataType.sendMessageString(FUW10401SFConst.ENQUETE_CD_52, X31CWebConst.DATABEAN_SET_VALUE, childMap.get(CD_DIV));
			// アンケートリスト.アンケート名 ← コード名称管理一意照会マップ.コード名称管理コード区分一覧照会明細.コード区分名
			listDataType.sendMessageString(FUW10401SFConst.ENQUETE_NM_52, X31CWebConst.DATABEAN_SET_VALUE, childMap.get(CD_DIV_NM));
		}

		return bean;
	}

}