/*********************************************************************
*	All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名		：顧客契約
*	モジュール名	：KKSV0062_KKSV0062OPDBMapper
*	ソースファイル名：KKSV0062_KKSV0062OPDBMapper.java
*	作成者			：富士通
*	日付			：2012年04月17日
*＜機能概要＞
*	BP（異動区分選択切替）へのＤ−Ｂマッピングクラスです。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v1.00.00	2012/04/17	富士通		新規作成
*	v10.00.01	2014/08/07	FJ)齋藤	    【IT1-2014-0000262】ＧＧ乗換の予約が取得できない
*	v26.00.00   2016/06/03	FJ)笠川		【ANK-2687-00-00】プレミアムサポート施策
*	v26.00.01	2016/07/06	FJ)柳	    【ANK-2856-00-00】（客A）回復事務手数料の課金
*	v33.00.00	2017/09/05	FJ)岡	    【ANK-3262-00-00】【瑕疵外障害の案件化】サブオプション解約予約時の不備対応
*	v41.00.00	2019/02/06	FJ)三原	    【ANK-3387-00-00】マンションタイプ光コンセントサービス導入
*	v49.00.00	2020/06/10	FJ)荒木	    【ANK-3840-00-00】テレビリースサービス新規申込対応
*	v75.00.00	2025/05/16	FJ)鳥羽		【ANK-4673-00-00】テレビ新コース（スカパー用）導入対応 2025年6月フォロー案件
*	v75.00.00	2025/06/04	FJ)柴田		【ANK-4673-00-01】テレビ新コース（スカパー用）導入対応 2025年6月フォロー案件
**********************************************************************/
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.web.webview.KKW00145SF.KKW00145SFConst;
import eo.web.webview.common.JKKCommonConst;

/**
 * DataBean-BPマッピングをする。
 * 
 */
public class KKSV0062_KKSV0062OPDBMapper {
	
