/*********************************************************************
*	All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名		：eo顧客基幹PT
*	モジュール名	：KKSV0816_KKSV0816OPDBMapper
*	ソースファイル名：KKSV0816_KKSV0816OPDBMapper.java
*	作成者			：富士通
*	日付			：2015年06月15日
*＜機能概要＞
*	BP（サービス契約情報照会(ｅｏ電気)初期表示）へのＤ−Ｂマッピングクラスです。
*＜修正履歴＞
*	バージョン	 修正日		  修正者		 修正内容
*	v16.00.00	2015/06/15	  FJ)鯵坂		 【ANK-2480-00-00】新規作成
*   v26.00.00	2016/06/10    FJ)笠川        【ANK-2687-00-00】 プレミアムサポート施策
*   v34.00.00	2017/09/19    FJ)謝          【ANK-3210-00-00】【eo電気】電気単独対応（STEP3）
*   v49.00.00	2020/06/10	  FJ)荒木		 【ANK-3840-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.constant.JZM0171Constant;
import eo.common.util.JKKStringUtil;
import eo.web.webview.KKW00195SF.KKW00195SFConst;
import eo.web.webview.common.JKKCommonConst;

/**
 * DataBean-BPマッピングをする。
 * 
 */
public class KKSV0816_KKSV0816OPDBMapper {
	
	/**
	 * コンストラクタ
	 */
	public KKSV0816_KKSV0816OPDBMapper(){
	}


