/*********************************************************************
*	All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名		：eo顧客基幹システム
*	モジュール名	：KKSV0078_KKSV0078OPDBMapper
*	ソースファイル名：KKSV0078_KKSV0078OPDBMapper.java
*	作成者			：FJ
*	日付			：2011年10月07日
*＜機能概要＞
*	BP（電話オプションサービス契約初期表示）へのＤ−Ｂマッピングクラスです。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v1.00.00	2011/10/07	FJ		新規作成
*	v9.00.00	2014/04/21	FJ)三村  	ANK-2056-00-00対応
*	v9.01.00	2014/05/10	FJ)三村  	IT1-2014-0000122対応
*	v9.02.00	2014/05/20	FJ)三村  	IT1-2014-0000161対応
*	v50.00.00	2020/06/09	FJ)平野  	ANK-3754-00-00対応
*	v61.00.00	2023/03/31	FJ)新井  	ANK-4315-00-00 【eo定期】 eoホームゲートウェイ導入対応
**********************************************************************/
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.constant.JKKStrConst;
import eo.web.webview.KKW00825SF.KKW00825SFConst;
import eo.web.webview.common.JKKCommonConst;

/**
 * DataBean-BPマッピングをする。
 * 
 */
public class KKSV0078_KKSV0078OPDBMapper {
	
