/*********************************************************************
*	All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名		：eo顧客基幹システム
*	モジュール名	：KKSV0171_KKSV0171OPDBMapper
*	ソースファイル名：KKSV0171_KKSV0171OPDBMapper.java
*	作成者			：富士通
*	日付			：2012年04月09日
*＜機能概要＞
*	BP（トーキ登録移転トーキ設定）へのＤ−Ｂマッピングクラスです。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v1.00.00	2012/04/09	富士通		新規作成
*	v8.00.00	2014/05/15	FJ)星野		OM-2014-0001723
*	v20.00.00	2015/12/16	FJ)柳		【ANK-2648-00-00】【プロジェクト正常化】撤去工事完了後のトーキ登録処理の見直し
*   v72.00.00   2024/06/25  FJ)寺田		ANK-4494-00-00_【eo定期】 双方向番ポ対応
*   v72.00.01   2024/09/24  FJ)寺田		ANK-4494-00-00_【eo定期】 双方向番ポ対応 STEP2
**********************************************************************/
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 com.sun.enterprise.tools.common.util.StringUtils;

import eo.common.util.JKKStringUtil;

import eo.common.constant.JKKStrConst;
import eo.web.webview.KKW05601SF.KKW05601SFConst;
import eo.web.webview.KKW05602SF.KKW05602SFConst;
import eo.web.webview.common.JCCWebCommon;
import eo.web.webview.common.JKKCommonConst;

/**
 * DataBean-BPマッピングをする。
 * 
 */
public class KKSV0171_KKSV0171OPDBMapper {
	
	/**
	 * コンストラクタ
	 */
	public KKSV0171_KKSV0171OPDBMapper(){
	}
	
// ANK-4494-00-00 STEP2 ADD START
	/** 移転トーキ登録コード コード区分 */
	/** 移転先登録によるトーキ */
	private static final String ITENSAKI_ADD_TOKI = "1";
	/** 移転元解約によるトーキ */
	private static final String ITENMOTO_DSL_TOKI = "2";
	/** 休止によるトーキ */
	private static final String PAUSE_TOKI = "3";
	/** 希望有無入力 */
	private static final String KIBO_UMU_INPUT_TOKI = "4";
// ANK-4494-00-00 STEP2 ADD END
	
