/*********************************************************************
*	All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名		：eo顧客基幹システム
*	モジュール名	：KKSV0205_KKSV0205OPDBMapper
*	ソースファイル名：KKSV0205_KKSV0205OPDBMapper.java
*	作成者			：Fujitsu
*	日付			：2011年07月28日
*＜機能概要＞
*	BP（電波障害物件一覧照会）へのＤ−Ｂマッピングクラスです。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v1.00.00	2011/07/28	Fujitsu		新規作成
*	v4.00.00	2012/09/19	Fujitsu		ANK-0551-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.web.webview.common.JCCWebCommon;

/**
 * DataBean-BPマッピングをする。
 * 
 */
public class KKSV0205_KKSV0205OPDBMapper {
	
	/**
	 * コンストラクタ
	 */
	public KKSV0205_KKSV0205OPDBMapper(){
	}
	

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：電波障害物件一覧照会画面
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV0205CC(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("1"));
		// 最大検索件数
		parentMap.put("max_search_num", JCCWebCommon.getSearchConst("KKW10101_MAX_SHOW_CNT"));
		// 表示件数
		parentMap.put("display_num", JCCWebCommon.getSearchConst("KKW10101_ROW_PER_PAGE"));
		
//		String page = bean[0].sendMessageString("ページ番号", X31CWebConst.DATABEAN_GET_VALUE);
//		parentMap.put("display_page_num",bean[0].sendMessageString("ページ番号", X31CWebConst.DATABEAN_GET_VALUE));
//		
//		parentMap.put("search_key", bean[0].sendMessageString("ページ検索キー", X31CWebConst.DATABEAN_GET_VALUE));
		
		// 退避電波障害案件番号（ｆｒｏｍ） → 電波障害案件一覧照会CCマップ.ＫＥＹ＿電波障害案件番号（Ｆｒｏｍ）
		parentMap.put("key_dmps_anken_no_frm", bean[0].sendMessageString("退避電波障害案件番号（ｆｒｏｍ）", X31CWebConst.DATABEAN_GET_VALUE));
		// 退避電波障害案件番号（ｔｏ） → 電波障害案件一覧照会CCマップ.ＫＥＹ＿電波障害案件番号（Ｔｏ）
		parentMap.put("key_dmps_anken_no_to", bean[0].sendMessageString("退避電波障害案件番号（ｔｏ）", X31CWebConst.DATABEAN_GET_VALUE));
		
		// 電波障害案件番号FROMがありTOがない場合、完全一致検索を行うためTOにも値をセットする。
		String noFrom = bean[0].sendMessageString("退避電波障害案件番号（ｆｒｏｍ）", X31CWebConst.DATABEAN_GET_VALUE);
		String noTo = bean[0].sendMessageString("退避電波障害案件番号（ｔｏ）", X31CWebConst.DATABEAN_GET_VALUE);
		if(noFrom != null && !"".equals(noFrom)){
			if(noTo == null || "".equals(noTo)){
				// 退避電波障害案件番号（ｔｏ） → 電波障害案件一覧照会CCマップ.ＫＥＹ＿電波障害案件番号（Ｔｏ）
				parentMap.put("key_dmps_anken_no_to", noFrom);
			}
		}
		