	/**
	 * コンストラクタ
	 */
	public KKSV0078_KKSV0078OPDBMapper(){
	}
	

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：電話オプションサービス契約登録
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV007800SC(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("KKSV007800SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：電話オプションサービス契約登録
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV007801SC(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_ucwk_no", bean[0].sendMessageString("サービス契約内訳番号", X31CWebConst.DATABEAN_GET_VALUE));
		// 運用年月日 → サービス契約内訳一意照会マップ.ＫＥＹ＿予約適用年月日
		parentMap.put("key_rsv_aply_ymd", bean[0].sendMessageString("運用年月日", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("KKSV007801SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：電話オプションサービス契約登録
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV007802SC(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_ucwk_no", bean[0].sendMessageString("サービス契約内訳番号", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("KKSV007802SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：電話オプションサービス契約登録
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV007806SC(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("op_svc_cd_b024", String.valueOf("B024"));

		outputMap.put("KKSV007806SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：電話オプションサービス契約登録
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV007807SC(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("op_svc_cd_b025", String.valueOf("B025"));

		outputMap.put("KKSV007807SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：電話オプションサービス契約登録
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV007808SC(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("KKSV007808SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：電話オプションサービス契約登録
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV007811SC(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_DFLT_TWRYO_STIAM"));

		outputMap.put("KKSV007811SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：電話オプションサービス契約登録
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV007812SC(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("KKSV007812SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：電話オプションサービス契約登録
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV007813SC(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("KKSV007813SC", parentMap);
						
		return outputMap;
	}


	/**
	 * 下りマッピング
	 * @param bean　[0]：電話オプションサービス契約登録
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getKKSV007801SC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("KKSV007801SC")){
			parentMap = (HashMap)outputMap.get("KKSV007801SC");
		}

		ArrayList childList = null;
		

		X31SDataBeanAccessArray listKKSV007801SC_ekk0161a010cbsmsg1list_EKK0161A010CBSMsg1List = bean[0].getDataBeanArray("サービス契約内訳一意照会明細");
		childList = null;
		if(listKKSV007801SC_ekk0161a010cbsmsg1list_EKK0161A010CBSMsg1List != null && parentMap != null && parentMap.containsKey("EKK0161A010CBSMsg1List")){
			childList = (ArrayList)parentMap.get("EKK0161A010CBSMsg1List");

			for(int i = 0; i < childList.size(); i++){
				X31SDataBeanAccess subbean = null;
				if(listKKSV007801SC_ekk0161a010cbsmsg1list_EKK0161A010CBSMsg1List.getCount() -1 >= i){
					subbean = listKKSV007801SC_ekk0161a010cbsmsg1list_EKK0161A010CBSMsg1List.getDataBean(i);
				}else{
					subbean = listKKSV007801SC_ekk0161a010cbsmsg1list_EKK0161A010CBSMsg1List.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_stat"));
				} 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());
				}
				//IT1-2014-0000161 2014.05.20 ADD START
				//サービス契約内訳一意照会明細.サービス課金開始年月日 ← サービス契約内訳一意照会マップ.サービス契約内訳一意照会明細.サービス課金開始年月日
				if (childMap != null) {
					subbean.sendMessageString("サービス課金開始年月日", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("svc_chrg_staymd"));
				} else {
					subbean.sendMessageString("サービス課金開始年月日", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				//IT1-2014-0000161 2014.05.20 ADD END
			}
		}


		return bean;
	}

	/**
	 * 下りマッピング
	 * @param bean　[0]：電話オプションサービス契約登録
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getKKSV007802SC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("KKSV007802SC")){
			parentMap = (HashMap)outputMap.get("KKSV007802SC");
		}

		ArrayList childList = null;
		

		X31SDataBeanAccessArray listKKSV007802SC_ekk0371b001cbsmsg1list_EKK0371B001CBSMsg1List = bean[0].getDataBeanArray("オプションサービス契約＜電話＞明細");
		childList = null;
		if(listKKSV007802SC_ekk0371b001cbsmsg1list_EKK0371B001CBSMsg1List != null && parentMap != null && parentMap.containsKey("EKK0371B001CBSMsg1List")){
			childList = (ArrayList)parentMap.get("EKK0371B001CBSMsg1List");

			for(int i = 0; i < childList.size(); i++){
				X31SDataBeanAccess subbean = null;
				if(listKKSV007802SC_ekk0371b001cbsmsg1list_EKK0371B001CBSMsg1List.getCount() -1 >= i){
					subbean = listKKSV007802SC_ekk0371b001cbsmsg1list_EKK0371B001CBSMsg1List.getDataBean(i);
				}else{
					subbean = listKKSV007802SC_ekk0371b001cbsmsg1list_EKK0371B001CBSMsg1List.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("svc_use_sta_kibo_ymd"));
				} else {
					subbean.sendMessageString("サービス利用開始希望年月日", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// オプションサービス契約＜電話＞明細.予約適用年月日 ← オプションサービス契約＜電話＞一覧照会（サービス契約内訳番号）マップ.オプションサービス契約＜電話＞明細.予約適用年月日
				if (childMap != null) {
					subbean.sendMessageString("予約適用年月日", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("rsv_aply_ymd"));
				} 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("svc_endymd"));
				} else {
					subbean.sendMessageString("サービス終了年月日", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// オプションサービス契約＜電話＞明細.通話料指定額到達通知指定金額 ← オプションサービス契約＜電話＞一覧照会（サービス契約内訳番号）マップ.オプションサービス契約＜電話＞明細.通話料指定額到達通知指定金額
				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());
				}
				// オプションサービス契約＜電話＞明細.更新年月日時分秒 ← オプションサービス契約＜電話＞一覧照会（サービス契約内訳番号）マップ.オプションサービス契約＜電話＞明細.更新年月日時分秒（オプションサービス契約＜電話＞）
				if (childMap != null) {
					subbean.sendMessageString("更新年月日時分秒", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("kk0371_upd_dtm"));
				} else {
					subbean.sendMessageString("更新年月日時分秒", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				//↓↓↓2012-07-25追加　ST2-2012-0001384対応（SOD発行処理用）↓↓↓
				// 世代登録年月日時分秒（オプションサービス契約）
				if (null != childMap) {
					subbean.sendMessageString(KKW00825SFConst.KK0351_GENE_ADD_DTM_05, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("kk0351_gene_add_dtm"));
				} else {
					subbean.sendMessageString(KKW00825SFConst.KK0351_GENE_ADD_DTM_05, X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				//↑↑↑2012-07-25追加　ST2-2012-0001384対応（SOD発行処理用）↑↑↑
			}
		}


		return bean;
	}

	/**
	 * 下りマッピング
	 * @param bean　[0]：電話オプションサービス契約登録
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getKKSV007803SC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("KKSV007803SC")){
			parentMap = (HashMap)outputMap.get("KKSV007803SC");
		}

		ArrayList childList = null;
		

		X31SDataBeanAccessArray listKKSV007803SC_b024_ekk0401b001cbsmsg1list_EKK0401B001CBSMsg1List = bean[0].getDataBeanArray("Ｂ０２４サブオプションサービス契約一覧照会明細");
		childList = null;
		if(listKKSV007803SC_b024_ekk0401b001cbsmsg1list_EKK0401B001CBSMsg1List != null && parentMap != null && parentMap.containsKey("EKK0401B001CBSMsg1List")){
			childList = (ArrayList)parentMap.get("EKK0401B001CBSMsg1List");

			for(int i = 0; i < childList.size(); i++){
				X31SDataBeanAccess subbean = null;
				if(listKKSV007803SC_b024_ekk0401b001cbsmsg1list_EKK0401B001CBSMsg1List.getCount() -1 >= i){
					subbean = listKKSV007803SC_b024_ekk0401b001cbsmsg1list_EKK0401B001CBSMsg1List.getDataBean(i);
				}else{
					subbean = listKKSV007803SC_b024_ekk0401b001cbsmsg1list_EKK0401B001CBSMsg1List.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("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_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("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("svc_use_sta_kibo_ymd"));
				} else {
					subbean.sendMessageString("サービス利用開始希望年月日", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// Ｂ０２４サブオプションサービス契約一覧照会明細.予約適用年月日 ← サブオプションサービス契約一覧照会（転送電話オプション）マップ.サブオプションサービス契約一覧照会明細.予約適用年月日
				if (childMap != null) {
					subbean.sendMessageString("予約適用年月日", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("rsv_aply_ymd"));
				} 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("svc_endymd"));
				} else {
					subbean.sendMessageString("サービス終了年月日", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
			}
		}


		return bean;
	}

	/**
	 * 下りマッピング
	 * @param bean　[0]：電話オプションサービス契約登録
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getKKSV007804SC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("KKSV007804SC")){
			parentMap = (HashMap)outputMap.get("KKSV007804SC");
		}

		ArrayList childList = null;
		

		X31SDataBeanAccessArray listKKSV007804SC_b025_ekk0401b001cbsmsg1list_EKK0401B001CBSMsg1List = bean[0].getDataBeanArray("Ｂ０２５サブオプションサービス契約一覧照会明細");
		childList = null;
		if(listKKSV007804SC_b025_ekk0401b001cbsmsg1list_EKK0401B001CBSMsg1List != null && parentMap != null && parentMap.containsKey("EKK0401B001CBSMsg1List")){
			childList = (ArrayList)parentMap.get("EKK0401B001CBSMsg1List");

			for(int i = 0; i < childList.size(); i++){
				X31SDataBeanAccess subbean = null;
				if(listKKSV007804SC_b025_ekk0401b001cbsmsg1list_EKK0401B001CBSMsg1List.getCount() -1 >= i){
					subbean = listKKSV007804SC_b025_ekk0401b001cbsmsg1list_EKK0401B001CBSMsg1List.getDataBean(i);
				}else{
					subbean = listKKSV007804SC_b025_ekk0401b001cbsmsg1list_EKK0401B001CBSMsg1List.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("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_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("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("svc_use_sta_kibo_ymd"));
				} else {
					subbean.sendMessageString("サービス利用開始希望年月日", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// Ｂ０２５サブオプションサービス契約一覧照会明細.予約適用年月日 ← サブオプションサービス契約一覧照会（発信者番号表示オプション）マップ.サブオプションサービス契約一覧照会明細.予約適用年月日
				if (childMap != null) {
					subbean.sendMessageString("予約適用年月日", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("rsv_aply_ymd"));
				} 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("svc_endymd"));
				} else {
					subbean.sendMessageString("サービス終了年月日", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
			}
		}


		return bean;
	}

	/**
	 * 下りマッピング
	 * @param bean　[0]：電話オプションサービス契約登録
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getKKSV007805SC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("KKSV007805SC")){
			parentMap = (HashMap)outputMap.get("KKSV007805SC");
		}

		ArrayList childList = null;
		

		X31SDataBeanAccessArray listKKSV007805SC_ekk0811b001cbsmsg1list_EKK0811B001CBSMsg1List = bean[0].getDataBeanArray("オプションサービス一覧照会明細");
		childList = null;
		if(listKKSV007805SC_ekk0811b001cbsmsg1list_EKK0811B001CBSMsg1List != null && parentMap != null && parentMap.containsKey("EKK0811B001CBSMsg1List")){
			childList = (ArrayList)parentMap.get("EKK0811B001CBSMsg1List");
  			// ANK-3754-00-00 ADD START
			//取得したリスト内を全て確認し画面で"迷惑電話拒否"が何番目にあるかを確認する
			int mwkTelCnt = 0;
			for(; mwkTelCnt < childList.size(); mwkTelCnt++){
				HashMap childMap = (HashMap)childList.get(mwkTelCnt);
				if (JKKStrConst.OP_SVC_CD_MWKTEL_KYOHI.equals(childMap.get("op_svc_cd"))){
					break;
				}
			}
			//取得したリスト内を全て確認し画面で"あんしん発着信サービス"が何番目にあるかを確認する
			int ansnCnt = 0;
			for(; ansnCnt < childList.size(); ansnCnt++){
				HashMap childMap = (HashMap)childList.get(ansnCnt);
				if (JKKStrConst.OP_SVC_CD_ANSN_HCS_SVC.equals(childMap.get("op_svc_cd"))){
					break;
				}
			}
			
			HashMap ansnMap = (HashMap)childList.get(ansnCnt);
			childList.remove(ansnCnt);

			childList.add(mwkTelCnt,ansnMap);
			
  			// ANK-3754-00-00 ADD END

			for(int i = 0; i < childList.size(); i++){
				X31SDataBeanAccess subbean = null;
				if(listKKSV007805SC_ekk0811b001cbsmsg1list_EKK0811B001CBSMsg1List.getCount() -1 >= i){
					subbean = listKKSV007805SC_ekk0811b001cbsmsg1list_EKK0811B001CBSMsg1List.getDataBean(i);
				}else{
					subbean = listKKSV007805SC_ekk0811b001cbsmsg1list_EKK0811B001CBSMsg1List.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_cd"));
				} else {
					subbean.sendMessageString("オプションサービスコード", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// オプションサービス一覧照会明細.オプションサービス名 ← 料金コース＿オプションサービス一覧照会（料金コースコード）マップ.料金コース＿オプションサービス一覧照会（料金コースコード）明細.オプションサービス名
				if (childMap != null) {
					subbean.sendMessageString("オプションサービス名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("op_svc_nm"));
				} else {
					subbean.sendMessageString("オプションサービス名", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 20131109 OM-2013-0003501 ADD START
				// オプションサービス一覧照会明細.回復可能期間 ← 料金コース＿オプションサービス一覧照会（料金コースコード）マップ.料金コース＿オプションサービス一覧照会（料金コースコード）明細.回復可能期間
				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("cancel_cl_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());
				}
				// 20131109 OM-2013-0003501 ADD END
			}
		}


		return bean;
	}

	/**
	 * 下りマッピング
	 * @param bean　[0]：電話オプションサービス契約登録
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getKKSV007806SC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("KKSV007806SC")){
			parentMap = (HashMap)outputMap.get("KKSV007806SC");
		}

		ArrayList childList = null;
		

		X31SDataBeanAccessArray listKKSV007806SC_b024_ekk0831b001cbsmsg1list_EKK0831B001CBSMsg1List = bean[0].getDataBeanArray("Ｂ０２４サブオプションサービス一覧照会明細");
		childList = null;
		if(listKKSV007806SC_b024_ekk0831b001cbsmsg1list_EKK0831B001CBSMsg1List != null && parentMap != null && parentMap.containsKey("EKK0831B001CBSMsg1List")){
			childList = (ArrayList)parentMap.get("EKK0831B001CBSMsg1List");

			for(int i = 0; i < childList.size(); i++){
				X31SDataBeanAccess subbean = null;
				if(listKKSV007806SC_b024_ekk0831b001cbsmsg1list_EKK0831B001CBSMsg1List.getCount() -1 >= i){
					subbean = listKKSV007806SC_b024_ekk0831b001cbsmsg1list_EKK0831B001CBSMsg1List.getDataBean(i);
				}else{
					subbean = listKKSV007806SC_b024_ekk0831b001cbsmsg1list_EKK0831B001CBSMsg1List.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_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"));
				} else {
					subbean.sendMessageString("サブオプションサービスコード", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// Ｂ０２４サブオプションサービス一覧照会明細.サブオプションサービス名 ← サブオプションサービス一覧照会（転送電話オプション）マップ.サブオプションサービス一覧照会明細.サブオプションサービス名
				if (childMap != null) {
					subbean.sendMessageString("サブオプションサービス名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("sbop_svc_nm"));
				} else {
					subbean.sendMessageString("サブオプションサービス名", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
			}
		}


		return bean;
	}

	/**
	 * 下りマッピング
	 * @param bean　[0]：電話オプションサービス契約登録
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getKKSV007807SC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("KKSV007807SC")){
			parentMap = (HashMap)outputMap.get("KKSV007807SC");
		}

		ArrayList childList = null;
		

		X31SDataBeanAccessArray listKKSV007807SC_b025_ekk0831b001cbsmsg1list_EKK0831B001CBSMsg1List = bean[0].getDataBeanArray("Ｂ０２５サブオプションサービス一覧照会明細");
		childList = null;
		if(listKKSV007807SC_b025_ekk0831b001cbsmsg1list_EKK0831B001CBSMsg1List != null && parentMap != null && parentMap.containsKey("EKK0831B001CBSMsg1List")){
			childList = (ArrayList)parentMap.get("EKK0831B001CBSMsg1List");

			for(int i = 0; i < childList.size(); i++){
				X31SDataBeanAccess subbean = null;
				if(listKKSV007807SC_b025_ekk0831b001cbsmsg1list_EKK0831B001CBSMsg1List.getCount() -1 >= i){
					subbean = listKKSV007807SC_b025_ekk0831b001cbsmsg1list_EKK0831B001CBSMsg1List.getDataBean(i);
				}else{
					subbean = listKKSV007807SC_b025_ekk0831b001cbsmsg1list_EKK0831B001CBSMsg1List.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_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"));
				} else {
					subbean.sendMessageString("サブオプションサービスコード", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// Ｂ０２５サブオプションサービス一覧照会明細.サブオプションサービス名 ← サブオプションサービス一覧照会（発信者番号表示オプション）マップ.サブオプションサービス一覧照会明細.サブオプションサービス名
				if (childMap != null) {
					subbean.sendMessageString("サブオプションサービス名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("sbop_svc_nm"));
				} else {
					subbean.sendMessageString("サブオプションサービス名", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
			}
		}


		return bean;
	}

	/**
	 * 下りマッピング
	 * @param bean　[0]：電話オプションサービス契約登録
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getKKSV007808SC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("KKSV007808SC")){
			parentMap = (HashMap)outputMap.get("KKSV007808SC");
		}

		ArrayList childList = null;
		

		X31SDataBeanAccessArray listKKSV007808SC_kakin_list_EKK0321B002CBSMsg1List = bean[0].getDataBeanArray("課金先リスト");
		childList = null;
		if(listKKSV007808SC_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(listKKSV007808SC_kakin_list_EKK0321B002CBSMsg1List.getCount() -1 >= i){
					subbean = listKKSV007808SC_kakin_list_EKK0321B002CBSMsg1List.getDataBean(i);
				}else{
					subbean = listKKSV007808SC_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;
	}


	/**
	 * 進捗一覧照会SCマッピング
	 * 
	 * @param bean
	 * @param outputMap
	 * @param func_code
	 * @return
	 */
	public HashMap<String, Object> setKKSV007809SC(X31SDataBeanAccess[] bean, HashMap<String, Object> outputMap, String func_code)
	{
		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		//ＫＥＹ＿サービス契約番号	key_svc_kei_no
		parentMap.put("key_svc_kei_no", bean[0].sendMessageString(KKW00825SFConst.SVC_KEI_NO, X31CWebConst.DATABEAN_GET_VALUE));

		//ＫＥＹ＿異動区分	key_ido_div
//		String ido_div =  bean[0].sendMessageString(KKW00825SFConst.IDO_DIV, X31CWebConst.DATABEAN_GET_VALUE);
		String ido_div = JKKCommonConst.IDO_DIV_VALUE_00001;
		parentMap.put("key_ido_div", ido_div);
		
		//↓↓↓2012-08-21追加　IT2-2012-0001521対応↓↓↓
		parentMap.put("key_sort_item", "0");	//進捗年月日時分秒
		
		parentMap.put("key_sort_order", "0");	//降順
		//↑↑↑2012-08-21追加　IT2-2012-0001521対応↑↑↑

		outputMap.put("KKSV007809SC", parentMap);

		return outputMap;
	}


	/**
	 * 申込明細一意照会SCマッピング
	 * 
	 * @param bean
	 * @param outputMap
	 * @param func_code ‘2’カレント
	 * @return
	 */
	public HashMap<String, Object> setKKSV007810SC(X31SDataBeanAccess[] bean, HashMap<String, Object> outputMap, String func_code)
	{
		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

//		//ＫＥＹ＿世代登録年月日時分秒	key_gene_add_dtm
//		parentMap.put("key_gene_add_dtm", bean[0].sendMessageString(KKW00825SFConst.UNYO_YMD, X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("KKSV007810SC", parentMap);

		return outputMap;
	}


	/**
	 * 進捗一覧照会SC出力マッピング
	 * 
	 * @param bean
	 * @param outputMap
	 * @return
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getKKSV007809SC(X31SDataBeanAccess[] bean, HashMap<String, Object> outputMap)
	{
		HashMap<String, Object> parentMap = null;
		if(outputMap.containsKey("KKSV007809SC")){
			parentMap = (HashMap<String, Object>)outputMap.get("KKSV007809SC");
		}

		ArrayList childList = null;

		boolean isSet = false;			//2012-08-21追加　IT2-2012-0001521対応

		childList = null;
		if(parentMap != null && parentMap.containsKey("EKK1091B001CBSMsg1List")){
			childList = (ArrayList)parentMap.get("EKK1091B001CBSMsg1List");
			if (0 < childList.size())
			{
				HashMap<?, ?> childMap = (HashMap<?, ?>)childList.get(0);
			
				//異動日時
				bean[0].sendMessageString(KKW00825SFConst.IDO_DTM, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("ido_dtm"));
				isSet = true;			//2012-08-21追加　IT2-2012-0001521対応
			}
		}
		
		//↓↓↓2012-08-21追加　IT2-2012-0001521対応↓↓↓
		if (!isSet)
		{
			bean[0].sendMessage(KKW00825SFConst.IDO_DTM, X31CWebConst.DATABEAN_CLEAR);
		}
		//↑↑↑2012-08-21追加　IT2-2012-0001521対応↑↑↑

		return bean;
	}


	/**
	 * 申込明細一意照会SC出力マッピング
	 * 
	 * @param bean
	 * @param outputMap
	 * @return
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getKKSV007810SC(X31SDataBeanAccess[] bean, HashMap<String, Object> outputMap)
	{
		HashMap<String, Object> parentMap = null;
		if(outputMap.containsKey("KKSV007810SC")){
			parentMap = (HashMap<String, Object>)outputMap.get("KKSV007810SC");
		}

		ArrayList childList = null;

		boolean isSet = false;			//2012-08-21追加　IT2-2012-0001521対応

		childList = null;
		if(parentMap != null && parentMap.containsKey("EKK0021A010CBSMsg1List")){
			childList = (ArrayList)parentMap.get("EKK0021A010CBSMsg1List");
			if (0 < childList.size())
			{
				HashMap<?, ?> childMap = (HashMap<?, ?>)childList.get(0);
			
				//申込番号
				bean[0].sendMessageString(KKW00825SFConst.MSKM_NO, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("mskm_no"));
				//申込書番号	mskmsho_no
				bean[0].sendMessageString(KKW00825SFConst.MSKMSHO_NO, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("mskmsho_no"));
				//申込年月日	mskm_ymd
				//最終更新年月日時分秒	last_upd_dtm
				bean[0].sendMessageString(KKW00825SFConst.KK0011_UPD_DTM, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("last_upd_dtm"));
				isSet = true;			//2012-08-21追加　IT2-2012-0001521対応
			}
		}
		
		//↓↓↓2012-08-21追加　IT2-2012-0001521対応↓↓↓
		if (!isSet)
		{
			bean[0].sendMessage(KKW00825SFConst.MSKM_NO, X31CWebConst.DATABEAN_CLEAR);
			bean[0].sendMessage(KKW00825SFConst.MSKMSHO_NO, X31CWebConst.DATABEAN_CLEAR);
			bean[0].sendMessage(KKW00825SFConst.KK0011_UPD_DTM, X31CWebConst.DATABEAN_CLEAR);
		}
		//↑↑↑2012-08-21追加　IT2-2012-0001521対応↑↑↑

		return bean;
	}

	/**
	 * 下りマッピング
	 * @param bean　[0]：電話オプションサービス契約登録
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getKKSV007811SC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("KKSV007811SC")){
			parentMap = (HashMap)outputMap.get("KKSV007811SC");
		}

		ArrayList childList = null;
		

		X31SDataBeanAccessArray listKKSV007809SC_ezm0321a010cbsmsg1list_EZM0321A010CBSMsg1List = bean[0].getDataBeanArray("通話料指定額到達通話指定金額明細");
		childList = null;
		if(listKKSV007809SC_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(listKKSV007809SC_ezm0321a010cbsmsg1list_EZM0321A010CBSMsg1List.getCount() -1 >= i){
					subbean = listKKSV007809SC_ezm0321a010cbsmsg1list_EZM0321A010CBSMsg1List.getDataBean(i);
				}else{
					subbean = listKKSV007809SC_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[] getKKSV007812SC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("KKSV007812SC")){
			parentMap = (HashMap)outputMap.get("KKSV007812SC");
		}

		ArrayList childList = null;
		

		X31SDataBeanAccessArray listKKSV007812SC_ezm0321a010cbsmsg2list_EZM0321A010CBSMsg1List = bean[0].getDataBeanArray("通知指定額上限明細");
		childList = null;
		if(listKKSV007812SC_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(listKKSV007812SC_ezm0321a010cbsmsg2list_EZM0321A010CBSMsg1List.getCount() -1 >= i){
					subbean = listKKSV007812SC_ezm0321a010cbsmsg2list_EZM0321A010CBSMsg1List.getDataBean(i);
				}else{
					subbean = listKKSV007812SC_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[] getKKSV007813SC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("KKSV007813SC")){
			parentMap = (HashMap)outputMap.get("KKSV007813SC");
		}

		ArrayList childList = null;
		

		X31SDataBeanAccessArray listKKSV007813SC_ezm0321a010cbsmsg3list_EZM0321A010CBSMsg1List = bean[0].getDataBeanArray("通知指定額下限明細");
		childList = null;
		if(listKKSV007813SC_ezm0321a010cbsmsg3list_EZM0321A010CBSMsg1List != null && parentMap != null && parentMap.containsKey("EZM0321A010CBSMsg1List")){
			childList = (ArrayList)parentMap.get("EZM0321A010CBSMsg1List");

			for(int i = 0; i < childList.size(); i++){
				X31SDataBeanAccess subbean = null;
				if(listKKSV007813SC_ezm0321a010cbsmsg3list_EZM0321A010CBSMsg1List.getCount() -1 >= i){
					subbean = listKKSV007813SC_ezm0321a010cbsmsg3list_EZM0321A010CBSMsg1List.getDataBean(i);
				}else{
					subbean = listKKSV007813SC_ezm0321a010cbsmsg3list_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
	 * 
	 * @since 2013.09.30 OM-2013-0002483
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getKKSV007814SC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("KKSV007814SC")){
			parentMap = (HashMap)outputMap.get("KKSV007814SC");
		}

		ArrayList childList = null;
		

		X31SDataBeanAccessArray listKKSV007814SC_ekk0781a010cbsmsg1list_EKK0781A010CBSMsg1List = bean[0].getDataBeanArray(KKW00825SFConst.KK0781LIST);
		childList = null;
		if(listKKSV007814SC_ekk0781a010cbsmsg1list_EKK0781A010CBSMsg1List != null && parentMap != null && parentMap.containsKey("EKK0781A010CBSMsg1List")){
			childList = (ArrayList)parentMap.get("EKK0781A010CBSMsg1List");

			for(int i = 0; i < childList.size(); i++){
				X31SDataBeanAccess subbean = null;
				if(listKKSV007814SC_ekk0781a010cbsmsg1list_EKK0781A010CBSMsg1List.getCount() -1 >= i){
					subbean = listKKSV007814SC_ekk0781a010cbsmsg1list_EKK0781A010CBSMsg1List.getDataBean(i);
				}else{
					subbean = listKKSV007814SC_ekk0781a010cbsmsg1list_EKK0781A010CBSMsg1List.addDataBean();
				}
				HashMap childMap = (HashMap)childList.get(i);
				if (subbean == null) {
					continue;
				}
			
				// 料金グループ一意照会明細.料金グループコード ← 料金グループ一意照会マップ.料金グループ一意照会明細.料金グループコード
				if (childMap != null) {
					subbean.sendMessageString(KKW00825SFConst.PRC_GRP_CD_15, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("prc_grp_cd"));
				} else {
					subbean.sendMessageString(KKW00825SFConst.PRC_GRP_CD_15, X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 料金グループ一意照会明細.サービスコード ← 料金グループ一意照会マップ.料金グループ一意照会明細.サービスコード
				if (childMap != null) {
					subbean.sendMessageString(KKW00825SFConst.SVC_CD_15, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("svc_cd"));
				} else {
					subbean.sendMessageString(KKW00825SFConst.SVC_CD_15, X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 料金グループ一意照会明細.回復可能期間 ← 料金グループ一意照会マップ.料金グループ一意照会明細.回復可能期間
				if (childMap != null) {
					subbean.sendMessageString(KKW00825SFConst.KAIHK_PSB_PRD_15, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("kaihk_psb_prd"));
				} else {
					subbean.sendMessageString(KKW00825SFConst.KAIHK_PSB_PRD_15, X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
			}
		}


		return bean;
	}

// ANK-2056-00-00 ADD Start
	/**
	 * 上りマッピングをする
	 * @param bean　[0]：割引サービス構成一覧照会(パック３)
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV007817SC(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_wrib_svc_cd", "W00000007");
		
		outputMap.put("KKSV007817SC", parentMap);
		
		return outputMap;
	}
	
	/**
	 * 上りマッピングをする
	 * @param bean　[0]：割引サービス構成一覧照会（パック７）
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV007818SC(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_wrib_svc_cd", "W00000008");
		outputMap.put("KKSV007818SC", parentMap);
		
		return outputMap;
	}
	// ANK-3754-00-00 ADD START
	/**
	 * 上りマッピングをする
	 * @param bean　[0]：割引サービス構成一覧照会（あんしん電話パック）
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV007819SC(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_wrib_svc_cd", "W00000023");
		outputMap.put("KKSV007819SC", parentMap);
		
		return outputMap;
	}
	
	/**
	 * 上りマッピングをする
	 * @param bean　[0]：サービス対象機器提供サービス契約一覧照会
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV007822SC(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("KKSV007822SC", parentMap);
						
		return outputMap;
	}
	// ANK-3754-00-00 ADD END	
	/**
	 * 上りマッピングをする
	 * @param bean　[0]：電話セレクトパック割CC(照会)
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV007819CC(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);
		// 処理区分("00":照会)
		parentMap.put("trn_div", "00");
		// サービス契約番号 → 電話セレクトパック割CC(照会).サービス契約番号
		parentMap.put("svc_kei_no", bean[0].sendMessageString("サービス契約番号", X31CWebConst.DATABEAN_GET_VALUE));
		// サービス契約内訳番号 → 電話セレクトパック割CC(照会).サービス契約内訳番号
		parentMap.put("svc_kei_ucwk_no", bean[0].sendMessageString("サービス契約内訳番号", X31CWebConst.DATABEAN_GET_VALUE));
		
		outputMap.put("KKSV007819CC", parentMap);
		
		return outputMap;
	}
	
	/**
	 * 下りマッピング
	 * @param bean　[0]：割引サービス構成一覧照会(パック３)
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getKKSV007817SC(X31SDataBeanAccess[] bean, HashMap outputMap){
		HashMap parentMap = null;
		if(outputMap.containsKey("KKSV007817SC")){
			parentMap = (HashMap)outputMap.get("KKSV007817SC");
		}
		ArrayList childList = null;
		
		X31SDataBeanAccessArray listKKSV007817SC = bean[0].getDataBeanArray("パック３料金プランコードリスト");
		childList = null;
		
		if(listKKSV007817SC != null && parentMap != null && parentMap.containsKey("EKK2071B101CBSMsg1List")){
			childList = (ArrayList)parentMap.get("EKK2071B101CBSMsg1List");
			for(int i = 0; i < childList.size(); i++){
				X31SDataBeanAccess subbean = null;
				if(listKKSV007817SC.getCount() -1 >= i){
					subbean = listKKSV007817SC.getDataBean(i);
				}else{
					subbean = listKKSV007817SC.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_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"));
				} else {
					subbean.sendMessageString("サブオプションサービスコード", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
			}
		}
		return bean;
	}
	
	/**
	 * 下りマッピング
	 * @param bean　[0]：割引サービス構成一覧照会(パック７)
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getKKSV007818SC(X31SDataBeanAccess[] bean, HashMap outputMap){
		HashMap parentMap = null;
		if(outputMap.containsKey("KKSV007818SC")){
			parentMap = (HashMap)outputMap.get("KKSV007818SC");
		}
		ArrayList childList = null;
		
		X31SDataBeanAccessArray listKKSV007818SC = bean[0].getDataBeanArray("パック７料金プランコードリスト");
		childList = null;
		
		if(listKKSV007818SC != null && parentMap != null && parentMap.containsKey("EKK2071B101CBSMsg1List")){
			childList = (ArrayList)parentMap.get("EKK2071B101CBSMsg1List");
			for(int i = 0; i < childList.size(); i++){
				X31SDataBeanAccess subbean = null;
				if(listKKSV007818SC.getCount() -1 >= i){
					subbean = listKKSV007818SC.getDataBean(i);
				}else{
					subbean = listKKSV007818SC.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_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"));
				} else {
					subbean.sendMessageString("サブオプションサービスコード", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				//IT1-2014-0000122 2014.05.10 START
				// パック７料金プランコードリスト.料金プランコード(お得チェック用)
				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 2014.05.10 END
			}
		}
		return bean;
	}

	// ANK-3754-00-00 ADD START
	/**
	 * 下りマッピング
	 * @param bean　[0]：割引サービス構成一覧照会(あんしん電話パック)
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getKKSV007819SC(X31SDataBeanAccess[] bean, HashMap outputMap){
		HashMap parentMap = null;
		if(outputMap.containsKey("KKSV007819SC")){
			parentMap = (HashMap)outputMap.get("KKSV007819SC");
		}
		ArrayList childList = null;
		
		X31SDataBeanAccessArray listKKSV007819SC = bean[0].getDataBeanArray("あんしん電話パック料金プランコードリスト");
		childList = null;
		
		if(listKKSV007819SC != null && parentMap != null && parentMap.containsKey("EKK2071B101CBSMsg1List")){
			childList = (ArrayList)parentMap.get("EKK2071B101CBSMsg1List");
			for(int i = 0; i < childList.size(); i++){
				X31SDataBeanAccess subbean = null;
				if(listKKSV007819SC.getCount() -1 >= i){
					subbean = listKKSV007819SC.getDataBean(i);
				}else{
					subbean = listKKSV007819SC.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_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"));
				} else {
					subbean.sendMessageString("サブオプションサービスコード", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				//IT1-2014-0000122 2014.05.10 START
				// あんしん電話パック料金プランコードリスト.料金プランコード(お得チェック用)
				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 2014.05.10 END
			}
		}
		return bean;
	}

	// ANK-3754-00-00 ADD END
	/**
	 * 下りマッピング
	 * @param bean　[0]：電話セレクトパックCC照会処理
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getKKSV007819CC(X31SDataBeanAccess[] bean, HashMap outputMap){
		HashMap parentMap = null;
		if(outputMap.containsKey("KKSV007819CC"))
		{
			parentMap = (HashMap)outputMap.get("KKSV007819CC");
		}
		ArrayList childList = null;
		
		X31SDataBeanAccessArray listKKSV007819CC = bean[0].getDataBeanArray("割引サービス契約情報リスト");
		childList = null;
		
//		if(listKKSV007819CC != null && parentMap != null && parentMap.containsKey("JKKTelSelectOpPackOperateCCCBSMsg1List"))
		if(listKKSV007819CC != null && parentMap != null && parentMap.containsKey("wrib_svc_kei_list"))
		{
//			childList = (ArrayList)parentMap.get("JKKTelSelectOpPackOperateCCCBSMsg1List");
			childList = (ArrayList)parentMap.get("wrib_svc_kei_list");
			for(int i = 0; i < childList.size(); i++){
				X31SDataBeanAccess subbean = null;
				if(listKKSV007819CC.getCount() -1 >= i){
					subbean = listKKSV007819CC.getDataBean(i);
				}else{
					subbean = listKKSV007819CC.addDataBean();
				}
				HashMap childMap = (HashMap)childList.get(i);
				if (subbean == null) {
					continue;
				}
			
				// 割引サービス契約情報リスト.割引サービス契約番号
				if (childMap != null) {
					subbean.sendMessageString("割引サービス契約番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("wrib_svc_kei_no"));
				} else {
					subbean.sendMessageString("割引サービス契約番号", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				
				// 割引サービス契約情報リスト.割引サービス契約ステータス
				if (childMap != null) {
					subbean.sendMessageString("割引サービス契約ステータス", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("wrib_svc_kei_stat"));
				} else {
					subbean.sendMessageString("割引サービス契約ステータス", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				
				// 割引サービス契約情報リスト.割引サービスコード
				if (childMap != null) {
					subbean.sendMessageString("割引サービスコード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("wrib_svc_cd"));
				} else {
					subbean.sendMessageString("割引サービスコード", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				
				// 割引サービス契約情報リスト.パック割区分
				if (childMap != null) {
					subbean.sendMessageString("パック割区分", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("pack_div"));
				} else {
					subbean.sendMessageString("パック割区分", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				
				// 割引サービス契約情報リスト.サービス利用開始希望年月日
				if (childMap != null) {
					subbean.sendMessageString("サービス利用開始希望年月日", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("svc_use_sta_kibo_ymd"));
				} else {
					subbean.sendMessageString("サービス利用開始希望年月日", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				
				// 割引サービス契約情報リスト.サービス課金開始年月日
				if (childMap != null) {
					subbean.sendMessageString("サービス課金開始年月日", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("svc_chrg_staymd"));
				} else {
					subbean.sendMessageString("サービス課金開始年月日", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				
				// 割引サービス契約情報リスト.サービス課金終了年月日
				if (childMap != null) {
					subbean.sendMessageString("サービス課金終了年月日", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("svc_chrg_endymd"));
				} else {
					subbean.sendMessageString("サービス課金終了年月日", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				
				// 割引サービス契約情報リスト.更新年月日日時分秒
				if (childMap != null) {
					subbean.sendMessageString("更新年月日日時分秒", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("upd_dtm"));
				} else {
					subbean.sendMessageString("更新年月日日時分秒", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				//IT1-2014-0000122 2014.05.10 START
				// 割引サービス契約情報リスト.予約適用年月日
				if (childMap != null) {
					subbean.sendMessageString("予約適用年月日", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("rsv_aply_ymd"));
				} else {
					subbean.sendMessageString("予約適用年月日", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				//IT1-2014-0000122 2014.05.10 END
				//IT1-2014-0000161 2014.05.20 ADD START
				// 割引サービス契約情報リスト.イベント年月日３
				if (childMap != null) {
					subbean.sendMessageString("イベント年月日３", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("event_ymd3"));
				} else {
					subbean.sendMessageString("イベント年月日３", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 割引サービス契約情報リスト.イベント年月日７
				if (childMap != null) {
					subbean.sendMessageString("イベント年月日７", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("event_ymd7"));
				} else {
					subbean.sendMessageString("イベント年月日７", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// ANK-3754-00-00 ADD START
				// 割引サービス契約情報リスト.イベント年月日あんしん電話パック
				if (childMap != null) {
					subbean.sendMessageString("イベント年月日あんしん電話パック", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("event_ymd_ansn_tel_pack"));
				} else {
					subbean.sendMessageString("イベント年月日あんしん電話パック", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// ANK-3754-00-00 ADD END
				//IT1-2014-0000161 2014.05.20 ADD END
			}
		}
		
		return bean;
	}
	// ANK-3754-00-00 ADD START
	/**
	 * 下りマッピング
	 * @param bean　[0]：異動予約一覧照会(あんしん電話パック)
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getKKSV007821SC(X31SDataBeanAccess[] bean, HashMap outputMap){
		HashMap<String, Object> parentMap = null;
		if(outputMap.containsKey("KKSV007821SC")){
			parentMap = (HashMap<String, Object>)outputMap.get("KKSV007821SC");
		}

		ArrayList childList = null;

		if(parentMap != null && parentMap.containsKey("EKK1681B001CBSMsg1List")){
			childList = (ArrayList)parentMap.get("EKK1681B001CBSMsg1List");
			if (childList != null && 0 < childList.size())
			{
				HashMap<?, ?> childMap = (HashMap<?, ?>)childList.get(0);

				String rsvAplyYmd = (String)childMap.get("rsv_aply_ymd");
				
				if(rsvAplyYmd != null && rsvAplyYmd != "")
				{
					bean[0].sendMessageString(KKW00825SFConst.HTBDSP_DSL_RSV_UM, X31CWebConst.DATABEAN_SET_VALUE, "1");
				}
				else 
				{
					bean[0].sendMessageString(KKW00825SFConst.HTBDSP_DSL_RSV_UM, X31CWebConst.DATABEAN_SET_VALUE, "0");
				}
			}
		}
		return bean;
	}

	/**
	 * 下りマッピング
	 * @param bean　[0]：サービス対象機器提供サービス契約一覧照会
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getKKSV007822SC(X31SDataBeanAccess[] bean, HashMap outputMap){
		HashMap<String, Object> parentMap = null;
		if(outputMap.containsKey("KKSV007822SC")){
			parentMap = (HashMap<String, Object>)outputMap.get("KKSV007822SC");
		}

		ArrayList childList = null;

		childList = null;
		if(parentMap != null && parentMap.containsKey("EKK0341B022CBSMsg1List")){
			childList = (ArrayList)parentMap.get("EKK0341B022CBSMsg1List");
		 	if (childList != null){
				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
					{
						bean[0].sendMessageString(KKW00825SFConst.TAKINORT_KEI_UM, X31CWebConst.DATABEAN_SET_VALUE, "1");
					}
				}
			}
		}
		
		return bean;
	}

	// ANK-3754-00-00 ADD END
// ANK-2056-00-00 ADD End
//IT1-2014-0000161 2014.05.20 DEL START
// IT1-2014-0000122 2014/05/10 START
//	/**
//	 * 上りマッピングをする
//	 * @param bean　[0]：料金スケジュール定義一覧照会
//	 * @param outputMap
//	 * @param func_code　機能コード
//	 */
//	@SuppressWarnings("unchecked")
//	public HashMap setKKSV007820SC(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);
//		// KEY_イベントコード
//		parentMap.put("key_event_cd", "03");
//		// KEY_基準年月日
//		parentMap.put("key_stdardymd", bean[0].sendMessageString("運用年月日", X31CWebConst.DATABEAN_GET_VALUE));
//		
//		outputMap.put("KKSV007820SC", parentMap);
//		
//		return outputMap;
//	}
//	
//	/**
//	 * 下りマッピング
//	 * @param bean　[0]：料金スケジュール定義一覧照会
//	 * @param outputMap
//	 */
//	@SuppressWarnings("unchecked")
//	public X31SDataBeanAccess[] getKKSV007820SC(X31SDataBeanAccess[] bean, HashMap outputMap){
//		HashMap parentMap = null;
//		if(outputMap.containsKey("KKSV007820SC")){
//			parentMap = (HashMap)outputMap.get("KKSV007820SC");
//		}
//
//		ArrayList childList = null;
//
//		
//		if(parentMap != null && parentMap.containsKey("ECH0501B010CBSMsg1List")){
//			
//			childList = (ArrayList)parentMap.get("ECH0501B010CBSMsg1List");
//			HashMap childMap = (HashMap)childList.get(0);
//			
//			// 料金スケジュール定義一覧照会マップ.サービス契約番号リスト ← 料金スケジュール定義一覧照会マップ.料金スケジュール定義一覧照会結果リスト.請求年月
//			if (childMap != null) {
//				bean[0].sendMessageString("請求年月", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("seiky_ym"));
//			} else {
//				bean[0].sendMessageString("請求年月", X31CWebConst.DATABEAN_SET_VALUE, new String());
//			}
//			
//			// 料金スケジュール定義一覧照会マップ.料金スケジュール定義＿イベント年月日 ← 料金スケジュール定義一覧照会マップ.料金スケジュール定義一覧照会結果リスト.イベント年月日
//			if (childMap != null) {
//				bean[0].sendMessageString("イベント年月日", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("event_ymd"));
//			} else {
//				bean[0].sendMessageString("イベント年月日", X31CWebConst.DATABEAN_SET_VALUE, new String());
//			}
//		}
//
//
//		return bean;
//	}
// IT1-2014-0000122 2014/05/10 END
//IT1-2014-0000161 2014.05.20 DEL END
}

