/*********************************************************************
*	All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名		：eo顧客基幹システム
*	モジュール名	：KKSV0164_KKSV0164OPDBMapper
*	ソースファイル名：KKSV0164_KKSV0164OPDBMapper.java
*	作成者			：Fujitsu
*	日付			：2011年07月27日
*＜機能概要＞
*	BP（eo光テレビオプションチャンネル更新画面初期表示OP）へのＤ−Ｂマッピングクラスです。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v1.00.00	2011/07/27	Fujitsu		新規作成
*	v4.00.00	2012/08/30	Fujitsu		ANK-0288-00-00,ANK-0524-00-00対応
*	v7.00.00	2014/02/04	FJ）稲岡	【OM-2014-0000343】対応
*	v22.00.00	2016/02/09	FJ）松岡	【OM-2016-0000143】対応
*   v39.00.00   2018/09/06	FJ) 中原    【ANK-3488-00-00】４KSTB（ACASチップ）導入対応
**********************************************************************/
package eo.web.webview.mapping;

import java.util.ArrayList;
import java.util.HashMap;

import com.fujitsu.futurity.web.x31.X31CWebConst;
import com.fujitsu.futurity.web.x31.X31SDataBeanAccess;
import com.fujitsu.futurity.web.x31.X31SDataBeanAccessArray;

import eo.web.webview.KKW02525SF.KKW02525SFConst;
import eo.web.webview.common.JKKCommonConst;

/**
 * DataBean-BPマッピングをする。
 * @author 909488
 */
public class KKSV0164_KKSV0164OPDBMapper
{
	
	/**
	 * コンストラクタ
	 */
	public KKSV0164_KKSV0164OPDBMapper()
	{
	}
	

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：eo光テレビオプションチャンネル更新画面
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return HashMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV016401SC(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);
		
		// SYSID → お客様一意照会マップ.ＫＥＹ＿SYSID
		parentMap.put("key_sysid", bean[0].sendMessageString("ＳＹＳＩＤ", X31CWebConst.DATABEAN_GET_VALUE));
		// 基準日 → お客様一意照会マップ.ＫＥＹ＿予約適用年月日
		parentMap.put("key_rsv_aply_ymd", bean[0].sendMessageString("基準日", X31CWebConst.DATABEAN_GET_VALUE));
		
