/*********************************************************************
*	All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名		：eo顧客基幹システム
*	モジュール名	：DKSV0014_DKSV0014OPDBMapper
*	ソースファイル名：DKSV0014_DKSV0014OPDBMapper.java
*	作成者			：FJ
*	日付			：2012年10月03日
*＜機能概要＞
*	BP（機器メーカー修理完了登録）へのＤ−Ｂマッピングクラスです。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v1.00.00	2012/10/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 DKSV0014_DKSV0014OPDBMapper {
	
	/**
	 * コンストラクタ
	 */
	public DKSV0014_DKSV0014OPDBMapper(){
	}
	

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：機器メーカー修理完了
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setDKSV001401SC(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_mkrhmpin_no", eo.web.webview.common.JDKWebCommon.getData(bean[0], "機器メーカー修理完了情報", "メーカー返品番号"));
		// 部品呼び出し → メーカー返品対応完了マップ.物流保全受付年月日
		parentMap.put("btryhozn_uk_ymd", eo.web.webview.common.JDKWebCommon.getData(bean[0], "機器メーカー修理完了情報", "物流保全受付年月日"));
		// 部品呼び出し → メーカー返品対応完了マップ.メーカー返品完了年月日
		parentMap.put("mkrhmpin_ymd", eo.web.webview.common.JDKWebCommon.getData(bean[0], "機器メーカー修理完了情報", "メーカー修理完了年月日"));
		// 部品呼び出し → メーカー返品対応完了マップ.更新年月日時分秒（更新前）
		parentMap.put("upd_dtm_bf", eo.web.webview.common.JDKWebCommon.getData(bean[0], "機器メーカー修理完了情報", "メーカー返品更新年月日時分秒"));

		outputMap.put("DKSV001401SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：機器メーカー修理完了
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setDKSV001402SC(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_mkrhmpin_no", eo.web.webview.common.JDKWebCommon.getData(bean[0], "機器メーカー修理完了情報", "メーカー返品番号"));
		// 部品呼び出し → メーカー返品対象機器戻入マップ.ＫＥＹ＿メーカー返品対象機器番号
		parentMap.put("key_mkrhmpin_taikiki_no", eo.web.webview.common.JDKWebCommon.getData(bean[0], "機器メーカー修理完了情報", "メーカー返品対象機器番号"));
		// 部品呼び出し → メーカー返品対象機器戻入マップ.メーカー返品対象機器戻入年月日
		parentMap.put("mkrhmpin_taikiki_rtrn_ymd", eo.web.webview.common.JDKWebCommon.getData(bean[0], "機器メーカー修理完了情報", "メーカー修理完了年月日"));
		// 部品呼び出し → メーカー返品対象機器戻入マップ.リニューアル後宅内機器型式コード
		parentMap.put("renewal_af_taknkiki_mdl_cd", eo.web.webview.common.JDKWebCommon.getData(bean[0], "機器メーカー修理完了情報", "リニューアル後宅内機器型式コード"));
		// 部品呼び出し → メーカー返品対象機器戻入マップ.リニューアル後付属品型式コード
		parentMap.put("renewal_af_hzkhin_mdl_cd", eo.web.webview.common.JDKWebCommon.getData(bean[0], "機器メーカー修理完了情報", "リニューアル後付属品型式コード"));
		// 部品呼び出し → メーカー返品対象機器戻入マップ.リニューアル後機器製造番号
		parentMap.put("renewal_af_kiki_seizo_no", eo.web.webview.common.JDKWebCommon.getData(bean[0], "機器メーカー修理完了情報", "製造番号"));
		// 部品呼び出し → メーカー返品対象機器戻入マップ.メーカー返品受取商品コード
		parentMap.put("mkrhmpin_uk_goods_cd", eo.web.webview.common.JDKWebCommon.getData(bean[0], "機器メーカー修理完了情報", "メーカー返品受取商品コード"));
		// 部品呼び出し → メーカー返品対象機器戻入マップ.更新年月日時分秒（更新前）
		parentMap.put("upd_dtm_bf", eo.web.webview.common.JDKWebCommon.getData(bean[0], "機器メーカー修理完了情報", "メーカー返品対象機器更新年月日時分秒"));
		// 部品呼び出し → メーカー返品対象機器戻入マップ.物流保全受付年月日
		parentMap.put("btryhozn_uk_ymd", eo.web.webview.common.JDKWebCommon.getData(bean[0], "機器メーカー修理完了情報", "物流保全受付年月日"));
		// 部品呼び出し → メーカー返品対象機器戻入マップ.宅内機器種別コード
		parentMap.put("taknkiki_sbt_cd", eo.web.webview.common.JDKWebCommon.getData(bean[0], "機器メーカー修理完了情報", "宅内機器種別コード"));

		outputMap.put("DKSV001402SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：機器メーカー修理完了
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setDKSV001403SC(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", eo.web.webview.common.JDKWebCommon.getData(bean[0], "機器メーカー修理完了情報", "物流保全番号"));
		// 部品呼び出し → 物流保全対応記録登録マップ.物流保全対応コード
		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("DKSV001403SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：機器メーカー修理完了
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setDKSV001404SC(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", eo.web.webview.common.JDKWebCommon.getData(bean[0], "機器メーカー修理完了情報", "物流保全番号"));
		// 部品呼び出し → 物流保全対応記録更新マップ.ＫＥＹ＿物流保全対応コード
		parentMap.put("key_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("DKSV001404SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：機器メーカー修理完了
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setDKSV001405SC(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", eo.web.webview.common.JDKWebCommon.getData(bean[0], "機器メーカー修理完了情報", "物流保全番号"));
		// 部品呼び出し → 機器メーカー修理完了更新マップ.物流保全ステータス１
		parentMap.put("btryhozen_stat", eo.web.webview.common.JDKWebCommon.getData(bean[0], "機器メーカー修理完了情報", "物流保全ステータス"));
		// 部品呼び出し → 機器メーカー修理完了更新マップ.物流保全受付年月日
		parentMap.put("btryhozn_uk_ymd", eo.web.webview.common.JDKWebCommon.getData(bean[0], "機器メーカー修理完了情報", "物流保全受付年月日"));
		// 部品呼び出し → 機器メーカー修理完了更新マップ.メーカー修理完了年月日
		parentMap.put("mkr_shuri_fin_ymd", eo.web.webview.common.JDKWebCommon.getData(bean[0], "機器メーカー修理完了情報", "メーカー修理完了年月日"));
		// 部品呼び出し → 機器メーカー修理完了更新マップ.更新年月日時分秒（更新前）
		parentMap.put("upd_dtm_bf", eo.web.webview.common.JDKWebCommon.getData(bean[0], "機器メーカー修理完了情報", "物流保全更新年月日時分秒"));

		outputMap.put("DKSV001405SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：機器メーカー修理完了
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setDKSV001406CC(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("soko_cd", eo.web.webview.common.JDKWebCommon.getData(bean[0], "機器メーカー修理完了情報", "建物"));
		// 部品呼び出し → 機器出荷在庫数更新マップ.メーカーコード
		parentMap.put("maker_cd", eo.web.webview.common.JDKWebCommon.getData(bean[0], "機器メーカー修理完了情報", "メーカーコード"));
		// 部品呼び出し → 機器出荷在庫数更新マップ.機器提供種別コード
		parentMap.put("kktk_sbt_cd", eo.web.webview.common.JDKWebCommon.getData(bean[0], "機器メーカー修理完了情報", "機器提供種別コード"));
		// 部品呼び出し → 機器出荷在庫数更新マップ.サービス契約番号
		parentMap.put("svc_kei_no", eo.web.webview.common.JDKWebCommon.getData(bean[0], "機器メーカー修理完了情報", "サービス契約番号"));

		outputMap.put("DKSV001406CC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：機器メーカー修理完了
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setDKSV001407SC(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", eo.web.webview.common.JDKWebCommon.getData(bean[0], "機器メーカー修理完了情報", "物流保全番号"));

		outputMap.put("DKSV001407SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：機器メーカー修理完了
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setDKSV001408SC(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("daitaiki_kiki_chg_no", eo.web.webview.common.JDKWebCommon.getData(bean[0], "機器メーカー修理完了情報", "代替機機器変更番号"));
		// 部品呼び出し → 返品機器受付マップ.代替機型式コード
		parentMap.put("daitaiki_mdl_cd", eo.web.webview.common.JDKWebCommon.getData(bean[0], "機器メーカー修理完了情報", "代替機型式コード"));
		// 部品呼び出し → 返品機器受付マップ.代替機製造番号
		parentMap.put("daitaiki_kiki_seizo_no", eo.web.webview.common.JDKWebCommon.getData(bean[0], "機器メーカー修理完了情報", "代替機製造番号"));
		// 部品呼び出し → 返品機器受付マップ.物流保全
		parentMap.put("btryhozn_no", eo.web.webview.common.JDKWebCommon.getData(bean[0], "機器メーカー修理完了情報", "物流保全番号"));
		// 部品呼び出し → 返品機器受付マップ.物流保全受付年月日
		parentMap.put("btryhozn_uk_ymd", eo.web.webview.common.JDKWebCommon.getData(bean[0], "機器メーカー修理完了情報", "物流保全受付年月日"));
		// 部品呼び出し → 返品機器受付マップ.旧宅内機器型式コード
		parentMap.put("taknkiki_mdl_cd", eo.web.webview.common.JDKWebCommon.getData(bean[0], "修理状況情報", "型番号"));
		// 部品呼び出し → 返品機器受付マップ.旧機器製造番号
		parentMap.put("kiki_seizo_no", eo.web.webview.common.JDKWebCommon.getData(bean[0], "修理状況情報", "製造番号"));

		outputMap.put("DKSV001408SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：機器メーカー修理完了
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setDKSV001409SC(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("renewal_af_kiki_seizo_no", eo.web.webview.common.JDKWebCommon.getData(bean[0], "機器メーカー修理完了情報", "製造番号"));
		// 部品呼び出し → 機器提供サービス契約機器変更マップ.リニューアル後宅内機器型式コード
		parentMap.put("renewal_af_taknkiki_mdl_cd", eo.web.webview.common.JDKWebCommon.getData(bean[0], "機器メーカー修理完了情報", "リニューアル後宅内機器型式コード"));

		outputMap.put("DKSV001409SC", parentMap);
						
		return outputMap;
	}


	/**
	 * 下りマッピング
	 * @param bean　[0]：機器メーカー修理完了
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getDKSV001407SC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("DKSV001407SC")){
			parentMap = (HashMap)outputMap.get("DKSV001407SC");
		}

		ArrayList childList = null;
		

		X31SDataBeanAccessArray listDKSV001407SC_kiki_maker_shuri_fin_info_EDK0171B050List = bean[0].getDataBeanArray("機器メーカー修理完了情報");
		childList = null;
		if(listDKSV001407SC_kiki_maker_shuri_fin_info_EDK0171B050List != null && parentMap != null && parentMap.containsKey("EDK0171B050List")){
			childList = (ArrayList)parentMap.get("EDK0171B050List");

			for(int i = 0; i < childList.size(); i++){
				X31SDataBeanAccess subbean = null;
				if(listDKSV001407SC_kiki_maker_shuri_fin_info_EDK0171B050List.getCount() -1 >= i){
					subbean = listDKSV001407SC_kiki_maker_shuri_fin_info_EDK0171B050List.getDataBean(i);
				}else{
					subbean = listDKSV001407SC_kiki_maker_shuri_fin_info_EDK0171B050List.addDataBean();
				}
				HashMap childMap = (HashMap)childList.get(i);
				if (subbean == null) {
					continue;
				}
			
				// 機器メーカー修理完了情報.代替機コード ← 交換機器引渡一覧照会マップ.交換機器送付一覧照会明細.代替機コード
				if (childMap != null) {
					subbean.sendMessageString("代替機コード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("daitai_kiki_cd"));
				} else {
					subbean.sendMessageString("代替機コード", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
			}
		}


		return bean;
	}


}