/*********************************************************************
*	All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名		：eo顧客基幹システム
*	モジュール名	：KKSV0247_KKSV0247OPDBMapper
*	ソースファイル名：KKSV0247_KKSV0247OPDBMapper.java
*	作成者			：FJ
*	日付			：2012年01月18日
*＜機能概要＞
*	BP（機器提供サービス契約登録画面初期表示サービス）へのＤ−Ｂマッピングクラスです。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v1.00.00	2012/01/18	FJ		新規作成
*	v3.00.00    2012/03/02	FJ) 古田   【ANK-0069-00-00】機器登録画面への商品名表示を修正。
*	v3.00.00    2012/03/04	FJ) 古田   【ANK-0116-00-00】ネット・オプションサービスの事務手数料および機器返送費用の変更対応。
*	v4.00.00	2012/10/11	FJ）緑川	【ANK-1188-00-00】宅内機器管理S：在庫更新処理の変更対応
*	v4.01.00	2012/12/08	FJ）鳩本	【IT1-2012-0002348】TVコース検索(eo光テレビ再送信)対応
*	v4.02.00	2012/12/27	FJ）野口	【IT1-2012-0002594】料金グループ判定対応
*	v4.03.00	2013/01/07	FJ）鳩本	【IT1-2013-0000017】不要メソッド削除
*	v4.04.00	2013/02/21	FJ）鳩本	【KT1-2013-0000162】障害対応
*	v5.00.01	2013/04/15	FJ）田原	【OT-2013-0000641】障害対応
*	v5.00.02	2013/06/06	FJ）古田	【IT2-2013-0000505】障害対応
*   v7.00.00    2013/10/21  FJ)田原     【ANK-1578-00-00】対応
*   v10.00.00   2014/07/23  FJ)森本     【ANK-1918-00-00】新ＵＳ管理システム対応
*   v10.00.01	2014/10/02	FJ）森本	【ANK-1918-00-00】新ＵＳ管理システム対応(案件内仕変)
*	v11.00.00	2014/11/10	FJ) 起塚	【ANK-2080-00-00】対応
*	v12.00.00	2015/01/20	FJ) 米谷	【OM-2015-0000005】対応
*   v25.00.00	2016/06/22	FJ) 黒田	【ANK-2679-01-00】eoスタッフ対応
*   v32.00.00	2017/04/24	FJ) 阪口	【ANK-3149-00-00】新セキュリティパック導入
*	v61.00.00	2022/01/31	FJ) 永江	【ANK-4315-00-00】【eo定期】 eoホームゲートウェイ導入対応
**********************************************************************/
package eo.web.webview.mapping;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.Map;

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.JKKStrConst;
import eo.common.constant.JZM0171Constant;
import eo.common.util.JPCUtilCommon;
import eo.web.webview.KKW03301SF.KKW03301SFConst;
import eo.web.webview.common.JKKCommonConst;

/**
 * DataBean-BPマッピングをする。
 * 
 */
public class KKSV0247_KKSV0247OPDBMapper {
	
	/* ++++++++++ v5.00.02 変更開始 ++++++++++ */
	/** 返却値（サービスコード） */
	private static final String OUT_SVC_CD = "OUT_SVC_CD";
	/** 返却値（料金グループコード） */
	private static final String OUT_PRC_GRP_CD = "OUT_PRC_GRP_CD";
	/** 返却値（料金コースコード） */
	private static final String OUT_PCRS_CD = "OUT_PCRS_CD";
	/** 返却値（提供方式契約番号） */
	private static final String OUT_TK_HOSHIKI_KEI_NO = "OUT_TK_HOSHIKI_KEI_NO";
	/** 返却値（マンション物件コード） */
	private static final String OUT_MANS_BUKKEN_CD = "OUT_MANS_BUKKEN_CD";
	/** 返却値（マンション通信設備コード） */
	private static final String OUT_MANS_TUSHIN_EQUIP_CD = "OUT_MANS_TUSHIN_EQUIP_CD";
	/** マンション物件コード（マンション） */
	private static final String MANS_BUKKEN_CD_MANS = "001";
	/** マンション通信設備コード（VDSL） */
	private static final String MANS_TUSHIN_EQUIP_CD_VDSL = "01";
	/** マンション通信設備コード（光配線） */
	private static final String MANS_TUSHIN_EQUIP_CD_HKR = "03";
	/* ++++++++++ v5.00.02 変更完了 ++++++++++ */
	
	/* ++++++++++ v12.00.00 修正開始 ++++++++++ */
	private static final String[] KOJICHU_KOJIAK_STAT = new String[]{"130", "140", "150", "160", "170", "180"};
	/* ++++++++++ v12.00.00 修正終了 ++++++++++ */
	
	/**
	 * コンストラクタ
	 */
	public KKSV0247_KKSV0247OPDBMapper(){
	}
	
	/**
	 * 上りマッピングをする
	 * @param bean　[0]：機器提供サービス契約登録
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV024701SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code) {
		
		if(bean == null){
			return null;
		}
		
		if(bean.length != 1){
			return null;
		}


		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);
		
		// 提供種別コード（CD00212）取得
		parentMap.put("key_cd_sbt_cd", JZM0171Constant.CD00212);

		// 運用日付 → 機器提供種別リスト取得マップ.ＫＥＹ＿基準日
		parentMap.put("key_stdardymd", bean[0].sendMessageString(KKW03301SFConst.UNYO_YMD, X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("KKSV024701SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：機器提供サービス契約登録
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV024702SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code) {
		
		if(bean == null){
			return null;
		}
		
		if(bean.length != 1){
			return null;
		}


		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);
		
		parentMap.put("key_cd_sbt_cd", JZM0171Constant.CD00348);

		// 運用日付 → 販売種別リスト取得マップ.ＫＥＹ＿基準日
		parentMap.put("key_stdardymd", bean[0].sendMessageString(KKW03301SFConst.UNYO_YMD, X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("KKSV024702SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：機器提供サービス契約登録
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV024703SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code) {
		
		if(bean == null){
			return null;
		}
		
		if(bean.length != 1){
			return null;
		}


		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);
		
		parentMap.put("key_cd_sbt_cd", JZM0171Constant.CD00866);

		// 運用日付 → 機器付加情報リスト取得マップ.ＫＥＹ＿基準日
		parentMap.put("key_stdardymd", bean[0].sendMessageString(KKW03301SFConst.UNYO_YMD, X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("KKSV024703SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：機器提供サービス契約登録
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV024705SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code) {
		
		if(bean == null){
			return null;
		}
		
		if(bean.length != 1){
			return null;
		}


		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);
		
		parentMap.put("key_cd_sbt_cd", JZM0171Constant.CD00002);

		// 運用日付 → 有無リスト取得マップ.ＫＥＹ＿基準日
		parentMap.put("key_stdardymd", bean[0].sendMessageString(KKW03301SFConst.UNYO_YMD, X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("KKSV024705SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：機器提供サービス契約登録
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV024708SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code) {
		
		if(bean == null){
			return null;
		}
		
		if(bean.length != 1){
			return null;
		}


		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		// 運用日付 → 倉庫一覧照会マップ.ＫＥＹ＿運用日付
		parentMap.put("key_unyo_ymd", bean[0].sendMessageString(KKW03301SFConst.UNYO_YMD, X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("KKSV024708SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：機器提供サービス契約登録
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV024709SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code) {
		
		if(bean == null){
			return null;
		}
		
		if(bean.length != 1){
			return null;
		}


		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		// 運用日付 → 型式対象機器提供種別一覧照会.ＫＥＹ＿基準年月日
		parentMap.put("key_std_ymd", bean[0].sendMessageString(KKW03301SFConst.UNYO_YMD, X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("KKSV024709SC", parentMap);
						
		return outputMap;
	}
	
	/**
	 * 上りマッピングをする
	 * @param bean　[0]：機器提供サービス契約登録
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV024710SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code) {
		
		if(bean == null){
			return null;
		}
		
		if(bean.length != 1){
			return null;
		}


		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		// サービス契約内訳（2） → 料金コース一覧照会（料金グループコード）.ＫＥＹ＿料金コース種別コード
		parentMap.put("key_pcrs_sbt_cd", "2");
		
		// 運用日
		parentMap.put("key_base_ymd", bean[0].sendMessageString(KKW03301SFConst.UNYO_YMD, X31CWebConst.DATABEAN_GET_VALUE));
		
		// サービス契約共通情報一覧照会明細
		X31SDataBeanAccess svcKeiCommon = bean[0].getDataBeanArray(KKW03301SFConst.EKK0081B010CBSMSG1LIST).getDataBean(0);
		
		/* ++++++++++ v4.01.00 変更開始 ++++++++++ */
//		parentMap.put("prc_grp_cd", svcKeiCommon.sendMessageString(KKW03301SFConst.PRC_GRP_CD_02, X31CWebConst.DATABEAN_GET_VALUE));
		String prc_grp_cd = svcKeiCommon.sendMessageString(KKW03301SFConst.PRC_GRP_CD_02, X31CWebConst.DATABEAN_GET_VALUE);
		
		if(JKKCommonConst.PRC_GRP_CD_13.equals(prc_grp_cd))
		{
			prc_grp_cd = JKKCommonConst.PRC_GRP_CD_11;
		}
		
		parentMap.put("prc_grp_cd", prc_grp_cd);
		/* ++++++++++ v4.01.00 変更完了 ++++++++++ */
		
		/* ++++++++++ v4.02.00 追加開始 ++++++++++ */
		// ＴＶコース判別用グループコード
		String tv_prc_grp_cd = JKKCommonConst.PRC_GRP_CD_11 + "," 
							+ JKKCommonConst.PRC_GRP_CD_12 	+ ","
							+ JKKCommonConst.PRC_GRP_CD_13;
		
		parentMap.put("tv_prc_grp_cd", tv_prc_grp_cd);
		/* ++++++++++ v4.02.00 追加終了 ++++++++++ */
		
		outputMap.put("KKSV024710SC", parentMap);
		
		return outputMap;
	}
	
