/*********************************************************************
*	All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名		：eo顧客基幹システム
*	モジュール名	：DKSV0068_DKSV0068OPDBMapper
*	ソースファイル名：DKSV0068_DKSV0068OPDBMapper.java
*	作成者			：FJ
*	日付			：2012年09月03日
*＜機能概要＞
*	BP（依頼者引渡登録）へのＤ−Ｂマッピングクラスです。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v1.00.00	2012/09/03	FJ		新規作成
*
**********************************************************************/
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 DKSV0068_DKSV0068OPDBMapper {
	
	/**
	 * コンストラクタ
	 */
	public DKSV0068_DKSV0068OPDBMapper(){
	}
	

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：依頼者引渡
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setDKSV006801SC(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_btryhozn_no", bean[0].sendMessageString("ＫＥＹ＿物流保全番号", X31CWebConst.DATABEAN_GET_VALUE));
		// 部品呼び出し → 修理機器送付マップ.修理機器送付年月日
		parentMap.put("shuri_kiki_sohu_ymd", eo.web.webview.common.JDKWebCommon.getData(bean[0], "引渡日", "年月日"));
		// 部品呼び出し → 修理機器送付マップ.更新年月日時分秒
		parentMap.put("upd_dtm", eo.web.webview.common.JDKWebCommon.getData(bean[0], "依頼者引渡内容情報", "更新年月日時分秒"));
		// 部品呼び出し → 修理機器送付マップ.修理受付日
		parentMap.put("shuri_uk_ymd", eo.web.webview.common.JDKWebCommon.getData(bean[0], "依頼者引渡内容情報", "物流保全受付年月日"));

		outputMap.put("DKSV006801SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：依頼者引渡
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setDKSV006802SC(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("btryhozn_no", bean[0].sendMessageString("ＫＥＹ＿物流保全番号", X31CWebConst.DATABEAN_GET_VALUE));
		// 部品呼び出し → 物流保全対応記録登録マップ.物流保全対応コード
		parentMap.put("btryhozn_taio_cd", eo.web.webview.common.JDKWebCommon.getData(bean[0], "依頼者引渡内容情報", "物流保全対応コード"));
		// 部品呼び出し → 物流保全対応記録登録マップ.物流保全備考
		parentMap.put("btryhozn_biko", eo.web.webview.common.JDKWebCommon.getData(bean[0], "依頼者引渡内容情報", "備考"));

		outputMap.put("DKSV006802SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：依頼者引渡
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setDKSV006803SC(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("btryhozn_no", bean[0].sendMessageString("ＫＥＹ＿物流保全番号", X31CWebConst.DATABEAN_GET_VALUE));
		// 部品呼び出し → 物流保全対応記録更新マップ.物流保全対応コード
		parentMap.put("btryhozn_taio_cd", eo.web.webview.common.JDKWebCommon.getData(bean[0], "依頼者引渡内容情報", "物流保全対応コード"));
		// 部品呼び出し → 物流保全対応記録更新マップ.物流保全備考
		parentMap.put("btryhozn_biko", eo.web.webview.common.JDKWebCommon.getData(bean[0], "依頼者引渡内容情報", "備考"));
		// 部品呼び出し → 物流保全対応記録更新マップ.更新年月日時分秒（更新前）
		parentMap.put("upd_dtm_bf", eo.web.webview.common.JDKWebCommon.getData(bean[0], "依頼者引渡内容情報", "対応記録更新年月日時分秒"));

		outputMap.put("DKSV006803SC", parentMap);
						
		return outputMap;
	}


	/**
	 * 上りマッピングをする
	 * @param bean　[0]：依頼者引渡
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setDKSV006805SC(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("knr_place_skbt_cd", eo.web.webview.common.JDKWebCommon.getData(bean[0], "建物情報", "建物区分"));
		// 部品呼び出し → 配送実績登録マップ.登録契機契約異動年月日時分秒
		parentMap.put("add_optnty_kei_ido_dtm", eo.web.webview.common.JDKWebCommon.getData(bean[0], "依頼者引渡内容情報", "機器提供サービス契約異動年月日時分秒"));
		// 部品呼び出し → 配送実績登録マップ.配送メモ
		parentMap.put("haiso_memo", eo.web.webview.common.JDKWebCommon.getData(bean[0], "依頼者引渡内容情報", "配送メモ"));
		// 部品呼び出し → 配送実績登録マップ.配送区分
		parentMap.put("haiso_div", eo.web.webview.common.JDKWebCommon.getData(bean[0], "依頼者引渡内容情報", "配送区分"));
		// 部品呼び出し → 配送実績登録マップ.配送先個別指定フラグ
		parentMap.put("hisos_ksitei_flg", eo.web.webview.common.JDKWebCommon.getData(bean[0], "依頼者引渡内容情報", "配送先個別指定フラグ"));
		// 部品呼び出し → 配送実績登録マップ.場所番号
		parentMap.put("place_no", eo.web.webview.common.JDKWebCommon.getData(bean[0], "依頼者引渡内容情報", "場所番号"));
		// 部品呼び出し → 配送実績登録マップ.倉庫コード
		parentMap.put("soko_cd", eo.web.webview.common.JDKWebCommon.getData(bean[0], "建物情報", "建物コード"));
		// 部品呼び出し → 配送実績登録マップ.配送予定年月日
		parentMap.put("haiso_rsv_ymd", eo.web.webview.common.JDKWebCommon.getData(bean[0], "引渡日", "年月日"));
		// 部品呼び出し → 配送実績登録マップ.住所未確定フラグ
		parentMap.put("ad_mi_fix_flg", eo.web.webview.common.JDKWebCommon.getData(bean[0], "依頼者引渡内容情報", "住所未確定フラグ"));
		// 部品呼び出し → 配送実績登録マップ.出荷待機フラグ
		parentMap.put("shukka_taiki_flg", eo.web.webview.common.JDKWebCommon.getData(bean[0], "依頼者引渡内容情報", "出荷待機フラグ"));
		// ＫＥＹ＿物流保全番号 → 配送実績登録マップ.物流保全番号
		parentMap.put("btryhozn_no", bean[0].sendMessageString("ＫＥＹ＿物流保全番号", X31CWebConst.DATABEAN_GET_VALUE));
		// 部品呼び出し → 配送実績登録マップ.通知書添付コード
		parentMap.put("tchisho_temp_cd", eo.web.webview.common.JDKWebCommon.getData(bean[0], "依頼者引渡内容情報", "通知書添付コード"));
		// 部品呼び出し → 配送実績登録マップ.依頼件数
		parentMap.put("req_cnt", eo.web.webview.common.JDKWebCommon.getData(bean[0], "依頼者引渡内容情報", "依頼件数"));
		// 部品呼び出し → 配送実績登録マップ.正常件数
		parentMap.put("normal_cnt", eo.web.webview.common.JDKWebCommon.getData(bean[0], "依頼者引渡内容情報", "正常件数"));
		// 部品呼び出し → 配送実績登録マップ.エラー件数
		parentMap.put("err_cnt", eo.web.webview.common.JDKWebCommon.getData(bean[0], "依頼者引渡内容情報", "エラー件数"));

		// 部品呼び出し → 配送実績登録マップ.配送先名
		parentMap.put("hisos_nm", eo.web.webview.common.JDKWebCommon.getData(bean[0], "修理状況情報", "契約者名"));
		// 部品呼び出し → 配送実績登録マップ.配送先住所コード
		parentMap.put("hisos_ad_cd", eo.web.webview.common.JDKWebCommon.getData(bean[0], "依頼者引渡内容情報", "配送先住所コード"));
		// 部品呼び出し → 配送実績登録マップ.配送先郵便番号
		parentMap.put("hisos_pcd", eo.web.webview.common.JDKWebCommon.getData(bean[0], "依頼者引渡内容情報", "配送先郵便番号"));
		// 部品呼び出し → 配送実績登録マップ.配送先都道府県名
		parentMap.put("hisos_state_nm", eo.web.webview.common.JDKWebCommon.getData(bean[0], "依頼者引渡内容情報", "配送先都道府県名"));
		// 部品呼び出し → 配送実績登録マップ.配送先市区町村名
		parentMap.put("hisos_city_nm", eo.web.webview.common.JDKWebCommon.getData(bean[0], "依頼者引渡内容情報", "配送先市区町村名"));
		// 部品呼び出し → 配送実績登録マップ.配送先大字通称名
		parentMap.put("hisos_oaztsu_nm", eo.web.webview.common.JDKWebCommon.getData(bean[0], "依頼者引渡内容情報", "配送先大字通称名"));
		// 部品呼び出し → 配送実績登録マップ.配送先字丁目名
		parentMap.put("hisos_azcho_nm", eo.web.webview.common.JDKWebCommon.getData(bean[0], "依頼者引渡内容情報", "配送先字丁目名"));
		// 部品呼び出し → 配送実績登録マップ.配送先番地号
		parentMap.put("hisos_bnchigo", eo.web.webview.common.JDKWebCommon.getData(bean[0], "依頼者引渡内容情報", "配送先番地号"));
		// 部品呼び出し → 配送実績登録マップ.配送先住所補記・建物名
		parentMap.put("hisos_adrttm", eo.web.webview.common.JDKWebCommon.getData(bean[0], "依頼者引渡内容情報", "配送先住所補記・建物名"));
		// 部品呼び出し → 配送実績登録マップ.配送先住所補記・部屋番号
		parentMap.put("hisos_adrrm", eo.web.webview.common.JDKWebCommon.getData(bean[0], "依頼者引渡内容情報", "配送先住所補記・部屋番号"));
		// 部品呼び出し → 配送実績登録マップ.配送先電話番号
		parentMap.put("hisos_telno", eo.web.webview.common.JDKWebCommon.getData(bean[0], "依頼者引渡内容情報", "配送先電話番号"));

		beanTemp = bean[0];
		arraybean = beanTemp.getDataBeanArray("依頼者引渡内容情報");
		if(parentMap.containsKey("EDK0011D010CBSMsg1List")){
			list = (ArrayList)parentMap.get("EDK0011D010CBSMsg1List");
		}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("kiki_stc_saki_place_no", subbean.sendMessageString("機器設置先場所番号", X31CWebConst.DATABEAN_GET_VALUE));
				}
				// 依頼者引渡内容情報.機器提供サービス契約番号 → 配送実績登録マップ.配送対象物品明細.機器提供サービス契約番号
				if (subbean != null) {
					childMap.put("kktk_svc_kei_no", subbean.sendMessageString("機器提供サービス契約番号", X31CWebConst.DATABEAN_GET_VALUE));
				}
				// 依頼者引渡内容情報.機器変更番号 → 配送実績登録マップ.配送対象物品明細.機器変更番号
				if (subbean != null) {
					childMap.put("kiki_chg_no", subbean.sendMessageString("機器変更番号", X31CWebConst.DATABEAN_GET_VALUE));
				}
				// 依頼者引渡内容情報.宅内機器種別コード → 配送実績登録マップ.配送対象物品明細.宅内機器種別コード
				if (subbean != null) {
					childMap.put("taknkiki_sbt_cd", subbean.sendMessageString("宅内機器種別コード", X31CWebConst.DATABEAN_GET_VALUE));
				}
				// 依頼者引渡内容情報.付属品種別コード → 配送実績登録マップ.配送対象物品明細.付属品種別コード
				if (subbean != null) {
					childMap.put("huzokuhin_sbt_cd", subbean.sendMessageString("付属品種別コード", X31CWebConst.DATABEAN_GET_VALUE));
				}
				// 依頼者引渡内容情報.リニューアル後宅内機器型式コード → 配送実績登録マップ.配送対象物品明細.宅内機器型式コード
				if (subbean != null) {
					childMap.put("taknkiki_model_cd", subbean.sendMessageString("リニューアル後宅内機器型式コード", X31CWebConst.DATABEAN_GET_VALUE));
				}
				// 依頼者引渡内容情報.リニューアル後付属品型式コード → 配送実績登録マップ.配送対象物品明細.付属品型式コード
				if (subbean != null) {
					childMap.put("huzokuhin_model_cd", subbean.sendMessageString("リニューアル後付属品型式コード", X31CWebConst.DATABEAN_GET_VALUE));
				}
				// 依頼者引渡内容情報.申込明細番号 → 配送実績登録マップ.配送対象物品明細.申込明細番号
				if (subbean != null) {
					childMap.put("mskm_dtl_no", subbean.sendMessageString("申込明細番号", X31CWebConst.DATABEAN_GET_VALUE));
				}
				// 依頼者引渡内容情報.サービス契約番号 → 配送実績登録マップ.配送対象物品明細.サービス契約番号
				if (subbean != null) {
					childMap.put("svc_kei_no", subbean.sendMessageString("サービス契約番号", X31CWebConst.DATABEAN_GET_VALUE));
				}
				// 部品呼び出し → 配送実績登録マップ.配送対象物品明細.登録契機契約異動区分
				childMap.put("add_optnty_kei_ido_div", eo.web.webview.common.JDKWebCommon.getData(bean[0], "依頼者引渡内容情報", "機器提供サービス契約異動コード"));
				// 部品呼び出し → 配送実績登録マップ.配送対象物品明細.棚コード
				childMap.put("shelf_cd", eo.web.webview.common.JDKWebCommon.getData(bean[0], "依頼者引渡内容情報", "棚コード"));
				// 部品呼び出し → 配送実績登録マップ.配送対象物品明細.機器製造番号
				childMap.put("kiki_seizo_no", eo.web.webview.common.JDKWebCommon.getData(bean[0], "依頼者引渡内容情報", "製造番号"));
				// 部品呼び出し → 配送実績登録マップ.配送対象物品明細.出荷完了明細処理結果コード
				childMap.put("shukka_dtl_rslt_cd", eo.web.webview.common.JDKWebCommon.getData(bean[0], "依頼者引渡内容情報", "出荷完了明細処理結果コード"));
				// 部品呼び出し → 配送実績登録マップ.配送対象物品明細.数量
				childMap.put("cnt", eo.web.webview.common.JDKWebCommon.getData(bean[0], "依頼者引渡内容情報", "数量"));

				list.add(childMap);
			}
		}
		parentMap.put("EDK0011D010CBSMsg1List", list);

		outputMap.put("DKSV006805SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：依頼者引渡
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setDKSV006806SC(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("exists_flg", eo.web.webview.common.JDKWebCommon.getData(bean[0], "依頼者引渡内容情報", "既存データフラグ"));

		outputMap.put("DKSV006806SC", parentMap);
						
		return outputMap;
	}


	/**
	 * 上りマッピングをする
	 * @param bean　[0]：依頼者引渡
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setDKSV006807CC(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("taknkiki_model_cd", eo.web.webview.common.JDKWebCommon.getData(bean[0], "依頼者引渡内容情報", "リニューアル後宅内機器型式コード"));
		// 部品呼び出し → 宅内機器棚移動情報更新マップ.機器製造番号
		parentMap.put("kiki_seizo_no", eo.web.webview.common.JDKWebCommon.getData(bean[0], "依頼者引渡内容情報", "製造番号"));
		// 部品呼び出し → 宅内機器棚移動情報更新マップ.機器提供種別コード
		parentMap.put("kktk_sbt_cd", eo.web.webview.common.JDKWebCommon.getData(bean[0], "依頼者引渡内容情報", "機器提供種別コード"));
		// 部品呼び出し → 宅内機器棚移動情報更新マップ.場所番号
		parentMap.put("place_no", eo.web.webview.common.JDKWebCommon.getData(bean[0], "依頼者引渡内容情報", "場所番号"));
		// 部品呼び出し → 宅内機器棚移動情報更新マップ.サービス契約番号
		parentMap.put("svc_kei_no", eo.web.webview.common.JDKWebCommon.getData(bean[0], "依頼者引渡内容情報", "サービス契約番号"));
		// 部品呼び出し → 宅内機器棚移動情報更新マップ.倉庫コード
		parentMap.put("soko_cd", eo.web.webview.common.JDKWebCommon.getData(bean[0], "建物情報", "建物コード"));
		// 部品呼び出し → 宅内機器棚移動情報更新マップ.建物区分
		parentMap.put("ttm_div", eo.web.webview.common.JDKWebCommon.getData(bean[0], "建物情報", "建物区分"));
		// 部品呼び出し → 宅内機器棚移動情報更新マップ.世代登録年月日時分秒
		parentMap.put("gene_add_dtm", eo.web.webview.common.JDKWebCommon.getData(bean[0], "修理状況情報", "世代登録年月日時分秒"));
		// 部品呼び出し → 宅内機器棚移動情報更新マップ.代替機コード
		parentMap.put("daitai_kiki_cd", eo.web.webview.common.JDKWebCommon.getData(bean[0], "修理状況情報", "代替機コード"));

		outputMap.put("DKSV006807CC", parentMap);
						
		return outputMap;
	}



}