/*********************************************************************
*	All Right reserved,Copyright (c) Fujitsu, 2012
**********************************************************************
*＜プログラム内容＞
*	システム名		：eo顧客基幹システム
*	モジュール名	：KKSV0092_KKSV0092OPDBMapper
*	ソースファイル名：KKSV0092_KKSV0092OPDBMapper.java
*	作成者			：FJ
*	日付			：2012年04月19日
*＜機能概要＞
*	BP（番号ポータビリティ情報登録初期表示）へのＤ−Ｂマッピングクラスです。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v1.00.00	2012/04/19	FJ		新規作成
*	v5.00.00    2013/03/14	FJ)藤本		ANK-1429-00-00 住所変更に伴うVA移動機器登録の解除の対応
*  v11.00.00    2014/10/26  FJ)谷口     【ANK-2309-00-00】全販売チャネル同番移転対応
**********************************************************************/
package eo.web.webview.mapping;

import java.util.ArrayList;
import java.util.HashMap;

import com.fujitsu.futurity.web.x31.X31CWebConst;
import com.fujitsu.futurity.web.x31.X31SDataBeanAccess;
import com.fujitsu.futurity.web.x31.X31SDataBeanAccessArray;

import eo.common.constant.JPCModelConstant;
import eo.common.util.JPCFomatString;
import eo.common.util.JPCUtilCommon;
import eo.web.webview.KKW00148SF.KKW00148SFConst;
import eo.web.webview.common.JKKCommonConst;

/**
 * DataBean-BPマッピングをする。
 * 
 */
public class KKSV0092_KKSV0092OPDBMapper {
	