//	/**
//	 * 上りマッピングをする
//	 * @param bean　[0]：機器提供サービス契約登録
//	 * @param outputMap
//	 * @param func_code　機能コード
//	 */
//	@SuppressWarnings("unchecked")
//	public HashMap setKKSV024717SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code) {
//		
//		if(bean == null){
//			return null;
//		}
//		
//		if(bean.length != 1){
//			return null;
//		}
//
//
//		HashMap<String, Object> parentMap = new HashMap<String, Object>();
//
//		// 共通情報のマッピング
//		parentMap.put("func_code", func_code);
//		
//		// サービス別宅内機器型式候補一覧照会.ＫＥＹ＿登録可否
//		parentMap.put("key_add_kh", "1");
//		// 運用日付 → サービス別宅内機器型式候補一覧照会.ＫＥＹ＿基準年月日
//		parentMap.put("key_base_ymd", bean[0].sendMessageString(KKW03301SFConst.UNYO_YMD, X31CWebConst.DATABEAN_GET_VALUE));
//		
//		// サービス契約の料金グループコード
//		// サービス契約共通情報一覧照会明細
//		X31SDataBeanAccess svcKeiCommon = bean[0].getDataBeanArray(KKW03301SFConst.EKK0081B010CBSMSG1LIST).getDataBean(0);
//		parentMap.put("prc_grp_cd", svcKeiCommon.sendMessageString(KKW03301SFConst.PRC_GRP_CD_02, X31CWebConst.DATABEAN_GET_VALUE));
//		// 料金コースコード
//		parentMap.put("pcrs_cd", svcKeiCommon.sendMessageString(KKW03301SFConst.PCRS_CD_02, X31CWebConst.DATABEAN_GET_VALUE));
//
//		// 型式検索条件料金グループコードを設定
//		parentMap.put("tkml_jk_prc_gp_cd", bean[0].sendMessageString(KKW03301SFConst.TKML_JK_PRC_GP_CD, X31CWebConst.DATABEAN_GET_VALUE));
//		
//		outputMap.put("KKSV024717SC", parentMap);
//						
//		return outputMap;
//	}
	
	/**
	 * 上りマッピングをする
	 * @param bean　[0]：機器提供サービス契約登録
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV024717CC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code) {
		
		if(bean == null){
			return null;
		}
		
		if(bean.length != 1){
			return null;
		}


		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);
		
		// サービス別宅内機器型式候補一覧照会.ＫＥＹ＿登録可否
		parentMap.put("key_add_kh", "1");
		// 運用日付 → サービス別宅内機器型式候補一覧照会.ＫＥＹ＿基準年月日
		parentMap.put("key_base_ymd", bean[0].sendMessageString(KKW03301SFConst.UNYO_YMD, X31CWebConst.DATABEAN_GET_VALUE));
		
		// サービス契約の料金グループコード
		// サービス契約共通情報一覧照会明細
		X31SDataBeanAccess svcKeiCommon = bean[0].getDataBeanArray(KKW03301SFConst.EKK0081B010CBSMSG1LIST).getDataBean(0);
		parentMap.put("prc_grp_cd", svcKeiCommon.sendMessageString(KKW03301SFConst.PRC_GRP_CD_02, X31CWebConst.DATABEAN_GET_VALUE));
		// 料金コースコード
		parentMap.put("pcrs_cd", svcKeiCommon.sendMessageString(KKW03301SFConst.PCRS_CD_02, X31CWebConst.DATABEAN_GET_VALUE));

		// 型式検索条件料金グループコードを設定
		parentMap.put("tkml_jk_prc_gp_cd", bean[0].sendMessageString(KKW03301SFConst.TKML_JK_PRC_GP_CD, X31CWebConst.DATABEAN_GET_VALUE));
		
		// コード種別
		parentMap.put("key_cd_sbt_cd", "CD01467");
		
		outputMap.put("KKSV024717CC", parentMap);
		
		return outputMap;
	}
	
	/**
	 * 上りマッピングをする
	 * @param bean　[0]：機器提供サービス契約登録
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV024724CC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code) {
		
		if(bean == null){
			return null;
		}
		
		if(bean.length != 1){
			return null;
		}


		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		ArrayList<HashMap<String, Object>> list = new ArrayList<HashMap<String, Object>>();
		
		X31SDataBeanAccessArray kojiAnknList = bean[0].getDataBeanArray(KKW03301SFConst.KJ_ANKEN_NO_CHILD);
		X31SDataBeanAccess kojiAnknInf = kojiAnknList.getDataBean(0);

		
		int length = (Integer)kojiAnknInf.sendMessage(KKW03301SFConst.KJ_ANKEN_NO_LIST_07, X31CWebConst.DATABEAN_GET_COUNT);
		
		HashMap<String, Object> childMap = null;
		for(int i=0;i<length;i++)
		{
			childMap = new HashMap<String, Object>();
			
			childMap.put("kojiak_no", kojiAnknInf.sendMessageString(KKW03301SFConst.KJ_ANKEN_NO_LIST_07, X31CWebConst.DATABEAN_GET_VALUE, i));
			
			list.add(childMap);
		}
		
		
		parentMap.put("kojiak_info_list", list);
		
		outputMap.put("KKSV024724CC", parentMap);
						
		return outputMap;
	}
	
	/**
	 * 上りマッピングをする
	 * @param bean　[0]：機器提供サービス契約登録
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV024725SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code) {
		
		if(bean == null){
			return null;
		}
		
		if(bean.length != 1){
			return null;
		}


		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		// 運用日付 → 倉庫一覧照会マップ.ＫＥＹ＿運用日付
		parentMap.put("key_ope_date", bean[0].sendMessageString(KKW03301SFConst.UNYO_YMD, X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("KKSV024725SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：機器提供サービス契約登録
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV024726CC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code) {
		
		if(bean == null){
			return null;
		}
		
		if(bean.length != 1){
			return null;
		}


		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		// 運用日付 → 倉庫一覧取得マップ.ＫＥＹ＿運用日付
		parentMap.put("key_unyo_ymd", bean[0].sendMessageString(KKW03301SFConst.UNYO_YMD, X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("KKSV024726CC", parentMap);
						
		return outputMap;
	}
	/* ++++++++++ v4.03.00 削除開始 ++++++++++ */
//	/**
//	 * 上りマッピングをする
//	 * @param bean　[0]：機器提供サービス契約登録
//	 * @param outputMap
//	 * @param func_code　機能コード
//	 */
//	@SuppressWarnings("unchecked")
//	public HashMap setKKSV024727SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code) {
//		
//		if(bean == null){
//			return null;
//		}
//		
//		if(bean.length != 1){
//			return null;
//		}
//		
//		HashMap<String, Object> parentMap = new HashMap<String, Object>();
//
//		// 共通情報のマッピング
//		parentMap.put("func_code", func_code);
//		
//		// 引継情報を取得
//		X31SDataBeanAccessArray custKeiHktgiList =  bean[0].getDataBeanArray(JKKCommonConst.HKTGI_CUST_KEI_HKTGI_LIST);
//		X31SDataBeanAccess custKeiHktgiInfo = custKeiHktgiList.getDataBean(0);
//
//		// サービス契約番号 → 機器情報取得マップ.ＫＥＹ＿サービス契約番号
//		parentMap.put("key_svc_kei_no", custKeiHktgiInfo.sendMessageString(JKKCommonConst.HKTGI_SVC_KEI_NO, X31CWebConst.DATABEAN_GET_VALUE));
//		
//		// ＫＥＹ＿機器提供サービスコード
////		parentMap.put("key_kktk_svc_cd", "");
//		
//		// ＫＥＹ＿基準年月日
//		// 日付は未設定とする。
////		parentMap.put("key_base_ymd", bean[0].sendMessageString(KKW03301SFConst.UNYO_YMD, X31CWebConst.DATABEAN_GET_VALUE));
////		parentMap.put("key_base_ymd", "");
//		
//		outputMap.put("KKSV024727SC", parentMap);
//		
//		return outputMap;
//		
//	}
	/* ++++++++++ v4.03.00 削除完了 ++++++++++ */
	
	/* ++++++++++ v5.00.02 変更開始 ++++++++++ */
	/**
	 * 上りマッピングをする
	 * @param bean　[0]：機器提供サービス契約登録
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV024728CC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code) {
		
		if(bean == null){
			return null;
		}
		
		if(bean.length != 1){
			return null;
		}


		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 引継情報を取得
		X31SDataBeanAccessArray custKeiHktgiList =  bean[0].getDataBeanArray(JKKCommonConst.HKTGI_CUST_KEI_HKTGI_LIST);
		X31SDataBeanAccess custKeiHktgiInfo = custKeiHktgiList.getDataBean(0);

		// サービス契約番号
		parentMap.put("svc_kei_no", custKeiHktgiInfo.sendMessageString(JKKCommonConst.HKTGI_SVC_KEI_NO, X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("KKSV024728CC", parentMap);
						
		return outputMap;
	}
	/* ++++++++++ v5.00.02 変更完了 ++++++++++ */
	
	/* ++++++++++ v10.00.01 削除開始 ++++++++++ */
	/* ++++++++++ v10.00.00 追加開始 ++++++++++ */
//	/**
//	 * 下りマッピング
//	 * @param bean　[0]：機器マンション情報一覧
//	 * @param outputMap
//	 * @return X31SDataBeanAccess[]
//	 */
//	@SuppressWarnings("unchecked")
//	public X31SDataBeanAccess[] getKKSV024728CC(X31SDataBeanAccess[] bean, HashMap outputMap)
//	{
//		HashMap parentMap = null;
//		if (outputMap.containsKey("KKSV024728CC"))
//		{
//			parentMap = (HashMap)outputMap.get("KKSV024728CC");
//		}
//		
//		// 提供方式契約番号 ← サービス契約一意照会マップ.提供方式契約番号
//		bean[0].sendMessageString("提供方式契約番号", X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("OUT_TK_HOSHIKI_KEI_NO"));
//		
//		// 提供方式契約番号 ← サービス契約一意照会マップ.提供方式パターンコード
//		bean[0].sendMessageString("提供方式パターンコード", X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("OUT_TK_HOSHIKI_PATTERN_CD"));
//		
//		return bean;
//	}
	/* ++++++++++ v10.00.00 追加終了 ++++++++++ */
	/* ++++++++++ v10.00.01 削除終了 ++++++++++ */
	
// ANK-2679-01-00 ADD START
	
	/**
	 * 上りマッピングをする
	 * @param bean　[0]：機器提供サービス契約登録
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV024729SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code) {
		
		if(bean == null)
		{
			return null;
		}

		if(bean.length != 1)
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		parentMap.put("key_cd_sbt_cd", JZM0171Constant.CD01268);

		// 運用日付 → 受付担当者リスト取得マップ.ＫＥＹ＿基準日
		parentMap.put("key_stdardymd", bean[0].sendMessageString(KKW03301SFConst.UNYO_YMD, X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("KKSV024729SC", parentMap);
		

		return outputMap;
	}
	
// ANK-2679-01-00 ADD END
	
	/* ++++++++++ v7.00.00追加開始 ++++++++++ */
	/**
	 * 上りマッピングをする
	 * @param bean　[0]：機器提供サービス契約登録
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKikiAddInfoCC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code) {
		
		if(bean == null){
			return null;
		}
		
		if(bean.length != 1){
			return null;
		}
		
		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);
		
		// ＫＥＹ＿基準日
		parentMap.put("key_stdardymd", bean[0].sendMessageString(KKW03301SFConst.UNYO_YMD, X31CWebConst.DATABEAN_GET_VALUE));

		// ＫＥＹ＿サービス契約番号
		parentMap.put("key_svc_kei_no", bean[0].sendMessageString(KKW03301SFConst.KEY_SVC_KEI_NO, X31CWebConst.DATABEAN_GET_VALUE));
		
		// サービスコード
		parentMap.put("svc_cd", bean[0].sendMessageString(KKW03301SFConst.SVC_CD, X31CWebConst.DATABEAN_GET_VALUE));
		
		// ベーシックルータ判別用ＯＰＭＳルータ種別コードを取得します。（業務パラメタから取得した値）
		parentMap.put("opms_rout_sbt_basic", bean[0].sendMessageString(KKW03301SFConst.OPMS_ROUT_SBT_BASIC, X31CWebConst.DATABEAN_GET_VALUE));
		
		// BBRの機器提供サービスコードを取得します。（業務パラメタから取得した値）
		parentMap.put("bbr_kktk_svc_cd", bean[0].sendMessageString(KKW03301SFConst.BBR_KKTK_SVC_CD, X31CWebConst.DATABEAN_GET_VALUE));
		
		// 機器提供サービスコード（光電話用ＶＡ）を取得します。（業務パラメタから取得した値）
		parentMap.put("hkrtel_kk_svc_cd", bean[0].sendMessageString(KKW03301SFConst.HKRTEL_KK_SVC_CD, X31CWebConst.DATABEAN_GET_VALUE));
		
		// 遷移モード
		parentMap.put("seni_Mode", "kikiAdd");
		
		// v12.00.00 修正開始
		
		X31SDataBeanAccessArray kojiAkChildArray = bean[0].getDataBeanArray(KKW03301SFConst.KJ_ANKEN_NO_CHILD);
		X31SDataBeanAccess kojiAkChild = kojiAkChildArray.getDataBean(0);
		
		int count = (Integer)kojiAkChild.sendMessage(KKW03301SFConst.KJ_ANKEN_NO_LIST_07, X31CWebConst.DATABEAN_GET_COUNT);
		
		String kjAkNo = "";
		String kjAkStat = "";
		
		for(int i = 0; i < count; i++)
		{
			// 工事案件ステータス
			kjAkStat = kojiAkChild.sendMessageString(KKW03301SFConst.KJ_ANKEN_STAT_LIST_07, X31CWebConst.DATABEAN_GET_VALUE, i);
			
			if(isKinkyuKojiakNo(kjAkStat))
			{
				kjAkNo = kojiAkChild.sendMessageString(KKW03301SFConst.KJ_ANKEN_NO_LIST_07, X31CWebConst.DATABEAN_GET_VALUE, i);
				break;
			}
		}
		
		parentMap.put("kjak_no_adchg", kjAkNo);
		
		// v12.00.00 修正終了
		
		outputMap.put("KikiAddInfoCC", parentMap);
						
		return outputMap;
	}
	/* ++++++++++ v7.00.00追加終了 ++++++++++ */
	