		outputMap.put("KKSV016401SC", parentMap);
		
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：eo光テレビオプションチャンネル更新画面
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return HashMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV016402SC(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_svc_kei_no", bean[0].sendMessageString("サービス契約番号", X31CWebConst.DATABEAN_GET_VALUE));
		// 基準日 → サービス契約一意照会マップ.ＫＥＹ＿予約適用年月日
		parentMap.put("key_rsv_aply_ymd", bean[0].sendMessageString("基準日", X31CWebConst.DATABEAN_GET_VALUE));
		
		outputMap.put("KKSV016402SC", parentMap);
		
		return outputMap;
	}

//	/**
//	 * 上りマッピングをする
//	 * @param bean　[0]：eo光テレビオプションチャンネル更新画面
//	 * @param outputMap
//	 * @param func_code　機能コード
//	 * @return HashMap
//	 */
//	@SuppressWarnings("unchecked")
//	public HashMap setKKSV016403SC(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);
//		
//		outputMap.put("KKSV016403SC", parentMap);
//		
//		return outputMap;
//	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：eo光テレビオプションチャンネル更新画面
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return HashMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV016401CC(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_svc_kei_no", bean[0].sendMessageString("サービス契約番号", X31CWebConst.DATABEAN_GET_VALUE));
		// オプションサービス契約番号（遷移元） → 機器情報取得マップ.ＫＥＹ＿オプションサービス契約番号
		parentMap.put("key_op_svc_kei_no", bean[0].sendMessageString("オプションサービス契約番号（遷移元）", X31CWebConst.DATABEAN_GET_VALUE));
		// 基準日 → 機器情報取得マップ.ＫＥＹ＿予約適用年月日
		parentMap.put("key_rsv_aply_ymd", bean[0].sendMessageString("基準日", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("KKSV016401CC", parentMap);
		
		return outputMap;
	}
	
	/**
	 * 上りマッピングをする
	 * @param bean　[0]：eo光テレビオプションチャンネル更新画面
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return HashMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV016402CC(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);
		
		// 機器製造番号 → eo光テレビオプションチャンネル情報一覧照会マップ.ＫＥＹ＿機器製造番号 ※ワークに変更
		//parentMap.put("key_kiki_seizo_no", bean[0].sendMessageString("機器製造番号", X31CWebConst.DATABEAN_GET_VALUE));
		
		// 料金コースコード → eo光テレビオプションチャンネル情報一覧照会マップ.ＫＥＹ＿料金コースコード ※ワークに変更
		//parentMap.put("key_pcrs_cd", bean[0].sendMessageString("料金コースコード", X31CWebConst.DATABEAN_GET_VALUE));
		
		/* ++++++++++ v4.00.00 追加開始 ++++++++++ */
		// 基準日 → オプションサービス契約一意照会マップ.ＫＥＹ＿予約適用年月日
		parentMap.put("key_rsv_aply_ymd", bean[0].sendMessageString("基準日", X31CWebConst.DATABEAN_GET_VALUE));
		/* ++++++++++ v4.00.00 追加終了 ++++++++++ */
		
		outputMap.put("KKSV016402CC", parentMap);
		
		return outputMap;
	}
	
	/**
	 * 上りマッピングをする
	 * @param bean　[0]：ｅｏ光テレビオプションチャンネル更新
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV016406SC(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_op_svc_kei_no", bean[0].sendMessageString("オプションサービス契約番号（遷移元）", X31CWebConst.DATABEAN_GET_VALUE));
		// 基準日 → オプションサービス契約一意照会マップ.ＫＥＹ＿予約適用年月日
		parentMap.put("key_rsv_aply_ymd", bean[0].sendMessageString("基準日", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("KKSV016406SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：ｅｏ光テレビオプションチャンネル更新
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV016408SC(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);

		// "00031"（オプション設定） → 異動予約一覧照会マップ.ＫＥＹ＿異動区分
		parentMap.put("key_ido_div", "00031");
		// "014"（オプション登録） → 異動予約一覧照会マップ.ＫＥＹ＿異動予約詳細コード
		parentMap.put("key_ido_rsv_dtl_cd", "014");
		// "00"（未反映） → 異動予約一覧照会マップ.ＫＥＹ＿異動予約状態コード
		parentMap.put("key_ido_rsv_stat_cd", "00");
		// オプションサービス契約番号（遷移元） → 異動予約一覧照会マップ.ＫＥＹ＿オプションサービス契約番号
		parentMap.put("key_op_svc_kei_no", bean[0].sendMessageString("オプションサービス契約番号（遷移元）", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("KKSV016408SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：ｅｏ光テレビオプションチャンネル更新
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV016407SC(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);

//		// "00031"（オプション設定） → 異動予約一覧照会マップ.ＫＥＹ＿異動区分 ※"00055"（オプション予約取消）で設定されていることもあるので条件から削除
//		parentMap.put("key_ido_div", "00031");
		// "016"（オプション解約） → 異動予約一覧照会マップ.ＫＥＹ＿異動予約詳細コード
		parentMap.put("key_ido_rsv_dtl_cd", "016");
		// "00"（未反映） → 異動予約一覧照会マップ.ＫＥＹ＿異動予約状態コード
		parentMap.put("key_ido_rsv_stat_cd", "00");
		// オプションサービス契約番号（遷移元） → 異動予約一覧照会マップ.ＫＥＹ＿オプションサービス契約番号
		parentMap.put("key_op_svc_kei_no", bean[0].sendMessageString("オプションサービス契約番号（遷移元）", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("KKSV016407SC", parentMap);
						
		return outputMap;
	}

//OM-2016-0000143 DEL START 2016/02/09
//	/**
//	 * 上りマッピングをする
//	 * @param bean　[0]：eo光テレビオプションチャンネル更新画面
//	 * @param outputMap
//	 * @param func_code　機能コード
//	 */
//	@SuppressWarnings("unchecked")
//	public HashMap setKKSV016405SC(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);
//
//		// 業務パラメータ管理.ＫＥＹ＿業務パラメータID
//		parentMap.put("key_work_param_id", "KK_OP_CNL_STA DAYS");
//
//		outputMap.put("KKSV016405SC", parentMap);
//						
//		return outputMap;
//	}
//OM-2016-0000143 DEL END 2016/02/09
	
	/* ++++++++++ v4.00.00 追加開始 ++++++++++ */
	/**
	 * 上りマッピングをする
	 * @param bean　[0]：ｅｏ光テレビオプションチャンネル更新
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV016409SC(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);

		// オプションサービス契約番号（遷移元） → オプションサービス契約＜TV＞一意照会マップ.ＫＥＹ＿オプションサービス契約番号
		parentMap.put("key_op_svc_kei_no", bean[0].sendMessageString("オプションサービス契約番号（遷移元）", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("KKSV016409SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：ｅｏ光テレビオプションチャンネル更新
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV016410SC(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);

		// サービス契約番号 → 設置済STB一覧照会マップ.ＫＥＹ＿サービス契約番号
		parentMap.put("key_svc_kei_no", bean[0].sendMessageString("サービス契約番号", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("KKSV016410SC", parentMap);
						
		return outputMap;
	}
	
	/**
	 * 上りマッピングをする
	 * @param bean　[0]：ｅｏ光テレビオプションチャンネル更新
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV016411SC(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);

		outputMap.put("KKSV016411SC", parentMap);
						
		return outputMap;
	}
	/* ++++++++++ v4.00.00 追加終了 ++++++++++ */
	
	/**
	 * 上りマッピングをする
	 * @param bean　[0]：ｅｏ光テレビオプションチャンネル更新
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV016412SC(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_rsv_aply_ymd", bean[0].sendMessageString("基準日", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("KKSV016412SC", parentMap);
						
		return outputMap;
	}
	
	/**
	 * 上りマッピングをする
	 * @param bean　[0]：eo光テレビオプションチャンネル更新画面
	 * @param outputMap
	 * @return HashMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV0164WORK01(X31SDataBeanAccess[] bean, HashMap outputMap)
	{
		
		if(bean == null)
		{
			return null;
		}
		
		if(bean.length != 1)
		{
			return null;
		}
		
		HashMap<String, Object> parentMap = new HashMap<String, Object>();
		
		// イベントID → eo光テレビオプションチャンネル更新画面初期表示サービス作業項目マップ01.イベントID
		parentMap.put("event_id", bean[0].sendMessageString("イベントＩＤ", X31CWebConst.DATABEAN_GET_VALUE));
		
		outputMap.put("KKSV0164WORK01", parentMap);
		
		return outputMap;
	}
	
//OM-2016-0000143 ADD START 2016/02/09
	/**
	 * 上りマッピングをする
	 * @param bean　[0]：ｅｏ光テレビオプションチャンネル更新
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV016413SC(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_rsv_aply_ymd", bean[0].sendMessageString("基準日", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("KKSV016413SC", parentMap);
						
		return outputMap;
	}
//OM-2016-0000143 ADD END 2016/02/09


	/**
	 * 下りマッピング
	 * @param bean　[0]：eo光テレビオプションチャンネル更新画面
	 * @param outputMap
	 * @return HashMap
	 * @return X31SDataBeanAccess[]
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getKKSV016402SC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{
		
		HashMap parentMap = null;
		if(outputMap.containsKey("KKSV016402SC"))
		{
			parentMap = (HashMap)outputMap.get("KKSV016402SC");
		}
		
		ArrayList childList = null;
		X31SDataBeanAccess subbean = bean[0];
		
		childList = null;
		if(parentMap.containsKey("EKK0081A010CBSMsg1List"))
		{
			childList = (ArrayList)parentMap.get("EKK0081A010CBSMsg1List");
			
			if(0 != childList.size())
			{
				HashMap childMap = (HashMap)childList.get(0);
				// .サービス契約番号 ← サービス契約一意照会マップ..サービス契約番号
				bean[0].sendMessageString("サービス契約番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("svc_kei_no"));
				// .サービス契約ステータス ← サービス契約一意照会マップ..サービス契約ステータス
				subbean.sendMessageString("サービス契約ステータス", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("svc_kei_stat"));
				// .料金コースコード ← サービス契約一意照会マップ..料金コースコード
				subbean.sendMessageString("料金コースコード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("pcrs_cd"));
				// .更新年月日時分秒（更新前）（サービス契約） ← サービス契約一意照会マップ..更新年月日時分秒
				subbean.sendMessageString("更新年月日時分秒（更新前）（サービス契約）", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("last_upd_dtm"));
			}
		}
		
		return bean;
	}

//	/**
//	 * 下りマッピング
//	 * @param bean　[0]：eo光テレビオプションチャンネル更新画面
//	 * @param outputMap
//	 * @return X31SDataBeanAccess[]
//	 */
//	@SuppressWarnings("unchecked")
//	public X31SDataBeanAccess[] getKKSV016403SC(X31SDataBeanAccess[] bean, HashMap outputMap)
//	{
//		
//		HashMap parentMap = null;
//		if(outputMap.containsKey("KKSV016403SC"))
//		{
//			parentMap = (HashMap)outputMap.get("KKSV016403SC");
//		}
//		
//		ArrayList childList = null;
//		X31SDataBeanAccess subbean = bean[0];
//		
//		childList = null;
//		if(parentMap.containsKey("EKK0021A010CBSMsg1List"))
//		{
//			childList = (ArrayList)parentMap.get("EKK0021A010CBSMsg1List");
//			
//			if(0 != childList.size())
//			{
//				HashMap childMap = (HashMap)childList.get(0);
//				// .申込明細番号 ← 申込明細一意照会マップ..申込明細番号
//				subbean.sendMessageString("申込明細番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("mskm_dtl_no"));
//				// .更新年月日時分秒（更新前）（申込明細） ← 申込明細一意照会マップ..更新年月日時分秒（更新前）（申込明細）
//				subbean.sendMessageString("更新年月日時分秒（更新前）（申込明細）", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("upd_dtm"));
//			}
//		}
//		
//		return bean;
//	}
	
	/**
	 * 下りマッピング
	 * @param bean　[0]：eo光テレビオプションチャンネル更新画面
	 * @param outputMap
	 * @return X31SDataBeanAccess[]
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getKKSV016401CC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{
		
		HashMap parentMap = null;
		if(outputMap.containsKey("KKSV016401CC"))
		{
			parentMap = (HashMap)outputMap.get("KKSV016401CC");
		}
		
		ArrayList childList = null;
		X31SDataBeanAccess subbean = bean[0];
		
		childList = null;
		if(parentMap.containsKey("EKK0341B002CBSMsg1List"))
		{
			childList = (ArrayList)parentMap.get("EKK0341B002CBSMsg1List");
			
			if(0 != childList.size())
			{
				HashMap childMap = (HashMap)childList.get(0);
				// .機器製造番号 ← 機器情報取得マップ..機器製造番号
				subbean.sendMessageString("機器製造番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("kiki_seizo_no"));
			}
		}
		
		if(parentMap.containsKey("EKK0341B004CBSMsg1List"))
		{
			childList = (ArrayList)parentMap.get("EKK0341B004CBSMsg1List");
			
			if(0 != childList.size())
			{
				HashMap childMap = (HashMap)childList.get(0);
				// .ＢＣＡＳ−ＩＤ ← 機器情報取得マップ..機器製造番号(BCAS)
				subbean.sendMessageString("ＢＣＡＳ−ＩＤ", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("kiki_seizo_no_bcas"));
				// .ＣＣＡＳ−ＩＤ ← 機器情報取得マップ..機器製造番号(CCAS)
				subbean.sendMessageString("ＣＣＡＳ−ＩＤ", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("kiki_seizo_no_ccas"));
			}
		}
		
		return bean;
	}

	/**
	 * 下りマッピング
	 * @param bean　[0]：eo光テレビオプションチャンネル更新画面
	 * @param outputMap
	 * @return X31SDataBeanAccess[]
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getKKSV016402CC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{

		HashMap parentMap = null;
		if(outputMap.containsKey("KKSV016402CC"))
		{
			parentMap = (HashMap)outputMap.get("KKSV016402CC");
		}
		
		ArrayList childList = null;
		
//		// 表示モード
//		String hyojiMode = bean[0].sendMessageString("表示モード", X31CWebConst.DATABEAN_GET_VALUE);
//		// イベントID
//		String eventId = bean[0].sendMessageString("イベントＩＤ", X31CWebConst.DATABEAN_GET_VALUE);
//		// 遷移元画面のオプションサービス契約番号
//		String opSvcKeiNoSeniMoto = bean[0].sendMessageString(KKW02525SFConst.OP_SVC_KEI_NO_SENI_MOTO, X31CWebConst.DATABEAN_GET_VALUE);
		
		X31SDataBeanAccessArray listKKSV016403SC__EKK0341B004CBSMsg1List = bean[0].getDataBeanArray("ｅｏ光テレビオプションチャンネル情報一覧");
		X31SDataBeanAccess subbean = null;
		
		// クリア
		listKKSV016403SC__EKK0341B004CBSMsg1List.clearArray();
		
		if(parentMap.containsKey("EKK0341B004CBSMsg1List"))
		{
			childList = (ArrayList)parentMap.get("EKK0341B004CBSMsg1List");

			for(int i = 0; i < childList.size(); i++)
			{
				
				HashMap childMap = (HashMap)childList.get(i);
				
				// eo光テレビオプションチャンネル情報一覧照会マップ.オプションサービス契約ステータス（カレント情報）
				String opSvcKeiStatCre = (String)childMap.get("op_svc_kei_stat_cre");
				
				// 検索結果のオプションサービス契約ステータスが締結済み、サービス提供中、休止・中断中以外の場合は表示しない
				if (!JKKCommonConst.SVC_KEI_STAT_030.equals(opSvcKeiStatCre) 
						&& !JKKCommonConst.SVC_KEI_STAT_100.equals(opSvcKeiStatCre)
						&& !JKKCommonConst.SVC_KEI_STAT_210.equals(opSvcKeiStatCre))
				{
					continue;
				}
				
				subbean = listKKSV016403SC__EKK0341B004CBSMsg1List.addDataBean();
				
				// .オプションサービスコード ← eo光テレビオプションチャンネル情報一覧照会マップ.オプションサービスコード
				subbean.sendMessageString("オプションサービスコード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("op_svc_cd"));
				// .チャンネル名 ← eo光テレビオプションチャンネル情報一覧照会マップ.オプションサービス名
				subbean.sendMessageString("チャンネル名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("op_svc_nm"));
				/* ++++++++++ v4.00.00 追加開始 ++++++++++ */
				// .赤Ｂ−ＣＡＳ番号 ← eo光テレビオプションチャンネル情報一覧照会マップ.赤Ｂ−ＣＡＳ番号（カレント情報）
				subbean.sendMessageString("赤Ｂ−ＣＡＳ番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("red_bcas_no"));
				// .赤Ｂ−ＣＡＳ番号＿退避 ← eo光テレビオプションチャンネル情報一覧照会マップ.赤Ｂ−ＣＡＳ番号（カレント情報）
				subbean.sendMessageString("赤Ｂ−ＣＡＳ番号＿退避", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("red_bcas_no"));
				/* ++++++++++ v4.00.00 追加終了 ++++++++++ */
				// .オプションサービス契約番号 ← eo光テレビオプションチャンネル情報一覧照会マップ.オプションサービス契約番号（カレント情報）
				subbean.sendMessageString("オプションサービス契約番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("op_svc_kei_no_cre"));
				// .オプションサービス契約ステータス ← eo光テレビオプションチャンネル情報一覧照会マップ.オプションサービス契約ステータス（カレント情報）
				subbean.sendMessageString("オプションサービス契約ステータス", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("op_svc_kei_stat_cre"));
				// .利用開始日 ← eo光テレビオプションチャンネル情報一覧照会マップ.サービス開始年月日（カレント情報）
				subbean.sendMessageString("利用開始日", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("svc_staymd_cre"));
				/* ++++++++++ v4.00.00 追加開始 ++++++++++ */
				// .課金開始日 ← eo光テレビオプションチャンネル情報一覧照会マップ.サービス課金開始年月日
				subbean.sendMessageString("課金開始日", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("svc_chrg_staymd"));
				/* ++++++++++ v4.00.00 追加終了 ++++++++++ */
//OM-2016-0000143 ADD START 2016/02/09
				// .予約可能期間 ← eo光テレビオプションチャンネル情報一覧照会マップ.予約可能期間
				subbean.sendMessageString("予約可能期間", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("rsv_psb_prd"));
//OM-2016-0000143 ADD END 2016/02/09
			}
		}
		
		return bean;
	}
	