	/**
	 * コンストラクタ
	 */
	public KKSV0092_KKSV0092OPDBMapper(){
	}
	

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：番号ポータビリティ情報登録
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV009201SC(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("search_type", String.valueOf(JPCModelConstant.SAERCH_TYPE_BBN));
		// 部品呼び出し → 同番移転一覧照会マップ.最大検索件数
		parentMap.put("max_search_num", String.valueOf("1000"));
		// 部品呼び出し → 同番移転一覧照会マップ.表示件数
		parentMap.put("display_num", String.valueOf("1000"));
		// 部品呼び出し → 同番移転一覧照会マップ.表示ページ番号
		parentMap.put("display_page_num", String.valueOf("1"));
		// サービス契約番号 → 同番移転一覧照会マップ.ＫＥＹ＿サービス契約番号
		parentMap.put("key_svc_kei_no", bean[0].sendMessageString("サービス契約番号", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("KKSV009201SC", parentMap);
						
		return outputMap;
	}

//	/**
//	 * 上りマッピングをする
//	 * @param bean　[0]：番号ポータビリティ情報登録
//	 * @param outputMap
//	 * @param func_code　機能コード
//	 */
//	@SuppressWarnings("unchecked")
//	public HashMap setKKSV009202SC(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("CDxxxxx"));
//
//		outputMap.put("KKSV009202SC", parentMap);
//						
//		return outputMap;
//	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：番号ポータビリティ情報登録
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV009203SC(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("search_type", String.valueOf(JPCModelConstant.SAERCH_TYPE_IKT));
		// 部品呼び出し → 通信事業者一覧照会マップ.最大検索件数
		parentMap.put("max_search_num", String.valueOf("1000000"));

		outputMap.put("KKSV009203SC", parentMap);
						
		return outputMap;
	}

//	/**
//	 * 上りマッピングをする
//	 * @param bean　[0]：番号ポータビリティ情報登録
//	 * @param outputMap
//	 * @param func_code　機能コード
//	 */
//	@SuppressWarnings("unchecked")
//	public HashMap setKKSV009204SC(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("CDxxxxx"));
//
//		outputMap.put("KKSV009204SC", parentMap);
//						
//		return outputMap;
//	}

	// 20120712 (ロット２)番ポ対応 START
//	/**
//	 * 上りマッピングをする
//	 * @param bean　[0]：番号ポータビリティ情報登録
//	 * @param outputMap
//	 * @param func_code　機能コード
//	 */
//	@SuppressWarnings("unchecked")
//	public HashMap setKKSV009205SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code) {
//		
//		if(bean == null){
//			return null;
//		}
//		
//		if(bean.length != 1){
//			return null;
//		}
//
//
//		HashMap<String, Object> parentMap = new HashMap<String, Object>();
//
//		// 共通情報のマッピング
//		parentMap.put("func_code", func_code);
//
//		// サービス契約内訳番号 → サービス契約内訳＜ｅｏ光電話＞一意照会マップ.ＫＥＹ＿サービス契約内訳番号
//		parentMap.put("key_svc_kei_ucwk_no", bean[0].sendMessageString("サービス契約内訳番号", X31CWebConst.DATABEAN_GET_VALUE));
//
//		outputMap.put("KKSV009205SC", parentMap);
//						
//		return outputMap;
//	}
	
//	/**
//	 * 上りマッピングをする
//	 * @param bean　[0]：番号ポータビリティ情報登録
//	 * @param outputMap
//	 * @param func_code　機能コード
//	 */
//	@SuppressWarnings("unchecked")
//	public HashMap setREQCHK(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("init_flg", bean[0].sendMessageString("初期処理フラグ", X31CWebConst.DATABEAN_GET_VALUE));
//
//		outputMap.put("REQCHK", parentMap);
//						
//		return outputMap;
//	}
	
//	/**
//	 * 上りマッピングをする
//	 * @param bean　[0]：番号ポータビリティ情報登録
//	 * @param outputMap
//	 * @param func_code　機能コード
//	 */
//	@SuppressWarnings("unchecked")
//	public HashMap setKKSV009206SC(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("CD00426"));
//
//		outputMap.put("KKSV009206SC", parentMap);
//						
//		return outputMap;
//	}
//
//	/**
//	 * 上りマッピングをする
//	 * @param bean　[0]：番号ポータビリティ情報登録
//	 * @param outputMap
//	 * @param func_code　機能コード
//	 */
//	@SuppressWarnings("unchecked")
//	public HashMap setKKSV009207SC(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);
//		
//		// 20120630 IT2-2012-0000762 START
////		// 部品呼び出し → 番ポ工事一覧照会マップ.検索処理パターン
////		parentMap.put("search_type", String.valueOf(JPCModelConstant.SAERCH_TYPE_IKT));
////		// 部品呼び出し → 番ポ工事一覧照会マップ.最大検索数
////		parentMap.put("max_search_num", String.valueOf("1000"));
////		// 部品呼び出し → 番ポ工事一覧照会マップ.表示件数
////		parentMap.put("display_num", String.valueOf("1000"));
////		// 部品呼び出し → 番ポ工事一覧照会マップ.表示ページ番号
////		parentMap.put("display_page_num", String.valueOf("1"));
//		// サービス契約番号 → 番ポ工事一覧照会マップ.ＫＥＹ＿サービス契約番号
//		parentMap.put("key_svc_kei_no", bean[0].sendMessageString("サービス契約番号", X31CWebConst.DATABEAN_GET_VALUE));
//		// サービス契約内訳番号 → 番ポ工事一覧照会マップ.ＫＥＹ＿サービス契約内訳番号
//		// ※現状、サービス契約内訳番号での検索が行われていないので、電話番号を条件にるいことによって機能を実現している
//		parentMap.put("key_svc_kei_ucwk_no", bean[0].sendMessageString("サービス契約内訳番号", X31CWebConst.DATABEAN_GET_VALUE));
//		// 番ポ申込書タイプ → 番ポ工事一覧照会マップ.ＫＥＹ＿番ポ申込書タイプコード
//		parentMap.put("key_bmp_mskmsho_type_cd", "2,3");
//		// 20120630 IT2-2012-0000762 END
//		
//		outputMap.put("KKSV009207SC", parentMap);
//						
//		return outputMap;
//	}
//
//	/**
//	 * 上りマッピングをする
//	 * @param bean　[0]：番号ポータビリティ情報登録
//	 * @param outputMap
//	 * @param func_code　機能コード
//	 */
//	@SuppressWarnings("unchecked")
//	public HashMap setKKSV009208SC(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("search_type", String.valueOf(JPCModelConstant.SAERCH_TYPE_IKT));
//		// 部品呼び出し → 番ポ工事一意照会マップ.最大検索数
//		parentMap.put("max_search_num", String.valueOf("1000"));
//		// 部品呼び出し → 番ポ工事一意照会マップ.表示件数
//		parentMap.put("display_num", String.valueOf("1000"));
//		// 部品呼び出し → 番ポ工事一意照会マップ.表示ページ番号
//		parentMap.put("display_page_num", String.valueOf("1"));
//
//		outputMap.put("KKSV009208SC", parentMap);
//						
//		return outputMap;
//	}
	
	// 20120712 (ロット２)番ポ対応 END
	
//	/**
//	 * 上りマッピングをする
//	 * @param bean　[0]：番号ポータビリティ情報登録
//	 * @param outputMap
//	 * @param func_code　機能コード
//	 */
//	@SuppressWarnings("unchecked")
//	public HashMap setKKSV009211SC(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.CD00346));
//
//		outputMap.put("KKSV009211SC", parentMap);
//						
//		return outputMap;
//	}

	// 20120710 (ロット２)番ポ対応 START
	/**
	 * 上りマッピングをする
	 * @param bean　[0]：番号ポータビリティ情報登録
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV009201CC(X31SDataBeanAccess[] bean, HashMap outputMap) {
		
		if(bean == null){
			return null;
		}
		
		if(bean.length != 1){
			return null;
		}


		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 異動区分
		parentMap.put("ido_div", bean[0].sendMessageString("異動区分", X31CWebConst.DATABEAN_GET_VALUE));
		// サービス契約番号
		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));
		// IT1-2012-0002104 2012/11/20 start
		// 申込時番ポ事業者受付拠点
		X31SDataBeanAccessArray custKeiHktgiList =  bean[0].getDataBeanArray(KKW00148SFConst.CUST_KEI_HKTGI_LIST);
		X31SDataBeanAccess custKeiHktgiInf = custKeiHktgiList.getDataBean(0);
		String tsjgs_cd = custKeiHktgiInf.sendMessageString(KKW00148SFConst.MSKMJI_BMP_JGS_06, X31CWebConst.DATABEAN_GET_VALUE);
		parentMap.put("tsjgs_cd", tsjgs_cd);
		// IT1-2012-0002104 2012/11/20 end

		outputMap.put("KKSV009201CC", parentMap);
						
		return outputMap;
	}
	// 20120710 (ロット２)番ポ対応 END
	
	// 20120712 (ロット２)番ポ対応 START
//	/**
//	 * 下りマッピング
//	 * @param bean　[0]：番号ポータビリティ情報登録
//	 * @param outputMap
//	 */
//	@SuppressWarnings("unchecked")
//	public X31SDataBeanAccess[] getKKSV009205SC(X31SDataBeanAccess[] bean, HashMap outputMap){
//
//		HashMap parentMap = null;
//		if(outputMap.containsKey("KKSV009205SC")){
//			parentMap = (HashMap)outputMap.get("KKSV009205SC");
//		}
//
//		ArrayList childList = null;
//		
//
//		X31SDataBeanAccessArray listKKSV009205SC_svkeiuw_eoh_tel_inf_EKK0191A010CBSMsg1List = bean[0].getDataBeanArray("サービス契約内訳＜ｅｏ光電話＞情報");
//		childList = null;
//		if(parentMap.containsKey("EKK0191A010CBSMsg1List")){
//			childList = (ArrayList)parentMap.get("EKK0191A010CBSMsg1List");
//
//			for(int i = 0; i < childList.size(); i++){
//				X31SDataBeanAccess subbean = null;
//				if(listKKSV009205SC_svkeiuw_eoh_tel_inf_EKK0191A010CBSMsg1List.getCount() -1 >= i){
//					subbean = listKKSV009205SC_svkeiuw_eoh_tel_inf_EKK0191A010CBSMsg1List.getDataBean(i);
//				}else{
//					subbean = listKKSV009205SC_svkeiuw_eoh_tel_inf_EKK0191A010CBSMsg1List.addDataBean();
//				}
//				HashMap childMap = (HashMap)childList.get(i);
//			
//				// サービス契約内訳＜ｅｏ光電話＞情報.電話番号 ← サービス契約内訳＜ｅｏ光電話＞一意照会マップ.サービス契約内訳＜ｅｏ光電話＞一意照会明細.電話番号
//				subbean.sendMessageString("電話番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("telno"));
//				// サービス契約内訳＜ｅｏ光電話＞情報.緊急通報用住所確定後変更可否 ← サービス契約内訳＜ｅｏ光電話＞一意照会マップ.サービス契約内訳＜ｅｏ光電話＞一意照会明細.緊急通報用住所確定後変更可否
//				subbean.sendMessageString("緊急通報用住所確定後変更可否", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("emg_ad_fix_af_chge_kh"));
//				// サービス契約内訳＜ｅｏ光電話＞情報.ＮＴＴ契約者住所コード ← サービス契約内訳＜ｅｏ光電話＞一意照会マップ.サービス契約内訳＜ｅｏ光電話＞一意照会明細.NTT契約者住所コード
//				subbean.sendMessageString("ＮＴＴ契約者住所コード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("ntt_keisha_ad_cd"));
//				// サービス契約内訳＜ｅｏ光電話＞情報.ＮＴＴ契約者郵便番号 ← サービス契約内訳＜ｅｏ光電話＞一意照会マップ.サービス契約内訳＜ｅｏ光電話＞一意照会明細.NTT契約者郵便番号
//				subbean.sendMessageString("ＮＴＴ契約者郵便番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("ntt_keisha_pcd"));
//				// サービス契約内訳＜ｅｏ光電話＞情報.ＮＴＴ契約者都道府県名 ← サービス契約内訳＜ｅｏ光電話＞一意照会マップ.サービス契約内訳＜ｅｏ光電話＞一意照会明細.NTT契約者都道府県名
//				subbean.sendMessageString("ＮＴＴ契約者都道府県名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("ntt_keisha_state_nm"));
//				// サービス契約内訳＜ｅｏ光電話＞情報.ＮＴＴ契約者市区町村名 ← サービス契約内訳＜ｅｏ光電話＞一意照会マップ.サービス契約内訳＜ｅｏ光電話＞一意照会明細.NTT契約者市区町村名
//				subbean.sendMessageString("ＮＴＴ契約者市区町村名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("ntt_keisha_city_nm"));
//				// サービス契約内訳＜ｅｏ光電話＞情報.ＮＴＴ契約者大字通称名 ← サービス契約内訳＜ｅｏ光電話＞一意照会マップ.サービス契約内訳＜ｅｏ光電話＞一意照会明細.NTT契約者大字通称名
//				subbean.sendMessageString("ＮＴＴ契約者大字通称名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("ntt_keisha_oaztsu_nm"));
//				// サービス契約内訳＜ｅｏ光電話＞情報.ＮＴＴ契約者字丁目名 ← サービス契約内訳＜ｅｏ光電話＞一意照会マップ.サービス契約内訳＜ｅｏ光電話＞一意照会明細.NTT契約者字丁目名
//				subbean.sendMessageString("ＮＴＴ契約者字丁目名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("ntt_keisha_azcho_nm"));
//				// サービス契約内訳＜ｅｏ光電話＞情報.ＮＴＴ契約者番地号 ← サービス契約内訳＜ｅｏ光電話＞一意照会マップ.サービス契約内訳＜ｅｏ光電話＞一意照会明細.NTT契約者番地号
//				subbean.sendMessageString("ＮＴＴ契約者番地号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("ntt_keisha_bnchigo"));
//				// サービス契約内訳＜ｅｏ光電話＞情報.ＮＴＴ契約者住所補記・建物名 ← サービス契約内訳＜ｅｏ光電話＞一意照会マップ.サービス契約内訳＜ｅｏ光電話＞一意照会明細.NTT契約者住所補記・建物名
//				subbean.sendMessageString("ＮＴＴ契約者住所補記・建物名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("ntt_keisha_adrttm"));
//				// サービス契約内訳＜ｅｏ光電話＞情報.ＮＴＴ契約者住所補記・部屋番号 ← サービス契約内訳＜ｅｏ光電話＞一意照会マップ.サービス契約内訳＜ｅｏ光電話＞一意照会明細.NTT契約者住所補記・部屋番号
//				subbean.sendMessageString("ＮＴＴ契約者住所補記・部屋番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("ntt_keisha_adrrm"));
//				// サービス契約内訳＜ｅｏ光電話＞情報.ＮＴＴ契約者カナ名 ← サービス契約内訳＜ｅｏ光電話＞一意照会マップ.サービス契約内訳＜ｅｏ光電話＞一意照会明細.NTT契約者カナ名
//				subbean.sendMessageString("ＮＴＴ契約者カナ名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("ntt_ksh_kana"));
//				// サービス契約内訳＜ｅｏ光電話＞情報.ＮＴＴ契約者名 ← サービス契約内訳＜ｅｏ光電話＞一意照会マップ.サービス契約内訳＜ｅｏ光電話＞一意照会明細.NTT契約者名
//				subbean.sendMessageString("ＮＴＴ契約者名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("ntt_keisha_nm"));
//				// サービス契約内訳＜ｅｏ光電話＞情報.通信事業者コード ← サービス契約内訳＜ｅｏ光電話＞一意照会マップ.サービス契約内訳＜ｅｏ光電話＞一意照会明細.通信事業者コード
//				subbean.sendMessageString("通信事業者コード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("tsjgs_cd"));
//				// サービス契約内訳＜ｅｏ光電話＞情報.移転元通信事業者拠点コード ← サービス契約内訳＜ｅｏ光電話＞一意照会マップ.サービス契約内訳＜ｅｏ光電話＞一意照会明細.移転元通信事業者拠点コード
//				subbean.sendMessageString("移転元通信事業者拠点コード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("itnm_tsjgs_ktn_cd"));
//			}
//		}
//
//
//		return bean;
//	}
	
//	/**
//	 * 下りマッピング
//	 * @param bean　[0]：番号ポータビリティ情報登録
//	 * @param outputMap
//	 */
//	@SuppressWarnings("unchecked")
//	public X31SDataBeanAccess[] getKKSV009208SC(X31SDataBeanAccess[] bean, HashMap outputMap){
//
//		HashMap parentMap = null;
//		if(outputMap.containsKey("KKSV009208SC")){
//			parentMap = (HashMap)outputMap.get("KKSV009208SC");
//		}
//
//		ArrayList childList = null;
//		
//
//		X31SDataBeanAccessArray listKKSV009208SC_bmp_koji_inf_ETU0011A010CBSMsg1List = bean[0].getDataBeanArray("番ポ工事情報");
//		childList = null;
//		if(parentMap.containsKey("ETU0011A010CBSMsg1List")){
//			childList = (ArrayList)parentMap.get("ETU0011A010CBSMsg1List");
//
//			for(int i = 0; i < childList.size(); i++){
//				X31SDataBeanAccess subbean = null;
//				if(listKKSV009208SC_bmp_koji_inf_ETU0011A010CBSMsg1List.getCount() -1 >= i){
//					subbean = listKKSV009208SC_bmp_koji_inf_ETU0011A010CBSMsg1List.getDataBean(i);
//				}else{
//					subbean = listKKSV009208SC_bmp_koji_inf_ETU0011A010CBSMsg1List.addDataBean();
//				}
//				HashMap childMap = (HashMap)childList.get(i);
//			
//				// 番ポ工事情報.番ポ工事番号 ← 番ポ工事一意照会マップ.番ポ工事一意照会明細.番ポ工事番号
//				subbean.sendMessageString("番ポ工事番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("bmp_koji_no"));
//				// 番ポ工事情報.番ポ工事ステータス ← 番ポ工事一意照会マップ.番ポ工事一意照会明細.番ポ工事ステータス
//				subbean.sendMessageString("番ポ工事ステータス", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("bmp_koji_stat"));
//				// 番ポ工事情報.番ポ工事希望年月日時 ← 番ポ工事一意照会マップ.番ポ工事一意照会明細.番ポ工事希望年月日時
//				subbean.sendMessageString("番ポ工事希望年月日時", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("bmp_koji_kibo_ymdh"));
//				// 番ポ工事情報.番ポ工事希望時間帯コード ← 番ポ工事一意照会マップ.番ポ工事一意照会明細.番ポ工事希望時間帯コード
//				subbean.sendMessageString("番ポ工事希望時間帯コード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("bmpkj_kibo_time_cd"));
//				// 番ポ工事情報.番ポ工事希望年月日保留フラグ ← 番ポ工事一意照会マップ.番ポ工事一意照会明細.番ポ工事希望年月日保留フラグ
//				subbean.sendMessageString("番ポ工事希望年月日保留フラグ", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("bmpkj_kibo_ymd_pding_flg"));
//				// 番ポ工事情報.番ポ工事確定年月日時 ← 番ポ工事一意照会マップ.番ポ工事一意照会明細.番ポ工事確定年月日時
//				subbean.sendMessageString("番ポ工事確定年月日時", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("bmp_koji_fix_ymdh"));
//				// 番ポ工事情報.番ポ工事確定時間帯コード ← 番ポ工事一意照会マップ.番ポ工事一意照会明細.番ポ工事確定時間帯コード
//				subbean.sendMessageString("番ポ工事確定時間帯コード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("bmpkj_fix_time_cd"));
//				// 番ポ工事情報.番ポ工事完了年月日 ← 番ポ工事一意照会マップ.番ポ工事一意照会明細.番ポ工事完了年月日
//				subbean.sendMessageString("番ポ工事完了年月日", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("bmp_koji_fin_ymd"));
//			}
//		}
//
//
//		return bean;
//	}
	// 20120712 (ロット２)番ポ対応 END
	
//	/**
//	 * 下りマッピング
//	 * @param bean　[0]：電話番号情報登録
//	 * @param outputMap
//	 */
//	@SuppressWarnings("unchecked")
//	public X31SDataBeanAccess[] getKKSV009211SC(X31SDataBeanAccess[] bean, HashMap outputMap){
//
//		HashMap parentMap = null;
//		if(outputMap.containsKey("KKSV009211SC")){
//			parentMap = (HashMap)outputMap.get("KKSV009211SC");
//		}
//
//		ArrayList childList = null;
//		
//		X31SDataBeanAccessArray listKKSV009211SC_cd00346data_EZM0171B010CBSMsg1List = bean[0].getDataBeanArray("事務手数料項目一覧明細受渡データ");
//		childList = null;
//		if(listKKSV009211SC_cd00346data_EZM0171B010CBSMsg1List != null && parentMap != null && parentMap.containsKey("EZM0171B010CBSMsg1List")){
//			childList = (ArrayList)parentMap.get("EZM0171B010CBSMsg1List");
//
//			for(int i = 0; i < childList.size(); i++){
//				X31SDataBeanAccess subbean = null;
//				if(listKKSV009211SC_cd00346data_EZM0171B010CBSMsg1List.getCount() -1 >= i){
//					subbean = listKKSV009211SC_cd00346data_EZM0171B010CBSMsg1List.getDataBean(i);
//				}else{
//					subbean = listKKSV009211SC_cd00346data_EZM0171B010CBSMsg1List.addDataBean();
//				}
//				HashMap childMap = (HashMap)childList.get(i);
//				if (subbean == null) {
//					continue;
//				}
//			
//				// 事務手数料項目一覧明細受渡データ.コード区分 ← 事務手数料選択項目一覧マップ.コード名称管理一覧照会明細.コード区分
//				if (childMap != null) {
//					subbean.sendMessageString("コード区分", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("cd_div"));
//				} else {
//					subbean.sendMessageString("コード区分", X31CWebConst.DATABEAN_SET_VALUE, new String());
//				}
//				// 事務手数料項目一覧明細受渡データ.コード区分名 ← 事務手数料選択項目一覧マップ.コード名称管理一覧照会明細.コード区分名
//				if (childMap != null) {
//					subbean.sendMessageString("コード区分名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("cd_div_nm"));
//				} else {
//					subbean.sendMessageString("コード区分名", X31CWebConst.DATABEAN_SET_VALUE, new String());
//				}
//				// 事務手数料項目一覧明細受渡データ.表示順序 ← 事務手数料選択項目一覧マップ.コード名称管理一覧照会明細.表示順序
//				if (childMap != null) {
//					subbean.sendMessageString("表示順序", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("dsp_jun"));
//				} else {
//					subbean.sendMessageString("表示順序", X31CWebConst.DATABEAN_SET_VALUE, new String());
//				}
//			}
//		}
//
//		return bean;
//	}

	// 20120712 (ロット２)番ポ対応 START
	/**
	 * 下りマッピング
	 * @param bean　[0]：電話番号情報登録
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getKKSV009201CC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("KKSV009201CC")){
			parentMap = (HashMap)outputMap.get("KKSV009201CC");
		}
		
		// 番ポ工事一意照会の結果を参照
		X31SDataBeanAccessArray bmpKojiInfList = bean[0].getDataBeanArray("番ポ工事情報");
		ArrayList etu0011A010CBSMsg1List = (ArrayList)parentMap.get("ETU0011A010CBSMsg1List");
		if (etu0011A010CBSMsg1List != null && etu0011A010CBSMsg1List.size() > 0)
		{
			HashMap etu0011A010CBSMsg1 = (HashMap)etu0011A010CBSMsg1List.get(0);
			
			X31SDataBeanAccess bmpKojiInf = null;
			if(bmpKojiInfList.getCount() -1 >= 0){
				bmpKojiInf = bmpKojiInfList.getDataBean(0);
			}else{
				bmpKojiInf = bmpKojiInfList.addDataBean();
			}
		
			// 番ポ工事番号
			bmpKojiInf.sendMessageString("番ポ工事番号", X31CWebConst.DATABEAN_SET_VALUE, (String)etu0011A010CBSMsg1.get("bmp_koji_no"));
			// 番ポ工事ステータス
			bmpKojiInf.sendMessageString("番ポ工事ステータス", X31CWebConst.DATABEAN_SET_VALUE, (String)etu0011A010CBSMsg1.get("bmp_koji_stat"));
			// ANK-1450-00-00 2013/02/15 ADD START
			// 同時工事判定コード
			bmpKojiInf.sendMessageString("同時工事判定コード", X31CWebConst.DATABEAN_SET_VALUE, (String)etu0011A010CBSMsg1.get("doji_koji_jdg_cd"));
			// ANK-1450-00-00 2013/02/15 ADD END
			// 番ポ工事希望年月日時
			bmpKojiInf.sendMessageString("番ポ工事希望年月日時", X31CWebConst.DATABEAN_SET_VALUE, (String)etu0011A010CBSMsg1.get("bmp_koji_kibo_ymdh"));
			// 番ポ工事希望時間帯コード
			bmpKojiInf.sendMessageString("番ポ工事希望時間帯コード", X31CWebConst.DATABEAN_SET_VALUE, (String)etu0011A010CBSMsg1.get("bmpkj_kibo_time_cd"));
			// 番ポ工事希望年月日保留フラグ
			bmpKojiInf.sendMessageString("番ポ工事希望年月日保留フラグ", X31CWebConst.DATABEAN_SET_VALUE, (String)etu0011A010CBSMsg1.get("bmpkj_kibo_ymd_pding_flg"));
			// 番ポ工事確定年月日時
			bmpKojiInf.sendMessageString("番ポ工事確定年月日時", X31CWebConst.DATABEAN_SET_VALUE, (String)etu0011A010CBSMsg1.get("bmp_koji_fix_ymdh"));
			// 番ポ工事確定時間帯コード
			bmpKojiInf.sendMessageString("番ポ工事確定時間帯コード", X31CWebConst.DATABEAN_SET_VALUE, (String)etu0011A010CBSMsg1.get("bmpkj_fix_time_cd"));
			// 番ポ工事完了年月日
			bmpKojiInf.sendMessageString("番ポ工事完了年月日", X31CWebConst.DATABEAN_SET_VALUE, (String)etu0011A010CBSMsg1.get("bmp_koji_fin_ymd"));
		}
		
		// 番ポ工事一意照会の結果(廃止)を参照
		ArrayList etu0011A010CBSMsg1ListHaishi = (ArrayList)parentMap.get("ETU0011A010CBSMsg1List_haishi");
		if (etu0011A010CBSMsg1ListHaishi != null && etu0011A010CBSMsg1ListHaishi.size() > 0)
		{
			HashMap etu0011A010CBSMsg1 = (HashMap)etu0011A010CBSMsg1ListHaishi.get(0);
			
			// 番ポ廃止登録完了年月日
			bean[0].sendMessageString(KKW00148SFConst.BMP_HAISHI_ADD_FIN_YMD, X31CWebConst.DATABEAN_SET_VALUE,
					JPCUtilCommon.formatDate((String)etu0011A010CBSMsg1.get("bmp_koji_fin_ymd")));
		}

		//↓↓↓2012-10-22追加　ロット２IT1-2012-0001473横展開対応（ＩＮ項目追加）↓↓↓
		String[] outkeys = {
			"dobaniten_mskm_um",		// 同番移転申込有無
			"dobaniten_req_ctrl_cd",	// 同番移転依頼制御コード
			"dobaniten_jdg_cd",			// 同番移転判定コード
			"emg_ksh_ksitei_flg"		// 緊急通報用契約者個別指定フラグ
		};

		String[] setkeys = {
			KKW00148SFConst.DOBANITEN_MSKM_UM_02,		// 同番移転申込有無
			KKW00148SFConst.DOBANITEN_REQ_CTRL_CD_02,	// 同番移転依頼制御コード
			KKW00148SFConst.DOBANITEN_JDG_CD_02,		// 同番移転判定コード
			KKW00148SFConst.EMG_KSH_KSITEI_FLG_02		// 緊急通報用契約者個別指定フラグ
		};

		X31SDataBeanAccessArray listKKSV009205SC_svkeiuw_eoh_tel_inf_EKK0191A010CBSMsg1List = bean[0].getDataBeanArray(KKW00148SFConst.SVKEIUW_EOH_TEL_INF);
		if(parentMap.containsKey("EKK0191A010CBSMsg1List")){
			ArrayList childList = (ArrayList)parentMap.get("EKK0191A010CBSMsg1List");

			for(int i = 0; i < childList.size(); i++){
				X31SDataBeanAccess subbean = null;
				if(listKKSV009205SC_svkeiuw_eoh_tel_inf_EKK0191A010CBSMsg1List.getCount() -1 >= i){
					subbean = listKKSV009205SC_svkeiuw_eoh_tel_inf_EKK0191A010CBSMsg1List.getDataBean(i);
				}else{
					subbean = listKKSV009205SC_svkeiuw_eoh_tel_inf_EKK0191A010CBSMsg1List.addDataBean();
				}
				HashMap childMap = (HashMap)childList.get(i);
			
				for (int j = 0; j < outkeys.length; j ++) {
					if (childMap.containsKey(outkeys[j])) {
						subbean.sendMessageString(setkeys[j], X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get(outkeys[j]));
					} else {
						subbean.sendMessageString(setkeys[j], X31CWebConst.DATABEAN_SET_VALUE, new String());
					}
				}
			}
		}
		//↑↑↑2012-10-22追加　ロット２IT1-2012-0001473横展開対応（ＩＮ項目追加）↑↑↑

		// ANK-1429-00-00 住所変更に伴うVA移動機器登録の解除の対応 2013/03/13 START
		// 引継情報を取得
		X31SDataBeanAccessArray custKeiHktgiList =  bean[0].getDataBeanArray(KKW00148SFConst.CUST_KEI_HKTGI_LIST);
		X31SDataBeanAccess custKeiHktgiInf = custKeiHktgiList.getDataBean(0);
		String idoDiv = custKeiHktgiInf.sendMessageString(KKW00148SFConst.IDO_DIV_06, X31CWebConst.DATABEAN_GET_VALUE);
		String adchgHonAddFlg = custKeiHktgiInf.sendMessageString(KKW00148SFConst.ADCHG_HON_ADD_FLG_06, X31CWebConst.DATABEAN_GET_VALUE);
		String jmteCdBmp = custKeiHktgiInf.sendMessageString(KKW00148SFConst.JMTE_CD_BMP_06, X31CWebConst.DATABEAN_GET_VALUE);
		// 異動区分が「光電話・番号追加」、または異動区分が「住所変更・登録」で住所変更本登録フラグが「本登録前」の場合
		if (JKKCommonConst.IDO_DIV_VALUE_00041.equals(idoDiv)
			|| (JKKCommonConst.IDO_DIV_VALUE_00019.equals(idoDiv) && KKW00148SFConst.ADCHG_HON_ADD_FLG_BF.equals(adchgHonAddFlg)))
		{
			// 事務手数料が未入力の場合
			if (null == jmteCdBmp || "".equals(jmteCdBmp))
			{
				// 一時金設定一覧照会結果を取得
				ArrayList eKK1021001CBSMsg1List = (ArrayList)parentMap.get("EKK1021B001CBSMsg1List");
				if (null != eKK1021001CBSMsg1List && 0 < eKK1021001CBSMsg1List.size())
				{
					HashMap eKK1021001CBSMsg1 = (HashMap)eKK1021001CBSMsg1List.get(0);
					// 事務手数料（番ポ）
					custKeiHktgiInf.sendMessageString(KKW00148SFConst.JMTE_CD_BMP_06, X31CWebConst.DATABEAN_SET_VALUE,
						(String)eKK1021001CBSMsg1.get("icjkn_sette_cd"));
					// 事務手数料・指定額（番ポ）
					custKeiHktgiInf.sendMessageString(KKW00148SFConst.JMTE_AMNT_BMP_06, X31CWebConst.DATABEAN_SET_VALUE,
						JPCFomatString.formatNumber((String)eKK1021001CBSMsg1.get("icjkn_shitei_amnt")));
				}
			}
		}
		// ANK-1429-00-00 住所変更に伴うVA移動機器登録の解除の対応 2013/03/13 END

		// ANK-2309-00-00 ADD START
		String[] kaisen_uw_inf_outkeys = {
				"kaisen_place_ad_cd",		// 回線場所住所コード
				"kaisen_place_pcd",			// 回線場所郵便番号
				"kaisen_place_state_nm",	// 回線場所都道府県名
				"kaisen_place_city_nm",		// 回線場所市区町村名
				"kaisen_place_oaztsu_nm",	// 回線場所大字通称名
				"kaisen_place_azcho_nm"		// 回線場所字丁目名
			};

			String[] kaisen_uw_inf_setkeys = {
				KKW00148SFConst.KAISEN_PLACE_AD_CD_05,		// 回線場所住所コード
				KKW00148SFConst.KAISEN_PLACE_PCD_05,		// 回線場所郵便番号
				KKW00148SFConst.KAISEN_PLACE_STATE_NM_05,	// 回線場所都道府県名
				KKW00148SFConst.KAISEN_PLACE_CITY_NM_05,	// 回線場所市区町村名
				KKW00148SFConst.KAISEN_PLACE_OAZTSU_NM_05,	// 回線場所大字通称名
				KKW00148SFConst.KAISEN_PLACE_AZCHO_NM_05	// 回線場所字丁目名
			};
		
		X31SDataBeanAccessArray listKKSV009201CC_svkei_kaisen_uw_inf_EKK0241B001CBSMsg1List = bean[0].getDataBeanArray(KKW00148SFConst.SVKEI_KAISEN_UW_INF);
		if(parentMap.containsKey("EKK0241B001CBSMsg1List")){
			ArrayList childList = (ArrayList)parentMap.get("EKK0241B001CBSMsg1List");

			for(int i = 0; i < childList.size(); i++){
				X31SDataBeanAccess subbean = null;
				if(listKKSV009201CC_svkei_kaisen_uw_inf_EKK0241B001CBSMsg1List.getCount() -1 >= i){
					subbean = listKKSV009201CC_svkei_kaisen_uw_inf_EKK0241B001CBSMsg1List.getDataBean(i);
				}else{
					subbean = listKKSV009201CC_svkei_kaisen_uw_inf_EKK0241B001CBSMsg1List.addDataBean();
				}
				HashMap childMap = (HashMap)childList.get(i);
			
				for (int j = 0; j < kaisen_uw_inf_outkeys.length; j ++) {
					if (childMap.containsKey(kaisen_uw_inf_outkeys[j])) {
						subbean.sendMessageString(kaisen_uw_inf_setkeys[j], X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get(kaisen_uw_inf_outkeys[j]));
					} else {
						subbean.sendMessageString(kaisen_uw_inf_setkeys[j], X31CWebConst.DATABEAN_SET_VALUE, new String());
					}
				}
			}
		}
		// ANK-2309-00-00 ADD END

		return bean;
	}
	
	// 20120712 (ロット２)番ポ対応 END

}