	/**
	 * 上りマッピングをする
	 * @param bean　[0]：トーキ登録
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV017101SC(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);

		// ＳＹＳＩＤ → お客様一意照会.ＫＥＹ＿SYSID
		parentMap.put("key_sysid", bean[0].sendMessageString("ＳＹＳＩＤ", X31CWebConst.DATABEAN_GET_VALUE));
		// 運用日 → お客様一意照会.ＫＥＹ＿予約適用年月日
		parentMap.put("key_rsv_aply_ymd", bean[0].sendMessageString("運用日", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("KKSV017101SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：トーキ登録
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV017102SC(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("KKSV017102SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：トーキ登録
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV017103SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code) {
		
		if(bean == null){
			return null;
		}
		
		if(bean.length != 1){
			return null;
		}

		X31SDataBeanAccessArray arraybean = null;
		X31SDataBeanAccess beanTemp = null;
		ArrayList list = null;

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		// ＳＹＳＩＤ → 申込内容承認登録.SYSID
		parentMap.put("sysid", bean[0].sendMessageString("ＳＹＳＩＤ", X31CWebConst.DATABEAN_GET_VALUE));
		// 申込種別コード → 申込内容承認登録.申込種別コード
		parentMap.put("mskm_sbt_cd", bean[0].sendMessageString("申込種別コード", X31CWebConst.DATABEAN_GET_VALUE));
		// 運用年月日時分秒 → 申込内容承認登録.申込受付年月日時分秒
		parentMap.put("mskm_uk_dtm", bean[0].sendMessageString("運用年月日時分秒", X31CWebConst.DATABEAN_GET_VALUE));
		// 運用日 → 申込内容承認登録.申込年月日
		parentMap.put("mskm_ymd", bean[0].sendMessageString("運用日", X31CWebConst.DATABEAN_GET_VALUE));
		// コンシューマ営業用申込状態識別コード → 申込内容承認登録.コンシューマ営業用申込状態識別コード
		parentMap.put("consmbsn_mskm_stat_skbt_cd", bean[0].sendMessageString("コンシューマ営業用申込状態識別コード", X31CWebConst.DATABEAN_GET_VALUE));

		beanTemp = bean[0];
		arraybean = beanTemp.getDataBeanArray("申込内容承認登録明細");
		if(parentMap.containsKey("EKK0011D020CBSMsg1List")){
			list = (ArrayList)parentMap.get("EKK0011D020CBSMsg1List");
		}else{
			list = new ArrayList();
		}
		if(arraybean != null && arraybean.getCount() > 0){
			for(int i = 0; i < arraybean.getCount(); i++){
				X31SDataBeanAccess subbean = arraybean.getDataBean(i);
				HashMap childMap = null;
				if(list.size() -1 >= i){
					childMap = (HashMap)list.get(i);
				}else{
					childMap = new HashMap();
				}

				// 申込内容承認登録明細.申込形態コード → 申込内容承認登録.申込登録明細.申込形態コード
				if (subbean != null) {
					childMap.put("mskm_form_cd", subbean.sendMessageString("申込形態コード", X31CWebConst.DATABEAN_GET_VALUE));
				}
				// 申込内容承認登録明細.申込明細種別コード → 申込内容承認登録.申込登録明細.申込明細種別コード
				if (subbean != null) {
					childMap.put("mskm_dtl_sbt_cd", subbean.sendMessageString("申込明細種別コード", X31CWebConst.DATABEAN_GET_VALUE));
				}

				list.add(childMap);
			}
		}
		parentMap.put("EKK0011D020CBSMsg1List", list);

		outputMap.put("KKSV017103SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：トーキ登録
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV017104SC(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 add_cd = bean[0].sendMessageString("移転トーキ登録コード", X31CWebConst.DATABEAN_GET_VALUE);
		
		// サービス契約内訳番号 → サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.サービス契約内訳番号
		parentMap.put("svc_kei_ucwk_no", bean[0].sendMessageString("サービス契約内訳番号", X31CWebConst.DATABEAN_GET_VALUE));
		// 運用日 → サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.予約適用年月日
		parentMap.put("rsv_aply_ymd", bean[0].sendMessageString("運用日", X31CWebConst.DATABEAN_GET_VALUE));
		// 異動区分 → サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.異動区分
		parentMap.put("ido_div", bean[0].sendMessageString("異動区分", X31CWebConst.DATABEAN_GET_VALUE));

		// ANK-1293-00-00 suzuki mod start
//		if("2".equals(add_cd) || "3".equals(add_cd))
		if("2".equals(add_cd) || "3".equals(add_cd) || "4".equals(add_cd))
		// ANK-1293-00-00 suzuki mod end
		{
			// 移転トーキ登録コード → サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.解約・休止トーキ登録コード
			parentMap.put("dsl_pause_toki_add_cd", bean[0].sendMessageString("移転トーキ登録コード", X31CWebConst.DATABEAN_GET_VALUE));
			// 移転トーキ種別コード → サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.解約・休止トーキ種別コード
			parentMap.put("dsl_pause_toki_sbt_cd", bean[0].sendMessageString("移転トーキ種別コード", X31CWebConst.DATABEAN_GET_VALUE));
			// 移転トーキ希望有無 → サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.解約・休止トーキ希望有無
			parentMap.put("dsl_pause_toki_kibo_um", bean[0].sendMessageString("移転トーキ希望有無", X31CWebConst.DATABEAN_GET_VALUE));
			// 移転トーキ手動開始予定年月日 → サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.解約・休止トーキ開始予定年月日
			parentMap.put("dsl_pause_toki_sta_rsymd", bean[0].sendMessageString("移転トーキ手動開始予定年月日", X31CWebConst.DATABEAN_GET_VALUE));
			// 移転トーキ開始年月日 → サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.解約・休止トーキ開始年月日
			parentMap.put("dsl_pause_toki_sta_ymd", bean[0].sendMessageString("移転トーキ開始年月日", X31CWebConst.DATABEAN_GET_VALUE));
			// 移転トーキ終了予定年月日 → サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.解約・休止トーキ終了予定年月日
			parentMap.put("dsl_pause_toki_end_rsymd", bean[0].sendMessageString("移転トーキ終了予定年月日", X31CWebConst.DATABEAN_GET_VALUE));
			// 移転トーキ終了年月日 → サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.解約・休止トーキ終了年月日
			parentMap.put("dsl_pause_toki_end_ymd", bean[0].sendMessageString("移転トーキ終了年月日", X31CWebConst.DATABEAN_GET_VALUE));
			// トーキ転送先電話番号 → サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.解約・休止トーキ転送先電話番号
			parentMap.put("dsl_pause_toki_tss_tln", bean[0].sendMessageString("トーキ転送先電話番号", X31CWebConst.DATABEAN_GET_VALUE));
		}
		else
		{
			// 移転トーキ登録コード → サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.移転先開通後トーキ登録コード
			parentMap.put("itens_opaf_toki_add_cd", bean[0].sendMessageString("移転トーキ登録コード", X31CWebConst.DATABEAN_GET_VALUE));
			// 移転トーキ種別コード → サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.移転先開通後トーキ種別コード
			parentMap.put("itens_opaf_toki_sbt_cd", bean[0].sendMessageString("移転トーキ種別コード", X31CWebConst.DATABEAN_GET_VALUE));
			// 移転トーキ希望有無 → サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.移転先開通後トーキ希望有無
			parentMap.put("itens_opaf_toki_kibo_um", bean[0].sendMessageString("移転トーキ希望有無", X31CWebConst.DATABEAN_GET_VALUE));
			// 移転トーキ手動開始予定年月日 → サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.移転先開通後トーキ開始予定年月日
			parentMap.put("itens_opaf_toki_sta_rsymd", bean[0].sendMessageString("移転トーキ手動開始予定年月日", X31CWebConst.DATABEAN_GET_VALUE));
			// 移転トーキ開始年月日 → サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.移転先開通後トーキ開始年月日
			parentMap.put("itens_opaf_toki_sta_ymd", bean[0].sendMessageString("移転トーキ開始年月日", X31CWebConst.DATABEAN_GET_VALUE));
			// 移転トーキ終了予定年月日 → サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.移転先開通後トーキ終了予定年月日
			parentMap.put("itens_opaf_toki_end_rsymd", bean[0].sendMessageString("移転トーキ終了予定年月日", X31CWebConst.DATABEAN_GET_VALUE));
			// 移転トーキ終了年月日 → サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.移転先開通後トーキ終了年月日
			parentMap.put("itens_opaf_toki_end_ymd", bean[0].sendMessageString("移転トーキ終了年月日", X31CWebConst.DATABEAN_GET_VALUE));
// IT1-2013-0000321 2013.02.28 suzuki add start
			// トーキ転送先サービス契約内訳番号 → サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.移転先開通後トーキ転送先サービス契約内訳番号
			parentMap.put("itns_opaf_toki_tss_svkuwno", bean[0].sendMessageString("トーキ転送先サービス契約内訳番号", X31CWebConst.DATABEAN_GET_VALUE));
// IT1-2013-0000321 2013.02.28 suzuki add start
		}

		// サービス契約内訳＜ｅｏ光電話＞更新年月日時分秒 → サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.更新年月日時分秒（更新前）
		// IT2-2012-0001871 suzuki mod start
//		parentMap.put("upd_dtm_bf", bean[0].sendMessageString("サービス契約内訳＜ｅｏ光電話＞更新年月日時分秒", X31CWebConst.DATABEAN_GET_VALUE));
		parentMap.put("upd_dtm_bf", bean[0].sendMessageString("サービス契約更新年月日時分秒", X31CWebConst.DATABEAN_GET_VALUE));
		// IT2-2012-0001871 suzuki mod end

		outputMap.put("KKSV017104SC", parentMap);
						
		return outputMap;
	}

//OT-2013-0000311 電番変更対応 2013.03.23 suzuki add start
	/**
	 * 上りマッピングをする。トーキ変更・解除画面用。
	 * @param bean　[0]：トーキ登録
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV017104_2SC(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 add_cd = bean[0].sendMessageString("移転トーキ登録コード", X31CWebConst.DATABEAN_GET_VALUE);
		
		// サービス契約内訳番号 → サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.サービス契約内訳番号
		parentMap.put("svc_kei_ucwk_no", bean[0].sendMessageString("サービス契約内訳番号", X31CWebConst.DATABEAN_GET_VALUE));
		// 運用日 → サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.予約適用年月日
		parentMap.put("rsv_aply_ymd", bean[0].sendMessageString("運用日", X31CWebConst.DATABEAN_GET_VALUE));
		// 異動区分 → サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.異動区分
		parentMap.put("ido_div", bean[0].sendMessageString("異動区分", X31CWebConst.DATABEAN_GET_VALUE));

		
		// 更新しない側の情報が消えてしまうので、更新前の情報で初期化する。
		String itenKibo="";
		String tokiSbtCd="";
		String tokiAddCd="";
		String itenTokiStaRsvYmd="";
		String itenTokiEndRsvYmd="";
		String itenTokiStaYmd="";
		String itenTokiEndYmd="";
		String tokiTensoSkTelno="";
		String tokiTensoSkSvkuwno="";
		
		// 初期表示時に取得した情報を取得
		X31SDataBeanAccessArray svcUtwkEoTelBeanList = bean[0].getDataBeanArray("サービス契約内訳＜ｅｏ光電話＞一意照会明細");
		X31SDataBeanAccess svcUtwkEoTelBean = svcUtwkEoTelBeanList.getDataBean(0);

		itenKibo = svcUtwkEoTelBean.sendMessageString(KKW05602SFConst.ITNTOKI_KIBO_UM_05, X31CWebConst.DATABEAN_GET_VALUE);
		tokiSbtCd = svcUtwkEoTelBean.sendMessageString(KKW05602SFConst.ITNTOKI_SBT_CD_05, X31CWebConst.DATABEAN_GET_VALUE);
		tokiAddCd = svcUtwkEoTelBean.sendMessageString(KKW05602SFConst.ITNTOKI_ADD_CD_05, X31CWebConst.DATABEAN_GET_VALUE);
		itenTokiStaRsvYmd = svcUtwkEoTelBean.sendMessageString(KKW05602SFConst.ITNTOKI_MAN_STA_RSV_YMD_05, X31CWebConst.DATABEAN_GET_VALUE);
		itenTokiEndRsvYmd = svcUtwkEoTelBean.sendMessageString(KKW05602SFConst.ITNTOKI_END_RSV_YMD_05, X31CWebConst.DATABEAN_GET_VALUE);
		itenTokiStaYmd = svcUtwkEoTelBean.sendMessageString(KKW05602SFConst.ITNTOKI_STA_YMD_05, X31CWebConst.DATABEAN_GET_VALUE);
		itenTokiEndYmd = svcUtwkEoTelBean.sendMessageString(KKW05602SFConst.ITNTOKI_END_YMD_05, X31CWebConst.DATABEAN_GET_VALUE);
		tokiTensoSkTelno =  svcUtwkEoTelBean.sendMessageString(KKW05602SFConst.TOKI_TENSO_SK_TELNO_05, X31CWebConst.DATABEAN_GET_VALUE);
		tokiTensoSkSvkuwno = svcUtwkEoTelBean.sendMessageString(KKW05602SFConst.TOKI_TENSO_SK_SVKUWNO_05, X31CWebConst.DATABEAN_GET_VALUE);

		// 移転トーキ登録コード → サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.解約・休止トーキ登録コード
		parentMap.put("dsl_pause_toki_add_cd", tokiAddCd);
		// 移転トーキ種別コード → サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.解約・休止トーキ種別コード
		parentMap.put("dsl_pause_toki_sbt_cd", tokiSbtCd);
		// 移転トーキ希望有無 → サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.解約・休止トーキ希望有無
		parentMap.put("dsl_pause_toki_kibo_um", itenKibo);
		// 移転トーキ手動開始予定年月日 → サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.解約・休止トーキ開始予定年月日
		parentMap.put("dsl_pause_toki_sta_rsymd", itenTokiStaRsvYmd);
		// 移転トーキ開始年月日 → サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.解約・休止トーキ開始年月日
		parentMap.put("dsl_pause_toki_sta_ymd", itenTokiStaYmd);
// OM-2014-0001723対応 20140515 星野 ADD START
		// 変更前情報を別項目に保持（SOD発行要否判定のため、JKKSV017101CCReqChk.javaで使用）
		parentMap.put("kksv0171_chbf_dsl_pause_toki_sta_ymd", itenTokiStaYmd);
// OM-2014-0001723対応 20140515 星野 ADD END
		// 移転トーキ終了予定年月日 → サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.解約・休止トーキ終了予定年月日
		parentMap.put("dsl_pause_toki_end_rsymd", itenTokiEndRsvYmd);
		// 移転トーキ終了年月日 → サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.解約・休止トーキ終了年月日
		parentMap.put("dsl_pause_toki_end_ymd", itenTokiEndYmd);
// OM-2014-0001723対応 20140515 星野 ADD START
		// 変更前情報を別項目に保持（SOD発行要否判定のため、JKKSV017101CCReqChk.javaで使用）
		parentMap.put("kksv0171_chbf_dsl_pause_toki_end_ymd", itenTokiEndYmd);
// OM-2014-0001723対応 20140515 星野 ADD END
		// トーキ転送先電話番号 → サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.解約・休止トーキ転送先電話番号
		parentMap.put("dsl_pause_toki_tss_tln", tokiTensoSkTelno);
		
		itenKibo = svcUtwkEoTelBean.sendMessageString(KKW05602SFConst.ITENS_OPAF_TOKI_KIBO_UM_05, X31CWebConst.DATABEAN_GET_VALUE);
		tokiSbtCd = svcUtwkEoTelBean.sendMessageString(KKW05602SFConst.ITENS_OPAF_TOKI_SBT_CD_05, X31CWebConst.DATABEAN_GET_VALUE);
		tokiAddCd = svcUtwkEoTelBean.sendMessageString(KKW05602SFConst.ITENS_OPAF_TOKI_ADD_CD_05, X31CWebConst.DATABEAN_GET_VALUE);
		itenTokiStaRsvYmd = svcUtwkEoTelBean.sendMessageString(KKW05602SFConst.ITENS_OPAF_TOKI_STA_RSYMD_05, X31CWebConst.DATABEAN_GET_VALUE);
		itenTokiEndRsvYmd = svcUtwkEoTelBean.sendMessageString(KKW05602SFConst.ITENS_OPAF_TOKI_END_RSYMD_05, X31CWebConst.DATABEAN_GET_VALUE);
		itenTokiStaYmd = svcUtwkEoTelBean.sendMessageString(KKW05602SFConst.ITENS_OPAF_TOKI_STA_YMD_05, X31CWebConst.DATABEAN_GET_VALUE);
		itenTokiEndYmd = svcUtwkEoTelBean.sendMessageString(KKW05602SFConst.ITENS_OPAF_TOKI_END_YMD_05, X31CWebConst.DATABEAN_GET_VALUE);
		tokiTensoSkTelno = "";
		tokiTensoSkSvkuwno = svcUtwkEoTelBean.sendMessageString(KKW05602SFConst.ITNS_OPAF_TOKI_TSS_SVKUWNO_05, X31CWebConst.DATABEAN_GET_VALUE);

		// 移転トーキ登録コード → サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.移転先開通後トーキ登録コード
		parentMap.put("itens_opaf_toki_add_cd", tokiAddCd);
		// 移転トーキ種別コード → サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.移転先開通後トーキ種別コード
		parentMap.put("itens_opaf_toki_sbt_cd", tokiSbtCd);
		// 移転トーキ希望有無 → サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.移転先開通後トーキ希望有無
		parentMap.put("itens_opaf_toki_kibo_um", itenKibo);
		// 移転トーキ手動開始予定年月日 → サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.移転先開通後トーキ開始予定年月日
		parentMap.put("itens_opaf_toki_sta_rsymd", itenTokiStaRsvYmd);
		// 移転トーキ開始年月日 → サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.移転先開通後トーキ開始年月日
		parentMap.put("itens_opaf_toki_sta_ymd", itenTokiStaYmd);
// OM-2014-0001723対応 20140515 星野 ADD START
		// 変更前情報を別項目に保持（SOD発行要否判定のため、JKKSV017101CCReqChk.javaで使用）
		parentMap.put("kksv0171_chbf_itens_opaf_toki_sta_ymd", itenTokiStaYmd);
// OM-2014-0001723対応 20140515 星野 ADD END
		// 移転トーキ終了予定年月日 → サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.移転先開通後トーキ終了予定年月日
		parentMap.put("itens_opaf_toki_end_rsymd", itenTokiEndRsvYmd);
		// 移転トーキ終了年月日 → サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.移転先開通後トーキ終了年月日
		parentMap.put("itens_opaf_toki_end_ymd", itenTokiEndYmd);
// OM-2014-0001723対応 20140515 星野 ADD START
		// 変更前情報を別項目に保持（SOD発行要否判定のため、JKKSV017101CCReqChk.javaで使用）
		parentMap.put("kksv0171_chbf_itens_opaf_toki_end_ymd", itenTokiEndYmd);
// OM-2014-0001723対応 20140515 星野 ADD END
		// トーキ転送先サービス契約内訳番号 → サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.移転先開通後トーキ転送先サービス契約内訳番号
		parentMap.put("itns_opaf_toki_tss_svkuwno", tokiTensoSkSvkuwno);
		
		// 初期化終わり。
		// 以後、更新したい項目を上書きする。
		
		// ANK-1293-00-00 suzuki mod start
//		if("2".equals(add_cd) || "3".equals(add_cd))
		if("2".equals(add_cd) || "3".equals(add_cd) || "4".equals(add_cd))
		// ANK-1293-00-00 suzuki mod end
		{
			// 移転トーキ登録コード → サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.解約・休止トーキ登録コード
			parentMap.put("dsl_pause_toki_add_cd", bean[0].sendMessageString("移転トーキ登録コード", X31CWebConst.DATABEAN_GET_VALUE));
			// 移転トーキ種別コード → サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.解約・休止トーキ種別コード
			parentMap.put("dsl_pause_toki_sbt_cd", bean[0].sendMessageString("移転トーキ種別コード", X31CWebConst.DATABEAN_GET_VALUE));
			// 移転トーキ希望有無 → サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.解約・休止トーキ希望有無
			parentMap.put("dsl_pause_toki_kibo_um", bean[0].sendMessageString("移転トーキ希望有無", X31CWebConst.DATABEAN_GET_VALUE));
			// 移転トーキ手動開始予定年月日 → サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.解約・休止トーキ開始予定年月日
			parentMap.put("dsl_pause_toki_sta_rsymd", bean[0].sendMessageString("移転トーキ手動開始予定年月日", X31CWebConst.DATABEAN_GET_VALUE));
			// 移転トーキ開始年月日 → サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.解約・休止トーキ開始年月日
			parentMap.put("dsl_pause_toki_sta_ymd", bean[0].sendMessageString("移転トーキ開始年月日", X31CWebConst.DATABEAN_GET_VALUE));
			// 移転トーキ終了予定年月日 → サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.解約・休止トーキ終了予定年月日
			parentMap.put("dsl_pause_toki_end_rsymd", bean[0].sendMessageString("移転トーキ終了予定年月日", X31CWebConst.DATABEAN_GET_VALUE));
			// 移転トーキ終了年月日 → サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.解約・休止トーキ終了年月日
			parentMap.put("dsl_pause_toki_end_ymd", bean[0].sendMessageString("移転トーキ終了年月日", X31CWebConst.DATABEAN_GET_VALUE));
			// トーキ転送先電話番号 → サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.解約・休止トーキ転送先電話番号
			parentMap.put("dsl_pause_toki_tss_tln", bean[0].sendMessageString("トーキ転送先電話番号", X31CWebConst.DATABEAN_GET_VALUE));
		}
		else
		{
			// 移転トーキ登録コード → サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.移転先開通後トーキ登録コード
			parentMap.put("itens_opaf_toki_add_cd", bean[0].sendMessageString("移転トーキ登録コード", X31CWebConst.DATABEAN_GET_VALUE));
			// 移転トーキ種別コード → サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.移転先開通後トーキ種別コード
			parentMap.put("itens_opaf_toki_sbt_cd", bean[0].sendMessageString("移転トーキ種別コード", X31CWebConst.DATABEAN_GET_VALUE));
			// 移転トーキ希望有無 → サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.移転先開通後トーキ希望有無
			parentMap.put("itens_opaf_toki_kibo_um", bean[0].sendMessageString("移転トーキ希望有無", X31CWebConst.DATABEAN_GET_VALUE));
			// 移転トーキ手動開始予定年月日 → サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.移転先開通後トーキ開始予定年月日
			parentMap.put("itens_opaf_toki_sta_rsymd", bean[0].sendMessageString("移転トーキ手動開始予定年月日", X31CWebConst.DATABEAN_GET_VALUE));
			// 移転トーキ開始年月日 → サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.移転先開通後トーキ開始年月日
			parentMap.put("itens_opaf_toki_sta_ymd", bean[0].sendMessageString("移転トーキ開始年月日", X31CWebConst.DATABEAN_GET_VALUE));
			// 移転トーキ終了予定年月日 → サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.移転先開通後トーキ終了予定年月日
			parentMap.put("itens_opaf_toki_end_rsymd", bean[0].sendMessageString("移転トーキ終了予定年月日", X31CWebConst.DATABEAN_GET_VALUE));
			// 移転トーキ終了年月日 → サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.移転先開通後トーキ終了年月日
			parentMap.put("itens_opaf_toki_end_ymd", bean[0].sendMessageString("移転トーキ終了年月日", X31CWebConst.DATABEAN_GET_VALUE));
// IT1-2013-0000321 2013.02.28 suzuki add start
			// トーキ転送先サービス契約内訳番号 → サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.移転先開通後トーキ転送先サービス契約内訳番号
			parentMap.put("itns_opaf_toki_tss_svkuwno", bean[0].sendMessageString("トーキ転送先サービス契約内訳番号", X31CWebConst.DATABEAN_GET_VALUE));
// IT1-2013-0000321 2013.02.28 suzuki add start
		}

		// サービス契約内訳＜ｅｏ光電話＞更新年月日時分秒 → サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.更新年月日時分秒（更新前）
		// IT2-2012-0001871 suzuki mod start
//		parentMap.put("upd_dtm_bf", bean[0].sendMessageString("サービス契約内訳＜ｅｏ光電話＞更新年月日時分秒", X31CWebConst.DATABEAN_GET_VALUE));
		parentMap.put("upd_dtm_bf", bean[0].sendMessageString("サービス契約更新年月日時分秒", X31CWebConst.DATABEAN_GET_VALUE));
		// IT2-2012-0001871 suzuki mod end

		outputMap.put("KKSV017104SC", parentMap);
						
		return outputMap;
	}
//OT-2013-0000311 電番変更対応 2013.03.23 suzuki add end

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：トーキ登録
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV017105SC(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("kzkwrk_reqymd", bean[0].sendMessageString("運用日", X31CWebConst.DATABEAN_GET_VALUE));
		// 異動区分 → 申込明細照査・後続業務依頼.異動区分
		parentMap.put("ido_div", bean[0].sendMessageString("異動区分", X31CWebConst.DATABEAN_GET_VALUE));
		// トーキ対象電話番号 → 申込明細照査・後続業務依頼.電話番号
		parentMap.put("telno", bean[0].sendMessageString("トーキ対象電話番号", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("KKSV017105SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：トーキ登録
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV017106SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code) {
		
		if(bean == null){
			return null;
		}
		
		if(bean.length != 1){
			return null;
		}

		X31SDataBeanAccessArray arraybean = null;
		X31SDataBeanAccess beanTemp = null;
		ArrayList list = 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("svc_kei_ucwk_no", bean[0].sendMessageString("サービス契約内訳番号", X31CWebConst.DATABEAN_GET_VALUE));
		// 異動区分 → 進捗登録.異動区分
		parentMap.put("ido_div", bean[0].sendMessageString("異動区分", X31CWebConst.DATABEAN_GET_VALUE));
// IT1-2013-0000082 2013.01.15 Y.MORIMOTO MOD START
		// システム日時 → 進捗登録.異動年月日時分秒
//		parentMap.put("ido_dtm", bean[0].sendMessageString("運用年月日時分秒", X31CWebConst.DATABEAN_GET_VALUE));
		parentMap.put("ido_dtm", JCCWebCommon.getSysDateTimeStamp());
// IT1-2013-0000082 2013.01.15 Y.MORIMOTO MOD END
		// 進捗ステータス → 進捗登録.進捗ステータス
		parentMap.put("prg_stat", bean[0].sendMessageString("進捗ステータス", X31CWebConst.DATABEAN_GET_VALUE));

		beanTemp = bean[0];
		arraybean = beanTemp.getDataBeanArray("顧客契約引継リスト");
		if(parentMap.containsKey("EKK1091D010CBSMsg1List")){
			list = (ArrayList)parentMap.get("EKK1091D010CBSMsg1List");
		}else{
			list = new ArrayList();
		}
		if(arraybean != null && arraybean.getCount() > 0){
			for(int i = 0; i < arraybean.getCount(); i++){
				X31SDataBeanAccess subbean = arraybean.getDataBean(i);
//				HashMap childMap = null;
//				if(list.size() -1 >= i){
//					childMap = (HashMap)list.get(i);
//				}else{
//					childMap = new HashMap();
//				}
//
//				// 顧客契約引継リスト.異動理由コード → 進捗登録.異動理由明細.異動理由コード
//				if (subbean != null) {
//					childMap.put("ido_rsn_cd", subbean.sendMessageString("異動理由コード", X31CWebConst.DATABEAN_GET_VALUE));
//				}
				
				HashMap childMap = null;
				int cnt = (Integer)subbean.sendMessage(KKW05601SFConst.IDO_RSN_CD_11, X31CWebConst.DATABEAN_GET_COUNT);
				for (int j=0; j < cnt; j++) {
					if(list.size() -1 >= j){
						childMap = (HashMap)list.get(j);
					}else{
						childMap = new HashMap();
					}

					// 顧客契約引継リスト.異動理由コード → 進捗登録.異動理由明細.異動理由コード
					if (subbean != null) {
						childMap.put("ido_rsn_cd", subbean.sendMessageString("異動理由コード", X31CWebConst.DATABEAN_GET_VALUE, j));
					}
					// 顧客契約引継リスト.異動理由メモ → 進捗登録.異動理由明細.異動理由メモ
					if (subbean != null) {
						childMap.put("ido_rsn_memo", subbean.sendMessageString("異動理由メモ", X31CWebConst.DATABEAN_GET_VALUE));
					}

					list.add(childMap);
				}
			}
		}
		parentMap.put("EKK1091D010CBSMsg1List", list);

		outputMap.put("KKSV017106SC", parentMap);
						
		return outputMap;
	}
	
	// ANK-2648-00-00 20151217 柳 ADD START
	/**
	 * 上りマッピングをする
	 * @param bean　[0]：トーキ登録
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV017107SC(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_adchg_dtl_sbt_cd", "02");

		// 顧客契約引継リスト.サービス契約内訳番号 → 住所変更明細一覧照会（変更前識別番号）.ＫＥＹ＿変更前識別番号
		parentMap.put("key_chbf_skbt_no", bean[0].sendMessageString(KKW05601SFConst.SVC_KEI_UCWK_NO, X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("KKSV017107SC", parentMap);

		return outputMap;
	}
	
	/**
	 * 上りマッピングをする
	 * @param bean　[0]：トーキ登録
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV017108SC(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("KKSV017108SC", parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：トーキ登録
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV017109SC(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("KKSV017109SC", parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：トーキ登録
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV017110SC(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(KKW05601SFConst.SVC_KEI_NO, X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("KKSV017110SC", parentMap);

		return outputMap;
	}
	/**
	 * 上りマッピングをする
	 * @param bean　[0]：トーキ登録
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV017111SC(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("KKSV017111SC", parentMap);

		return outputMap;
	}
	// ANK-2648-00-00 20151217 柳 ADD END
	
	/**
	 * 上りマッピングをする
	 * @param bean　[0]：トーキ登録
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV017101CC(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);
		
		// 対象データリスト
		ArrayList<Object> targetList = new ArrayList<Object>();
		HashMap<String, Object> map = new HashMap<String, Object>();
		// SOD基本情報
		HashMap<String, Object> sodKihonInfoMap = new HashMap<String, Object>();
		
		// SYSID
		sodKihonInfoMap.put("sysid",  bean[0].sendMessageString("ＳＹＳＩＤ", X31CWebConst.DATABEAN_GET_VALUE));
		// 異動区分
		sodKihonInfoMap.put("ido_div", bean[0].sendMessageString("異動区分", X31CWebConst.DATABEAN_GET_VALUE));
		
		// サービス契約情報
		HashMap<String, Object> svcKeiyakuInfo = new HashMap<String, Object>();
		// サービス契約番号
		svcKeiyakuInfo.put("svc_kei_no", bean[0].sendMessageString("サービス契約番号", X31CWebConst.DATABEAN_GET_VALUE));
		
		// サービス契約内訳情報
		HashMap<String, Object> svcUcwkKeiyakuInfo = new HashMap<String, Object>();
		// サービス契約内訳番号
		svcUcwkKeiyakuInfo.put("svc_kei_ucwk_no", bean[0].sendMessageString("サービス契約内訳番号", X31CWebConst.DATABEAN_GET_VALUE));
		// 変更前サービス契約内訳世代登録年月日時分秒
		X31SDataBeanAccessArray list = bean[0].getDataBeanArray(KKW05601SFConst.EKK0161A010DETAILLIST);
		X31SDataBeanAccess subbean = list.getDataBean(0);
		svcUcwkKeiyakuInfo.put("chbf_svc_kei_ucwk_gene_add_dtm", 
								subbean.sendMessageString(KKW05601SFConst.GENE_ADD_DTM_04, X31CWebConst.DATABEAN_GET_VALUE));
		
		parentMap.put("trgt_data_list", targetList);
		targetList.add(map);
		map.put("sod_kihon_info", sodKihonInfoMap);
		map.put("svc_kei_info", svcKeiyakuInfo);
		map.put("svc_kei_ucwk_info", svcUcwkKeiyakuInfo);
		
		outputMap.put("trgt_data", parentMap);

		return outputMap;
	}

// ANK-4494-00-00 ADD START 
	/**
	 * 上りマッピングをする 電話番号状態判定CC 登録画面用
	 * @param bean　[0]：トーキ登録
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setTELNOSTATJUDGECC(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);
		// Operationで更新or解除によって処理の判断をするフラグ
		// 登録用であるため、区別のために固定値0を設定
		parentMap.put("upd_cancel_flg", "0");

		// トーキ対象電話番号 OPOperationにて再設定する。
		// トーキ対象電話番号 → 電話番号状態判定マップ.ＫＥＹ＿電話番号
		parentMap.put("key_telno", bean[0].sendMessageString("トーキ対象電話番号", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("TELNOSTATJUDGECC", parentMap);

		return outputMap;
	}
	/**
	 * 上りマッピングをする 電話番号状態判定CC 更新・解除画面用
	 * @param bean　[0]：トーキ登録
	 * @param outputMap
	 * @param func_code　機能コード
	 * @param upd_cancel_flg　更新解除フラグ
	 * 
	 */
	@SuppressWarnings("unchecked")
	public HashMap setTELNOSTATJUDGECC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code, String upd_cancel_flg)
	{
		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);
		
		// Operationで更新or解除によって処理の判断をするフラグ 更新：1 解除：2
		parentMap.put("upd_cancel_flg", upd_cancel_flg);
		
		// トーキ対象電話番号 OPOperationにて再設定する。
		// トーキ対象電話番号 → 電話番号状態判定マップ.ＫＥＹ＿電話番号
		parentMap.put("key_telno", bean[0].sendMessageString("トーキ対象電話番号", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("TELNOSTATJUDGECC", parentMap);

		return outputMap;
	}

// ANK-4494-00-00 ADD END
// ANK-4494-00-00 STEP2 ADD START
	/**
	 * 上りマッピングをする
	 * @param bean　[0]：トーキ登録
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV017112SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code, String add_upd_cancel_flg)
	{
		if (bean == null)
		{
			return null;
		}
		if (bean.length != 1)
		{
			return null;
		}

		// サービス契約内訳一意照会明細．サービス契約ステータスを取得する。
		X31SDataBeanAccessArray svcKeiUcwList = (X31SDataBeanAccessArray) bean[0].getDataBeanArray(KKW05601SFConst.EKK0161A010DETAILLIST);
		X31SDataBeanAccess svcKeiUcw = svcKeiUcwList.getDataBean(0);
		String svcKeiUcwkStat = svcKeiUcw.sendMessageString(KKW05602SFConst.SVC_KEI_UCWK_STAT_04, X31CWebConst.DATABEAN_GET_VALUE);

		// サービス契約内訳＜ｅｏ光電話＞一意照会明細．移転トーキ開始年月日(解約・休止トーキ開始年月日)を取得する。
		X31SDataBeanAccessArray svcUtwkEoTelBeanList = bean[0].getDataBeanArray(KKW05601SFConst.EKK0191A010DETAILLIST);
		X31SDataBeanAccess svcUtwkEoTelBean = svcUtwkEoTelBeanList.getDataBean(0);
		String itenTokiStaYmd = svcUtwkEoTelBean.sendMessageString(KKW05602SFConst.ITNTOKI_STA_YMD_05, X31CWebConst.DATABEAN_GET_VALUE);

		// 移転先開通後トーキ開始年月日を取得する
		String itensOpafTokiStaYmd = svcUtwkEoTelBean.sendMessageString(KKW05602SFConst.ITENS_OPAF_TOKI_STA_YMD_05, X31CWebConst.DATABEAN_GET_VALUE);

		// 連絡先電話番号を取得する
		String rrksTelNo = bean[0].sendMessageString(KKW05601SFConst.RRKS_TELNO, X31CWebConst.DATABEAN_GET_VALUE);
		// 連絡先電話番号に紐づくサービスステータス
		String rrksSvcKeiUcwkStat = "";
		X31SDataBeanAccessArray ekk0191b003List = (X31SDataBeanAccessArray) bean[0].getDataBeanArray(KKW05601SFConst.EKK0191B003DETAILLIST);
		for (int cnt = 0; cnt < ekk0191b003List.getCount(); cnt++)
		{
			X31SDataBeanAccess ekk0191b003Bean = ekk0191b003List.getDataBean(cnt);
			String telno = ekk0191b003Bean.sendMessageString(KKW05601SFConst.TELNO_14, X31CWebConst.DATABEAN_GET_VALUE);
			String rrks_Stat = ekk0191b003Bean.sendMessageString(KKW05601SFConst.SVC_KEI_UCWK_STAT_14, X31CWebConst.DATABEAN_GET_VALUE);

			if (telno.equals(rrksTelNo))
			{
				rrksSvcKeiUcwkStat = rrks_Stat;
				break;
			}
		}
		
		// トーキ登録区分を取得
		String tokiAddDiv = bean[0].sendMessageString(KKW05601SFConst.ITNTOKI_ADD_CD_11, X31CWebConst.DATABEAN_GET_VALUE);

		// 電話番号一意照会
		X31SDataBeanAccess ezm0121InfoBean = bean[0].getDataBeanArray(KKW05601SFConst.EZM0121A010DETAILLIST).getDataBean(0);
		if (ezm0121InfoBean != null)
		{
			// 電話番号一意照会のデータありの場合、初期個人法人番号帯コードを取得する。
			String shk_kojin_hojin_tln_tai_cd = ezm0121InfoBean.sendMessageString(KKW05601SFConst.SHK_KOJIN_HOJIN_TLN_TAI_CD_21, X31CWebConst.DATABEAN_GET_VALUE);

			if (
					("0".equals(add_upd_cancel_flg) &&
					JKKCommonConst.SVC_KEI_STAT_910.equals(svcKeiUcwkStat) &&
					(
					ITENMOTO_DSL_TOKI.equals(tokiAddDiv) ||
						(ITENSAKI_ADD_TOKI.equals(tokiAddDiv) && "100".equals(rrksSvcKeiUcwkStat))
					) &&
					JKKStrConst.CD00410_HOJIN.equals(shk_kojin_hojin_tln_tai_cd)
					)
					|| 
					("2".equals(add_upd_cancel_flg) &&
							JKKCommonConst.SVC_KEI_STAT_910.equals(svcKeiUcwkStat) &&
							(
							!JKKStringUtil.isNullBlank(itenTokiStaYmd) || !JKKStringUtil.isNullBlank(itensOpafTokiStaYmd)
							) &&
							JKKStrConst.CD00410_HOJIN.equals(shk_kojin_hojin_tln_tai_cd)
					)
				)
			{
				// トーキ登録_0 かつ
				// サービス契約ステータス:解約済:910 かつ
				// トーキ登録区分：移転元解約によるトーキ または、（トーキ登録区分：移転先登録によるトーキかつ連絡先電話番号に紐づくサービス内訳ステータスがサービス提供中）
				// かつ
				// 初期個人法人番号帯コード：法人 の場合、
				// または、
				// トーキ解除_2 かつ
				// サービス契約ステータス:解約済:910 かつ
				// サービス契約内訳<eo光電話>.解約・休止トーキ開始年月日:値あり または サービス契約内訳<eo光電話>.移転先開通後トーキ開始年月日:値あり
				// かつ
				// 初期個人法人番号帯コード：法人 の場合、

				// 電話番号マスタ．個人法人番号帯コードをトーキ登録・解除に沿って更新する。

				HashMap<String, Object> parentMap = new HashMap<String, Object>();

				// 共通情報のマッピング
				parentMap.put("func_code", func_code);

				// 電話番号 → 電話番号変更SC.電話番号
				parentMap.put("telno", ezm0121InfoBean.sendMessageString(KKW05601SFConst.TELNO_21, X31CWebConst.DATABEAN_GET_VALUE));
				// 局番 → 電話番号変更SC.局番
				parentMap.put("kyoku_no", ezm0121InfoBean.sendMessageString(KKW05601SFConst.KYOKU_NO_21, X31CWebConst.DATABEAN_GET_VALUE));
				// 番号コード → 電話番号変更SC.番号コード
				parentMap.put("no_cd", ezm0121InfoBean.sendMessageString(KKW05601SFConst.NO_CD_21, X31CWebConst.DATABEAN_GET_VALUE));
				// 割当通信事業者コード → 電話番号変更SC.割当通信事業者コード
				parentMap.put("wariate_tsjgs_cd", ezm0121InfoBean.sendMessageString(KKW05601SFConst.WARIATE_TSJGS_CD_21, X31CWebConst.DATABEAN_GET_VALUE));
				// 使用通信事業者コード → 電話番号変更SC.使用通信事業者コード
				parentMap.put("use_tsjgs_cd", ezm0121InfoBean.sendMessageString(KKW05601SFConst.USE_TSJGS_CD_21, X31CWebConst.DATABEAN_GET_VALUE));
				// サービス区分 → 電話番号変更SC.サービス区分
				parentMap.put("svc_div", ezm0121InfoBean.sendMessageString(KKW05601SFConst.SVC_DIV_21, X31CWebConst.DATABEAN_GET_VALUE));
				// 引当制約種別コード → 電話番号変更SC.引当制約種別コード
				parentMap.put("hkat_siyk_sbt_cd", ezm0121InfoBean.sendMessageString(KKW05601SFConst.HKAT_SIYK_SBT_CD_21, X31CWebConst.DATABEAN_GET_VALUE));
				// 引当制約設定年月日時分秒 → 電話番号変更SC.引当制約設定年月日時分秒
				parentMap.put("hkat_siyk_set_dtm", ezm0121InfoBean.sendMessageString(KKW05601SFConst.HKAT_SIYK_SET_DTM_21, X31CWebConst.DATABEAN_GET_VALUE));
				// 電話番号説明 → 電話番号変更SC.電話番号説明
				parentMap.put("tln_setmei", ezm0121InfoBean.sendMessageString(KKW05601SFConst.TLN_SETMEI_21, X31CWebConst.DATABEAN_GET_VALUE));
				// Ｃ５サーバ号機識別コード → 電話番号変更SC.C5サーバ号機識別コード
				parentMap.put("c5_server_goki_skbt_cd", ezm0121InfoBean.sendMessageString(KKW05601SFConst.C5_SERVER_GOKI_SKBT_CD_21, X31CWebConst.DATABEAN_GET_VALUE));
				// 電話番号適用開始年月日 → 電話番号変更SC.電話番号適用開始年月日
				parentMap.put("telno_tstaymd", ezm0121InfoBean.sendMessageString(KKW05601SFConst.TELNO_TSTAYMD_21, X31CWebConst.DATABEAN_GET_VALUE));
				// 電話番号適用終了年月日 → 電話番号変更SC.電話番号適用終了年月日
				parentMap.put("telno_tendymd", ezm0121InfoBean.sendMessageString(KKW05601SFConst.TELNO_TENDYMD_21, X31CWebConst.DATABEAN_GET_VALUE));
				// ＮＲＮ番号 → 電話番号変更SC.NRN番号
				parentMap.put("nrn_no", ezm0121InfoBean.sendMessageString(KKW05601SFConst.NRN_NO_21, X31CWebConst.DATABEAN_GET_VALUE));
				// 初回割当年月日 → 電話番号変更SC.初回割当年月日
				parentMap.put("first_wariate_ymd", ezm0121InfoBean.sendMessageString(KKW05601SFConst.FIRST_WARIATE_YMD_21, X31CWebConst.DATABEAN_GET_VALUE));
				// 電話番号更新年月日時分秒 → 電話番号変更SC.更新前最終年月日時分秒
				parentMap.put("last_upd_dtm_bf", ezm0121InfoBean.sendMessageString(KKW05601SFConst.UPD_DTM_21, X31CWebConst.DATABEAN_GET_VALUE));
				// 初期個人法人電話番号帯コード → 電話番号変更SC.初期個人法人電話番号帯コード
				parentMap.put("shk_kojin_hojin_tln_tai_cd", ezm0121InfoBean.sendMessageString(KKW05601SFConst.SHK_KOJIN_HOJIN_TLN_TAI_CD_21, X31CWebConst.DATABEAN_GET_VALUE));
				// 電話番号取得通信事業者コード → 電話番号変更SC.電話番号取得通信事業者コード
				parentMap.put("tln_stku_tsjgs_cd", ezm0121InfoBean.sendMessageString(KKW05601SFConst.TLN_STKU_TSJGS_CD_21, X31CWebConst.DATABEAN_GET_VALUE));
				// 移転元通信事業者コード → 電話番号変更SC.移転元通信事業者コード
				parentMap.put("itnm_tsjgs_cd", ezm0121InfoBean.sendMessageString(KKW05601SFConst.ITNM_TSJGS_CD_21, X31CWebConst.DATABEAN_GET_VALUE));
				// 移転先通信事業者コード → 電話番号変更SC.移転先通信事業者コード
				parentMap.put("itns_tsjgs_cd", ezm0121InfoBean.sendMessageString(KKW05601SFConst.ITNS_TSJGS_CD_21, X31CWebConst.DATABEAN_GET_VALUE));

				if ("0".equals(add_upd_cancel_flg))
				{
					// 登録の場合は、個人へ更新
					// 個人法人電話番号帯コード → 電話番号変更SC.個人法人電話番号帯コード
					parentMap.put("kojin_hojin_tln_tai_cd", JKKStrConst.CD00410_KOJIN);
				}
				else if ("2".equals(add_upd_cancel_flg))
				{
					// 解除の場合は、法人へ更新
					// 個人法人電話番号帯コード → 電話番号変更SC.個人法人電話番号帯コード
					parentMap.put("kojin_hojin_tln_tai_cd", JKKStrConst.CD00410_HOJIN);
				}
				outputMap.put("KKSV017112SC", parentMap);
			}
		}
		return outputMap;
	}
	
	/**
	 * 上りマッピングをする
	 * @param bean　[0]：トーキ登録
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV017113SC(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);

		// トーキ対象電話番号 → 電話番号一意照会SC.ＫＥＹ＿電話番号
		parentMap.put("key_telno", bean[0].sendMessageString("トーキ対象電話番号", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("KKSV017113SC", parentMap);

		return outputMap;
	}
// ANK-4494-00-00 STEP2 ADD END
	
	/**
	 * 下りマッピング
	 * @param bean　[0]：トーキ登録
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getKKSV017101SC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("KKSV017101SC")){
			parentMap = (HashMap)outputMap.get("KKSV017101SC");
		}

		ArrayList childList = null;
		

		X31SDataBeanAccessArray listKKSV017101SC_eck0011a010detaillist_ECK0011A010CBSMsg1List = bean[0].getDataBeanArray("お客様一意照会明細");
		childList = null;
		if(listKKSV017101SC_eck0011a010detaillist_ECK0011A010CBSMsg1List != null && parentMap != null && parentMap.containsKey("ECK0011A010CBSMsg1List")){
			childList = (ArrayList)parentMap.get("ECK0011A010CBSMsg1List");

			for(int i = 0; i < childList.size(); i++){
				X31SDataBeanAccess subbean = null;
				if(listKKSV017101SC_eck0011a010detaillist_ECK0011A010CBSMsg1List.getCount() -1 >= i){
					subbean = listKKSV017101SC_eck0011a010detaillist_ECK0011A010CBSMsg1List.getDataBean(i);
				}else{
					subbean = listKKSV017101SC_eck0011a010detaillist_ECK0011A010CBSMsg1List.addDataBean();
				}
				HashMap childMap = (HashMap)childList.get(i);
				if (subbean == null) {
					continue;
				}
			
				// お客様一意照会明細.お客様ステータス ← お客様一意照会.お客様一意照会明細.お客様ステータス
				if (childMap != null) {
					subbean.sendMessageString("お客様ステータス", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("cust_stat"));
				} else {
					subbean.sendMessageString("お客様ステータス", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
			}
		}


		return bean;
	}

	/**
	 * 下りマッピング
	 * @param bean　[0]：トーキ登録
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getKKSV017102SC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("KKSV017102SC")){
			parentMap = (HashMap)outputMap.get("KKSV017102SC");
		}

		ArrayList childList = null;
		

		X31SDataBeanAccessArray listKKSV017102SC_ekk0081a010detaillist_EKK0081A010CBSMsg1List = bean[0].getDataBeanArray("サービス契約一意照会明細");
		childList = null;
		if(listKKSV017102SC_ekk0081a010detaillist_EKK0081A010CBSMsg1List != null && parentMap != null && parentMap.containsKey("EKK0081A010CBSMsg1List")){
			childList = (ArrayList)parentMap.get("EKK0081A010CBSMsg1List");

			for(int i = 0; i < childList.size(); i++){
				X31SDataBeanAccess subbean = null;
				if(listKKSV017102SC_ekk0081a010detaillist_EKK0081A010CBSMsg1List.getCount() -1 >= i){
					subbean = listKKSV017102SC_ekk0081a010detaillist_EKK0081A010CBSMsg1List.getDataBean(i);
				}else{
					subbean = listKKSV017102SC_ekk0081a010detaillist_EKK0081A010CBSMsg1List.addDataBean();
				}
				HashMap childMap = (HashMap)childList.get(i);
				if (subbean == null) {
					continue;
				}
			
				// サービス契約一意照会明細.サービス契約ステータス ← サービス契約一意照会.サービス契約一意照会明細.サービス契約ステータス
				if (childMap != null) {
					subbean.sendMessageString("サービス契約ステータス", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("svc_kei_stat"));
				} else {
					subbean.sendMessageString("サービス契約ステータス", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
			}
		}


		return bean;
	}

	/**
	 * 下りマッピング
	 * @param bean　[0]：トーキ登録
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getKKSV017103SC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("KKSV017103SC")){
			parentMap = (HashMap)outputMap.get("KKSV017103SC");
		}

		ArrayList childList = null;
		

		X31SDataBeanAccessArray listKKSV017103SC_ekk0011d020detaillist_EKK0011D020CBSMsg1List = bean[0].getDataBeanArray("申込内容承認登録明細");
		childList = null;
		if(listKKSV017103SC_ekk0011d020detaillist_EKK0011D020CBSMsg1List != null && parentMap != null && parentMap.containsKey("EKK0011D020CBSMsg1List")){
			childList = (ArrayList)parentMap.get("EKK0011D020CBSMsg1List");

			for(int i = 0; i < childList.size(); i++){
				X31SDataBeanAccess subbean = null;
				if(listKKSV017103SC_ekk0011d020detaillist_EKK0011D020CBSMsg1List.getCount() -1 >= i){
					subbean = listKKSV017103SC_ekk0011d020detaillist_EKK0011D020CBSMsg1List.getDataBean(i);
				}else{
					subbean = listKKSV017103SC_ekk0011d020detaillist_EKK0011D020CBSMsg1List.addDataBean();
				}
				HashMap childMap = (HashMap)childList.get(i);
				if (subbean == null) {
					continue;
				}
			
				// 申込内容承認登録明細.申込明細番号 ← 申込内容承認登録.申込登録明細.申込明細番号
				if (childMap != null) {
					subbean.sendMessageString("申込明細番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("mskm_dtl_no"));
				} else {
					subbean.sendMessageString("申込明細番号", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
			}
		}


		return bean;
	}

	/**
	 * 下りマッピング
	 * @param bean　[0]：トーキ登録
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getKKSV017106SC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("KKSV017106SC")){
			parentMap = (HashMap)outputMap.get("KKSV017106SC");
		}

		
		// 進捗番号 ← 進捗登録.進捗番号
		if (parentMap != null) {
			bean[0].sendMessageString("進捗番号", X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("prg_no"));
		} else {
			bean[0].sendMessageString("進捗番号", X31CWebConst.DATABEAN_SET_VALUE, new String());
		}

		return bean;
	}

	// ANK-2648-00-00 20151217 柳 ADD START
	/**
	 * 下りマッピング
	 * @param bean　[0]：トーキ登録
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getKKSV017107SC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{
		HashMap parentMap = null;
		if (outputMap.containsKey("KKSV017107SC"))
		{
			parentMap = (HashMap)outputMap.get("KKSV017107SC");
		}
		
		X31SDataBeanAccessArray ekk2101B002CbsMsg1List = bean[0].getDataBeanArray(KKW05601SFConst.EKK2101B002DETAILLIST);
		
		ArrayList childList = null;
		if(ekk2101B002CbsMsg1List != null
				&& parentMap != null
				&& parentMap.containsKey("EKK2101B002CBSMsg1List")){
			childList = (ArrayList)parentMap.get("EKK2101B002CBSMsg1List");

			for(int i = 0; i < childList.size(); i++){
				X31SDataBeanAccess subbean = null;
				if(i <= ekk2101B002CbsMsg1List.getCount() -1){
					subbean = ekk2101B002CbsMsg1List.getDataBean(i);
				}else{
					subbean = ekk2101B002CbsMsg1List.addDataBean();
				}
				HashMap childMap = (HashMap)childList.get(i);
				if (subbean == null) {
					continue;
				}
				
				// 変更前識別番号 ← 住所変更明細一覧照会（変更前識別番号）.住所変更明細一覧照会明細.変更前識別番号
				// 変更後識別番号 ← 住所変更明細一覧照会（変更前識別番号）.住所変更明細一覧照会明細.変更後識別番号
				if (childMap != null)
				{
					subbean.sendMessageString(KKW05601SFConst.CHBF_SKBT_NO_15, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("chbf_skbt_no"));
					subbean.sendMessageString(KKW05601SFConst.CHAF_SKBT_NO_15, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("chaf_skbt_no"));
				} else {
					subbean.sendMessageString(KKW05601SFConst.CHBF_SKBT_NO_15, X31CWebConst.DATABEAN_SET_VALUE, new String());
					subbean.sendMessageString(KKW05601SFConst.CHAF_SKBT_NO_15, X31CWebConst.DATABEAN_SET_VALUE, new String());
					
				}
			}
		}
		
		return bean;
	}
	
	/**
	 * 下りマッピング
	 * @param bean　[0]：トーキ登録
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getKKSV017108SC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{
		HashMap parentMap = null;
		if (outputMap.containsKey("KKSV017108SC"))
		{
			parentMap = (HashMap)outputMap.get("KKSV017108SC");
		}
		
		X31SDataBeanAccessArray ekk2091A010CbsMsg1List = bean[0].getDataBeanArray(KKW05601SFConst.EKK2091A010DETAILLIST);
		
		ArrayList childList = null;
		if(ekk2091A010CbsMsg1List != null
				&& parentMap != null
				&& parentMap.containsKey("EKK2091A010CBSMsg1List")){
			childList = (ArrayList)parentMap.get("EKK2091A010CBSMsg1List");

			for(int i = 0; i < childList.size(); i++){
				X31SDataBeanAccess subbean = null;
				if(i <= ekk2091A010CbsMsg1List.getCount() -1){
					subbean = ekk2091A010CbsMsg1List.getDataBean(i);
				}else{
					subbean = ekk2091A010CbsMsg1List.addDataBean();
				}
				HashMap childMap = (HashMap)childList.get(i);
				if (subbean == null) {
					continue;
				}
				
				// 住所変更ステータス ← 住所変更一意照会.住所変更一意照会明細.住所変更ステータス
				if (childMap != null)
				{
					subbean.sendMessageString(KKW05601SFConst.ADCHG_STAT_16, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("adchg_stat"));
				} else {
					subbean.sendMessageString(KKW05601SFConst.ADCHG_STAT_16, X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
			}
		}
		
		return bean;
	}
	
	/**
	 * 下りマッピング
	 * @param bean　[0]：トーキ登録
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getKKSV017111SC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{
		HashMap parentMap = null;
		if (outputMap.containsKey("KKSV017111SC"))
		{
			parentMap = (HashMap)outputMap.get("KKSV017111SC");
		}
		
		X31SDataBeanAccessArray eku0011A010CbsMsg1List = bean[0].getDataBeanArray(KKW05601SFConst.EKU0011A010DETAILLIST);
		
		ArrayList childList = null;
		if(eku0011A010CbsMsg1List != null
				&& parentMap != null
				&& parentMap.containsKey("EKU0011A010CBSMsg1List")){
			childList = (ArrayList)parentMap.get("EKU0011A010CBSMsg1List");

			for(int i = 0; i < childList.size(); i++){
				X31SDataBeanAccess subbean = null;
				if(i <= eku0011A010CbsMsg1List.getCount() -1){
					subbean = eku0011A010CbsMsg1List.getDataBean(i);
				}else{
					subbean = eku0011A010CbsMsg1List.addDataBean();
				}
				HashMap childMap = (HashMap)childList.get(i);
				if (subbean == null) {
					continue;
				}
				
				// 工事案件ステータス ← 工事案件一意照会.工事案件一意照会明細.工事案件ステータス
				if (childMap != null)
				{
					subbean.sendMessageString(KKW05601SFConst.KOJIAK_STAT_19, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("kojiak_stat"));
				} else {
					subbean.sendMessageString(KKW05601SFConst.KOJIAK_STAT_19, X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				
				// マンション工事案件状態コード ← 工事案件一意照会.工事案件一意照会明細.マンション工事案件状態コード
				if (childMap != null)
				{
					subbean.sendMessageString(KKW05601SFConst.MANS_KOJIAK_STAT_CD_19, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("mans_kojiak_stat_cd"));
				} else {
					subbean.sendMessageString(KKW05601SFConst.MANS_KOJIAK_STAT_CD_19, X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
			}
		}
		
		return bean;
	}
	// ANK-2648-00-00 20151217 柳 ADD END

// ANK-4494-00-00 ADD START
	/**
	 * 下りマッピング
	 * 
	 * @param bean　[0]：トーキ登録
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getTELNOSTATJUDGECC(X31SDataBeanAccess[] bean, HashMap outputMap) {

		HashMap parentMap = null;
		if (outputMap.containsKey("TELNOSTATJUDGECC")) {
			parentMap = (HashMap) outputMap.get("TELNOSTATJUDGECC");
		}

		ArrayList childList = null;

		X31SDataBeanAccessArray listTELNOSTATJUDGECC_TELNOSTATJUDGECC_LISTList = bean[0].getDataBeanArray("電話番号状態判定ＣＣ明細");
		if (listTELNOSTATJUDGECC_TELNOSTATJUDGECC_LISTList != null && parentMap != null && parentMap.containsKey("TELNOSTATJUDGECC_LIST")) {
			childList = (ArrayList) parentMap.get("TELNOSTATJUDGECC_LIST");

			for (int i = 0; i < childList.size(); i++) {
				X31SDataBeanAccess subbean = null;
				if (listTELNOSTATJUDGECC_TELNOSTATJUDGECC_LISTList.getCount() - 1 >= i) {
					subbean = listTELNOSTATJUDGECC_TELNOSTATJUDGECC_LISTList.getDataBean(i);
				}
				else {
					subbean = listTELNOSTATJUDGECC_TELNOSTATJUDGECC_LISTList.addDataBean();
				}
				HashMap childMap = (HashMap) childList.get(i);
				if (subbean == null) {
					continue;
				}

				// CC側で状態判定が対象外の場合、項目名：nullを返却するがOPDBMapperにはnullの項目が消されている
				// そのため、各項目値が設定されているか否かで new String()を設定するように判定する。
				// (項目なし=nullでSET_VALUEするがnullの場合上書き更新されないため)
				if (childMap != null) {

					// 電話番号状態判定ＣＣ明細一覧.電話番号状態区分 ← 電話番号状態判定ＣＣ明細一覧.電話番号状態区分
					if (childMap.containsKey("telnoJudgeDiv") && !JKKStringUtil.isNullBlank((String) childMap.get("telnoJudgeDiv"))) {
						subbean.sendMessageString("電話番号状態区分", X31CWebConst.DATABEAN_SET_VALUE, (String) childMap.get("telnoJudgeDiv"));
					}
					else {
						subbean.sendMessageString("電話番号状態区分", X31CWebConst.DATABEAN_SET_VALUE, new String());
					}

					// 電話番号状態判定ＣＣ明細一覧.番号取得通信事業者＿自社他社区分 ← 電話番号状態判定ＣＣ明細一覧.番号取得通信事業者＿自社他社区分
					if (childMap.containsKey("tlnStkuTsjgsJishaTashaDiv") && !JKKStringUtil.isNullBlank((String) childMap.get("tlnStkuTsjgsJishaTashaDiv"))) {
						subbean.sendMessageString("番号取得通信事業者＿自社他社区分", X31CWebConst.DATABEAN_SET_VALUE, (String) childMap.get("tlnStkuTsjgsJishaTashaDiv"));
					}
					else {
						subbean.sendMessageString("番号取得通信事業者＿自社他社区分", X31CWebConst.DATABEAN_SET_VALUE, new String());
					}

					// 電話番号状態判定ＣＣ明細一覧.ポートアウト状態有無 ← 電話番号状態判定ＣＣ明細一覧.ポートアウト状態有無
					if (childMap.containsKey("portOutStatUm") && !JKKStringUtil.isNullBlank((String) childMap.get("portOutStatUm"))) {
						subbean.sendMessageString("ポートアウト状態有無", X31CWebConst.DATABEAN_SET_VALUE, (String) childMap.get("portOutStatUm"));
					}
					else {
						subbean.sendMessageString("ポートアウト状態有無", X31CWebConst.DATABEAN_SET_VALUE, new String());
					}

					// 電話番号状態判定ＣＣ明細一覧.網内番ポ有無 ← 電話番号状態判定ＣＣ明細一覧.網内番ポ有無
					if (childMap.containsKey("monaiBmpUm") && !JKKStringUtil.isNullBlank((String) childMap.get("monaiBmpUm"))) {
						subbean.sendMessageString("網内番ポ有無", X31CWebConst.DATABEAN_SET_VALUE, (String) childMap.get("monaiBmpUm"));
					}
					else {
						subbean.sendMessageString("網内番ポ有無", X31CWebConst.DATABEAN_SET_VALUE, new String());
					}
				}
				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());
				}
			}
		}
		return bean;
	}
// ANK-4494-00-00 ADD END

}