	/**
	 * 上りマッピングをする
	 * @param bean　[0]：サービス契約情報照会（ｅｏ電気）
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV081601SC(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("KKSV081601SC", parentMap);

		return outputMap;
	}


	/**
	 * 上りマッピングをする
	 * @param bean　[0]：サービス契約情報照会（ｅｏ電気）
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV081602SC(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("KKSV081602SC", parentMap);

		return outputMap;
	}


	/**
	 * 上りマッピングをする
	 * @param bean　[0]：サービス契約情報更新（ｅｏ電気）
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV081603SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code) {
		
		if(bean == null){
			return null;
		}

		if(bean.length != 1){
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		// 部品呼び出し → コード名称管理一覧照会(関連サービス契約コード)マップ.ＫＥＹ＿コード種別コード
		parentMap.put("key_cd_sbt_cd", String.valueOf(JZM0171Constant.CD01672));

		outputMap.put("KKSV081603SC", parentMap);

		return outputMap;
	}


	/**
	 * 上りマッピングをする
	 * @param bean　[0]：サービス契約情報照会（ｅｏ電気）
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV081604SC(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));
		// サービス契約グループ種別コード（固定値"01"） → サービス契約グループ設定一覧照会（サービス契約番号）.ＫＥＹ＿サービス契約グループ種別コード
		parentMap.put("key_svkei_grp_sbt_cd", "01");

		outputMap.put("KKSV081604SC", parentMap);

		return outputMap;
	}


	/**
	 * 上りマッピングをする
	 * @param bean　[0]：サービス契約情報照会（ｅｏ電気）
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV081605SC(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("KKSV081605SC", parentMap);

		return outputMap;
	}


	/**
	 * 上りマッピングをする
	 * @param bean　[0]：サービス契約情報照会（ｅｏ電気）
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV081606SC(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("KKSV081606SC", parentMap);

		return outputMap;
	}


	/**
	 * 上りマッピングをする
	 * @param bean　[0]：サービス契約情報更新（ｅｏ電気）
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV081607SC(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("KKSV081607SC", parentMap);

		return outputMap;
	}

	// 2016/06/10 ANK-2687-00-00 ADD START
	/**
	 * 上りマッピングをする
	 * @param bean　[0]：サービス契約情報更新（ｅｏ電気）
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV081609CC(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);
		
		X31SDataBeanAccessArray custKeiHktgiList = bean[0].getDataBeanArray(JKKCommonConst.HKTGI_CUST_KEI_HKTGI_LIST);
		if(custKeiHktgiList != null && parentMap != null ){
			X31SDataBeanAccess custKeiHktgiInf = custKeiHktgiList.getDataBean(0);
			String sysid     = custKeiHktgiInf.sendMessageString(JKKCommonConst.HKTGI_SYSID,      X31CWebConst.DATABEAN_GET_VALUE);
			parentMap.put("key_sysid", sysid);
		}
		outputMap.put("KKSV081609CC", parentMap);
		
		
		return outputMap;
	}

	// 2016/06/10 ANK-2687-00-00 ADD END
// ANK-3840-00-00 ADD START
	/**
	 * 上りマッピングをする
	 * @param bean　[0]：サービス契約情報照会（ｅｏ電気）
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV081612CC(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_func_code", String.valueOf(JKKCommonConst.VCMS_TEGAK_SVC_FUNC_CODE));
		// 部品呼び出し → ＫＥＹ＿契約種別コード
		parentMap.put("key_kyk_sbt_cd", String.valueOf(JKKCommonConst.VCMS_TEGAK_SVC_KYK_SBT_CODE));
		// SYSID → ＫＥＹ＿ＳＹＳＩＤ
		X31SDataBeanAccessArray custKeiHktgiList = bean[0].getDataBeanArray(JKKCommonConst.HKTGI_CUST_KEI_HKTGI_LIST);
		X31SDataBeanAccess custKeiHktgiInf = custKeiHktgiList.getDataBean(0);
		parentMap.put("key_sysid", custKeiHktgiInf.sendMessageString(JKKCommonConst.HKTGI_SYSID, X31CWebConst.DATABEAN_GET_VALUE));
		
		outputMap.put("KKSV081612CC", parentMap);
		
		return outputMap;
	}
// ANK-3840-00-00 ADD END
	

	/**
	 * 下りマッピング
	 * @param bean　[0]：サービス契約情報照会（ｅｏ電気）
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getKKSV081601SC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("KKSV081601SC")){
			parentMap = (HashMap)outputMap.get("KKSV081601SC");
		}

		ArrayList childList = null;

		X31SDataBeanAccessArray listEKK0081A010_ekk0081a010cbsmsg1list_EKK0081A010CBSMsg1List = bean[0].getDataBeanArray("サービス契約一意照会明細");
		childList = null;
		if(listEKK0081A010_ekk0081a010cbsmsg1list_EKK0081A010CBSMsg1List != null && parentMap != null && parentMap.containsKey("EKK0081A010CBSMsg1List")){
			childList = (ArrayList)parentMap.get("EKK0081A010CBSMsg1List");

			for(int i = 0; i < childList.size(); i++){
				X31SDataBeanAccess subbean = null;
				if(listEKK0081A010_ekk0081a010cbsmsg1list_EKK0081A010CBSMsg1List.getCount() -1 >= i){
					subbean = listEKK0081A010_ekk0081a010cbsmsg1list_EKK0081A010CBSMsg1List.getDataBean(i);
				}else{
					subbean = listEKK0081A010_ekk0081a010cbsmsg1list_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());
				}
				// サービス契約一意照会明細.料金グループコード ← サービス契約一意照会.サービス契約一意照会明細.料金グループコード
				if (childMap != null) {
					subbean.sendMessageString("料金グループコード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("prc_grp_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("shosa_ymd"));
				} else {
					subbean.sendMessageString("照査年月日", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// サービス契約一意照会明細.契約締結年月日 ← サービス契約一意照会.サービス契約一意照会明細.契約締結年月日
				if (childMap != null) {
					subbean.sendMessageString("契約締結年月日", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("kei_cnc_ymd"));
				} else {
					subbean.sendMessageString("契約締結年月日", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// サービス契約一意照会明細.サービスキャンセル年月日 ← サービス契約一意照会.サービス契約一意照会明細.サービスキャンセル年月日
				if (childMap != null) {
					subbean.sendMessageString("サービスキャンセル年月日", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("svc_cancel_ymd"));
				} else {
					subbean.sendMessageString("サービスキャンセル年月日", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// サービス契約一意照会明細.サービス開始年月日 ← サービス契約一意照会.サービス契約一意照会明細.サービス開始年月日
				if (childMap != null) {
					subbean.sendMessageString("サービス開始年月日", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("svc_sta_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_stp_ymd"));
				} else {
					subbean.sendMessageString("サービス停止年月日", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// サービス契約一意照会明細.サービス停止解除年月日 ← サービス契約一意照会.サービス契約一意照会明細.サービス停止解除年月日
				if (childMap != null) {
					subbean.sendMessageString("サービス停止解除年月日", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("svc_stp_rls_ymd"));
				} 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("svc_dsl_kisan_ymd"));
				} else {
					subbean.sendMessageString("サービス解約起算年月日", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
			}
		}
		return bean;
	}


	/**
	 * 下りマッピング
	 * @param bean　[0]：サービス契約情報照会（ｅｏ電気）
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getKKSV081602SC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("KKSV081602SC")){
			parentMap = (HashMap)outputMap.get("KKSV081602SC");
		}

		ArrayList childList = null;

		X31SDataBeanAccessArray listEKKA0040001_ekka0040001cbsmsg2list_EKKA0040001CBSMsg2List = bean[0].getDataBeanArray("ｅｏ電気契約一意照会明細");
		childList = null;
		if(listEKKA0040001_ekka0040001cbsmsg2list_EKKA0040001CBSMsg2List != null && parentMap != null && parentMap.containsKey("EKKA0040001CBSMsg2List")){
			childList = (ArrayList)parentMap.get("EKKA0040001CBSMsg2List");

			for(int i = 0; i < childList.size(); i++){
				X31SDataBeanAccess subbean = null;
				if(listEKKA0040001_ekka0040001cbsmsg2list_EKKA0040001CBSMsg2List.getCount() -1 >= i){
					subbean = listEKKA0040001_ekka0040001cbsmsg2list_EKKA0040001CBSMsg2List.getDataBean(i);
				}else{
					subbean = listEKKA0040001_ekka0040001cbsmsg2list_EKKA0040001CBSMsg2List.addDataBean();
				}
				HashMap childMap = (HashMap)childList.get(i);
				if (subbean == null) {
					continue;
				}

				// eo電気契約一意照会明細.サービス契約番号 ← eo電気契約一意照会.eo電気契約一意照会明細.サービス契約番号
				if (childMap != null) {
					subbean.sendMessageString("サービス契約番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("svc_kei_no"));
				} else {
					subbean.sendMessageString("サービス契約番号", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// eo電気契約一意照会明細.利用場所契約者住所コード ← eo電気契約一意照会.eo電気契約一意照会明細.利用場所契約者住所コード
				if (childMap != null) {
					subbean.sendMessageString("利用場所契約者住所コード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("ryobsh_ad_cd"));
				} else {
					subbean.sendMessageString("利用場所契約者住所コード", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// eo電気契約一意照会明細.利用場所郵便番号 ← eo電気契約一意照会.eo電気契約一意照会明細.利用場所郵便番号
				if (childMap != null) {
					subbean.sendMessageString("利用場所郵便番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("ryobsh_pcb"));
				} else {
					subbean.sendMessageString("利用場所郵便番号", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// eo電気契約一意照会明細.利用場所都道府県 ← eo電気契約一意照会.eo電気契約一意照会明細.利用場所都道府県
				if (childMap != null) {
					subbean.sendMessageString("利用場所都道府県", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("ryobsh_state_nm"));
				} else {
					subbean.sendMessageString("利用場所都道府県", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// eo電気契約一意照会明細.利用場所市区町村 ← eo電気契約一意照会.eo電気契約一意照会明細.利用場所市区町村
				if (childMap != null) {
					subbean.sendMessageString("利用場所市区町村", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("ryobsh_city_nm"));
				} else {
					subbean.sendMessageString("利用場所市区町村", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// eo電気契約一意照会明細.利用場所大字通称名 ← eo電気契約一意照会.eo電気契約一意照会明細.利用場所大字通称名
				if (childMap != null) {
					subbean.sendMessageString("利用場所大字通称名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("ryobsh_oaztsu_nm"));
				} else {
					subbean.sendMessageString("利用場所大字通称名", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// eo電気契約一意照会明細.利用場所字丁目 ← eo電気契約一意照会.eo電気契約一意照会明細.利用場所字丁目
				if (childMap != null) {
					subbean.sendMessageString("利用場所字丁目", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("ryobsh_azcho_nm"));
				} else {
					subbean.sendMessageString("利用場所字丁目", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// eo電気契約一意照会明細.利用場所番地号 ← eo電気契約一意照会.eo電気契約一意照会明細.利用場所番地号
				if (childMap != null) {
					subbean.sendMessageString("利用場所番地号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("ryobsh_bnchigo"));
				} else {
					subbean.sendMessageString("利用場所番地号", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// eo電気契約一意照会明細.利用場所建物名 ← eo電気契約一意照会.eo電気契約一意照会明細.利用場所建物名
				if (childMap != null) {
					subbean.sendMessageString("利用場所建物名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("ryobsh_adrttm"));
				} else {
					subbean.sendMessageString("利用場所建物名", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// eo電気契約一意照会明細.利用場所部屋番号 ← eo電気契約一意照会.eo電気契約一意照会明細.利用場所部屋番号
				if (childMap != null) {
					subbean.sendMessageString("利用場所部屋番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("ryobsh_adrrm"));
				} else {
					subbean.sendMessageString("利用場所部屋番号", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// eo電気契約一意照会明細.利用開始希望年月日 ← eo電気契約一意照会.eo電気契約一意照会明細.利用開始希望年月日
				if (childMap != null) {
					subbean.sendMessageString("利用開始希望年月日", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("ryo_sta_kibo_ymd"));
				} else {
					subbean.sendMessageString("利用開始希望年月日", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// eo電気契約一意照会明細.料金メニュー名 ← eo電気契約一意照会.eo電気契約一意照会明細.料金メニュー名
				if (childMap != null) {
					subbean.sendMessageString("料金メニュー名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("rykn_menu_nm"));
				} else {
					subbean.sendMessageString("料金メニュー名", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// eo電気契約一意照会明細.供給地点特定番号 ← eo電気契約一意照会.eo電気契約一意照会明細.供給地点特定番号
				if (childMap != null) {
					subbean.sendMessageString("供給地点特定番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("kykychtn_tkt_no"));
				} else {
					subbean.sendMessageString("供給地点特定番号", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// eo電気契約一意照会明細.契約区分 ← eo電気契約一意照会.eo電気契約一意照会明細.契約区分
				if (childMap != null) {
					subbean.sendMessageString("契約区分", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("keiyaku_kbn"));
				} else {
					subbean.sendMessageString("契約区分", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// eo電気契約一意照会明細.託送連携住所名 ← eo電気契約一意照会.eo電気契約一意照会明細.託送連携住所名
				if (childMap != null) {
					subbean.sendMessageString("託送連携住所名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("tks_rnkei_add_nm"));
				} else {
					subbean.sendMessageString("託送連携住所名", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// eo電気契約一意照会明細.関連サービス契約番号 ← eo電気契約一意照会.eo電気契約一意照会明細.関連サービス契約番号
				if (childMap != null) {
					subbean.sendMessageString("関連サービス契約番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("knrn_svc_kei_no"));
				} else {
					subbean.sendMessageString("関連サービス契約番号", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// eo電気契約一意照会明細.関連サービス契約コード ← eo電気契約一意照会.eo電気契約一意照会明細.関連サービス契約コード
				if (childMap != null) {
					subbean.sendMessageString("関連サービス契約コード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("knrn_svc_kei_cd"));
				} else {
					subbean.sendMessageString("関連サービス契約コード", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
			}
		}
		return bean;
	}


	/**
	 * 下りマッピング
	 * @param bean　[0]：サービス契約情報照会（ｅｏ電気）
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getKKSV081603SC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("KKSV081603SC")){
			parentMap = (HashMap)outputMap.get("KKSV081603SC");
		}

		ArrayList childList = null;

		X31SDataBeanAccessArray listEZM0171B010_ezm0171B010cbsmsg1list_EZM0171B010CBSMsg1List = bean[0].getDataBeanArray("コード名称管理一覧照会明細");
		childList = null;
		if(listEZM0171B010_ezm0171B010cbsmsg1list_EZM0171B010CBSMsg1List != null && parentMap != null && parentMap.containsKey("EZM0171B010CBSMsg1List")){
			childList = (ArrayList)parentMap.get("EZM0171B010CBSMsg1List");

			for(int i = 0; i < childList.size(); i++){
				X31SDataBeanAccess subbean = null;
				if(listEZM0171B010_ezm0171B010cbsmsg1list_EZM0171B010CBSMsg1List.getCount() -1 >= i){
					subbean = listEZM0171B010_ezm0171B010cbsmsg1list_EZM0171B010CBSMsg1List.getDataBean(i);
				}else{
					subbean = listEZM0171B010_ezm0171B010cbsmsg1list_EZM0171B010CBSMsg1List.addDataBean();
				}
				HashMap childMap = (HashMap)childList.get(i);
				if (subbean == null) {
					continue;
				}

				// コード名称管理一覧照会明細.コード区分 ← コード名称管理一覧照会.コード名称管理一覧照会明細.コード区分
				if (childMap != null) {
					subbean.sendMessageString("コード区分", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("cd_div"));
				} else {
					subbean.sendMessageString("コード区分", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// コード名称管理一覧照会明細.コード区分名 ← コード名称管理一覧照会.コード名称管理一覧照会明細.コード区分略称
				if (childMap != null) {
					subbean.sendMessageString("コード区分名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("cd_div_ali"));
				} else {
					subbean.sendMessageString("コード区分名", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
			}
		}
		return bean;
	}


	/**
	 * 下りマッピング
	 * @param bean　[0]：サービス契約情報照会（ｅｏ電気）
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getKKSV081605SC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("KKSV081605SC")){
			parentMap = (HashMap)outputMap.get("KKSV081605SC");
		}

		ArrayList childList = null;

		X31SDataBeanAccessArray listEKK0251A010_ekk0251A010cbsmsg1list_EKK0251A010CBSMsg1List = bean[0].getDataBeanArray("サービス契約回線内訳一意照会明細");
		childList = null;
		if(listEKK0251A010_ekk0251A010cbsmsg1list_EKK0251A010CBSMsg1List != null && parentMap != null && parentMap.containsKey("EKK0251A010CBSMsg1List")){
			childList = (ArrayList)parentMap.get("EKK0251A010CBSMsg1List");

			for(int i = 0; i < childList.size(); i++){
				X31SDataBeanAccess subbean = null;
				if(listEKK0251A010_ekk0251A010cbsmsg1list_EKK0251A010CBSMsg1List.getCount() -1 >= i){
					subbean = listEKK0251A010_ekk0251A010cbsmsg1list_EKK0251A010CBSMsg1List.getDataBean(i);
				}else{
					subbean = listEKK0251A010_ekk0251A010cbsmsg1list_EKK0251A010CBSMsg1List.addDataBean();
				}
				HashMap childMap = (HashMap)childList.get(i);
				if (subbean == null) {
					continue;
				}

				// サービス契約回線内訳一意照会明細.回線場所都道府県名 ← サービス契約回線内訳一意照会.サービス契約回線内訳一意照会明細.回線場所都道府県名
				if (childMap != null) {
					subbean.sendMessageString("回線場所都道府県名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("kaisen_place_state_nm"));
				} else {
					subbean.sendMessageString("回線場所都道府県名", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// サービス契約回線内訳一意照会明細.回線場所市区町村名 ← サービス契約回線内訳一意照会.サービス契約回線内訳一意照会明細.回線場所市区町村名
				if (childMap != null) {
					subbean.sendMessageString("回線場所市区町村名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("kaisen_place_city_nm"));
				} else {
					subbean.sendMessageString("回線場所市区町村名", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// サービス契約回線内訳一意照会明細.回線場所大字通称名 ← サービス契約回線内訳一意照会.サービス契約回線内訳一意照会明細.回線場所大字通称名
				if (childMap != null) {
					subbean.sendMessageString("回線場所大字通称名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("kaisen_place_oaztsu_nm"));
				} else {
					subbean.sendMessageString("回線場所大字通称名", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// サービス契約回線内訳一意照会明細.回線場所字丁目名 ← サービス契約回線内訳一意照会.サービス契約回線内訳一意照会明細.回線場所字丁目名
				if (childMap != null) {
					subbean.sendMessageString("回線場所字丁目名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("kaisen_place_azcho_nm"));
				} else {
					subbean.sendMessageString("回線場所字丁目名", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// サービス契約回線内訳一意照会明細.回線場所番地号 ← サービス契約回線内訳一意照会.サービス契約回線内訳一意照会明細.回線場所番地号
				if (childMap != null) {
					subbean.sendMessageString("回線場所番地号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("kaisen_place_bnchigo"));
				} else {
					subbean.sendMessageString("回線場所番地号", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// サービス契約回線内訳一意照会明細.回線場所住所補記・建物名 ← サービス契約回線内訳一意照会.サービス契約回線内訳一意照会明細.回線場所住所補記・建物名
				if (childMap != null) {
					subbean.sendMessageString("回線場所住所補記・建物名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("kaisen_place_adrttm"));
				} else {
					subbean.sendMessageString("回線場所住所補記・建物名", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// サービス契約回線内訳一意照会明細.回線場所住所補記・部屋番号 ← サービス契約回線内訳一意照会.サービス契約回線内訳一意照会明細.回線場所住所補記・部屋番号
				if (childMap != null) {
					subbean.sendMessageString("回線場所住所補記・部屋番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("kaisen_place_adrrm"));
				} else {
					subbean.sendMessageString("回線場所住所補記・部屋番号", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
			}
		}
		return bean;
	}


	/**
	 * 下りマッピング
	 * @param bean　[0]：サービス契約情報照会（ｅｏ電気）
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getKKSV081606SC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("KKSV081606SC")){
			parentMap = (HashMap)outputMap.get("KKSV081606SC");
		}

		ArrayList childList = null;

		X31SDataBeanAccessArray listEKK0241B002_ekk0241B002cbsmsg1list_EKK0241B002CBSMsg1List = bean[0].getDataBeanArray("回線対象サービス契約一覧照会明細");
		childList = null;
		if(listEKK0241B002_ekk0241B002cbsmsg1list_EKK0241B002CBSMsg1List != null && parentMap != null && parentMap.containsKey("EKK0241B002CBSMsg1List")){
			childList = (ArrayList)parentMap.get("EKK0241B002CBSMsg1List");

			for(int i = 0; i < childList.size(); i++){
				X31SDataBeanAccess subbean = null;
				if(listEKK0241B002_ekk0241B002cbsmsg1list_EKK0241B002CBSMsg1List.getCount() -1 >= i){
					subbean = listEKK0241B002_ekk0241B002cbsmsg1list_EKK0241B002CBSMsg1List.getDataBean(i);
				}else{
					subbean = listEKK0241B002_ekk0241B002cbsmsg1list_EKK0241B002CBSMsg1List.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_no"));
				} else {
					subbean.sendMessageString("サービス契約番号", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 回線対象サービス契約一覧照会明細.サービスコード ← 回線対象サービス契約一覧照会.回線対象サービス契約一覧照会明細.サービスコード
				if (childMap != null) {
					subbean.sendMessageString("サービスコード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("svc_cd"));
				} else {
					subbean.sendMessageString("サービスコード", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 回線対象サービス契約一覧照会明細.サービス契約ステータス ← 回線対象サービス契約一覧照会.回線対象サービス契約一覧照会明細.サービス契約ステータス
				if (childMap != null) {
					subbean.sendMessageString("サービス契約ステータス", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("svc_kei_stat"));
				} else {
					subbean.sendMessageString("サービス契約ステータス", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 回線対象サービス契約一覧照会明細.回線内訳使用終了年月日 ← 回線対象サービス契約一覧照会.回線対象サービス契約一覧照会明細.回線内訳使用終了年月日
				if (childMap != null) {
					subbean.sendMessageString("回線内訳使用終了年月日", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("kaisen_ucwk_use_endymd"));
				} else {
					subbean.sendMessageString("回線内訳使用終了年月日", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
// ANK-3210-00-00 ADD START
				// 回線対象サービス契約一覧照会明細.料金グループ名 ← 回線対象サービス契約一覧照会.回線対象サービス契約一覧照会明細.料金グループ名
				if (childMap != null) {
					subbean.sendMessageString("料金グループ名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("prc_grp_nm"));
				} else {
					subbean.sendMessageString("料金グループ名", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
// ANK-3210-00-00 ADD END
			}
		}
		return bean;
	}

// ANK-3210-00-00 ADD START
	/**
	 * 下りマッピング
	 * @param bean　[0]：サービス契約情報照会（ｅｏ電気）
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getKKSV081610SC(X31SDataBeanAccess[] bean, HashMap outputMap){
		
		if(!outputMap.containsKey("KKSV081610SC"))
		{
			return bean;
		}
		HashMap parentMap = (HashMap)outputMap.get("KKSV081610SC");
		
		if(null == parentMap)
		{
			return bean;
		}
		
		ArrayList<HashMap<String, Object>> ekk3071b002CBSMsg1List = (ArrayList<HashMap<String, Object>>)parentMap.get("EKK3071B002CBSMsg1List");
		
		if(null == ekk3071b002CBSMsg1List || 0 == ekk3071b002CBSMsg1List.size())
		{
			return bean;
		}
		
		// 表示用ガス供給地点特定番号 ← eoガス契約一覧照会（サービス契約番号）.eoガス契約一覧照会明細.供給地点特定番号
		bean[0].sendMessageString(KKW00195SFConst.DSP_GAS_KKYU_CHTN_TOKUT_NO, X31CWebConst.DATABEAN_SET_VALUE,
				(String)ekk3071b002CBSMsg1List.get(0).get("kkyu_chtn_tokut_no"));
		
		return bean;
	}

	/**
	 * 下りマッピング
	 * @param bean　[0]：サービス契約情報照会（ｅｏ電気）
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getKKSV081611SC(X31SDataBeanAccess[] bean, HashMap outputMap){
		
		if(!outputMap.containsKey("KKSV081611SC"))
		{
			return bean;
		}
		HashMap parentMap = (HashMap)outputMap.get("KKSV081611SC");
		
		if(null == parentMap)
		{
			return bean;
		}
		
		ArrayList<HashMap<String, Object>> ekk3071b001CBSMsg1List = (ArrayList<HashMap<String, Object>>)parentMap.get("EKK3071B001CBSMsg1List");
		
		if(null == ekk3071b001CBSMsg1List || 0 == ekk3071b001CBSMsg1List.size())
		{
			return bean;
		}
		
		// 表示用ガス供給地点特定番号が未設定の場合
		if(JKKStringUtil.isNullBlank(bean[0].sendMessageString(KKW00195SFConst.DSP_GAS_KKYU_CHTN_TOKUT_NO, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			// 表示用ガス供給地点特定番号 ← eoガス契約一覧照会（サービス契約回線内訳番号）.eoガス契約一覧照会明細.供給地点特定番号
			bean[0].sendMessageString(KKW00195SFConst.DSP_GAS_KKYU_CHTN_TOKUT_NO, X31CWebConst.DATABEAN_SET_VALUE,
					(String)ekk3071b001CBSMsg1List.get(0).get("kkyu_chtn_tokut_no"));
		}
		
		return bean;
	}
// ANK-3210-00-00 ADD END
}