/*********************************************************************
*	All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名		：eo顧客基幹システム
*	モジュール名	：KKSV0891_KKSV0891OPDBMapper
*	ソースファイル名：KKSV0891_KKSV0891OPDBMapper.java
*	作成者			：FJ)澤田
*	日付			：2018年02月13日
*＜機能概要＞
*	BP（精算金計算画面初期表示）へのＤ−Ｂマッピングクラスです。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v36.00.00	2018/02/13	FJ)澤田		新規作成【ANK-3296-00-00】標準工事費分割請求
*	v37.00.00	2018/05/01	FJ)原田		【ANK-3383-00-00】標準工事費分割請求（STEP2）
*	v37.00.00	2018/05/16	FJ)原田		【ANK-3383-06-00】標準工事費分割請求（STEP2）仕様変更対応０６
*	v41.00.00	2019/02/20	FJ)三原		【ANK-3412-03-00】【５ギガ・１０ギガ】特約プログラム対応
*	v49.00.00	2020/06/11	FJ)荒木		【ANK-3840-00-00】テレビリースサービス新規申込対応
**********************************************************************/
package eo.web.webview.mapping;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.fujitsu.futurity.web.x31.X31CWebConst;
import com.fujitsu.futurity.web.x31.X31SDataBeanAccess;
import com.fujitsu.futurity.web.x31.X31SDataBeanAccessArray;

import eo.web.webview.KKW22101SF.KKW22101SFConst;
import eo.web.webview.common.JKKCommonConst;


/**
 * DataBean-BPマッピングをする。
 * 
 */
public class KKSV0891_KKSV0891OPDBMapper 
{

