/*********************************************************************
*	All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名		：eo顧客基幹システム
*	モジュール名	：FUSV0125_FUSV0125OPDBMapper
*	ソースファイル名：FUSV0125_FUSV0125OPDBMapper.java
*	作成者			：FJ
*	日付			：2012年05月16日
*＜機能概要＞
*	BP（eo光テレビ契約変更／照会メニュー（初期表示）OP）へのＤ−Ｂマッピングクラスです。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v1.00.00	2012/05/16	FJ			新規作成
*	v4.00		2012/08/21	FJ)岡井		【ANK-0324-00-00】オプションチャンネル申込の早期化について
*	v5.00		2013/03/27	FJ)美濃原	【IT1-2013-0000661】 BSパススルー表示制御
*	v5.00		2013/04/10	FJ)瀧澤		【IT1-2013-0000843】選択したCCASに紐付くオプションチャンネルが存在しない場合の表示方法変更
*	v5.00		2013/05/23	FJ)瀧澤		【ANK-1523-00-00】フロントSテレビキャンペーン対応について
*   v10.00.00   2014/07/08  FJ)西山     【ANK-2135-00-00】BSオプションチャンネル「スターチャンネル」とのセット割検討
*   v11.00      2014/09/10	FJ)文元     【ANK-2256-00-00】【ＮＯ．１６４８】フロントからテレビガイド誌を解約した際の解約月の仕様変
*   v74.00      2024/12/18  FJ）美濃原  【ANK-4592-00-00】テレビ新コース（スカパー用）導入対応
*
**********************************************************************/
package eo.web.webview.mapping;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.fujitsu.futurity.common.JCMConstants;
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.CommonInfoCF.CommonInfoCFConst;
import eo.web.webview.FUW09501SF.FUW09501SFConst;
import eo.web.webview.common.JFUWebCommon;

/**
 * DataBean-BPマッピングをする。
 *
 */
public class FUSV0125_FUSV0125OPDBMapper
{
	/** コース変更予約有無（サービス及び内訳） */
	private static final String TOTAL_RSV_STAT_CORSE = "total_rsv_stat_corse";
	/** ＳＴＢ追加変更予約有無（サービス） */
	private static final String TOTAL_RSV_STAT_STB = "total_rsv_stat_stb";
	/** ＢＳパススルー予約有無（回線） */
	private static final String TOTAL_RSV_STAT_BS = "total_rsv_stat_bs";
	/** コース変更予約有無 */
	private static final String RSV_STAT_CORSE = "rsv_stat_corse";
	/** ＳＴＢ変更予約有無 */
	private static final String RSV_STAT_STB = "rsv_stat_stb";
	/** 次月開始オプションチャンネル有無 */
	private static final String RSV_CHANNEL_NEXT = "rsv_channel_next";
	/** サービス契約回線内訳番号 */
	private static final String SVC_KEI_KAISEN_UCWK_NO = "svc_kei_kaisen_ucwk_no";

	/** サービス別宅内機器型式候補一覧照会 */
	private static final String FUSV012511_S_C = "FUSV012511SC";
	/** 異動予約一覧照会 */
	private static final String FUSV012512_S_C = "FUSV012512SC";	
	/** オプションチャンネル契約一覧照会（ＣＳコース） */
	private static final String FUSV012513_S_C = "FUSV012513SC";	
	/** ＫＥＹ＿料金コースコード */
	private static final String KEY_PCRS_CD = "key_pcrs_cd";
	/** 宅内機器種別コード */
	private static final String TAKNKIKI_SBT_CD = "taknkiki_sbt_cd";
	/** 表示順 */
	private static final String DSP_JUN = "dsp_jun";
	/** 宅内機器型式コード */
	private static final String TAKNKIKI_MODEL_CD = "taknkiki_model_cd";
	/** ＨＤＤ容量コード */
	private static final String HDD_CAPA_CD = "hdd_capa_cd";
	/** サービス別宅内機器型式候補一覧照会明細 */
	private static final String EKK1861_B001_C_B_S_MSG1_LIST = "EKK1861B001CBSMsg1List";

	/** 機能コード */
	private static final String FUNC_CODE = "func_code";

	/** 上りマッピング時に引数となるBeanの配列要素数 */
	public static final int UP_MAPPING_BEANELEM_CNT = 2;

	/** Mapキー：ＫＥＹ＿サービス契約番号 */
	private static final String MAP_KEY_CMP_SVC_KEI_NO = "key_svc_kei_no_cmp";
	/** IN項目: ＫＥＹ＿割引サービスコード */
	protected static final String IN_PARAM_CMP_KEY_WRIB_SVC_CD = "key_wrib_svc_cd";
	/** Mapキー：ＫＥＹ＿割引サービス適用条件種別コードリスト */
	private static final String MAP_KEY_CMP_WRSV_APLY_SBT_LIST = "key_wrsv_aply_jkn_sbt_cd_list_cmp";
	/** CCタイトル：キャンペーン文言一覧照会処理 */
	private static final String CC_TITLE_FUSV012501CC = "FUSV012501CC";

	/** CCタイトル：テレビコース名表示切替コモンコンポーネント処理 */
	private static final String CC_TITLE_FUSV012502CC = "FUSV012502CC";
	// ■ IN項目ID ■
	/** IN項目ID：サービス契約番号 */
	private static final String KEY_SVC_KEI_NO = "key_svc_kei_no";
	/** IN項目ID：サービス契約内訳番号 */
	private static final String KEY_SVC_KEI_UCWK_NO = "key_svc_kei_ucwk_no";

	/** CCタイトル：異動予約取得コモンコンポーネント処理 */
	private static final String CC_TITLE_FUSV012503CC = "FUSV012503CC";

	/** 契約状態フラグ:1 */
	private static final String KEI_STAT_FLG_1 = "1";

