/*********************************************************************
*	All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名		：eo顧客基幹システム
*	モジュール名	：KKSV0208_KKSV0208OPDBMapper
*	ソースファイル名：KKSV0208_KKSV0208OPDBMapper.java
*	作成者			：Fujitsu
*	日付			：2012年04月16日
*＜機能概要＞
*	BP（電波障害物件更新）へのＤ−Ｂマッピングクラスです。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v1.00.00	2012/04/16	Fujitsu		新規作成
*	v4.00.00	2012/09/19	Fujitsu		ANK-0398-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;

/**
 * DataBean-BPマッピングをする。
 * 
 */
public class KKSV0208_KKSV0208OPDBMapper {
	
	/**
	 * コンストラクタ
	 */
	public KKSV0208_KKSV0208OPDBMapper(){
	}
	

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：電波障害物件情報登録
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV0208SC(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("dmps_anken_no", bean[0].sendMessageString("電波障害案件番号", X31CWebConst.DATABEAN_GET_VALUE));
		// 電波障害物件名 → 電波障害案件変更SCマップ.電波障害物件名
		parentMap.put("dmps_bukken_nm", bean[0].sendMessageString("電波障害物件名", X31CWebConst.DATABEAN_GET_VALUE));
		// 電波障害物件カナ名 → 電波障害案件変更SCマップ.電波障害物件カナ名
		parentMap.put("dmps_bukken_kana", bean[0].sendMessageString("電波障害物件カナ名", X31CWebConst.DATABEAN_GET_VALUE));
		// 電波障害物件仮称カナ名 → 電波障害案件変更SCマップ.電波障害物件仮称カナ名
		parentMap.put("dmps_bukken_ksyo_kana", bean[0].sendMessageString("電波障害物件仮称カナ名", X31CWebConst.DATABEAN_GET_VALUE));
		// 電波障害物件仮称名 → 電波障害案件変更SCマップ.電波障害物件仮称名
		parentMap.put("dmps_bukken_ksyo_nm", bean[0].sendMessageString("電波障害物件仮称名", X31CWebConst.DATABEAN_GET_VALUE));
		// 住所コード → 電波障害案件変更SCマップ.電波障害起因者住所コード
		parentMap.put("dmps_kiinsha_ad_cd", bean[0].sendMessageString("住所コード更新", X31CWebConst.DATABEAN_GET_VALUE));
		// 郵便番号 → 電波障害案件変更SCマップ.電波障害起因者郵便番号
		parentMap.put("dmps_kiinsha_pcd", bean[0].sendMessageString("郵便番号更新", X31CWebConst.DATABEAN_GET_VALUE));
		// 都道府県 → 電波障害案件変更SCマップ.電波障害起因者都道府県名
		parentMap.put("dmps_kiinsha_state_nm", bean[0].sendMessageString("都道府県", X31CWebConst.DATABEAN_GET_VALUE));
		// 市区町村 → 電波障害案件変更SCマップ.電波障害起因者市区町村名
		parentMap.put("dmps_kiinsha_city_nm", bean[0].sendMessageString("市区町村", X31CWebConst.DATABEAN_GET_VALUE));
		// 大字通称 → 電波障害案件変更SCマップ.電波障害起因者大字通称名
		parentMap.put("dmps_kiinsha_oaztsu_nm", bean[0].sendMessageString("大字通称", X31CWebConst.DATABEAN_GET_VALUE));
		// 字丁目 → 電波障害案件変更SCマップ.電波障害起因者字丁目名
		parentMap.put("dmps_kiinsha_azcho_nm", bean[0].sendMessageString("字丁目", X31CWebConst.DATABEAN_GET_VALUE));
		// 番地・号 → 電波障害案件変更SCマップ.電波障害起因者住所番地号
		parentMap.put("dmps_kiinsha_ad_bnchigo", bean[0].sendMessageString("番地・号", X31CWebConst.DATABEAN_GET_VALUE));
		// 建物名 → 電波障害案件変更SCマップ.電波障害起因者住所補記・建物名
		parentMap.put("dmps_kiinsha_adrttm", bean[0].sendMessageString("建物名", X31CWebConst.DATABEAN_GET_VALUE));
		// 部屋番号 → 電波障害案件変更SCマップ.電波障害起因者住所補記・部屋番号
		parentMap.put("dmps_kiinsha_adrrm", bean[0].sendMessageString("部屋番号", X31CWebConst.DATABEAN_GET_VALUE));
		// 電波障害起因集合住宅オーナーカナ名 → 電波障害案件変更SCマップ.電波障害起因集合住宅オーナーカナ名
		parentMap.put("dmps_kiin_shugj_ownr_kana", bean[0].sendMessageString("電波障害起因集合住宅オーナーカナ名", X31CWebConst.DATABEAN_GET_VALUE));
		// 初期工事費金額 → 電波障害案件変更SCマップ.初期住人支払料金額
		parentMap.put("shk_junin_pay_prc_amnt", bean[0].sendMessageString("初期工事費金額", X31CWebConst.DATABEAN_GET_VALUE));
		// 導入担当ユーザーＩＤ → 電波障害案件変更SCマップ.導入担当ユーザーID
		parentMap.put("donyu_tnt_user_id", bean[0].sendMessageString("導入担当ユーザーＩＤ", X31CWebConst.DATABEAN_GET_VALUE));
		// 現行担当ユーザーＩＤ → 電波障害案件変更SCマップ.現行担当ユーザーID
		parentMap.put("crnt_tnt_user_id", bean[0].sendMessageString("現行担当ユーザーＩＤ", X31CWebConst.DATABEAN_GET_VALUE));
		// 加入条件メモ → 電波障害案件変更SCマップ.加入条件メモ
		parentMap.put("kanyu_joken_memo", bean[0].sendMessageString("加入条件メモ", X31CWebConst.DATABEAN_GET_VALUE));
		// 予約者数 → 電波障害案件変更SCマップ.予約者数
		parentMap.put("yoyaksha_cnt", bean[0].sendMessageString("予約者数", X31CWebConst.DATABEAN_GET_VALUE));
		// 先行契約者数 → 電波障害案件変更SCマップ.先行契約者数
		parentMap.put("senko_keisha_cnt", bean[0].sendMessageString("先行契約者数", X31CWebConst.DATABEAN_GET_VALUE));
		// モニタ数 → 電波障害案件変更SCマップ.モニタ数
		parentMap.put("monitor_cnt", bean[0].sendMessageString("モニタ数", X31CWebConst.DATABEAN_GET_VALUE));
		// 契約者数 → 電波障害案件変更SCマップ.契約者数
		parentMap.put("ksh_cnt", bean[0].sendMessageString("契約者数", X31CWebConst.DATABEAN_GET_VALUE));
		// 未契約者数 → 電波障害案件変更SCマップ.未契約者数
		parentMap.put("mi_ksh_cnt", bean[0].sendMessageString("未契約者数", X31CWebConst.DATABEAN_GET_VALUE));
		// 工期 → 電波障害案件変更SCマップ.工期
		parentMap.put("koki", bean[0].sendMessageString("工期", X31CWebConst.DATABEAN_GET_VALUE));
		// コールバック → 電波障害案件変更SCマップ.コールバック有無
		parentMap.put("callbk_um", bean[0].sendMessageString("コールバック", X31CWebConst.DATABEAN_GET_VALUE));
		// 対策方法メモ → 電波障害案件変更SCマップ.対策方法メモ
		parentMap.put("ctrpln_way_memo", bean[0].sendMessageString("対策方法メモ", X31CWebConst.DATABEAN_GET_VALUE));
		// 電波障害起因者名 → 電波障害案件変更SCマップ.電波障害起因者名
		parentMap.put("dmps_kiinsha_mei", bean[0].sendMessageString("電波障害起因者名", X31CWebConst.DATABEAN_GET_VALUE));
		// 電波障害起因者電話番号 → 電波障害案件変更SCマップ.電波障害起因者電話番号
		parentMap.put("dmps_kiinsha_telno", bean[0].sendMessageString("電波障害起因者電話番号", X31CWebConst.DATABEAN_GET_VALUE));
		// 電波障害起因者備考 → 電波障害案件変更SCマップ.電波障害起因者備考
		parentMap.put("dmps_kiinsha_biko", bean[0].sendMessageString("電波障害起因者備考", X31CWebConst.DATABEAN_GET_VALUE));
		// 更新年月日時分秒 → 電波障害案件変更SCマップ.更新年月日時分秒
		parentMap.put("upd_dtm", bean[0].sendMessageString("更新年月日時分秒", X31CWebConst.DATABEAN_GET_VALUE));
		// 電波障害対策区分.電波障害対策コード → 電波障害案件変更SCマップ.電波障害対策コード
		X31SDataBeanAccessArray array1 = bean[0].getDataBeanArray("電波障害対策区分");
		X31SDataBeanAccess subbean1 = array1.getDataBean(0);
		parentMap.put("dmps_ctrpln_cd", subbean1.sendMessageString("コードタイプコード", X31CWebConst.DATABEAN_GET_VALUE));
		
		// 相対料金プラン.相対料金プラン → 電波障害案件変更SCマップ.相対料金プラン
		X31SDataBeanAccessArray array2 = bean[0].getDataBeanArray("相対料金プラン");
		X31SDataBeanAccess subbean2 = array2.getDataBean(0);
		parentMap.put("dmps_anken_aitai_pplan_cd", subbean2.sendMessageString("コードタイプコード", X31CWebConst.DATABEAN_GET_VALUE));
		
		// 電波障害案件種別.電波障害案件種別 → 電波障害案件変更SCマップ.電波障害案件種別コード
		X31SDataBeanAccessArray array3 = bean[0].getDataBeanArray("電波障害案件種別");
		X31SDataBeanAccess subbean3 = array3.getDataBean(0);
		parentMap.put("dmpsank_sbt_cd", subbean3.sendMessageString("コードタイプコード", X31CWebConst.DATABEAN_GET_VALUE));
//		subbean3.sendMessageString("コードタイプコード", X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("dmpsank_sbt_cd"));
		
		/* ++++++++++ v4.00.00 追加開始 ++++++++++ */
		// 電波障害起因者住所手動入力フラグ
		if(bean[0].sendMessageBoolean("手動入力", X31CWebConst.DATABEAN_GET_VALUE))
		{
			parentMap.put("dmpsknsha_ad_man_input_flg", "1");
		}
		else
		{
			parentMap.put("dmpsknsha_ad_man_input_flg", "0");
		}
		
		// 電波障害起因者住所チェックレベル
		if(bean[0].sendMessageBoolean("手動入力", X31CWebConst.DATABEAN_GET_VALUE) || 
				"".equals(bean[0].sendMessageString("住所コード更新", X31CWebConst.DATABEAN_GET_VALUE)))
		{
			parentMap.put("dmps_kiinsha_ad_chk_lv", "0");
		}
		else
		{
			parentMap.put("dmps_kiinsha_ad_chk_lv", "1");
		}
		/* ++++++++++ v4.00.00 追加終了 ++++++++++ */
		
		outputMap.put("KKSV0208SC", parentMap);
						
		return outputMap;
	}



}