	/**
	 * コンストラクタ
	 */
	public KKSV0062_KKSV0062OPDBMapper(){
	}
	

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：異動区分選択
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV006201SC(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("KKSV006201SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：異動区分選択
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV006202SC(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("KKSV006202SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：異動区分選択
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV006203SC(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_wrib_svc_cd", String.valueOf(JKKCommonConst.WRIB_SVC_CD_FP_WRIB));

		outputMap.put("KKSV006203SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：異動区分選択
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV006205SC(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_kojiak_no_svc_kei_no", bean[0].sendMessageString("選択サービス契約番号", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("KKSV006205SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：異動区分選択
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV006206SC(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.CD00037));

		outputMap.put("KKSV006206SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：異動区分選択
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV006207SC(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("KKSV006207SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：異動区分選択
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV006208SC(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);

// 2012-03-15 IT1-2012-0000350 ADD_START
		// サービス契約番号 → 異動予約一覧照会マップ.ＫＥＹ＿サービス契約番号  
//		parentMap.put("key_svc_kei_no", bean[0].sendMessageString("サービス契約番号", X31CWebConst.DATABEAN_GET_VALUE));  
		// 選択サービス契約番号 → 異動予約一覧照会マップ.ＫＥＹ＿サービス契約番号
		parentMap.put("key_svc_kei_no", bean[0].sendMessageString("選択サービス契約番号", X31CWebConst.DATABEAN_GET_VALUE));
// 2012-03-16 IT1-2012-0000350 ADD_END

		outputMap.put("KKSV006208SC", parentMap);
						
		return outputMap;
	}
	
// 2012/09/18 ADD-START
	/**
	 * 下りマッピング
	 * @param bean　[0]：異動区分選択
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getKKSV006208SC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("KKSV006208SC")){
			parentMap = (HashMap)outputMap.get("KKSV006208SC");
		}

		ArrayList childList = null;
		bean[0].getDataBeanArray("予約サービス契約情報リスト").clearArray();
		bean[0].getDataBeanArray("予約サービス契約内訳情報リスト").clearArray();
		bean[0].getDataBeanArray("予約オプションサービス契約情報リスト").clearArray();
		
		// 予約サービス契約情報
		X31SDataBeanAccessArray listKKSV006208SC_rsvSvcKeiInfList_EKK1681B001CBSMsg1List = bean[0].getDataBeanArray("予約サービス契約情報リスト");
		// 予約サービス契約内訳情報
		X31SDataBeanAccessArray listKKSV006208SC_rsvSvcKeiUcwkInfList_EKK1681B001CBSMsg1List = bean[0].getDataBeanArray("予約サービス契約内訳情報リスト");
		// 予約オプションサービス契約情報
		X31SDataBeanAccessArray listKKSV006208SC_rsvOpSvcKeiInfList_EKK1681B001CBSMsg1List = bean[0].getDataBeanArray("予約オプションサービス契約情報リスト");

		listKKSV006208SC_rsvSvcKeiInfList_EKK1681B001CBSMsg1List.addDataBean();
		listKKSV006208SC_rsvSvcKeiUcwkInfList_EKK1681B001CBSMsg1List.addDataBean();
		listKKSV006208SC_rsvOpSvcKeiInfList_EKK1681B001CBSMsg1List.addDataBean();
		
		// 予約サービス契約情報　インデックス
		int rsvSvcKeiInfList_Index = 0;
		// 予約サービス契約内訳情報　インデックス
		int rsvSvcKeiUcwkInfList_Index = 0;
		// 予約オプションサービス契約情報　インデックス
		int rsvOpSvcKeiInfList_Index = 0;

		childList = null;
		if(
				listKKSV006208SC_rsvSvcKeiInfList_EKK1681B001CBSMsg1List != null
				&& listKKSV006208SC_rsvSvcKeiUcwkInfList_EKK1681B001CBSMsg1List != null
				&& listKKSV006208SC_rsvOpSvcKeiInfList_EKK1681B001CBSMsg1List != null
				&& parentMap != null && parentMap.containsKey("EKK1681B001CBSMsg1List")
		){
			childList = (ArrayList)parentMap.get("EKK1681B001CBSMsg1List");

			for(int i = 0; i < childList.size(); i++){
				X31SDataBeanAccess subbean = null;
				HashMap childMap = (HashMap)childList.get(i);

				// サービス契約内訳番号
				String tmpSvcKeiUcwkNo = (String)childMap.get("svc_kei_ucwk_no");
				// オプションサービス契約番号
				String tmpOpSvcKeiNo   = (String)childMap.get("op_svc_kei_no");
				// ANK-3262-00-00 2017/09/05 ADD START
				// サブオプションサービス契約番号
				String tmpSbopSvcKeiNo   = (String)childMap.get("sbop_svc_kei_no");
				// ANK-3262-00-00 2017/09/05 ADD END

				// ANK-3262-00-00 2017/09/05 MOD START
				//if (tmpOpSvcKeiNo != null && ! "".equals(tmpOpSvcKeiNo))
				if ((tmpOpSvcKeiNo != null && ! "".equals(tmpOpSvcKeiNo)) || (tmpSbopSvcKeiNo != null && ! "".equals(tmpSbopSvcKeiNo)))
				// ANK-3262-00-00 2017/09/05 MOD END
				{
					// 予約オプションサービス契約情報リストにセット
					if(listKKSV006208SC_rsvOpSvcKeiInfList_EKK1681B001CBSMsg1List.getCount() -1 >= rsvOpSvcKeiInfList_Index){
						subbean = listKKSV006208SC_rsvOpSvcKeiInfList_EKK1681B001CBSMsg1List.getDataBean(rsvOpSvcKeiInfList_Index);
					}else{
						subbean = listKKSV006208SC_rsvOpSvcKeiInfList_EKK1681B001CBSMsg1List.addDataBean();
					}
					rsvOpSvcKeiInfList_Index++;
				}
				else if (tmpSvcKeiUcwkNo != null && ! "".equals(tmpSvcKeiUcwkNo))
				{
					// 予約サービス契約内訳情報リストにセット
					if(listKKSV006208SC_rsvSvcKeiUcwkInfList_EKK1681B001CBSMsg1List.getCount() -1 >= rsvSvcKeiUcwkInfList_Index){
						subbean = listKKSV006208SC_rsvSvcKeiUcwkInfList_EKK1681B001CBSMsg1List.getDataBean(rsvSvcKeiUcwkInfList_Index);
					}else{
						subbean = listKKSV006208SC_rsvSvcKeiUcwkInfList_EKK1681B001CBSMsg1List.addDataBean();
					}
					rsvSvcKeiUcwkInfList_Index++;
				}
				else
				{
					// 予約サービス契約情報リストにセット
					if(listKKSV006208SC_rsvSvcKeiInfList_EKK1681B001CBSMsg1List.getCount() -1 >= rsvSvcKeiInfList_Index){
						subbean = listKKSV006208SC_rsvSvcKeiInfList_EKK1681B001CBSMsg1List.getDataBean(rsvSvcKeiInfList_Index);
					}else{
						subbean = listKKSV006208SC_rsvSvcKeiInfList_EKK1681B001CBSMsg1List.addDataBean();
					}
					rsvSvcKeiInfList_Index++;
				}

				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_kei_ucwk_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_no"));
				} else {
					subbean.sendMessageString("オプションサービス契約番号", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 予約情報リスト.異動区分 ← 異動予約一覧照会マップ.異動区分
				if (childMap != null) {
					subbean.sendMessageString("異動区分", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("ido_div"));
				} else {
					subbean.sendMessageString("異動区分", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 予約情報リスト.異動予約状態コード ← 異動予約一覧照会マップ.異動予約状態コード
				if (childMap != null) {
					subbean.sendMessageString("異動予約状態コード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("ido_rsv_stat_cd"));
				} 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("ido_rsv_dtl_cd"));
				} else {
					subbean.sendMessageString("異動予約詳細コード", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// ANK-4673-00-00 START
				// 予約情報リスト.新料金コースコード ← 異動予約一覧照会マップ.新料金コースコード
				if (childMap != null) {
					subbean.sendMessageString("新料金コースコード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("new_pcrs_cd"));
				} else {
					subbean.sendMessageString("新料金コースコード", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 予約情報リスト.旧料金コースコード ← 異動予約一覧照会マップ.旧料金コースコード
				if (childMap != null) {
					subbean.sendMessageString("旧料金コースコード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("old_pcrs_cd"));
				} else {
					subbean.sendMessageString("旧料金コースコード", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 予約情報リスト.工事案件番号 ← 異動予約一覧照会マップ.工事案件番号
				if (childMap != null) {
					subbean.sendMessageString("工事案件番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("kojiak_no"));
				} else {
					subbean.sendMessageString("工事案件番号", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// ANK-4673-00-00 END
				// ANK-4673-00-01 ADD START
				// 予約情報リスト.申込明細番号 ← 異動予約一覧照会マップ.申込明細番号
				if (childMap != null) {
					subbean.sendMessageString("申込明細番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("mskm_dtl_no"));
				} else {
					subbean.sendMessageString("申込明細番号", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// ANK-4673-00-01 ADD END
			}
		}


		return bean;
	}
// 2012/09/18 ADD-END

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：異動区分選択
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV006209SC(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("KKSV006209SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：異動区分選択
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV006210SC(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("KKSV006210SC", parentMap);
						
		return outputMap;
	}
	//IT1-2014-0000262 ADD START
	/**
	 * 上りマッピングをする
	 * @param bean　[0]：異動区分選択
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV006221SC(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_ido_div", JKKCommonConst.IDO_DIV_VALUE_00085);
		
		outputMap.put("KKSV006221SC", parentMap);
		
		return outputMap;
	}
	//IT1-2014-0000262 ADD END
	
	// 2016/06/03 ANK-2687-00-00 ADD START
	/**
	 * 上りマッピングをする
	 * @param bean　[0]：異動区分選択
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV006222CC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code) {
		
		if(bean == null){
			return null;
		}
		
		if(bean.length != 1){
			return null;
		}
		
		HashMap<String, Object> parentMap = new HashMap<String, Object>();
		
		// 共通情報のマッピング
		parentMap.put("func_code", func_code);
		
		// ＫＥＹ＿ＳＹＳＩＤ → お客様ランク情報取得CC　ＫＥＹ＿ＳＹＳＩＤ
		parentMap.put("key_sysid", bean[0].sendMessageString("ＳＹＳＩＤ", X31CWebConst.DATABEAN_GET_VALUE));
		
		outputMap.put("KKSV006222CC", parentMap);
		
		return outputMap;
	}
	// 2016/06/03 ANK-2687-00-00 ADD END
	
	// ANK-2856-00-00 2016/07/06 ADD START
	/**
	 * 上りマッピングをする
	 * @param bean　[0]：異動区分選択
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV006223SC(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("KKSV006223SC", parentMap);
		
		return outputMap;
	}
	// ANK-2856-00-00 2016/07/06 ADD END

	// ANK-3387-00-00 ADD START
	/**
	 * 上りマッピングをする
	 * @param bean　[0]：異動区分選択
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV006224SC(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("KKSV006224SC", parentMap);
		
		return outputMap;
	}
	// ANK-3387-00-00 ADD END

// ANK-3840-00-00 ADD START
	/**
	 * 上りマッピングをする
	 * @param bean　[0]：異動区分選択
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV006225CC(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 → ＫＥＹ＿ＳＹＳＩＤ
		parentMap.put("key_sysid", bean[0].sendMessageString("ＳＹＳＩＤ", X31CWebConst.DATABEAN_GET_VALUE));
		
		outputMap.put("KKSV006225CC", parentMap);
		
		return outputMap;
	}
// ANK-3840-00-00 ADD END
// ANK-4673-00-01 ADD START
	/**
	 * 上りマッピングをする
	 * @param bean　[0]：異動区分選択
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV006226SC(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("KKSV006226SC", parentMap);
		
		return outputMap;
	}
// ANK-4673-00-01 ADD END
	/**
	 * 下りマッピング
	 * @param bean　[0]：異動区分選択
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getKKSV006201SC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("KKSV006201SC")){
			parentMap = (HashMap)outputMap.get("KKSV006201SC");
		}

		ArrayList childList = null;
		

		X31SDataBeanAccessArray listKKSV006201SC_svc_kei_inf_list_EKK0081A010CBSMsg1List = bean[0].getDataBeanArray("サービス契約情報リスト");
		childList = null;
		if(listKKSV006201SC_svc_kei_inf_list_EKK0081A010CBSMsg1List != null && parentMap != null && parentMap.containsKey("EKK0081A010CBSMsg1List")){
			childList = (ArrayList)parentMap.get("EKK0081A010CBSMsg1List");

			for(int i = 0; i < childList.size(); i++){
				X31SDataBeanAccess subbean = null;
				if(listKKSV006201SC_svc_kei_inf_list_EKK0081A010CBSMsg1List.getCount() -1 >= i){
					subbean = listKKSV006201SC_svc_kei_inf_list_EKK0081A010CBSMsg1List.getDataBean(i);
				}else{
					subbean = listKKSV006201SC_svc_kei_inf_list_EKK0081A010CBSMsg1List.addDataBean();
				}
				HashMap childMap = (HashMap)childList.get(i);
				if (subbean == null) {
					continue;
				}
			
				// サービス契約情報リスト.サービス契約ステータス ← サービス契約一意照会マップ.サービス契約一意照会明細.サービス契約ステータス
				if (childMap != null) {
					subbean.sendMessageString("サービス契約ステータス", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("svc_kei_stat"));
				} else {
					subbean.sendMessageString("サービス契約ステータス", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// サービス契約情報リスト.サービスコード ← サービス契約一意照会マップ.サービス契約一意照会明細.サービスコード
				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("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("pplan_cd"));
				} else {
					subbean.sendMessageString("料金プランコード", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// サービス契約情報リスト.休止中断コード ← サービス契約一意照会マップ.サービス契約一意照会明細.休止中断コード
				if (childMap != null) {
					subbean.sendMessageString("休止中断コード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("pause_stp_cd"));
				} else {
					subbean.sendMessageString("休止中断コード", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// サービス契約情報リスト.サービス休止年月日 ← サービス契約一意照会マップ.サービス契約一意照会明細.サービス休止年月日
				if (childMap != null) {
					subbean.sendMessageString("サービス休止年月日", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("svc_pause_ymd"));
				} else {
					subbean.sendMessageString("サービス休止年月日", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// サービス契約情報リスト.サービス解約理由コード ← サービス契約一意照会マップ.サービス契約一意照会明細.サービス解約理由コード
				if (childMap != null) {
					subbean.sendMessageString("サービス解約理由コード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("svc_dlre_cd"));
				} else {
					subbean.sendMessageString("サービス解約理由コード", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 2012/07/11 IT2-2012-0001096 ADD START
				// サービス契約情報リスト.提供方式契約番号 ← サービス契約一意照会マップ.サービス契約一意照会明細.提供方式契約番号
				if (childMap != null) {
					subbean.sendMessageString("提供方式契約番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("tk_hoshiki_kei_no"));
				} else {
					subbean.sendMessageString("提供方式契約番号", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 2012/07/11 IT2-2012-0001096 ADD END
				
				// 2013/07/20 IT2-2013-0000642 ADD START
				// サービス契約情報リスト.照査解約完了コード ← サービス契約一意照会マップ.サービス契約一意照会明細.照査解約完了コード
				if (childMap != null) {
					subbean.sendMessageString("照査解約完了コード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("shosa_dsl_fin_cd"));
				} else {
					subbean.sendMessageString("照査解約完了コード", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 2013/07/20 IT2-2013-0000642 ADD END
			}
		}


		return bean;
	}

	/**
	 * 下りマッピング
	 * @param bean　[0]：異動区分選択
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getKKSV006205SC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("KKSV006205SC")){
			parentMap = (HashMap)outputMap.get("KKSV006205SC");
		}

		ArrayList childList = null;
		

		X31SDataBeanAccessArray listKKSV006205SC_kojiak_inf_list_EKU0011B010CBSMsg1List = bean[0].getDataBeanArray("工事案件情報リスト");
		childList = null;
		if(listKKSV006205SC_kojiak_inf_list_EKU0011B010CBSMsg1List != null && parentMap != null && parentMap.containsKey("EKU0011B010CBSMsg1List")){
			childList = (ArrayList)parentMap.get("EKU0011B010CBSMsg1List");

			for(int i = 0; i < childList.size(); i++){
				X31SDataBeanAccess subbean = null;
				if(listKKSV006205SC_kojiak_inf_list_EKU0011B010CBSMsg1List.getCount() -1 >= i){
					subbean = listKKSV006205SC_kojiak_inf_list_EKU0011B010CBSMsg1List.getDataBean(i);
				}else{
					subbean = listKKSV006205SC_kojiak_inf_list_EKU0011B010CBSMsg1List.addDataBean();
				}
				HashMap childMap = (HashMap)childList.get(i);
				if (subbean == null) {
					continue;
				}
			
				// 工事案件情報リスト.工事案件番号 ← 工事案件一覧照会マップ.工事案件一覧照会明細.工事案件番号
				if (childMap != null) {
					subbean.sendMessageString("工事案件番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("kojiak_no"));
				} else {
					subbean.sendMessageString("工事案件番号", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 工事案件情報リスト.工事案件ステータス ← 工事案件一覧照会マップ.工事案件一覧照会明細.工事案件ステータス
				if (childMap != null) {
					subbean.sendMessageString("工事案件ステータス", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("kojiak_stat"));
				} else {
					subbean.sendMessageString("工事案件ステータス", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 工事案件情報リスト.工事案件ステータス名称 ← 工事案件一覧照会マップ.工事案件一覧照会明細.工事案件ステータス名称
				if (childMap != null) {
					subbean.sendMessageString("工事案件ステータス名称", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("kojiak_stat_nm"));
				} else {
					subbean.sendMessageString("工事案件ステータス名称", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
			}
		}


		return bean;
	}

	/**
	 * 下りマッピング
	 * @param bean　[0]：異動区分選択
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getKKSV006207SC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("KKSV006207SC")){
			parentMap = (HashMap)outputMap.get("KKSV006207SC");
		}

		ArrayList childList = null;
		

		X31SDataBeanAccessArray listKKSV006207SC_svcKeiUcwkList_EKK0191B001CBSMsg1List = bean[0].getDataBeanArray("サービス契約内訳＜ｅｏ光電話＞リスト");
		childList = null;
		if(listKKSV006207SC_svcKeiUcwkList_EKK0191B001CBSMsg1List != null && parentMap != null && parentMap.containsKey("EKK0191B001CBSMsg1List")){
			childList = (ArrayList)parentMap.get("EKK0191B001CBSMsg1List");

			for(int i = 0; i < childList.size(); i++){
				X31SDataBeanAccess subbean = null;
				if(listKKSV006207SC_svcKeiUcwkList_EKK0191B001CBSMsg1List.getCount() -1 >= i){
					subbean = listKKSV006207SC_svcKeiUcwkList_EKK0191B001CBSMsg1List.getDataBean(i);
				}else{
					subbean = listKKSV006207SC_svcKeiUcwkList_EKK0191B001CBSMsg1List.addDataBean();
				}
				HashMap childMap = (HashMap)childList.get(i);
				if (subbean == null) {
					continue;
				}
			
				// サービス契約内訳＜ｅｏ光電話＞リスト.サービス契約内訳番号 ← サービス契約内訳＜ｅｏ光電話＞一覧照会マップ.サービス契約内訳＜ｅｏ光電話＞一覧照会明細.サービス契約内訳番号
				if (childMap != null) {
					subbean.sendMessageString("サービス契約内訳番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("svc_kei_ucwk_no"));
				} else {
					subbean.sendMessageString("サービス契約内訳番号", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// サービス契約内訳＜ｅｏ光電話＞リスト.電話番号 ← サービス契約内訳＜ｅｏ光電話＞一覧照会マップ.サービス契約内訳＜ｅｏ光電話＞一覧照会明細.電話番号
				if (childMap != null) {
					subbean.sendMessageString("電話番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("telno"));
				} else {
					subbean.sendMessageString("電話番号", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 20120501 add eikawa start
			    // IT1-2012-0000417 サービス契約内訳に解約されている内訳がある場合に番号回復を表示
				// サービス契約内訳＜ｅｏ光電話＞リスト.サービス契約内訳ステータス ← サービス契約内訳＜ｅｏ光電話＞一覧照会マップ.サービス契約内訳＜ｅｏ光電話＞一覧照会明細.サービス契約内訳ステータス
				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());
				}
				// 20120501 add eikawa end
			}
		}


		return bean;
	}

	/**
	 * 下りマッピング
	 * @param bean　[0]：異動区分選択
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getKKSV006209SC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("KKSV006209SC")){
			parentMap = (HashMap)outputMap.get("KKSV006209SC");
		}

		ArrayList childList = null;
		

		X31SDataBeanAccessArray listKKSV006209SC_same_use_plc_svc_kei_inf_list_EKK0081B009CBSMsg1List = bean[0].getDataBeanArray("同一利用場所サービス契約情報リスト");
		childList = null;
		if(listKKSV006209SC_same_use_plc_svc_kei_inf_list_EKK0081B009CBSMsg1List != null && parentMap != null && parentMap.containsKey("EKK0081B009CBSMsg1List")){
			childList = (ArrayList)parentMap.get("EKK0081B009CBSMsg1List");

			for(int i = 0; i < childList.size(); i++){
				X31SDataBeanAccess subbean = null;
				if(listKKSV006209SC_same_use_plc_svc_kei_inf_list_EKK0081B009CBSMsg1List.getCount() -1 >= i){
					subbean = listKKSV006209SC_same_use_plc_svc_kei_inf_list_EKK0081B009CBSMsg1List.getDataBean(i);
				}else{
					subbean = listKKSV006209SC_same_use_plc_svc_kei_inf_list_EKK0081B009CBSMsg1List.addDataBean();
				}
				HashMap childMap = (HashMap)childList.get(i);
				if (subbean == null) {
					continue;
				}
			
				// 同一利用場所サービス契約情報リスト.料金グループコード ← 同一場所サービス契約情報照会マップ.同一場所サービス契約情報照会明細.料金グループコード
				if (childMap != null) {
					subbean.sendMessageString("料金グループコード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("prc_grp_cd"));
				} else {
					subbean.sendMessageString("料金グループコード", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
			}
		}


		return bean;
	}

	/**
	 * 下りマッピング
	 * @param bean　[0]：異動区分選択
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getKKSV006210SC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("KKSV006210SC")){
			parentMap = (HashMap)outputMap.get("KKSV006210SC");
		}

		ArrayList childList = null;
		

		X31SDataBeanAccessArray listKKSV006210SC_mans_inf_list_EKK0861B002CBSMsg1List = bean[0].getDataBeanArray("マンション情報明細");
		childList = null;
		if(listKKSV006210SC_mans_inf_list_EKK0861B002CBSMsg1List != null && parentMap != null && parentMap.containsKey("EKK0861B002CBSMsg1List")){
			childList = (ArrayList)parentMap.get("EKK0861B002CBSMsg1List");

			for(int i = 0; i < childList.size(); i++){
				X31SDataBeanAccess subbean = null;
				if(listKKSV006210SC_mans_inf_list_EKK0861B002CBSMsg1List.getCount() -1 >= i){
					subbean = listKKSV006210SC_mans_inf_list_EKK0861B002CBSMsg1List.getDataBean(i);
				}else{
					subbean = listKKSV006210SC_mans_inf_list_EKK0861B002CBSMsg1List.addDataBean();
				}
				HashMap childMap = (HashMap)childList.get(i);
				if (subbean == null) {
					continue;
				}
			
				// マンション情報明細.マンションＩＤ ← マンション情報一覧照会（サービス契約番号）照会マップ.マンション情報一覧照会（サービス契約番号）照会明細.マンションＩＤ
				if (childMap != null) {
					subbean.sendMessageString("マンションＩＤ", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("mansion_id"));
				} else {
					subbean.sendMessageString("マンションＩＤ", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// マンション情報明細.マンションコースコード ← マンション情報一覧照会（サービス契約番号）照会マップ.マンション情報一覧照会（サービス契約番号）照会明細.マンションコースコード
				if (childMap != null) {
					subbean.sendMessageString("マンションコースコード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("mansion_course_cd"));
				} else {
					subbean.sendMessageString("マンションコースコード", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// マンション情報明細.マンションサービスメニューコード ← マンション情報一覧照会（サービス契約番号）照会マップ.マンション情報一覧照会（サービス契約番号）照会明細.マンションサービスメニューコード
				if (childMap != null) {
					subbean.sendMessageString("マンションサービスメニューコード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("mansion_svc_menu_cd"));
				} else {
					subbean.sendMessageString("マンションサービスメニューコード", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// マンション情報明細.ＩＰ払出コード ← マンション情報一覧照会（サービス契約番号）照会マップ.マンション情報一覧照会（サービス契約番号）照会明細.ＩＰ払出コード
				if (childMap != null) {
					subbean.sendMessageString("ＩＰ払出コード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("ip_hradsi_cd"));
				} else {
					subbean.sendMessageString("ＩＰ払出コード", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// マンション情報明細.回線速度コード ← マンション情報一覧照会（サービス契約番号）照会マップ.マンション情報一覧照会（サービス契約番号）照会明細.回線速度コード
				if (childMap != null) {
					subbean.sendMessageString("回線速度コード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("kisn_speed_cd"));
				} else {
					subbean.sendMessageString("回線速度コード", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// マンション情報明細.マンション通信設備コード ← マンション情報一覧照会（サービス契約番号）照会マップ.マンション情報一覧照会（サービス契約番号）照会明細.マンション通信設備コード
				if (childMap != null) {
					subbean.sendMessageString("マンション通信設備コード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("mans_tushin_equip_cd"));
				} else {
					subbean.sendMessageString("マンション通信設備コード", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// マンション情報明細.ＰＩＤ ← マンション情報一覧照会（サービス契約番号）照会マップ.マンション情報一覧照会（サービス契約番号）照会明細.Ｐ−ＩＤ
				if (childMap != null) {
					subbean.sendMessageString("ＰＩＤ", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("pid"));
				} else {
					subbean.sendMessageString("ＰＩＤ", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// マンション情報明細.支払方式コード ← マンション情報一覧照会（サービス契約番号）照会マップ.マンション情報一覧照会（サービス契約番号）照会明細.支払方式コード
				if (childMap != null) {
					subbean.sendMessageString("支払方式コード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("pay_hoshiki_cd"));
				} else {
					subbean.sendMessageString("支払方式コード", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// マンション情報明細.マンション物件コード ← マンション情報一覧照会（サービス契約番号）照会マップ.マンション情報一覧照会（サービス契約番号）照会明細.マンション物件コード
				if (childMap != null) {
					subbean.sendMessageString("マンション物件コード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("mansion_bukken_cd"));
				} else {
					subbean.sendMessageString("マンション物件コード", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// ST2-2013-0000503 2013/02/05 START
				// マンション情報明細.マンション物件コード ← マンション情報一覧照会（サービス契約番号）照会マップ.マンション情報一覧照会（サービス契約番号）照会明細.加入契約支払方式コード
				if (childMap != null) {
					subbean.sendMessageString("加入契約支払方式コード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("kanyu_kei_pay_hoshiki_cd"));
				} else {
					subbean.sendMessageString("加入契約支払方式コード", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// ST2-2013-0000503 2013/02/05 END
			}
		}


		return bean;
	}

	/**
	 * 下りマッピング
	 * @param bean　[0]：異動区分選択
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getKKSV006211SC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("KKSV006211SC")){
			parentMap = (HashMap)outputMap.get("KKSV006211SC");
		}

		ArrayList childList = null;
		

		X31SDataBeanAccessArray listKKSV006211SC_kaisen_usei_kei_list_EKK0881A010CBSMsg1List = bean[0].getDataBeanArray("回線使用契約一意照会明細");
		childList = null;
		if(listKKSV006211SC_kaisen_usei_kei_list_EKK0881A010CBSMsg1List != null && parentMap != null && parentMap.containsKey("EKK0881A010CBSMsg1List")){
			childList = (ArrayList)parentMap.get("EKK0881A010CBSMsg1List");

			for(int i = 0; i < childList.size(); i++){
				X31SDataBeanAccess subbean = null;
				if(listKKSV006211SC_kaisen_usei_kei_list_EKK0881A010CBSMsg1List.getCount() -1 >= i){
					subbean = listKKSV006211SC_kaisen_usei_kei_list_EKK0881A010CBSMsg1List.getDataBean(i);
				}else{
					subbean = listKKSV006211SC_kaisen_usei_kei_list_EKK0881A010CBSMsg1List.addDataBean();
				}
				HashMap childMap = (HashMap)childList.get(i);
				if (subbean == null) {
					continue;
				}
			
				// 回線使用契約一意照会明細.回線使用契約番号 ← 回線使用契約一意照会マップ.回線使用契約一意照会明細.回線使用契約番号
				if (childMap != null) {
					subbean.sendMessageString("回線使用契約番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("kaisen_use_kei_no"));
				} else {
					subbean.sendMessageString("回線使用契約番号", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 回線使用契約一意照会明細.ペアＩＤ ← 回線使用契約一意照会マップ.回線使用契約一意照会明細.ペアＩＤ
				if (childMap != null) {
					subbean.sendMessageString("ペアＩＤ", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("pairid"));
				} else {
					subbean.sendMessageString("ペアＩＤ", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
			}
		}


		return bean;
	}


	/**
	 * 上りマッピングをする
	 * @param bean　[0]：異動区分選択
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV006212SC(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);

		// サービス契約番号 → サービス契約内訳（予約の最新とカレント）一覧照会.ＫＥＹ＿サービス契約番号
		String svc_kei_no = bean[0].sendMessageString(KKW00145SFConst.CHOICE_SVC_KEI_NO, X31CWebConst.DATABEAN_GET_VALUE);
		parentMap.put("key_svc_kei_no", svc_kei_no);

		outputMap.put("KKSV006212SC", parentMap);
						
		return outputMap;
	}


	/**
	 * 下りマッピング
	 * @param bean　[0]：異動区分選択
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getKKSV006212SC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("KKSV006212SC")){
			parentMap = (HashMap)outputMap.get("KKSV006212SC");
		}

		ArrayList childList = null;
		

		X31SDataBeanAccessArray listKKSV006212SC_EKK0161B004CBSMsg1List = bean[0].getDataBeanArray(KKW00145SFConst.KK0161B004LIST);
		childList = null;
		if(listKKSV006212SC_EKK0161B004CBSMsg1List != null && parentMap != null && parentMap.containsKey("EKK0161B004CBSMsg1List")){
			childList = (ArrayList)parentMap.get("EKK0161B004CBSMsg1List");

			for(int i = 0; i < childList.size(); i++){
				X31SDataBeanAccess subbean = null;
				if(listKKSV006212SC_EKK0161B004CBSMsg1List.getCount() -1 >= i){
					subbean = listKKSV006212SC_EKK0161B004CBSMsg1List.getDataBean(i);
				}else{
					subbean = listKKSV006212SC_EKK0161B004CBSMsg1List.addDataBean();
				}
				HashMap childMap = (HashMap)childList.get(i);
				if (subbean == null) {
					continue;
				}

				// サービス契約内訳番号
				if (childMap != null) {
					subbean.sendMessageString(KKW00145SFConst.SVC_KEI_UCWK_NO_15, X31CWebConst.DATABEAN_SET_VALUE,
							(String)childMap.get("svc_kei_ucwk_no"));
				} else {
					subbean.sendMessageString(KKW00145SFConst.SVC_KEI_UCWK_NO_15, X31CWebConst.DATABEAN_SET_VALUE,
							new String());
				}
				// サービス契約内訳ステータス
				if (childMap != null) {
					subbean.sendMessageString(KKW00145SFConst.SVC_KEI_UCWK_STAT_15, X31CWebConst.DATABEAN_SET_VALUE,
							(String)childMap.get("svc_kei_ucwk_stat"));
				} else {
					subbean.sendMessageString(KKW00145SFConst.SVC_KEI_UCWK_STAT_15, X31CWebConst.DATABEAN_SET_VALUE,
							new String());
				}
//↓↓↓2013-05-29変更　残課題No.51（回復可能な解約済み内訳のある１番号コースで光電話・番号追加を表示すること）↓↓↓
				// 異動区分
				if (childMap != null) {
					subbean.sendMessageString(KKW00145SFConst.IDO_DIV_15, X31CWebConst.DATABEAN_SET_VALUE,
							(String)childMap.get("ido_div"));
				} else {
					subbean.sendMessageString(KKW00145SFConst.IDO_DIV_15, X31CWebConst.DATABEAN_SET_VALUE,
							new String());
				}
//↑↑↑2013-05-29変更　残課題No.51（回復可能な解約済み内訳のある１番号コースで光電話・番号追加を表示すること）↑↑↑
			}
		}

		return bean;
	}


	
	//IT1-2014-0000262 ADD START
	/**
	 * 下りマッピング
	 * @param bean　[0]：異動区分選択
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getKKSV006221SC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("KKSV006221SC")){
			parentMap = (HashMap)outputMap.get("KKSV006221SC");
		}

		ArrayList childList = null;
		

		X31SDataBeanAccessArray listKKSV006221SC_kiki_rsv_list_EKK0341B021CBSMsg1List = bean[0].getDataBeanArray("機器予約情報明細");
		childList = null;
		if(listKKSV006221SC_kiki_rsv_list_EKK0341B021CBSMsg1List != null && parentMap != null && parentMap.containsKey("EKK0341B021CBSMsg1List")){
			childList = (ArrayList)parentMap.get("EKK0341B021CBSMsg1List");

			for(int i = 0; i < childList.size(); i++){
				X31SDataBeanAccess subbean = null;
				if(listKKSV006221SC_kiki_rsv_list_EKK0341B021CBSMsg1List.getCount() -1 >= i){
					subbean = listKKSV006221SC_kiki_rsv_list_EKK0341B021CBSMsg1List.getDataBean(i);
				}else{
					subbean = listKKSV006221SC_kiki_rsv_list_EKK0341B021CBSMsg1List.addDataBean();
				}
				HashMap childMap = (HashMap)childList.get(i);
				if (subbean == null) {
					continue;
				}
			
				// 機器予約情報明細.機器提供サービス契約番号 ← 機器提供サービス契約一覧照会（予約）照会マップ.機器提供サービス契約一覧照会（予約）明細.機器提供サービス契約番号
				if (childMap != null) {
					subbean.sendMessageString("機器提供サービス契約番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("kktk_svc_kei_no"));
				} else {
					subbean.sendMessageString("機器提供サービス契約番号", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 機器予約情報明細.異動区分（予約） ← 機器提供サービス契約一覧照会（予約）照会マップ.機器提供サービス契約一覧照会（予約）明細.異動区分（予約）
				if (childMap != null) {
					subbean.sendMessageString("異動区分（予約）", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("rsv_ido_div"));
				} else {
					subbean.sendMessageString("異動区分（予約）", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
			}
		}
		return bean;
	}
	//IT1-2014-0000262 ADD END

	// ANK-2856-00-00 2016/07/06 ADD START
	/**
	 * 下りマッピング
	 * @param bean　[0]：異動区分選択
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getKKSV006223SC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("KKSV006223SC")){
			parentMap = (HashMap)outputMap.get("KKSV006223SC");
		}
		
		ArrayList childList = null;
		
		X31SDataBeanAccessArray listKKSV006223SC_EKK0081B024CBSMsg1List = bean[0].getDataBeanArray("サービス契約履歴一覧照会明細");
		childList = null;
		if(listKKSV006223SC_EKK0081B024CBSMsg1List != null && parentMap != null && parentMap.containsKey("EKK0081B024CBSMsg1List")){
			childList = (ArrayList)parentMap.get("EKK0081B024CBSMsg1List");

			for(int i = 0; i < childList.size(); i++){
				X31SDataBeanAccess subbean = null;
				if(listKKSV006223SC_EKK0081B024CBSMsg1List.getCount() -1 >= i){
					subbean = listKKSV006223SC_EKK0081B024CBSMsg1List.getDataBean(i);
				}else{
					subbean = listKKSV006223SC_EKK0081B024CBSMsg1List.addDataBean();
				}
				
				if (subbean == null) {
					continue;
				}

				// サービス契約履歴一覧照会明細.サービス契約ステータス ← サービス契約履歴一覧照会マップ.サービス契約履歴一覧照会明細.サービス契約ステータス
				if (parentMap != null) {
					bean[0].sendMessageString("サービス契約ステータス", X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("svc_kei_stat"));
				} else {
					bean[0].sendMessageString("サービス契約ステータス", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
			}
		}
				
		return bean;
	}
	// ANK-2856-00-00 2016/07/06 ADD END

}