	/**
	 * 下りマッピング
	 * @param bean　[0]：ｅｏ光テレビオプションチャンネル更新
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getKKSV016406_07_08_09SC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("KKSV016406SC")){
			parentMap = (HashMap)outputMap.get("KKSV016406SC");
		}

		ArrayList childList = null;
		
		// 表示モード
		String hyojiMode = bean[0].sendMessageString("表示モード", X31CWebConst.DATABEAN_GET_VALUE);
		// 異動区分
		String idoDiv = bean[0].sendMessageString(KKW02525SFConst.IDO_DIV, X31CWebConst.DATABEAN_GET_VALUE);

		X31SDataBeanAccessArray listKKSV016406SC_option_ch_info_EKK0351A010CBSMsg1List = bean[0].getDataBeanArray("ｅｏ光テレビオプションチャンネル情報一覧");
		childList = null;
		if(listKKSV016406SC_option_ch_info_EKK0351A010CBSMsg1List != null && parentMap != null && parentMap.containsKey("EKK0351A010CBSMsg1List")){
			childList = (ArrayList)parentMap.get("EKK0351A010CBSMsg1List");

			for(int i = 0; i < childList.size(); i++){
				X31SDataBeanAccess subbean = null;
				if(listKKSV016406SC_option_ch_info_EKK0351A010CBSMsg1List.getCount() -1 >= i){
					subbean = listKKSV016406SC_option_ch_info_EKK0351A010CBSMsg1List.getDataBean(i);
				}else{
					subbean = listKKSV016406SC_option_ch_info_EKK0351A010CBSMsg1List.addDataBean();
				}
				HashMap childMap = (HashMap)childList.get(i);
				if (subbean == null) {
					continue;
				}
				
				// ｅｏ光テレビオプションチャンネル情報一覧.オプションサービス契約番号 ← オプションサービス契約一意照会マップ.オプションサービス契約一意照会明細.オプションサービス契約番号
				if (childMap != null) {
					subbean.sendMessageString("オプションサービス契約番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("op_svc_kei_no"));
				} else {
					subbean.sendMessageString("オプションサービス契約番号", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// ｅｏ光テレビオプションチャンネル情報一覧.オプションサービス契約ステータス ← オプションサービス契約一意照会マップ.オプションサービス契約一意照会明細.オプションサービス契約ステータス
				if (childMap != null) {
					subbean.sendMessageString("オプションサービス契約ステータス", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("op_svc_kei_stat"));
				} else {
					subbean.sendMessageString("オプションサービス契約ステータス", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// ｅｏ光テレビオプションチャンネル情報一覧.オプションサービスコード ← オプションサービス契約一意照会マップ.オプションサービス契約一意照会明細.オプションサービスコード
				if (childMap != null) {
					subbean.sendMessageString("オプションサービスコード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("op_svc_cd"));
				} else {
					subbean.sendMessageString("オプションサービスコード", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// ｅｏ光テレビオプションチャンネル情報一覧.チャンネル名 ← オプションサービス契約一意照会マップ.オプションサービス契約一意照会明細.オプションサービスコード名称
				if (childMap != null) {
					subbean.sendMessageString("チャンネル名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("op_svc_cd_nm"));
				} else {
					subbean.sendMessageString("チャンネル名", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// ｅｏ光テレビオプションチャンネル情報一覧.利用開始日 ← オプションサービス契約一意照会マップ.オプションサービス契約一意照会明細.サービス開始年月日
				if (childMap != null) {
					subbean.sendMessageString("利用開始日", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("svc_staymd"));
				} else {
					subbean.sendMessageString("利用開始日", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				/* ++++++++++ v4.00.00 追加開始 ++++++++++ */
				// ｅｏ光テレビオプションチャンネル情報一覧.課金開始日 ← オプションサービス契約一意照会マップ.オプションサービス契約一意照会明細.サービス課金開始年月日
				if (childMap != null) {
					subbean.sendMessageString("課金開始日", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("svc_chrg_staymd"));
				} else {
					subbean.sendMessageString("課金開始日", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				/* ++++++++++ v4.00.00 追加終了 ++++++++++ */
				// ｅｏ光テレビオプションチャンネル情報一覧.利用終了日 ← オプションサービス契約一意照会マップ.オプションサービス契約一意照会明細.サービス終了年月日
				// ※利用終了日が"20991231"の場合は表示しない
				if (childMap != null && !"20991231".equals((String)childMap.get("svc_endymd"))) {
					subbean.sendMessageString("利用終了日", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("svc_endymd"));
				} else {
					subbean.sendMessageString("利用終了日", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				/* ++++++++++ v4.00.00 追加開始 ++++++++++ */
				// ｅｏ光テレビオプションチャンネル情報一覧.課金終了日 ← オプションサービス契約一意照会マップ.オプションサービス契約一意照会明細.サービス課金終了年月日
				// ※課金終了日が"20991231"の場合は表示しない
				if (childMap != null && !"20991231".equals((String)childMap.get("svc_chrg_endymd"))) {
					subbean.sendMessageString("課金終了日", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("svc_chrg_endymd"));
				} else {
					subbean.sendMessageString("課金終了日", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				/* ++++++++++ v4.00.00 追加終了 ++++++++++ */
				
				
				if ("".equals(subbean.sendMessageString("利用開始日", X31CWebConst.DATABEAN_GET_VALUE)))
				{
					// ｅｏ光テレビオプションチャンネル情報一覧.利用開始日が空白の場合、KKSV016408SCから利用開始日を設定する
					HashMap parentMap3 = null;
					if(outputMap.containsKey("KKSV016408SC")){
						parentMap3 = (HashMap)outputMap.get("KKSV016408SC");
					}
					
					ArrayList childList3 = null;
					
					if(parentMap3 != null && parentMap3.containsKey("EKK1681B001CBSMsg1List")){
						childList3 = (ArrayList)parentMap3.get("EKK1681B001CBSMsg1List");
						
						HashMap childMap3 = null;
						if(childList3.size() > 0){
							childMap3 = (HashMap)childList3.get(0);// 1レコード目
						}
						
						// ｅｏ光テレビオプションチャンネル情報一覧.利用開始日 ← 異動予約一覧照会マップ.異動予約一覧照会明細.予約適用年月日
						if (childMap3 != null) {
							subbean.sendMessageString("利用開始日", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap3.get("rsv_aply_ymd"));
						} else {
							subbean.sendMessageString("利用開始日", X31CWebConst.DATABEAN_SET_VALUE, new String());
						}
					}

				}
//OM-2016-0000143 ADD START 2016/02/09
				if ("".equals(subbean.sendMessageString("予約可能期間", X31CWebConst.DATABEAN_GET_VALUE)))
				{
					// ｅｏ光テレビオプションチャンネル情報一覧.予約可能期間が空白の場合、KKSV016413SCから利用開始日を設定する
					HashMap parentMap4 = null;
					if(outputMap.containsKey("KKSV016413SC")){
						parentMap4 = (HashMap)outputMap.get("KKSV016413SC");
					}
					
					ArrayList childList4 = null;
					
					if(parentMap4 != null && parentMap4.containsKey("EKK0821A010CBSMsg1List")){
						childList4 = (ArrayList)parentMap4.get("EKK0821A010CBSMsg1List");
						
						HashMap childMap4 = null;
						if(childList4.size() > 0){
							childMap4 = (HashMap)childList4.get(0);// 1レコード目
						}
						
						// ｅｏ光テレビオプションチャンネル情報一覧.予約可能期間 ← eo光テレビオプションチャンネル情報一覧照会マップ.予約可能期間
						if (childMap4 != null) {
							subbean.sendMessageString("予約可能期間", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap4.get("rsv_psb_prd"));
						} else {
							subbean.sendMessageString("予約可能期間", X31CWebConst.DATABEAN_SET_VALUE, new String());
						}
					}

				}
//OM-2016-0000143 ADD END 2016/02/09
				
				// 表示モードが「取消モード」の場合
				if ("3".equals(hyojiMode))
				{
					// ｅｏ光テレビオプションチャンネル情報一覧.利用終了日が空白の場合は、KKSV016407SCから利用終了日を設定する
					if ("".equals(subbean.sendMessageString("利用終了日", X31CWebConst.DATABEAN_GET_VALUE)))
					{
						HashMap parentMap2 = null;
						if(outputMap.containsKey("KKSV016407SC")){
							parentMap2 = (HashMap)outputMap.get("KKSV016407SC");
						}
						
						ArrayList childList2 = null;
						
						if(parentMap2 != null && parentMap2.containsKey("EKK1681B001CBSMsg1List")){
							childList2 = (ArrayList)parentMap2.get("EKK1681B001CBSMsg1List");
							
							HashMap childMap2 = null;
							if(childList2.size() > 0){
								childMap2 = (HashMap)childList2.get(0);// 1レコード目
							}
							
							// ｅｏ光テレビオプションチャンネル情報一覧.利用終了日 ← 異動予約一覧照会マップ.異動予約一覧照会明細.予約適用年月日
							if (childMap2 != null) {
								subbean.sendMessageString("利用終了日", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap2.get("rsv_aply_ymd"));
							} else {
								subbean.sendMessageString("利用終了日", X31CWebConst.DATABEAN_SET_VALUE, new String());
							}
							// ｅｏ光テレビオプションチャンネル情報一覧.課金終了日 ← 異動予約一覧照会マップ.異動予約一覧照会明細.サービス課金終了年月日
							if (childMap2 != null) {
								subbean.sendMessageString("課金終了日", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap2.get("svc_chrg_endymd"));
							} else {
								subbean.sendMessageString("課金終了日", X31CWebConst.DATABEAN_SET_VALUE, new String());
							}
						}
					}
					
//					if (JKKCommonConst.SVC_KEI_STAT_910.equals((String)childMap.get("op_svc_kei_stat")))
//					{
//						// オプションサービス契約ステータスが、"解約済"の場合、"回復"
//						subbean.sendMessageString(KKW02525SFConst.CHOICE_NM_01, X31CWebConst.DATABEAN_SET_VALUE, "回復");
//					}
//					else if (JKKCommonConst.SVC_KEI_STAT_010.equals((String)childMap.get("op_svc_kei_stat")) || JKKCommonConst.SVC_KEI_STAT_100.equals((String)childMap.get("op_svc_kei_stat")))
//					{
//						// オプションサービス契約ステータスが、"受付済"か"サービス提供中"の場合、"予約取消"
//						subbean.sendMessageString(KKW02525SFConst.CHOICE_NM_01, X31CWebConst.DATABEAN_SET_VALUE, "予約取消");
//					}
					
					// 異動区分が設定されている場合、選択の表示を編集する
					if(!"".equals(idoDiv) && idoDiv != null)
					{
						/* ++++++++++ v4.00.00 変更開始 ++++++++++ */
//						if (JKKCommonConst.SVC_KEI_STAT_010.equals((String)childMap.get("op_svc_kei_stat")) || JKKCommonConst.SVC_KEI_STAT_030.equals((String)childMap.get("op_svc_kei_stat")))
//						{
//							// オプションサービス契約ステータスが、"受付済"か"締結済"の場合、"予約取消"
//							subbean.sendMessageString(KKW02525SFConst.CHOICE_NM_01, X31CWebConst.DATABEAN_SET_VALUE, "予約取消");
//						}
//						else
//						{
//							// オプションサービス契約ステータスが、"受付済"、"締結済"以外の場合、"回復"
//							subbean.sendMessageString(KKW02525SFConst.CHOICE_NM_01, X31CWebConst.DATABEAN_SET_VALUE, "回復");
//						}
						// ステータスにかかわらず"予約取消"を表示
						subbean.sendMessageString(KKW02525SFConst.CHOICE_NM_01, X31CWebConst.DATABEAN_SET_VALUE, "予約取消");
						/* ++++++++++ v4.00.00 変更終了 ++++++++++ */
					}
				}
				
				/* ++++++++++ v4.00.00 追加開始 ++++++++++ */
				// オプションサービス契約＜TV＞一意照会マップから赤Ｂ−ＣＡＳ番号を取得する
				HashMap parentMap4 = null;
				if(outputMap.containsKey("KKSV016409SC")){
					parentMap4 = (HashMap)outputMap.get("KKSV016409SC");
				}
				
				ArrayList childList4 = null;
				
				if(parentMap4 != null && parentMap4.containsKey("EKK0381A010CBSMsg1List")){
					childList4 = (ArrayList)parentMap4.get("EKK0381A010CBSMsg1List");
					
					HashMap childMap4 = null;
					if(childList4.size() > 0){
						childMap4 = (HashMap)childList4.get(0);// 1レコード目
					}
					
					// ｅｏ光テレビオプションチャンネル情報一覧.赤Ｂ−ＣＡＳ番号 ← オプションサービス契約＜TV＞一意照会マップ.オプションサービス契約＜TV＞一意照会明細.赤B−CAS番号
					if (childMap4 != null) {
						subbean.sendMessageString("赤Ｂ−ＣＡＳ番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap4.get("red_bcas_no"));
					} else {
						subbean.sendMessageString("赤Ｂ−ＣＡＳ番号", X31CWebConst.DATABEAN_SET_VALUE, new String());
					}
					
					// ｅｏ光テレビオプションチャンネル情報一覧.赤Ｂ−ＣＡＳ番号＿退避 ← オプションサービス契約＜TV＞一意照会マップ.オプションサービス契約＜TV＞一意照会明細.赤B−CAS番号
					if (childMap4 != null) {
						subbean.sendMessageString("赤Ｂ−ＣＡＳ番号＿退避", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap4.get("red_bcas_no"));
					} else {
						subbean.sendMessageString("赤Ｂ−ＣＡＳ番号＿退避", X31CWebConst.DATABEAN_SET_VALUE, new String());
					}
				}
				/* ++++++++++ v4.00.00 追加終了 ++++++++++ */
			}
		}

		return bean;
	}
	
//OM-2016-0000143 DEL START 2016/02/09
//	/**
//	 * 下りマッピング
//	 * @param bean　[0]：eo光テレビオプションチャンネル更新画面
//	 * @param outputMap
//	 */
//	@SuppressWarnings("unchecked")
//	public X31SDataBeanAccess[] getKKSV016405SC(X31SDataBeanAccess[] bean, HashMap outputMap){
//
//		HashMap parentMap = null;
//		if(outputMap.containsKey("KKSV016405SC")){
//			parentMap = (HashMap)outputMap.get("KKSV016405SC");
//		}
//
//		
//		// ＳＴＢ機器提供サービスコード ← 機器提供サービスコードSTB判定取得.業務パラメータ設定値
//		if (parentMap != null) {
//			bean[0].sendMessageString("オプションチャンネル利用開始日数", X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("work_param_sette_value"));
//		} else {
//			bean[0].sendMessageString("オプションチャンネル利用開始日数", X31CWebConst.DATABEAN_SET_VALUE, new String());
//		}
//
//		return bean;
//	}
//OM-2016-0000143 DEL END 2016/02/09
	
	/* ++++++++++ v4.00.00 追加開始 ++++++++++ */
	/**
	 * 下りマッピング
	 * @param bean　[0]：ｅｏ光テレビオプションチャンネル更新
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getKKSV016410SC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("KKSV016410SC")){
			parentMap = (HashMap)outputMap.get("KKSV016410SC");
		}

		ArrayList childList = null;
		// ANK-3488-00-00 ADD START
		ArrayList<HashMap<String, Object>> parentMap4K = new ArrayList<HashMap<String, Object>>();
		if(outputMap.containsKey("KKSV016414SCOUT")){
			parentMap4K = (ArrayList<HashMap<String, Object>>) outputMap.get("KKSV016414SCOUT");
		}
		// ANK-3488-00-00 ADD END
		

		X31SDataBeanAccessArray listKKSV016410SC_settizumi_stb_list_EKK0161B007CBSMsg1List = bean[0].getDataBeanArray("設置済ＳＴＢリスト");
		listKKSV016410SC_settizumi_stb_list_EKK0161B007CBSMsg1List.clearArray();
		childList = null;
		if(listKKSV016410SC_settizumi_stb_list_EKK0161B007CBSMsg1List != null && parentMap != null && parentMap.containsKey("EKK0161B007CBSMsg1List")){
			childList = (ArrayList)parentMap.get("EKK0161B007CBSMsg1List");

			int j = 0;
//			String maeSvcKeiUcwkNo = "";
			
			for(int i = 0; i < childList.size(); i++){
				HashMap childMap = (HashMap)childList.get(i);
//				String svcKeiUcwkNo = (String)childMap.get("svc_kei_ucwk_no");
				String taknkikiSbtCd = (String)childMap.get("taknkiki_sbt_cd");
//				// 前明細とサービス契約内訳番号が異なる場合、新たに設置済ＳＴＢリストを追加する
//				if(!maeSvcKeiUcwkNo.equals(svcKeiUcwkNo))
//				{
//					j++;
//				}
//				maeSvcKeiUcwkNo = svcKeiUcwkNo;
				
				X31SDataBeanAccess subbean = null;
				if(listKKSV016410SC_settizumi_stb_list_EKK0161B007CBSMsg1List.getCount() -1 >= j){
					subbean = listKKSV016410SC_settizumi_stb_list_EKK0161B007CBSMsg1List.getDataBean(j);
				}else{
					subbean = listKKSV016410SC_settizumi_stb_list_EKK0161B007CBSMsg1List.addDataBean();
				}
				
				if (subbean == null) {
					continue;
				}
			
				// 宅内機器種別コードが"A0"(STB)の場合
				if("A0".equals(taknkikiSbtCd))
				{
					// 設置済ＳＴＢリスト.ＳＴＢ連番 ← 設置済STB一覧照会マップ.設置済ＳＴＢ一覧照会明細.ＳＴＢ連番
					if (childMap != null) {
						subbean.sendMessageString("ＳＴＢ連番", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("stb_renban"));
					} else {
						subbean.sendMessageString("ＳＴＢ連番", X31CWebConst.DATABEAN_SET_VALUE, new String());
					}
					// 設置済ＳＴＢリスト.機器製造番号＿ＳＴＢ ← 設置済STB一覧照会マップ.設置済ＳＴＢ一覧照会明細.機器製造番号
					if (childMap != null) {
						subbean.sendMessageString("機器製造番号＿ＳＴＢ", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("kiki_seizo_no"));
					} else {
						subbean.sendMessageString("機器製造番号＿ＳＴＢ", X31CWebConst.DATABEAN_SET_VALUE, new String());
					}
					// 設置済ＳＴＢリスト.宅内機器型式 ← 設置済STB一覧照会マップ.設置済ＳＴＢ一覧照会明細.宅内機器型式コード
					if (childMap != null) {
						subbean.sendMessageString("宅内機器型式", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("taknkiki_model_cd"));
					} else {
						subbean.sendMessageString("宅内機器型式", X31CWebConst.DATABEAN_SET_VALUE, new String());
					}
					// 設置済ＳＴＢリスト.コース ← 設置済STB一覧照会マップ.設置済ＳＴＢ一覧照会明細.料金プランコード名称
					if (childMap != null) {
						subbean.sendMessageString("コース", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("pplan_cd_nm"));
					} else {
						subbean.sendMessageString("コース", X31CWebConst.DATABEAN_SET_VALUE, new String());
					}
					// ANK-3488-00-00 ADD START
					if ( parentMap4K != null )
					{
						for (HashMap ewca001001CbsMsg1Map : parentMap4K)
						{
							if ( ewca001001CbsMsg1Map != null )
							{
								// 機器提供サービス契約から取得した機器製造番号
								String stbKkSeizoNoKktk = (String)childMap.get("kiki_seizo_no");
								// 宅内機器管理Ｓから取得した機器製造番号
								String stbKkSeizoNoTakn = (String) ewca001001CbsMsg1Map.get("stb_kk_seizo_no");
								// 機器提供サービス契約から取得した宅内機器型式
								String taknkikiModelCdKktk = (String)childMap.get("taknkiki_model_cd");
								// 宅内機器管理Ｓから取得した宅内機器型式
								String stbTkMdlCdTakn = (String) ewca001001CbsMsg1Map.get("stb_tk_mdl_cd");
								// 機器提供サービス契約と宅内機器管理Ｓから取得した機器製造番号、宅内機器型式が一致する場合、ＢＣＡＳ−ＩＤ（ＡＣＡＳ−ＩＤ）を設定
								if (stbKkSeizoNoKktk != null &&  stbKkSeizoNoTakn != null && stbKkSeizoNoKktk.equals(stbKkSeizoNoTakn) )
								{
									if (taknkikiModelCdKktk != null &&  stbTkMdlCdTakn != null && taknkikiModelCdKktk.equals(stbTkMdlCdTakn) )
									{
										subbean.sendMessageString("ＢＣＡＳ−ＩＤ", X31CWebConst.DATABEAN_SET_VALUE, (String)ewca001001CbsMsg1Map.get("b_cas_kk_seizo_no"));
										break;
									}
								}
							}
						}
					}
					// ANK-3488-00-00 ADD END
				}
				// 宅内機器種別コードが"B0"(BCAS)の場合
				else if ("B0".equals(taknkikiSbtCd))
				{
					// 設置済ＳＴＢリスト.ＢＣＡＳ−ＩＤ ← 設置済STB一覧照会マップ.設置済ＳＴＢ一覧照会明細.機器製造番号
					if (childMap != null) {
						subbean.sendMessageString("ＢＣＡＳ−ＩＤ", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("kiki_seizo_no"));
					} else {
						subbean.sendMessageString("ＢＣＡＳ−ＩＤ", X31CWebConst.DATABEAN_SET_VALUE, new String());
					}
				}
				// 宅内機器種別コードが"C0"(CCAS)の場合
				else if ("C0".equals(taknkikiSbtCd))
				{
					// 設置済ＳＴＢリスト.ＣＣＡＳ−ＩＤ ← 設置済STB一覧照会マップ.設置済ＳＴＢ一覧照会明細.機器製造番号
					if (childMap != null) {
						subbean.sendMessageString("ＣＣＡＳ−ＩＤ", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("kiki_seizo_no"));
					} else {
						subbean.sendMessageString("ＣＣＡＳ−ＩＤ", X31CWebConst.DATABEAN_SET_VALUE, new String());
					}
				}
				
				
			}
		}


		return bean;
	}

	/**
	 * 下りマッピング
	 * @param bean　[0]：ｅｏ光テレビオプションチャンネル更新
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getKKSV016411SC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("KKSV016411SC")){
			parentMap = (HashMap)outputMap.get("KKSV016411SC");
		}

		ArrayList childList = null;
		

		X31SDataBeanAccessArray listKKSV016411SC_settizumi_stb_list_EKKA0020003CBSMsg2List = bean[0].getDataBeanArray("設置済ＳＴＢリスト");
		childList = null;
		if(listKKSV016411SC_settizumi_stb_list_EKKA0020003CBSMsg2List != null && parentMap != null && parentMap.containsKey("EKKA0020003CBSMsg2List")){
			childList = (ArrayList)parentMap.get("EKKA0020003CBSMsg2List");

			String settizumiModelCd = "";
			String settizumiSeizoNo = "";
			for(int i = 0; i < listKKSV016411SC_settizumi_stb_list_EKKA0020003CBSMsg2List.getCount(); i++)
			{
				X31SDataBeanAccess subbean = null;
				subbean = listKKSV016411SC_settizumi_stb_list_EKKA0020003CBSMsg2List.getDataBean(i);
				settizumiModelCd = subbean.sendMessageString("宅内機器型式", X31CWebConst.DATABEAN_GET_VALUE);
				settizumiSeizoNo = subbean.sendMessageString("機器製造番号＿ＳＴＢ", X31CWebConst.DATABEAN_GET_VALUE);
				
				for(int j = 0; j < childList.size(); j++)
				{
					HashMap childMap = (HashMap)childList.get(j);
					if(settizumiModelCd.equals((String)childMap.get("tk_mdl_cd")) && settizumiSeizoNo.equals((String)childMap.get("kk_seizo_no")))
					{
						// 設置済ＳＴＢリスト.ＳＴＢ−ＩＤ ← 宅内機器一意照会（４）マップ.宅内機器一意照会（４）明細.ＳＴＢＩＤ
						subbean.sendMessageString("ＳＴＢ−ＩＤ", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("stbid"));
						break;
					}
				}
			}
//			for(int i = 0; i < childList.size(); i++){
//				X31SDataBeanAccess subbean = null;
//				if(listKKSV016411SC_settizumi_stb_list_EKKA0020003CBSMsg2List.getCount() -1 >= i){
//					subbean = listKKSV016411SC_settizumi_stb_list_EKKA0020003CBSMsg2List.getDataBean(i);
//				}else{
//					subbean = listKKSV016411SC_settizumi_stb_list_EKKA0020003CBSMsg2List.addDataBean();
//				}
//				HashMap childMap = (HashMap)childList.get(i);
//				if (subbean == null) {
//					continue;
//				}
//			
//				// 設置済ＳＴＢリスト.ＳＴＢ−ＩＤ ← 宅内機器一意照会（４）マップ.宅内機器一意照会（４）明細.ＳＴＢＩＤ
//				if (childMap != null) {
//					subbean.sendMessageString("ＳＴＢ−ＩＤ", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("stbid"));
//				} else {
//					subbean.sendMessageString("ＳＴＢ−ＩＤ", X31CWebConst.DATABEAN_SET_VALUE, new String());
//				}
//			}
		}


		return bean;
	}
	/* ++++++++++ v4.00.00 追加終了 ++++++++++ */

}