	/**
	 * コンストラクタ
	 */
	public FUSV0125_FUSV0125OPDBMapper()
	{
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：ｅｏ光テレビ契約変更／照会メニュー [1]:共有フォームBeanを格納した配列
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV012501SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{

		if (bean == null)
		{
			return null;
		}

		if (bean.length != UP_MAPPING_BEANELEM_CNT)
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, func_code);

		// サービス契約番号 → ＳＴＢ＿機器提供サービス契約一覧照会マップ.ＫＥＹ＿サービス契約番号
		parentMap.put("key_svc_kei_no", bean[0].sendMessageString("サービス契約番号", X31CWebConst.DATABEAN_GET_VALUE));
		// 機器提供サービス契約番号 → ＳＴＢ＿機器提供サービス契約一覧照会マップ.ＫＥＹ＿機器提供サービス契約番号
		parentMap.put("key_kktk_svc_kei_no", bean[0].sendMessageString("機器提供サービス契約番号", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("FUSV012501SC", parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：ｅｏ光テレビ契約変更／照会メニュー [1]:共有フォームBeanを格納した配列
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV012502SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{

		if (bean == null)
		{
			return null;
		}

		if (bean.length != UP_MAPPING_BEANELEM_CNT)
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, func_code);

		// サービス契約番号 → ＶＯＮＵ＿機器提供サービス契約一覧照会マップ.ＫＥＹ＿サービス契約番号
		parentMap.put("key_svc_kei_no", bean[0].sendMessageString("サービス契約番号", X31CWebConst.DATABEAN_GET_VALUE));
		// ＶＯＮＵ用の機器提供サービス契約番号を取得
		String kktkSvcKeiNoVonu = bean[0].sendMessageString("機器提供サービス契約番号", X31CWebConst.DATABEAN_GET_VALUE);
		if (JFUWebCommon.isNull(kktkSvcKeiNoVonu))
		{
			// 機器提供サービス契約番号 → ＶＯＮＵ＿機器提供サービス契約一覧照会マップ.ＫＥＹ＿機器提供サービス契約番号
			parentMap.put("key_kktk_svc_kei_no", JFUStrConst.VONU_DAITAI_KKTK_SVKEI_NO);
		}
		else
		{
			// 機器提供サービス契約番号 → ＶＯＮＵ＿機器提供サービス契約一覧照会マップ.ＫＥＹ＿機器提供サービス契約番号
			parentMap.put("key_kktk_svc_kei_no", kktkSvcKeiNoVonu);
		}

		outputMap.put("FUSV012502SC", parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：ｅｏ光テレビ契約変更／照会メニュー [1]:共有フォームBeanを格納した配列
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV012503SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{

		if (bean == null)
		{
			return null;
		}

		if (bean.length != UP_MAPPING_BEANELEM_CNT)
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, func_code);

		// サービス契約番号 → サービス契約一覧照会マップ.ＫＥＹ＿サービス契約番号
		parentMap.put("key_svc_kei_no", bean[0].sendMessageString("サービス契約番号", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("FUSV012503SC", parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：ｅｏ光テレビ契約変更／照会メニュー [1]:共有フォームBeanを格納した配列
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV012504SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{

		if (bean == null)
		{
			return null;
		}

		if (bean.length != UP_MAPPING_BEANELEM_CNT)
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, func_code);

		// サービス契約番号 → サービス契約内訳一覧照会マップ.ＫＥＹ＿サービス契約番号
		parentMap.put("key_svc_kei_no", bean[0].sendMessageString("サービス契約番号", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("FUSV012504SC", parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：ｅｏ光テレビ契約変更／照会メニュー [1]:共有フォームBeanを格納した配列
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV012505SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{

		if (bean == null)
		{
			return null;
		}

		if (bean.length != UP_MAPPING_BEANELEM_CNT)
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, func_code);

		// サービス契約番号 → オプションチャンネル契約一覧照会マップ.ＫＥＹ＿サービス契約番号
		parentMap.put("key_svc_kei_no", bean[0].sendMessageString("サービス契約番号", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("FUSV012505SC", parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：ｅｏ光テレビ契約変更／照会メニュー [1]:共有フォームBeanを格納した配列
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV012506SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{

		if (bean == null)
		{
			return null;
		}

		if (bean.length != UP_MAPPING_BEANELEM_CNT)
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, func_code);

		// サービス契約番号 → オプションサービス契約＜TV＞一覧照会（ガイド誌）マップ.ＫＥＹ＿サービス契約番号
		parentMap.put("key_svc_kei_no", bean[0].sendMessageString("サービス契約番号", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("FUSV012506SC", parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：ｅｏ光テレビ契約変更／照会メニュー [1]:共有フォームBeanを格納した配列
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV012507SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{

		if (bean == null)
		{
			return null;
		}

		if (bean.length != UP_MAPPING_BEANELEM_CNT)
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, func_code);

		// マンション物件番号 → マンション物件一意照会マップ.ＫＥＹ＿マンション物件番号
		parentMap.put("key_mansion_bukken_no", bean[0].sendMessageString("マンション物件番号", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("FUSV012507SC", parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：ｅｏ光テレビ契約変更／照会メニュー [1]:共有フォームBeanを格納した配列
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV012508SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{

		if (bean == null)
		{
			return null;
		}

		if (bean.length != UP_MAPPING_BEANELEM_CNT)
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, func_code);

		// 宅内機器型式コード → 宅内機器型式一意照会マップ.ＫＥＹ＿宅内機器型式コード
		parentMap.put("key_taknkiki_model_cd", bean[0].sendMessageString("宅内機器型式コード", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("FUSV012508SC", parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：ｅｏ光テレビ契約変更／照会メニュー [1]:共有フォームBeanを格納した配列
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV012509SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code, HashMap<String, String> stbidList)
	{

		if (bean == null)
		{
			return null;
		}

		if (bean.length != UP_MAPPING_BEANELEM_CNT)
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, func_code);

		// 機器製造番号 → 宅内機器一意照会マップ.ＫＥＹ＿機器製造番号
		String kkSeizoNo = bean[0].sendMessageString("機器製造番号", X31CWebConst.DATABEAN_GET_VALUE);
		parentMap.put("key_kiki_seizo_no", kkSeizoNo);
		
		if (null != stbidList && 0 != stbidList.size())
		{
			String tkMdlCd = (String)stbidList.get(kkSeizoNo);
			// 機器製造番号 → 宅内機器一意照会マップ.ＫＥＹ＿宅内機器型式コード
			parentMap.put("key_tk_mdl_cd", tkMdlCd);
		}

		
		outputMap.put("FUSV012509SC", parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：ｅｏ光テレビ契約変更／照会メニュー [1]:共有フォームBeanを格納した配列
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV012511SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{

		// EKK1861B001 サービス別宅内機器型式候補一覧照会
		if (bean == null)
		{
			return null;
		}

		if (bean.length != UP_MAPPING_BEANELEM_CNT)
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, func_code);

		// サービス契約.料金コースコード → サービス別宅内機器型式候補一覧照会マップ.ＫＥＹ＿料金コースコード
		parentMap.put(KEY_PCRS_CD, bean[1].getDataBeanArray(JFUWebCommon.SVC_KEI_INFO).getDataBean(0).sendMessageString(
				CommonInfoCFConst.PCRS_CD_23, X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put(FUSV012511_S_C, parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：ｅｏ光テレビ契約変更／照会メニュー [1]:共有フォームBeanを格納した配列
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV012512SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{

		if (bean == null)
		{
			return null;
		}

		if (bean.length != UP_MAPPING_BEANELEM_CNT)
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(JCMConstants.FUNC_CODE_KEY, func_code);

		// サービス契約番号 → 異動予約一覧照会マップ.ＫＥＹ＿サービス契約番号
		parentMap.put(KEY_SVC_KEI_NO, bean[1].getDataBeanArray(JFUWebCommon.SVC_KEI_INFO).getDataBean(0).sendMessageString(
				CommonInfoCFConst.SVC_KEI_NO_23, X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put(FUSV012512_S_C, parentMap);

		return outputMap;
	}

	/**
	 * 【EKK0351B523_オプションチャンネル契約一覧照会（ＣＳコース）】上りマッピングをする
	 * @param bean　[0]：ｅｏ光テレビ契約変更／照会メニュー [1]:共有フォームBeanを格納した配列
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV012513SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{

		if (bean == null)
		{
			return null;
		}

		if (bean.length != UP_MAPPING_BEANELEM_CNT)
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(JCMConstants.FUNC_CODE_KEY, func_code);

		// サービス契約番号 → オプションチャンネル契約一覧照会マップ.ＫＥＹ＿サービス契約番号
		parentMap.put(KEY_SVC_KEI_NO, bean[1].getDataBeanArray(JFUWebCommon.SVC_KEI_INFO).getDataBean(0).sendMessageString(
				CommonInfoCFConst.SVC_KEI_NO_23, X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put(FUSV012513_S_C, parentMap);

		return outputMap;
	}

	/**
	 * キャンペーン文言一覧照会CCの上りマッピングを行う処理です。
	 *
	 * <br>
	 * @param bean [0]:サービスフォームBean [1]:共有フォームBeanを格納した配列
	 * @param outputMap マッピング結果
	 * @param bsptWribSvcCd　BSパススルー 割引サービスコード
	 * @return outputMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV012501CC(X31SDataBeanAccess[] bean, HashMap outputMap, String bsptWribSvcCd)
	{

		if (bean == null)
		{
			return null;
		}

		if (bean.length != UP_MAPPING_BEANELEM_CNT)
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// サービス契約番号 → 割引サービス提供条件一覧照会マップ.ＫＥＹ＿サービス契約番号
		parentMap.put(MAP_KEY_CMP_SVC_KEI_NO, bean[1].getDataBeanArray(JFUWebCommon.SVC_KEI_INFO).getDataBean(0).sendMessageString(
				CommonInfoCFConst.SVC_KEI_NO_23, X31CWebConst.DATABEAN_GET_VALUE));
		// ＫＥＹ＿割引サービス適用条件種別コードリストの作成
		List<Map<String, String>> wrsvAplyJknSbtCdList = new ArrayList<Map<String, String>>();
		// ＢＳパススルー
		Map<String, String> bsptWrsvAplyJknSbtCdMap = new HashMap<String, String>();
		bsptWrsvAplyJknSbtCdMap.put(IN_PARAM_CMP_KEY_WRIB_SVC_CD, bsptWribSvcCd);
		wrsvAplyJknSbtCdList.add(bsptWrsvAplyJknSbtCdMap);
		// ＫＥＹ＿割引サービス適用条件種別コードリストとしてセット
		parentMap.put(MAP_KEY_CMP_WRSV_APLY_SBT_LIST, wrsvAplyJknSbtCdList);

		// 返却用のマップにセット
		outputMap.put(CC_TITLE_FUSV012501CC, parentMap);

		return outputMap;
	}

	/**
	 * テレビコース名表示切替CCの上りマッピングを行う処理です。
	 *
	 * <br>
	 * @param bean [0]:サービスフォームBean [1]:共有フォームBeanを格納した配列
	 * @param outputMap マッピング結果
	 * @return outputMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV012502CC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{

		if (bean == null)
		{
			return null;
		}

		if (bean.length != UP_MAPPING_BEANELEM_CNT)
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// サービス契約番号 → テレビコース名表示切替マップ.ＫＥＹ＿サービス契約番号
		parentMap.put(KEY_SVC_KEI_NO, bean[0].sendMessageString(FUW09501SFConst.SVC_KEI_NO, X31CWebConst.DATABEAN_GET_VALUE));

		// サービス契約内訳番号 → テレビコース名表示切替マップ.ＫＥＹ＿サービス契約内訳番号
		parentMap.put(KEY_SVC_KEI_UCWK_NO, bean[0].sendMessageString(FUW09501SFConst.SVC_KEI_UCWK_NO, X31CWebConst.DATABEAN_GET_VALUE));

		// 返却用のマップにセット
		outputMap.put(CC_TITLE_FUSV012502CC, parentMap);

		return outputMap;
	}

	/**
	 * 異動予約取得CCの上りマッピングを行う処理です。
	 *
	 * <br>
	 * @param bean [0]:サービスフォームBean [1]:共有フォームBeanを格納した配列
	 * @param outputMap マッピング結果
	 * @return outputMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV012503CC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{

		if (bean == null)
		{
			return null;
		}

		if (bean.length != UP_MAPPING_BEANELEM_CNT)
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// サービス契約番号 → テレビコース名表示切替マップ.ＫＥＹ＿サービス契約番号
		parentMap.put(KEY_SVC_KEI_NO, bean[0].sendMessageString(FUW09501SFConst.SVC_KEI_NO, X31CWebConst.DATABEAN_GET_VALUE));

		// サービス契約内訳番号 → テレビコース名表示切替マップ.ＫＥＹ＿サービス契約内訳番号
		parentMap.put(KEY_SVC_KEI_UCWK_NO, bean[0].sendMessageString(FUW09501SFConst.SVC_KEI_UCWK_NO, X31CWebConst.DATABEAN_GET_VALUE));

		// 返却用のマップにセット
		outputMap.put(CC_TITLE_FUSV012503CC, parentMap);

		return outputMap;
	}

	/**
	 * 下りマッピング
	 * @param bean　[0]：ｅｏ光テレビ契約変更／照会メニュー
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getFUSV012501SC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{

		HashMap parentMap = null;
		if (outputMap.containsKey("FUSV012501SC"))
		{
			parentMap = (HashMap)outputMap.get("FUSV012501SC");
		}

		ArrayList childList = null;

		X31SDataBeanAccessArray listFUSV012501SC_all_stb_list_EKK0341B509CBSMsg1List = bean[0].getDataBeanArray("全機器リスト");
		childList = null;
		if (listFUSV012501SC_all_stb_list_EKK0341B509CBSMsg1List != null && parentMap != null && parentMap.containsKey("EKK0341B509CBSMsg1List"))
		{
			childList = (ArrayList)parentMap.get("EKK0341B509CBSMsg1List");

			for (int i = 0; i < childList.size(); i++)
			{
				X31SDataBeanAccess subbean = null;
				if (listFUSV012501SC_all_stb_list_EKK0341B509CBSMsg1List.getCount() - 1 >= i)
				{
					subbean = listFUSV012501SC_all_stb_list_EKK0341B509CBSMsg1List.getDataBean(i);
				}
				else
				{
					subbean = listFUSV012501SC_all_stb_list_EKK0341B509CBSMsg1List.addDataBean();
				}
				HashMap childMap = (HashMap)childList.get(i);
				if (subbean == null)
				{
					continue;
				}

				// 全機器リスト.機器提供サービス契約番号 ← ＳＴＢ＿機器提供サービス契約一覧照会マップ.機器提供サービス契約一覧照会明細.機器提供サービス契約番号
				if (childMap != null)
				{
					subbean.sendMessageString("機器提供サービス契約番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("kktk_svc_kei_no"));
				}
				else
				{
					subbean.sendMessageString("機器提供サービス契約番号", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 全機器リスト.世代登録年月日時分秒 ← ＳＴＢ＿機器提供サービス契約一覧照会マップ.機器提供サービス契約一覧照会明細.世代登録年月日時分秒
				if (childMap != null)
				{
					subbean.sendMessageString("世代登録年月日時分秒", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("gene_add_dtm"));
				}
				else
				{
					subbean.sendMessageString("世代登録年月日時分秒", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 全機器リスト.機器提供サービスコード ← ＳＴＢ＿機器提供サービス契約一覧照会マップ.機器提供サービス契約一覧照会明細.機器提供サービスコード
				if (childMap != null)
				{
					subbean.sendMessageString("機器提供サービスコード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("kktk_svc_cd"));
				}
				else
				{
					subbean.sendMessageString("機器提供サービスコード", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 全機器リスト.機器製造番号 ← ＳＴＢ＿機器提供サービス契約一覧照会マップ.機器提供サービス契約一覧照会明細.機器製造番号
				if (childMap != null)
				{
					subbean.sendMessageString("機器製造番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("kiki_seizo_no"));
				}
				else
				{
					subbean.sendMessageString("機器製造番号", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 全機器リスト.サービス契約番号 ← ＳＴＢ＿機器提供サービス契約一覧照会マップ.機器提供サービス契約一覧照会明細.サービス契約番号
				if (childMap != null)
				{
					subbean.sendMessageString("サービス契約番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("svc_kei_no"));
				}
				else
				{
					subbean.sendMessageString("サービス契約番号", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 全機器リスト.サービス契約内訳番号 ← ＳＴＢ＿機器提供サービス契約一覧照会マップ.機器提供サービス契約一覧照会明細.サービス契約内訳番号
				if (childMap != null)
				{
					subbean.sendMessageString("サービス契約内訳番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("svc_kei_ucwk_no"));
				}
				else
				{
					subbean.sendMessageString("サービス契約内訳番号", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 全機器リスト.機器提供サービス契約ステータス ← ＳＴＢ＿機器提供サービス契約一覧照会マップ.機器提供サービス契約一覧照会明細.機器提供サービス契約ステータス
				if (childMap != null)
				{
					subbean.sendMessageString("機器提供サービス契約ステータス", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("kktk_svc_kei_stat"));
				}
				else
				{
					subbean.sendMessageString("機器提供サービス契約ステータス", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 全機器リスト.契約状態フラグ ← ＳＴＢ＿機器提供サービス契約一覧照会マップ.機器提供サービス契約一覧照会明細.契約状態フラグ
				if (childMap != null)
				{
					subbean.sendMessageString("契約状態フラグ", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("status_flg"));
				}
				else
				{
					subbean.sendMessageString("契約状態フラグ", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 全機器リスト.料金コースコード ← ＳＴＢ＿機器提供サービス契約一覧照会マップ.機器提供サービス契約一覧照会明細.料金コースコード
				if (childMap != null)
				{
					subbean.sendMessageString("料金コースコード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("pcrs_cd"));
				}
				else
				{
					subbean.sendMessageString("料金コースコード", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 全機器リスト.料金コースコード名 ← ＳＴＢ＿機器提供サービス契約一覧照会マップ.機器提供サービス契約一覧照会明細.料金コースコード名
				if (childMap != null)
				{
					subbean.sendMessageString("料金コースコード名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("pcrs_cd_nm"));
				}
				else
				{
					subbean.sendMessageString("料金コースコード名", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 全機器リスト.料金プランコード ← ＳＴＢ＿機器提供サービス契約一覧照会マップ.機器提供サービス契約一覧照会明細.料金プランコード
				if (childMap != null)
				{
					subbean.sendMessageString("料金プランコード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("pplan_cd"));
				}
				else
				{
					subbean.sendMessageString("料金プランコード", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 全機器リスト.宅内機器型式コード ← ＳＴＢ＿機器提供サービス契約一覧照会マップ.機器提供サービス契約一覧照会明細.宅内機器型式コード
				if (childMap != null)
				{
					subbean.sendMessageString("宅内機器型式コード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get(TAKNKIKI_MODEL_CD));
				}
				else
				{
					subbean.sendMessageString("宅内機器型式コード", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 全機器リスト.異動区分 ← ＳＴＢ＿機器提供サービス契約一覧照会マップ.機器提供サービス契約一覧照会明細.異動区分
				if (childMap != null)
				{
					subbean.sendMessageString("異動区分", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("ido_div"));
				}
				else
				{
					subbean.sendMessageString("異動区分", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 全機器リスト.提供方式契約番号 ← ＳＴＢ＿機器提供サービス契約一覧照会マップ.機器提供サービス契約一覧照会明細.提供方式契約番号
				if (childMap != null)
				{
					subbean.sendMessageString("提供方式契約番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("tk_hoshiki_kei_no"));
				}
				else
				{
					subbean.sendMessageString("提供方式契約番号", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 全機器リスト.ＨＤＤ容量コード ← ＳＴＢ＿機器提供サービス契約一覧照会マップ.機器提供サービス契約一覧照会明細.ＨＤＤ容量コード
				if (childMap != null)
				{
					subbean.sendMessageString("ＨＤＤ容量コード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get(HDD_CAPA_CD));
				}
				else
				{
					subbean.sendMessageString("ＨＤＤ容量コード", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 全機器リスト.ＨＤＤ容量コード名 ← ＳＴＢ＿機器提供サービス契約一覧照会マップ.機器提供サービス契約一覧照会明細.ＨＤＤ容量コード名
				if (childMap != null)
				{
					subbean.sendMessageString("ＨＤＤ容量コード名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("hdd_capa_cd_nm"));
				}
				else
				{
					subbean.sendMessageString("ＨＤＤ容量コード名", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 全機器リスト.機器提供種別コード ← ＳＴＢ＿機器提供サービス契約一覧照会マップ.機器提供サービス契約一覧照会明細.機器提供種別コード
				if (childMap != null)
				{
					subbean.sendMessageString("機器提供種別コード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("kktk_sbt_cd"));
				}
				else
				{
					subbean.sendMessageString("機器提供種別コード", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 全機器リスト.宅内機器種別コード ← ＳＴＢ＿機器提供サービス契約一覧照会マップ.機器提供サービス契約一覧照会明細.宅内機器種別コード
				if (childMap != null)
				{
					subbean.sendMessageString("宅内機器種別コード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get(TAKNKIKI_SBT_CD));
				}
				else
				{
					subbean.sendMessageString("宅内機器種別コード", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 全機器リスト.違約金発生コード ← ＳＴＢ＿機器提供サービス契約一覧照会マップ.機器提供サービス契約一覧照会明細.違約金発生コード
				if (childMap != null)
				{
					subbean.sendMessageString("違約金発生コード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("pnlty_hassei_cd"));
				}
				else
				{
					subbean.sendMessageString("違約金発生コード", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 全機器リスト.機器変更番号 ← ＳＴＢ＿機器提供サービス契約一覧照会マップ.機器提供サービス契約一覧照会明細.機器変更番号
				if (childMap != null)
				{
					subbean.sendMessageString("機器変更番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("kiki_chg_no"));
				}
				else
				{
					subbean.sendMessageString("機器変更番号", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 全機器リスト.機器変更理由コード ← ＳＴＢ＿機器提供サービス契約一覧照会マップ.機器提供サービス契約一覧照会明細.機器変更理由コード
				if (childMap != null)
				{
					subbean.sendMessageString("機器変更理由コード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("kiki_chg_rsn_cd"));
				}
				else
				{
					subbean.sendMessageString("機器変更理由コード", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 全機器リスト.予約中料金コースコード ← ＳＴＢ＿機器提供サービス契約一覧照会マップ.機器提供サービス契約一覧照会明細.予約中料金コースコード
				if (childMap != null)
				{
					subbean.sendMessageString("予約中料金コースコード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("rsv_pcrs_cd"));
				}
				else
				{
					subbean.sendMessageString("予約中料金コースコード", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 全機器リスト.予約中料金コースコード名 ← ＳＴＢ＿機器提供サービス契約一覧照会マップ.機器提供サービス契約一覧照会明細.予約中料金コースコード名
				if (childMap != null)
				{
					subbean.sendMessageString("予約中料金コースコード名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("rsv_pcrs_cd_nm"));
				}
				else
				{
					subbean.sendMessageString("予約中料金コースコード名", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 全機器リスト.予約中料金プランコード ← ＳＴＢ＿機器提供サービス契約一覧照会マップ.機器提供サービス契約一覧照会明細.予約中料金プランコード
				if (childMap != null)
				{
					subbean.sendMessageString("予約中料金プランコード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("rsv_pplan_cd"));
				}
				else
				{
					subbean.sendMessageString("予約中料金プランコード", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 全機器リスト.予約中ＨＤＤ容量コード ← ＳＴＢ＿機器提供サービス契約一覧照会マップ.機器提供サービス契約一覧照会明細.予約中ＨＤＤ容量コード
				if (childMap != null)
				{
					subbean.sendMessageString("予約中ＨＤＤ容量コード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("rsv_hdd_capa_cd"));
				}
				else
				{
					subbean.sendMessageString("予約中ＨＤＤ容量コード", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 全機器リスト.予約中ＨＤＤ容量コード名 ← ＳＴＢ＿機器提供サービス契約一覧照会マップ.機器提供サービス契約一覧照会明細.予約中ＨＤＤ容量コード名
				if (childMap != null)
				{
					subbean.sendMessageString("予約中ＨＤＤ容量コード名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("rsv_hdd_capa_cd_nm"));
				}
				else
				{
					subbean.sendMessageString("予約中ＨＤＤ容量コード名", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 全機器リスト.異動予約番号 ← ＳＴＢ＿機器提供サービス契約一覧照会マップ.機器提供サービス契約一覧照会明細.異動予約番号
				if (childMap != null)
				{
					subbean.sendMessageString("異動予約番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("ido_rsv_no"));
				}
				else
				{
					subbean.sendMessageString("異動予約番号", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 全機器リスト.異動予約詳細コード ← ＳＴＢ＿機器提供サービス契約一覧照会マップ.機器提供サービス契約一覧照会明細.異動予約詳細コード
				if (childMap != null)
				{
					subbean.sendMessageString("異動予約詳細コード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("ido_rsv_dtl_cd"));
				}
				else
				{
					subbean.sendMessageString("異動予約詳細コード", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 全機器リスト.予約適用年月日（異動予約） ← ＳＴＢ＿機器提供サービス契約一覧照会マップ.機器提供サービス契約一覧照会明細.予約適用年月日（異動予約）
				if (childMap != null)
				{
					subbean.sendMessageString("予約適用年月日（異動予約）", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("ido_rsv_aply_ymd"));
				}
				else
				{
					subbean.sendMessageString("予約適用年月日（異動予約）", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}

				// 全機器リスト.サービス契約回線内訳番号 ← ＳＴＢ＿機器提供サービス契約一覧照会マップ.サービス契約回線内訳番号
				if (childMap != null)
				{
					subbean.sendMessageString(FUW09501SFConst.SVC_KEI_KAISEN_UCWK_NO_03, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get(SVC_KEI_KAISEN_UCWK_NO));
				}
				else
				{
					subbean.sendMessageString(FUW09501SFConst.SVC_KEI_KAISEN_UCWK_NO_03, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 全機器リスト.次月開始オプションチャンネル有無 ← ＳＴＢ＿機器提供サービス契約一覧照会マップ.次月開始オプションチャンネル有無
				if (childMap != null)
				{
					subbean.sendMessageString(FUW09501SFConst.RSV_CHANNEL_NEXT_03, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get(RSV_CHANNEL_NEXT));
				}
				else
				{
					subbean.sendMessageString(FUW09501SFConst.RSV_CHANNEL_NEXT_03, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 全機器リスト.ＳＴＢ変更予約有無 ← ＳＴＢ＿機器提供サービス契約一覧照会マップ.ＳＴＢ変更予約有無
				if (childMap != null)
				{
					subbean.sendMessageString(FUW09501SFConst.RSV_STAT_STB_03, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get(RSV_STAT_STB));
				}
				else
				{
					subbean.sendMessageString(FUW09501SFConst.RSV_STAT_STB_03, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 全機器リスト.コース変更予約有無 ← ＳＴＢ＿機器提供サービス契約一覧照会マップ.コース変更予約有無
				if (childMap != null)
				{
					subbean.sendMessageString(FUW09501SFConst.RSV_STAT_CORSE_03, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get(RSV_STAT_CORSE));
				}
				else
				{
					subbean.sendMessageString(FUW09501SFConst.RSV_STAT_CORSE_03, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 全機器リスト.ＢＳパススルー予約有無（回線） ← ＳＴＢ＿機器提供サービス契約一覧照会マップ.ＢＳパススルー予約有無（回線）
				if (childMap != null)
				{
					subbean.sendMessageString(FUW09501SFConst.TOTAL_RSV_STAT_BS_03, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get(TOTAL_RSV_STAT_BS));
				}
				else
				{
					subbean.sendMessageString(FUW09501SFConst.TOTAL_RSV_STAT_BS_03, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 全機器リスト.ＳＴＢ追加変更予約有無（サービス） ← ＳＴＢ＿機器提供サービス契約一覧照会マップ.ＳＴＢ追加変更予約有無（サービス）
				if (childMap != null)
				{
					subbean.sendMessageString(FUW09501SFConst.TOTAL_RSV_STAT_STB_03, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get(TOTAL_RSV_STAT_STB));
				}
				else
				{
					subbean.sendMessageString(FUW09501SFConst.TOTAL_RSV_STAT_STB_03, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 全機器リスト.コース変更予約有無（サービス及び内訳） ← ＳＴＢ＿機器提供サービス契約一覧照会マップ.コース変更予約有無（サービス及び内訳）
				if (childMap != null)
				{
					subbean.sendMessageString(FUW09501SFConst.TOTAL_RSV_STAT_CORSE_03, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get(TOTAL_RSV_STAT_CORSE));
				}
				else
				{
					subbean.sendMessageString(FUW09501SFConst.TOTAL_RSV_STAT_CORSE_03, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
			}
		}

		return bean;
	}

	/**
	 * 下りマッピング
	 * @param bean　[0]：ｅｏ光テレビ契約変更／照会メニュー
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getFUSV012502SC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{

		HashMap parentMap = null;
		if (outputMap.containsKey("FUSV012502SC"))
		{
			parentMap = (HashMap)outputMap.get("FUSV012502SC");
		}

		ArrayList childList = null;

		X31SDataBeanAccessArray listFUSV012502SC_vonu_list_EKK0341B509CBSMsg1List = bean[0].getDataBeanArray("Ｖ−ＯＮＵリスト");
		childList = null;
		if (listFUSV012502SC_vonu_list_EKK0341B509CBSMsg1List != null && parentMap != null && parentMap.containsKey("EKK0341B509CBSMsg1List"))
		{
			childList = (ArrayList)parentMap.get("EKK0341B509CBSMsg1List");

			for (int i = 0; i < childList.size(); i++)
			{
				X31SDataBeanAccess subbean = null;
				if (listFUSV012502SC_vonu_list_EKK0341B509CBSMsg1List.getCount() - 1 >= i)
				{
					subbean = listFUSV012502SC_vonu_list_EKK0341B509CBSMsg1List.getDataBean(i);
				}
				else
				{
					subbean = listFUSV012502SC_vonu_list_EKK0341B509CBSMsg1List.addDataBean();
				}
				HashMap childMap = (HashMap)childList.get(i);
				if (subbean == null)
				{
					continue;
				}

				// Ｖ−ＯＮＵリスト.機器提供サービス契約番号 ← ＶＯＮＵ＿機器提供サービス契約一覧照会マップ.機器提供サービス契約一覧照会明細.機器提供サービス契約番号
				if (childMap != null)
				{
					subbean.sendMessageString("機器提供サービス契約番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("kktk_svc_kei_no"));
				}
				else
				{
					subbean.sendMessageString("機器提供サービス契約番号", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// Ｖ−ＯＮＵリスト.世代登録年月日時分秒 ← ＶＯＮＵ＿機器提供サービス契約一覧照会マップ.機器提供サービス契約一覧照会明細.世代登録年月日時分秒
				if (childMap != null)
				{
					subbean.sendMessageString("世代登録年月日時分秒", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("gene_add_dtm"));
				}
				else
				{
					subbean.sendMessageString("世代登録年月日時分秒", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// Ｖ−ＯＮＵリスト.機器提供サービスコード ← ＶＯＮＵ＿機器提供サービス契約一覧照会マップ.機器提供サービス契約一覧照会明細.機器提供サービスコード
				if (childMap != null)
				{
					subbean.sendMessageString("機器提供サービスコード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("kktk_svc_cd"));
				}
				else
				{
					subbean.sendMessageString("機器提供サービスコード", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// Ｖ−ＯＮＵリスト.機器製造番号 ← ＶＯＮＵ＿機器提供サービス契約一覧照会マップ.機器提供サービス契約一覧照会明細.機器製造番号
				if (childMap != null)
				{
					subbean.sendMessageString("機器製造番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("kiki_seizo_no"));
				}
				else
				{
					subbean.sendMessageString("機器製造番号", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// Ｖ−ＯＮＵリスト.サービス契約番号 ← ＶＯＮＵ＿機器提供サービス契約一覧照会マップ.機器提供サービス契約一覧照会明細.サービス契約番号
				if (childMap != null)
				{
					subbean.sendMessageString("サービス契約番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("svc_kei_no"));
				}
				else
				{
					subbean.sendMessageString("サービス契約番号", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// Ｖ−ＯＮＵリスト.サービス契約内訳番号 ← ＶＯＮＵ＿機器提供サービス契約一覧照会マップ.機器提供サービス契約一覧照会明細.サービス契約内訳番号
				if (childMap != null)
				{
					subbean.sendMessageString("サービス契約内訳番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("svc_kei_ucwk_no"));
				}
				else
				{
					subbean.sendMessageString("サービス契約内訳番号", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// Ｖ−ＯＮＵリスト.機器提供サービス契約ステータス ← ＶＯＮＵ＿機器提供サービス契約一覧照会マップ.機器提供サービス契約一覧照会明細.機器提供サービス契約ステータス
				if (childMap != null)
				{
					subbean.sendMessageString("機器提供サービス契約ステータス", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("kktk_svc_kei_stat"));
				}
				else
				{
					subbean.sendMessageString("機器提供サービス契約ステータス", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// Ｖ−ＯＮＵリスト.契約状態フラグ ← ＶＯＮＵ＿機器提供サービス契約一覧照会マップ.機器提供サービス契約一覧照会明細.契約状態フラグ
				if (childMap != null)
				{
					subbean.sendMessageString("契約状態フラグ", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("status_flg"));
				}
				else
				{
					subbean.sendMessageString("契約状態フラグ", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// Ｖ−ＯＮＵリスト.料金コースコード ← ＶＯＮＵ＿機器提供サービス契約一覧照会マップ.機器提供サービス契約一覧照会明細.料金コースコード
				if (childMap != null)
				{
					subbean.sendMessageString("料金コースコード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("pcrs_cd"));
				}
				else
				{
					subbean.sendMessageString("料金コースコード", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// Ｖ−ＯＮＵリスト.料金コースコード名 ← ＶＯＮＵ＿機器提供サービス契約一覧照会マップ.機器提供サービス契約一覧照会明細.料金コースコード名
				if (childMap != null)
				{
					subbean.sendMessageString("料金コースコード名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("pcrs_cd_nm"));
				}
				else
				{
					subbean.sendMessageString("料金コースコード名", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// Ｖ−ＯＮＵリスト.料金プランコード ← ＶＯＮＵ＿機器提供サービス契約一覧照会マップ.機器提供サービス契約一覧照会明細.料金プランコード
				if (childMap != null)
				{
					subbean.sendMessageString("料金プランコード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("pplan_cd"));
				}
				else
				{
					subbean.sendMessageString("料金プランコード", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// Ｖ−ＯＮＵリスト.宅内機器型式コード ← ＶＯＮＵ＿機器提供サービス契約一覧照会マップ.機器提供サービス契約一覧照会明細.宅内機器型式コード
				if (childMap != null)
				{
					subbean.sendMessageString("宅内機器型式コード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get(TAKNKIKI_MODEL_CD));
				}
				else
				{
					subbean.sendMessageString("宅内機器型式コード", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// Ｖ−ＯＮＵリスト.異動区分 ← ＶＯＮＵ＿機器提供サービス契約一覧照会マップ.機器提供サービス契約一覧照会明細.異動区分
				if (childMap != null)
				{
					subbean.sendMessageString("異動区分", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("ido_div"));
				}
				else
				{
					subbean.sendMessageString("異動区分", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// Ｖ−ＯＮＵリスト.提供方式契約番号 ← ＶＯＮＵ＿機器提供サービス契約一覧照会マップ.機器提供サービス契約一覧照会明細.提供方式契約番号
				if (childMap != null)
				{
					subbean.sendMessageString("提供方式契約番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("tk_hoshiki_kei_no"));
				}
				else
				{
					subbean.sendMessageString("提供方式契約番号", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// Ｖ−ＯＮＵリスト.ＨＤＤ容量コード ← ＶＯＮＵ＿機器提供サービス契約一覧照会マップ.機器提供サービス契約一覧照会明細.ＨＤＤ容量コード
				if (childMap != null)
				{
					subbean.sendMessageString("ＨＤＤ容量コード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get(HDD_CAPA_CD));
				}
				else
				{
					subbean.sendMessageString("ＨＤＤ容量コード", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// Ｖ−ＯＮＵリスト.ＨＤＤ容量コード名 ← ＶＯＮＵ＿機器提供サービス契約一覧照会マップ.機器提供サービス契約一覧照会明細.ＨＤＤ容量コード名
				if (childMap != null)
				{
					subbean.sendMessageString("ＨＤＤ容量コード名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("hdd_capa_cd_nm"));
				}
				else
				{
					subbean.sendMessageString("ＨＤＤ容量コード名", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// Ｖ−ＯＮＵリスト.機器提供種別コード ← ＶＯＮＵ＿機器提供サービス契約一覧照会マップ.機器提供サービス契約一覧照会明細.機器提供種別コード
				if (childMap != null)
				{
					subbean.sendMessageString("機器提供種別コード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("kktk_sbt_cd"));
				}
				else
				{
					subbean.sendMessageString("機器提供種別コード", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// Ｖ−ＯＮＵリスト.宅内機器種別コード ← ＶＯＮＵ＿機器提供サービス契約一覧照会マップ.機器提供サービス契約一覧照会明細.宅内機器種別コード
				if (childMap != null)
				{
					subbean.sendMessageString("宅内機器種別コード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get(TAKNKIKI_SBT_CD));
				}
				else
				{
					subbean.sendMessageString("宅内機器種別コード", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// Ｖ−ＯＮＵリスト.違約金発生コード ← ＶＯＮＵ＿機器提供サービス契約一覧照会マップ.機器提供サービス契約一覧照会明細.違約金発生コード
				if (childMap != null)
				{
					subbean.sendMessageString("違約金発生コード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("pnlty_hassei_cd"));
				}
				else
				{
					subbean.sendMessageString("違約金発生コード", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// Ｖ−ＯＮＵリスト.機器変更番号 ← ＶＯＮＵ＿機器提供サービス契約一覧照会マップ.機器提供サービス契約一覧照会明細.機器変更番号
				if (childMap != null)
				{
					subbean.sendMessageString("機器変更番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("kiki_chg_no"));
				}
				else
				{
					subbean.sendMessageString("機器変更番号", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// Ｖ−ＯＮＵリスト.機器変更理由コード ← ＶＯＮＵ＿機器提供サービス契約一覧照会マップ.機器提供サービス契約一覧照会明細.機器変更理由コード
				if (childMap != null)
				{
					subbean.sendMessageString("機器変更理由コード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("kiki_chg_rsn_cd"));
				}
				else
				{
					subbean.sendMessageString("機器変更理由コード", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// Ｖ−ＯＮＵリスト.予約中料金コースコード ← ＶＯＮＵ＿機器提供サービス契約一覧照会マップ.機器提供サービス契約一覧照会明細.予約中料金コースコード
				if (childMap != null)
				{
					subbean.sendMessageString("予約中料金コースコード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("rsv_pcrs_cd"));
				}
				else
				{
					subbean.sendMessageString("予約中料金コースコード", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// Ｖ−ＯＮＵリスト.予約中料金コースコード名 ← ＶＯＮＵ＿機器提供サービス契約一覧照会マップ.機器提供サービス契約一覧照会明細.予約中料金コースコード名
				if (childMap != null)
				{
					subbean.sendMessageString("予約中料金コースコード名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("rsv_pcrs_cd_nm"));
				}
				else
				{
					subbean.sendMessageString("予約中料金コースコード名", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// Ｖ−ＯＮＵリスト.予約中料金プランコード ← ＶＯＮＵ＿機器提供サービス契約一覧照会マップ.機器提供サービス契約一覧照会明細.予約中料金プランコード
				if (childMap != null)
				{
					subbean.sendMessageString("予約中料金プランコード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("rsv_pplan_cd"));
				}
				else
				{
					subbean.sendMessageString("予約中料金プランコード", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// Ｖ−ＯＮＵリスト.予約中ＨＤＤ容量コード ← ＶＯＮＵ＿機器提供サービス契約一覧照会マップ.機器提供サービス契約一覧照会明細.予約中ＨＤＤ容量コード
				if (childMap != null)
				{
					subbean.sendMessageString("予約中ＨＤＤ容量コード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("rsv_hdd_capa_cd"));
				}
				else
				{
					subbean.sendMessageString("予約中ＨＤＤ容量コード", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// Ｖ−ＯＮＵリスト.予約中ＨＤＤ容量コード名 ← ＶＯＮＵ＿機器提供サービス契約一覧照会マップ.機器提供サービス契約一覧照会明細.予約中ＨＤＤ容量コード名
				if (childMap != null)
				{
					subbean.sendMessageString("予約中ＨＤＤ容量コード名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("rsv_hdd_capa_cd_nm"));
				}
				else
				{
					subbean.sendMessageString("予約中ＨＤＤ容量コード名", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// Ｖ−ＯＮＵリスト.異動予約番号 ← ＶＯＮＵ＿機器提供サービス契約一覧照会マップ.機器提供サービス契約一覧照会明細.異動予約番号
				if (childMap != null)
				{
					subbean.sendMessageString("異動予約番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("ido_rsv_no"));
				}
				else
				{
					subbean.sendMessageString("異動予約番号", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// Ｖ−ＯＮＵリスト.異動予約詳細コード ← ＶＯＮＵ＿機器提供サービス契約一覧照会マップ.機器提供サービス契約一覧照会明細.異動予約詳細コード
				if (childMap != null)
				{
					subbean.sendMessageString("異動予約詳細コード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("ido_rsv_dtl_cd"));
				}
				else
				{
					subbean.sendMessageString("異動予約詳細コード", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// Ｖ−ＯＮＵリスト.予約適用年月日（異動予約） ← ＶＯＮＵ＿機器提供サービス契約一覧照会マップ.機器提供サービス契約一覧照会明細.予約適用年月日（異動予約）
				if (childMap != null)
				{
					subbean.sendMessageString("予約適用年月日（異動予約）", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("ido_rsv_aply_ymd"));
				}
				else
				{
					subbean.sendMessageString("予約適用年月日（異動予約）", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
			}
		}

		return bean;
	}

	/**
	 * 下りマッピング
	 * @param bean　[0]：ｅｏ光テレビ契約変更／照会メニュー
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getFUSV012503SC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{

		HashMap parentMap = null;
		if (outputMap.containsKey("FUSV012503SC"))
		{
			parentMap = (HashMap)outputMap.get("FUSV012503SC");
		}

		ArrayList childList = null;

		X31SDataBeanAccessArray listFUSV012503SC_keiyaku_list_EKK0081B515CBSMsg1List = bean[0].getDataBeanArray("契約情報リスト");
		childList = null;
		if (listFUSV012503SC_keiyaku_list_EKK0081B515CBSMsg1List != null && parentMap != null && parentMap.containsKey("EKK0081B515CBSMsg1List"))
		{
			childList = (ArrayList)parentMap.get("EKK0081B515CBSMsg1List");

			for (int i = 0; i < childList.size(); i++)
			{
				X31SDataBeanAccess subbean = null;
				if (listFUSV012503SC_keiyaku_list_EKK0081B515CBSMsg1List.getCount() - 1 >= i)
				{
					subbean = listFUSV012503SC_keiyaku_list_EKK0081B515CBSMsg1List.getDataBean(i);
				}
				else
				{
					subbean = listFUSV012503SC_keiyaku_list_EKK0081B515CBSMsg1List.addDataBean();
				}
				HashMap childMap = (HashMap)childList.get(i);
				if (subbean == null)
				{
					continue;
				}

				// 契約情報リスト.サービス契約番号 ← サービス契約一覧照会マップ.サービス契約一覧照会明細.サービス契約番号
				if (childMap != null)
				{
					subbean.sendMessageString("サービス契約番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("svc_kei_no"));
				}
				else
				{
					subbean.sendMessageString("サービス契約番号", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 契約情報リスト.世代登録年月日時分秒 ← サービス契約一覧照会マップ.サービス契約一覧照会明細.世代登録年月日時分秒
				if (childMap != null)
				{
					subbean.sendMessageString("世代登録年月日時分秒", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("gene_add_dtm"));
				}
				else
				{
					subbean.sendMessageString("世代登録年月日時分秒", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 契約情報リスト.契約状態フラグ ← サービス契約一覧照会マップ.サービス契約一覧照会明細.契約状態フラグ
				if (childMap != null)
				{
					if ((String)childMap.get("svc_kei_stat") != null
							&& (JFUStrConst.CD00037_100.equals((String)childMap.get("svc_kei_stat")) || JFUStrConst.CD00037_030
									.equals((String)childMap.get("svc_kei_stat"))))
					{
						subbean.sendMessageString("契約状態フラグ", X31CWebConst.DATABEAN_SET_VALUE, KEI_STAT_FLG_1);
					}
					else
					{
						subbean.sendMessageString("契約状態フラグ", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("status_flg"));
					}
				}
				else
				{
					subbean.sendMessageString("契約状態フラグ", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 契約情報リスト.サービス契約ステータス ← サービス契約一覧照会マップ.サービス契約一覧照会明細.サービス契約ステータス
				if (childMap != null)
				{
					subbean.sendMessageString("サービス契約ステータス", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("svc_kei_stat"));
				}
				else
				{
					subbean.sendMessageString("サービス契約ステータス", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 契約情報リスト.サービス契約ステータス名 ← サービス契約一覧照会マップ.サービス契約一覧照会明細.サービス契約ステータス名
				if (childMap != null)
				{
					subbean.sendMessageString("サービス契約ステータス名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("svc_kei_stat_nm"));
				}
				else
				{
					subbean.sendMessageString("サービス契約ステータス名", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 契約情報リスト.ＳＹＳＩＤ ← サービス契約一覧照会マップ.サービス契約一覧照会明細.ＳＹＳＩＤ
				if (childMap != null)
				{
					subbean.sendMessageString("ＳＹＳＩＤ", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("sysid"));
				}
				else
				{
					subbean.sendMessageString("ＳＹＳＩＤ", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 契約情報リスト.サービスコード ← サービス契約一覧照会マップ.サービス契約一覧照会明細.サービスコード
				if (childMap != null)
				{
					subbean.sendMessageString("サービスコード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("svc_cd"));
				}
				else
				{
					subbean.sendMessageString("サービスコード", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 契約情報リスト.サービスコード名 ← サービス契約一覧照会マップ.サービス契約一覧照会明細.サービスコード名
				if (childMap != null)
				{
					subbean.sendMessageString("サービスコード名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("svc_nm"));
				}
				else
				{
					subbean.sendMessageString("サービスコード名", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 契約情報リスト.料金コースコード ← サービス契約一覧照会マップ.サービス契約一覧照会明細.料金コースコード
				if (childMap != null)
				{
					subbean.sendMessageString("料金コースコード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("pcrs_cd"));
				}
				else
				{
					subbean.sendMessageString("料金コースコード", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 契約情報リスト.料金コースコード名 ← サービス契約一覧照会マップ.サービス契約一覧照会明細.料金コースコード名
				if (childMap != null)
				{
					subbean.sendMessageString("料金コースコード名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("pcrs_nm"));
				}
				else
				{
					subbean.sendMessageString("料金コースコード名", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 契約情報リスト.料金プランコード ← サービス契約一覧照会マップ.サービス契約一覧照会明細.料金プランコード
				if (childMap != null)
				{
					subbean.sendMessageString("料金プランコード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("pplan_cd"));
				}
				else
				{
					subbean.sendMessageString("料金プランコード", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 契約情報リスト.提供方式契約番号 ← サービス契約一覧照会マップ.サービス契約一覧照会明細.提供方式契約番号
				if (childMap != null)
				{
					subbean.sendMessageString("提供方式契約番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("tk_hoshiki_kei_no"));
				}
				else
				{
					subbean.sendMessageString("提供方式契約番号", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 契約情報リスト.料金グループコード ← サービス契約一覧照会マップ.サービス契約一覧照会明細.料金グループコード
				if (childMap != null)
				{
					subbean.sendMessageString("料金グループコード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("prc_grp_cd"));
				}
				else
				{
					subbean.sendMessageString("料金グループコード", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 契約情報リスト.料金グループコード名 ← サービス契約一覧照会マップ.サービス契約一覧照会明細.料金グループコード名
				if (childMap != null)
				{
					subbean.sendMessageString("料金グループコード名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("prc_grp_nm"));
				}
				else
				{
					subbean.sendMessageString("料金グループコード名", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 契約情報リスト.申込明細番号 ← サービス契約一覧照会マップ.サービス契約一覧照会明細.申込明細番号
				if (childMap != null)
				{
					subbean.sendMessageString("申込明細番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("mskm_dtl_no"));
				}
				else
				{
					subbean.sendMessageString("申込明細番号", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 契約情報リスト.予約適用年月日 ← サービス契約一覧照会マップ.サービス契約一覧照会明細.予約適用年月日
				if (childMap != null)
				{
					subbean.sendMessageString("予約適用年月日", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("rsv_aply_ymd"));
				}
				else
				{
					subbean.sendMessageString("予約適用年月日", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 契約情報リスト.予約取消年月日 ← サービス契約一覧照会マップ.サービス契約一覧照会明細.予約取消年月日
				if (childMap != null)
				{
					subbean.sendMessageString("予約取消年月日", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("rsv_cl_ymd"));
				}
				else
				{
					subbean.sendMessageString("予約取消年月日", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 契約情報リスト.予約適用コード ← サービス契約一覧照会マップ.サービス契約一覧照会明細.予約適用コード
				if (childMap != null)
				{
					subbean.sendMessageString("予約適用コード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("rsv_aply_cd"));
				}
				else
				{
					subbean.sendMessageString("予約適用コード", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 契約情報リスト.サービス開始年月日 ← サービス契約一覧照会マップ.サービス契約一覧照会明細.サービス開始年月日
				if (childMap != null)
				{
					subbean.sendMessageString("サービス開始年月日", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("svc_sta_ymd"));
				}
				else
				{
					subbean.sendMessageString("サービス開始年月日", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 契約情報リスト.違約金発生コード ← サービス契約一覧照会マップ.サービス契約一覧照会明細.違約金発生コード
				if (childMap != null)
				{
					subbean.sendMessageString("違約金発生コード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("pnlty_hassei_cd"));
				}
				else
				{
					subbean.sendMessageString("違約金発生コード", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 契約情報リスト.違約金変更理由コード ← サービス契約一覧照会マップ.サービス契約一覧照会明細.違約金変更理由コード
				if (childMap != null)
				{
					subbean.sendMessageString("違約金変更理由コード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("pnlty_chge_rsn_cd"));
				}
				else
				{
					subbean.sendMessageString("違約金変更理由コード", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 契約情報リスト.異動区分 ← サービス契約一覧照会マップ.サービス契約一覧照会明細.異動区分
				if (childMap != null)
				{
					subbean.sendMessageString("異動区分", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("ido_div"));
				}
				else
				{
					subbean.sendMessageString("異動区分", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 契約情報リスト.異動区分名 ← サービス契約一覧照会マップ.サービス契約一覧照会明細.異動区分名
				if (childMap != null)
				{
					subbean.sendMessageString("異動区分名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("ido_div_nm"));
				}
				else
				{
					subbean.sendMessageString("異動区分名", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 契約情報リスト.異動レコード有無フラグ ← サービス契約一覧照会マップ.サービス契約一覧照会明細.異動レコード有無フラグ
				if (childMap != null)
				{
					subbean.sendMessageString("異動レコード有無フラグ", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("ido_rsv_flg"));
				}
				else
				{
					subbean.sendMessageString("異動レコード有無フラグ", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 契約情報リスト.コース変更有無フラグ ← サービス契約一覧照会マップ.サービス契約一覧照会明細.コース変更有無フラグ
				if (childMap != null)
				{
					subbean.sendMessageString("コース変更有無フラグ", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("ido_pcrs_cng_flg"));
				}
				else
				{
					subbean.sendMessageString("コース変更有無フラグ", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 契約情報リスト.異動予約番号 ← サービス契約一覧照会マップ.サービス契約一覧照会明細.異動予約番号
				if (childMap != null)
				{
					subbean.sendMessageString("異動予約番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("ido_rsv_no"));
				}
				else
				{
					subbean.sendMessageString("異動予約番号", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 契約情報リスト.異動予約詳細コード ← サービス契約一覧照会マップ.サービス契約一覧照会明細.異動予約詳細コード
				if (childMap != null)
				{
					subbean.sendMessageString("異動予約詳細コード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("ido_rsv_dtl_cd"));
				}
				else
				{
					subbean.sendMessageString("異動予約詳細コード", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 契約情報リスト.予約適用年月日（異動予約） ← サービス契約一覧照会マップ.サービス契約一覧照会明細.予約適用年月日（異動予約）
				if (childMap != null)
				{
					subbean.sendMessageString("予約適用年月日（異動予約）", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("ido_rsv_aply_ymd"));
				}
				else
				{
					subbean.sendMessageString("予約適用年月日（異動予約）", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 契約情報リスト.サービス契約番号（異動予約） ← サービス契約一覧照会マップ.サービス契約一覧照会明細.サービス契約番号（異動予約）
				if (childMap != null)
				{
					subbean.sendMessageString("サービス契約番号（異動予約）", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("ido_svc_kei_no"));
				}
				else
				{
					subbean.sendMessageString("サービス契約番号（異動予約）", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 契約情報リスト.サービス契約内訳番号（異動予約） ← サービス契約一覧照会マップ.サービス契約一覧照会明細.サービス契約内訳番号（異動予約）
				if (childMap != null)
				{
					subbean.sendMessageString("サービス契約内訳番号（異動予約）", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("ido_svc_kei_ucwk_no"));
				}
				else
				{
					subbean.sendMessageString("サービス契約内訳番号（異動予約）", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 契約情報リスト.機器提供サービス契約番号（異動予約） ← サービス契約一覧照会マップ.サービス契約一覧照会明細.機器提供サービス契約番号（異動予約）
				if (childMap != null)
				{
					subbean.sendMessageString("機器提供サービス契約番号（異動予約）", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("ido_kktk_svc_kei_no"));
				}
				else
				{
					subbean.sendMessageString("機器提供サービス契約番号（異動予約）", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 契約情報リスト.新料金コースコード ← サービス契約一覧照会マップ.サービス契約一覧照会明細.新料金コースコード
				if (childMap != null)
				{
					subbean.sendMessageString("新料金コースコード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("ido_new_pcrs_cd"));
				}
				else
				{
					subbean.sendMessageString("新料金コースコード", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 契約情報リスト.新料金プランコード ← サービス契約一覧照会マップ.サービス契約一覧照会明細.新料金プランコード
				if (childMap != null)
				{
					subbean.sendMessageString("新料金プランコード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("ido_new_pplan_cd"));
				}
				else
				{
					subbean.sendMessageString("新料金プランコード", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 契約情報リスト.新提供方式契約番号 ← サービス契約一覧照会マップ.サービス契約一覧照会明細.新提供方式契約番号
				if (childMap != null)
				{
					subbean.sendMessageString("新提供方式契約番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("ido_new_tk_hoshiki_kei_no"));
				}
				else
				{
					subbean.sendMessageString("新提供方式契約番号", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 契約情報リスト.新電波障害案件番号 ← サービス契約一覧照会マップ.サービス契約一覧照会明細.新電波障害案件番号
				if (childMap != null)
				{
					subbean.sendMessageString("新電波障害案件番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("ido_new_dmps_anken_no"));
				}
				else
				{
					subbean.sendMessageString("新電波障害案件番号", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 契約情報リスト.旧料金コースコード ← サービス契約一覧照会マップ.サービス契約一覧照会明細.旧料金コースコード
				if (childMap != null)
				{
					subbean.sendMessageString("旧料金コースコード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("ido_old_pcrs_cd"));
				}
				else
				{
					subbean.sendMessageString("旧料金コースコード", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 契約情報リスト.旧料金プランコード ← サービス契約一覧照会マップ.サービス契約一覧照会明細.旧料金プランコード
				if (childMap != null)
				{
					subbean.sendMessageString("旧料金プランコード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("ido_old_pplan_cd"));
				}
				else
				{
					subbean.sendMessageString("旧料金プランコード", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 契約情報リスト.料金プラン名 ← サービス契約一覧照会マップ.サービス契約一覧照会明細.料金プラン名
				if (childMap != null)
				{
					subbean.sendMessageString("料金プラン名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("pplan_nm"));
				}
				else
				{
					subbean.sendMessageString("料金プラン名", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 契約情報リスト.新料金プラン名 ← サービス契約一覧照会マップ.サービス契約一覧照会明細.新料金プラン名
				if (childMap != null)
				{
					subbean.sendMessageString("新料金プラン名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("new_pplan_nm"));
				}
				else
				{
					subbean.sendMessageString("新料金プラン名", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 契約情報リスト.旧料金プラン名 ← サービス契約一覧照会マップ.サービス契約一覧照会明細.旧料金プラン名
				if (childMap != null)
				{
					subbean.sendMessageString("旧料金プラン名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("old_pplan_nm"));
				}
				else
				{
					subbean.sendMessageString("旧料金プラン名", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
			}
		}

		return bean;
	}

	/**
	 * 下りマッピング
	 * @param bean　[0]：ｅｏ光テレビ契約変更／照会メニュー
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getFUSV012504SC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{

		HashMap parentMap = null;
		if (outputMap.containsKey("FUSV012504SC"))
		{
			parentMap = (HashMap)outputMap.get("FUSV012504SC");
		}

		ArrayList childList = null;

		X31SDataBeanAccessArray listFUSV012504SC_pcrs_list_EKK0161B509CBSMsg1List = bean[0].getDataBeanArray("内訳リスト");
		childList = null;
		if (listFUSV012504SC_pcrs_list_EKK0161B509CBSMsg1List != null && parentMap != null && parentMap.containsKey("EKK0161B509CBSMsg1List"))
		{
			childList = (ArrayList)parentMap.get("EKK0161B509CBSMsg1List");

			for (int i = 0; i < childList.size(); i++)
			{
				X31SDataBeanAccess subbean = null;
				if (listFUSV012504SC_pcrs_list_EKK0161B509CBSMsg1List.getCount() - 1 >= i)
				{
					subbean = listFUSV012504SC_pcrs_list_EKK0161B509CBSMsg1List.getDataBean(i);
				}
				else
				{
					subbean = listFUSV012504SC_pcrs_list_EKK0161B509CBSMsg1List.addDataBean();
				}
				HashMap childMap = (HashMap)childList.get(i);
				if (subbean == null)
				{
					continue;
				}

				// サービス契約ステータス格納変数
				String svcKeiStat = null;

				// 内訳リスト.サービス契約内訳番号 ← サービス契約内訳一覧照会マップ.サービス契約内訳一覧照会明細.サービス契約内訳番号
				if (childMap != null)
				{
					subbean.sendMessageString("サービス契約内訳番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("svc_kei_ucwk_no"));
				}
				else
				{
					subbean.sendMessageString("サービス契約内訳番号", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 内訳リスト.世代登録年月日時分秒 ← サービス契約内訳一覧照会マップ.サービス契約内訳一覧照会明細.世代登録年月日時分秒
				if (childMap != null)
				{
					subbean.sendMessageString("世代登録年月日時分秒", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("gene_add_dtm"));
				}
				else
				{
					subbean.sendMessageString("世代登録年月日時分秒", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 内訳リスト.サービス契約番号 ← サービス契約内訳一覧照会マップ.サービス契約内訳一覧照会明細.サービス契約番号
				if (childMap != null)
				{
					subbean.sendMessageString("サービス契約番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("svc_kei_no"));
				}
				else
				{
					subbean.sendMessageString("サービス契約番号", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 内訳リスト.サービス契約内訳ステータス ← サービス契約内訳一覧照会マップ.サービス契約内訳一覧照会明細.サービス契約内訳ステータス
				if (childMap != null)
				{
					svcKeiStat =
							subbean.sendMessageString("サービス契約内訳ステータス", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("svc_kei_ucwk_stat"));
				}
				else
				{
					subbean.sendMessageString("サービス契約内訳ステータス", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 内訳リスト.サービス契約内訳ステータス名 ← サービス契約内訳一覧照会マップ.サービス契約内訳一覧照会明細.サービス契約内訳ステータス名
				if (childMap != null)
				{
					subbean.sendMessageString("サービス契約内訳ステータス名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("svc_kei_ucwk_stat_nm"));
				}
				else
				{
					subbean.sendMessageString("サービス契約内訳ステータス名", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 内訳リスト.契約状態フラグ ← サービス契約内訳一覧照会マップ.サービス契約内訳一覧照会明細.契約状態フラグ
				if (childMap != null && (JFUStrConst.CD00037_030.equals(svcKeiStat) || JFUStrConst.CD00037_100.equals(svcKeiStat)))
				{
					// 修正：ステータスが「030」または「100」の場合、契約状態フラグを「1」とする
					subbean.sendMessageString("契約状態フラグ", X31CWebConst.DATABEAN_SET_VALUE, KEI_STAT_FLG_1);
				}
				else if (childMap != null)
				{
					subbean.sendMessageString("契約状態フラグ", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("status_flg"));
				}
				else
				{
					subbean.sendMessageString("契約状態フラグ", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 内訳リスト.料金コースコード ← サービス契約内訳一覧照会マップ.サービス契約内訳一覧照会明細.料金コースコード
				if (childMap != null)
				{
					subbean.sendMessageString("料金コースコード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("pcrs_cd"));
				}
				else
				{
					subbean.sendMessageString("料金コースコード", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 内訳リスト.料金コースコード名称 ← サービス契約内訳一覧照会マップ.サービス契約内訳一覧照会明細.料金コースコード名称
				if (childMap != null)
				{
					subbean.sendMessageString("料金コースコード名称", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("pcrs_nm"));
				}
				else
				{
					subbean.sendMessageString("料金コースコード名称", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 内訳リスト.料金プランコード ← サービス契約内訳一覧照会マップ.サービス契約内訳一覧照会明細.料金プランコード
				if (childMap != null)
				{
					subbean.sendMessageString("料金プランコード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("pplan_cd"));
				}
				else
				{
					subbean.sendMessageString("料金プランコード", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 内訳リスト.料金プランコード名称 ← サービス契約内訳一覧照会マップ.サービス契約内訳一覧照会明細.料金プランコード名称
				if (childMap != null)
				{
					subbean.sendMessageString("料金プランコード名称", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("pplan_nm"));
				}
				else
				{
					subbean.sendMessageString("料金プランコード名称", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 内訳リスト.予約適用年月日 ← サービス契約内訳一覧照会マップ.サービス契約内訳一覧照会明細.予約適用年月日
				if (childMap != null)
				{
					subbean.sendMessageString("予約適用年月日", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("rsv_aply_ymd"));
				}
				else
				{
					subbean.sendMessageString("予約適用年月日", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 内訳リスト.予約取消年月日 ← サービス契約内訳一覧照会マップ.サービス契約内訳一覧照会明細.予約取消年月日
				if (childMap != null)
				{
					subbean.sendMessageString("予約取消年月日", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("rsv_cl_ymd"));
				}
				else
				{
					subbean.sendMessageString("予約取消年月日", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 内訳リスト.予約適用コード ← サービス契約内訳一覧照会マップ.サービス契約内訳一覧照会明細.予約適用コード
				if (childMap != null)
				{
					subbean.sendMessageString("予約適用コード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("rsv_aply_cd"));
				}
				else
				{
					subbean.sendMessageString("予約適用コード", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 内訳リスト.予約適用コード名 ← サービス契約内訳一覧照会マップ.サービス契約内訳一覧照会明細.予約適用コード名
				if (childMap != null)
				{
					subbean.sendMessageString("予約適用コード名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("rsv_aply_cd_nm"));
				}
				else
				{
					subbean.sendMessageString("予約適用コード名", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 内訳リスト.申込明細番号 ← サービス契約内訳一覧照会マップ.サービス契約内訳一覧照会明細.申込明細番号
				if (childMap != null)
				{
					subbean.sendMessageString("申込明細番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("mskm_dtl_no"));
				}
				else
				{
					subbean.sendMessageString("申込明細番号", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 内訳リスト.提供方式契約番号 ← サービス契約内訳一覧照会マップ.サービス契約内訳一覧照会明細.提供方式契約番号
				if (childMap != null)
				{
					subbean.sendMessageString("提供方式契約番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("tk_hoshiki_kei_no"));
				}
				else
				{
					subbean.sendMessageString("提供方式契約番号", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 内訳リスト.違約金発生コード ← サービス契約内訳一覧照会マップ.サービス契約内訳一覧照会明細.違約金発生コード
				if (childMap != null)
				{
					subbean.sendMessageString("違約金発生コード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("pnlty_hassei_cd"));
				}
				else
				{
					subbean.sendMessageString("違約金発生コード", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 内訳リスト.異動区分 ← サービス契約内訳一覧照会マップ.サービス契約内訳一覧照会明細.異動区分
				if (childMap != null)
				{
					subbean.sendMessageString("異動区分", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("ido_div"));
				}
				else
				{
					subbean.sendMessageString("異動区分", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 内訳リスト.異動レコード有無フラグ ← サービス契約内訳一覧照会マップ.サービス契約内訳一覧照会明細.異動レコード有無フラグ
				if (childMap != null)
				{
					subbean.sendMessageString("異動レコード有無フラグ", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("ido_rsv_flg"));
				}
				else
				{
					subbean.sendMessageString("異動レコード有無フラグ", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 内訳リスト.異動予約番号 ← サービス契約内訳一覧照会マップ.サービス契約内訳一覧照会明細.異動予約番号
				if (childMap != null)
				{
					subbean.sendMessageString("異動予約番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("ido_rsv_no"));
				}
				else
				{
					subbean.sendMessageString("異動予約番号", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 内訳リスト.異動予約詳細コード ← サービス契約内訳一覧照会マップ.サービス契約内訳一覧照会明細.異動予約詳細コード
				if (childMap != null)
				{
					subbean.sendMessageString("異動予約詳細コード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("ido_rsv_dtl_cd"));
				}
				else
				{
					subbean.sendMessageString("異動予約詳細コード", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 内訳リスト.予約適用年月日（異動予約） ← サービス契約内訳一覧照会マップ.サービス契約内訳一覧照会明細.予約適用年月日（異動予約）
				if (childMap != null)
				{
					subbean.sendMessageString("予約適用年月日（異動予約）", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("ido_rsv_aply_ymd"));
				}
				else
				{
					subbean.sendMessageString("予約適用年月日（異動予約）", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 内訳リスト.サービス契約番号（異動予約） ← サービス契約内訳一覧照会マップ.サービス契約内訳一覧照会明細.サービス契約番号（異動予約）
				if (childMap != null)
				{
					subbean.sendMessageString("サービス契約番号（異動予約）", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("ido_svc_kei_no"));
				}
				else
				{
					subbean.sendMessageString("サービス契約番号（異動予約）", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 内訳リスト.サービス契約内訳番号（異動予約） ← サービス契約内訳一覧照会マップ.サービス契約内訳一覧照会明細.サービス契約内訳番号（異動予約）
				if (childMap != null)
				{
					subbean.sendMessageString("サービス契約内訳番号（異動予約）", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("ido_svc_kei_ucwk_no"));
				}
				else
				{
					subbean.sendMessageString("サービス契約内訳番号（異動予約）", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 内訳リスト.機器提供サービス契約番号（異動予約） ← サービス契約内訳一覧照会マップ.サービス契約内訳一覧照会明細.機器提供サービス契約番号（異動予約）
				if (childMap != null)
				{
					subbean.sendMessageString("機器提供サービス契約番号（異動予約）", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("ido_kktk_svc_kei_no"));
				}
				else
				{
					subbean.sendMessageString("機器提供サービス契約番号（異動予約）", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 内訳リスト.新料金コースコード ← サービス契約内訳一覧照会マップ.サービス契約内訳一覧照会明細.新料金コースコード
				if (childMap != null)
				{
					subbean.sendMessageString("新料金コースコード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("ido_new_pcrs_cd"));
				}
				else
				{
					subbean.sendMessageString("新料金コースコード", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 内訳リスト.新料金コースコード名称 ← サービス契約内訳一覧照会マップ.サービス契約内訳一覧照会明細.新料金コースコード名称
				if (childMap != null)
				{
					subbean.sendMessageString("新料金コースコード名称", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("ido_new_pcrs_nm"));
				}
				else
				{
					subbean.sendMessageString("新料金コースコード名称", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 内訳リスト.新料金プランコード ← サービス契約内訳一覧照会マップ.サービス契約内訳一覧照会明細.新料金プランコード
				if (childMap != null)
				{
					subbean.sendMessageString("新料金プランコード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("ido_new_pplan_cd"));
				}
				else
				{
					subbean.sendMessageString("新料金プランコード", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 内訳リスト.新提供方式契約番号 ← サービス契約内訳一覧照会マップ.サービス契約内訳一覧照会明細.新提供方式契約番号
				if (childMap != null)
				{
					subbean.sendMessageString("新提供方式契約番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("ido_new_tk_hoshiki_kei_no"));
				}
				else
				{
					subbean.sendMessageString("新提供方式契約番号", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 内訳リスト.新電波障害案件番号 ← サービス契約内訳一覧照会マップ.サービス契約内訳一覧照会明細.新電波障害案件番号
				if (childMap != null)
				{
					subbean.sendMessageString("新電波障害案件番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("ido_new_dmps_anken_no"));
				}
				else
				{
					subbean.sendMessageString("新電波障害案件番号", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 内訳リスト.旧料金コースコード ← サービス契約内訳一覧照会マップ.サービス契約内訳一覧照会明細.旧料金コースコード
				if (childMap != null)
				{
					subbean.sendMessageString("旧料金コースコード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("ido_old_pcrs_cd"));
				}
				else
				{
					subbean.sendMessageString("旧料金コースコード", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 内訳リスト.旧料金プランコード ← サービス契約内訳一覧照会マップ.サービス契約内訳一覧照会明細.旧料金プランコード
				if (childMap != null)
				{
					subbean.sendMessageString("旧料金プランコード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("ido_old_pplan_cd"));
				}
				else
				{
					subbean.sendMessageString("旧料金プランコード", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
			}
		}

		return bean;
	}

	/**
	 * 下りマッピング
	 * @param bean　[0]：ｅｏ光テレビ契約変更／照会メニュー
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getFUSV012505SC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{

		HashMap parentMap = null;
		if (outputMap.containsKey("FUSV012505SC"))
		{
			parentMap = (HashMap)outputMap.get("FUSV012505SC");
		}

		ArrayList childList = null;

		X31SDataBeanAccessArray listFUSV012505SC_op_list_EKK0351B507CBSMsg1List = bean[0].getDataBeanArray("オプションリスト");
		childList = null;
		if (listFUSV012505SC_op_list_EKK0351B507CBSMsg1List != null && parentMap != null && parentMap.containsKey("EKK0351B507CBSMsg1List"))
		{
			childList = (ArrayList)parentMap.get("EKK0351B507CBSMsg1List");

			for (int i = 0; i < childList.size(); i++)
			{
				X31SDataBeanAccess subbean = null;
				if (listFUSV012505SC_op_list_EKK0351B507CBSMsg1List.getCount() - 1 >= i)
				{
					subbean = listFUSV012505SC_op_list_EKK0351B507CBSMsg1List.getDataBean(i);
				}
				else
				{
					subbean = listFUSV012505SC_op_list_EKK0351B507CBSMsg1List.addDataBean();
				}
				HashMap childMap = (HashMap)childList.get(i);
				if (subbean == null)
				{
					continue;
				}

				// オプションリスト.オプションサービス契約番号 ← オプションチャンネル契約一覧照会マップ.オプションチャンネル契約一覧照会明細.オプションサービス契約番号
				if (childMap != null)
				{
					subbean.sendMessageString("オプションサービス契約番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("op_svc_kei_no"));
				}
				else
				{
					subbean.sendMessageString("オプションサービス契約番号", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// オプションリスト.世代登録年月日時分秒 ← オプションチャンネル契約一覧照会マップ.オプションチャンネル契約一覧照会明細.世代登録年月日時分秒
				if (childMap != null)
				{
					subbean.sendMessageString("世代登録年月日時分秒", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("gene_add_dtm"));
				}
				else
				{
					subbean.sendMessageString("世代登録年月日時分秒", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// オプションリスト.オプションサービス契約ステータス ← オプションチャンネル契約一覧照会マップ.オプションチャンネル契約一覧照会明細.オプションサービス契約ステータス
				if (childMap != null)
				{
					subbean.sendMessageString("オプションサービス契約ステータス", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("op_svc_kei_stat"));
				}
				else
				{
					subbean.sendMessageString("オプションサービス契約ステータス", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// オプションリスト.サービス契約内訳番号 ← オプションチャンネル契約一覧照会マップ.オプションチャンネル契約一覧照会明細.サービス契約内訳番号
				if (childMap != null)
				{
					subbean.sendMessageString("サービス契約内訳番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("svc_kei_ucwk_no"));
				}
				else
				{
					subbean.sendMessageString("サービス契約内訳番号", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
			}
		}

		return bean;
	}

	/**
	 * 下りマッピング
	 * @param bean　[0]：ｅｏ光テレビ契約変更／照会メニュー
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getFUSV012506SC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{

		HashMap parentMap = null;
		if (outputMap.containsKey("FUSV012506SC"))
		{
			parentMap = (HashMap)outputMap.get("FUSV012506SC");
		}

		ArrayList childList = null;

		X31SDataBeanAccessArray listFUSV012506SC_guide_list_EKK0351B510CBSMsg1List = bean[0].getDataBeanArray("ガイドリスト");
		childList = null;
		if (listFUSV012506SC_guide_list_EKK0351B510CBSMsg1List != null && parentMap != null && parentMap.containsKey("EKK0351B510CBSMsg1List"))
		{
			childList = (ArrayList)parentMap.get("EKK0351B510CBSMsg1List");

			for (int i = 0; i < childList.size(); i++)
			{
				X31SDataBeanAccess subbean = null;
				if (listFUSV012506SC_guide_list_EKK0351B510CBSMsg1List.getCount() - 1 >= i)
				{
					subbean = listFUSV012506SC_guide_list_EKK0351B510CBSMsg1List.getDataBean(i);
				}
				else
				{
					subbean = listFUSV012506SC_guide_list_EKK0351B510CBSMsg1List.addDataBean();
				}
				HashMap childMap = (HashMap)childList.get(i);
				if (subbean == null)
				{
					continue;
				}

				// ガイドリスト.オプションサービス契約番号 ← オプションサービス契約＜TV＞一覧照会（ガイド誌）マップ.オプションサービス契約＜TV＞一覧照会（ガイド誌）明細.オプションサービス契約番号
				if (childMap != null)
				{
					subbean.sendMessageString("オプションサービス契約番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("op_svc_kei_no"));
				}
				else
				{
					subbean.sendMessageString("オプションサービス契約番号", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// ガイドリスト.ケーブルガイド申込数 ← オプションサービス契約＜TV＞一覧照会（ガイド誌）マップ.オプションサービス契約＜TV＞一覧照会（ガイド誌）明細.ケーブルガイド申込数
				if (childMap != null)
				{
					subbean.sendMessageString("ケーブルガイド申込数", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("cable_guide_mskm_cnt"));
				}
				else
				{
					subbean.sendMessageString("ケーブルガイド申込数", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// ガイドリスト.オプションサービス契約ステータス ← オプションサービス契約＜TV＞一覧照会（ガイド誌）マップ.オプションサービス契約＜TV＞一覧照会（ガイド誌）明細.オプションサービス契約ステータス
				if (childMap != null)
				{
					subbean.sendMessageString("オプションサービス契約ステータス", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("op_svc_kei_stat"));
				}
				else
				{
					subbean.sendMessageString("オプションサービス契約ステータス", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
			}
		}

		return bean;
	}

	/**
	 * 下りマッピング
	 * @param bean　[0]：ｅｏ光テレビ契約変更／照会メニュー
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getFUSV012510SC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{

		HashMap parentMap = null;
		if (outputMap.containsKey("FUSV012510SC"))
		{
			parentMap = (HashMap)outputMap.get("FUSV012510SC");
		}

		ArrayList childList = null;

		X31SDataBeanAccessArray listFUSV012510SC_ido_rsv_list_EKK1681B501CBSMsg1List = bean[0].getDataBeanArray("異動予約リスト");
		childList = null;
		if (listFUSV012510SC_ido_rsv_list_EKK1681B501CBSMsg1List != null && parentMap != null && parentMap.containsKey("EKK1681B501CBSMsg1List"))
		{
			childList = (ArrayList)parentMap.get("EKK1681B501CBSMsg1List");

			for (int i = 0; i < childList.size(); i++)
			{
				X31SDataBeanAccess subbean = null;
				if (listFUSV012510SC_ido_rsv_list_EKK1681B501CBSMsg1List.getCount() - 1 >= i)
				{
					subbean = listFUSV012510SC_ido_rsv_list_EKK1681B501CBSMsg1List.getDataBean(i);
				}
				else
				{
					subbean = listFUSV012510SC_ido_rsv_list_EKK1681B501CBSMsg1List.addDataBean();
				}
				HashMap childMap = (HashMap)childList.get(i);
				if (subbean == null)
				{
					continue;
				}

				// 異動予約リスト.異動予約番号 ← 異動予約一覧照会（オプション解約予定）マップ.動予約一覧照会（オプション解約予定）明細.異動予約番号
				if (childMap != null)
				{
					subbean.sendMessageString("異動予約番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("ido_rsv_no"));
				}
				else
				{
					subbean.sendMessageString("異動予約番号", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 異動予約リスト.予約適用年月日 ← 異動予約一覧照会（オプション解約予定）マップ.動予約一覧照会（オプション解約予定）明細.予約適用年月日
				if (childMap != null)
				{
					subbean.sendMessageString("予約適用年月日", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("rsv_aply_ymd"));
				}
				else
				{
					subbean.sendMessageString("予約適用年月日", X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
			}
		}

		return bean;
	}

	/**
	 * 下りマッピング
	 * @param bean　[0]：ｅｏ光テレビ契約変更／照会メニュー
	 * @param outputMap
	 * @return HashMap<String, String> 最上位の宅内機器型式情報（ＳＴＢ）
	 */
	@SuppressWarnings("unchecked")
	public HashMap<String, String> getFUSV012511SC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{

		// EKK1861B001 サービス別宅内機器型式候補一覧照会
		ArrayList childList = null;
		HashMap<String, String> retunMap = new HashMap<String, String>();
		String svDspJun = JFUStrConst.EMPTY;
		HashMap parentMap = null;

		if (outputMap.containsKey(FUSV012511_S_C))
		{
			parentMap = (HashMap)outputMap.get(FUSV012511_S_C);
		}

		if (parentMap != null && parentMap.containsKey(EKK1861_B001_C_B_S_MSG1_LIST))
		{
			childList = (ArrayList)parentMap.get(EKK1861_B001_C_B_S_MSG1_LIST);

			for (int i = 0; i < childList.size(); i++)
			{
				HashMap childMap = (HashMap)childList.get(i);

				if (childMap == null)
				{
					continue;
				}

				//宅内機器種別コード=A0 (ＳＴＢ)
				if (JFUStrConst.TKNI_KIKI_SBT_CD_A0.equals((String)childMap.get(TAKNKIKI_SBT_CD)))
				{
					// 表示順が最大の宅内機器型式コードを取得する
					String wDspJun = (String)childMap.get(DSP_JUN);

					if (wDspJun != null)
					{
						if (JFUStrConst.EMPTY.equals(svDspJun))
						{
							svDspJun = wDspJun;
							retunMap.put(HDD_CAPA_CD, (String)childMap.get(HDD_CAPA_CD)); // HDD容量コード
							retunMap.put(TAKNKIKI_MODEL_CD, (String)childMap.get(TAKNKIKI_MODEL_CD)); // 宅内機器型式コード
						}
						if (wDspJun.compareTo(svDspJun) > 0)
						{
							svDspJun = wDspJun;
							retunMap.put(HDD_CAPA_CD, (String)childMap.get(HDD_CAPA_CD)); // HDD容量コード
							retunMap.put(TAKNKIKI_MODEL_CD, (String)childMap.get(TAKNKIKI_MODEL_CD)); // 宅内機器型式コード
						}
					}
				}
			}
		}

		return retunMap;
	}

	/**
	 * 【EKK0351B523_オプションチャンネル契約一覧照会（ＣＳコース）】下りマッピング
	 * @param bean　[0]：ｅｏ光テレビ契約変更／照会メニュー
	 * @param outputMap
	 * @return true：オプションチャンネル申込あり、false：オプションチャンネル申込なしorＣＳコースでない
	 */
	@SuppressWarnings("unchecked")
	public boolean getFUSV012513SC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{

		HashMap parentMap = null;
		if (outputMap.containsKey("FUSV012513SC"))
		{
			parentMap = (HashMap)outputMap.get("FUSV012513SC");
		}

		ArrayList childList = null;

		if (parentMap != null && parentMap.containsKey("EKK0351B523CBSMsg1List"))
		{
			childList = (ArrayList)parentMap.get("EKK0351B523CBSMsg1List");

			if (childList != null && childList.size() > 0)
			{
				return true;
			}

		}

		return false;
	}

	/**
	 * BSパススルー工事費割引CP 適用状態取得処理
	 *
	 * <br>
	 * @param bl ビューロジックのインスタンス
	 * @param outputMap サービスの実行結果
	 * @return "1"：BSパススルー工事費割引CPが適用済（適用中、適用済）、その他：BSパススルー工事費割引CPが未適用
	 */
	@SuppressWarnings("unchecked")
	public String getFUSV012501CC(X31BWebBusinessLogic bl, HashMap outputMap)
	{
		Map<String, String> cmpMap = JFUWebCommon.getTvBsptWribSvc(bl, outputMap, CC_TITLE_FUSV012501CC);
		if (JFUWebCommon.OUT_PARAM_WRIB_STS_FLG_1.equals(cmpMap.get(JFUWebCommon.OUT_PARAM_WRIB_STS_FLG)))
		{
			return JFUWebCommon.OUT_PARAM_WRIB_STS_FLG_1;
		}
		return JFUStrConst.EMPTY;
	}
}