/*********************************************************************
*	All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名		：eo顧客基幹システム
*	モジュール名	：FUSV0031_FUSV0031OPDBMapper
*	ソースファイル名：FUSV0031_FUSV0031OPDBMapper.java
*	作成者			：FJ
*	日付			：2011年12月08日
*＜機能概要＞
*	BP（eo光電話オプションサービス申込解約(初期表示)）へのＤ−Ｂマッピングクラスです。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v1.00.00	2011/12/08	FJ		新規作成
*	v3.00   	2012/04/10	FJ)濱口		【ANK-0041-00-00】 申込完了メール対応
*	v3.00   	2012/04/10	FJ)濱口		【ANK-0047-00-00】 通話料上限通知機能対応
*	v7.00       2013/12/19  FJ)岡井     【障害対応】多機能ルーター対応
*	v9.00       2014/05/20  FJ)西山     【ANK-2057-00-00】eo多機能ルーターによる複数通話対応
*   v14.00      2015/03/19  FJ)西川     【OM-2015-0000218】撤去工事完了時のオプション申込受付不具合
*   v14.00      2016/02/09  FJ)岡井     【OM-2016-0000231】電話のオプションSOD
**********************************************************************/
package eo.web.webview.mapping;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;

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.FUW05401SF.FUW05401SFConst;
import eo.web.webview.common.JFUWebCommon;

/**
 * DataBean-BPマッピングをします。
 *
 * <br>
 * @author 富士通
 */
public class FUSV0031_FUSV0031OPDBMapper
{
	/** BEANの必須レコード数 [0]：共有フォームビーン　[1]：ｅｏ光電話オプションサービス申込解約 */
	private static final int BEAN_LENGTH = 2;

	/** 機能コード */
	private static final String FUNC_CODE = "func_code";

	/** ＫＥＹ＿SYSID */
	private static final String KEY_SYSID = "key_sysid";
	/** ＫＥＹ＿サービス契約番号 */
	private static final String KEY_SVC_KEI_NO = "key_svc_kei_no";
	/** ＫＥＹ＿電話番号 */
	private static final String KEY_TELNO = "key_telno";
	/** ＫＥＹ＿オプションサービスコード */
	private static final String KEY_OP_SVC_CD = "key_op_svc_cd";
	/** ＫＥＹ＿料金コースコード */
	private static final String KEY_PCRS_CD = "key_pcrs_cd";
	/** ＫＥＹ＿料金プランコード */
	private static final String KEY_PPLAN_CD = "key_pplan_cd";
	/** ＫＥＹ＿サービス契約回線内訳番号 */
	private static final String KEY_SVC_KEI_KAISEN_UCWK_NO = "key_svc_kei_kaisen_ucwk_no";

	/** eo光電話サービス契約情報一覧照会マップ */
	private static final String FUSV003101_S_C = "FUSV003101SC";
	/** eo光電話サービス契約情報一覧照会明細 */
	private static final String EKK0081_B508_C_B_S_MSG1_LIST = "EKK0081B508CBSMsg1List";
	/** SYSID */
	private static final String SYSID = "sysid";
	/** サービス契約番号 */
	private static final String SVC_KEI_NO = "svc_kei_no";
	/** 料金コースコード（サービス契約） */
	private static final String KK0081_PCRS_CD = "kk0081_pcrs_cd";
	/** 料金プランコード（サービス契約） */
	private static final String KK0081_PPLAN_CD = "kk0081_pplan_cd";
	/** サービス契約内訳番号 */
	private static final String SVC_KEI_UCWK_NO = "svc_kei_ucwk_no";
	/** サービス契約内訳ステータス */
	private static final String SVC_KEI_UCWK_STAT = "svc_kei_ucwk_stat";
	/** WEBオプション追加不可フラグ */
	private static final String WEB_OP_ADD_FAIL_FLG = "web_op_add_fail_flg";
	/** 電話番号 */
	private static final String TELNO = "telno";
	/** サービス契約回線内訳番号 */
	private static final String SVC_KEI_KAISEN_UCWK_NO = "svc_kei_kaisen_ucwk_no";
	/** オプションサービス契約番号 */
	private static final String OP_SVC_KEI_NO = "op_svc_kei_no";
	/** オプションサービス契約ステータス */
	private static final String OP_SVC_KEI_STAT = "op_svc_kei_stat";
	/** オプションサービスコード */
	private static final String OP_SVC_CD = "op_svc_cd";
	/** 050オプション電話番号 */
	private static final String N_050_OP_TELNO = "n_050_op_telno";
	/** エイジング番号 */
	private static final String AGING_NO = "aging_no";
	/** サブオプションサービス契約番号 */
	private static final String SBOP_SVC_KEI_NO = "sbop_svc_kei_no";
	/** サブオプションサービス契約ステータス */
	private static final String SBOP_SVC_KEI_STAT = "sbop_svc_kei_stat";
	/** サブオプションサービスコード */
	private static final String SBOP_SVC_CD = "sbop_svc_cd";
	/** 回復可能期間 */
	private static final String KAIHK_PSB_PRD = "kaihk_psb_prd";
	/** 予約適用年月日（サービス契約） */
	private static final String KK0081_RSV_APLY_YMD = "kk0081_rsv_aply_ymd";
	/** 予約適用年月日（オプションサービス契約） */
	private static final String KK0351_RSV_APLY_YMD = "kk0351_rsv_aply_ymd";
	/** 予約適用年月日（サブオプションサービス契約） */
	private static final String KK0401_RSV_APLY_YMD = "kk0401_rsv_aply_ymd";
	/** 異動予約詳細コード（オプションサービス契約） */
	private static final String KK0351_IDO_RSV_DTL_CD = "kk0351_ido_rsv_dtl_cd";
	/** 異動予約詳細コード（サブオプションサービス契約） */
	private static final String KK0401_IDO_RSV_DTL_CD = "kk0401_ido_rsv_dtl_cd";
	/** 世代登録年月日時分秒（サービス契約） */
	private static final String KK0081_GENE_ADD_DTM = "kk0081_gene_add_dtm";
	/** 世代登録年月日時分秒（サービス契約内訳） */
	private static final String KK0161_GENE_ADD_DTM = "kk0161_gene_add_dtm";
	/** 世代登録年月日時分秒（オプションサービス契約） */
	private static final String KK0351_GENE_ADD_DTM = "kk0351_gene_add_dtm";
	/** 世代登録年月日時分秒（サブオプションサービス契約） */
	private static final String KK0401_GENE_ADD_DTM = "kk0401_gene_add_dtm";
	/** 最終更新年月日時分秒（エイジング） */
	private static final String ZM0111_UPD_DTM_BF = "zm0111_upd_dtm_bf";
	/** 通話料指定額到達通知指定金額 */
	private static final String TWRYO_STIAM_TTU_TCHI_STIAM = "twryo_stiam_ttu_tchi_stiam";

	/** 機器提供サービス契約一覧照会(サービス契約番号)マップ */
	private static final String FUSV003102_S_C = "FUSV003102SC";
	/** 機器提供サービス契約一覧照会(サービス契約番号)明細 */
	private static final String EKK0341_B002_C_B_S_MSG1_LIST = "EKK0341B002CBSMsg1List";
	/** 世代登録年月日時分秒 */
	private static final String GENE_ADD_DTM = "gene_add_dtm";
	/** 機器提供サービス契約番号 */
	private static final String KKTK_SVC_KEI_NO = "kktk_svc_kei_no";
	/** 機器製造番号 */
	private static final String KIKI_SEIZO_NO = "kiki_seizo_no";
	/** 宅内機器型式コード */
	private static final String TAKNKIKI_MODEL_CD = "taknkiki_model_cd";
	/** 最終更新年月日時分秒 */
	private static final String LAST_UPD_DTM = "last_upd_dtm";
	/** 機器製造番号 */
	private static final String KIKI_SEIZO_NO_LA = "KIKI_SEIZO_NO";
	/** 機器オプションサービスコード */
	private static final String KKOP_SVC_CD = "kkop_svc_cd";

	/** 料金コース_オプションサービス一意照会マップ */
	private static final String FUSV003103_S_C = "FUSV003103SC";
	/** 料金コース_オプションサービス一意照会明細 */
	private static final String EKK0811_A010_C_B_S_MSG1_LIST = "EKK0811A010CBSMsg1List";
	/** 最大オプションサービス数 */
	private static final String MAX_OP_SVC_CNT = "max_op_svc_cnt";
	/** 無料オプションサービス数 */
	private static final String MRYO_OP_SVC_CNT = "mryo_op_svc_cnt";

