/*********************************************************************
 *	All Rights reserved,Copyright (c) K-Opticom
 **********************************************************************
 *＜プログラム内容＞
 *	システム名		：eo顧客基幹システム
 *	モジュール名	：CRSV0103_CRSV0103OPDBMapper
 *	ソースファイル名：CRSV0103_CRSV0103OPDBMapper.java
 *	作成者			：FJ
 *	日付			：2012年08月08日
 *＜機能概要＞
 *	BP（オプションサービス契約一覧照会）へのＤ−Ｂマッピングクラスです。
 *＜修正履歴＞
 *	バージョン	修正日		修正者		修正内容
 *	v1.00.00	2012/08/08	FJ			新規作成
 *	v6.00.00	2013/08/29	FJ)伊藤		OM-2013-0001210 解約予定日に利用終了予定年月日を設定するよう修正。
 *	v9.00.00	2014/06/13	FJ)伊藤		ANK-2056-01-00  【案件内部仕様変更】光電話セレクトオプションパック
 *	v15.00.00	2015/08/18	FJ)熊谷		OM-2015-0000947 ２番号目のオプションパックが１番号目に表示されている
 *
 **********************************************************************/
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.JCRStrConst;

/**
 * DataBean-BPマッピングをする。
 * 
 */
public class CRSV0103_CRSV0103OPDBMapper {
	