	/**
	 * コンストラクタ
	 */
	public KKSV0891_KKSV0891OPDBMapper()
	{
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：精算金計算画面初期表示
	 * @param outputMap
	 * @param svcKeiNo サービス契約番号
	 * @return Map
	 */
	@SuppressWarnings("unchecked")
	public Map setKKSV089101CC(X31SDataBeanAccess[] bean, Map<String, Object> outputMap, String svcKeiNo) 
	{
		if(bean == null)
		{
			return null;
		}
		
		if(bean.length != 1)
		{
			return null;
		}
		
		Map<String, Object> parentMap = new HashMap<String, Object>();
		
		// サービス契約番号
		parentMap.put("svc_kei_no", svcKeiNo);
		
		outputMap.put("KKSV089101CC", parentMap);

		return outputMap;
	}

// ANK-3840-00-00 ADD START
	/**
	 * 上りマッピングをする
	 * @param bean　[0]：精算金計算画面初期表示
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public Map setKKSV089102CC(X31SDataBeanAccess[] bean, Map<String, Object> outputMap, String func_code, String sysid) {
		
		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_func_code", String.valueOf(JKKCommonConst.VCMS_TEGAK_SVC_FUNC_CODE));
		// 部品呼び出し → ＫＥＹ＿契約種別コード
		parentMap.put("key_kyk_sbt_cd", String.valueOf(JKKCommonConst.VCMS_TEGAK_SVC_KYK_SBT_CODE));
		// SYSID → ＫＥＹ＿ＳＹＳＩＤ
		parentMap.put("key_sysid", String.valueOf(sysid));
		
		outputMap.put("KKSV089102CC", parentMap);
		
		return outputMap;
	}
// ANK-3840-00-00 ADD END

	/**
	 * 下りマッピングをする
	 * @param bean　[0]：精算金計算画面初期表示
	 * @param outputMap
	 * @param outputList
	 * @return X31SDataBeanAccess
	 * @throws Exception 
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getKKSV089101CC(X31SDataBeanAccess[] bean, Map<String, Object> outputMap, List<Map<String,Object>> outputList) throws Exception
	{
		Map<String, Object> parentMap = null;
		
		if(outputMap != null)
		{
			parentMap = (Map<String, Object>)outputMap.get("KKSV089101CC");
		}
		
		// サービス名称＿料金プラン＿ネット
		bean[0].sendMessageString(KKW22101SFConst.SVC_NM_PRC_PLAN_NM_NET, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("svc_nm_prc_plan_nm_net"));
		// サービス名称＿料金プラン＿電話
		bean[0].sendMessageString(KKW22101SFConst.SVC_NM_PRC_PLAN_NM_TEL, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("svc_nm_prc_plan_nm_tel"));
		// サービス名称＿料金プラン＿テレビ
		bean[0].sendMessageString(KKW22101SFConst.SVC_NM_PRC_PLAN_NM_TV, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("svc_nm_prc_plan_nm_tv"));
		// お客さまＩＤ＿ネット
		bean[0].sendMessageString(KKW22101SFConst.SVC_KEI_NO_NET, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("svc_kei_no_net"));
		// お客さまＩＤ＿電話
		bean[0].sendMessageString(KKW22101SFConst.SVC_KEI_NO_TEL, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("svc_kei_no_tel"));
		// お客さまＩＤ＿テレビ
		bean[0].sendMessageString(KKW22101SFConst.SVC_KEI_NO_TV, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("svc_kei_no_tv"));
		// サービス開始日＿ネット
		bean[0].sendMessageString(KKW22101SFConst.SVC_STA_YMD_NET, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("svc_sta_ymd_net"));
		// サービス開始日＿電話
		bean[0].sendMessageString(KKW22101SFConst.SVC_STA_YMD_TEL, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("svc_sta_ymd_tel"));
		// サービス開始日＿テレビ
		bean[0].sendMessageString(KKW22101SFConst.SVC_STA_YMD_TV, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("svc_sta_ymd_tv"));
		// 特記事項＿ネット
		bean[0].sendMessageString(KKW22101SFConst.TKJK_NET, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("tkjk_net"));
		// 特記事項＿電話
		bean[0].sendMessageString(KKW22101SFConst.TKJK_TEL, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("tkjk_tel"));
		// 特記事項＿テレビ
		bean[0].sendMessageString(KKW22101SFConst.TKJK_TV, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("tkjk_tv"));
		// 工事費割賦請求開始年月
		bean[0].sendMessageString(KKW22101SFConst.KOJIHI_KAP_SEIKY_STA_YM, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("kojihi_kap_seiky_sta_ym"));
		// 割賦情報ボタン活性制御フラグ
		bean[0].sendMessageString(KKW22101SFConst.KAP_INFO_BTN_KASSEI_CTRL_FLG, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("kap_info_btn_kassei_ctrl_flg"));
		// 計算ボタン活性制御フラグ
		bean[0].sendMessageString(KKW22101SFConst.CALC_BTN_KASSEI_CTRL_FLG, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("calc_btn_kassei_ctrl_flg"));
		// サービス開始日チェックフラグ
		bean[0].sendMessageString(KKW22101SFConst.SVC_STA_CHECK_FLG, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("svc_sta_check_flg"));
		// ANK-3383-00-00 ADD START
		// 初期表示＿割賦形態
		bean[0].sendMessageString(KKW22101SFConst.SHK_DSP_KOJIHI_KAP_PLAN_NM, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("shk_dsp_kojihi_kap_plan_nm"));
		// 初期表示＿割賦残高
		bean[0].sendMessageString(KKW22101SFConst.SHK_DSP_KOJIHI_KAP_ZDK, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("shk_dsp_kojihi_kap_zdk"));
		// 初期表示＿割賦残回数
		bean[0].sendMessageString(KKW22101SFConst.SHK_DSP_KAP_PAY_ZAN_CNT, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("shk_dsp_kap_pay_zan_cnt"));
		// 初期表示＿標準工事費相当額割引キャンペーンステータス
		bean[0].sendMessageString(KKW22101SFConst.SHK_DSP_KOJIHI_WRBK_CAMPAIGN_STAT, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("shk_dsp_kojihi_wrbk_campaign_stat"));
		// 初期表示＿標準工事費相当額割引キャンペーンステータス名称
		bean[0].sendMessageString(KKW22101SFConst.SHK_DSP_KOJIHI_WRBK_CAMPAIGN_STAT_NM, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("shk_dsp_kojihi_wrbk_campaign_stat_nm"));
		// 初期表示＿標準工事費相当額割引キャンペーン適用残回数
		bean[0].sendMessageString(KKW22101SFConst.SHK_DSP_KOJIHI_WRIB_CAMPAIGN_ZKAISU, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("shk_dsp_kojihi_wrib_campaign_zkaisu"));
		// 工事費相当額割引キャンペーン適用残回数
		bean[0].sendMessageString(KKW22101SFConst.KOJIHI_WRIB_CAMPAIGN_ZAN_CNT, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("kojihi_wrib_campaign_zan_cnt"));
		// ｅｏスマートリンク明細一覧リスト件数
		bean[0].sendMessageString(KKW22101SFConst.SMTLNK_INFO_LIST_CNT, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("smtlnk_info_list_cnt"));
		// ＧｏｏｇｌｅＨｏｍｅ明細一覧リスト件数
		bean[0].sendMessageString(KKW22101SFConst.GGLHM_INFO_LIST_CNT, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("gglhm_info_list_cnt"));
		// スターｃｈセット解約精算金−課金開始月
		bean[0].sendMessageString(KKW22101SFConst.STCH_SET_DSL_SSN_KIN_CHRG_STA_YM, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("stch_set_dsl_ssn_kin_chrg_sta_ym"));
		// ＳＴＢ明細一覧リスト件数
		bean[0].sendMessageString(KKW22101SFConst.STB_INFO_LIST_CNT, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("stb_info_list_cnt"));
		// ANK-3383-00-00 ADD END
		// ANK-3383-06-00 ADD START
		// 直近料金計算対象最終年月日
		bean[0].sendMessageString(KKW22101SFConst.RCNT_PRCCALC_LAST_YMD, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("rcnt_prccalc_last_ymd"));
		// ANK-3383-06-00 ADD END
		// ANK-3412-03-00 ADD START
		// 高速割申込可能フラグ("0":申込不可、"1":申込可能)
		bean[0].sendMessageString(KKW22101SFConst.KOUSOKUWARI_MSKM_PSB_FLG, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("kousokuwari_mskm_psb_flg"));
		// ANK-3412-03-00 ADD END

		ArrayList childList = null;
		
		X31SDataBeanAccessArray listKKSV089101CC_svc_kei_dammy_list_EKK0341B035CBSMsg1List = bean[0].getDataBeanArray("機器提供サービス契約一覧明細リスト");
		childList = null;
		if(listKKSV089101CC_svc_kei_dammy_list_EKK0341B035CBSMsg1List != null && outputMap != null && parentMap.containsKey("EKK0341B035CBSMsg1List")){
			childList = (ArrayList)parentMap.get("EKK0341B035CBSMsg1List");

			for(int i = 0; i < childList.size(); i++)
			{
				X31SDataBeanAccess subbean = null;
				if(listKKSV089101CC_svc_kei_dammy_list_EKK0341B035CBSMsg1List.getCount() -1 >= i){
					subbean = listKKSV089101CC_svc_kei_dammy_list_EKK0341B035CBSMsg1List.getDataBean(i);
				}else{
					subbean = listKKSV089101CC_svc_kei_dammy_list_EKK0341B035CBSMsg1List.addDataBean();
				}
				HashMap childMap = (HashMap)childList.get(i);
				if (subbean == null) {
					continue;
				}
				// 宅内機器型式コード
				if (childMap != null) {
					subbean.sendMessageString("宅内機器型式コード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("taknkiki_model_cd"));
				} else {
					subbean.sendMessageString("宅内機器型式コード", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 宅内機器型式名
				if (childMap != null) {
					subbean.sendMessageString("宅内機器型式名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("taknkiki_model_cd_nm"));
				} else {
					subbean.sendMessageString("宅内機器型式名", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 機器割賦請求開始年月
				if (childMap != null) {
					subbean.sendMessageString("機器割賦請求開始年月", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("kap_seiky_sta_ym"));
				} else {
					subbean.sendMessageString("機器割賦請求開始年月", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 機器プラン開始年月日
				if (childMap != null) {
					subbean.sendMessageString("機器プラン開始年月日", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("plan_staymd"));
				} else {
					subbean.sendMessageString("機器プラン開始年月日", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 機器提供サービス名
				if (childMap != null) {
					subbean.sendMessageString("機器提供サービス名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("kktk_svc_ali"));
				} else {
					subbean.sendMessageString("機器提供サービス名", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// スマートリンクプレミアムパック
				if (childMap != null) {
					subbean.sendMessageString("スマートリンクプレミアムパック有無", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("premium_pack_um"));
				} else {
					subbean.sendMessageString("スマートリンクプレミアムパック有無", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
			}
		}
		
		// ANK-3383-00-00 ADD START
		X31SDataBeanAccessArray listKKSV089101CC_smtlnk_info_list = bean[0].getDataBeanArray("ｅｏスマートリンク明細一覧リスト");
		childList = null;
		if(listKKSV089101CC_smtlnk_info_list != null && outputMap != null && parentMap.containsKey("smtlnk_info_list")){
			childList = (ArrayList)parentMap.get("smtlnk_info_list");

			for(int i = 0; i < childList.size(); i++)
			{
				X31SDataBeanAccess subbean = null;
				if(listKKSV089101CC_smtlnk_info_list.getCount() -1 >= i){
					subbean = listKKSV089101CC_smtlnk_info_list.getDataBean(i);
				}else{
					subbean = listKKSV089101CC_smtlnk_info_list.addDataBean();
				}
				HashMap childMap = (HashMap)childList.get(i);
				if (subbean == null) {
					continue;
				}
				// ｅｏスマートリンク−機器提供サービス契約番号
				if (childMap != null) {
				 subbean.sendMessageString("ｅｏスマートリンク−機器提供サービス契約番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("smtlnk_kktk_svc_kei_no"));
				} else {
				 subbean.sendMessageString("ｅｏスマートリンク−機器提供サービス契約番号", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// ｅｏスマートリンク−型番
				if (childMap != null) {
				 subbean.sendMessageString("ｅｏスマートリンク−型番", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("smtlnk_kiki_model"));
				} else {
				 subbean.sendMessageString("ｅｏスマートリンク−型番", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// ｅｏスマートリンク−割賦起算月
				if (childMap != null) {
				 subbean.sendMessageString("ｅｏスマートリンク−割賦起算月", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("smtlnk_kap_kisan_ym"));
				} else {
				 subbean.sendMessageString("ｅｏスマートリンク−割賦起算月", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// ｅｏスマートリンク−端末購入方法
				if (childMap != null) {
				 subbean.sendMessageString("ｅｏスマートリンク−端末購入方法", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("smtlnk_ynmt_buy_way"));
				} else {
				 subbean.sendMessageString("ｅｏスマートリンク−端末購入方法", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// ｅｏスマートリンク−割賦販売形態コード
				if (childMap != null) {
				 subbean.sendMessageString("ｅｏスマートリンク−割賦販売形態コード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("smtlnk_kap_hambai_form_cd"));
				} else {
				 subbean.sendMessageString("ｅｏスマートリンク−割賦販売形態コード", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
			}
		}
		
		X31SDataBeanAccessArray listKKSV089101CC_gglhm_info_list = bean[0].getDataBeanArray("ＧｏｏｇｌｅＨｏｍｅ明細一覧リスト");
		childList = null;
		if(listKKSV089101CC_gglhm_info_list != null && outputMap != null && parentMap.containsKey("gglhm_info_list")){
			childList = (ArrayList)parentMap.get("gglhm_info_list");

			for(int i = 0; i < childList.size(); i++)
			{
				X31SDataBeanAccess subbean = null;
				if(listKKSV089101CC_gglhm_info_list.getCount() -1 >= i){
					subbean = listKKSV089101CC_gglhm_info_list.getDataBean(i);
				}else{
					subbean = listKKSV089101CC_gglhm_info_list.addDataBean();
				}
				HashMap childMap = (HashMap)childList.get(i);
				if (subbean == null) {
					continue;
				}
				// Ｇｏｏｇｌｅ　Ｈｏｍｅ−機器提供サービス契約
				if (childMap != null) {
				 subbean.sendMessageString("Ｇｏｏｇｌｅ　Ｈｏｍｅ−機器提供サービス契約番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("gglhm_kktk_svc_kei_no"));
				} else {
				 subbean.sendMessageString("Ｇｏｏｇｌｅ　Ｈｏｍｅ−機器提供サービス契約番号", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// Ｇｏｏｇｌｅ　Ｈｏｍｅ−型番
				if (childMap != null) {
				 subbean.sendMessageString("Ｇｏｏｇｌｅ　Ｈｏｍｅ−型番", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("gglhm_kiki_model"));
				} else {
				 subbean.sendMessageString("Ｇｏｏｇｌｅ　Ｈｏｍｅ−型番", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// Ｇｏｏｇｌｅ　Ｈｏｍｅ−割賦起算月
				if (childMap != null) {
				 subbean.sendMessageString("Ｇｏｏｇｌｅ　Ｈｏｍｅ−割賦起算月", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("gglhm_kap_kisan_ym"));
				} else {
				 subbean.sendMessageString("Ｇｏｏｇｌｅ　Ｈｏｍｅ−割賦起算月", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// Ｇｏｏｇｌｅ　Ｈｏｍｅ−端末購入方法
				if (childMap != null) {
				 subbean.sendMessageString("Ｇｏｏｇｌｅ　Ｈｏｍｅ−端末購入方法", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("gglhm_tnmt_buy_way"));
				} else {
				 subbean.sendMessageString("Ｇｏｏｇｌｅ　Ｈｏｍｅ−端末購入方法", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// Ｇｏｏｇｌｅ　Ｈｏｍｅ−割賦販売形態コード
				if (childMap != null) {
				 subbean.sendMessageString("Ｇｏｏｇｌｅ　Ｈｏｍｅ−割賦販売形態コード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("gglhm_kap_hambai_form_cd"));
				} else {
				 subbean.sendMessageString("Ｇｏｏｇｌｅ　Ｈｏｍｅ−割賦販売形態コード", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
			}
		}
		
		X31SDataBeanAccessArray listKKSV089101CC_stb_info_list = bean[0].getDataBeanArray("ＳＴＢ明細一覧リスト");
		childList = null;
		if(listKKSV089101CC_stb_info_list != null && outputMap != null && parentMap.containsKey("stb_info_list")){
			childList = (ArrayList)parentMap.get("stb_info_list");

			for(int i = 0; i < childList.size(); i++)
			{
				X31SDataBeanAccess subbean = null;
				if(listKKSV089101CC_stb_info_list.getCount() -1 >= i){
					subbean = listKKSV089101CC_stb_info_list.getDataBean(i);
				}else{
					subbean = listKKSV089101CC_stb_info_list.addDataBean();
				}
				HashMap childMap = (HashMap)childList.get(i);
				if (subbean == null) {
					continue;
				}
				// ＳＴＢ−機器提供サービス契約番号
				if (childMap != null) {
				 subbean.sendMessageString("ＳＴＢ−機器提供サービス契約番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("stb_kktk_svc_kei_no"));
				} else {
				 subbean.sendMessageString("ＳＴＢ−機器提供サービス契約番号", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// ＳＴＢ−型番
				if (childMap != null) {
				 subbean.sendMessageString("ＳＴＢ−型番", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("stb_kiki_model"));
				} else {
				 subbean.sendMessageString("ＳＴＢ−型番", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// ＳＴＢ−プラン開始年月日
				if (childMap != null) {
				 subbean.sendMessageString("ＳＴＢ−プラン開始年月日", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("stb_plan_staymd"));
				} else {
				 subbean.sendMessageString("ＳＴＢ−プラン開始年月日", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// ＳＴＢ−TVコース
				if (childMap != null) {
				 subbean.sendMessageString("ＳＴＢ−ＴＶコース", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("stb_tvcrs"));
				} else {
				 subbean.sendMessageString("ＳＴＢ−ＴＶコース", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// ＳＴＢ−料金プランコード
				if (childMap != null) {
				 subbean.sendMessageString("ＳＴＢ−料金プランコード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("stb_pplan_cd"));
				} else {
				 subbean.sendMessageString("ＳＴＢ−料金プランコード", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
			}
		}
		// ANK-3383-00-00 ADD END
		
		return bean;
	}

// ANK-3840-00-00 ADD START
	/**
	 * 下りマッピング
	 * @param bean　[0]：精算金計算画面初期表示
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getKKSV089102CC(X31SDataBeanAccess[] bean, Map<String, Object> outputMap)
	{
		HashMap parentMap = null;
		if(outputMap.containsKey("KKSV089102CC"))
		{
			parentMap = (HashMap)outputMap.get("KKSV089102CC");
		}

		if(parentMap.containsKey("tegak_svc_list"))
		{
			ArrayList childList = (ArrayList)parentMap.get("tegak_svc_list");
			for(int i = 0; i < childList.size(); i++)
			{
				HashMap childMap = (HashMap)childList.get(i);
				bean[0].sendMessageString(KKW22101SFConst.TEGAK_SVC_UM, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("tegak_svc_um"));
			}
		}
		return bean;
	}
// ANK-3840-00-00 ADD END

	/**
	 * Mapの値を取得する
	 * @param map マップ
	 * @param key 取得キー
	 * @return String
	 */
	private String getValue(Map<String, Object> map, String key)
	{
		String value = (String)map.get(key);
		if (value == null)
		{
			value = "";
		}

		return value;
	}
}