// ANK-3149-00-00 ADD START
	/**
	 * 上りマッピングをする
	 * @param bean　[0]：機器提供サービス契約登録
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setSpMskmViewCtrlCC(X31SDataBeanAccess[] bean, HashMap outputMap) {
		
		if(bean == null){
			return null;
		}
		
		if(bean.length != 1){
			return null;
		}
		
		HashMap<String, Object> parentMap = new HashMap<String, Object>();
		
		// 顧客契約引継を取得
		X31SDataBeanAccessArray custKeiHktgiList =  bean[0].getDataBeanArray(JKKCommonConst.HKTGI_CUST_KEI_HKTGI_LIST);
		X31SDataBeanAccess custKeiHktgiInfo = custKeiHktgiList.getDataBean(0);
		
		// サービス契約番号
		parentMap.put("svc_kei_no", custKeiHktgiInfo.sendMessageString(KKW03301SFConst.HKTGI_SVC_KEI_NO_04, X31CWebConst.DATABEAN_GET_VALUE));
		
		outputMap.put("JKKSpMskmViewCtrlCC", parentMap);
		
		return outputMap;
	}
// ANK-3149-00-00 ADD END
// ANK-4315-00-00 ADD START
	/**
	 * 上りマッピングをする
	 * @param bean　[0]：機器提供サービス契約登録
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setRzkzmAnkenChkCC(X31SDataBeanAccess[] bean, HashMap outputMap) {
		
		if(bean == null){
			return null;
		}
		
		if(bean.length != 1){
			return null;
		}
		
		HashMap<String, Object> parentMap = new HashMap<String, Object>();
		
		// 顧客契約引継を取得
		X31SDataBeanAccessArray custKeiHktgiList =  bean[0].getDataBeanArray(JKKCommonConst.HKTGI_CUST_KEI_HKTGI_LIST);
		X31SDataBeanAccess custKeiHktgiInfo = custKeiHktgiList.getDataBean(0);
		
		// サービス契約番号
		parentMap.put("svc_kei_no", custKeiHktgiInfo.sendMessageString(KKW03301SFConst.HKTGI_SVC_KEI_NO_04, X31CWebConst.DATABEAN_GET_VALUE));
		// サービス契約回線内訳番号
		parentMap.put("svc_kei_kaisen_ucwk_no", bean[0].sendMessageString(KKW03301SFConst.SVC_KEI_KAISEN_UCWK_NO, X31CWebConst.DATABEAN_GET_VALUE));
		// 異動区分
		parentMap.put("ido_div", JKKStrConst.CD00576_00026);
		
		outputMap.put("JKKRzkzmAnkenChkCC", parentMap);
		
		return outputMap;
	}
// ANK-4315-00-00 ADD END
	
	/**
	 * 下りマッピング
	 * @param bean　[0]：機器提供サービス契約登録
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getKKSV024701SC(X31SDataBeanAccess[] bean, HashMap outputMap){

		// 提供種別
		HashMap parentMap = null;
		if(outputMap.containsKey("KKSV024701SC")){
			parentMap = (HashMap)outputMap.get("KKSV024701SC");
		}
		
		Map<String, Object> tksbNameMap = new HashMap<String, Object>();

		if(parentMap.containsKey("EZM0171B012CBSMsg1List")){
			ArrayList childList = (ArrayList)parentMap.get("EZM0171B012CBSMsg1List");
			
			for(int i = 0; i < childList.size(); i++){

				HashMap childMap = (HashMap)childList.get(i);
				
				// コード区分をキーにし格納します。
				tksbNameMap.put((String)childMap.get("cd_div"), (String)childMap.get("cd_div_nm"));
			}
		}
		
		outputMap.put("tksbNameMap", tksbNameMap);

		return bean;
	}
	
	/**
	 * 下りマッピング
	 * @param bean　[0]：機器提供サービス契約登録
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getKKSV024702SC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("KKSV024702SC")){
			parentMap = (HashMap)outputMap.get("KKSV024702SC");
		}

		ArrayList childList = null;
		/* ++++++++++ v5.00.01 変更開始 ++++++++++ */
		//X31SDataBeanAccessArray listKKSV024702SC_hambai_sbt_EZM0171B012CBSMsg1List = bean[0].getDataBeanArray("販売種別");
		X31SDataBeanAccessArray listKKSV024702SC_hambai_sbt_EZM0171B012CBSMsg1List = bean[0].getDataBeanArray("販売種別保持");
		/* ++++++++++ v5.00.01 変更終了 ++++++++++ */
		listKKSV024702SC_hambai_sbt_EZM0171B012CBSMsg1List.clearArray();
		childList = null;
		if(parentMap.containsKey("EZM0171B012CBSMsg1List")){
			childList = (ArrayList)parentMap.get("EZM0171B012CBSMsg1List");
			
			X31SDataBeanAccess subbean = listKKSV024702SC_hambai_sbt_EZM0171B012CBSMsg1List.addDataBean();
			
			
			// 空白行追加
			subbean.sendMessageString(KKW03301SFConst.CD_DIV_CD_LIST_06, X31CWebConst.DATABEAN_ADD_VALUE, "");
			subbean.sendMessageString(KKW03301SFConst.CD_DIV_NM_LIST_06, X31CWebConst.DATABEAN_ADD_VALUE, "");
			subbean.sendMessageString(KKW03301SFConst.DEFAULT_CD_LIST_06, X31CWebConst.DATABEAN_ADD_VALUE, "");
			
			int cnt = 1;

			// 添え字用桁数
			int count = String.valueOf(childList.size()).length();
			String index = "";

			for(int i = 0; i < childList.size(); i++){

//				index = JPCUtilCommon.fillZero(Integer.toString(i + 1), count, false);
				index = JPCUtilCommon.fillZero(Integer.toString(cnt), count, false);
				HashMap childMap = (HashMap)childList.get(i);

			
				// 販売種別.コードタイプコード値リスト ← 販売種別コード取得.コード名称管理コード区分一覧照会明細.コード区分
				if (childMap != null) {
					subbean.sendMessageString(KKW03301SFConst.CD_DIV_CD_LIST_06, X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("cd_div"));
				} else {
					subbean.sendMessageString(KKW03301SFConst.CD_DIV_CD_LIST_06, X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
				// 販売種別.コードタイプ名称リスト ← 販売種別コード取得.コード名称管理コード区分一覧照会明細.コード区分名
				if (childMap != null) {
					/* ++++++++++ v5.00.01 変更開始 ++++++++++ */
					//subbean.sendMessageString(KKW03301SFConst.CD_DIV_NM_LIST_06, X31CWebConst.DATABEAN_ADD_VALUE, index + "．" + (String)childMap.get("cd_div_nm"));
					subbean.sendMessageString(KKW03301SFConst.CD_DIV_NM_LIST_06, X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("cd_div_nm"));
					/* ++++++++++ v5.00.01 変更終了 ++++++++++ */
				} else {
					subbean.sendMessageString(KKW03301SFConst.CD_DIV_NM_LIST_06, X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
				// 販売種別.初期設定コードリスト ← 販売種別コード取得.コード名称管理コード区分一覧照会明細.初期表示コード
				if (childMap != null) {
					subbean.sendMessageString(KKW03301SFConst.DEFAULT_CD_LIST_06, X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("shk_dsp_cd"));
				} else {
					subbean.sendMessageString(KKW03301SFConst.DEFAULT_CD_LIST_06, X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				cnt++;
			}
		}


		return bean;
	}
	
	/**
	 * 下りマッピング
	 * @param bean　[0]：機器提供サービス契約登録
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getKKSV024703SC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("KKSV024703SC")){
			parentMap = (HashMap)outputMap.get("KKSV024703SC");
		}

		ArrayList childList = null;
		

		X31SDataBeanAccessArray listKKSV024703SC_huka_info_EZM0171B012CBSMsg1List = bean[0].getDataBeanArray("付加情報");
		listKKSV024703SC_huka_info_EZM0171B012CBSMsg1List.clearArray();
		childList = null;
		if(parentMap.containsKey("EZM0171B012CBSMsg1List")){
			childList = (ArrayList)parentMap.get("EZM0171B012CBSMsg1List");
			
			X31SDataBeanAccess subbean = listKKSV024703SC_huka_info_EZM0171B012CBSMsg1List.addDataBean();
			
			/* ++++++++++ v4.04.00 追加開始 ++++++++++ */
			// 空白行を追加する
			// 付加情報.コードタイプコード値リスト
			subbean.sendMessageString(KKW03301SFConst.CD_DIV_CD_LIST_06, X31CWebConst.DATABEAN_ADD_VALUE, "");
			// 付加情報.コードタイプ名称リスト
			subbean.sendMessageString(KKW03301SFConst.CD_DIV_NM_LIST_06, X31CWebConst.DATABEAN_ADD_VALUE, "");
			// 付加情報.初期設定コードリスト
			subbean.sendMessageString(KKW03301SFConst.DEFAULT_CD_LIST_06, X31CWebConst.DATABEAN_ADD_VALUE, "");
			/* ++++++++++ v4.04.00 追加完了 ++++++++++ */
			
			for(int i = 0; i < childList.size(); i++){

				HashMap childMap = (HashMap)childList.get(i);
			
				// 付加情報.コードタイプコード値リスト ← 付加情報コード取得.コード名称管理コード区分一覧照会明細.コード区分
				if (childMap != null) {
					subbean.sendMessageString(KKW03301SFConst.CD_DIV_CD_LIST_06, X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("cd_div"));
				} else {
					subbean.sendMessageString(KKW03301SFConst.CD_DIV_CD_LIST_06, X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
				// 付加情報.コードタイプ名称リスト ← 付加情報コード取得.コード名称管理コード区分一覧照会明細.コード区分名
				if (childMap != null) {
					subbean.sendMessageString(KKW03301SFConst.CD_DIV_NM_LIST_06, X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("cd_div_nm"));
				} else {
					subbean.sendMessageString(KKW03301SFConst.CD_DIV_NM_LIST_06, X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
				// 付加情報.初期設定コードリスト ← 付加情報コード取得.コード名称管理コード区分一覧照会明細.初期表示コード
				if (childMap != null) {
					subbean.sendMessageString(KKW03301SFConst.DEFAULT_CD_LIST_06, X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("shk_dsp_cd"));
				} else {
					subbean.sendMessageString(KKW03301SFConst.DEFAULT_CD_LIST_06, X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
			}
		}


		return bean;
	}
	
	/**
	 * 下りマッピング
	 * @param bean　[0]：機器提供サービス契約登録
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getKKSV024705SC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("KKSV024705SC")){
			parentMap = (HashMap)outputMap.get("KKSV024705SC");
		}

		ArrayList childList = null;
		

		X31SDataBeanAccessArray listKKSV024705SC_kiki_souryo_um_EZM0171B012CBSMsg1List = bean[0].getDataBeanArray("機器送料有無");
		listKKSV024705SC_kiki_souryo_um_EZM0171B012CBSMsg1List.clearArray();
		childList = null;
		if(parentMap.containsKey("EZM0171B012CBSMsg1List")){
			childList = (ArrayList)parentMap.get("EZM0171B012CBSMsg1List");
			
			X31SDataBeanAccess subbean = listKKSV024705SC_kiki_souryo_um_EZM0171B012CBSMsg1List.addDataBean();

			// 添え字用桁数
			int count = String.valueOf(childList.size()).length();
			String index = "";

			for(int i = 0; i < childList.size(); i++){
				
				index = JPCUtilCommon.fillZero(Integer.toString(i + 1), count, false);
				HashMap childMap = (HashMap)childList.get(i);
			
				// 機器送料有無.コードタイプコード値リスト ← 有無コード取得.コード名称管理コード区分一覧照会明細.コード区分
				if (childMap != null) {
					subbean.sendMessageString(KKW03301SFConst.CD_DIV_CD_LIST_06, X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("cd_div"));
				} else {
					subbean.sendMessageString(KKW03301SFConst.CD_DIV_CD_LIST_06, X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
				// 機器送料有無.コードタイプ名称リスト ← 有無コード取得.コード名称管理コード区分一覧照会明細.コード区分名
				if (childMap != null) {
					subbean.sendMessageString(KKW03301SFConst.CD_DIV_NM_LIST_06, X31CWebConst.DATABEAN_ADD_VALUE, index + "．" + (String)childMap.get("cd_div_nm"));
				} else {
					subbean.sendMessageString(KKW03301SFConst.CD_DIV_NM_LIST_06, X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
				// 機器送料有無.初期設定コードリスト ← 有無コード取得.コード名称管理コード区分一覧照会明細.初期表示コード
				if (childMap != null) {
					subbean.sendMessageString(KKW03301SFConst.DEFAULT_CD_LIST_06, X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("shk_dsp_cd"));
				} else {
					subbean.sendMessageString(KKW03301SFConst.DEFAULT_CD_LIST_06, X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
			}
		}


		return bean;
	}
	
	/**
	 * 下りマッピング
	 * @param bean　[0]：機器提供サービス契約登録
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getKKSV024708SC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("KKSV024708SC")){
			parentMap = (HashMap)outputMap.get("KKSV024708SC");
		}

		ArrayList childList = null;
		

		X31SDataBeanAccessArray listKKSV024708SC_soko_nm_EDK0091B010CBSMsg1List = bean[0].getDataBeanArray(KKW03301SFConst.SOKO_INFO);
		listKKSV024708SC_soko_nm_EDK0091B010CBSMsg1List.clearArray();
		childList = null;
		if(parentMap.containsKey("EDK0091B010CBSMsg1List")){
			childList = (ArrayList)parentMap.get("EDK0091B010CBSMsg1List");
			
			X31SDataBeanAccess subbean = listKKSV024708SC_soko_nm_EDK0091B010CBSMsg1List.addDataBean();

			// 添え字用桁数
			int count = String.valueOf(childList.size()).length();
			String index = "";

			for(int i = 0; i < childList.size(); i++){

				index = JPCUtilCommon.fillZero(Integer.toString(i + 1), count, false);
				HashMap childMap = (HashMap)childList.get(i);
			
				// 倉庫名.倉庫コードリスト ← 倉庫照会一覧.倉庫一覧照会明細.倉庫コード
				if (childMap != null) {
					subbean.sendMessageString(KKW03301SFConst.SOKO_CD_LIST_08, X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("soko_cd"));
				} else {
					subbean.sendMessageString(KKW03301SFConst.SOKO_CD_LIST_08, X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
				// 倉庫名.倉庫名リスト ← 倉庫照会一覧.倉庫一覧照会明細.倉庫名
				if (childMap != null) {
					subbean.sendMessageString(KKW03301SFConst.SOKO_NM_LIST_08, X31CWebConst.DATABEAN_ADD_VALUE, index + "．" + (String)childMap.get("soko_nm"));
				} else {
					subbean.sendMessageString(KKW03301SFConst.SOKO_NM_LIST_08, X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
			}
		}


		return bean;
	}
	
	/**
	 * 下りマッピング
	 * @param bean　[0]：機器提供サービス契約登録
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getKKSV024709SC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("KKSV024709SC")){
			parentMap = (HashMap)outputMap.get("KKSV024709SC");
		}
		
		// コードマスタの提供種別名称取得
		HashMap<String, Object> tksbNameMap = (HashMap<String, Object>)outputMap.get("tksbNameMap");

		ArrayList childList = null;
		
		X31SDataBeanAccessArray listKKSV024709SC_tk_sbt_model_list_EDK0461B020CBSMsg1List = bean[0].getDataBeanArray(KKW03301SFConst.TK_SBT_MODEL_LIST);
		listKKSV024709SC_tk_sbt_model_list_EDK0461B020CBSMsg1List.clearArray();
		
		if(parentMap.containsKey("EDK0461B020CBSMsg1List")){
			childList = (ArrayList)parentMap.get("EDK0461B020CBSMsg1List");
			X31SDataBeanAccess subbean = listKKSV024709SC_tk_sbt_model_list_EDK0461B020CBSMsg1List.addDataBean();

			for(int i = 0; i < childList.size(); i++){
				
				HashMap childMap = (HashMap)childList.get(i);
			
				// 機器型式提供種別リスト.宅内機器型式コード ← 型式対象機器提供種別一覧照会.型式対象機器提供種別一覧照会明細.宅内機器型式コード
				if (childMap != null) {
					subbean.sendMessageString(KKW03301SFConst.TAKNKIKI_MODEL_CD_09, X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("taknkiki_model_cd"));
				} else {
					subbean.sendMessageString(KKW03301SFConst.TAKNKIKI_MODEL_CD_09, X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
				// 機器型式提供種別リスト.機器提供種別コード ← 型式対象機器提供種別一覧照会.型式対象機器提供種別一覧照会明細.機器提供種別コード
				if (childMap != null) {
					subbean.sendMessageString(KKW03301SFConst.KKTK_SBT_CD_09, X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("kktk_sbt_cd"));
				} else {
					subbean.sendMessageString(KKW03301SFConst.KKTK_SBT_CD_09, X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}

				// 機器型式提供種別リスト.機器提供種別コード名称 ← 型式対象機器提供種別一覧照会.型式対象機器提供種別一覧照会明細.機器提供種別コード名称
				if (childMap != null) {
					subbean.sendMessageString(KKW03301SFConst.KKTK_SBT_NM_09, X31CWebConst.DATABEAN_ADD_VALUE, (String)tksbNameMap.get(childMap.get("kktk_sbt_cd")));
				} else {
					subbean.sendMessageString(KKW03301SFConst.KKTK_SBT_NM_09, X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
			}
		}
		return bean;
	}
	
	/**
	 * 下りマッピング
	 * @param bean　[0]：機器提供サービス契約登録
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getKKSV024710SC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("KKSV024710SC")){
			parentMap = (HashMap)outputMap.get("KKSV024710SC");
		}

		ArrayList childList = null;
		

		X31SDataBeanAccessArray listKKSV024710SC_tv_course_EKK0791B004CBSMsg1List = bean[0].getDataBeanArray(KKW03301SFConst.TV_COURSE);
		listKKSV024710SC_tv_course_EKK0791B004CBSMsg1List.clearArray();
		childList = null;
		if(parentMap.containsKey("EKK0791B004CBSMsg1List")){
			childList = (ArrayList)parentMap.get("EKK0791B004CBSMsg1List");
			
			X31SDataBeanAccess subbean = listKKSV024710SC_tv_course_EKK0791B004CBSMsg1List.addDataBean();

			// 添え字用桁数
			int count = String.valueOf(childList.size()).length();
			String index = "";

			for(int i = 0; i < childList.size(); i++){

				index = JPCUtilCommon.fillZero(Integer.toString(i + 1), count, false);
				HashMap childMap = (HashMap)childList.get(i);
			
				// ＴＶコース.料金コースコード（料金コース） ← 料金コース一覧照会（料金グループコード）.料金コース一覧照会（料金グループコード）明細.料金コースコード（料金コース）
				if (childMap != null) {
					subbean.sendMessageString(KKW03301SFConst.CD_DIV_CD_LIST_06, X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("KK0791_pcrs_cd"));
				} else {
					subbean.sendMessageString(KKW03301SFConst.CD_DIV_CD_LIST_06, X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
				// ＴＶコース.料金コース名 ← 料金コース一覧照会（料金グループコード）.料金コース一覧照会（料金グループコード）明細.料金コース名
				if (childMap != null) {
					subbean.sendMessageString(KKW03301SFConst.CD_DIV_NM_LIST_06, X31CWebConst.DATABEAN_ADD_VALUE, index + "．" + (String)childMap.get("pcrs_nm"));
				} else {
					subbean.sendMessageString(KKW03301SFConst.CD_DIV_NM_LIST_06, X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
			}
		} 
		/* ++++++++++ v4.02.00 追加開始 ++++++++++ */
		else {
			X31SDataBeanAccess subbean = listKKSV024710SC_tv_course_EKK0791B004CBSMsg1List.addDataBean();
		}
		/* ++++++++++ v4.02.00 追加終了 ++++++++++ */
		return bean;
	}
	
//	/**
//	 * 下りマッピング
//	 * @param bean　[0]：機器提供サービス契約登録
//	 * @param outputMap
//	 */
//	@SuppressWarnings("unchecked")
//	public X31SDataBeanAccess[] getKKSV024717SC(X31SDataBeanAccess[] bean, HashMap outputMap){
//
//		HashMap parentMap = null;
//		if(outputMap.containsKey("KKSV024717SC")){
//			parentMap = (HashMap)outputMap.get("KKSV024717SC");
//		}
//		
//		X31SDataBeanAccessArray kiki = bean[0].getDataBeanArray(KKW03301SFConst.KIKI_MODEL);
//		kiki.clearArray();
//		
//		X31SDataBeanAccess subbean = kiki.addDataBean();
//
//		ArrayList childList = null;
//		
//		if(parentMap.containsKey("EKK1861B001CBSMsg1List")){
//			childList = (ArrayList)parentMap.get("EKK1861B001CBSMsg1List");
//			
//			// 宅内機器種別コードＢ−ＣＡＳ判定
//			String bcasTknKikiSbtCd = bean[0].sendMessageString(KKW03301SFConst.TKNKIKI_SBT_CD_BCAS,  X31CWebConst.DATABEAN_GET_VALUE);
//			// 宅内機器種別コードＣ−ＣＡＳ判定
//			String ccasTknKikiSbtCd = bean[0].sendMessageString(KKW03301SFConst.TKNKIKI_SBT_CD_CCAS,  X31CWebConst.DATABEAN_GET_VALUE);
//			
//			// B-CAS、C-CASの型式を除去した桁数
//			int soejiKeta = getSoejiKeta(childList, bcasTknKikiSbtCd, ccasTknKikiSbtCd);
//			
//			// 添え字用桁数
//			int count = String.valueOf(soejiKeta).length();
//			String index = "";
//			
//			String kikiMdlCd = "";
//			String kikiMdlNm = "";
//			
//			int cnt = 1;
//
//			for(int i = 0; i < childList.size(); i++){
//
//				HashMap childMap = (HashMap)childList.get(i);
//				
//				kikiMdlCd = (String)childMap.get("taknkiki_model_cd");
//				
//				// B-CAS、C-CASデータは除外します。
//				if(bcasTknKikiSbtCd.equals(childMap.get("taknkiki_sbt_cd")) || ccasTknKikiSbtCd.equals(childMap.get("taknkiki_sbt_cd")))
//				{
//					continue;
//				}
//				
//				index = JPCUtilCommon.fillZero(Integer.toString(cnt), count, false);
//				
//				kikiMdlNm = index + "．" + fillHalfSpace(kikiMdlCd, 22, true) + cut((String)childMap.get("taknkiki_model_nm"), 45);
//				
//
//				subbean.sendMessageString(KKW03301SFConst.KIKI_MODEL_CD_LIST_05, X31CWebConst.DATABEAN_ADD_VALUE, kikiMdlCd);
//				subbean.sendMessageString(KKW03301SFConst.KIKI_MODEL_NM_LIST_05, X31CWebConst.DATABEAN_ADD_VALUE, kikiMdlNm);
//				subbean.sendMessageString(KKW03301SFConst.KIKI_SBT_05, X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("taknkiki_sbt_cd"));
//				subbean.sendMessageString(KKW03301SFConst.KIKI_SEIZO_NO_UM_LIST_05, X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("seizo_no_um"));
//				subbean.sendMessageString(KKW03301SFConst.YRYO_MRYO_CD_LIST_05, X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("yryo_mryo_cd"));
//				subbean.sendMessageString(KKW03301SFConst.HOYU_ROUTER_CD_LIST_05, X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("hoyu_router_cd"));
//				subbean.sendMessageString(KKW03301SFConst.MAC_INF_UM_LIST_05, X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("mac_inf_um"));
//				subbean.sendMessageString(KKW03301SFConst.KOJI_COMP_HAISO_UM_LIST_05, X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("koji_comp_haiso_um"));
//				subbean.sendMessageString(KKW03301SFConst.HAISO_YOKSI_UM_LIST_05, X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("haiso_yoksi_um"));
//				subbean.sendMessageString(KKW03301SFConst.KOJI_AF_SHKA_UM_LIST_05, X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("koji_af_shka_um"));
//				subbean.sendMessageString(KKW03301SFConst.USIM_UM_LIST_05, X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("usim_um"));
//				subbean.sendMessageString(KKW03301SFConst.OPMS_ROUTER_KIND_CD_LIST_05, X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("opms_router_kind_cd"));
//				cnt++;
//			}
//		}
//		return bean;
//	}
	
	/**
	 * 下りマッピング
	 * @param bean　[0]：機器提供サービス契約登録
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getKKSV024717CC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("KKSV024717CC")){
			parentMap = (HashMap)outputMap.get("KKSV024717CC");
		}
		
		/* ++++++++++ v7.00.00 追加変更 ++++++++++ */
		//X31SDataBeanAccessArray kiki = bean[0].getDataBeanArray(KKW03301SFConst.KIKI_MODEL);
		X31SDataBeanAccessArray kiki = bean[0].getDataBeanArray(KKW03301SFConst.KIKI_MODEL_HOJI);
		/* ++++++++++ v7.00.00 追加終了 ++++++++++ */
		
		
		kiki.clearArray();
		
		X31SDataBeanAccess subbean = kiki.addDataBean();

		ArrayList childList = null;
		
		// 機器型式コンボボックスの設定
		if(parentMap.containsKey("EKK1861B001CBSMsg1List")){
			childList = (ArrayList)parentMap.get("EKK1861B001CBSMsg1List");
			
			// 画面表示しない型式レコードを除去した件数
			/* ++++++++++ v5.00.02 変更開始 ++++++++++ */
//			int soejiKeta = getSoejiKeta(bean, childList);
			int soejiKeta = getSoejiKeta(bean, childList, outputMap);
			/* ++++++++++ v5.00.02 変更完了 ++++++++++ */

			
			// 添え字用桁数
			int count = String.valueOf(soejiKeta).length();
			String index = "";
			
			String kikiMdlCd = "";
			String kikiMdlNm = "";
			
			int cnt = 1;
			
			for(int i = 0; i < childList.size(); i++){
				
				HashMap childMap = (HashMap)childList.get(i);
				
				kikiMdlCd = (String)childMap.get("taknkiki_model_cd");
				
				// 表示対象外のデータは除外します。
//				if(bcasTknKikiSbtCd.equals(childMap.get("taknkiki_sbt_cd")) || ccasTknKikiSbtCd.equals(childMap.get("taknkiki_sbt_cd")))
				/* ++++++++++ v5.00.02 変更開始 ++++++++++ */
//				if(!isDispModelList(bean, childMap))
				if(!isDispModelList(bean, childMap, outputMap))
				/* ++++++++++ v5.00.02 変更完了 ++++++++++ */
				{
					continue;
				}
				
				index = JPCUtilCommon.fillZero(Integer.toString(cnt), count, false);
				
				/* ++++++++++ v7.00.00 変更開始 ++++++++++ */
				// kikiMdlNm = index + "．" + fillHalfSpace(kikiMdlCd, 22, true) + cut((String)childMap.get("taknkiki_model_nm"), 45);
				kikiMdlNm = fillHalfSpace(kikiMdlCd, 22, true) + cut((String)childMap.get("taknkiki_model_nm"), 45);
				/* ++++++++++ v7.00.00 変更終了 ++++++++++ */
				
				subbean.sendMessageString(KKW03301SFConst.KIKI_MODEL_CD_LIST_05, X31CWebConst.DATABEAN_ADD_VALUE, kikiMdlCd);
				subbean.sendMessageString(KKW03301SFConst.KIKI_MODEL_NM_LIST_05, X31CWebConst.DATABEAN_ADD_VALUE, kikiMdlNm);
				subbean.sendMessageString(KKW03301SFConst.KIKI_SBT_05, X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("taknkiki_sbt_cd"));
				subbean.sendMessageString(KKW03301SFConst.KIKI_SEIZO_NO_UM_LIST_05, X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("seizo_no_um"));
				subbean.sendMessageString(KKW03301SFConst.YRYO_MRYO_CD_LIST_05, X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("yryo_mryo_cd"));
				subbean.sendMessageString(KKW03301SFConst.HOYU_ROUTER_CD_LIST_05, X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("hoyu_router_cd"));
				subbean.sendMessageString(KKW03301SFConst.MAC_INF_UM_LIST_05, X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("mac_inf_um"));
				subbean.sendMessageString(KKW03301SFConst.KOJI_COMP_HAISO_UM_LIST_05, X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("koji_comp_haiso_um"));
				subbean.sendMessageString(KKW03301SFConst.HAISO_YOKSI_UM_LIST_05, X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("haiso_yoksi_um"));
				subbean.sendMessageString(KKW03301SFConst.KOJI_AF_SHKA_UM_LIST_05, X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("koji_af_shka_um"));
				subbean.sendMessageString(KKW03301SFConst.USIM_UM_LIST_05, X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("usim_um"));
				subbean.sendMessageString(KKW03301SFConst.OPMS_ROUTER_KIND_CD_LIST_05, X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("opms_router_kind_cd"));
				subbean.sendMessageString(KKW03301SFConst.KAP_TAISYO_CD_05, X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("kappu_taisyo_judge"));
				/* ++++++++++ v7.00.00 追加開始 ++++++++++ */
				subbean.sendMessageString(KKW03301SFConst.KIKI_MODEL_NM_DUMMY_LIST_05, X31CWebConst.DATABEAN_ADD_VALUE, fillHalfSpace("", 22, true) + cut("", 45));
				/* ++++++++++ v7.00.00 追加終了 ++++++++++ */
				
				cnt++;
			}
		}
		
		// 販売形態コンボボックスの設定
		X31SDataBeanAccessArray hanbaiList = bean[0].getDataBeanArray(KKW03301SFConst.KAP_PLAN_CD_LIST);
		hanbaiList.clearArray();
		
		X31SDataBeanAccess subbean2 = hanbaiList.addDataBean();

		ArrayList childList2 = null;	
		
		if(parentMap.containsKey("EKK2521B001CBSMsg1List")){
			childList2 = (ArrayList)parentMap.get("EKK2521B001CBSMsg1List");
			
			for(int i = 0; i < childList2.size(); i++){
				
				HashMap childMap = (HashMap)childList2.get(i);
				
				// 割賦プランコード
//				subbean2.sendMessageString(KKW03301SFConst.KAP_PLAN_CD_LIST_18, X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("kap_hambai_form_cd"));
				subbean2.sendMessageString(KKW03301SFConst.KAP_PLAN_CD_LIST_18, X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("kap_plan_cd"));
				// 販売形態名リスト
				subbean2.sendMessageString(KKW03301SFConst.KAP_PLAN_CD_NM_LIST_18, X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("kap_hambai_form_cd_nm"));
				// 宅内機器型式コードリスト
				subbean2.sendMessageString(KKW03301SFConst.TAKNKIKI_MODEL_CD_LIST_18, X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("taknkiki_model_cd"));
				// 割賦回数リスト
				subbean2.sendMessageString(KKW03301SFConst.KAP_PAY_ZAN_CNT_LIST_18, X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("kap_pay_cnt"));
			}
		}
		
		return bean;
	}
	
	/**
	 * 下りマッピング
	 * @param bean　[0]：機器提供サービス契約登録
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getKKSV024724CC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("KKSV024724CC")){
			parentMap = (HashMap)outputMap.get("KKSV024724CC");
		}

		ArrayList childList = null;
		

		X31SDataBeanAccessArray listKKSV024724SC_id_torokusho_um_List = bean[0].getDataBeanArray(KKW03301SFConst.KINKYU_MOTO_TOMSON_CD_HOJI);
		listKKSV024724SC_id_torokusho_um_List.clearArray();
		childList = null;
		if(parentMap.containsKey("tomson_case_list")){
			childList = (ArrayList)parentMap.get("tomson_case_list");
			
			X31SDataBeanAccess subbean = listKKSV024724SC_id_torokusho_um_List.addDataBean();

			for(int i = 0; i < childList.size(); i++){
				HashMap childMap = (HashMap)childList.get(i);
			
				// 工事案件番号
				if (childMap != null) {
					subbean.sendMessageString(KKW03301SFConst.KOJIAK_NO_10, X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("kojiak_no"));
				} else {
					subbean.sendMessageString(KKW03301SFConst.KOJIAK_NO_10, X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
				// トムソンケース番号
				if (childMap != null) {
					subbean.sendMessageString(KKW03301SFConst.TCASE_NO_10, X31CWebConst.DATABEAN_ADD_VALUE, getNullToStr((String)childMap.get("tcase_no")));
				} else {
					subbean.sendMessageString(KKW03301SFConst.TCASE_NO_10, X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
				// 配送番号
				subbean.sendMessageString(KKW03301SFConst.HAISO_NO_10, X31CWebConst.DATABEAN_ADD_VALUE, "");
			}
		}

		return bean;
	}
	
	/**
	 * 下りマッピング
	 * @param bean　[0]：機器提供サービス契約登録
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getKKSV024725SC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("KKSV024725SC")){
			parentMap = (HashMap)outputMap.get("KKSV024725SC");
		}

		ArrayList childList = null;
		

		X31SDataBeanAccessArray listKKSV024725SC_hkat_shelf_List = bean[0].getDataBeanArray(KKW03301SFConst.HKAT_SHELF_LIST);
		listKKSV024725SC_hkat_shelf_List.clearArray();
		childList = null;
		if(parentMap.containsKey("EDK0451B030CBSMsg1List")){
			childList = (ArrayList)parentMap.get("EDK0451B030CBSMsg1List");
			
			X31SDataBeanAccess subbean = listKKSV024725SC_hkat_shelf_List.addDataBean();

			for(int i = 0; i < childList.size(); i++){

				HashMap childMap = (HashMap)childList.get(i);
			
				// 引当棚リスト.販売種別コード ← 引当棚一覧照会（全件）.引当棚一覧照会（全件）明細.販売種別コード
				if (childMap != null) {
					subbean.sendMessageString(KKW03301SFConst.HAMBAI_SBT_CD_16, X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("hambai_sbt_cd"));
				} else {
					subbean.sendMessageString(KKW03301SFConst.HAMBAI_SBT_CD_16, X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
				// 引当棚リスト.棚コード ← 引当棚一覧照会（全件）.引当棚一覧照会（全件）明細.棚コード
				if (childMap != null) {
					subbean.sendMessageString(KKW03301SFConst.SHELF_CD_16, X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("shelf_cd"));
				} else {
					subbean.sendMessageString(KKW03301SFConst.SHELF_CD_16, X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
				// 引当棚リスト.引当棚適用開始年月日 ← 引当棚一覧照会（全件）.引当棚一覧照会（全件）明細.引当棚適用開始年月日
				if (childMap != null) {
					subbean.sendMessageString(KKW03301SFConst.HKAT_SHELF_TSTAYMD_16, X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("hkat_shelf_tstaymd"));
				} else {
					subbean.sendMessageString(KKW03301SFConst.HKAT_SHELF_TSTAYMD_16, X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
				// 引当棚リスト.引当棚適用終了年月日 ← 引当棚一覧照会（全件）.引当棚一覧照会（全件）明細.引当棚適用終了年月日
				if (childMap != null) {
					subbean.sendMessageString(KKW03301SFConst.HKAT_SHELF_TENDYMD_16, X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("hkat_shelf_tendymd"));
				} else {
					subbean.sendMessageString(KKW03301SFConst.HKAT_SHELF_TENDYMD_16, X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
			}
		}
		
		return bean;
	}
	
	/**
	 * 下りマッピング
	 * @param bean　[0]：機器提供サービス契約登録
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getKKSV024726CC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("KKSV024726CC")){
			parentMap = (HashMap)outputMap.get("KKSV024726CC");
		}

		ArrayList childList = null;
		

		X31SDataBeanAccessArray listKKSV024726CC_soko_List = bean[0].getDataBeanArray(KKW03301SFConst.SOKO_LIST);
		listKKSV024726CC_soko_List.clearArray();
		childList = null;
		if(parentMap.containsKey("sokoList")){
			childList = (ArrayList)parentMap.get("sokoList");
			// 規定ソートで実施
			sortTtm(childList);
			
			X31SDataBeanAccess subbean = listKKSV024726CC_soko_List.addDataBean();

			for(int i = 0; i < childList.size(); i++){

				HashMap childMap = (HashMap)childList.get(i);
			
				// 倉庫リスト.管理場所識別コード ← 倉庫一覧取得.倉庫リスト.管理場所識別コード
				if (childMap != null) {
					subbean.sendMessageString(KKW03301SFConst.KNRI_PLC_SKBT_CD_17, X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("knri_plc_skbt_cd"));
				} else {
					subbean.sendMessageString(KKW03301SFConst.KNRI_PLC_SKBT_CD_17, X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
				// 倉庫リスト.管理場所棚コード ← 倉庫一覧取得.倉庫リスト.管理場所棚コード
				if (childMap != null) {
					subbean.sendMessageString(KKW03301SFConst.KNRI_PLC_SLF_CD_17, X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("knri_plc_slf_cd"));
				} else {
					subbean.sendMessageString(KKW03301SFConst.KNRI_PLC_SLF_CD_17, X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
				// 倉庫リスト.宅内機器型式コード ← 倉庫一覧取得.倉庫リスト.宅内機器型式コード
				if (childMap != null) {
					subbean.sendMessageString(KKW03301SFConst.TK_MDL_CD_17, X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("tk_mdl_cd"));
				} else {
					subbean.sendMessageString(KKW03301SFConst.TK_MDL_CD_17, X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
				// 倉庫リスト.管理場所コード ← 倉庫一覧取得.倉庫リスト.管理場所コード
				if (childMap != null) {
					subbean.sendMessageString(KKW03301SFConst.KNRI_PLC_CD_17, X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("knri_plc_cd"));
				} else {
					subbean.sendMessageString(KKW03301SFConst.KNRI_PLC_CD_17, X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
				// 倉庫リスト.倉庫名 ← 倉庫一覧取得.倉庫リスト.倉庫名
				if (childMap != null) {
					subbean.sendMessageString(KKW03301SFConst.SOKO_NM_17, X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("soko_nm"));
				} else {
					subbean.sendMessageString(KKW03301SFConst.SOKO_NM_17, X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
			}
		}
		
		return bean;
	}
	
// ANK-2679-01-00 ADD START
	/**
	 * 下りマッピング
	 * @param bean　[0]：機器提供サービス契約登録
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getKKSV024729SC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("KKSV024729SC"))
		{
			parentMap = (HashMap)outputMap.get("KKSV024729SC");
		}

		ArrayList childList = null;

		X31SDataBeanAccessArray listKKSV024729SC_uk_tntsha_EZM0171B012CBSMsg1List = bean[0].getDataBeanArray(KKW03301SFConst.UK_TNTSHA_LIST);
		listKKSV024729SC_uk_tntsha_EZM0171B012CBSMsg1List.clearArray();
		if(parentMap.containsKey("EZM0171B012CBSMsg1List"))
		{
			childList = (ArrayList)parentMap.get("EZM0171B012CBSMsg1List");
			
			X31SDataBeanAccess subbean = listKKSV024729SC_uk_tntsha_EZM0171B012CBSMsg1List.addDataBean();
			
			// 添え字用桁数
			int count = String.valueOf(childList.size()).length();
			String index = "";
			
			// 空白行を追加する
			// 受付担当者リスト.コードタイプコード値リスト
			subbean.sendMessageString(KKW03301SFConst.CD_DIV_CD_LIST_06, X31CWebConst.DATABEAN_ADD_VALUE, "");
			// 受付担当者リスト.コードタイプ名称リスト
			subbean.sendMessageString(KKW03301SFConst.CD_DIV_NM_LIST_06, X31CWebConst.DATABEAN_ADD_VALUE, "");
			// 受付担当者リスト.初期設定コードリスト
			subbean.sendMessageString(KKW03301SFConst.DEFAULT_CD_LIST_06, X31CWebConst.DATABEAN_ADD_VALUE, "");
			
			for(int i = 0; i < childList.size(); i++)
			{
				
				index = JPCUtilCommon.fillZero(Integer.toString(i + 1), count, false);
				HashMap childMap = (HashMap)childList.get(i);
				
				// 受付担当者リスト.コードタイプコード値リスト ← 受付担当者情報コード取得.コード名称管理コード区分一覧照会明細.コード区分
				if (childMap != null)
				{
					subbean.sendMessageString(KKW03301SFConst.CD_DIV_CD_LIST_06, X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("cd_div"));
				}
				else
				{
					subbean.sendMessageString(KKW03301SFConst.CD_DIV_CD_LIST_06, X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
				// 受付担当者リスト.コードタイプ名称リスト ← 受付担当者情報コード取得.コード名称管理コード区分一覧照会明細.コード区分名
				if (childMap != null)
				{
					subbean.sendMessageString(KKW03301SFConst.CD_DIV_NM_LIST_06, X31CWebConst.DATABEAN_ADD_VALUE, index + "．" + (String)childMap.get("cd_div_nm"));
				}
				else
				{
					subbean.sendMessageString(KKW03301SFConst.CD_DIV_NM_LIST_06, X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
				// 受付担当者リスト.初期設定コードリスト ← 受付担当者情報コード取得.コード名称管理コード区分一覧照会明細.初期表示コード
				if (childMap != null)
				{
					subbean.sendMessageString(KKW03301SFConst.DEFAULT_CD_LIST_06, X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("shk_dsp_cd"));
				}
				else
				{
					subbean.sendMessageString(KKW03301SFConst.DEFAULT_CD_LIST_06, X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
			}
		}
		return bean;
	}
// ANK-2679-01-00 ADD END
	
	/* ++++++++++ v7.00.00追加開始 ++++++++++ */
	/**
	 * 下りマッピング
	 * @param bean　[0]：機器提供サービス契約登録
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getKikiAddInfoCC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("KikiAddInfoCC")){
			parentMap = (HashMap)outputMap.get("KikiAddInfoCC");
		}

		ArrayList childList = null;
		
		X31SDataBeanAccessArray kikiSbtList = bean[0].getDataBeanArray("機器種別保持");
		kikiSbtList.clearArray();
		childList = null;
		if(parentMap.containsKey("CD01262")){
			childList = (ArrayList)parentMap.get("CD01262");
			
			X31SDataBeanAccess subbean = kikiSbtList.addDataBean();
			
			for(int i = 0; i < childList.size(); i++){

				HashMap childMap = (HashMap)childList.get(i);
			
				// コード名称管理コード区分一覧照会明細.コード区分
				if (childMap != null) {
					subbean.sendMessageString(KKW03301SFConst.CD_DIV_CD_LIST_06, X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("cd_div"));
				} else {
					subbean.sendMessageString(KKW03301SFConst.CD_DIV_CD_LIST_06, X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
				// コード名称管理コード区分一覧照会明細.コード区分名
				if (childMap != null) {
					subbean.sendMessageString(KKW03301SFConst.CD_DIV_NM_LIST_06, X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("cd_div_nm"));
				} else {
					subbean.sendMessageString(KKW03301SFConst.CD_DIV_NM_LIST_06, X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
				// コード名称管理コード区分一覧照会明細.初期表示コード
				if (childMap != null) {
					subbean.sendMessageString(KKW03301SFConst.DEFAULT_CD_LIST_06, X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("shk_dsp_cd"));
				} else {
					subbean.sendMessageString(KKW03301SFConst.DEFAULT_CD_LIST_06, X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
			}
		}
		
		childList = null;
		
		X31SDataBeanAccessArray rutaKinolist = bean[0].getDataBeanArray("ルーター機能保持");
		rutaKinolist.clearArray();
		childList = null;
		if(parentMap.containsKey("CD01613")){
			childList = (ArrayList)parentMap.get("CD01613");
			
			X31SDataBeanAccess subbean = rutaKinolist.addDataBean();
			
			for(int i = 0; i < childList.size(); i++){

				HashMap childMap = (HashMap)childList.get(i);
			
				// コード名称管理コード区分一覧照会明細.コード区分
				if (childMap != null) {
					subbean.sendMessageString(KKW03301SFConst.CD_DIV_CD_LIST_06, X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("cd_div"));
				} else {
					subbean.sendMessageString(KKW03301SFConst.CD_DIV_CD_LIST_06, X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
				// コード名称管理コード区分一覧照会明細.コード区分名
				if (childMap != null) {
					subbean.sendMessageString(KKW03301SFConst.CD_DIV_NM_LIST_06, X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("cd_div_nm"));
				} else {
					subbean.sendMessageString(KKW03301SFConst.CD_DIV_NM_LIST_06, X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
				// コード名称管理コード区分一覧照会明細.コード略称
				if (childMap != null) {
					subbean.sendMessageString(KKW03301SFConst.CD_DIV_ALI_LIST_06, X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("cd_div_ali"));
				} else {
					subbean.sendMessageString(KKW03301SFConst.CD_DIV_ALI_LIST_06, X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
				// コード名称管理コード区分一覧照会明細.初期表示コード
				if (childMap != null) {
					subbean.sendMessageString(KKW03301SFConst.DEFAULT_CD_LIST_06, X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("shk_dsp_cd"));
				} else {
					subbean.sendMessageString(KKW03301SFConst.DEFAULT_CD_LIST_06, X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
			}
		}
		
		X31SDataBeanAccessArray dnwAdpKinolist = bean[0].getDataBeanArray("電話アダプター機能");
		dnwAdpKinolist.clearArray();
		childList = null;
		if(parentMap.containsKey("CD01614")){
			childList = (ArrayList)parentMap.get("CD01614");
			
			X31SDataBeanAccess subbean = dnwAdpKinolist.addDataBean();
			subbean.sendMessageString(KKW03301SFConst.CD_DIV_CD_LIST_06, X31CWebConst.DATABEAN_ADD_VALUE, new String());
			subbean.sendMessageString(KKW03301SFConst.CD_DIV_NM_LIST_06, X31CWebConst.DATABEAN_ADD_VALUE, new String());
			subbean.sendMessageString(KKW03301SFConst.CD_DIV_ALI_LIST_06, X31CWebConst.DATABEAN_ADD_VALUE, new String());
			subbean.sendMessageString(KKW03301SFConst.DEFAULT_CD_LIST_06, X31CWebConst.DATABEAN_ADD_VALUE, new String());
			
			for(int i = 0; i < childList.size(); i++){

				HashMap childMap = (HashMap)childList.get(i);
			
				// コード名称管理コード区分一覧照会明細.コード区分
				if (childMap != null) {
					subbean.sendMessageString(KKW03301SFConst.CD_DIV_CD_LIST_06, X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("cd_div"));
				} else {
					subbean.sendMessageString(KKW03301SFConst.CD_DIV_CD_LIST_06, X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
				// コード名称管理コード区分一覧照会明細.コード区分名
				if (childMap != null) {
					subbean.sendMessageString(KKW03301SFConst.CD_DIV_NM_LIST_06, X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("cd_div_nm"));
				} else {
					subbean.sendMessageString(KKW03301SFConst.CD_DIV_NM_LIST_06, X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
				// コード名称管理コード区分一覧照会明細.コード略称
				if (childMap != null) {
					subbean.sendMessageString(KKW03301SFConst.CD_DIV_ALI_LIST_06, X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("cd_div_ali"));
				} else {
					subbean.sendMessageString(KKW03301SFConst.CD_DIV_ALI_LIST_06, X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
				// コード名称管理コード区分一覧照会明細.初期表示コード
				if (childMap != null) {
					subbean.sendMessageString(KKW03301SFConst.DEFAULT_CD_LIST_06, X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("shk_dsp_cd"));
				} else {
					subbean.sendMessageString(KKW03301SFConst.DEFAULT_CD_LIST_06, X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
			}
		}
		
		X31SDataBeanAccessArray kikiOptionInfolist = bean[0].getDataBeanArray("機器オプション情報");
		kikiOptionInfolist.clearArray();
		childList = null;
		if(parentMap.containsKey("kikiOption")){
			childList = (ArrayList)parentMap.get("kikiOption");
			
			X31SDataBeanAccess subbean = kikiOptionInfolist.addDataBean();
			
			for(int i = 0; i < childList.size(); i++){

				HashMap childMap = (HashMap)childList.get(i);
			
				// 機器オプションサービスコード
				if (childMap != null) {
					subbean.sendMessageString(KKW03301SFConst.KKOP_SVC_CD_LIST_19, X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("kkop_svc_cd"));
				} else {
					subbean.sendMessageString(KKW03301SFConst.KKOP_SVC_CD_LIST_19, X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
				
				// 機器提供サービスコード
				if (childMap != null) {
					subbean.sendMessageString(KKW03301SFConst.KKTK_SVC_CD_LIST_19, X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("kktk_svc_cd"));
				} else {
					subbean.sendMessageString(KKW03301SFConst.KKTK_SVC_CD_LIST_19, X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
				// 宅内機器種別コード
				if (childMap != null) {
					subbean.sendMessageString(KKW03301SFConst.TAKNKIKI_SBT_CD_LIST_19, X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("taknkiki_sbt_cd"));
				} else {
					subbean.sendMessageString(KKW03301SFConst.TAKNKIKI_SBT_CD_LIST_19, X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
			}
		}
		
		bean[0].sendMessageString(KKW03301SFConst.RUTA_KINO_CD, X31CWebConst.DATABEAN_SET_VALUE, getNullToStr((String)parentMap.get("rutaKinoNo")));
		
		bean[0].sendMessageString(KKW03301SFConst.DNW_ADP_KINO_CD, X31CWebConst.DATABEAN_SET_VALUE, getNullToStr((String)parentMap.get("telAdptKinoNo")));
		
		bean[0].sendMessageString(KKW03301SFConst.RUTA_HENKOUTYU_FLG, X31CWebConst.DATABEAN_SET_VALUE, getNullToStr((String)parentMap.get("ruta_Henkoutyu_flg")));
		
		/* ++++++++++ v11.00.00 追加開始 ++++++++++ */
		bean[0].sendMessageString(KKW03301SFConst.SAME_PLACE_SVC_KEI_NO, X31CWebConst.DATABEAN_SET_VALUE, getNullToStr((String)parentMap.get("samePlaceSvcKeiNo")));
		/* ++++++++++ v11.00.00 追加終了 ++++++++++ */
		
		/* ++++++++++ v12.00.00 追加開始 ++++++++++ */
		bean[0].sendMessageString(KKW03301SFConst.CHAF_RUTA_KINO_CD, X31CWebConst.DATABEAN_SET_VALUE, getNullToStr((String)parentMap.get("chaf_ruta_kino_cd")));
		
		bean[0].sendMessageString(KKW03301SFConst.CHAF_DNW_ADP_KINO_CD_AD_CHG, X31CWebConst.DATABEAN_SET_VALUE, getNullToStr((String)parentMap.get("chaf_dnw_adp_kino_cd_ad_chg")));
		
		bean[0].sendMessageString(KKW03301SFConst.CHAF_RUTA_HENKOUTYU_FLG_AD_CHG, X31CWebConst.DATABEAN_SET_VALUE, getNullToStr((String)parentMap.get("chaf_ruta_Henkoutyu_flg_ad_chg")));
		
		// 住所変更中かどうかを判定する値
		// 1 → 住所変更確定済
		// 2 → 住所変更中
		bean[0].sendMessageString(KKW03301SFConst.AD_CHG_MODE, X31CWebConst.DATABEAN_SET_VALUE, getNullToStr((String)parentMap.get("ad_chg_mode")));
		/* ++++++++++ v12.00.00 追加終了 ++++++++++ */
		// ANK-4315-00-00 ADD START
		bean[0].sendMessageString(KKW03301SFConst.NET_UM_FLG, X31CWebConst.DATABEAN_SET_VALUE, getNullToStr((String)parentMap.get("netUmFlg")));
		// ANK-4315-00-00 ADD END
		
		return bean;
	}
	/* ++++++++++ v7.00.00追加終了 ++++++++++ */
	
// ANK-3149-00-00 ADD START
	/**
	 * 下りマッピング
	 * @param bean　[0]：機器提供サービス契約登録
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getSpMskmViewCtrlCC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("JKKSpMskmViewCtrlCC")){
			parentMap = (HashMap)outputMap.get("JKKSpMskmViewCtrlCC");
		}
		// ファミリーパック表示パターン
		bean[0].sendMessageString(KKW03301SFConst.FP_VIEW_PTN, X31CWebConst.DATABEAN_SET_VALUE, getNullToStr((String)parentMap.get("fpViewPtn")));
		// ウイルスバスター表示パターン
		bean[0].sendMessageString(KKW03301SFConst.VB_VIEW_PTN, X31CWebConst.DATABEAN_SET_VALUE, getNullToStr((String)parentMap.get("vbViewPtn")));
		// ＦＰ解約ルーター表示パターン
		bean[0].sendMessageString(KKW03301SFConst.FP_DSL_RT_VIEW_PTN, X31CWebConst.DATABEAN_SET_VALUE, getNullToStr((String)parentMap.get("fpDslRtViewPtn")));
		
		return bean;
	}
// ANK-3149-00-00 ADD END
// ANK-4315-00-00 ADD START
	/**
	 * 下りマッピング
	 * @param bean　[0]：機器提供サービス契約登録
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getRzkzmAnkenChkCC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{
		String rozettChkRslt = "";
		HashMap parentMap = null;
		if(outputMap.containsKey("JKKRzkzmAnkenChkCC")){
			parentMap = (HashMap)outputMap.get("JKKRzkzmAnkenChkCC");
		}
		
		if(parentMap != null)
		{
			rozettChkRslt = (String)parentMap.get("chk_result");
		}
		
		// ローゼットチェック結果
		bean[0].sendMessageString(KKW03301SFConst.ROZETT_CHK_RSLT, X31CWebConst.DATABEAN_SET_VALUE, rozettChkRslt);
		
		return bean;
	}
// ANK-4315-00-00 ADD END
	
	/**
	 * <pre>
	 * 建物のソートを実施する 
	 * (1)管理場所識別コードを"1","3",・・・,"2"でソートを実施。("2"が最後尾にソートされる)
	 * (2)管理場所コードを昇順でソートを実施。 
	 * (3)管理場所棚コードを昇順でソートを実施。 
	 * (4)宅内機器型式コードを昇順でソートを実施。
	 * </pre>
	 * 
	 * @param arrData ソート対象のList
	 */
	@SuppressWarnings("unchecked")
	public static void sortTtm(ArrayList<HashMap<String, String>> arrData)
	{
		Collections.sort(arrData, new Comparator()
		{

			/**
			 * ソート対象１とソート対象２でソートを実施
			 * 
			 * @param o1 ソート対象１
			 * @param o2 ソート対象２
			 * @return ソート結果
			 */
			public int compare(Object o1, Object o2)
			{
				// 第1ソート：管理場所識別コード
				// "2"の場合、ソート順を一番最後に設定
				if("2".equals(((HashMap<String, String>)o1).get("knri_plc_skbt_cd"))
						&& "2".equals(((HashMap<String, String>)o2).get("knri_plc_skbt_cd")))
				{
					// Nothing
				}
				else if("2".equals(((HashMap<String, String>)o1).get("knri_plc_skbt_cd")))
				{
					return 1;
				}
				else if("2".equals(((HashMap<String, String>)o2).get("knri_plc_skbt_cd")))
				{
					return -1;
				}
				else
				{
					// "2"以外は、昇順に設定
					if(!((HashMap<String, String>)o1).get("knri_plc_skbt_cd").equals((((HashMap<String, String>)o2).get("knri_plc_skbt_cd"))))
					{
						return ((HashMap<String, String>)o1).get("knri_plc_skbt_cd").compareTo(((HashMap<String, String>)o2).get("knri_plc_skbt_cd"));
					}
				}

				// 第2ソート：管理場所コード(昇順)
				if(!((HashMap<String, String>)o1).get("knri_plc_cd").equals((((HashMap<String, String>)o2).get("knri_plc_cd"))))
				{
					return ((HashMap<String, String>)o1).get("knri_plc_cd").compareTo(((HashMap<String, String>)o2).get("knri_plc_cd"));
				}

				// 第3ソート：管理場所棚コード(昇順)
				if(!((HashMap<String, String>)o1).get("knri_plc_slf_cd").equals((((HashMap<String, String>)o2).get("knri_plc_slf_cd"))))
				{
					return ((HashMap<String, String>)o1).get("knri_plc_slf_cd").compareTo(((HashMap<String, String>)o2).get("knri_plc_slf_cd"));
				}

				// 第4ソート：宅内機器型式コード(昇順)
				return ((HashMap<String, String>)o1).get("tk_mdl_cd").compareTo(((HashMap<String, String>)o2).get("tk_mdl_cd"));
			}
		});
	}
	
	/**
	 * 処理対処のサービス契約がモバイルデータか判断します。
	 * @param outputMap 検索データ
	 * @return モバイルデータの場合：true それ以外：false
	 */
	private boolean isMobail(HashMap outputMap)
	{
		
		// モバイルグループコードが格納されたMap
		HashMap mobileGrpMap = null;
		
		if(outputMap.containsKey("KKSV024716SC"))
		{
			mobileGrpMap = (HashMap)outputMap.get("KKSV024716SC");
		}
		else
		{
			return false;
		}
		
		// サービス契約データが格納されたMap
		HashMap svcKeiMap = null;
		ArrayList childList = null;
		
		if(outputMap.containsKey("KKSV024707SC"))
		{
			svcKeiMap = (HashMap)outputMap.get("KKSV024707SC");
			childList = (ArrayList)svcKeiMap.get("EKK0081A010CBSMsg1List");
		}
		else
		{
			return false;
		}
		
		
		// モバイル料金グループコード
		String[] prcGrpCdMobArray = ((String)mobileGrpMap.get("work_param_sette_value")).split(",");
		
		// サービス契約の料金グループコード
		HashMap childMap = (HashMap)childList.get(0);
		
		String prcGrpCd = (String)childMap.get("prc_grp_cd");

		
		for (int i = 0; i < prcGrpCdMobArray.length; i++)
		{
			if(prcGrpCd.equals(prcGrpCdMobArray[i]))
			{
				return true;
			}
			
		}
		
		return false;
	}

	/**
	 * 半角空白文字充填処理
	 * <BR>
	 * @param para 調整する文字列
	 * @param len 調整する長さ
	 * @param flg 空白埋め左右判断フラグ。（true：右埋め、false：左埋め）
	 * @return String 空白充填後の文字列。文字列がlenより長い場合はそのまま返却する。
	 */
	private String fillHalfSpace(String para, int len, boolean flg)
	{
		String paraRet = para;
		
		if (len <= 0)
		{
			return "";
		}

		if (paraRet == null)
		{
			return "";
		}

		if (paraRet.length() < len)
		{
			StringBuffer buf = new StringBuffer(paraRet);

			if (flg)
			{
				for (int i = buf.length(); i < len; i++)
				{
					buf.append(" ");
				}
			}
			else
			{
				for (int i = buf.length(); i < len; i++)
				{
					buf.insert(0, " ");
				}
			}
			paraRet = buf.toString();
			// JSP表示する際、半角空白を複数埋めても１つになるため全角空白に変換しています。
			paraRet = paraRet.replaceAll("  ", "　");
		}
		return paraRet;
	}
	
	/**
	 * 文字列カット処理
	 * <BR>
	 * @param para 調整する文字列
	 * @param len 調整する長さ
	 * @return String 空白充填後の文字列。文字列がlenより短い場合はそのまま返却する。
	 */
	private String cut(String para, int len)
	{
		if (len <= 0)
		{
			return "";
		}

		if (para == null)
		{
			return "";
		}

		if (len < para.length())
		{
			return para.substring(0, len);
		}
		return para;
	}
	
	/**
	 * 画面表示しない型式レコードを除去した件数を返します。
	 * <BR>
	 * @param bean データビーン
	 * @param childList 検索データ
	 * @return int 検索データ件数の桁数
	 */
	@SuppressWarnings("unchecked")
	/* ++++++++++ v5.00.02 変更開始 ++++++++++ */
//	private int getSoejiKeta(X31SDataBeanAccess[] bean, ArrayList childList)
	private int getSoejiKeta(X31SDataBeanAccess[] bean, ArrayList childList, HashMap outputMap)
	/* ++++++++++ v5.00.02 変更完了 ++++++++++ */
	{
		int bcasCcasCnt = 0;
		
		for (int i = 0; i < childList.size(); i++)
		{
			HashMap childMap = (HashMap)childList.get(i);
			/* ++++++++++ v5.00.02 変更開始 ++++++++++ */
//			if(!isDispModelList(bean, childMap))
			if(!isDispModelList(bean, childMap, outputMap))
			/* ++++++++++ v5.00.02 変更完了 ++++++++++ */
			{
				bcasCcasCnt++;
			}
		}
		
		return (childList.size() - bcasCcasCnt);
	}
	
	/**
	 * 機器型式が表示対象かチェックします。
	 * <br>
	 * @param bean
	 * @param childMap
	 * @param outputMap
	 * @return true:表示対象、 false:表示対象外
	 */
	@SuppressWarnings("unchecked")
	/* ++++++++++ v5.00.02 変更開始 ++++++++++ */
//	private boolean isDispModelList(X31SDataBeanAccess[] bean, HashMap childMap)
	private boolean isDispModelList(X31SDataBeanAccess[] bean, HashMap childMap, HashMap outputMap)
	/* ++++++++++ v5.00.02 変更完了 ++++++++++ */
	{
		// 宅内機器種別コードチェック(B-CAS、C-CASは表示しない)
		String taknkiki_sbt_cd = (String)childMap.get("taknkiki_sbt_cd");
		// 宅内機器種別コードＢ−ＣＡＳ判定
		String bcasTknKikiSbtCd = bean[0].sendMessageString(KKW03301SFConst.TKNKIKI_SBT_CD_BCAS,  X31CWebConst.DATABEAN_GET_VALUE);
		// 宅内機器種別コードＣ−ＣＡＳ判定
		String ccasTknKikiSbtCd = bean[0].sendMessageString(KKW03301SFConst.TKNKIKI_SBT_CD_CCAS,  X31CWebConst.DATABEAN_GET_VALUE);
		
		if(bcasTknKikiSbtCd.equals(taknkiki_sbt_cd) || ccasTknKikiSbtCd.equals(taknkiki_sbt_cd))
		{
			return false;
		}
		
		// 宅内機器型式コードチェック(不明機器は表示しない)
		
		// 宅内機器型式コード
		String taknkiki_model_cd = (String)childMap.get("taknkiki_model_cd");
		
		// 不明機器型式一覧の取得
		String[] fumei_kiki_mdl_list = bean[0].sendMessageString(KKW03301SFConst.FUMEI_KIKI_MDL_CD, X31CWebConst.DATABEAN_GET_VALUE).split(",");
		
		// 機器型式.宅内機器型式コードが不明機器リストと一致するかチェックする。
		for(int i=0; i < fumei_kiki_mdl_list.length; i++)
		{
			String fumei_kiki_model_cd = fumei_kiki_mdl_list[i];
			
			if(fumei_kiki_model_cd.equals(taknkiki_model_cd))
			{
				return false;
			}
		}
		
		/* ++++++++++ v5.00.02 変更開始 ++++++++++ */
		// マンションの場合、機器追加できる型式を制限します。
		HashMap<String, Object> parentMap = (HashMap<String, Object>)outputMap.get("KKSV024728CC");
		// マンション物件コード
		String out_mans_bukken_cd = getNullToStr((String)parentMap.get(OUT_MANS_BUKKEN_CD));
		// マンション通信設備コード
		String out_mans_tushin_equip_cd = getNullToStr((String)parentMap.get(OUT_MANS_TUSHIN_EQUIP_CD));
		// サービスコード
		String out_svc_cd = getNullToStr((String)parentMap.get(OUT_SVC_CD));
		
		if(MANS_BUKKEN_CD_MANS.equals(out_mans_bukken_cd))
		{
			// ネットまたは電話
			if(JKKCommonConst.SVC_CD_NET.equals(out_svc_cd) || JKKCommonConst.SVC_CD_02.equals(out_svc_cd))
			{
				// １．マンションで光配線以外の場合、ONUを非表示
				if(!"".equals(out_mans_tushin_equip_cd) && !MANS_TUSHIN_EQUIP_CD_HKR.equals(out_mans_tushin_equip_cd))
				{
					if(JKKCommonConst.TAKNKIKI_SBT_D0.equals(taknkiki_sbt_cd))
					{
						return false;
					}
				}
			}
			
			if(JKKCommonConst.SVC_CD_TV.equals(out_svc_cd))
			{
				// ３．マンションの場合、VONUを非表示
				if(JKKCommonConst.TAKNKIKI_SBT_E0.equals(taknkiki_sbt_cd))
				{
					return false;
				}
			}
		}
		
		// ネットまたは電話
		if(JKKCommonConst.SVC_CD_NET.equals(out_svc_cd) || JKKCommonConst.SVC_CD_02.equals(out_svc_cd))
		{
			// ２．マンションでVDSL以外の場合、VDSL・インラインフィルター・スプリッターを非表示
			if(!MANS_TUSHIN_EQUIP_CD_VDSL.equals(out_mans_tushin_equip_cd))
			{
				if(JKKCommonConst.TAKNKIKI_SBT_60.equals(taknkiki_sbt_cd) || JKKCommonConst.TAKNKIKI_SBT_70.equals(taknkiki_sbt_cd) || JKKCommonConst.TAKNKIKI_SBT_90.equals(taknkiki_sbt_cd))
				{
					return false;
				}
			}
		}
		/* ++++++++++ v5.00.02 変更完了 ++++++++++ */
		
		return true;
	}
	
	/**
	 * パラメタがNullの場合空白を返却します。
	 * @param str 文字列
	 * @return str
	 */
	private String getNullToStr(String str)
	{
		if (null == str)
		{
			return "";
		}
		return str.trim();
	}
	/**	
	 * 工事案件工事中判断メソッド
	 * <dd>メソッド名：
	 * <dd>メソッド説明：工事が完了していないか判断します。
	 * <dd>備考：
	 * @param kojiStat
	 * @return boolean
	 */
	private boolean isKinkyuKojiakNo(String kojiStat)
	{
		
		for (int i = 0; i < KOJICHU_KOJIAK_STAT.length; i++)
		{
			if(KOJICHU_KOJIAK_STAT[i].equals(kojiStat))
			{
				return true;
			}
		}
		
		return false;
	}
	
}