	/** 料金プラン固定単価（月額料金）一覧照会マップ */
	private static final String FUSV003104_S_C = "FUSV003104SC";
	/** 料金プラン固定単価（オプション申込料金）明細 */
	private static final String EKK0601_B001_C_B_S_MSG1_LIST = "EKK0601B001CBSMsg1List";

	/** 料金プラン固定単価（ユニバーサルサービス料）一覧照会マップ */
	private static final String FUSV003105_S_C = "FUSV003105SC";
	/** 料金プラン固定単価（ユニバーサル料金）明細 */
	private static final String EKK0601_B501_C_B_S_MSG1_LIST = "EKK0601B501CBSMsg1List";
	/** 料金プラン固定金額 */
	private static final String PPLAN_KOTEI_AMNT = "pplan_kotei_amnt";
	/** 料金プラン固定単位コード名 */
	private static final String PPLAN_KOTEI_TANI_CD_NM = "pplan_kotei_tani_cd_nm";

	/** 業務パラメータ管理一意照会SC */
	private static final String FUSV003106_S_C = "FUSV003106SC";
	/** 業務パラメータ管理一意照会明細 */
	private static final String EZM0321_A010_C_B_S_MSG1_LIST = "EZM0321A010CBSMsg1List";
	/** 業務パラメータ設定値 */
	private static final String WORK_PARAM_SETTE_VALUE = "work_param_sette_value";

	/** 機器オプションサービス契約一覧照会（フロント）SC */
	private static final String FUSV003107_S_C = "FUSV003107SC";
	/** 機器オプションサービス契約一覧照会（フロント）明細 */
	private static final String EKK2811B503CBSMSG1LIST = "EKK2811B503CBSMsg1List";

	/** 機器オプションサービス契約一覧照会（複合検索）SC */
	private static final String FUSV003108_S_C = "FUSV003108SC";
	/** 機器オプションサービス契約一覧照会（複合検索）明細 */
	private static final String EKK2811_B504_C_B_S_MSG1_LIST = "EKK2811B504CBSMsg1List";
	/** 機器オプションサービス契約ステータス */
	public static final String KKOP_SVC_KEI_STAT = "kkop_svc_kei_stat";

	/** 電話セレクトオプションパック一覧照会マップ */
	private static final String JKKTelSelectOpPackOperate_C_C = "JKKTelSelectOpPackOperateCC";
	/** 電話セレクトオプションパック一覧照会明細 */
	private static final String EKK0451_B001_C_B_S_MSG1_LIST = "EKK0451B001CBSMsg1List";
	/** 割引サービス契約リスト */
	private static final String WRIB_SVC_KEI_LIST = "wrib_svc_kei_list";
	/** 割引サービスコード */
	private static final String WRIB_SVC_CD = "wrib_svc_cd";
	/** 割引サービス契約ステータス */
	private static final String WRIB_SVC_KEI_STAT = "wrib_svc_kei_stat";
	/** サービス利用開始希望年月日 */
	private static final String SVC_USE_STA_KIBO_YMD = "svc_use_sta_kibo_ymd";

	/** 電話オプション申込み可否判定マップキー */
	private static final String TEL_OP_MSKM_CHECK_KEY = "JFUTelOpMskmCheckCC";

	/** 無効な割引サービス契約ステータス */
	private static final List<String> WRIB_SVC_KEI_STAT_MUKO = Arrays.asList(JFUStrConst.CD00055_910, JFUStrConst.CD00055_920);
	/** 無効なサービス契約ステータス */
	private static final List<String> SVC_KEI_STAT_MUKO = Arrays.asList(JFUStrConst.CD00037_910, JFUStrConst.CD00037_920);
	/** DataBean操作種別：項目値取得 */
	private static final String GET = X31CWebConst.DATABEAN_GET_VALUE;

	/**
	 * コンストラクタです。
	 */
	public FUSV0031_FUSV0031OPDBMapper()
	{
	}

