/*********************************************************************
*	All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名		：eo顧客基幹システム
*	モジュール名	：KKSV0369_KKSV0369OPDBMapper
*	ソースファイル名：KKSV0369_KKSV0369OPDBMapper.java
*	作成者			：FJ
*	日付			：2011年10月26日
*＜機能概要＞
*	BP（電話オプションサービス契約更新画面初期表示）へのＤ−Ｂマッピングクラスです。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v1.00.00	2011/10/26	FJ			新規作成
*	v9.00.00	2014/05/08	FJ)齋藤		IT1-2014-0000122 
*	v9.01.00	2014/05/15	FJ)齋藤		IT1-2014-0000131 
*	v9.02.00	2014/05/19	FJ)齋藤		IT1-2014-0000155(水平展開対応) 
*	v23.00.00   2015/10/07  FJ) 抱      【ANK-2694-00-00】 ワンストップ案件（ＳＴＥＰ２）
*	V50.00.00	2020/09/11	FJ)澤田		ST-2020-0000018 マッピング漏れ
*	V61.00.00	2023/04/25	FJ)新井		ANK-4315-00-00
**********************************************************************/
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.KKA16201SF.KKW02519SFConst;
import eo.web.webview.common.OneStopDataBeanAccess;
import eo.web.webview.common.OneStopDataBeanAccessArray;

/**
 * DataBean-BPマッピングをする。
 * 
 */
public class KKSV0369_KKSV0369OPDBMapper {
	