		// 退避電波障害物件名 → 電波障害案件一覧照会CCマップ.ＫＥＹ＿電波障害物件名
		parentMap.put("key_dmps_bukken_nm", bean[0].sendMessageString("退避電波障害物件名", X31CWebConst.DATABEAN_GET_VALUE));
		// 退避電波障害物件名部分検索フラグ → 電波障害案件一覧照会CCマップ.ＫＥＹ＿部分一致フラグ（物件名）
		parentMap.put("key_bbn_ic_flg_bukken_nm", bean[0].sendMessageString("退避電波障害物件名部分検索フラグ", X31CWebConst.DATABEAN_GET_VALUE));
		// 退避電波障害物件カナ名 → 電波障害案件一覧照会CCマップ.ＫＥＹ＿電波障害物件カナ名
		parentMap.put("key_dmps_bukken_kana", bean[0].sendMessageString("退避電波障害物件カナ名", X31CWebConst.DATABEAN_GET_VALUE));
		// 退避電波障害物件カナ名部分検索フラグ → 電波障害案件一覧照会CCマップ.ＫＥＹ＿部分一致フラグ（物件カナ名）
		parentMap.put("key_bbn_ic_flg_bukken_kana", bean[0].sendMessageString("退避電波障害物件カナ名部分検索フラグ", X31CWebConst.DATABEAN_GET_VALUE));
		// 退避郵便番号 → 電波障害案件一覧照会CCマップ.ＫＥＹ＿電波障害起因者郵便番号
		parentMap.put("key_dmps_kiinsha_pcd", bean[0].sendMessageString("退避郵便番号", X31CWebConst.DATABEAN_GET_VALUE));
		// 退避住所コード → 電波障害案件一覧照会CCマップ.ＫＥＹ＿電波障害起因者住所コード
		parentMap.put("key_dmps_kiinsha_ad_cd", bean[0].sendMessageString("退避住所コード", X31CWebConst.DATABEAN_GET_VALUE));
		// 退避都道府県 → 電波障害案件一覧照会CCマップ.ＫＥＹ＿電波障害起因者都道府県名
		parentMap.put("key_dmps_kiinsha_state_nm", bean[0].sendMessageString("退避都道府県", X31CWebConst.DATABEAN_GET_VALUE));
		// 退避市区町村 → 電波障害案件一覧照会CCマップ.ＫＥＹ＿電波障害起因者市区町村名
		parentMap.put("key_dmps_kiinsha_city_nm", bean[0].sendMessageString("退避市区町村", X31CWebConst.DATABEAN_GET_VALUE));
		// 退避市区町村部分検索フラグ → 電波障害案件一覧照会CCマップ.ＫＥＹ＿部分一致フラグ（市区町村名）
		parentMap.put("key_bbn_ic_flg_city_nm", bean[0].sendMessageString("退避市区町村部分検索フラグ", X31CWebConst.DATABEAN_GET_VALUE));
		// 退避大字通称 → 電波障害案件一覧照会CCマップ.ＫＥＹ＿電波障害起因者大字通称名
		parentMap.put("key_dmps_kiinsha_oaztsu_nm", bean[0].sendMessageString("退避大字通称", X31CWebConst.DATABEAN_GET_VALUE));
		// 退避大字通称部分検索フラグ → 電波障害案件一覧照会CCマップ.ＫＥＹ＿部分一致フラグ（大字通称名）
		parentMap.put("key_bbn_ic_flg_oaztsu_nm", bean[0].sendMessageString("退避大字通称部分検索フラグ", X31CWebConst.DATABEAN_GET_VALUE));
		// 退避字丁目 → 電波障害案件一覧照会CCマップ.ＫＥＹ＿電波障害起因者字丁目名
		parentMap.put("key_dmps_kiinsha_azcho_nm", bean[0].sendMessageString("退避字丁目", X31CWebConst.DATABEAN_GET_VALUE));
		// 退避字丁目部分検索フラグ → 電波障害案件一覧照会CCマップ.ＫＥＹ＿部分一致フラグ（字丁目名）
		parentMap.put("key_bbn_ic_flg_azcho_nm", bean[0].sendMessageString("退避字丁目部分検索フラグ", X31CWebConst.DATABEAN_GET_VALUE));
		// 退避番地・号 → 電波障害案件一覧照会CCマップ.ＫＥＹ＿電波障害起因者住所番地号
		parentMap.put("key_dmps_kiinsha_ad_bnchigo", bean[0].sendMessageString("退避番地・号", X31CWebConst.DATABEAN_GET_VALUE));
		// 退避番地・号部分検索フラグ → 電波障害案件一覧照会CCマップ.ＫＥＹ＿部分一致フラグ（番地号）
		parentMap.put("key_bbn_ic_flg_bnchigo", bean[0].sendMessageString("退避番地・号部分検索フラグ", X31CWebConst.DATABEAN_GET_VALUE));
		// 退避建物名 → 電波障害案件一覧照会CCマップ.ＫＥＹ＿電波障害起因者住所補記・建物名
		parentMap.put("key_dmps_kiinsha_adrttm", bean[0].sendMessageString("退避建物名", X31CWebConst.DATABEAN_GET_VALUE));
		// 退避建物名部分検索フラグ → 電波障害案件一覧照会CCマップ.ＫＥＹ＿部分一致フラグ（補記・建物名）
		parentMap.put("key_bbn_ic_flg_adrttm", bean[0].sendMessageString("退避建物名部分検索フラグ", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("KKSV0205CC", parentMap);
						
		return outputMap;
	}


	/**
	 * 下りマッピング
	 * @param bean　[0]：電波障害物件一覧照会画面
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getKKSV0205CC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("KKSV0205CC")){
			parentMap = (HashMap)outputMap.get("KKSV0205CC");
		}

		ArrayList childList = null;
		
//		String page = parentMap.get("display_page_num").toString();
//		bean[0].sendMessageString("ページ番号", X31CWebConst.DATABEAN_SET_VALUE, page);
		
		X31SDataBeanAccessArray listKKSV0205CC_dmps_anken_list_EKK0581B001CBSMsg1List = bean[0].getDataBeanArray("電波障害物件一覧明細リスト");
		childList = null;
		if(parentMap.containsKey("EKK0581B001CBSMsg1List")){
			childList = (ArrayList)parentMap.get("EKK0581B001CBSMsg1List");

			for(int i = 0; i < childList.size(); i++){
				X31SDataBeanAccess subbean = null;
				if(listKKSV0205CC_dmps_anken_list_EKK0581B001CBSMsg1List.getCount() -1 >= i){
					subbean = listKKSV0205CC_dmps_anken_list_EKK0581B001CBSMsg1List.getDataBean(i);
				}else{
					subbean = listKKSV0205CC_dmps_anken_list_EKK0581B001CBSMsg1List.addDataBean();
				}
				HashMap childMap = (HashMap)childList.get(i);
			
				// 電波障害物件一覧明細リスト.電波障害案件番号 ← 電波障害案件一覧照会CCマップ.電波障害物件一覧照会明細.電波障害案件番号
				subbean.sendMessageString("電波障害案件番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("dmps_anken_no"));
				// 電波障害物件一覧明細リスト.電波障害物件名 ← 電波障害案件一覧照会CCマップ.電波障害物件一覧照会明細.電波障害物件名
				subbean.sendMessageString("電波障害物件名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("dmps_bukken_nm"));
				// 電波障害物件一覧明細リスト.電波障害物件カナ名 ← 電波障害案件一覧照会CCマップ.電波障害物件一覧照会明細.電波障害物件カナ名
				subbean.sendMessageString("電波障害物件カナ名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("dmps_bukken_kana"));
				// 電波障害物件一覧明細リスト.都道府県 ← 電波障害案件一覧照会CCマップ.電波障害物件一覧照会明細.電波障害起因者都道府県名
				subbean.sendMessageString("都道府県", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("dmps_kiinsha_state_nm"));
				// 電波障害物件一覧明細リスト.市区町村 ← 電波障害案件一覧照会CCマップ.電波障害物件一覧照会明細.電波障害起因者市区町村名
				subbean.sendMessageString("市区町村", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("dmps_kiinsha_city_nm"));
				// 電波障害物件一覧明細リスト.大字通称 ← 電波障害案件一覧照会CCマップ.電波障害物件一覧照会明細.電波障害起因者大字通称名
				subbean.sendMessageString("大字通称", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("dmps_kiinsha_oaztsu_nm"));
				// 電波障害物件一覧明細リスト.字丁目 ← 電波障害案件一覧照会CCマップ.電波障害物件一覧照会明細.電波障害起因者字丁目名
				subbean.sendMessageString("字丁目", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("dmps_kiinsha_azcho_nm"));
				// 電波障害物件一覧明細リスト.番地・号 ← 電波障害案件一覧照会CCマップ.電波障害物件一覧照会明細.電波障害起因者住所番地号
				subbean.sendMessageString("番地・号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("dmps_kiinsha_ad_bnchigo"));
				// 電波障害物件一覧明細リスト.建物名 ← 電波障害案件一覧照会CCマップ.電波障害物件一覧照会明細.電波障害起因者住所補記・建物名
				subbean.sendMessageString("建物名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("dmps_kiinsha_adrttm"));
				// 電波障害物件一覧明細リスト.電波障害対策区分名称 ← 電波障害案件一覧照会CCマップ.電波障害物件一覧照会明細.電波障害対策コード名称
				subbean.sendMessageString("電波障害対策区分名称", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("dmps_ctrpln_cd_nm"));
				// 電波障害物件一覧明細リスト.コールバック ← 電波障害案件一覧照会CCマップ.電波障害物件一覧照会明細.コールバック有無名称
				subbean.sendMessageString("コールバック", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("callbk_um_nm"));
				// 電波障害物件一覧明細リスト.対策方法メモ ← 電波障害案件一覧照会CCマップ.電波障害物件一覧照会明細.対策方法メモ
				subbean.sendMessageString("対策方法メモ", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("ctrpln_way_memo"));
				// 電波障害物件一覧明細リスト.相対料金プラン ← 電波障害案件一覧照会CCマップ.電波障害物件一覧照会明細.電波障害相対料金プランコード名称
				subbean.sendMessageString("相対料金プラン", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("dmps_anken_aitai_pplan_cd_nm"));
				// 電波障害物件一覧明細リスト.初期工事費金額 ← 電波障害案件一覧照会CCマップ.電波障害物件一覧照会明細.初期住人支払料金額
				subbean.sendMessageString("初期工事費金額", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("shk_junin_pay_prc_amnt"));
				// 電波障害物件一覧明細リスト.電波障害案件種別 ← 電波障害案件一覧照会CCマップ.電波障害物件一覧照会明細.電波障害案件種別コード名称
				subbean.sendMessageString("電波障害案件種別", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("dmpsank_sbt_cd_nm"));
				/* ++++++++++ v4.00.00 削除開始 ++++++++++ */
//				// 電波障害物件一覧明細リスト.役務工事費金額 ← 電波障害案件一覧照会CCマップ.電波障害物件一覧照会明細.役務工事費金額
//				subbean.sendMessageString("役務工事費金額", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("ssn_amnt"));
				/* ++++++++++ v4.00.00 削除終了 ++++++++++ */
			}
		}


		return bean;
	}


}