	/**
	 * 上りマッピングを行います。
	 * @param bean　[0]：共有フォームビーン　[1]：ｅｏ光電話オプションサービス申込解約
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return HashMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV003101SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{

		if (bean == null)
		{
			return null;
		}

		if (bean.length != BEAN_LENGTH)
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, func_code);

		// ＳＹＳＩＤ → eo光電話サービス契約情報一覧照会マップ.ＫＥＹ＿SYSID
		parentMap.put(KEY_SYSID, bean[1].sendMessageString(FUW05401SFConst.SYSID, X31CWebConst.DATABEAN_GET_VALUE));
		// サービス契約番号 → eo光電話サービス契約情報一覧照会マップ.ＫＥＹ＿サービス契約番号
		parentMap.put(KEY_SVC_KEI_NO, bean[1].sendMessageString(FUW05401SFConst.SVC_KEI_NO, X31CWebConst.DATABEAN_GET_VALUE));
		// 電話番号 → eo光電話サービス契約情報一覧照会マップ.ＫＥＹ＿電話番号
		parentMap.put(KEY_TELNO, bean[1].sendMessageString(FUW05401SFConst.TELNO, X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put(FUSV003101_S_C, parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングを行います。
	 * @param bean　[0]：共有フォームビーン　[1]：ｅｏ光電話オプションサービス申込解約
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return HashMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV003102SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{

		if (bean == null)
		{
			return null;
		}

		if (bean.length != BEAN_LENGTH)
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, func_code);

		// サービス契約番号 → 機器提供サービス契約一覧照会（サービス契約番号）マップ.ＫＥＹ＿サービス契約番号
		parentMap.put(KEY_SVC_KEI_NO, bean[1].sendMessageString(FUW05401SFConst.SVC_KEI_NO, X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put(FUSV003102_S_C, parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングを行います。
	 * @param bean　[0]：共有フォームビーン　[1]：ｅｏ光電話オプションサービス申込解約
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return HashMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV003103SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{

		if (bean == null)
		{
			return null;
		}

		if (bean.length != BEAN_LENGTH)
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, func_code);

		// 料金コースコード（サービス契約） → 料金コース＿オプションサービス一意照会マップ.ＫＥＹ＿料金コースコード
		parentMap.put(KEY_PCRS_CD, bean[1].sendMessageString(FUW05401SFConst.KK0081_PCRS_CD, X31CWebConst.DATABEAN_GET_VALUE));
		// オプションサービスコード → 料金コース＿オプションサービス一意照会マップ.ＫＥＹ＿オプションサービスコード
		parentMap.put(KEY_OP_SVC_CD, bean[1].sendMessageString(FUW05401SFConst.OP_SVC_CD, X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put(FUSV003103_S_C, parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングを行います。
	 * @param bean　[0]：共有フォームビーン　[1]：ｅｏ光電話オプションサービス申込解約
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return HashMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV003104SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{

		if (bean == null)
		{
			return null;
		}

		if (bean.length != BEAN_LENGTH)
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, func_code);

		// 料金コースコード（料金プラン固定単価） → 料金プラン固定単価（オプション申込料金）一覧照会マップ.ＫＥＹ＿料金コースコード
		parentMap.put(KEY_PCRS_CD, bean[1].sendMessageString(FUW05401SFConst.KK0601_PCRS_CD, X31CWebConst.DATABEAN_GET_VALUE));
		// 料金プランコード（料金プラン固定単価） → 料金プラン固定単価（オプション申込料金）一覧照会マップ.ＫＥＹ＿料金プランコード
		parentMap.put(KEY_PPLAN_CD, bean[1].sendMessageString(FUW05401SFConst.KK0601_PPLAN_CD, X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put(FUSV003104_S_C, parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングを行います。
	 * @param bean　[0]：共有フォームビーン　[1]：ｅｏ光電話オプションサービス申込解約
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return HashMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV003105SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{

		if (bean == null)
		{
			return null;
		}

		if (bean.length != BEAN_LENGTH)
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, func_code);

		// 料金コースコード（サービス契約） → 料金プラン固定単価（ユニバーサルサービス料）一覧照会マップ.ＫＥＹ＿料金コースコード
		parentMap.put(KEY_PCRS_CD, bean[1].sendMessageString(FUW05401SFConst.KK0081_PCRS_CD, X31CWebConst.DATABEAN_GET_VALUE));
		// 料金プランコード（サービス契約） → 料金プラン固定単価（ユニバーサルサービス料）一覧照会マップ.ＫＥＹ＿料金プランコード
		parentMap.put(KEY_PPLAN_CD, bean[1].sendMessageString(FUW05401SFConst.KK0081_PPLAN_CD, X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put(FUSV003105_S_C, parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングを行います。
	 * @param bean　[0]：共有フォームビーン　[1]：ｅｏ光電話オプションサービス申込解約
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return null
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV003106SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{

		if (bean == null)
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, func_code);

		// 料金コースコード（サービス契約） → 料金プラン固定単価（ユニバーサルサービス料）一覧照会マップ.ＫＥＹ＿料金コースコード
		parentMap.put(KEY_PCRS_CD, bean[1].sendMessageString(FUW05401SFConst.KK0081_PCRS_CD, X31CWebConst.DATABEAN_GET_VALUE));
		// 料金プランコード（サービス契約） → 料金プラン固定単価（ユニバーサルサービス料）一覧照会マップ.ＫＥＹ＿料金プランコード
		parentMap.put(KEY_PPLAN_CD, bean[1].sendMessageString(FUW05401SFConst.KK0081_PPLAN_CD, X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put(FUSV003106_S_C, parentMap);

		return outputMap;
	}

	/**
	 * 機器オプションサービス契約一覧照会（フロント）の上りマッピングを行います。
	 * @param bean　[0]：共有フォームビーン　[1]：ｅｏ光電話オプションサービス申込解約
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return null
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV003107SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{

		if (bean == null)
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, func_code);

		// KEY_SYSID
		parentMap.put(KEY_SYSID, bean[1].sendMessageString(FUW05401SFConst.SYSID, X31CWebConst.DATABEAN_GET_VALUE));
		// ＫＥＹ＿サービス契約回線内訳番号
		parentMap.put(KEY_SVC_KEI_KAISEN_UCWK_NO, JFUWebCommon.getDataBeanItemByPath(bean[0],
				JFUWebCommon.SVC_KEI_KAISEN_UCWK_INFO + JFUWebCommon.SEP_0 + CommonInfoCFConst.SVC_KEI_KAISEN_UCWK_NO_26));

		outputMap.put(FUSV003107_S_C, parentMap);

		return outputMap;
	}


	/**
	 * 上りマッピングを行います。
	 * @param bean　[0]：共有フォームビーン　[1]：ｅｏ光電話オプションサービス申込解約
	 * @param outputMap
	 * @param opeDate
	 * @param func_code　機能コード
	 * @return HashMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV003108SC(X31SDataBeanAccess[] bean, HashMap outputMap, String opeDate, String func_code)
	{

		if (bean == null)
		{
			return null;
		}

		if (bean.length != BEAN_LENGTH)
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, func_code);

		// ＳＹＳＩＤ → ＫＥＹ＿SYSID
		parentMap.put(KEY_SYSID, bean[1].sendMessageString(FUW05401SFConst.SYSID, X31CWebConst.DATABEAN_GET_VALUE));
		// 運用日付 → ＫＥＹ＿予約適用年月日
		parentMap.put("key_rsv_aply_ymd", opeDate);

		ArrayList arrayList = new ArrayList<HashMap>();
		HashMap detailMap = new HashMap();
		arrayList.add(detailMap);
		parentMap.put(EKK2811_B504_C_B_S_MSG1_LIST, arrayList);


		outputMap.put(FUSV003108_S_C, parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングを行います。
	 * @param bean　[0]：電話セレクトオプションパック／照会メニュー
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return HashMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setJKKTelSelectOpPackOperateCC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{

		if (bean == null)
		{
			return null;
		}

		if (bean.length != BEAN_LENGTH)
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 機能コード
		parentMap.put("func_cd", func_code);

		// 処理区分("00"(照会)固定)
		parentMap.put("trn_div", "00");

		// サービス契約番号
		parentMap.put("svc_kei_no", bean[1].sendMessageString(FUW05401SFConst.WRIB_SVC_KEI_NO, X31CWebConst.DATABEAN_GET_VALUE));
		// サービス契約内訳番号
		parentMap.put("svc_kei_ucwk_no", bean[1].sendMessageString(FUW05401SFConst.WRIB_SVC_KEI_UCWK_NO, X31CWebConst.DATABEAN_GET_VALUE));

		ArrayList arrayList = new ArrayList<HashMap>();
		HashMap detailMap = new HashMap();
		arrayList.add(detailMap);
		parentMap.put(EKK0451_B001_C_B_S_MSG1_LIST, arrayList);

		outputMap.put(JKKTelSelectOpPackOperate_C_C, parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングを行います。
	 * @param commonInfoBean 共有フォームBean
	 * @param bean eo光電話お客さま契約情報変更／照会メニューサービスフォームBean
	 * @param outputMap
	 * @param func_code 機能コード
	 * @return HashMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setJFUTelOpMskmCheckCC(X31SDataBeanAccess commonInfoBean, X31SDataBeanAccess bean, HashMap outputMap, String func_code)
	{

		if (bean == null)
		{
			return null;
		}

		// 電話番号
		String telno = bean.sendMessageString(FUW05401SFConst.TELNO, X31CWebConst.DATABEAN_GET_VALUE);

		// ○サービス契約回線内訳番号
		// 共通フォームBean/ＷＥＢ変更情報/0/現顧客契約情報/0/サービス契約情報/0
		X31SDataBeanAccess svcKeiInfo = JFUWebCommon.getDataBeanTypeByPath(commonInfoBean, JFUWebCommon.SVC_KEI_INFO);

		// 共通フォームBean/ＷＥＢ変更情報/0/現顧客契約情報/0/サービス契約情報/0/サービス契約回線内訳情報/0
		X31SDataBeanAccessArray svcKeiKaisenUcwkInfoList = svcKeiInfo.getDataBeanArray(CommonInfoCFConst.SVC_KEI_KAISEN_UCWK_INFO);

		String svcKeiKaisenUcwkNo = null;
		for (int i = 0; i < svcKeiKaisenUcwkInfoList.getCount(); i++)
		{
			X31SDataBeanAccess svcKeiUcwkKaisenInfoBean = svcKeiKaisenUcwkInfoList.getDataBean(i);

			// サービス契約内訳ステータス
			String svcKeiKaisenUcwkStat = svcKeiUcwkKaisenInfoBean.sendMessageString(CommonInfoCFConst.SVC_KEI_KAISEN_UCWK_STAT_26, GET);

			// 解約・キャンセル時は、スキップ
			if (SVC_KEI_STAT_MUKO.contains(svcKeiKaisenUcwkStat))
			{
				continue;
			}

			// サービス契約回線内訳番号
			svcKeiKaisenUcwkNo = svcKeiUcwkKaisenInfoBean.sendMessageString(CommonInfoCFConst.SVC_KEI_KAISEN_UCWK_NO_26, GET);
		}

		// ○サービス契約内訳番号
		String svcKeiUcwkNo = null;
		// 共通フォームBean/ＷＥＢ変更情報/0/現顧客契約情報/0/サービス契約情報/0/サービス契約内訳情報/0
		X31SDataBeanAccessArray svcKeiUcwkInfoList = svcKeiInfo.getDataBeanArray(CommonInfoCFConst.SVC_KEI_UCWK_INFO);
		for (int i = 0; i < svcKeiUcwkInfoList.getCount(); i++)
		{
			X31SDataBeanAccess svcKeiUcwkInfoBean = svcKeiUcwkInfoList.getDataBean(i);

			// サービス契約内訳ステータス
			String svcKeiUcwkStat = svcKeiUcwkInfoBean.sendMessageString(CommonInfoCFConst.SVC_KEI_UCWK_STAT_24, GET);
			// 電話番号
			String svcKeiUcwkTelno = svcKeiUcwkInfoBean.sendMessageString(CommonInfoCFConst.TELNO_24, GET);

			// 解約・キャンセル時は、スキップ
			if (SVC_KEI_STAT_MUKO.contains(svcKeiUcwkStat))
			{
				continue;
			}
			// 電話番号が異なる場合は、スキップ
			if (!svcKeiUcwkTelno.equals(telno))
			{
				continue;
			}

			// サービス契約内訳番号
			svcKeiUcwkNo = svcKeiUcwkInfoBean.sendMessageString(CommonInfoCFConst.SVC_KEI_UCWK_NO_24, GET);
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 機能コード
		parentMap.put("func_cd", func_code);

		// SYSID
		parentMap.put(SYSID, bean.sendMessageString(FUW05401SFConst.SYSID, X31CWebConst.DATABEAN_GET_VALUE));

		// サービス契約番号
		parentMap.put(SVC_KEI_NO, bean.sendMessageString(FUW05401SFConst.SVC_KEI_NO, X31CWebConst.DATABEAN_GET_VALUE));

		// サービス契約内訳番号
		parentMap.put(SVC_KEI_UCWK_NO, svcKeiUcwkNo);

		// サービス契約回線内訳番号
		parentMap.put(SVC_KEI_KAISEN_UCWK_NO, svcKeiKaisenUcwkNo);

		outputMap.put(TEL_OP_MSKM_CHECK_KEY, parentMap);

		return outputMap;
	}

	/**
	 * 下りマッピングを行います。
	 * @param bean　[0]：共有フォームビーン　[1]：ｅｏ光電話オプションサービス申込解約
	 * @param outputMap
	 * @return X31SDataBeanAccess[]
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getFUSV003101SC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{

		HashMap parentMap = null;
		if (outputMap.containsKey(FUSV003101_S_C))
		{
			parentMap = (HashMap)outputMap.get(FUSV003101_S_C);
		}

		ArrayList childList = null;

		// サービス契約情報リスト ← eo光電話サービス契約情報一覧照会明細
		X31SDataBeanAccessArray listFUSV003101SC_svc_kei_info_list_EKK0081B508CBSMsg1List =
				bean[1].getDataBeanArray(FUW05401SFConst.SVC_KEI_INFO_LIST);
		childList = null;
		if (listFUSV003101SC_svc_kei_info_list_EKK0081B508CBSMsg1List != null && parentMap != null
				&& parentMap.containsKey(EKK0081_B508_C_B_S_MSG1_LIST))
		{
			childList = (ArrayList)parentMap.get(EKK0081_B508_C_B_S_MSG1_LIST);

			for (int i = 0; i < childList.size(); i++)
			{
				X31SDataBeanAccess subbean = null;
				if (listFUSV003101SC_svc_kei_info_list_EKK0081B508CBSMsg1List.getCount() - 1 >= i)
				{
					subbean = listFUSV003101SC_svc_kei_info_list_EKK0081B508CBSMsg1List.getDataBean(i);
				}
				else
				{
					subbean = listFUSV003101SC_svc_kei_info_list_EKK0081B508CBSMsg1List.addDataBean();
				}
				HashMap childMap = (HashMap)childList.get(i);
				if (subbean == null)
				{
					continue;
				}

				// サービス契約情報リスト.ＳＹＳＩＤ ← eo光電話サービス契約情報一覧照会マップ.eo光電話サービス契約情報一覧照会明細.SYSID
				if (childMap != null)
				{
					subbean.sendMessageString(FUW05401SFConst.SYSID_01, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get(SYSID));
				}
				else
				{
					subbean.sendMessageString(FUW05401SFConst.SYSID_01, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// サービス契約情報リスト.サービス契約番号 ← eo光電話サービス契約情報一覧照会マップ.eo光電話サービス契約情報一覧照会明細.サービス契約番号
				if (childMap != null)
				{
					subbean.sendMessageString(FUW05401SFConst.SVC_KEI_NO_01, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get(SVC_KEI_NO));
				}
				else
				{
					subbean.sendMessageString(FUW05401SFConst.SVC_KEI_NO_01, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// サービス契約情報リスト.料金コースコード（サービス契約）
				//	← eo光電話サービス契約情報一覧照会マップ.eo光電話サービス契約情報一覧照会明細.料金コースコード（サービス契約）
				if (childMap != null)
				{
					subbean.sendMessageString(FUW05401SFConst.KK0081_PCRS_CD_01, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap
							.get(KK0081_PCRS_CD));
				}
				else
				{
					subbean.sendMessageString(FUW05401SFConst.KK0081_PCRS_CD_01, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// サービス契約情報リスト.料金プランコード（サービス契約）
				//	← eo光電話サービス契約情報一覧照会マップ.eo光電話サービス契約情報一覧照会明細.料金プランコード（サービス契約）
				if (childMap != null)
				{
					subbean.sendMessageString(FUW05401SFConst.KK0081_PPLAN_CD_01, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap
							.get(KK0081_PPLAN_CD));
				}
				else
				{
					subbean.sendMessageString(FUW05401SFConst.KK0081_PPLAN_CD_01, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// サービス契約情報リスト.サービス契約内訳番号 ← eo光電話サービス契約情報一覧照会マップ.eo光電話サービス契約情報一覧照会明細.サービス契約内訳番号
				if (childMap != null)
				{
					subbean.sendMessageString(FUW05401SFConst.SVC_KEI_UCWK_NO_01, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap
							.get(SVC_KEI_UCWK_NO));
				}
				else
				{
					subbean.sendMessageString(FUW05401SFConst.SVC_KEI_UCWK_NO_01, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// サービス契約情報リスト.サービス契約内訳ステータス
				//	← eo光電話サービス契約情報一覧照会マップ.eo光電話サービス契約情報一覧照会明細.サービス契約内訳ステータス
				if (childMap != null)
				{
					subbean.sendMessageString(FUW05401SFConst.SVC_KEI_UCWK_STAT_01, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap
							.get(SVC_KEI_UCWK_STAT));
				}
				else
				{
					subbean.sendMessageString(FUW05401SFConst.SVC_KEI_UCWK_STAT_01, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// サービス契約情報リスト.ＷＥＢオプション追加不可フラグ
				//	← eo光電話サービス契約情報一覧照会マップ.eo光電話サービス契約情報一覧照会明細.WEBオプション追加不可フラグ
				if (childMap != null)
				{
					subbean.sendMessageString(FUW05401SFConst.WEB_OP_ADD_FAIL_FLG_01, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap
							.get(WEB_OP_ADD_FAIL_FLG));
				}
				else
				{
					subbean.sendMessageString(FUW05401SFConst.WEB_OP_ADD_FAIL_FLG_01, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// サービス契約情報リスト.電話番号 ← eo光電話サービス契約情報一覧照会マップ.eo光電話サービス契約情報一覧照会明細.電話番号
				if (childMap != null)
				{
					subbean.sendMessageString(FUW05401SFConst.TELNO_01, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get(TELNO));
				}
				else
				{
					subbean.sendMessageString(FUW05401SFConst.TELNO_01, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// サービス契約情報リスト.サービス契約回線内訳番号
				//	← eo光電話サービス契約情報一覧照会マップ.eo光電話サービス契約情報一覧照会明細.サービス契約回線内訳番号
				if (childMap != null)
				{
					subbean.sendMessageString(FUW05401SFConst.SVC_KEI_KAISEN_UCWK_NO_01, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap
							.get(SVC_KEI_KAISEN_UCWK_NO));
				}
				else
				{
					subbean.sendMessageString(FUW05401SFConst.SVC_KEI_KAISEN_UCWK_NO_01, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// サービス契約情報リスト.オプションサービス契約番号
				//	← eo光電話サービス契約情報一覧照会マップ.eo光電話サービス契約情報一覧照会明細.オプションサービス契約番号
				if (childMap != null)
				{
					subbean.sendMessageString(FUW05401SFConst.OP_SVC_KEI_NO_01, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get(OP_SVC_KEI_NO));
				}
				else
				{
					subbean.sendMessageString(FUW05401SFConst.OP_SVC_KEI_NO_01, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// サービス契約情報リスト.オプションサービス契約ステータス
				//	← eo光電話サービス契約情報一覧照会マップ.eo光電話サービス契約情報一覧照会明細.オプションサービス契約ステータス
				if (childMap != null)
				{
					subbean.sendMessageString(FUW05401SFConst.OP_SVC_KEI_STAT_01, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap
							.get(OP_SVC_KEI_STAT));
				}
				else
				{
					subbean.sendMessageString(FUW05401SFConst.OP_SVC_KEI_STAT_01, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// サービス契約情報リスト.オプションサービスコード
				//	← eo光電話サービス契約情報一覧照会マップ.eo光電話サービス契約情報一覧照会明細.オプションサービスコード
				if (childMap != null)
				{
					subbean.sendMessageString(FUW05401SFConst.OP_SVC_CD_01, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get(OP_SVC_CD));
				}
				else
				{
					subbean.sendMessageString(FUW05401SFConst.OP_SVC_CD_01, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// サービス契約情報リスト.０５０オプション電話番号
				//	← eo光電話サービス契約情報一覧照会マップ.eo光電話サービス契約情報一覧照会明細.050オプション電話番号
				if (childMap != null)
				{
					subbean.sendMessageString(FUW05401SFConst.N_050_OP_TELNO_01, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap
							.get(N_050_OP_TELNO));
				}
				else
				{
					subbean.sendMessageString(FUW05401SFConst.N_050_OP_TELNO_01, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// サービス契約情報リスト.エイジング番号 ← eo光電話サービス契約情報一覧照会マップ.eo光電話サービス契約情報一覧照会明細.エイジング番号
				if (childMap != null)
				{
					subbean.sendMessageString(FUW05401SFConst.AGING_NO_01, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get(AGING_NO));
				}
				else
				{
					subbean.sendMessageString(FUW05401SFConst.AGING_NO_01, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// サービス契約情報リスト.サブオプションサービス契約番号
				//	← eo光電話サービス契約情報一覧照会マップ.eo光電話サービス契約情報一覧照会明細.サブオプションサービス契約番号
				if (childMap != null)
				{
					subbean.sendMessageString(FUW05401SFConst.SBOP_SVC_KEI_NO_01, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap
							.get(SBOP_SVC_KEI_NO));
				}
				else
				{
					subbean.sendMessageString(FUW05401SFConst.SBOP_SVC_KEI_NO_01, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// サービス契約情報リスト.サブオプションサービス契約ステータス
				//	← eo光電話サービス契約情報一覧照会マップ.eo光電話サービス契約情報一覧照会明細.サブオプションサービス契約ステータス
				if (childMap != null)
				{
					subbean.sendMessageString(FUW05401SFConst.SBOP_SVC_KEI_STAT_01, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap
							.get(SBOP_SVC_KEI_STAT));
				}
				else
				{
					subbean.sendMessageString(FUW05401SFConst.SBOP_SVC_KEI_STAT_01, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// サービス契約情報リスト.サブオプションサービスコード
				//	← eo光電話サービス契約情報一覧照会マップ.eo光電話サービス契約情報一覧照会明細.サブオプションサービスコード
				if (childMap != null)
				{
					subbean.sendMessageString(FUW05401SFConst.SBOP_SVC_CD_01, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get(SBOP_SVC_CD));
				}
				else
				{
					subbean.sendMessageString(FUW05401SFConst.SBOP_SVC_CD_01, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// サービス契約情報リスト.回復可能期間 ← eo光電話サービス契約情報一覧照会マップ.eo光電話サービス契約情報一覧照会明細.回復可能期間
				if (childMap != null)
				{
					subbean.sendMessageString(FUW05401SFConst.KAIHK_PSB_PRD_01, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get(KAIHK_PSB_PRD));
				}
				else
				{
					subbean.sendMessageString(FUW05401SFConst.KAIHK_PSB_PRD_01, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// サービス契約情報リスト.予約適用年月日（サービス契約内訳）
				//	← eo光電話サービス契約情報一覧照会マップ.eo光電話サービス契約情報一覧照会明細.予約適用年月日（サービス契約）
				if (childMap != null)
				{
					subbean.sendMessageString(FUW05401SFConst.KK0161_RSV_APLY_YMD_01, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap
							.get(KK0081_RSV_APLY_YMD));
				}
				else
				{
					subbean.sendMessageString(FUW05401SFConst.KK0161_RSV_APLY_YMD_01, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// サービス契約情報リスト.予約適用年月日（オプションサービス契約）
				//	← eo光電話サービス契約情報一覧照会マップ.eo光電話サービス契約情報一覧照会明細.予約適用年月日（オプションサービス契約）
				if (childMap != null)
				{
					subbean.sendMessageString(FUW05401SFConst.KK0351_RSV_APLY_YMD_01, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap
							.get(KK0351_RSV_APLY_YMD));
				}
				else
				{
					subbean.sendMessageString(FUW05401SFConst.KK0351_RSV_APLY_YMD_01, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// サービス契約情報リスト.予約適用年月日（サブオプションサービス契約）
				//	← eo光電話サービス契約情報一覧照会マップ.eo光電話サービス契約情報一覧照会明細.予約適用年月日（サブオプションサービス契約）
				if (childMap != null)
				{
					subbean.sendMessageString(FUW05401SFConst.KK0401_RSV_APLY_YMD_01, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap
							.get(KK0401_RSV_APLY_YMD));
				}
				else
				{
					subbean.sendMessageString(FUW05401SFConst.KK0401_RSV_APLY_YMD_01, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// サービス契約情報リスト.異動予約詳細コード（オプションサービス契約）
				//	← eo光電話サービス契約情報一覧照会マップ.eo光電話サービス契約情報一覧照会明細.異動予約詳細コード（オプションサービス契約）
				if (childMap != null)
				{
					subbean.sendMessageString(FUW05401SFConst.KK0351_IDO_RSV_DTL_CD_01, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap
							.get(KK0351_IDO_RSV_DTL_CD));
				}
				else
				{
					subbean.sendMessageString(FUW05401SFConst.KK0351_IDO_RSV_DTL_CD_01, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// サービス契約情報リスト.異動予約詳細コード（サブオプションサービス契約）
				//	← eo光電話サービス契約情報一覧照会マップ.eo光電話サービス契約情報一覧照会明細.異動予約詳細コード（サブオプションサービス契約）
				if (childMap != null)
				{
					subbean.sendMessageString(FUW05401SFConst.KK0401_IDO_RSV_DTL_CD_01, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap
							.get(KK0401_IDO_RSV_DTL_CD));
				}
				else
				{
					subbean.sendMessageString(FUW05401SFConst.KK0401_IDO_RSV_DTL_CD_01, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// サービス契約情報リスト.世代登録年月日時分秒（サービス契約）
				//	← eo光電話サービス契約情報一覧照会マップ.eo光電話サービス契約情報一覧照会明細.世代登録年月日時分秒（サービス契約）
				if (childMap != null)
				{
					subbean.sendMessageString(FUW05401SFConst.KK0081_GENE_ADD_DTM_01, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap
							.get(KK0081_GENE_ADD_DTM));
				}
				else
				{
					subbean.sendMessageString(FUW05401SFConst.KK0081_GENE_ADD_DTM_01, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// サービス契約情報リスト.世代登録年月日時分秒（サービス契約内訳）
				//	← eo光電話サービス契約情報一覧照会マップ.eo光電話サービス契約情報一覧照会明細.世代登録年月日時分秒（サービス契約内訳）
				if (childMap != null)
				{
					subbean.sendMessageString(FUW05401SFConst.KK0161_GENE_ADD_DTM_01, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap
							.get(KK0161_GENE_ADD_DTM));
				}
				else
				{
					subbean.sendMessageString(FUW05401SFConst.KK0161_GENE_ADD_DTM_01, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// サービス契約情報リスト.世代登録年月日時分秒（オプションサービス契約）
				//	← eo光電話サービス契約情報一覧照会マップ.eo光電話サービス契約情報一覧照会明細.世代登録年月日時分秒（オプションサービス契約）
				if (childMap != null)
				{
					subbean.sendMessageString(FUW05401SFConst.KK0351_GENE_ADD_DTM_01, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap
							.get(KK0351_GENE_ADD_DTM));
				}
				else
				{
					subbean.sendMessageString(FUW05401SFConst.KK0351_GENE_ADD_DTM_01, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// サービス契約情報リスト.世代登録年月日時分秒（サブオプションサービス契約）
				//	← eo光電話サービス契約情報一覧照会マップ.eo光電話サービス契約情報一覧照会明細.世代登録年月日時分秒（サブオプションサービス契約）
				if (childMap != null)
				{
					subbean.sendMessageString(FUW05401SFConst.KK0401_GENE_ADD_DTM_01, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap
							.get(KK0401_GENE_ADD_DTM));
				}
				else
				{
					subbean.sendMessageString(FUW05401SFConst.KK0401_GENE_ADD_DTM_01, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// サービス契約情報リスト.最終更新年月日時分秒（エイジング）
				//	← eo光電話サービス契約情報一覧照会マップ.eo光電話サービス契約情報一覧照会明細.最終更新年月日時分秒（エイジング）
				if (childMap != null)
				{
					subbean.sendMessageString(FUW05401SFConst.ZM0111_UPD_DTM_BF_01, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap
							.get(ZM0111_UPD_DTM_BF));
				}
				else
				{
					subbean.sendMessageString(FUW05401SFConst.ZM0111_UPD_DTM_BF_01, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// サービス契約情報リスト.通話料指定額到達通知指定金額 ← eo光電話サービス契約情報一覧照会マップ.
				//	eo光電話サービス契約情報一覧照会明細.通話料指定額到達通知指定金額
				if (childMap != null)
				{
					subbean.sendMessageString(FUW05401SFConst.TWRYO_STIAM_TTU_TCHI_STIAM_01, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap
							.get(TWRYO_STIAM_TTU_TCHI_STIAM));
				}

			}
		}

		return bean;
	}

	/**
	 * 下りマッピングを行います。
	 * @param bean　[0]：共有フォームビーン　[1]：ｅｏ光電話オプションサービス申込解約
	 * @param outputMap
	 * @return X31SDataBeanAccess[]
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getFUSV003102SC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{

		HashMap parentMap = null;
		if (outputMap.containsKey(FUSV003102_S_C))
		{
			parentMap = (HashMap)outputMap.get(FUSV003102_S_C);
		}

		ArrayList childList = null;

		// 機器提供サービス契約リスト ← 機器提供サービス契約一覧照会(サービス契約番号)明細
		X31SDataBeanAccessArray listFUSV003102SC_kktk_svc_kei_list_EKK0341B002CBSMsg1List =
				bean[1].getDataBeanArray(FUW05401SFConst.KKTK_SVC_KEI_LIST);
		childList = null;
		if (listFUSV003102SC_kktk_svc_kei_list_EKK0341B002CBSMsg1List != null && parentMap != null
				&& parentMap.containsKey(EKK0341_B002_C_B_S_MSG1_LIST))
		{
			childList = (ArrayList)parentMap.get(EKK0341_B002_C_B_S_MSG1_LIST);

			for (int i = 0; i < childList.size(); i++)
			{
				X31SDataBeanAccess subbean = null;
				if (listFUSV003102SC_kktk_svc_kei_list_EKK0341B002CBSMsg1List.getCount() - 1 >= i)
				{
					subbean = listFUSV003102SC_kktk_svc_kei_list_EKK0341B002CBSMsg1List.getDataBean(i);
				}
				else
				{
					subbean = listFUSV003102SC_kktk_svc_kei_list_EKK0341B002CBSMsg1List.addDataBean();
				}
				HashMap childMap = (HashMap)childList.get(i);
				if (subbean == null)
				{
					continue;
				}

				// 機器提供サービス契約リスト.世代登録年月日時分秒
				//	← 機器提供サービス契約一覧照会（サービス契約番号）マップ.機器提供サービス契約一覧照会（サービス契約番号）明細.世代登録年月日時分秒
				if (childMap != null)
				{
					subbean.sendMessageString(FUW05401SFConst.GENE_ADD_DTM_02, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get(GENE_ADD_DTM));
				}
				else
				{
					subbean.sendMessageString(FUW05401SFConst.GENE_ADD_DTM_02, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 機器提供サービス契約リスト.機器提供サービス契約番号
				//	← 機器提供サービス契約一覧照会（サービス契約番号）マップ.機器提供サービス契約一覧照会（サービス契約番号）明細.機器提供サービス契約番号
				if (childMap != null)
				{
					subbean.sendMessageString(FUW05401SFConst.KKTK_SVC_KEI_NO_02, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap
							.get(KKTK_SVC_KEI_NO));
				}
				else
				{
					subbean.sendMessageString(FUW05401SFConst.KKTK_SVC_KEI_NO_02, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 機器提供サービス契約リスト.機器製造番号
				//	← 機器提供サービス契約一覧照会（サービス契約番号）マップ.機器提供サービス契約一覧照会（サービス契約番号）明細.機器製造番号
				if (childMap != null)
				{
					subbean.sendMessageString(FUW05401SFConst.KIKI_SEIZO_NO_02, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get(KIKI_SEIZO_NO));
				}
				else
				{
					subbean.sendMessageString(FUW05401SFConst.KIKI_SEIZO_NO_02, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 機器提供サービス契約リスト.宅内機器型式コード
				//	← 機器提供サービス契約一覧照会（サービス契約番号）マップ.機器提供サービス契約一覧照会（サービス契約番号）明細.宅内機器型式コード
				if (childMap != null)
				{
					subbean.sendMessageString(FUW05401SFConst.TAKNKIKI_MODEL_CD_02, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap
							.get(TAKNKIKI_MODEL_CD));
				}
				else
				{
					subbean.sendMessageString(FUW05401SFConst.TAKNKIKI_MODEL_CD_02, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 機器提供サービス契約リスト.最終更新年月日時分秒（機器提供サービス契約）
				//	← 機器提供サービス契約一覧照会（サービス契約番号）マップ.機器提供サービス契約一覧照会（サービス契約番号）明細.最終更新年月日時分秒
				if (childMap != null)
				{
					subbean.sendMessageString(FUW05401SFConst.KK0341_UPD_DTM_BF_02, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap
							.get(LAST_UPD_DTM));
				}
				else
				{
					subbean.sendMessageString(FUW05401SFConst.KK0341_UPD_DTM_BF_02, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
			}
		}

		return bean;
	}

	/**
	 * 下りマッピングを行います。
	 * @param bean　[0]：共有フォームビーン　[1]：ｅｏ光電話オプションサービス申込解約
	 * @param outputMap
	 * @return X31SDataBeanAccess[]
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getFUSV003103SC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{

		HashMap parentMap = null;
		if (outputMap.containsKey(FUSV003103_S_C))
		{
			parentMap = (HashMap)outputMap.get(FUSV003103_S_C);
		}

		ArrayList childList = null;

		// 料金コース＿オプションサービスリスト ← 料金コース_オプションサービス一意照会明細
		X31SDataBeanAccessArray listFUSV003103SC_pcrs_op_svc_list_EKK0811A010CBSMsg1List = bean[1].getDataBeanArray(FUW05401SFConst.PCRS_OP_SVC_LIST);
		childList = null;
		if (listFUSV003103SC_pcrs_op_svc_list_EKK0811A010CBSMsg1List != null && parentMap != null
				&& parentMap.containsKey(EKK0811_A010_C_B_S_MSG1_LIST))
		{
			childList = (ArrayList)parentMap.get(EKK0811_A010_C_B_S_MSG1_LIST);

			for (int i = 0; i < childList.size(); i++)
			{
				X31SDataBeanAccess subbean = null;
				if (listFUSV003103SC_pcrs_op_svc_list_EKK0811A010CBSMsg1List.getCount() - 1 >= i)
				{
					subbean = listFUSV003103SC_pcrs_op_svc_list_EKK0811A010CBSMsg1List.getDataBean(i);
				}
				else
				{
					subbean = listFUSV003103SC_pcrs_op_svc_list_EKK0811A010CBSMsg1List.addDataBean();
				}
				HashMap childMap = (HashMap)childList.get(i);
				if (subbean == null)
				{
					continue;
				}

				// 料金コース＿オプションサービスリスト.最大オプションサービス数
				//	← 料金コース＿オプションサービス一意照会マップ.料金コース＿オプションサービス一意照会明細.最大オプションサービス数
				if (childMap != null)
				{
					subbean.sendMessageString(FUW05401SFConst.MAX_OP_SVC_CNT_03, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap
							.get(MAX_OP_SVC_CNT));
				}
				else
				{
					subbean.sendMessageString(FUW05401SFConst.MAX_OP_SVC_CNT_03, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 料金コース＿オプションサービスリスト.無料オプションサービス数
				//	← 料金コース＿オプションサービス一意照会マップ.料金コース＿オプションサービス一意照会明細.無料オプションサービス数
				if (childMap != null)
				{
					subbean.sendMessageString(FUW05401SFConst.MRYO_OP_SVC_CNT_03, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap
							.get(MRYO_OP_SVC_CNT));
				}
				else
				{
					subbean.sendMessageString(FUW05401SFConst.MRYO_OP_SVC_CNT_03, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
			}
		}

		return bean;
	}

	/**
	 * 下りマッピングを行います。
	 * @param bean　[0]：共有フォームビーン　[1]：ｅｏ光電話オプションサービス申込解約
	 * @param outputMap
	 * @return X31SDataBeanAccess[]
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getFUSV003104SC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{

		HashMap parentMap = null;
		if (outputMap.containsKey(FUSV003104_S_C))
		{
			parentMap = (HashMap)outputMap.get(FUSV003104_S_C);
		}

		ArrayList childList = null;

		// 料金プラン固定単価（月額料金）リスト ← 料金プラン固定単価（オプション申込料金）明細
		X31SDataBeanAccessArray listFUSV003104SC_kihon_prc_list_EKK0601B001CBSMsg1List = bean[1].getDataBeanArray(FUW05401SFConst.KIHON_PRC_LIST);
		childList = null;
		if (listFUSV003104SC_kihon_prc_list_EKK0601B001CBSMsg1List != null && parentMap != null
				&& parentMap.containsKey(EKK0601_B001_C_B_S_MSG1_LIST))
		{
			childList = (ArrayList)parentMap.get(EKK0601_B001_C_B_S_MSG1_LIST);

			for (int i = 0; i < childList.size(); i++)
			{
				X31SDataBeanAccess subbean = null;
				if (listFUSV003104SC_kihon_prc_list_EKK0601B001CBSMsg1List.getCount() - 1 >= i)
				{
					subbean = listFUSV003104SC_kihon_prc_list_EKK0601B001CBSMsg1List.getDataBean(i);
				}
				else
				{
					subbean = listFUSV003104SC_kihon_prc_list_EKK0601B001CBSMsg1List.addDataBean();
				}
				HashMap childMap = (HashMap)childList.get(i);
				if (subbean == null)
				{
					continue;
				}

				// 料金プラン固定単価（月額料金）リスト.料金プラン固定金額
				//	← 料金プラン固定単価（オプション申込料金）一覧照会マップ.料金プラン固定単価（オプション申込料金）明細.料金プラン固定金額
				if (childMap != null)
				{
					subbean.sendMessageString(FUW05401SFConst.PPLAN_KOTEI_AMNT_04, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap
							.get(PPLAN_KOTEI_AMNT));
				}
				else
				{
					subbean.sendMessageString(FUW05401SFConst.PPLAN_KOTEI_AMNT_04, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 料金プラン固定単価（月額料金）リスト.料金プラン固定単位コード名
				//	← 料金プラン固定単価（オプション申込料金）一覧照会マップ.料金プラン固定単価（オプション申込料金）明細.料金プラン固定単位コード名
				if (childMap != null)
				{
					subbean.sendMessageString(FUW05401SFConst.PPLAN_KOTEI_TANI_CD_NM_04, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap
							.get(PPLAN_KOTEI_TANI_CD_NM));
				}
				else
				{
					subbean.sendMessageString(FUW05401SFConst.PPLAN_KOTEI_TANI_CD_NM_04, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
			}
		}

		return bean;
	}

	/**
	 * 下りマッピングを行います。
	 * @param bean　[0]：共有フォームビーン　[1]：ｅｏ光電話オプションサービス申込解約
	 * @param outputMap
	 * @return X31SDataBeanAccess[]
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getFUSV003105SC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{

		HashMap parentMap = null;
		if (outputMap.containsKey(FUSV003105_S_C))
		{
			parentMap = (HashMap)outputMap.get(FUSV003105_S_C);
		}

		ArrayList childList = null;

		// 料金プラン固定単価（ユニバーサルサービス料）リスト ← 料金プラン固定単価（ユニバーサル料金）明細
		X31SDataBeanAccessArray listFUSV003105SC_univ_svc_prc_list_EKK0601B501CBSMsg1List =
				bean[1].getDataBeanArray(FUW05401SFConst.UNIV_SVC_PRC_LIST);
		childList = null;
		if (listFUSV003105SC_univ_svc_prc_list_EKK0601B501CBSMsg1List != null && parentMap != null
				&& parentMap.containsKey(EKK0601_B501_C_B_S_MSG1_LIST))
		{
			childList = (ArrayList)parentMap.get(EKK0601_B501_C_B_S_MSG1_LIST);

			for (int i = 0; i < childList.size(); i++)
			{
				X31SDataBeanAccess subbean = null;
				if (listFUSV003105SC_univ_svc_prc_list_EKK0601B501CBSMsg1List.getCount() - 1 >= i)
				{
					subbean = listFUSV003105SC_univ_svc_prc_list_EKK0601B501CBSMsg1List.getDataBean(i);
				}
				else
				{
					subbean = listFUSV003105SC_univ_svc_prc_list_EKK0601B501CBSMsg1List.addDataBean();
				}
				HashMap childMap = (HashMap)childList.get(i);
				if (subbean == null)
				{
					continue;
				}

				// 料金プラン固定単価（ユニバーサルサービス料）リスト.料金プラン固定金額
				//	← 料金プラン固定単価（ユニバーサル料金）一覧照会マップ.料金プラン固定単価（ユニバーサル料金）明細.料金プラン固定金額
				if (childMap != null)
				{
					subbean.sendMessageString(FUW05401SFConst.PPLAN_KOTEI_AMNT_04, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap
							.get(PPLAN_KOTEI_AMNT));
				}
				else
				{
					subbean.sendMessageString(FUW05401SFConst.PPLAN_KOTEI_AMNT_04, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 料金プラン固定単価（ユニバーサルサービス料）リスト.料金プラン固定単位コード名
				//	← 料金プラン固定単価（ユニバーサル料金）一覧照会マップ.料金プラン固定単価（ユニバーサル料金）明細.料金プラン固定単位コード名
				if (childMap != null)
				{
					subbean.sendMessageString(FUW05401SFConst.PPLAN_KOTEI_TANI_CD_NM_04, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap
							.get(PPLAN_KOTEI_TANI_CD_NM));
				}
				else
				{
					subbean.sendMessageString(FUW05401SFConst.PPLAN_KOTEI_TANI_CD_NM_04, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
			}
		}

		return bean;
	}

	/**
	 * 下りマッピングを行います。
	 * @param bean　[0]：共有フォームビーン　[1]：ｅｏ光電話オプションサービス申込解約
	 * @param outputMap
	 * @return bean
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getFUSV003106SC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{

		HashMap parentMap = null;
		if (outputMap.containsKey(FUSV003106_S_C))
		{
			parentMap = (HashMap)outputMap.get(FUSV003106_S_C);
		}

		ArrayList childList = null;

		// 業務パラメータ管理一意照会明細
		if (parentMap != null && parentMap.containsKey(EZM0321_A010_C_B_S_MSG1_LIST))
		{
			childList = (ArrayList)parentMap.get(EZM0321_A010_C_B_S_MSG1_LIST);

			for (int i = 0; i < childList.size(); i++)
			{
				HashMap childMap = (HashMap)childList.get(i);

				// 業務パラメータ管理一意照会明細リスト.料金プラン固定単位コード名 ← 料金プラン固定単価（ユニバーサル料金）
				//	一覧照会マップ.料金プラン固定単価（ユニバーサル料金）明細.料金プラン固定単位コード名

				// 業務パラメータ管理一意照会明細.業務パラメータ設定値 ← 業務パラメータ管理一意照会明細.業務パラメータ設定値
				bean[1].sendMessageObject(FUW05401SFConst.WORK_PARAM_SETTE_VALUE, X31CWebConst.DATABEAN_SET_VALUE, childMap
						.get(WORK_PARAM_SETTE_VALUE));
				break;
			}
		}
		return bean;
	}

	/**
	 * 機器オプションサービス契約一覧照会（フロント）の下りマッピングを行います。
	 * @param bean　[0]：共有フォームビーン　[1]：ｅｏ光電話オプションサービス申込解約
	 * @param outputMap
	 * @return X31SDataBeanAccess[]
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getFUSV003107SC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{

		HashMap parentMap = null;
		if (outputMap.containsKey(FUSV003107_S_C))
		{
			parentMap = (HashMap)outputMap.get(FUSV003107_S_C);
		}

		ArrayList childList = null;

		// 機器提供サービス契約リスト ← 機器提供サービス契約一覧照会(サービス契約番号)明細
		X31SDataBeanAccessArray listFUSV003107SC_kktk_svc_kei_list_EKK0341B002CBSMsg1List =
				bean[1].getDataBeanArray(FUW05401SFConst.KKTK_SVC_KEI_LIST);
		childList = null;
		if (listFUSV003107SC_kktk_svc_kei_list_EKK0341B002CBSMsg1List != null && parentMap != null && parentMap.containsKey(EKK2811B503CBSMSG1LIST))
		{
			childList = (ArrayList)parentMap.get(EKK2811B503CBSMSG1LIST);

			for (int i = 0; i < childList.size(); i++)
			{
				HashMap childMap = (HashMap)childList.get(i);

				String kkopSvcCd = (String)childMap.get(KKOP_SVC_CD);
				if(!JFUStrConst.KK2801_KKOP_SVC_CD_G02.equals(kkopSvcCd))
				{
					continue;
				}

				X31SDataBeanAccess subbean = listFUSV003107SC_kktk_svc_kei_list_EKK0341B002CBSMsg1List.addDataBean();

				// 世代登録年月日時分秒
				if (childMap != null && !JFUWebCommon.isNull(childMap.get(GENE_ADD_DTM)))
				{
					subbean.sendMessageString(FUW05401SFConst.GENE_ADD_DTM_02, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get(GENE_ADD_DTM));
				}
				else
				{
					subbean.sendMessageString(FUW05401SFConst.GENE_ADD_DTM_02, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 機器提供サービス契約番号
				if (childMap != null && !JFUWebCommon.isNull(childMap.get(KKTK_SVC_KEI_NO)))
				{
					subbean.sendMessageString(FUW05401SFConst.KKTK_SVC_KEI_NO_02, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap
							.get(KKTK_SVC_KEI_NO));
				}
				else
				{
					subbean.sendMessageString(FUW05401SFConst.KKTK_SVC_KEI_NO_02, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				//機器製造番号
				if (childMap != null && !JFUWebCommon.isNull(childMap.get(KIKI_SEIZO_NO_LA)))
				{
					subbean.sendMessageString(FUW05401SFConst.KIKI_SEIZO_NO_02, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap
							.get(KIKI_SEIZO_NO_LA));
				}
				else
				{
					subbean.sendMessageString(FUW05401SFConst.KIKI_SEIZO_NO_02, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 宅内機器型式コード
				if (childMap != null && !JFUWebCommon.isNull(childMap.get(TAKNKIKI_MODEL_CD)))
				{
					subbean.sendMessageString(FUW05401SFConst.TAKNKIKI_MODEL_CD_02, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap
							.get(TAKNKIKI_MODEL_CD));
				}
				else
				{
					subbean.sendMessageString(FUW05401SFConst.TAKNKIKI_MODEL_CD_02, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
			}
		}

		return bean;
	}


	/**
	 * 機器オプションサービス契約一覧照会（複合検索）の下りマッピングを行います。
	 * @param bean　[0]：共有フォームビーン　[1]：ｅｏ光電話オプションサービス申込解約
	 * @param outputMap
	 * @return X31SDataBeanAccess[]
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getFUSV003108SC(X31SDataBeanAccess[] bean, HashMap<String, Object> outputMap)
	{

		String flg = JFUStrConst.CD00002_0;

		if (outputMap.containsKey(FUSV003108_S_C))
		{

			String svcKeiNo = bean[1].sendMessageString(FUW05401SFConst.SVC_KEI_NO, X31CWebConst.DATABEAN_GET_VALUE);

			HashMap<String, Object> fusv008104SCMap = (HashMap)outputMap.get(FUSV003108_S_C);
			ArrayList<HashMap<String, String>> ekk2811b504CBSMsg1List = (ArrayList<HashMap<String, String>>)fusv008104SCMap.get(EKK2811_B504_C_B_S_MSG1_LIST);

			X31SDataBeanAccess genCustKeiInfoBean = null;
			X31SDataBeanAccess svcKeiInfoBean = null;

			// ★WEB変更の情報を取得
			X31SDataBeanAccess webChgInfoBean = bean[0].getDataBeanArray(CommonInfoCFConst.WEB_CHG_INFO).getDataBean(0);
			X31SDataBeanAccessArray genCustKeiInfoArray = webChgInfoBean.getDataBeanArray(CommonInfoCFConst.GEN_CUST_KEI_INFO);
			// ★現顧客情報を取得
			for (int i = 0; i < genCustKeiInfoArray.getCount(); i++)
			{
				// ★サービス契約情報(現顧客情報の子)を取得
				genCustKeiInfoBean = genCustKeiInfoArray.getDataBean(i);
				X31SDataBeanAccessArray svcKeiInfoArray = genCustKeiInfoBean.getDataBeanArray(CommonInfoCFConst.SVC_KEI_INFO);

				for (int j = 0; j < svcKeiInfoArray.getCount(); j++)
				{
					svcKeiInfoBean = svcKeiInfoArray.getDataBean(j);
					if (svcKeiNo != null && !svcKeiNo.equals(svcKeiInfoBean.sendMessageString(CommonInfoCFConst.SVC_KEI_NO_23, X31CWebConst.DATABEAN_GET_VALUE)))
					{
						// サービス契約番号が異なる場合は含めない
						continue;
					}
					// ★機器提供サービス契約情報(サービス契約情報の子)を取得
					X31SDataBeanAccessArray kktkSvcKeiInfoArray = svcKeiInfoBean.getDataBeanArray(CommonInfoCFConst.KKTK_SVC_KEI_INFO);
					int kktkSvcKeiListSize = kktkSvcKeiInfoArray.getCount();
					for (int k = 0; k < kktkSvcKeiListSize; k++)
					{
						// 機器提供サービス契約番号
						String kktkSvcKeiNo = kktkSvcKeiInfoArray.getDataBean(k)
						.sendMessageString(CommonInfoCFConst.KKTK_SVC_KEI_NO_27, X31CWebConst.DATABEAN_GET_VALUE);

						for (int idx = 0; idx < ekk2811b504CBSMsg1List.size(); idx++)
						{
							HashMap<String, String> ekk2811b504CBSMsg = ekk2811b504CBSMsg1List.get(idx);
							if (kktkSvcKeiNo == null || !kktkSvcKeiNo.equals(ekk2811b504CBSMsg.get(KKTK_SVC_KEI_NO)))
							{
								continue;
							}
							if (JFUStrConst.KK2801_KKOP_SVC_CD_G02.equals(ekk2811b504CBSMsg.get(KKOP_SVC_CD))
									&& (JFUStrConst.CD00056_100.equals(ekk2811b504CBSMsg.get(KKOP_SVC_KEI_STAT))
											|| JFUStrConst.CD00056_210.equals(ekk2811b504CBSMsg.get(KKOP_SVC_KEI_STAT))
											|| JFUStrConst.CD00056_220.equals(ekk2811b504CBSMsg.get(KKOP_SVC_KEI_STAT))))
							{
								flg =  JFUStrConst.CD00002_1;
							}
						}
					}
				}
			}
		}

		bean[1].sendMessageString(FUW05401SFConst.MULTI_PHONE_CALL_FLG, X31CWebConst.DATABEAN_SET_VALUE, flg);

		return bean;
	}

	/**
	 * 下りマッピングを行います。
	 * @param bean　[0]：共有フォームビーン　[1]：ｅｏ光電話オプションサービス申込解約
	 * @param outputMap
	 * @param opeDate
	 * @return X31SDataBeanAccess[]
	 */
	public X31SDataBeanAccess[] getJKKTelSelectOpPackOperateCC(X31SDataBeanAccess[] bean, HashMap outputMap, String opeDate)
	{

		HashMap parentMap = null;
		if (outputMap.containsKey(JKKTelSelectOpPackOperate_C_C))
		{
			parentMap = (HashMap)outputMap.get(JKKTelSelectOpPackOperate_C_C);
		}

		ArrayList childList = null;
		String reserveFlg = JFUStrConst.S_ZERO;
		String wricSvcCd = JFUStrConst.EMPTY;

		childList = null;
		if (parentMap != null && parentMap.containsKey(WRIB_SVC_KEI_LIST))
		{
			childList = (ArrayList)parentMap.get(WRIB_SVC_KEI_LIST);

			// 割引サービスコードを取得
			for (int i = 0; i < childList.size(); i++)
			{
				HashMap childMap = (HashMap)childList.get(i);

				String wribSvcKeiStat = (String)childMap.get(WRIB_SVC_KEI_STAT);

				// 割引契約ステータスが解約済み／キャンセル済みの場合
				if (WRIB_SVC_KEI_STAT_MUKO.contains(wribSvcKeiStat))
				{
					continue;
				}

				wricSvcCd = (String)childMap.get(WRIB_SVC_CD);
				break;
			}

			// 異動予約有無を取得
			for (int i = 0; i < childList.size(); i++)
			{
				HashMap childMap = (HashMap)childList.get(i);

				// サービス利用開始希望年月日
				String svc_use_sta_kibo_ymd = (String)childMap.get(SVC_USE_STA_KIBO_YMD);
				if (JFUWebCommon.isNull(svc_use_sta_kibo_ymd))
				{
					continue;
				}

				// サービス利用開始希望年月日が運用日付より未来の場合
				if (Long.parseLong(opeDate) < Long.parseLong(svc_use_sta_kibo_ymd))
				{
					// 予約あり
					reserveFlg = JFUStrConst.S_ONE;
					break;
				}
			}
		}

		bean[1].sendMessageString(FUW05401SFConst.WRIB_SVC_CD, X31CWebConst.DATABEAN_SET_VALUE, wricSvcCd);
		bean[1].sendMessageString(FUW05401SFConst.RESERVE_FLG, X31CWebConst.DATABEAN_SET_VALUE, reserveFlg);

		return bean;
	}

}