	/**
	 * コンストラクタ
	 */
	public KKSV0369_KKSV0369OPDBMapper(){
	}
	

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：電話オプションサービス契約更新
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV036901SC(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("KKSV036901SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：電話オプションサービス契約更新
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV036902SC(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("KKSV036902SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：電話オプションサービス契約更新
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV036903SC(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_sbop_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("KKSV036903SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：電話オプションサービス契約更新
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV036904SC(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));

		outputMap.put("KKSV036904SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：電話オプションサービス契約更新
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV036905SC(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("KKSV036905SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：電話オプションサービス契約更新
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV036906SC(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_sysid", bean[0].sendMessageString("ＳＹＳＩＤ", X31CWebConst.DATABEAN_GET_VALUE));
		// 運用年月日 → お客様一意照会マップ.ＫＥＹ＿予約適用年月日
		parentMap.put("key_rsv_aply_ymd", bean[0].sendMessageString("運用年月日", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("KKSV036906SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：電話オプションサービス契約更新
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV036907SC(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("KKSV036907SC", parentMap);
						
		return outputMap;
	}
	
	/**
	 * 上りマッピングをする
	 * @param bean　[0]：電話オプションサービス契約更新
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV036908SC(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));

		outputMap.put("KKSV036908SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：電話オプションサービス契約更新
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV036909SC(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_work_param_id", String.valueOf("KK_TCHI_STIAM_MAX"));

		outputMap.put("KKSV036909SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：電話オプションサービス契約更新
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV036910SC(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_work_param_id", String.valueOf("KK_TCHI_STIAM_MIN"));

		outputMap.put("KKSV036910SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：電話オプションサービス契約更新
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV036911SC(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));

		outputMap.put("KKSV036911SC", parentMap);
						
		return outputMap;
	}
	//IT1-2014-0000122 ADD START
	/**
	 * 上りマッピングをする
	 * @param bean　[0]：電話オプションサービス契約更新
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	//IT1-2014-0000131 MOD START
	//public HashMap setKKSV036913SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code, String op_trn_div) {
	public HashMap setKKSV036913SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code, String op_trn_div) {	
	//IT1-2014-0000131 MOD END
		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_svc_kei_ucwk_no", bean[0].sendMessageString("サービス契約内訳番号", X31CWebConst.DATABEAN_GET_VALUE));
		// 運用年月日 → オプションサービス契約<電話>一覧照会マップ.ＫＥＹ＿予約適用年月日
		parentMap.put("key_rsv_aply_ymd", bean[0].sendMessageString("運用年月日", X31CWebConst.DATABEAN_GET_VALUE));
		//IT1-2014-0000131 ADD START
		//オプション処理区分
		parentMap.put("op_trn_div", op_trn_div);
		//IT1-2014-0000131 ADD END

		outputMap.put("KKSV036913SC", parentMap);
						
		return outputMap;
	}
	/**
	 * 上りマッピングをする
	 * @param bean　[0]：電話オプションサービス契約更新
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV036914CC(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_cd", func_code);
		
		//処理区分(照会)
		parentMap.put("trn_div", "00");
		
		// サービス契約番号 → 電話セレクトオプションパック一覧照会マップ.ＫＥＹ＿サービス契約番号
		parentMap.put("svc_kei_no", bean[0].sendMessageString("サービス契約番号", X31CWebConst.DATABEAN_GET_VALUE));
		
		// サービス契約内訳番号 → 電話セレクトオプションパック一覧照会マップ.ＫＥＹ＿サービス契約番号
		parentMap.put("svc_kei_ucwk_no", bean[0].sendMessageString("サービス契約内訳番号", X31CWebConst.DATABEAN_GET_VALUE));
		//IT1-2014-0000122 ADD START
		// ソート区分(降順)
		parentMap.put("sort_div","2");
		//IT1-2014-0000122 ADD END
		outputMap.put("KKSV036914CC", parentMap);
						
		return outputMap;
	}
	//IT1-2014-0000122 ADD END


// ANK-3754-00-00 ADD START
	/**
	 * 上りマッピングをする
	 * @param bean　[0]：電話オプションサービス契約更新
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV036919SC(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_ido_rsv_stat_cd", "00,03");
		
		outputMap.put("KKSV036919SC", parentMap);
						
		return outputMap;
	}
	
	/**
	 * 上りマッピングをする
	 * @param bean　[0]：サービス対象機器提供サービス契約一覧照会
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV036920SC(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_kktk_svc_kei_stat", "010,020,030,100,110,210,220");

		outputMap.put("KKSV036920SC", parentMap);
						
		return outputMap;
	}

// ANK-3754-00-00 ADD END


	/**
	 * 下りマッピング
	 * @param bean　[0]：電話オプションサービス契約更新
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getKKSV036901SC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("KKSV036901SC")){
			parentMap = (HashMap)outputMap.get("KKSV036901SC");
		}

		ArrayList childList = null;
		

		X31SDataBeanAccessArray listKKSV036901SC_svc_kei_list_EKK0081A010CBSMsg1List = bean[0].getDataBeanArray("サービス契約一意照会リスト");
		childList = null;
		if(listKKSV036901SC_svc_kei_list_EKK0081A010CBSMsg1List != null && parentMap != null && parentMap.containsKey("EKK0081A010CBSMsg1List")){
			childList = (ArrayList)parentMap.get("EKK0081A010CBSMsg1List");

			for(int i = 0; i < childList.size(); i++){
				X31SDataBeanAccess subbean = null;
				if(listKKSV036901SC_svc_kei_list_EKK0081A010CBSMsg1List.getCount() -1 >= i){
					subbean = listKKSV036901SC_svc_kei_list_EKK0081A010CBSMsg1List.getDataBean(i);
				}else{
					subbean = listKKSV036901SC_svc_kei_list_EKK0081A010CBSMsg1List.addDataBean();
				}
				HashMap childMap = (HashMap)childList.get(i);
				if (subbean == null) {
					continue;
				}
			
				// サービス契約一意照会リスト.サービス契約ステータス ← サービス契約一意照会マップ.サービス契約一意照会明細.サービス契約ステータス
				if (childMap != null) {
					subbean.sendMessageString("サービス契約ステータス", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("svc_kei_stat"));
				} else {
					subbean.sendMessageString("サービス契約ステータス", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
			}
		}


		return bean;
	}

	/**
	 * 下りマッピング
	 * @param bean　[0]：電話オプションサービス契約更新
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getKKSV036902SC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("KKSV036902SC")){
			parentMap = (HashMap)outputMap.get("KKSV036902SC");
		}

		ArrayList childList = null;
		

		X31SDataBeanAccessArray listKKSV036902SC_op_svc_kei_list_EKK0351A010CBSMsg1List = bean[0].getDataBeanArray("オプションサービス契約一意照会リスト");
		childList = null;
		if(listKKSV036902SC_op_svc_kei_list_EKK0351A010CBSMsg1List != null && parentMap != null && parentMap.containsKey("EKK0351A010CBSMsg1List")){
			childList = (ArrayList)parentMap.get("EKK0351A010CBSMsg1List");

			for(int i = 0; i < childList.size(); i++){
				X31SDataBeanAccess subbean = null;
				if(listKKSV036902SC_op_svc_kei_list_EKK0351A010CBSMsg1List.getCount() -1 >= i){
					subbean = listKKSV036902SC_op_svc_kei_list_EKK0351A010CBSMsg1List.getDataBean(i);
				}else{
					subbean = listKKSV036902SC_op_svc_kei_list_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_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());
				}
				// オプションサービス契約一意照会リスト.表示用サービス提供開始年月日 ← オプションサービス契約一意照会マップ.オプションサービス契約一意照会明細.表示用サービス提供開始年月日
				if (childMap != null) {
					subbean.sendMessageString("表示用サービス提供開始年月日", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("dsp_svctk_staymd"));
				} else {
					subbean.sendMessageString("表示用サービス提供開始年月日", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// オプションサービス契約一意照会リスト.サービス終了年月日 ← オプションサービス契約一意照会マップ.オプションサービス契約一意照会明細.サービス終了年月日
				if (childMap != null) {
					subbean.sendMessageString("サービス終了年月日", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("svc_endymd"));
				} else {
					subbean.sendMessageString("サービス終了年月日", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// オプションサービス契約一意照会リスト.世代登録年月日時分秒 ← オプションサービス契約一意照会マップ.オプションサービス契約一意照会明細.世代登録年月日時分秒
				if (childMap != null) {
					subbean.sendMessageString("世代登録年月日時分秒", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("gene_add_dtm"));
				} else {
					subbean.sendMessageString("世代登録年月日時分秒", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// オプションサービス契約一意照会リスト.更新年月日時分秒 ← オプションサービス契約一意照会マップ.オプションサービス契約一意照会明細.最終更新年月日時分秒
				if (childMap != null) {
					subbean.sendMessageString("更新年月日時分秒", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("last_upd_dtm"));
				} else {
					subbean.sendMessageString("更新年月日時分秒", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				//IT1-2014-0000122 ADD START
				// オプションサービス契約一意照会リスト.更新年月日時分秒 ← オプションサービス契約一意照会マップ.オプションサービス契約一意照会明細.料金コースコード
				if (childMap != null) {
					subbean.sendMessageString("料金コースコード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("pcrs_cd"));
				} else {
					subbean.sendMessageString("料金コースコード", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// オプションサービス契約一意照会リスト.更新年月日時分秒 ← オプションサービス契約一意照会マップ.オプションサービス契約一意照会明細.料金プランコード
				if (childMap != null) {
					subbean.sendMessageString("料金プランコード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("pplan_cd"));
				} else {
					subbean.sendMessageString("料金プランコード", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				//IT1-2014-0000122 ADD END
			}
		}


		return bean;
	}

	/**
	 * 下りマッピング
	 * @param bean　[0]：電話オプションサービス契約更新
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getKKSV036903SC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("KKSV036903SC")){
			parentMap = (HashMap)outputMap.get("KKSV036903SC");
		}

		ArrayList childList = null;
		

		X31SDataBeanAccessArray listKKSV036903SC_sbop_svc_kei_list_EKK0401A010CBSMsg1List = bean[0].getDataBeanArray("サブオプションサービス契約一意照会リスト");
		childList = null;
		if(listKKSV036903SC_sbop_svc_kei_list_EKK0401A010CBSMsg1List != null && parentMap != null && parentMap.containsKey("EKK0401A010CBSMsg1List")){
			childList = (ArrayList)parentMap.get("EKK0401A010CBSMsg1List");

			for(int i = 0; i < childList.size(); i++){
				X31SDataBeanAccess subbean = null;
				if(listKKSV036903SC_sbop_svc_kei_list_EKK0401A010CBSMsg1List.getCount() -1 >= i){
					subbean = listKKSV036903SC_sbop_svc_kei_list_EKK0401A010CBSMsg1List.getDataBean(i);
				}else{
					subbean = listKKSV036903SC_sbop_svc_kei_list_EKK0401A010CBSMsg1List.addDataBean();
				}
				HashMap childMap = (HashMap)childList.get(i);
				if (subbean == null) {
					continue;
				}
			
				// サブオプションサービス契約一意照会リスト.サブオプションサービス契約ステータス ← サブオプションサービス契約一意照会マップ.サブオプションサービス契約一意照会明細.サブオプションサービス契約ステータス
				if (childMap != null) {
					subbean.sendMessageString("サブオプションサービス契約ステータス", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("sbop_svc_kei_stat"));
				} else {
					subbean.sendMessageString("サブオプションサービス契約ステータス", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// サブオプションサービス契約一意照会リスト.サブオプションサービスコード ← サブオプションサービス契約一意照会マップ.サブオプションサービス契約一意照会明細.サブオプションサービスコード
				if (childMap != null) {
					subbean.sendMessageString("サブオプションサービスコード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("sbop_svc_cd"));
				} else {
					subbean.sendMessageString("サブオプションサービスコード", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// サブオプションサービス契約一意照会リスト.サブオプションサービスコード名称 ← サブオプションサービス契約一意照会マップ.サブオプションサービス契約一意照会明細.サブオプションサービスコード名称
				if (childMap != null) {
					subbean.sendMessageString("サブオプションサービスコード名称", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("sbop_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());
				}
				
				// IT2-2013-0000033 2013/02/01 START
				// サブオプションサービス契約一意照会リスト.表示用サービス提供開始年月日 ← サブオプションサービス契約一意照会マップ.サブオプションサービス契約一意照会明細.表示用サービス提供開始年月日
				if (childMap != null) {
					subbean.sendMessageString("表示用サービス提供開始年月日", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("dsp_svctk_staymd"));
				} else {
					subbean.sendMessageString("表示用サービス提供開始年月日", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// IT2-2013-0000033 2013/02/01 END
				
				// サブオプションサービス契約一意照会リスト.サービス終了年月日 ← サブオプションサービス契約一意照会マップ.サブオプションサービス契約一意照会明細.サービス終了年月日
				if (childMap != null) {
					subbean.sendMessageString("サービス終了年月日", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("svc_endymd"));
				} else {
					subbean.sendMessageString("サービス終了年月日", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// サブオプションサービス契約一意照会リスト.世代登録年月日時分秒 ← サブオプションサービス契約一意照会マップ.サブオプションサービス契約一意照会明細.世代登録年月日時分秒
				if (childMap != null) {
					subbean.sendMessageString("世代登録年月日時分秒", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("gene_add_dtm"));
				} else {
					subbean.sendMessageString("世代登録年月日時分秒", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// サブオプションサービス契約一意照会リスト.更新年月日時分秒 ← サブオプションサービス契約一意照会マップ.サブオプションサービス契約一意照会明細.最終更新年月日時分秒
				if (childMap != null) {
					subbean.sendMessageString("更新年月日時分秒", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("last_upd_dtm"));
				} else {
					subbean.sendMessageString("更新年月日時分秒", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
			}
		}


		return bean;
	}

	/**
	 * 下りマッピング
	 * @param bean　[0]：電話オプションサービス契約更新
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getKKSV036904SC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("KKSV036904SC")){
			parentMap = (HashMap)outputMap.get("KKSV036904SC");
		}

		ArrayList childList = null;
		

		X31SDataBeanAccessArray listKKSV036904SC_sbop_svc_kei_list_EKK0401B001CBSMsg1List = bean[0].getDataBeanArray("サブオプションサービス契約一意照会リスト");
		childList = null;
		if(listKKSV036904SC_sbop_svc_kei_list_EKK0401B001CBSMsg1List != null && parentMap != null && parentMap.containsKey("EKK0401B001CBSMsg1List")){
			childList = (ArrayList)parentMap.get("EKK0401B001CBSMsg1List");

			for(int i = 0; i < childList.size(); i++){
				X31SDataBeanAccess subbean = null;
				if(listKKSV036904SC_sbop_svc_kei_list_EKK0401B001CBSMsg1List.getCount() -1 >= i){
					subbean = listKKSV036904SC_sbop_svc_kei_list_EKK0401B001CBSMsg1List.getDataBean(i);
				}else{
					subbean = listKKSV036904SC_sbop_svc_kei_list_EKK0401B001CBSMsg1List.addDataBean();
				}
				HashMap childMap = (HashMap)childList.get(i);
				if (subbean == null) {
					continue;
				}
			
				// サブオプションサービス契約一意照会リスト.サブオプションサービス契約ステータス ← サブオプションサービス契約一覧照会マップ.サブオプションサービス契約一覧照会明細.サブオプションサービス契約ステータス
				if (childMap != null) {
					subbean.sendMessageString("サブオプションサービス契約ステータス", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("sbop_svc_kei_stat"));
				} else {
					subbean.sendMessageString("サブオプションサービス契約ステータス", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
			}
		}


		return bean;
	}

	/**
	 * 下りマッピング
	 * @param bean　[0]：電話オプションサービス契約更新
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getKKSV036905SC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("KKSV036905SC")){
			parentMap = (HashMap)outputMap.get("KKSV036905SC");
		}

		ArrayList childList = null;
		

		X31SDataBeanAccessArray listKKSV036905SC_op_svc_list_EKK0821A010CBSMsg1List = bean[0].getDataBeanArray("オプションサービス一意照会リスト");
		childList = null;
		if(listKKSV036905SC_op_svc_list_EKK0821A010CBSMsg1List != null && parentMap != null && parentMap.containsKey("EKK0821A010CBSMsg1List")){
			childList = (ArrayList)parentMap.get("EKK0821A010CBSMsg1List");

			for(int i = 0; i < childList.size(); i++){
				X31SDataBeanAccess subbean = null;
				if(listKKSV036905SC_op_svc_list_EKK0821A010CBSMsg1List.getCount() -1 >= i){
					subbean = listKKSV036905SC_op_svc_list_EKK0821A010CBSMsg1List.getDataBean(i);
				}else{
					subbean = listKKSV036905SC_op_svc_list_EKK0821A010CBSMsg1List.addDataBean();
				}
				HashMap childMap = (HashMap)childList.get(i);
				if (subbean == null) {
					continue;
				}
			
				// オプションサービス一意照会リスト.回復可能期間 ← オプションサービス一意照会マップ.オプションサービス一意照会明細.回復可能期間
				if (childMap != null) {
					subbean.sendMessageString("回復可能期間", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("kaihk_psb_prd"));
				} else {
					subbean.sendMessageString("回復可能期間", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// オプションサービス一意照会リスト.予約可能期間 ← オプションサービス一意照会マップ.オプションサービス一意照会明細.予約可能期間
				if (childMap != null) {
					subbean.sendMessageString("予約可能期間", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("rsv_psb_prd"));
				} else {
					subbean.sendMessageString("予約可能期間", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
			}
		}


		return bean;
	}

	/**
	 * 下りマッピング
	 * @param bean　[0]：電話オプションサービス契約更新
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getKKSV036906SC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("KKSV036906SC")){
			parentMap = (HashMap)outputMap.get("KKSV036906SC");
		}

		ArrayList childList = null;
		

		X31SDataBeanAccessArray listKKSV036906SC_cust_list_ECK0011A010CBSMsg1List = bean[0].getDataBeanArray("お客様一意照会リスト");
		childList = null;
		if(listKKSV036906SC_cust_list_ECK0011A010CBSMsg1List != null && parentMap != null && parentMap.containsKey("ECK0011A010CBSMsg1List")){
			childList = (ArrayList)parentMap.get("ECK0011A010CBSMsg1List");

			for(int i = 0; i < childList.size(); i++){
				X31SDataBeanAccess subbean = null;
				if(listKKSV036906SC_cust_list_ECK0011A010CBSMsg1List.getCount() -1 >= i){
					subbean = listKKSV036906SC_cust_list_ECK0011A010CBSMsg1List.getDataBean(i);
				}else{
					subbean = listKKSV036906SC_cust_list_ECK0011A010CBSMsg1List.addDataBean();
				}
				HashMap childMap = (HashMap)childList.get(i);
				if (subbean == null) {
					continue;
				}
			
				// お客様一意照会リスト.お客様ステータス ← お客様一意照会マップ.お客様一意照会明細.お客様ステータス
				if (childMap != null) {
					subbean.sendMessageString("お客様ステータス", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("cust_stat"));
				} else {
					subbean.sendMessageString("お客様ステータス", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
			}
		}


		return bean;
	}

	/**
	 * 下りマッピング
	 * @param bean　[0]：電話オプションサービス契約更新
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getKKSV036907SC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("KKSV036907SC")){
			parentMap = (HashMap)outputMap.get("KKSV036907SC");
		}

		ArrayList childList = null;
		

		X31SDataBeanAccessArray svc_kei_ucwk_list = bean[0].getDataBeanArray("サービス契約内訳リスト");
		childList = null;
		if(svc_kei_ucwk_list != null && parentMap != null && parentMap.containsKey("EKK0161A010CBSMsg1List")){
			childList = (ArrayList)parentMap.get("EKK0161A010CBSMsg1List");

			for(int i = 0; i < childList.size(); i++){
				X31SDataBeanAccess subbean = null;
				if(svc_kei_ucwk_list.getCount() -1 >= i){
					subbean = svc_kei_ucwk_list.getDataBean(i);
				}else{
					subbean = svc_kei_ucwk_list.addDataBean();
				}
				HashMap childMap = (HashMap)childList.get(i);
				if (subbean == null) {
					continue;
				}
			
				// サービス契約内訳リスト.サービス契約内訳番号 ← サービス契約内訳一意照会マップ.サービス契約内訳一意照会明細.サービス契約内訳番号
				if (childMap != null) {
					subbean.sendMessageString("サービス契約内訳番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("svc_kei_ucwk_no"));
				} else {
					subbean.sendMessageString("サービス契約内訳番号", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// サービス契約内訳リスト.世代登録年月日時分秒 ← サービス契約内訳一意照会マップ.サービス契約内訳一意照会明細.世代登録年月日時分秒
				if (childMap != null) {
					subbean.sendMessageString("世代登録年月日時分秒", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("gene_add_dtm"));
				} else {
					subbean.sendMessageString("世代登録年月日時分秒", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
			}
		}


		return bean;
	}
	
	/**
	 * 下りマッピング
	 * @param bean　[0]：電話オプションサービス契約更新
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getKKSV036908SC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("KKSV036908SC")){
			parentMap = (HashMap)outputMap.get("KKSV036908SC");
		}

		ArrayList childList = null;
		

		X31SDataBeanAccessArray listKKSV036908SC_op_svc_tel_list_EKK0371A010CBSMsg1List = bean[0].getDataBeanArray("オプションサービス契約＜電話＞一意照会リスト");
		childList = null;
		if(listKKSV036908SC_op_svc_tel_list_EKK0371A010CBSMsg1List != null && parentMap != null && parentMap.containsKey("EKK0371A010CBSMsg1List")){
			childList = (ArrayList)parentMap.get("EKK0371A010CBSMsg1List");

			for(int i = 0; i < childList.size(); i++){
				X31SDataBeanAccess subbean = null;
				if(listKKSV036908SC_op_svc_tel_list_EKK0371A010CBSMsg1List.getCount() -1 >= i){
					subbean = listKKSV036908SC_op_svc_tel_list_EKK0371A010CBSMsg1List.getDataBean(i);
				}else{
					subbean = listKKSV036908SC_op_svc_tel_list_EKK0371A010CBSMsg1List.addDataBean();
				}
				HashMap childMap = (HashMap)childList.get(i);
				if (subbean == null) {
					continue;
				}
			
				// オプションサービス契約＜電話＞一意照会リスト.通話料指定額到達通知指定金額 ← オプションサービス契約＜電話＞一意照会マップ.オプションサービス契約＜電話＞一意照会明細.通話料指定額到達通知指定金額
				if (childMap != null) {
					subbean.sendMessageString("通話料指定額到達通知指定金額", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("twryo_stiam_ttu_tchi_stiam"));
				} else {
					subbean.sendMessageString("通話料指定額到達通知指定金額", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
			}
		}


		return bean;
	}

	/**
	 * 下りマッピング
	 * @param bean　[0]：電話オプションサービス契約更新
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getKKSV036909SC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("KKSV036909SC")){
			parentMap = (HashMap)outputMap.get("KKSV036909SC");
		}

		ArrayList childList = null;
		

		X31SDataBeanAccessArray listKKSV036909SC_ezm0321a010cbsmsg1list_EZM0321A010CBSMsg1List = bean[0].getDataBeanArray("通知指定額上限明細");
		childList = null;
		if(listKKSV036909SC_ezm0321a010cbsmsg1list_EZM0321A010CBSMsg1List != null && parentMap != null && parentMap.containsKey("EZM0321A010CBSMsg1List")){
			childList = (ArrayList)parentMap.get("EZM0321A010CBSMsg1List");

			for(int i = 0; i < childList.size(); i++){
				X31SDataBeanAccess subbean = null;
				if(listKKSV036909SC_ezm0321a010cbsmsg1list_EZM0321A010CBSMsg1List.getCount() -1 >= i){
					subbean = listKKSV036909SC_ezm0321a010cbsmsg1list_EZM0321A010CBSMsg1List.getDataBean(i);
				}else{
					subbean = listKKSV036909SC_ezm0321a010cbsmsg1list_EZM0321A010CBSMsg1List.addDataBean();
				}
				HashMap childMap = (HashMap)childList.get(i);
				if (subbean == null) {
					continue;
				}
			
				// 通知指定額上限明細.通知指定額上限 ← 業務パラメータ管理一意照会（通知指定額上限用）マップ.業務パラメータ管理一意照会明細.業務パラメータ設定値
				if (childMap != null) {
					subbean.sendMessageString("通知指定額上限", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("work_param_sette_value"));
				} else {
					subbean.sendMessageString("通知指定額上限", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
			}
		}


		return bean;
	}

	/**
	 * 下りマッピング
	 * @param bean　[0]：電話オプションサービス契約更新
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getKKSV036910SC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("KKSV036910SC")){
			parentMap = (HashMap)outputMap.get("KKSV036910SC");
		}

		ArrayList childList = null;
		

		X31SDataBeanAccessArray listKKSV036910SC_ezm0321a010cbsmsg2list_EZM0321A010CBSMsg1List = bean[0].getDataBeanArray("通知指定額下限明細");
		childList = null;
		if(listKKSV036910SC_ezm0321a010cbsmsg2list_EZM0321A010CBSMsg1List != null && parentMap != null && parentMap.containsKey("EZM0321A010CBSMsg1List")){
			childList = (ArrayList)parentMap.get("EZM0321A010CBSMsg1List");

			for(int i = 0; i < childList.size(); i++){
				X31SDataBeanAccess subbean = null;
				if(listKKSV036910SC_ezm0321a010cbsmsg2list_EZM0321A010CBSMsg1List.getCount() -1 >= i){
					subbean = listKKSV036910SC_ezm0321a010cbsmsg2list_EZM0321A010CBSMsg1List.getDataBean(i);
				}else{
					subbean = listKKSV036910SC_ezm0321a010cbsmsg2list_EZM0321A010CBSMsg1List.addDataBean();
				}
				HashMap childMap = (HashMap)childList.get(i);
				if (subbean == null) {
					continue;
				}
			
				// 通知指定額下限明細.通知指定額下限 ← 業務パラメータ管理一意照会（通知指定額下限用）マップ.業務パラメータ管理一意照会明細.業務パラメータ設定値
				if (childMap != null) {
					subbean.sendMessageString("通知指定額下限", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("work_param_sette_value"));
				} else {
					subbean.sendMessageString("通知指定額下限", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
			}
		}


		return bean;
	}

	/**
	 * 下りマッピング
	 * @param bean　[0]：電話オプションサービス契約更新
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getKKSV036911SC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("KKSV036911SC")){
			parentMap = (HashMap)outputMap.get("KKSV036911SC");
		}

		ArrayList childList = null;
		

		X31SDataBeanAccessArray listKKSV036911SC_kakin_list_EKK0321B002CBSMsg1List = bean[0].getDataBeanArray("課金先リスト");
		childList = null;
		if(listKKSV036911SC_kakin_list_EKK0321B002CBSMsg1List != null && parentMap != null && parentMap.containsKey("EKK0321B002CBSMsg1List")){
			childList = (ArrayList)parentMap.get("EKK0321B002CBSMsg1List");

			for(int i = 0; i < childList.size(); i++){
				X31SDataBeanAccess subbean = null;
				if(listKKSV036911SC_kakin_list_EKK0321B002CBSMsg1List.getCount() -1 >= i){
					subbean = listKKSV036911SC_kakin_list_EKK0321B002CBSMsg1List.getDataBean(i);
				}else{
					subbean = listKKSV036911SC_kakin_list_EKK0321B002CBSMsg1List.addDataBean();
				}
				HashMap childMap = (HashMap)childList.get(i);
				if (subbean == null) {
					continue;
				}
			
				// 課金先リスト.請求契約番号 ← 課金先一覧照会マップ.課金先一覧照会明細.請求契約番号
				if (childMap != null) {
					subbean.sendMessageString("請求契約番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("seiky_kei_no"));
				} else {
					subbean.sendMessageString("請求契約番号", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
			}
		}


		return bean;
	}
	//IT1-2014-0000122 ADD START
	/**
	 * 下りマッピング
	 * @param bean　[0]：電話オプションサービス契約更新
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getKKSV036913SC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("KKSV036913SC")){
			parentMap = (HashMap)outputMap.get("KKSV036913SC");
		}

		ArrayList childList = null;
		

		X31SDataBeanAccessArray listKKSV036913SC_op_svc_kei_list_EKK0351B002CBSMsg1List = bean[0].getDataBeanArray("パック判定用オプションサービス契約一覧照会リスト");
		childList = null;
		if(listKKSV036913SC_op_svc_kei_list_EKK0351B002CBSMsg1List != null && parentMap != null && parentMap.containsKey("EKK0351B002CBSMsg1List")){
			childList = (ArrayList)parentMap.get("EKK0351B002CBSMsg1List");

			for(int i = 0; i < childList.size(); i++){
				X31SDataBeanAccess subbean = null;
				if(listKKSV036913SC_op_svc_kei_list_EKK0351B002CBSMsg1List.getCount() -1 >= i){
					subbean = listKKSV036913SC_op_svc_kei_list_EKK0351B002CBSMsg1List.getDataBean(i);
				}else{
					subbean = listKKSV036913SC_op_svc_kei_list_EKK0351B002CBSMsg1List.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("pcrs_cd"));
				} else {
					subbean.sendMessageString("料金コースコード", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// オプションサービス契約＜電話＞明細.料金プランコード ← オプションサービス契約＜電話＞一覧照会（サービス契約内訳番号）マップ.オプションサービス契約＜電話＞明細.料金プランコード
				if (childMap != null) {
					subbean.sendMessageString("料金プランコード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("pplan_cd"));
				} else {
					subbean.sendMessageString("料金プランコード", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// オプションサービス契約.サブオプションサービス契約番号 ← オプションサービス契約一覧照会マップ.オプションサービス契約一覧照会（サービス契約番号）明細.サブオプションサービス契約番号
				if (childMap != null) {
					subbean.sendMessageString("サブオプションサービス契約番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("sbop_svc_kei_no"));
				} else {
					subbean.sendMessageString("サブオプションサービス契約番号", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// オプションサービス契約.サブオプションサービスコード ← オプションサービス契約一覧照会マップ.オプションサービス契約一覧照会（サービス契約番号）明細.サブオプションサービスコード
				if (childMap != null) {
					subbean.sendMessageString("サブオプションサービスコード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("sbop_svc_cd"));
				} else {
					subbean.sendMessageString("サブオプションサービスコード", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// オプションサービス契約.サブオプションサービスコード ← オプションサービス契約一覧照会マップ.オプションサービス契約一覧照会（サービス契約番号）明細.利用終了予定年月日
				if (childMap != null) {
					subbean.sendMessageString("利用終了予定日", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("use_end_rsymd"));
				} else {
					subbean.sendMessageString("利用終了予定日", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				
				// オプションサービス契約.サービス開始年月日 ← オプションサービス契約一覧照会マップ.オプションサービス契約一覧照会（サービス契約番号）明細.表示用サービス提供開始年月日
				if (childMap != null) {
					subbean.sendMessageString("利用開始日", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("dsp_svctk_staymd"));
				} else {
					subbean.sendMessageString("利用開始日", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
// ▽▽▽ ANK-3754-00-00 ADD START
				
				// オプションの開始／解約予約を追加情報として設定する（サブオプションは無視する？）

				// 初期化
				subbean.sendMessageString("開始予約日", X31CWebConst.DATABEAN_SET_VALUE, new String());
				subbean.sendMessageString("解約予約日", X31CWebConst.DATABEAN_SET_VALUE, new String());

				ArrayList<HashMap<String, Object>> rsvList = getIdoRsvList(outputMap);
				for (HashMap<String, Object> rsvItem : rsvList)
				{
					// 同一オプション契約番号かつ、サブオプション番号が未設定の場合
					if (childMap.get("op_svc_kei_no").equals(rsvItem.get("op_svc_kei_no"))&& JKKStringUtil.isNullBlank((String)rsvItem.get("sbop_svc_kei_no")))
					{
						// 有効な予約のみ対応する
						Object rsvStatCd = rsvItem.get("ido_rsv_stat_cd");
						if ("00".equals(rsvStatCd) || "03".equals(rsvStatCd))
						{
							Object rsvDtlCd = rsvItem.get("ido_rsv_dtl_cd");
							// 異動予約詳細が「オプション開始」
							if ("014".equals(rsvDtlCd))
							{
								subbean.sendMessageString("開始予約日", X31CWebConst.DATABEAN_SET_VALUE, (String)rsvItem.get("rsv_aply_ymd"));
							}
							// 異動予約詳細が「オプション解約」
							else if ("016".equals(rsvDtlCd))
							{
								subbean.sendMessageString("解約予約日", X31CWebConst.DATABEAN_SET_VALUE, (String)rsvItem.get("rsv_aply_ymd"));
							}
						}
					}
				}
// △△△ ANK-3754-00-00 ADD END
			}
		}


		return bean;
	}
	/**
	 * 下りマッピング
	 * @param bean　[0]：割引サービス構成一覧照会(割引タイプコード)
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getKKSV036915SC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("KKSV036915SC")){
			parentMap = (HashMap)outputMap.get("KKSV036915SC");
		}

		ArrayList childList = null;


		X31SDataBeanAccessArray listKKSV036915SC_wrib_svc_kousei_list_EKK2071B101CBSMsg1List = bean[0].getDataBeanArray("割引サービス構成一覧照会明細(割引タイプコード)");
		childList = null;
		if(listKKSV036915SC_wrib_svc_kousei_list_EKK2071B101CBSMsg1List != null && parentMap != null && parentMap.containsKey("EKK2071B101CBSMsg1List")){
			childList = (ArrayList)parentMap.get("EKK2071B101CBSMsg1List");

			for(int i = 0; i < childList.size(); i++){
				X31SDataBeanAccess subbean = null;
				if(listKKSV036915SC_wrib_svc_kousei_list_EKK2071B101CBSMsg1List.getCount() -1 >= i){
					subbean = listKKSV036915SC_wrib_svc_kousei_list_EKK2071B101CBSMsg1List.getDataBean(i);
				}else{
					subbean = listKKSV036915SC_wrib_svc_kousei_list_EKK2071B101CBSMsg1List.addDataBean();
				}
				HashMap childMap = (HashMap)childList.get(i);
				if (subbean == null) {
					continue;
				}
				
				// // 割引サービス契約一意照会マップ.割引サービス構成一覧照会(割引タイプコード)2.割引サービスコード ← 割引サービス構成一覧照会(割引タイプコード)2.割引サービスコード
				if (childMap != null) {
					subbean.sendMessageString("割引サービスコード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("wrib_svc_cd"));
				} else {
					subbean.sendMessageString("割引サービスコード", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				
				// // 割引サービス契約一意照会マップ.割引サービス構成一覧照会(割引タイプコード)2.割引サービス契約ステータス名称 ← 割引サービス構成一覧照会(割引タイプコード)2.料金グループコード
				if (childMap != null) {
					subbean.sendMessageString("料金グループコード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("wrib_svc_kei_stat_nm"));
				} else {
					subbean.sendMessageString("料金グループコード", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				
				
				// // 割引サービス契約一意照会マップ.割引サービス構成一覧照会(割引タイプコード)2.割引サービス契約ステータス ← 割引サービス構成一覧照会(割引タイプコード)2.料金コースコード
				if (childMap != null) {
					subbean.sendMessageString("料金コースコード ", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("prc_cd"));
				} else {
					subbean.sendMessageString("料金コースコード ", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				
				// // 割引サービス契約一意照会マップ.割引サービス構成一覧照会(割引タイプコード)2.割引サービス契約ステータス ← 割引サービス構成一覧照会(割引タイプコード)2.プランコード
				if (childMap != null) {
					subbean.sendMessageString("料金プランコード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("pplan_cd"));
				} else {
					subbean.sendMessageString("料金プランコード", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				
				// // 割引サービス契約一意照会マップ.割引サービス構成一覧照会(割引タイプコード)2.申込起算年月日 ← 割引サービス構成一覧照会(割引タイプコード)2.オプションサービスコード
				if (childMap != null) {
					subbean.sendMessageString("オプションサービスコード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("op_svc_cd"));
				} else {
					subbean.sendMessageString("オプションサービスコード", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// // 割引サービス契約一意照会マップ.割引サービス構成一覧照会(割引タイプコード)2.サブオプションサービスコード ← 割引サービス構成一覧照会(割引タイプコード)2.サブオプションサービスコード
				if (childMap != null) {
					subbean.sendMessageString("サブオプションサービスコード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("sbop_svc_cd"));
				} else {
					subbean.sendMessageString("サブオプションサービスコード", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}	
			}
		}
		return bean;
	}
	//IT1-2014-0000122 ADD END
	//IT1-2014-0000131 ADD START
	/**
	 * 下りマッピング
	 * @param bean　[0]：サービス契約情報更新（ｅｏ光電話）
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getKKSV036917CC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{
		HashMap parentMap = null;
		if(outputMap.containsKey("KKSV036917CC")){
			parentMap = (HashMap)outputMap.get("KKSV036917CC");
		}
		
		ArrayList childList = null;
		
		if (parentMap != null)
		{
			// お得チェックエラーフラグ
			if ((String)parentMap.get("otoku_chk_err_flg") != null && !"".equals((String)parentMap.get("otoku_chk_err_flg")))
			{
				bean[0].sendMessageString(KKW02519SFConst.OTOKU_CHK_ERR_FLG, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("otoku_chk_err_flg"));
			} else {
				bean[0].sendMessageString(KKW02519SFConst.OTOKU_CHK_ERR_FLG, X31CWebConst.DATABEAN_SET_VALUE, new String());
			}
			//IT1-2014-0000155 水平展開対応 ADD START
			// 未来パック存在フラグ
			if ((String)parentMap.get("pack_mirai_flg") != null && !"".equals((String)parentMap.get("pack_mirai_flg")))
			{
				bean[0].sendMessageString(KKW02519SFConst.PACK_MIRAI_FLG, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("pack_mirai_flg"));
			} else {
				bean[0].sendMessageString(KKW02519SFConst.PACK_MIRAI_FLG, X31CWebConst.DATABEAN_SET_VALUE, new String());
			}
			//IT1-2014-0000155 水平展開対応 ADD END
// ANK-3754-00-00 ADD START
			// お得チェック割引サービスコード
			if ((String)parentMap.get("wrib_svc_cd") != null && !"".equals((String)parentMap.get("wrib_svc_cd")))
			{
				bean[0].sendMessageString(KKW02519SFConst.OTOKU_WRIB_SVC_CD, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("wrib_svc_cd"));
			} else {
				bean[0].sendMessageString(KKW02519SFConst.OTOKU_WRIB_SVC_CD, X31CWebConst.DATABEAN_SET_VALUE, new String());
			}
//ANK-3754-00-00 ADD END
		}
		
		return bean;
	}
	//IT1-2014-0000131 ADD END
	
// ANK-2694-00-00 2015/10/07 ADD START	
	/**
	 * 上りマッピングをする
	 * @param bean　[0]：電話オプションサービス契約更新
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV036901SC(OneStopDataBeanAccess[] 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("KKSV036901SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：電話オプションサービス契約更新
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV036902SC(OneStopDataBeanAccess[] 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("KKSV036902SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：電話オプションサービス契約更新
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV036903SC(OneStopDataBeanAccess[] 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_sbop_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("KKSV036903SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：電話オプションサービス契約更新
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV036904SC(OneStopDataBeanAccess[] 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));

		outputMap.put("KKSV036904SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：電話オプションサービス契約更新
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV036905SC(OneStopDataBeanAccess[] 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("KKSV036905SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：電話オプションサービス契約更新
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV036906SC(OneStopDataBeanAccess[] 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_sysid", bean[0].sendMessageString("ＳＹＳＩＤ", X31CWebConst.DATABEAN_GET_VALUE));
		// 運用年月日 → お客様一意照会マップ.ＫＥＹ＿予約適用年月日
		parentMap.put("key_rsv_aply_ymd", bean[0].sendMessageString("運用年月日", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("KKSV036906SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：電話オプションサービス契約更新
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV036907SC(OneStopDataBeanAccess[] 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("KKSV036907SC", parentMap);
						
		return outputMap;
	}
	
	/**
	 * 上りマッピングをする
	 * @param bean　[0]：電話オプションサービス契約更新
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV036908SC(OneStopDataBeanAccess[] 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));

		outputMap.put("KKSV036908SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：電話オプションサービス契約更新
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV036909SC(OneStopDataBeanAccess[] 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_work_param_id", String.valueOf("KK_TCHI_STIAM_MAX"));

		outputMap.put("KKSV036909SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：電話オプションサービス契約更新
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV036910SC(OneStopDataBeanAccess[] 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_work_param_id", String.valueOf("KK_TCHI_STIAM_MIN"));

		outputMap.put("KKSV036910SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：電話オプションサービス契約更新
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV036911SC(OneStopDataBeanAccess[] 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));

		outputMap.put("KKSV036911SC", parentMap);
						
		return outputMap;
	}
	//IT1-2014-0000122 ADD START
	/**
	 * 上りマッピングをする
	 * @param bean　[0]：電話オプションサービス契約更新
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	//IT1-2014-0000131 MOD START
	//public HashMap setKKSV036913SC(OneStopDataBeanAccess[] bean, HashMap outputMap, String func_code, String op_trn_div) {
	public HashMap setKKSV036913SC(OneStopDataBeanAccess[] bean, HashMap outputMap, String func_code, String op_trn_div) {	
	//IT1-2014-0000131 MOD END
		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_svc_kei_ucwk_no", bean[0].sendMessageString("サービス契約内訳番号", X31CWebConst.DATABEAN_GET_VALUE));
		// 運用年月日 → オプションサービス契約<電話>一覧照会マップ.ＫＥＹ＿予約適用年月日
		parentMap.put("key_rsv_aply_ymd", bean[0].sendMessageString("運用年月日", X31CWebConst.DATABEAN_GET_VALUE));
		//IT1-2014-0000131 ADD START
		//オプション処理区分
		parentMap.put("op_trn_div", op_trn_div);
		//IT1-2014-0000131 ADD END

		outputMap.put("KKSV036913SC", parentMap);
						
		return outputMap;
	}
	/**
	 * 上りマッピングをする
	 * @param bean　[0]：電話オプションサービス契約更新
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV036914CC(OneStopDataBeanAccess[] 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_cd", func_code);
		
		//処理区分(照会)
		parentMap.put("trn_div", "00");
		
		// サービス契約番号 → 電話セレクトオプションパック一覧照会マップ.ＫＥＹ＿サービス契約番号
		parentMap.put("svc_kei_no", bean[0].sendMessageString("サービス契約番号", X31CWebConst.DATABEAN_GET_VALUE));
		
		// サービス契約内訳番号 → 電話セレクトオプションパック一覧照会マップ.ＫＥＹ＿サービス契約番号
		parentMap.put("svc_kei_ucwk_no", bean[0].sendMessageString("サービス契約内訳番号", X31CWebConst.DATABEAN_GET_VALUE));
		//IT1-2014-0000122 ADD START
		// ソート区分(降順)
		parentMap.put("sort_div","2");
		//IT1-2014-0000122 ADD END
		outputMap.put("KKSV036914CC", parentMap);
						
		return outputMap;
	}
	//IT1-2014-0000122 ADD END


	/**
	 * 下りマッピング
	 * @param bean　[0]：電話オプションサービス契約更新
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public OneStopDataBeanAccess[] getKKSV036901SC(OneStopDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("KKSV036901SC")){
			parentMap = (HashMap)outputMap.get("KKSV036901SC");
		}

		ArrayList childList = null;
		

		OneStopDataBeanAccessArray listKKSV036901SC_svc_kei_list_EKK0081A010CBSMsg1List = bean[0].getDataBeanArray("サービス契約一意照会リスト");
		childList = null;
		if(listKKSV036901SC_svc_kei_list_EKK0081A010CBSMsg1List != null && parentMap != null && parentMap.containsKey("EKK0081A010CBSMsg1List")){
			childList = (ArrayList)parentMap.get("EKK0081A010CBSMsg1List");

			for(int i = 0; i < childList.size(); i++){
				OneStopDataBeanAccess subbean = null;
				if(listKKSV036901SC_svc_kei_list_EKK0081A010CBSMsg1List.getCount() -1 >= i){
					subbean = listKKSV036901SC_svc_kei_list_EKK0081A010CBSMsg1List.getDataBean(i);
				}else{
					subbean = listKKSV036901SC_svc_kei_list_EKK0081A010CBSMsg1List.addDataBean();
				}
				HashMap childMap = (HashMap)childList.get(i);
				if (subbean == null) {
					continue;
				}
			
				// サービス契約一意照会リスト.サービス契約ステータス ← サービス契約一意照会マップ.サービス契約一意照会明細.サービス契約ステータス
				if (childMap != null) {
					subbean.sendMessageString("サービス契約ステータス", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("svc_kei_stat"));
				} else {
					subbean.sendMessageString("サービス契約ステータス", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
			}
		}


		return bean;
	}
	// ST-2020-0000018 ADD START
	/**
	 * 上りマッピングをする
	 * @param bean　[0]：電話オプションサービス契約更新
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV036919SC(OneStopDataBeanAccess[] 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_ido_rsv_stat_cd", "00,03");
		
		outputMap.put("KKSV036919SC", parentMap);
						
		return outputMap;
	}
	
	/**
	 * 上りマッピングをする
	 * @param bean　[0]：サービス対象機器提供サービス契約一覧照会
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV036920SC(OneStopDataBeanAccess[] 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_kktk_svc_kei_stat", "010,020,030,100,110,210,220");

		outputMap.put("KKSV036920SC", parentMap);
						
		return outputMap;
	}

// ST-2020-0000018 ADD END
	/**
	 * 下りマッピング
	 * @param bean　[0]：電話オプションサービス契約更新
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public OneStopDataBeanAccess[] getKKSV036902SC(OneStopDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("KKSV036902SC")){
			parentMap = (HashMap)outputMap.get("KKSV036902SC");
		}

		ArrayList childList = null;
		

		OneStopDataBeanAccessArray listKKSV036902SC_op_svc_kei_list_EKK0351A010CBSMsg1List = bean[0].getDataBeanArray("オプションサービス契約一意照会リスト");
		childList = null;
		if(listKKSV036902SC_op_svc_kei_list_EKK0351A010CBSMsg1List != null && parentMap != null && parentMap.containsKey("EKK0351A010CBSMsg1List")){
			childList = (ArrayList)parentMap.get("EKK0351A010CBSMsg1List");

			for(int i = 0; i < childList.size(); i++){
				OneStopDataBeanAccess subbean = null;
				if(listKKSV036902SC_op_svc_kei_list_EKK0351A010CBSMsg1List.getCount() -1 >= i){
					subbean = listKKSV036902SC_op_svc_kei_list_EKK0351A010CBSMsg1List.getDataBean(i);
				}else{
					subbean = listKKSV036902SC_op_svc_kei_list_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_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());
				}
				// オプションサービス契約一意照会リスト.表示用サービス提供開始年月日 ← オプションサービス契約一意照会マップ.オプションサービス契約一意照会明細.表示用サービス提供開始年月日
				if (childMap != null) {
					subbean.sendMessageString("表示用サービス提供開始年月日", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("dsp_svctk_staymd"));
				} else {
					subbean.sendMessageString("表示用サービス提供開始年月日", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// オプションサービス契約一意照会リスト.サービス終了年月日 ← オプションサービス契約一意照会マップ.オプションサービス契約一意照会明細.サービス終了年月日
				if (childMap != null) {
					subbean.sendMessageString("サービス終了年月日", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("svc_endymd"));
				} else {
					subbean.sendMessageString("サービス終了年月日", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// オプションサービス契約一意照会リスト.世代登録年月日時分秒 ← オプションサービス契約一意照会マップ.オプションサービス契約一意照会明細.世代登録年月日時分秒
				if (childMap != null) {
					subbean.sendMessageString("世代登録年月日時分秒", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("gene_add_dtm"));
				} else {
					subbean.sendMessageString("世代登録年月日時分秒", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// オプションサービス契約一意照会リスト.更新年月日時分秒 ← オプションサービス契約一意照会マップ.オプションサービス契約一意照会明細.最終更新年月日時分秒
				if (childMap != null) {
					subbean.sendMessageString("更新年月日時分秒", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("last_upd_dtm"));
				} else {
					subbean.sendMessageString("更新年月日時分秒", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				//IT1-2014-0000122 ADD START
				// オプションサービス契約一意照会リスト.更新年月日時分秒 ← オプションサービス契約一意照会マップ.オプションサービス契約一意照会明細.料金コースコード
				if (childMap != null) {
					subbean.sendMessageString("料金コースコード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("pcrs_cd"));
				} else {
					subbean.sendMessageString("料金コースコード", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// オプションサービス契約一意照会リスト.更新年月日時分秒 ← オプションサービス契約一意照会マップ.オプションサービス契約一意照会明細.料金プランコード
				if (childMap != null) {
					subbean.sendMessageString("料金プランコード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("pplan_cd"));
				} else {
					subbean.sendMessageString("料金プランコード", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				//IT1-2014-0000122 ADD END
			}
		}


		return bean;
	}

	/**
	 * 下りマッピング
	 * @param bean　[0]：電話オプションサービス契約更新
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public OneStopDataBeanAccess[] getKKSV036903SC(OneStopDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("KKSV036903SC")){
			parentMap = (HashMap)outputMap.get("KKSV036903SC");
		}

		ArrayList childList = null;
		

		OneStopDataBeanAccessArray listKKSV036903SC_sbop_svc_kei_list_EKK0401A010CBSMsg1List = bean[0].getDataBeanArray("サブオプションサービス契約一意照会リスト");
		childList = null;
		if(listKKSV036903SC_sbop_svc_kei_list_EKK0401A010CBSMsg1List != null && parentMap != null && parentMap.containsKey("EKK0401A010CBSMsg1List")){
			childList = (ArrayList)parentMap.get("EKK0401A010CBSMsg1List");

			for(int i = 0; i < childList.size(); i++){
				OneStopDataBeanAccess subbean = null;
				if(listKKSV036903SC_sbop_svc_kei_list_EKK0401A010CBSMsg1List.getCount() -1 >= i){
					subbean = listKKSV036903SC_sbop_svc_kei_list_EKK0401A010CBSMsg1List.getDataBean(i);
				}else{
					subbean = listKKSV036903SC_sbop_svc_kei_list_EKK0401A010CBSMsg1List.addDataBean();
				}
				HashMap childMap = (HashMap)childList.get(i);
				if (subbean == null) {
					continue;
				}
			
				// サブオプションサービス契約一意照会リスト.サブオプションサービス契約ステータス ← サブオプションサービス契約一意照会マップ.サブオプションサービス契約一意照会明細.サブオプションサービス契約ステータス
				if (childMap != null) {
					subbean.sendMessageString("サブオプションサービス契約ステータス", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("sbop_svc_kei_stat"));
				} else {
					subbean.sendMessageString("サブオプションサービス契約ステータス", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// サブオプションサービス契約一意照会リスト.サブオプションサービスコード ← サブオプションサービス契約一意照会マップ.サブオプションサービス契約一意照会明細.サブオプションサービスコード
				if (childMap != null) {
					subbean.sendMessageString("サブオプションサービスコード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("sbop_svc_cd"));
				} else {
					subbean.sendMessageString("サブオプションサービスコード", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// サブオプションサービス契約一意照会リスト.サブオプションサービスコード名称 ← サブオプションサービス契約一意照会マップ.サブオプションサービス契約一意照会明細.サブオプションサービスコード名称
				if (childMap != null) {
					subbean.sendMessageString("サブオプションサービスコード名称", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("sbop_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());
				}
				
				// IT2-2013-0000033 2013/02/01 START
				// サブオプションサービス契約一意照会リスト.表示用サービス提供開始年月日 ← サブオプションサービス契約一意照会マップ.サブオプションサービス契約一意照会明細.表示用サービス提供開始年月日
				if (childMap != null) {
					subbean.sendMessageString("表示用サービス提供開始年月日", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("dsp_svctk_staymd"));
				} else {
					subbean.sendMessageString("表示用サービス提供開始年月日", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// IT2-2013-0000033 2013/02/01 END
				
				// サブオプションサービス契約一意照会リスト.サービス終了年月日 ← サブオプションサービス契約一意照会マップ.サブオプションサービス契約一意照会明細.サービス終了年月日
				if (childMap != null) {
					subbean.sendMessageString("サービス終了年月日", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("svc_endymd"));
				} else {
					subbean.sendMessageString("サービス終了年月日", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// サブオプションサービス契約一意照会リスト.世代登録年月日時分秒 ← サブオプションサービス契約一意照会マップ.サブオプションサービス契約一意照会明細.世代登録年月日時分秒
				if (childMap != null) {
					subbean.sendMessageString("世代登録年月日時分秒", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("gene_add_dtm"));
				} else {
					subbean.sendMessageString("世代登録年月日時分秒", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// サブオプションサービス契約一意照会リスト.更新年月日時分秒 ← サブオプションサービス契約一意照会マップ.サブオプションサービス契約一意照会明細.最終更新年月日時分秒
				if (childMap != null) {
					subbean.sendMessageString("更新年月日時分秒", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("last_upd_dtm"));
				} else {
					subbean.sendMessageString("更新年月日時分秒", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
			}
		}


		return bean;
	}

	/**
	 * 下りマッピング
	 * @param bean　[0]：電話オプションサービス契約更新
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public OneStopDataBeanAccess[] getKKSV036904SC(OneStopDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("KKSV036904SC")){
			parentMap = (HashMap)outputMap.get("KKSV036904SC");
		}

		ArrayList childList = null;
		

		OneStopDataBeanAccessArray listKKSV036904SC_sbop_svc_kei_list_EKK0401B001CBSMsg1List = bean[0].getDataBeanArray("サブオプションサービス契約一意照会リスト");
		childList = null;
		if(listKKSV036904SC_sbop_svc_kei_list_EKK0401B001CBSMsg1List != null && parentMap != null && parentMap.containsKey("EKK0401B001CBSMsg1List")){
			childList = (ArrayList)parentMap.get("EKK0401B001CBSMsg1List");

			for(int i = 0; i < childList.size(); i++){
				OneStopDataBeanAccess subbean = null;
				if(listKKSV036904SC_sbop_svc_kei_list_EKK0401B001CBSMsg1List.getCount() -1 >= i){
					subbean = listKKSV036904SC_sbop_svc_kei_list_EKK0401B001CBSMsg1List.getDataBean(i);
				}else{
					subbean = listKKSV036904SC_sbop_svc_kei_list_EKK0401B001CBSMsg1List.addDataBean();
				}
				HashMap childMap = (HashMap)childList.get(i);
				if (subbean == null) {
					continue;
				}
			
				// サブオプションサービス契約一意照会リスト.サブオプションサービス契約ステータス ← サブオプションサービス契約一覧照会マップ.サブオプションサービス契約一覧照会明細.サブオプションサービス契約ステータス
				if (childMap != null) {
					subbean.sendMessageString("サブオプションサービス契約ステータス", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("sbop_svc_kei_stat"));
				} else {
					subbean.sendMessageString("サブオプションサービス契約ステータス", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
			}
		}


		return bean;
	}

	/**
	 * 下りマッピング
	 * @param bean　[0]：電話オプションサービス契約更新
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public OneStopDataBeanAccess[] getKKSV036905SC(OneStopDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("KKSV036905SC")){
			parentMap = (HashMap)outputMap.get("KKSV036905SC");
		}

		ArrayList childList = null;
		

		OneStopDataBeanAccessArray listKKSV036905SC_op_svc_list_EKK0821A010CBSMsg1List = bean[0].getDataBeanArray("オプションサービス一意照会リスト");
		childList = null;
		if(listKKSV036905SC_op_svc_list_EKK0821A010CBSMsg1List != null && parentMap != null && parentMap.containsKey("EKK0821A010CBSMsg1List")){
			childList = (ArrayList)parentMap.get("EKK0821A010CBSMsg1List");

			for(int i = 0; i < childList.size(); i++){
				OneStopDataBeanAccess subbean = null;
				if(listKKSV036905SC_op_svc_list_EKK0821A010CBSMsg1List.getCount() -1 >= i){
					subbean = listKKSV036905SC_op_svc_list_EKK0821A010CBSMsg1List.getDataBean(i);
				}else{
					subbean = listKKSV036905SC_op_svc_list_EKK0821A010CBSMsg1List.addDataBean();
				}
				HashMap childMap = (HashMap)childList.get(i);
				if (subbean == null) {
					continue;
				}
			
				// オプションサービス一意照会リスト.回復可能期間 ← オプションサービス一意照会マップ.オプションサービス一意照会明細.回復可能期間
				if (childMap != null) {
					subbean.sendMessageString("回復可能期間", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("kaihk_psb_prd"));
				} else {
					subbean.sendMessageString("回復可能期間", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// オプションサービス一意照会リスト.予約可能期間 ← オプションサービス一意照会マップ.オプションサービス一意照会明細.予約可能期間
				if (childMap != null) {
					subbean.sendMessageString("予約可能期間", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("rsv_psb_prd"));
				} else {
					subbean.sendMessageString("予約可能期間", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
			}
		}


		return bean;
	}

	/**
	 * 下りマッピング
	 * @param bean　[0]：電話オプションサービス契約更新
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public OneStopDataBeanAccess[] getKKSV036906SC(OneStopDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("KKSV036906SC")){
			parentMap = (HashMap)outputMap.get("KKSV036906SC");
		}

		ArrayList childList = null;
		

		OneStopDataBeanAccessArray listKKSV036906SC_cust_list_ECK0011A010CBSMsg1List = bean[0].getDataBeanArray("お客様一意照会リスト");
		childList = null;
		if(listKKSV036906SC_cust_list_ECK0011A010CBSMsg1List != null && parentMap != null && parentMap.containsKey("ECK0011A010CBSMsg1List")){
			childList = (ArrayList)parentMap.get("ECK0011A010CBSMsg1List");

			for(int i = 0; i < childList.size(); i++){
				OneStopDataBeanAccess subbean = null;
				if(listKKSV036906SC_cust_list_ECK0011A010CBSMsg1List.getCount() -1 >= i){
					subbean = listKKSV036906SC_cust_list_ECK0011A010CBSMsg1List.getDataBean(i);
				}else{
					subbean = listKKSV036906SC_cust_list_ECK0011A010CBSMsg1List.addDataBean();
				}
				HashMap childMap = (HashMap)childList.get(i);
				if (subbean == null) {
					continue;
				}
			
				// お客様一意照会リスト.お客様ステータス ← お客様一意照会マップ.お客様一意照会明細.お客様ステータス
				if (childMap != null) {
					subbean.sendMessageString("お客様ステータス", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("cust_stat"));
				} else {
					subbean.sendMessageString("お客様ステータス", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
			}
		}


		return bean;
	}

	/**
	 * 下りマッピング
	 * @param bean　[0]：電話オプションサービス契約更新
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public OneStopDataBeanAccess[] getKKSV036907SC(OneStopDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("KKSV036907SC")){
			parentMap = (HashMap)outputMap.get("KKSV036907SC");
		}

		ArrayList childList = null;
		

		OneStopDataBeanAccessArray svc_kei_ucwk_list = bean[0].getDataBeanArray("サービス契約内訳リスト");
		childList = null;
		if(svc_kei_ucwk_list != null && parentMap != null && parentMap.containsKey("EKK0161A010CBSMsg1List")){
			childList = (ArrayList)parentMap.get("EKK0161A010CBSMsg1List");

			for(int i = 0; i < childList.size(); i++){
				OneStopDataBeanAccess subbean = null;
				if(svc_kei_ucwk_list.getCount() -1 >= i){
					subbean = svc_kei_ucwk_list.getDataBean(i);
				}else{
					subbean = svc_kei_ucwk_list.addDataBean();
				}
				HashMap childMap = (HashMap)childList.get(i);
				if (subbean == null) {
					continue;
				}
			
				// サービス契約内訳リスト.サービス契約内訳番号 ← サービス契約内訳一意照会マップ.サービス契約内訳一意照会明細.サービス契約内訳番号
				if (childMap != null) {
					subbean.sendMessageString("サービス契約内訳番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("svc_kei_ucwk_no"));
				} else {
					subbean.sendMessageString("サービス契約内訳番号", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// サービス契約内訳リスト.世代登録年月日時分秒 ← サービス契約内訳一意照会マップ.サービス契約内訳一意照会明細.世代登録年月日時分秒
				if (childMap != null) {
					subbean.sendMessageString("世代登録年月日時分秒", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("gene_add_dtm"));
				} else {
					subbean.sendMessageString("世代登録年月日時分秒", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
			}
		}


		return bean;
	}
	
	/**
	 * 下りマッピング
	 * @param bean　[0]：電話オプションサービス契約更新
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public OneStopDataBeanAccess[] getKKSV036908SC(OneStopDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("KKSV036908SC")){
			parentMap = (HashMap)outputMap.get("KKSV036908SC");
		}

		ArrayList childList = null;
		

		OneStopDataBeanAccessArray listKKSV036908SC_op_svc_tel_list_EKK0371A010CBSMsg1List = bean[0].getDataBeanArray("オプションサービス契約＜電話＞一意照会リスト");
		childList = null;
		if(listKKSV036908SC_op_svc_tel_list_EKK0371A010CBSMsg1List != null && parentMap != null && parentMap.containsKey("EKK0371A010CBSMsg1List")){
			childList = (ArrayList)parentMap.get("EKK0371A010CBSMsg1List");

			for(int i = 0; i < childList.size(); i++){
				OneStopDataBeanAccess subbean = null;
				if(listKKSV036908SC_op_svc_tel_list_EKK0371A010CBSMsg1List.getCount() -1 >= i){
					subbean = listKKSV036908SC_op_svc_tel_list_EKK0371A010CBSMsg1List.getDataBean(i);
				}else{
					subbean = listKKSV036908SC_op_svc_tel_list_EKK0371A010CBSMsg1List.addDataBean();
				}
				HashMap childMap = (HashMap)childList.get(i);
				if (subbean == null) {
					continue;
				}
			
				// オプションサービス契約＜電話＞一意照会リスト.通話料指定額到達通知指定金額 ← オプションサービス契約＜電話＞一意照会マップ.オプションサービス契約＜電話＞一意照会明細.通話料指定額到達通知指定金額
				if (childMap != null) {
					subbean.sendMessageString("通話料指定額到達通知指定金額", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("twryo_stiam_ttu_tchi_stiam"));
				} else {
					subbean.sendMessageString("通話料指定額到達通知指定金額", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
			}
		}


		return bean;
	}

	/**
	 * 下りマッピング
	 * @param bean　[0]：電話オプションサービス契約更新
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public OneStopDataBeanAccess[] getKKSV036909SC(OneStopDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("KKSV036909SC")){
			parentMap = (HashMap)outputMap.get("KKSV036909SC");
		}

		ArrayList childList = null;
		

		OneStopDataBeanAccessArray listKKSV036909SC_ezm0321a010cbsmsg1list_EZM0321A010CBSMsg1List = bean[0].getDataBeanArray("通知指定額上限明細");
		childList = null;
		if(listKKSV036909SC_ezm0321a010cbsmsg1list_EZM0321A010CBSMsg1List != null && parentMap != null && parentMap.containsKey("EZM0321A010CBSMsg1List")){
			childList = (ArrayList)parentMap.get("EZM0321A010CBSMsg1List");

			for(int i = 0; i < childList.size(); i++){
				OneStopDataBeanAccess subbean = null;
				if(listKKSV036909SC_ezm0321a010cbsmsg1list_EZM0321A010CBSMsg1List.getCount() -1 >= i){
					subbean = listKKSV036909SC_ezm0321a010cbsmsg1list_EZM0321A010CBSMsg1List.getDataBean(i);
				}else{
					subbean = listKKSV036909SC_ezm0321a010cbsmsg1list_EZM0321A010CBSMsg1List.addDataBean();
				}
				HashMap childMap = (HashMap)childList.get(i);
				if (subbean == null) {
					continue;
				}
			
				// 通知指定額上限明細.通知指定額上限 ← 業務パラメータ管理一意照会（通知指定額上限用）マップ.業務パラメータ管理一意照会明細.業務パラメータ設定値
				if (childMap != null) {
					subbean.sendMessageString("通知指定額上限", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("work_param_sette_value"));
				} else {
					subbean.sendMessageString("通知指定額上限", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
			}
		}


		return bean;
	}

	/**
	 * 下りマッピング
	 * @param bean　[0]：電話オプションサービス契約更新
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public OneStopDataBeanAccess[] getKKSV036910SC(OneStopDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("KKSV036910SC")){
			parentMap = (HashMap)outputMap.get("KKSV036910SC");
		}

		ArrayList childList = null;
		

		OneStopDataBeanAccessArray listKKSV036910SC_ezm0321a010cbsmsg2list_EZM0321A010CBSMsg1List = bean[0].getDataBeanArray("通知指定額下限明細");
		childList = null;
		if(listKKSV036910SC_ezm0321a010cbsmsg2list_EZM0321A010CBSMsg1List != null && parentMap != null && parentMap.containsKey("EZM0321A010CBSMsg1List")){
			childList = (ArrayList)parentMap.get("EZM0321A010CBSMsg1List");

			for(int i = 0; i < childList.size(); i++){
				OneStopDataBeanAccess subbean = null;
				if(listKKSV036910SC_ezm0321a010cbsmsg2list_EZM0321A010CBSMsg1List.getCount() -1 >= i){
					subbean = listKKSV036910SC_ezm0321a010cbsmsg2list_EZM0321A010CBSMsg1List.getDataBean(i);
				}else{
					subbean = listKKSV036910SC_ezm0321a010cbsmsg2list_EZM0321A010CBSMsg1List.addDataBean();
				}
				HashMap childMap = (HashMap)childList.get(i);
				if (subbean == null) {
					continue;
				}
			
				// 通知指定額下限明細.通知指定額下限 ← 業務パラメータ管理一意照会（通知指定額下限用）マップ.業務パラメータ管理一意照会明細.業務パラメータ設定値
				if (childMap != null) {
					subbean.sendMessageString("通知指定額下限", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("work_param_sette_value"));
				} else {
					subbean.sendMessageString("通知指定額下限", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
			}
		}


		return bean;
	}

	/**
	 * 下りマッピング
	 * @param bean　[0]：電話オプションサービス契約更新
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public OneStopDataBeanAccess[] getKKSV036911SC(OneStopDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("KKSV036911SC")){
			parentMap = (HashMap)outputMap.get("KKSV036911SC");
		}

		ArrayList childList = null;
		

		OneStopDataBeanAccessArray listKKSV036911SC_kakin_list_EKK0321B002CBSMsg1List = bean[0].getDataBeanArray("課金先リスト");
		childList = null;
		if(listKKSV036911SC_kakin_list_EKK0321B002CBSMsg1List != null && parentMap != null && parentMap.containsKey("EKK0321B002CBSMsg1List")){
			childList = (ArrayList)parentMap.get("EKK0321B002CBSMsg1List");

			for(int i = 0; i < childList.size(); i++){
				OneStopDataBeanAccess subbean = null;
				if(listKKSV036911SC_kakin_list_EKK0321B002CBSMsg1List.getCount() -1 >= i){
					subbean = listKKSV036911SC_kakin_list_EKK0321B002CBSMsg1List.getDataBean(i);
				}else{
					subbean = listKKSV036911SC_kakin_list_EKK0321B002CBSMsg1List.addDataBean();
				}
				HashMap childMap = (HashMap)childList.get(i);
				if (subbean == null) {
					continue;
				}
			
				// 課金先リスト.請求契約番号 ← 課金先一覧照会マップ.課金先一覧照会明細.請求契約番号
				if (childMap != null) {
					subbean.sendMessageString("請求契約番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("seiky_kei_no"));
				} else {
					subbean.sendMessageString("請求契約番号", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
			}
		}


		return bean;
	}
	//IT1-2014-0000122 ADD START
	/**
	 * 下りマッピング
	 * @param bean　[0]：電話オプションサービス契約更新
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public OneStopDataBeanAccess[] getKKSV036913SC(OneStopDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("KKSV036913SC")){
			parentMap = (HashMap)outputMap.get("KKSV036913SC");
		}

		ArrayList childList = null;
		

		OneStopDataBeanAccessArray listKKSV036913SC_op_svc_kei_list_EKK0351B002CBSMsg1List = bean[0].getDataBeanArray("パック判定用オプションサービス契約一覧照会リスト");
		childList = null;
		if(listKKSV036913SC_op_svc_kei_list_EKK0351B002CBSMsg1List != null && parentMap != null && parentMap.containsKey("EKK0351B002CBSMsg1List")){
			childList = (ArrayList)parentMap.get("EKK0351B002CBSMsg1List");

			for(int i = 0; i < childList.size(); i++){
				OneStopDataBeanAccess subbean = null;
				if(listKKSV036913SC_op_svc_kei_list_EKK0351B002CBSMsg1List.getCount() -1 >= i){
					subbean = listKKSV036913SC_op_svc_kei_list_EKK0351B002CBSMsg1List.getDataBean(i);
				}else{
					subbean = listKKSV036913SC_op_svc_kei_list_EKK0351B002CBSMsg1List.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("pcrs_cd"));
				} else {
					subbean.sendMessageString("料金コースコード", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// オプションサービス契約＜電話＞明細.料金プランコード ← オプションサービス契約＜電話＞一覧照会（サービス契約内訳番号）マップ.オプションサービス契約＜電話＞明細.料金プランコード
				if (childMap != null) {
					subbean.sendMessageString("料金プランコード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("pplan_cd"));
				} else {
					subbean.sendMessageString("料金プランコード", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// オプションサービス契約.サブオプションサービス契約番号 ← オプションサービス契約一覧照会マップ.オプションサービス契約一覧照会（サービス契約番号）明細.サブオプションサービス契約番号
				if (childMap != null) {
					subbean.sendMessageString("サブオプションサービス契約番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("sbop_svc_kei_no"));
				} else {
					subbean.sendMessageString("サブオプションサービス契約番号", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// オプションサービス契約.サブオプションサービスコード ← オプションサービス契約一覧照会マップ.オプションサービス契約一覧照会（サービス契約番号）明細.サブオプションサービスコード
				if (childMap != null) {
					subbean.sendMessageString("サブオプションサービスコード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("sbop_svc_cd"));
				} else {
					subbean.sendMessageString("サブオプションサービスコード", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// オプションサービス契約.サブオプションサービスコード ← オプションサービス契約一覧照会マップ.オプションサービス契約一覧照会（サービス契約番号）明細.利用終了予定年月日
				if (childMap != null) {
					subbean.sendMessageString("利用終了予定日", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("use_end_rsymd"));
				} else {
					subbean.sendMessageString("利用終了予定日", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				
				// オプションサービス契約.サービス開始年月日 ← オプションサービス契約一覧照会マップ.オプションサービス契約一覧照会（サービス契約番号）明細.表示用サービス提供開始年月日
				if (childMap != null) {
					subbean.sendMessageString("利用開始日", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("dsp_svctk_staymd"));
				} else {
					subbean.sendMessageString("利用開始日", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
// ▽▽▽ ANK-3754-00-00 ADD START
				
				// オプションの開始／解約予約を追加情報として設定する（サブオプションは無視する？）

				// 初期化
				subbean.sendMessageString("開始予約日", X31CWebConst.DATABEAN_SET_VALUE, new String());
				subbean.sendMessageString("解約予約日", X31CWebConst.DATABEAN_SET_VALUE, new String());

				ArrayList<HashMap<String, Object>> rsvList = getIdoRsvList(outputMap);
				for (HashMap<String, Object> rsvItem : rsvList)
				{
					// 同一オプション契約番号かつ、サブオプション番号が未設定の場合
					if (childMap.get("op_svc_kei_no").equals(rsvItem.get("op_svc_kei_no"))&& JKKStringUtil.isNullBlank((String)rsvItem.get("sbop_svc_kei_no")))
					{
						// 有効な予約のみ対応する
						Object rsvStatCd = rsvItem.get("ido_rsv_stat_cd");
						if ("00".equals(rsvStatCd) || "03".equals(rsvStatCd))
						{
							Object rsvDtlCd = rsvItem.get("ido_rsv_dtl_cd");
							// 異動予約詳細が「オプション開始」
							if ("014".equals(rsvDtlCd))
							{
								subbean.sendMessageString("開始予約日", X31CWebConst.DATABEAN_SET_VALUE, (String)rsvItem.get("rsv_aply_ymd"));
							}
							// 異動予約詳細が「オプション解約」
							else if ("016".equals(rsvDtlCd))
							{
								subbean.sendMessageString("解約予約日", X31CWebConst.DATABEAN_SET_VALUE, (String)rsvItem.get("rsv_aply_ymd"));
							}
						}
					}
				}
// △△△ ANK-3754-00-00 ADD END
			}
		}


		return bean;
	}
	/**
	 * 下りマッピング
	 * @param bean　[0]：割引サービス構成一覧照会(割引タイプコード)
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public OneStopDataBeanAccess[] getKKSV036915SC(OneStopDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("KKSV036915SC")){
			parentMap = (HashMap)outputMap.get("KKSV036915SC");
		}

		ArrayList childList = null;


		OneStopDataBeanAccessArray listKKSV036915SC_wrib_svc_kousei_list_EKK2071B101CBSMsg1List = bean[0].getDataBeanArray("割引サービス構成一覧照会明細(割引タイプコード)");
		childList = null;
		if(listKKSV036915SC_wrib_svc_kousei_list_EKK2071B101CBSMsg1List != null && parentMap != null && parentMap.containsKey("EKK2071B101CBSMsg1List")){
			childList = (ArrayList)parentMap.get("EKK2071B101CBSMsg1List");

			for(int i = 0; i < childList.size(); i++){
				OneStopDataBeanAccess subbean = null;
				if(listKKSV036915SC_wrib_svc_kousei_list_EKK2071B101CBSMsg1List.getCount() -1 >= i){
					subbean = listKKSV036915SC_wrib_svc_kousei_list_EKK2071B101CBSMsg1List.getDataBean(i);
				}else{
					subbean = listKKSV036915SC_wrib_svc_kousei_list_EKK2071B101CBSMsg1List.addDataBean();
				}
				HashMap childMap = (HashMap)childList.get(i);
				if (subbean == null) {
					continue;
				}
				
				// // 割引サービス契約一意照会マップ.割引サービス構成一覧照会(割引タイプコード)2.割引サービスコード ← 割引サービス構成一覧照会(割引タイプコード)2.割引サービスコード
				if (childMap != null) {
					subbean.sendMessageString("割引サービスコード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("wrib_svc_cd"));
				} else {
					subbean.sendMessageString("割引サービスコード", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				
				// // 割引サービス契約一意照会マップ.割引サービス構成一覧照会(割引タイプコード)2.割引サービス契約ステータス名称 ← 割引サービス構成一覧照会(割引タイプコード)2.料金グループコード
				if (childMap != null) {
					subbean.sendMessageString("料金グループコード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("wrib_svc_kei_stat_nm"));
				} else {
					subbean.sendMessageString("料金グループコード", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				
				
				// // 割引サービス契約一意照会マップ.割引サービス構成一覧照会(割引タイプコード)2.割引サービス契約ステータス ← 割引サービス構成一覧照会(割引タイプコード)2.料金コースコード
				if (childMap != null) {
					subbean.sendMessageString("料金コースコード ", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("prc_cd"));
				} else {
					subbean.sendMessageString("料金コースコード ", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				
				// // 割引サービス契約一意照会マップ.割引サービス構成一覧照会(割引タイプコード)2.割引サービス契約ステータス ← 割引サービス構成一覧照会(割引タイプコード)2.プランコード
				if (childMap != null) {
					subbean.sendMessageString("料金プランコード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("pplan_cd"));
				} else {
					subbean.sendMessageString("料金プランコード", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				
				// // 割引サービス契約一意照会マップ.割引サービス構成一覧照会(割引タイプコード)2.申込起算年月日 ← 割引サービス構成一覧照会(割引タイプコード)2.オプションサービスコード
				if (childMap != null) {
					subbean.sendMessageString("オプションサービスコード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("op_svc_cd"));
				} else {
					subbean.sendMessageString("オプションサービスコード", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// // 割引サービス契約一意照会マップ.割引サービス構成一覧照会(割引タイプコード)2.サブオプションサービスコード ← 割引サービス構成一覧照会(割引タイプコード)2.サブオプションサービスコード
				if (childMap != null) {
					subbean.sendMessageString("サブオプションサービスコード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("sbop_svc_cd"));
				} else {
					subbean.sendMessageString("サブオプションサービスコード", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}	
			}
		}
		return bean;
	}
	//IT1-2014-0000122 ADD END
	//IT1-2014-0000131 ADD START
	/**
	 * 下りマッピング
	 * @param bean　[0]：サービス契約情報更新（ｅｏ光電話）
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public OneStopDataBeanAccess[] getKKSV036917CC(OneStopDataBeanAccess[] bean, HashMap outputMap)
	{
		HashMap parentMap = null;
		if(outputMap.containsKey("KKSV036917CC")){
			parentMap = (HashMap)outputMap.get("KKSV036917CC");
		}
		
		ArrayList childList = null;
		
		if (parentMap != null)
		{
			// お得チェックエラーフラグ
			if ((String)parentMap.get("otoku_chk_err_flg") != null && !"".equals((String)parentMap.get("otoku_chk_err_flg")))
			{
				bean[0].sendMessageString(KKW02519SFConst.OTOKU_CHK_ERR_FLG, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("otoku_chk_err_flg"));
			} else {
				bean[0].sendMessageString(KKW02519SFConst.OTOKU_CHK_ERR_FLG, X31CWebConst.DATABEAN_SET_VALUE, new String());
			}
			//IT1-2014-0000155 水平展開対応 ADD START
			// 未来パック存在フラグ
			if ((String)parentMap.get("pack_mirai_flg") != null && !"".equals((String)parentMap.get("pack_mirai_flg")))
			{
				bean[0].sendMessageString(KKW02519SFConst.PACK_MIRAI_FLG, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("pack_mirai_flg"));
			} else {
				bean[0].sendMessageString(KKW02519SFConst.PACK_MIRAI_FLG, X31CWebConst.DATABEAN_SET_VALUE, new String());
			}
			//IT1-2014-0000155 水平展開対応 ADD END
		}
// ANK-3754-00-00 ADD START
		// お得チェック割引サービスコード
		if ((String)parentMap.get("wrib_svc_cd") != null && !"".equals((String)parentMap.get("wrib_svc_cd")))
		{
			bean[0].sendMessageString(KKW02519SFConst.OTOKU_WRIB_SVC_CD, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("wrib_svc_cd"));
		} else {
			bean[0].sendMessageString(KKW02519SFConst.OTOKU_WRIB_SVC_CD, X31CWebConst.DATABEAN_SET_VALUE, new String());
		}
//ANK-3754-00-00 ADD END
		
		return bean;
	}
	//IT1-2014-0000131 ADD END
// ANK-2694-00-00 2015/10/07 ADD END
	// ANK-3754-00-00 ADD START

	/**
	 * 異動予約一覧照会明細を返す
	 * @param outputMap
	 * @return
	 */
	private ArrayList<HashMap<String, Object>> getIdoRsvList(HashMap outputMap)
	{
		HashMap parentMap = new HashMap();
		if(outputMap.containsKey("KKSV036919SC")){
			parentMap = (HashMap)outputMap.get("KKSV036919SC");
		}
		
		// 異動予約一覧照会明細を返す
		ArrayList<HashMap<String, Object>> rsvList = (ArrayList<HashMap<String, Object>>)parentMap.get("EKK1681B001CBSMsg1List");
		if (rsvList == null)
		{
			rsvList = new ArrayList<HashMap<String, Object>>();
		}
		
		return rsvList;

	}
	
	/**
	 * 下りマッピング
	 * @param bean　[0]：サービス対象機器提供サービス契約一覧照会
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getKKSV036920SC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{
		
		HashMap<String, Object> parentMap = null;
		if(outputMap.containsKey("KKSV036920SC")){
			parentMap = (HashMap<String, Object>)outputMap.get("KKSV036920SC");
		}

		ArrayList childList = null;

		// 初期化
		bean[0].sendMessageString(KKW02519SFConst.TAKINORT_KEI_UM, X31CWebConst.DATABEAN_SET_VALUE, new String());

		childList = null;
		if(parentMap != null && parentMap.containsKey("EKK0341B022CBSMsg1List")){
			childList = (ArrayList)parentMap.get("EKK0341B022CBSMsg1List");

			for(int i = 0; i < childList.size(); i++){
				HashMap childMap = (HashMap)childList.get(i);
				// ANK-4315-00-00 MOD START
				//if("C024".equals(childMap.get("kktk_svc_cd")))
				if("C024".equals(childMap.get("kktk_svc_cd")) || "C025".equals(childMap.get("kktk_svc_cd")))
				// ANK-4315-00-00 MOD END
				{
					// 多機能ルータまたはHGWを持っている場合、値を設定する
					bean[0].sendMessageString(KKW02519SFConst.TAKINORT_KEI_UM, X31CWebConst.DATABEAN_SET_VALUE, "1");
				}
			}
		}
		
		return bean;
	}

	// ANK-3754-00-00 ADD END
	// ST-2020-0000018 ADD START
	/**
	 * 下りマッピング
	 * @param bean　[0]：サービス対象機器提供サービス契約一覧照会
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public OneStopDataBeanAccess[] getKKSV036920SC(OneStopDataBeanAccess[] bean, HashMap outputMap)
	{
		
		HashMap<String, Object> parentMap = null;
		if(outputMap.containsKey("KKSV036920SC")){
			parentMap = (HashMap<String, Object>)outputMap.get("KKSV036920SC");
		}

		ArrayList childList = null;

		// 初期化
		bean[0].sendMessageString(KKW02519SFConst.TAKINORT_KEI_UM, X31CWebConst.DATABEAN_SET_VALUE, new String());

		childList = null;
		if(parentMap != null && parentMap.containsKey("EKK0341B022CBSMsg1List")){
			childList = (ArrayList)parentMap.get("EKK0341B022CBSMsg1List");

			for(int i = 0; i < childList.size(); i++){
				HashMap childMap = (HashMap)childList.get(i);
				// ANK-4315-00-00 MOD START
				//if("C024".equals(childMap.get("kktk_svc_cd")))
				if("C024".equals(childMap.get("kktk_svc_cd")) || "C025".equals(childMap.get("kktk_svc_cd")))
				// ANK-4315-00-00 MOD END
				{
					// 多機能ルータまたはHGWを持っている場合、値を設定する
					bean[0].sendMessageString(KKW02519SFConst.TAKINORT_KEI_UM, X31CWebConst.DATABEAN_SET_VALUE, "1");
				}
			}
		}
		
		return bean;
	}
	// ST-2020-0000018 ADD END
}
