/*********************************************************************
*	All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名		：eo顧客基幹システム
*	モジュール名	：KKSV0919_KKSV0919OPDBMapper
*	ソースファイル名：KKSV0919_KKSV0919OPDBMapper.java
*	作成者			：FJ)山地
*	日付			：2018年10月12日
*＜機能概要＞
*	BP（おうちの機器補償更新・照会画面）へのＤ−Ｂマッピングクラスです。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v39.00.00	2018/10/12	FJ)山地		【ANK-3484-00-00】端末補償サービス導入対応
*	v39.00.01	2018/11/02	FJ)山地		【IT1-2018-0000191】おうちの機器端末補償表示不正
*	v39.00.02	2018/12/04	FJ)三原		【OM-2018-0001184】PCプランとTVプランの両方が画面表示される
**********************************************************************/
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.common.util.JKKStringUtil;
import eo.web.webview.KKW00852SF.KKW00852SFConst;

/**
 * DataBean-BPマッピングをする。
 * 
 */
public class KKSV0919_KKSV0919OPDBMapper
{
	
	/**
	 * コンストラクタ
	 */
	public KKSV0919_KKSV0919OPDBMapper()
	{
	}
	
    /**
     * ＫＥＹ有無コード区分
     */
    public static final String CODE_SBT_OPEN = "CD00002";
    
	// IT1-2018-0000191 ADD START
	public static final String OP_TRAN_DIV_RSV_CL = "06";		//予約取消
    
	/** 異動予約状態コード：00 */
	private static final String IDO_RSV_STAT_CD_00 = "00";
	/** 異動予約状態コード：03 */
	private static final String IDO_RSV_STAT_CD_03 = "03";
	
	private static final String PRG_TKJK_1_PC_PLAN_RSV_CL_INFO = "ＰＣプラン情報予約取消";
	private static final String PRG_TKJK_1_PC_WIDE_RSV_CL_INFO = "ＰＣワイドプラン情報予約取消";
	private static final String PRG_TKJK_1_TV_PLAN_RSV_CL_INFO = "ＴＶプラン情報予約取消";
	// IT1-2018-0000191 ADD END