	/**
	 * コンストラクタ
	 */
	public CRSV0103_CRSV0103OPDBMapper(){
	}
	

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：オプションサービス契約一覧照会
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setCRSV010301SC(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_sort_item_no", eo.web.webview.common.JCRWebCommon.getConstantValue("7"));

		// 部品呼び出し → オプションサービス契約照会マップ.ＫＥＹ＿ソート区分
		parentMap.put("key_sort_kbn", eo.web.webview.common.JCRWebCommon.getConstantValue("1"));

		// null → オプションサービス契約照会マップ.ＫＥＹ＿サービス契約内訳番号
		parentMap.put("key_svc_kei_ucwk_no", null);

		// null → オプションサービス契約照会マップ.ＫＥＹ＿オプションサービスコード
		parentMap.put("key_op_svc_cd", null);

		// null → オプションサービス契約照会マップ.ＫＥＹ＿基準年月日
		parentMap.put("key_base_ymd", null);

		outputMap.put("CRSV010301SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：オプションサービス契約一覧照会
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setJKKOPNAIYOSTKUCC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code) {

		if(bean == null){
			return null;
		}

		if(bean.length != 1){
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		outputMap.put("JKKOPNAIYOSTKUCC", parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：オプションサービス契約一覧照会
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setGETSBOPSVKEIISPCC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code) {

		if(bean == null){
			return null;
		}

		if(bean.length != 1){
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		outputMap.put("GETSBOPSVKEIISPCC", parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：問合せ客情報一覧照会
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setCRSV010302SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code) {
		
		if(bean == null){
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		// 対応履歴外部接続URL一覧照会マップ.ＫＥＹ＿対応履歴外部接続URL種別コード設定
		parentMap.put("key_taiorrk_out_url_sbt_cd", JCRStrConst.CD_DIV_URL_SBT_ICS_WEB);

		outputMap.put("CRSV010302SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：オプションサービス契約一覧照会
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setCRSV010303SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code) {
		
		if(bean == null){
			return null;
		}
		
		if(bean.length != 1){
			return null;
		}


		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		// ＫＥＹ＿サービス契約番号 → サービス契約内訳＜eo光電話＞一覧照会（サービス契約番号）マップ.ＫＥＹ＿サービス契約番号
		parentMap.put("key_svc_kei_no", bean[0].sendMessageString("ＫＥＹ＿サービス契約番号", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("CRSV010303SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：オプションサービス契約一覧照会
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setTELSELECTOPPACKOPERATECC(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("svc_kei_no", bean[0].sendMessageString("ＫＥＹ＿サービス契約番号", X31CWebConst.DATABEAN_GET_VALUE));
		// 部品呼び出し → 割引サービス契約操作マップ.処理区分
		parentMap.put("trn_div", eo.web.webview.common.JCRWebCommon.getConstantValue("00"));
		// 部品呼び出し → 割引サービス契約操作マップ.ソート区分
		parentMap.put("sort_div", eo.web.webview.common.JCRWebCommon.getConstantValue("2"));

		outputMap.put("TELSELECTOPPACKOPERATECC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：オプションサービス契約一覧照会
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setCRSV010304SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code) {
		
		if(bean == null){
			return null;
		}
		
		if(bean.length != 1){
			return null;
		}


		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		outputMap.put("CRSV010304SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 下りマッピング
	 * @param bean　[0]：オプションサービス契約一覧照会
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getCRSV010301SC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("CRSV010301SC")){
			parentMap = (HashMap)outputMap.get("CRSV010301SC");
		}

		HashMap parentCCMap = null;
		if(outputMap.containsKey("GETSBOPSVKEIISPCC")){
			parentCCMap = (HashMap)outputMap.get("GETSBOPSVKEIISPCC");
		}

		ArrayList childList = null;
		ArrayList childCCList = null;
		

		X31SDataBeanAccessArray listCRSV010301SC_ekk0351b002cbsmsg1list_EKK0351B002CBSMsg1List = bean[0].getDataBeanArray("オプションサービス契約一覧照会明細");
		childList = null;
		if(listCRSV010301SC_ekk0351b002cbsmsg1list_EKK0351B002CBSMsg1List != null && parentMap != null && parentMap.containsKey("EKK0351B002CBSMsg1List")){
			childList = (ArrayList)parentMap.get("EKK0351B002CBSMsg1List");
			childCCList = (ArrayList)parentCCMap.get("EKK0411B002List");

			for(int i = 0; i < childList.size(); i++){
				X31SDataBeanAccess subbean = null;
				if(listCRSV010301SC_ekk0351b002cbsmsg1list_EKK0351B002CBSMsg1List.getCount() -1 >= i){
					subbean = listCRSV010301SC_ekk0351b002cbsmsg1list_EKK0351B002CBSMsg1List.getDataBean(i);
				}else{
					subbean = listCRSV010301SC_ekk0351b002cbsmsg1list_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_cd_nm"));
				} 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_nm"));
				} else {
					subbean.sendMessageString("利用状態", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// オプションサービス契約一覧照会明細.オプション内容 ← オプションサービス契約照会マップ.オプションサービス契約一覧照会（サービス契約番号）明細.オプションサービス内容
				if (childMap != null) {
					subbean.sendMessageString("オプション内容", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("op_svc_niy"));
				} else {
					subbean.sendMessageString("オプション内容", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// オプションサービス契約一覧照会明細.サブオプション内容 ← 部品呼び出し
				if (childMap != null) {
					subbean.sendMessageString("サブオプション内容", X31CWebConst.DATABEAN_SET_VALUE, eo.web.webview.common.JCRWebCommon.editSbopSvcNiy(childCCList, (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("svc_staymd"));
				} 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("svc_endymd"));
				} else {
					subbean.sendMessageString("利用終了日", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// オプションサービス契約一覧照会明細.オプションサービス契約番号 ← オプションサービス契約照会マップ.オプションサービス契約一覧照会（サービス契約番号）明細.オプションサービス契約番号
				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_cd"));
				} else {
					subbean.sendMessageString("オプションサービスコード", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 対応記録一覧照会明細.行スタイルクラス ← 部品呼び出し
				subbean.sendMessageString("行スタイルクラス", X31CWebConst.DATABEAN_SET_VALUE, eo.web.webview.common.JCRWebCommon.getLineStyle(i + 1));
				// 対応記録一覧照会明細.明細インデックス ← 部品呼び出し
				subbean.sendMessageString("明細インデックス", X31CWebConst.DATABEAN_SET_VALUE, eo.web.webview.common.JCRWebCommon.getConstantValue(String.valueOf(i)));
				// 対応記録一覧照会明細.行スタイルＩＤ ← 部品呼び出し
				subbean.sendMessageString("行スタイルＩＤ", X31CWebConst.DATABEAN_SET_VALUE, eo.web.webview.common.JCRWebCommon.getConstantValue("tr" + String.valueOf(i)));
			}
		}


		return bean;
	}

	/**
	 * 下りマッピング
	 * @param bean　[0]：オプションサービス契約一覧照会
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getCRSV010302SC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("CRSV010302SC")){
			parentMap = (HashMap)outputMap.get("CRSV010302SC");
		}

		ArrayList childList = null;
		

		X31SDataBeanAccessArray listCRSV010302SC_ecr0451b010cbsmsg1list_ECR0451B010CBSMsg1List = bean[0].getDataBeanArray("対応履歴外部接続ＵＲＬ一覧照会明細");
		childList = null;
		if(listCRSV010302SC_ecr0451b010cbsmsg1list_ECR0451B010CBSMsg1List != null && parentMap != null && parentMap.containsKey("ECR0451B010CBSMsg1List")){
			childList = (ArrayList)parentMap.get("ECR0451B010CBSMsg1List");

			for(int i = 0; i < childList.size(); i++){
				X31SDataBeanAccess subbean = null;
				if(listCRSV010302SC_ecr0451b010cbsmsg1list_ECR0451B010CBSMsg1List.getCount() -1 >= i){
					subbean = listCRSV010302SC_ecr0451b010cbsmsg1list_ECR0451B010CBSMsg1List.getDataBean(i);
				}else{
					subbean = listCRSV010302SC_ecr0451b010cbsmsg1list_ECR0451B010CBSMsg1List.addDataBean();
				}
				HashMap childMap = (HashMap)childList.get(i);
				if (subbean == null) {
					continue;
				}
			
				// 対応履歴外部接続ＵＲＬ一覧照会明細.対応履歴外部接続ＵＲＬ番号 ← 対応履歴外部接続URL一覧照会マップ.対応履歴外部接続URL一覧照会明細.対応履歴外部接続URL番号
				if (childMap != null) {
					subbean.sendMessageString("対応履歴外部接続ＵＲＬ番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("taiorrk_out_url_no"));
				} else {
					subbean.sendMessageString("対応履歴外部接続ＵＲＬ番号", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 対応履歴外部接続ＵＲＬ一覧照会明細.対応履歴外部接続ＵＲＬ種別コード ← 対応履歴外部接続URL一覧照会マップ.対応履歴外部接続URL一覧照会明細.対応履歴外部接続URL種別コード
				if (childMap != null) {
					subbean.sendMessageString("対応履歴外部接続ＵＲＬ種別コード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("taiorrk_out_url_sbt_cd"));
				} else {
					subbean.sendMessageString("対応履歴外部接続ＵＲＬ種別コード", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 対応履歴外部接続ＵＲＬ一覧照会明細.対応履歴外部接続ＵＲＬ種別コード名 ← 対応履歴外部接続URL一覧照会マップ.対応履歴外部接続URL一覧照会明細.対応履歴外部接続URL種別コード名
				if (childMap != null) {
					subbean.sendMessageString("対応履歴外部接続ＵＲＬ種別コード名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("taiorrk_out_url_sbt_cd_nm"));
				} else {
					subbean.sendMessageString("対応履歴外部接続ＵＲＬ種別コード名", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 対応履歴外部接続ＵＲＬ一覧照会明細.対応履歴外部接続ＵＲＬ ← 対応履歴外部接続URL一覧照会マップ.対応履歴外部接続URL一覧照会明細.対応履歴外部接続URL
				if (childMap != null) {
					subbean.sendMessageString("対応履歴外部接続ＵＲＬ", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("taiorrk_out_url"));
				} else {
					subbean.sendMessageString("対応履歴外部接続ＵＲＬ", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 対応履歴外部接続ＵＲＬ一覧照会明細.対応履歴外部接続ＵＲＬ名 ← 対応履歴外部接続URL一覧照会マップ.対応履歴外部接続URL一覧照会明細.対応履歴外部接続URL名
				if (childMap != null) {
					subbean.sendMessageString("対応履歴外部接続ＵＲＬ名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("taiorrk_out_url_nm"));
				} else {
					subbean.sendMessageString("対応履歴外部接続ＵＲＬ名", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
			}
		}


		return bean;
	}

	/**
	 * 下りマッピング
	 * @param bean　[0]：オプションサービス契約一覧照会
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getCRSV010303SC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("CRSV010303SC")){
			parentMap = (HashMap)outputMap.get("CRSV010303SC");
		}

		ArrayList childList = null;
		

		X31SDataBeanAccessArray listCRSV010303SC_wrib_svc_kei_list_EKK0191B001CBSMsg1List = bean[0].getDataBeanArray("割引サービス契約情報明細");
		childList = null;
		if(listCRSV010303SC_wrib_svc_kei_list_EKK0191B001CBSMsg1List != null && parentMap != null && parentMap.containsKey("EKK0191B001CBSMsg1List")){
			childList = (ArrayList)parentMap.get("EKK0191B001CBSMsg1List");

			for(int i = 0; i < childList.size(); i++){
				X31SDataBeanAccess subbean = null;
				if(listCRSV010303SC_wrib_svc_kei_list_EKK0191B001CBSMsg1List.getCount() -1 >= i){
					subbean = listCRSV010303SC_wrib_svc_kei_list_EKK0191B001CBSMsg1List.getDataBean(i);
				}else{
					subbean = listCRSV010303SC_wrib_svc_kei_list_EKK0191B001CBSMsg1List.addDataBean();
				}
				HashMap childMap = (HashMap)childList.get(i);
				if (subbean == null) {
					continue;
				}
			
				// 割引サービス契約情報明細.電話番号 ← サービス契約内訳＜eo光電話＞一覧照会（サービス契約番号）マップ.サービス契約内訳＜eo光電話＞一覧照会（サービス契約番号）明細.電話番号
				if (childMap != null) {
					subbean.sendMessageString("電話番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("telno"));
				} else {
					subbean.sendMessageString("電話番号", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 割引サービス契約情報明細.行スタイルクラス ← 部品呼び出し
				subbean.sendMessageString("行スタイルクラス", X31CWebConst.DATABEAN_SET_VALUE, eo.web.webview.common.JCRWebCommon.getLineStyle(i + 1));
				// 割引サービス契約情報明細.行スタイルＩＤ ← 部品呼び出し
				subbean.sendMessageString("行スタイルＩＤ", X31CWebConst.DATABEAN_SET_VALUE, eo.web.webview.common.JCRWebCommon.getConstantValue("tr" + String.valueOf(i)));
			}
		}


		return bean;
	}

	/**
	 * 下りマッピング
	 * @param bean　[0]：オプションサービス契約一覧照会
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getCRSV010304SC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("CRSV010304SC")){
			parentMap = (HashMap)outputMap.get("CRSV010304SC");
		}
		// OM-2015-0000947 2015/08/13 ADD START
		HashMap uchiwakeParentMap = null;
		
		if(outputMap.containsKey("CRSV010303SC")){
			uchiwakeParentMap = (HashMap)outputMap.get("CRSV010303SC");
		}
		ArrayList uchiwakeList = null;
		uchiwakeList = null;//
		// OM-2015-0000947 2015/08/13 ADD END

		ArrayList childList = null;
		

		X31SDataBeanAccessArray listCRSV010304SC_wrib_svc_kei_list_EKK0451A010CBSMsg1List = bean[0].getDataBeanArray("割引サービス契約情報明細");
		childList = null;
		if(listCRSV010304SC_wrib_svc_kei_list_EKK0451A010CBSMsg1List != null && parentMap != null && parentMap.containsKey("EKK0451A010CBSMsg1List")){
			childList = (ArrayList)parentMap.get("EKK0451A010CBSMsg1List");
			// OM-2015-0000947 2015/08/13 ADD START
			uchiwakeList = (ArrayList)uchiwakeParentMap.get("EKK0191B001CBSMsg1List");
			for(int j = 0; j < uchiwakeList.size(); j++){
				HashMap uchiwakeChildMap = (HashMap)uchiwakeList.get(j);
				String svcKeiUcwkNo = (String)uchiwakeChildMap.get("svc_kei_ucwk_no");
			// OM-2015-0000947 2015/08/13 ADD END
				for(int i = 0; i < childList.size(); i++){
					X31SDataBeanAccess subbean = null;
					// OM-2015-0000947 2015/08/13 MOD START
					if(listCRSV010304SC_wrib_svc_kei_list_EKK0451A010CBSMsg1List.getCount() -1 >= i){
						//subbean = listCRSV010304SC_wrib_svc_kei_list_EKK0451A010CBSMsg1List.getDataBean(i);
						subbean = listCRSV010304SC_wrib_svc_kei_list_EKK0451A010CBSMsg1List.getDataBean(j);
					// OM-2015-0000947 2015/08/13 MOD END
					}else{
						subbean = listCRSV010304SC_wrib_svc_kei_list_EKK0451A010CBSMsg1List.addDataBean();
					}
					HashMap childMap = (HashMap)childList.get(i);
					if (subbean == null) {
						continue;
					}
					// OM-2015-0000947 2015/08/13 ADD START
					String tmpSvcKeiUcwkNo = (String)childMap.get("svc_kei_ucwk_no");
					if(svcKeiUcwkNo.equals(tmpSvcKeiUcwkNo)){
					// OM-2015-0000947 2015/08/13 ADD END
						// 割引サービス契約情報明細.割引サービスコード名称 ← 割引サービス契約一意照会マップ.割引サービス契約一意照会明細.割引サービスコード名称
						if (childMap != null) {
							subbean.sendMessageString("割引サービスコード名称", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("wrib_svc_cd_nm"));
						} 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_nm"));
						} 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("mskm_kisan_ymd"));
						} else {
							subbean.sendMessageString("申込起算年月日", X31CWebConst.DATABEAN_SET_VALUE, new String());
						}
					// OM-2015-0000947 2015/08/13 ADD START
						break;
					}else{
						subbean.sendMessageString("割引サービスコード名称", X31CWebConst.DATABEAN_SET_VALUE, new String());
						subbean.sendMessageString("割引サービス契約ステータス名称", X31CWebConst.DATABEAN_SET_VALUE, new String());
						subbean.sendMessageString("サービス課金開始年月日", X31CWebConst.DATABEAN_SET_VALUE, new String());
						subbean.sendMessageString("サービス課金終了年月日", X31CWebConst.DATABEAN_SET_VALUE, new String());
						subbean.sendMessageString("申込起算年月日", X31CWebConst.DATABEAN_SET_VALUE, new String());
					}
					// OM-2015-0000947 2015/08/13 ADD END
				}
			}
		}


		return bean;
	}


}