	/**
	 * 上りマッピングをする
	 * @param bean [0]：おうちの機器補償更新・照会
	 * @param outputMap 上りマップ
	 * @param func_code 機能コード
	 * @return 
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV091901CC(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);
		
		// 運用年月日 → 端末保障操作CCマップ.運用日
		parentMap.put("unyo_ymd", bean[0].sendMessageString("運用年月日", X31CWebConst.DATABEAN_GET_VALUE));
		// 処理区分 → 端末保障操作CCマップ.処理区分(初期表示のため'1':照会モード固定)
		parentMap.put("shori_div", "1");
		// サービス契約番号 → 端末保障操作CCマップ.サービス契約番号
		parentMap.put("svc_kei_no", bean[0].sendMessageString("サービス契約番号", X31CWebConst.DATABEAN_GET_VALUE));
		// 異動区分 → 端末保障操作CCマップ.異動区分
		parentMap.put("ido_div", bean[0].sendMessageString("異動区分", X31CWebConst.DATABEAN_GET_VALUE));
		// IT1-2018-0000191 ADD START
		// オプションサービス契約番号 → 端末保障操作CCマップ.オプションサービス契約番号
		parentMap.put("op_svc_kei_no", bean[0].sendMessageString("オプションサービス契約番号", X31CWebConst.DATABEAN_GET_VALUE));
		// IT1-2018-0000191 ADD END
		
		outputMap.put("KKSV091901CC", parentMap);
		
		return outputMap;
	}
	
	/**
	 * 上りマッピングをする
	 * @param bean　[0]：おうちの機器補償更新・照会
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV091902SC(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", CODE_SBT_OPEN);
		// 運用年月日 → コード名称管理コード区分一覧照会マップ.ＫＥＹ＿基準日
		parentMap.put("key_stdardymd", bean[0].sendMessageString("運用年月日", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("KKSV091902SC", parentMap);
						
		return outputMap;
	}
	
	// IT1-2018-0000191 ADD START
	/**
	 * 上りマッピングをする
	 * @param bean [0]：おうちの機器補償更新・照会
	 * @param outputMap 上りマップ
	 * @param func_code 機能コード
	 * @return 
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV091903CC(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);
		
		// 運用年月日 → 端末保障操作CCマップ.運用日
		parentMap.put("unyo_ymd", bean[0].sendMessageString("運用年月日", X31CWebConst.DATABEAN_GET_VALUE));
		// 処理区分 → 端末保障操作CCマップ.処理区分(初期表示のため'1':照会モード固定)
		parentMap.put("shori_div", "1");
		// サービス契約番号 → 端末保障操作CCマップ.サービス契約番号
		parentMap.put("svc_kei_no", bean[0].sendMessageString("サービス契約番号", X31CWebConst.DATABEAN_GET_VALUE));
		// 異動区分 → 端末保障操作CCマップ.異動区分
		parentMap.put("ido_div", bean[0].sendMessageString("異動区分", X31CWebConst.DATABEAN_GET_VALUE));
		
		outputMap.put("KKSV091903CC", parentMap);
		
		return outputMap;
	}
	
	/**
	 * 上りマッピングをする
	 * @param bean [0]：おうちの機器補償更新・照会
	 * @param outputMap 上りマップ
	 * @param func_code 機能コード
	 * @return 
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV091904SC(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);
		
		if ("".equals(bean[0].sendMessageString("サブオプションサービス契約番号", X31CWebConst.DATABEAN_GET_VALUE)))
		{
			// ＫＥＹ＿オプションサービス契約番号 → 異動予約一覧照会マップ.ＫＥＹ＿オプションサービス契約番号
			parentMap.put("key_op_svc_kei_no", bean[0].sendMessageString("オプションサービス契約番号", X31CWebConst.DATABEAN_GET_VALUE));
		}
		else
		{
			// ＫＥＹ＿サブオプションサービス契約番号 → 異動予約一覧照会マップ.ＫＥＹ＿サブオプションサービス契約番号
			parentMap.put("key_sbop_svc_kei_no", bean[0].sendMessageString("サブオプションサービス契約番号", X31CWebConst.DATABEAN_GET_VALUE));
		}
		
		outputMap.put("KKSV091904SC", parentMap);
		
		return outputMap;
	}
	// IT1-2018-0000191 ADD END
	
	/**
	 * 下りマッピング
	 * @param bean [0]：おうちの機器補償更新・照会
	 * @param outputMap 下りマップ
	 * @return データBeanアクセスクラス
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getKKSV091901CC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{
		HashMap parentMap = null;
		if (outputMap.containsKey("KKSV091901CC"))
		{
			parentMap = (HashMap)outputMap.get("KKSV091901CC");
			parentMap = (HashMap)parentMap.get("info_list");
		}
		
		// OM-2018-0001184 ADD START
		// オプションサービス契約一覧照会で選択されたオプションのオプションサービス契約番号を
		// 取得する(選択オプションサービス契約番号)
		String selectOpSvcKeiNo = bean[0].sendMessageString(KKW00852SFConst.OP_SVC_KEI_NO_01, X31CWebConst.DATABEAN_GET_VALUE);
		
		// 選択PCプランTVプランフラグ(0:両方選択していない、1:PCプランを選択、2:TVプランを選択)を
		// 設定する(初期値:0)
		String selectPcPlanTvPlanFlg = "0";
		// OM-2018-0001184 ADD END
		
		ArrayList childList = null;
		
		X31SDataBeanAccessArray listKKSV091901CC_pc_plan_list = bean[0].getDataBeanArray("ＰＣプランリスト");
		childList = null;		
		if (listKKSV091901CC_pc_plan_list != null && parentMap != null && parentMap.containsKey("pc_plan_list"))
		{
			childList = (ArrayList)parentMap.get("pc_plan_list");
			
			
			for (int i = 0; i < childList.size(); i++)
			{
				X31SDataBeanAccess subbean = null;
				if (listKKSV091901CC_pc_plan_list.getCount() -1 >= i){
					subbean = listKKSV091901CC_pc_plan_list.getDataBean(i);
				}else{
					subbean = listKKSV091901CC_pc_plan_list.addDataBean();
				}
				HashMap childMap = (HashMap)childList.get(i);
				if (subbean == null) {
					continue;
				}
				
				// ＰＣプランリスト.ＰＣプラン申込日 ← おうちの機器補償更新・照会マップ.ＰＣプランリスト.端末補償申込年月日
				if (childMap != null) {
					subbean.sendMessageString(KKW00852SFConst.TMCP_MSKM_YMD_02, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("tmcp_mskm_ymd"));
				} else {
					subbean.sendMessageString(KKW00852SFConst.TMCP_MSKM_YMD_02, X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// ＰＣプランリスト.サービス終了年月日 ← おうちの機器補償更新・照会マップ.ＰＣプランリスト.サービス終了年月日
				if (childMap != null) {
					subbean.sendMessageString(KKW00852SFConst.SVC_ENDYMD_02, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("svc_endymd"));
				} else {
					subbean.sendMessageString(KKW00852SFConst.SVC_ENDYMD_02, X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// ＰＣプランリスト.サービス最終更新年月日時分秒 ← おうちの機器補償更新・照会マップ.ＰＣプランリスト.最終更新年月日時分秒
				if (childMap != null) {
					subbean.sendMessageString(KKW00852SFConst.LAST_UPD_DTM_02, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("last_upd_dtm"));
				} else {
					subbean.sendMessageString(KKW00852SFConst.LAST_UPD_DTM_02, X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// ＰＣプランリスト.オプションサービス契約ステータス ← おうちの機器補償更新・照会マップ.ＰＣプランリスト.オプションサービス契約ステータス
				if (childMap != null) {
					subbean.sendMessageString(KKW00852SFConst.OP_SVC_KEI_STAT_02, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("op_svc_kei_stat"));
				} else {
					subbean.sendMessageString(KKW00852SFConst.OP_SVC_KEI_STAT_02, X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// ＰＣプランリスト.オプションサービス契約番号 ← おうちの機器補償更新・照会マップ.ＰＣプランリスト.オプションサービス契約番号
				if (childMap != null) {
					subbean.sendMessageString(KKW00852SFConst.OP_SVC_KEI_NO_02, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("op_svc_kei_no"));
					// OM-2018-0001184 ADD START
					// 選択オプションサービス契約番号がnullまたはブランクではない場合
					if (!JKKStringUtil.isNullBlank(selectOpSvcKeiNo))
					{
						// 選択オプションサービス契約番号と端末補償操作CC(JKKTmcpOperateCC)で取得した
						// ＰＣプランのオプションサービス契約番号が等しい場合
						if (selectOpSvcKeiNo.equals((String)childMap.get("op_svc_kei_no")))
						{
							//  選択PCプランTVプランフラグに"1"(PCプランを選択)を設定する
							selectPcPlanTvPlanFlg = "1";
						}
					}
					// OM-2018-0001184 ADD END
				} else {
					subbean.sendMessageString(KKW00852SFConst.OP_SVC_KEI_NO_02, X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// ＰＣプランリスト.サービス解約年月日 ← おうちの機器補償更新・照会マップ.ＰＣプランリスト.サービス解約年月日
				if (childMap != null) {
					subbean.sendMessageString(KKW00852SFConst.SVC_DSL_YMD_02, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("svc_dsl_ymd"));
				} else {
					subbean.sendMessageString(KKW00852SFConst.SVC_DSL_YMD_02, X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// ＰＣプランリスト.サービス開始年月日 ← おうちの機器補償更新・照会マップ.ＰＣプランリスト.サービス開始年月日
				if (childMap != null) {
					subbean.sendMessageString(KKW00852SFConst.SVC_STAYMD_02, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("svc_staymd"));
				} else {
					subbean.sendMessageString(KKW00852SFConst.SVC_STAYMD_02, X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// IT1-2018-0000191 ADD START
				// ＰＣプランリスト.サービス課金終了年月日 ← おうちの機器補償更新・照会マップ.ＰＣプランリスト.サービス課金終了年月日
				if (childMap != null) {
					subbean.sendMessageString(KKW00852SFConst.SVC_CHRG_ENDYMD_02, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("svc_chrg_endymd"));
				} else {
					subbean.sendMessageString(KKW00852SFConst.SVC_CHRG_ENDYMD_02, X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// IT1-2018-0000191 ADD END
				// ＰＣプランリスト.端末補償キャンセル連携年月日 ← おうちの機器補償更新・照会マップ.ＰＣプランリスト.端末補償キャンセル連携年月日
				if (childMap != null) {
					subbean.sendMessageString(KKW00852SFConst.TMCP_CNCL_RNKI_YMD_02, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("tmcp_cncl_rnki_ymd"));
				} else {
					subbean.sendMessageString(KKW00852SFConst.TMCP_CNCL_RNKI_YMD_02, X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// ＰＣプランリスト.端末補償解約連携年月日 ← おうちの機器補償更新・照会マップ.ＰＣプランリスト.端末補償解約連携年月日
				if (childMap != null) {
					subbean.sendMessageString(KKW00852SFConst.TMCP_DSL_RNKI_YMD_02, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("tmcp_dsl_rnki_ymd"));
				} else {
					subbean.sendMessageString(KKW00852SFConst.TMCP_DSL_RNKI_YMD_02, X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// ＰＣプランリスト.端末補償解約連携年月日 ← おうちの機器補償更新・照会マップ.ＰＣプランリスト.端末補償解約連携年月日
				if (childMap != null) {
					subbean.sendMessageString(KKW00852SFConst.TMCP_DSL_RNKI_YMD_02, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("tmcp_dsl_rnki_ymd"));
				} else {
					subbean.sendMessageString(KKW00852SFConst.TMCP_DSL_RNKI_YMD_02, X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
			}
		}
		
		X31SDataBeanAccessArray listKKSV091901CC_pc_wide_list = bean[0].getDataBeanArray("ＰＣワイドプランリスト");
		childList = null;		
		if (listKKSV091901CC_pc_wide_list != null && parentMap != null && parentMap.containsKey("pc_wide_list"))
		{
			childList = (ArrayList)parentMap.get("pc_wide_list");
			
			for (int i = 0; i < childList.size(); i++)
			{
				X31SDataBeanAccess subbean = null;
				if (listKKSV091901CC_pc_wide_list.getCount() -1 >= i){
					subbean = listKKSV091901CC_pc_wide_list.getDataBean(i);
				}else{
					subbean = listKKSV091901CC_pc_wide_list.addDataBean();
				}
				HashMap childMap = (HashMap)childList.get(i);
				if (subbean == null) {
					continue;
				}
				// ＰＣワイドプランリスト.ＰＣワイドプラン　有無 ← おうちの機器補償更新・照会マップ.ＰＣワイドプランリスト.ＰＣワイドプラン　有無
				if (childMap != null) {
					subbean.sendMessageString(KKW00852SFConst.SBOP_SVC_KEI_NO_03, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("sbop_svc_kei_no"));
				} else {
					subbean.sendMessageString(KKW00852SFConst.SBOP_SVC_KEI_NO_03, X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// ＰＣワイドプランリスト サブオプションサービス契約ステータス ← おうちの機器補償更新・照会マップ.ＰＣワイドプランリスト サブオプションサービス契約ステータス
				if (childMap != null) {
					subbean.sendMessageString(KKW00852SFConst.SBOP_SVC_KEI_STAT_03, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("sbop_svc_kei_stat"));
				} else {
					subbean.sendMessageString(KKW00852SFConst.SBOP_SVC_KEI_STAT_03, X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// ＰＣワイドプランリスト.端末補償キャンセル連携年月日 ← おうちの機器補償更新・照会マップ.ＰＣワイドプランリスト.端末補償キャンセル連携年月日
				if (childMap != null) {
					subbean.sendMessageString(KKW00852SFConst.TMCP_CNCL_RNKI_YMD_03, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("tmcp_cncl_rnki_ymd"));
				} else {
					subbean.sendMessageString(KKW00852SFConst.TMCP_CNCL_RNKI_YMD_03, X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// ＰＣワイドプランリスト.端末補償解約連携年月日 ← おうちの機器補償更新・照会マップ.ＰＣワイドプランリスト.端末補償解約連携年月日
				if (childMap != null) {
					subbean.sendMessageString(KKW00852SFConst.TMCP_DSL_RNKI_YMD_03, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("tmcp_dsl_rnki_ymd"));
				} else {
					subbean.sendMessageString(KKW00852SFConst.TMCP_DSL_RNKI_YMD_03, X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
			}
		}
		
		X31SDataBeanAccessArray listKKSV091901CC_tv_plan_list = bean[0].getDataBeanArray("ＴＶプランリスト");
		childList = null;		
		if (listKKSV091901CC_tv_plan_list != null && parentMap != null && parentMap.containsKey("tv_plan_list"))
		{
			childList = (ArrayList)parentMap.get("tv_plan_list");
			
			
			for (int i = 0; i < childList.size(); i++)
			{
				X31SDataBeanAccess subbean = null;
				if (listKKSV091901CC_tv_plan_list.getCount() -1 >= i){
					subbean = listKKSV091901CC_tv_plan_list.getDataBean(i);
				}else{
					subbean = listKKSV091901CC_tv_plan_list.addDataBean();
				}
				HashMap childMap = (HashMap)childList.get(i);
				if (subbean == null) {
					continue;
				}
				// ＴＶプランリスト.ＰＣプラン申込日 ← おうちの機器補償更新・照会マップ.ＴＶプランリスト.端末補償申込年月日
				if (childMap != null) {
					subbean.sendMessageString(KKW00852SFConst.TMCP_MSKM_YMD_04, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("tmcp_mskm_ymd"));
				} else {
					subbean.sendMessageString(KKW00852SFConst.TMCP_MSKM_YMD_04, X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// ＴＶプランリスト.サービス終了年月日 ← おうちの機器補償更新・照会マップ.ＴＶプランリスト.サービス終了年月日
				if (childMap != null) {
					subbean.sendMessageString(KKW00852SFConst.SVC_ENDYMD_04, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("svc_endymd"));
				} else {
					subbean.sendMessageString(KKW00852SFConst.SVC_ENDYMD_04, X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// ＴＶプランリスト.サービス最終更新年月日時分秒 ← おうちの機器補償更新・照会マップ.ＴＶプランリスト.最終更新年月日時分秒
				if (childMap != null) {
					subbean.sendMessageString(KKW00852SFConst.LAST_UPD_DTM_04, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("last_upd_dtm"));
				} else {
					subbean.sendMessageString(KKW00852SFConst.LAST_UPD_DTM_04, X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// ＴＶプランリスト.オプションサービス契約ステータス ← おうちの機器補償更新・照会マップ.ＴＶプランリスト.オプションサービス契約ステータス
				if (childMap != null) {
					subbean.sendMessageString(KKW00852SFConst.OP_SVC_KEI_STAT_04, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("op_svc_kei_stat"));
				} else {
					subbean.sendMessageString(KKW00852SFConst.OP_SVC_KEI_STAT_04, X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// ＴＶプランリスト.オプションサービス契約番号 ← おうちの機器補償更新・照会マップ.ＴＶプランリスト.オプションサービス契約番号
				if (childMap != null) {
					subbean.sendMessageString(KKW00852SFConst.OP_SVC_KEI_NO_04, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("op_svc_kei_no"));
					// OM-2018-0001184 ADD START
					// 選択オプションサービス契約番号がnullまたはブランクではない場合
					if (!JKKStringUtil.isNullBlank(selectOpSvcKeiNo))
					{
						// 選択オプションサービス契約番号と端末補償操作CC(JKKTmcpOperateCC)で取得した
						// ＴＶプランのオプションサービス契約番号が等しい場合
						if (selectOpSvcKeiNo.equals((String)childMap.get("op_svc_kei_no")))
						{
							//  選択PCプランTVプランフラグに"2"(TVプランを選択)を設定する
							selectPcPlanTvPlanFlg = "2";
						}
					}
					// OM-2018-0001184 ADD END
				} else {
					subbean.sendMessageString(KKW00852SFConst.OP_SVC_KEI_NO_04, X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// ＴＶプランリスト.サービス解約年月日 ← おうちの機器補償更新・照会マップ.ＴＶプランリスト.サービス解約年月日
				if (childMap != null) {
					subbean.sendMessageString(KKW00852SFConst.SVC_DSL_YMD_04, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("svc_dsl_ymd"));
				} else {
					subbean.sendMessageString(KKW00852SFConst.SVC_DSL_YMD_04, X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// ＴＶプランリスト.サービス開始年月日 ← おうちの機器補償更新・照会マップ.ＴＶプランリスト.サービス開始年月日
				if (childMap != null) {
					subbean.sendMessageString(KKW00852SFConst.SVC_STAYMD_04, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("svc_staymd"));
				} else {
					subbean.sendMessageString(KKW00852SFConst.SVC_STAYMD_04, X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// IT1-2018-0000191 ADD START
				// ＴＶプランリスト.サービス課金終了年月日 ← おうちの機器補償更新・照会マップ.ＰＣプランリスト.サービス課金終了年月日
				if (childMap != null) {
					subbean.sendMessageString(KKW00852SFConst.SVC_CHRG_ENDYMD_04, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("svc_chrg_endymd"));
				} else {
					subbean.sendMessageString(KKW00852SFConst.SVC_CHRG_ENDYMD_04, X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// IT1-2018-0000191 ADD END
				// ＴＶプランリスト.端末補償キャンセル連携年月日 ← おうちの機器補償更新・照会マップ.ＴＶプランリスト.端末補償キャンセル連携年月日
				if (childMap != null) {
					subbean.sendMessageString(KKW00852SFConst.TMCP_CNCL_RNKI_YMD_04, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("tmcp_cncl_rnki_ymd"));
				} else {
					subbean.sendMessageString(KKW00852SFConst.TMCP_CNCL_RNKI_YMD_04, X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// ＴＶプランリスト.端末補償解約連携年月日 ← おうちの機器補償更新・照会マップ.ＴＶプランリスト.端末補償解約連携年月日
				if (childMap != null) {
					subbean.sendMessageString(KKW00852SFConst.TMCP_DSL_RNKI_YMD_04, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("tmcp_dsl_rnki_ymd"));
				} else {
					subbean.sendMessageString(KKW00852SFConst.TMCP_DSL_RNKI_YMD_04, X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
			}
		}
		
		// OM-2018-0001184 ADD START
		// 選択ＰＣプランＴＶプランフラグを設定する(0:両方選択していない、1:PCプランを選択、2:TVプランを選択)
		bean[0].sendMessageString(KKW00852SFConst.SELECT_PCPLAN_TVPLAN_FLG, X31CWebConst.DATABEAN_SET_VALUE, selectPcPlanTvPlanFlg);
		// OM-2018-0001184 ADD END
		
		return bean;
	}
	
	/**
	 * 下りマッピング
	 * @param bean　[0]：おうちの機器補償更新・照会
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getKKSV091902SC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("KKSV091902SC")){
			parentMap = (HashMap)outputMap.get("KKSV091902SC");
		}

		ArrayList childList = null;
		
		X31SDataBeanAccessArray listKKSV091902SC_pc_plan_um_EZM0171B012CBSMsg1List = bean[0].getDataBeanArray("ＰＣワイドプラン　有無");
		childList = null;
		if(listKKSV091902SC_pc_plan_um_EZM0171B012CBSMsg1List != null && parentMap != null && parentMap.containsKey("EZM0171B012CBSMsg1List")){
			childList = (ArrayList)parentMap.get("EZM0171B012CBSMsg1List");

			for(int i = 0; i < childList.size(); i++){
				X31SDataBeanAccess subbean = null;
				if(listKKSV091902SC_pc_plan_um_EZM0171B012CBSMsg1List.getCount() -1 >= i){
					subbean = listKKSV091902SC_pc_plan_um_EZM0171B012CBSMsg1List.getDataBean(i);
				}else{
					subbean = listKKSV091902SC_pc_plan_um_EZM0171B012CBSMsg1List.addDataBean();
				}
				HashMap childMap = (HashMap)childList.get(i);
				if (subbean == null) {
					continue;
				}
			
				// プルダウン.コードリスト ← コード名称管理コード区分一覧照会マップ.コード名称管理コード区分一覧照会明細.コード区分
				if (childMap != null) {
					subbean.sendMessageString("コードリスト", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("cd_div"));
				} else {
					subbean.sendMessageString("コードリスト", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// プルダウン.コード名リスト ← コード名称管理コード区分一覧照会マップ.コード名称管理コード区分一覧照会明細.コード区分名
				if (childMap != null) {
					subbean.sendMessageString("コード名リスト", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("cd_div_nm"));
				} else {
					subbean.sendMessageString("コード名リスト", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
			}
		}
		return bean;
	}
	
	// IT1-2018-0000191 ADD START
	/**
	 * 下りマッピング
	 * @param bean [0]：おうちの機器補償更新・照会
	 * @param outputMap 下りマップ
	 * @return データBeanアクセスクラス
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getKKSV091903CC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{
		HashMap parentMap = null;
		if (outputMap.containsKey("KKSV091903CC"))
		{
			parentMap = (HashMap)outputMap.get("KKSV091903CC");
			parentMap = (HashMap)parentMap.get("info_list");
		}
		
		HashMap parentMap_01 = null;
		if (outputMap.containsKey("KKSV091901CC"))
		{
			parentMap_01 = (HashMap)outputMap.get("KKSV091901CC");
			parentMap_01 = (HashMap)parentMap_01.get("info_list");
		}
		ArrayList parentMap_01_pc_plan_list = (ArrayList)parentMap_01.get("pc_plan_list");
		ArrayList parentMap_01_pc_wide_list = (ArrayList)parentMap_01.get("pc_wide_list");
		ArrayList parentMap_01_tv_plan_list = (ArrayList)parentMap_01.get("tv_plan_list");
		
		ArrayList childList = null;
		
		
		X31SDataBeanAccessArray listKKSV091903CC_pc_plan_list = bean[0].getDataBeanArray("ＰＣプランリスト");
		childList = null;
		if (listKKSV091903CC_pc_plan_list != null && parentMap != null && parentMap.containsKey("pc_plan_list") && parentMap_01_pc_plan_list.size() == 0)
		{
			childList = (ArrayList)parentMap.get("pc_plan_list");
			
			
			for (int i = 0; i < childList.size(); i++)
			{
				X31SDataBeanAccess subbean = null;
				if (listKKSV091903CC_pc_plan_list.getCount() -1 >= i){
					subbean = listKKSV091903CC_pc_plan_list.getDataBean(i);
				}else{
					subbean = listKKSV091903CC_pc_plan_list.addDataBean();
				}
				HashMap childMap = (HashMap)childList.get(i);
				if (subbean == null) {
					continue;
				}
				
				// ＰＣプランリスト.ＰＣプラン申込日 ← おうちの機器補償更新・照会マップ.ＰＣプランリスト.端末補償申込年月日
				if (childMap != null) {
					subbean.sendMessageString(KKW00852SFConst.TMCP_MSKM_YMD_02, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("tmcp_mskm_ymd"));
				} else {
					subbean.sendMessageString(KKW00852SFConst.TMCP_MSKM_YMD_02, X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// ＰＣプランリスト.サービス終了年月日 ← おうちの機器補償更新・照会マップ.ＰＣプランリスト.サービス終了年月日
				if (childMap != null) {
					subbean.sendMessageString(KKW00852SFConst.SVC_ENDYMD_02, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("svc_endymd"));
				} else {
					subbean.sendMessageString(KKW00852SFConst.SVC_ENDYMD_02, X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// ＰＣプランリスト.サービス最終更新年月日時分秒 ← おうちの機器補償更新・照会マップ.ＰＣプランリスト.最終更新年月日時分秒
				if (childMap != null) {
					subbean.sendMessageString(KKW00852SFConst.LAST_UPD_DTM_02, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("last_upd_dtm"));
				} else {
					subbean.sendMessageString(KKW00852SFConst.LAST_UPD_DTM_02, X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// ＰＣプランリスト.オプションサービス契約ステータス ← おうちの機器補償更新・照会マップ.ＰＣプランリスト.オプションサービス契約ステータス
				if (childMap != null) {
					subbean.sendMessageString(KKW00852SFConst.OP_SVC_KEI_STAT_02, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("op_svc_kei_stat"));
				} else {
					subbean.sendMessageString(KKW00852SFConst.OP_SVC_KEI_STAT_02, X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// ＰＣプランリスト.オプションサービス契約番号 ← おうちの機器補償更新・照会マップ.ＰＣプランリスト.オプションサービス契約番号
				if (childMap != null) {
					subbean.sendMessageString(KKW00852SFConst.OP_SVC_KEI_NO_02, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("op_svc_kei_no"));
				} else {
					subbean.sendMessageString(KKW00852SFConst.OP_SVC_KEI_NO_02, X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// ＰＣプランリスト.サービス解約年月日 ← おうちの機器補償更新・照会マップ.ＰＣプランリスト.サービス解約年月日
				if (childMap != null) {
					subbean.sendMessageString(KKW00852SFConst.SVC_DSL_YMD_02, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("svc_dsl_ymd"));
				} else {
					subbean.sendMessageString(KKW00852SFConst.SVC_DSL_YMD_02, X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// ＰＣプランリスト.サービス開始年月日 ← おうちの機器補償更新・照会マップ.ＰＣプランリスト.サービス開始年月日
				if (childMap != null) {
					subbean.sendMessageString(KKW00852SFConst.SVC_STAYMD_02, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("svc_staymd"));
				} else {
					subbean.sendMessageString(KKW00852SFConst.SVC_STAYMD_02, X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// ＰＣプランリスト.サービス課金終了年月日 ← おうちの機器補償更新・照会マップ.ＰＣプランリスト.サービス課金終了年月日
				if (childMap != null) {
					subbean.sendMessageString(KKW00852SFConst.SVC_CHRG_ENDYMD_02, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("svc_chrg_endymd"));
				} else {
					subbean.sendMessageString(KKW00852SFConst.SVC_CHRG_ENDYMD_02, X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// ＰＣプランリスト.端末補償キャンセル連携年月日 ← おうちの機器補償更新・照会マップ.ＰＣプランリスト.端末補償キャンセル連携年月日
				if (childMap != null) {
					subbean.sendMessageString(KKW00852SFConst.TMCP_CNCL_RNKI_YMD_02, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("tmcp_cncl_rnki_ymd"));
				} else {
					subbean.sendMessageString(KKW00852SFConst.TMCP_CNCL_RNKI_YMD_02, X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// ＰＣプランリスト.端末補償解約連携年月日 ← おうちの機器補償更新・照会マップ.ＰＣプランリスト.端末補償解約連携年月日
				if (childMap != null) {
					subbean.sendMessageString(KKW00852SFConst.TMCP_DSL_RNKI_YMD_02, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("tmcp_dsl_rnki_ymd"));
				} else {
					subbean.sendMessageString(KKW00852SFConst.TMCP_DSL_RNKI_YMD_02, X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// ＰＣプランリスト.端末補償解約連携年月日 ← おうちの機器補償更新・照会マップ.ＰＣプランリスト.端末補償解約連携年月日
				if (childMap != null) {
					subbean.sendMessageString(KKW00852SFConst.TMCP_DSL_RNKI_YMD_02, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("tmcp_dsl_rnki_ymd"));
				} else {
					subbean.sendMessageString(KKW00852SFConst.TMCP_DSL_RNKI_YMD_02, X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
			}
		}
		
		X31SDataBeanAccessArray listKKSV091903CC_pc_wide_list = bean[0].getDataBeanArray("ＰＣワイドプランリスト");
		childList = null;
		if (listKKSV091903CC_pc_wide_list != null && parentMap != null && parentMap.containsKey("pc_wide_list") && parentMap_01_pc_wide_list.size() == 0)
		{
			childList = (ArrayList)parentMap.get("pc_wide_list");
			
			for (int i = 0; i < childList.size(); i++)
			{
				X31SDataBeanAccess subbean = null;
				if (listKKSV091903CC_pc_wide_list.getCount() -1 >= i){
					subbean = listKKSV091903CC_pc_wide_list.getDataBean(i);
				}else{
					subbean = listKKSV091903CC_pc_wide_list.addDataBean();
				}
				HashMap childMap = (HashMap)childList.get(i);
				if (subbean == null) {
					continue;
				}
				// ＰＣワイドプランリスト.ＰＣワイドプラン　有無 ← おうちの機器補償更新・照会マップ.ＰＣワイドプランリスト.ＰＣワイドプラン　有無
				if (childMap != null) {
					subbean.sendMessageString(KKW00852SFConst.SBOP_SVC_KEI_NO_03, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("sbop_svc_kei_no"));
				} else {
					subbean.sendMessageString(KKW00852SFConst.SBOP_SVC_KEI_NO_03, X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// ＰＣワイドプランリスト サブオプションサービス契約ステータス ← おうちの機器補償更新・照会マップ.ＰＣワイドプランリスト サブオプションサービス契約ステータス
				if (childMap != null) {
					subbean.sendMessageString(KKW00852SFConst.SBOP_SVC_KEI_STAT_03, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("sbop_svc_kei_stat"));
				} else {
					subbean.sendMessageString(KKW00852SFConst.SBOP_SVC_KEI_STAT_03, X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// ＰＣワイドプランリスト.端末補償キャンセル連携年月日 ← おうちの機器補償更新・照会マップ.ＰＣワイドプランリスト.端末補償キャンセル連携年月日
				if (childMap != null) {
					subbean.sendMessageString(KKW00852SFConst.TMCP_CNCL_RNKI_YMD_03, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("tmcp_cncl_rnki_ymd"));
				} else {
					subbean.sendMessageString(KKW00852SFConst.TMCP_CNCL_RNKI_YMD_03, X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// ＰＣワイドプランリスト.端末補償解約連携年月日 ← おうちの機器補償更新・照会マップ.ＰＣワイドプランリスト.端末補償解約連携年月日
				if (childMap != null) {
					subbean.sendMessageString(KKW00852SFConst.TMCP_DSL_RNKI_YMD_03, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("tmcp_dsl_rnki_ymd"));
				} else {
					subbean.sendMessageString(KKW00852SFConst.TMCP_DSL_RNKI_YMD_03, X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
			}
		}
		
		X31SDataBeanAccessArray listKKSV091903CC_tv_plan_list = bean[0].getDataBeanArray("ＴＶプランリスト");
		childList = null;
		if (listKKSV091903CC_tv_plan_list != null && parentMap != null && parentMap.containsKey("tv_plan_list") && parentMap_01_tv_plan_list.size() == 0)
		{
			childList = (ArrayList)parentMap.get("tv_plan_list");
			
			
			for (int i = 0; i < childList.size(); i++)
			{
				X31SDataBeanAccess subbean = null;
				if (listKKSV091903CC_tv_plan_list.getCount() -1 >= i){
					subbean = listKKSV091903CC_tv_plan_list.getDataBean(i);
				}else{
					subbean = listKKSV091903CC_tv_plan_list.addDataBean();
				}
				HashMap childMap = (HashMap)childList.get(i);
				if (subbean == null) {
					continue;
				}
				// ＴＶプランリスト.ＰＣプラン申込日 ← おうちの機器補償更新・照会マップ.ＴＶプランリスト.端末補償申込年月日
				if (childMap != null) {
					subbean.sendMessageString(KKW00852SFConst.TMCP_MSKM_YMD_04, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("tmcp_mskm_ymd"));
				} else {
					subbean.sendMessageString(KKW00852SFConst.TMCP_MSKM_YMD_04, X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// ＴＶプランリスト.サービス終了年月日 ← おうちの機器補償更新・照会マップ.ＴＶプランリスト.サービス終了年月日
				if (childMap != null) {
					subbean.sendMessageString(KKW00852SFConst.SVC_ENDYMD_04, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("svc_endymd"));
				} else {
					subbean.sendMessageString(KKW00852SFConst.SVC_ENDYMD_04, X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// ＴＶプランリスト.サービス最終更新年月日時分秒 ← おうちの機器補償更新・照会マップ.ＴＶプランリスト.最終更新年月日時分秒
				if (childMap != null) {
					subbean.sendMessageString(KKW00852SFConst.LAST_UPD_DTM_04, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("last_upd_dtm"));
				} else {
					subbean.sendMessageString(KKW00852SFConst.LAST_UPD_DTM_04, X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// ＴＶプランリスト.オプションサービス契約ステータス ← おうちの機器補償更新・照会マップ.ＴＶプランリスト.オプションサービス契約ステータス
				if (childMap != null) {
					subbean.sendMessageString(KKW00852SFConst.OP_SVC_KEI_STAT_04, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("op_svc_kei_stat"));
				} else {
					subbean.sendMessageString(KKW00852SFConst.OP_SVC_KEI_STAT_04, X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// ＴＶプランリスト.オプションサービス契約番号 ← おうちの機器補償更新・照会マップ.ＴＶプランリスト.オプションサービス契約番号
				if (childMap != null) {
					subbean.sendMessageString(KKW00852SFConst.OP_SVC_KEI_NO_04, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("op_svc_kei_no"));
				} else {
					subbean.sendMessageString(KKW00852SFConst.OP_SVC_KEI_NO_04, X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// ＴＶプランリスト.サービス解約年月日 ← おうちの機器補償更新・照会マップ.ＴＶプランリスト.サービス解約年月日
				if (childMap != null) {
					subbean.sendMessageString(KKW00852SFConst.SVC_DSL_YMD_04, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("svc_dsl_ymd"));
				} else {
					subbean.sendMessageString(KKW00852SFConst.SVC_DSL_YMD_04, X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// ＴＶプランリスト.サービス開始年月日 ← おうちの機器補償更新・照会マップ.ＴＶプランリスト.サービス開始年月日
				if (childMap != null) {
					subbean.sendMessageString(KKW00852SFConst.SVC_STAYMD_04, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("svc_staymd"));
				} else {
					subbean.sendMessageString(KKW00852SFConst.SVC_STAYMD_04, X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// ＴＶプランリスト.サービス課金終了年月日 ← おうちの機器補償更新・照会マップ.ＰＣプランリスト.サービス課金終了年月日
				if (childMap != null) {
					subbean.sendMessageString(KKW00852SFConst.SVC_CHRG_ENDYMD_04, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("svc_chrg_endymd"));
				} else {
					subbean.sendMessageString(KKW00852SFConst.SVC_CHRG_ENDYMD_04, X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// ＴＶプランリスト.端末補償キャンセル連携年月日 ← おうちの機器補償更新・照会マップ.ＴＶプランリスト.端末補償キャンセル連携年月日
				if (childMap != null) {
					subbean.sendMessageString(KKW00852SFConst.TMCP_CNCL_RNKI_YMD_04, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("tmcp_cncl_rnki_ymd"));
				} else {
					subbean.sendMessageString(KKW00852SFConst.TMCP_CNCL_RNKI_YMD_04, X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// ＴＶプランリスト.端末補償解約連携年月日 ← おうちの機器補償更新・照会マップ.ＴＶプランリスト.端末補償解約連携年月日
				if (childMap != null) {
					subbean.sendMessageString(KKW00852SFConst.TMCP_DSL_RNKI_YMD_04, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("tmcp_dsl_rnki_ymd"));
				} else {
					subbean.sendMessageString(KKW00852SFConst.TMCP_DSL_RNKI_YMD_04, X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
			}
		}
		
		return bean;
	}
	
	/**
	 * 下りマッピング
	 * @param bean　[0]：おうちの機器補償更新・照会
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getKKSV091904SC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("KKSV091904SC")){
			parentMap = (HashMap)outputMap.get("KKSV091904SC");
		}
		
		String tran_div = bean[0].sendMessageString(KKW00852SFConst.TRAN_DIV_01, X31CWebConst.DATABEAN_GET_VALUE);

		
		//予約取消モード
		if (!OP_TRAN_DIV_RSV_CL.equals(tran_div))
		{
			return null;
		}

		String choiceOpKeiStat = bean[0].sendMessageString(KKW00852SFConst.CHOICE_OP_KEI_STAT, X31CWebConst.DATABEAN_GET_VALUE);
		
		// 選択オプションサービスフラグ
		String choiceOpFlg = bean[0].sendMessageString(KKW00852SFConst.CHOICE_OP_FLG, X31CWebConst.DATABEAN_GET_VALUE);
		
		ArrayList childList = null;
		
		String ido_rsv_flg = "";
		
		childList = null;
		childList = (ArrayList)parentMap.get("EKK1681B001CBSMsg1List");

		for(int i = 0; i < childList.size(); i++)
		{
			HashMap childMap = (HashMap)childList.get(i);
			
			// 異動予約が存在する かつ 移動予約状態コードが00(未反映)・03(予約手続き中)のいずれかの場合は予約適用年月日を設定
			if(childMap != null && 
			  (IDO_RSV_STAT_CD_00.equals((String)childMap.get("ido_rsv_stat_cd")) ||
			   IDO_RSV_STAT_CD_03.equals((String)childMap.get("ido_rsv_stat_cd"))))
			{
				// 異動予約がある
				ido_rsv_flg = "1";
			} 
		}
		
		//PCプランまたはPCワイドが選択された場合
		if ("0".equals(choiceOpFlg))
		{
			//照査済みの場合
			if (choiceOpKeiStat.equals("020"))
			{
				bean[0].sendMessageString(KKW00852SFConst.PRG_TKJK_1, X31CWebConst.DATABEAN_SET_VALUE, PRG_TKJK_1_PC_PLAN_RSV_CL_INFO);
			}
			else
			{
				//PCプラン解約予約の取消の場合
				if ("1".equals(ido_rsv_flg))
				{
					bean[0].sendMessageString(KKW00852SFConst.PRG_TKJK_1, X31CWebConst.DATABEAN_SET_VALUE, PRG_TKJK_1_PC_PLAN_RSV_CL_INFO);
				}
				//PCワイドプランの解約予約の取消の場合
				else
				{
					bean[0].sendMessageString(KKW00852SFConst.PRG_TKJK_1, X31CWebConst.DATABEAN_SET_VALUE, PRG_TKJK_1_PC_WIDE_RSV_CL_INFO);
				}
			}
		}
		//TVプランが選択された場合
		else
		{
			bean[0].sendMessageString(KKW00852SFConst.PRG_TKJK_1, X31CWebConst.DATABEAN_SET_VALUE, PRG_TKJK_1_TV_PLAN_RSV_CL_INFO);
		}
		
		return bean;
	}
	// IT1-2018-0000191 ADD END
}

