/*********************************************************************
*	All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名		：物流管理システム
*	モジュール名	：DKSV0080_DKSV0080OPDBMapper
*	ソースファイル名：DKSV0080_DKSV0080OPDBMapper.java
*	作成者			：fj
*	日付			：2011年07月13日
*＜機能概要＞
*	BP（返品機器詳細）へのＤ−Ｂマッピングクラスです。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v1.00.00	2011/07/13	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マッピングをする。
 * @author 富士通
 */
public class DKSV0080_DKSV0080OPDBMapper
{
	
	/**
	 * コンストラクタ
	 */
	public DKSV0080_DKSV0080OPDBMapper()
	{
	}
	

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：返品機器詳細
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return データ
	 */
	@SuppressWarnings("unchecked")
	public HashMap setDKSV008001SC(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_hmpin_kiki_no", bean[0].sendMessageString("返品機器", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("DKSV008001SC", parentMap);
						
		return outputMap;
	}


	/**
	 * 上りマッピングをする
	 * @param bean　[0]：返品機器詳細
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return データ
	 */
	@SuppressWarnings("unchecked")
	public HashMap setDKSV008002SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{
		return setDKSV0080(bean, outputMap, "DKSV008002SC", func_code);
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：返品機器詳細
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return データ
	 */
	@SuppressWarnings("unchecked")
	public HashMap setDKSV008003SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{
		return setDKSV0080(bean, outputMap, "DKSV008003SC", func_code);
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：返品機器詳細
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return データ
	 */
	@SuppressWarnings("unchecked")
	public HashMap setDKSV008004SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{
		return setDKSV0080(bean, outputMap, "DKSV008004SC", func_code);
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：返品機器詳細
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return データ
	 */
	@SuppressWarnings("unchecked")
	public HashMap setDKSV008005SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{
		return setDKSV0080(bean, outputMap, "DKSV008005SC", func_code);
	}
	
	/**
	 * 上りマッピングをする
	 * @param bean [0]：返品機器詳細
	 * @param outputMap 出力データ
	 * @param sc sc名
	 * @param func_code 機能コード
	 * @return データ
	 */
	@SuppressWarnings("unchecked")
	private HashMap setDKSV0080(X31SDataBeanAccess[] bean, HashMap outputMap, String sc, 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);

		outputMap.put(sc, parentMap);
						
		return outputMap;
	}
	
	
	/**
	 * 下りマッピング
	 * @param bean　[0]：返品機器詳細
	 * @param outputMap
	 * @return データ
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getDKSV008001SC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{

		HashMap parentMap = null;
		if(outputMap.containsKey("DKSV008001SC"))
		{
			parentMap = (HashMap)outputMap.get("DKSV008001SC");
		}

		ArrayList childList = null;
		

		X31SDataBeanAccessArray listDKSV008001SC_hmpin_kiki_EDK0301A010CBSMsg1List = bean[0].getDataBeanArray("返品機器情報");
		childList = null;
		if(parentMap.containsKey("EDK0301A010CBSMsg1List"))
		{
			childList = (ArrayList)parentMap.get("EDK0301A010CBSMsg1List");

			for(int i = 0 ; i < childList.size() ; i++)
			{
				X31SDataBeanAccess subbean = null;
				if(listDKSV008001SC_hmpin_kiki_EDK0301A010CBSMsg1List.getCount() - 1 >= i)
				{
					subbean = listDKSV008001SC_hmpin_kiki_EDK0301A010CBSMsg1List.getDataBean(i);
				}
				else
				{
					subbean = listDKSV008001SC_hmpin_kiki_EDK0301A010CBSMsg1List.addDataBean();
				}
				HashMap childMap = (HashMap)childList.get(i);
			
				// 返品機器情報.返品機器番号 ← 返品機器一意照会.返品機器一意照会明細.返品機器番号
				subbean.sendMessageString("返品機器番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("hmpin_kiki_no"));
				// 返品機器情報.返品日 ← 返品機器一意照会.返品機器一意照会明細.返品倉入年月日
				subbean.sendMessageString("返品日", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("hmpin_kuraire_ymd"));
				// 返品機器情報.返品元工事会社コード ← 返品機器一意照会.返品機器一意照会明細.工事会社コード
				subbean.sendMessageString("返品元工事会社コード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("koji_comp_cd"));
				// 返品機器情報.建物名 ← 返品機器一意照会.返品機器一意照会明細.倉庫名
				subbean.sendMessageString("建物名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("soko_nm"));
				// 返品機器情報.受入先 ← 返品機器一意照会.返品機器一意照会明細.倉庫名
				subbean.sendMessageString("受入先", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("soko_nm"));
				// 返品機器情報.棚名 ← 返品機器一意照会.返品機器一意照会明細.棚名
				subbean.sendMessageString("棚名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("shelf_nm"));
				// 返品機器情報.宅内機器型式コード ← 返品機器一意照会.返品機器一意照会明細.宅内機器型式コード
				subbean.sendMessageString("宅内機器型式コード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("taknkiki_model_cd"));
				// 返品機器情報.製造番号 ← 返品機器一意照会.返品機器一意照会明細.機器製造番号
				subbean.sendMessageString("製造番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("kiki_seizo_no"));
				// 返品機器情報.付属品型式コード ← 返品機器一意照会.返品機器一意照会明細.付属品型式コード
				subbean.sendMessageString("付属品型式コード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("huzokuhin_model_cd"));
				// 返品機器情報.送付者名 ← 返品機器一意照会.返品機器一意照会明細.返品者名
				subbean.sendMessageString("送付者名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("hmpinsha_nm"));
				// 返品機器情報.送付者郵便番号 ← 返品機器一意照会.返品機器一意照会明細.返品者郵便番号
				subbean.sendMessageString("送付者郵便番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("hmpinsha_pcd"));
				// 返品機器情報.送付者住所都道府県 ← 返品機器一意照会.返品機器一意照会明細.返品者都道府県名
				subbean.sendMessageString("送付者住所都道府県", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("hmpinsha_state_nm"));
				// 返品機器情報.送付者住所市区町村 ← 返品機器一意照会.返品機器一意照会明細.返品者市区町村名
				subbean.sendMessageString("送付者住所市区町村", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("hmpinsha_city_nm"));
				// 返品機器情報.送付者住所大字通称名 ← 返品機器一意照会.返品機器一意照会明細.返品者大字通称名
				subbean.sendMessageString("送付者住所大字通称名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("hmpinsha_oaztsu_nm"));
				// 返品機器情報.送付者住所字丁目名 ← 返品機器一意照会.返品機器一意照会明細.返品者字丁目名
				subbean.sendMessageString("送付者住所字丁目名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("hmpinsha_azcho_nm"));
				// 返品機器情報.送付者住所番地号 ← 返品機器一意照会.返品機器一意照会明細.返品者番地号
				subbean.sendMessageString("送付者住所番地号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("hmpinsha_bnchigo"));
				// 返品機器情報.送付者住所建物名 ← 返品機器一意照会.返品機器一意照会明細.返品者住所補記・建物名
				subbean.sendMessageString("送付者住所建物名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("hmpinsha_adrttm"));
				// 返品機器情報.送付者住所部屋番号 ← 返品機器一意照会.返品機器一意照会明細.返品者住所補記・部屋番号
				subbean.sendMessageString("送付者住所部屋番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("hmpinsha_adrrm"));
				// 返品機器情報.送付者電話番号 ← 返品機器一意照会.返品機器一意照会明細.返品者電話番号
				subbean.sendMessageString("送付者電話番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("hmpinsha_telno"));
				// 返品機器情報.返品理由 ← 返品機器一意照会.返品機器一意照会明細.返品理由コード名称
				subbean.sendMessageString("返品理由", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("hmpin_rsn_cd_nm"));
				// 返品機器情報.返品詳細 ← 返品機器一意照会.返品機器一意照会明細.返品理由メモ
				subbean.sendMessageString("返品詳細", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("hmpin_rsn_memo"));
				// 返品機器情報.承認日 ← 返品機器一意照会.返品機器一意照会明細.返品機器承認年月日
				subbean.sendMessageString("承認日", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("hmpin_kiki_shonin_ymd"));
				// 返品機器情報.取消日 ← 返品機器一意照会.返品機器一意照会明細.返品機器取消年月日
				subbean.sendMessageString("取消日", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("hmpin_kiki_cl_ymd"));
				// 返品機器情報.返品種別 ← 返品機器一意照会.返品機器一意照会明細.返品種別コード名称
				subbean.sendMessageString("返品種別", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("hmpin_sbt_cd_nm"));
				// 返品機器情報.サービス契約番号 ← 返品機器一意照会.返品機器一意照会明細.サービス契約番号
				subbean.sendMessageString("サービス契約番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("load_oya_svkei_no"));
				// 返品機器情報.読込サービス契約番号 ← 返品機器一意照会.返品機器一意照会明細.読込親サービス契約番号
				subbean.sendMessageString("読込サービス契約番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("load_oya_svkei_no"));
				// 返品機器情報.商品状態 ← 返品機器一意照会.返品機器一意照会明細.商品状態コード名称
				subbean.sendMessageString("商品状態", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("gds_stat_cd_nm"));
				// 返品機器情報.読込出荷ロット番号 ← 返品機器一意照会.返品機器一意照会明細.読込出荷ロット番号
				subbean.sendMessageString("読込出荷ロット番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("load_shka_lot_no"));
				// 返品機器情報.承認者 ← 返品機器一意照会.返品機器一意照会明細.返品機器承認担当ユーザー名
				subbean.sendMessageString("承認者", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("hpk_shonin_tnt_user_nm"));
				// 返品機器情報.取消者　　 ← 返品機器一意照会.返品機器一意照会明細.返品機器取消担当ユーザー名
				subbean.sendMessageString("取消者　　", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("hpk_cl_tnt_user_nm"));
				// 返品機器情報.レコード通番 ← 返品機器一意照会.返品機器一意照会明細.ＷＭＳ返品レコード通番
				subbean.sendMessageString("レコード通番", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("wms_rec_seq"));
				// 返品機器情報.機器契約区分 ← 返品機器一意照会.返品機器一意照会明細.提供種別コード名称
				subbean.sendMessageString("機器契約区分", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("tk_sbt_nm"));
				// 返品機器情報.返品元契約者名 ← 返品機器一意照会.返品機器一意照会明細.返品元契約者名
				subbean.sendMessageString("返品元契約者名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("hmpin_mt_ksh_nm"));
				// 返品機器情報.読込案件番号 ← 返品機器一意照会.返品機器一意照会明細.工事案件番号
				subbean.sendMessageString("読込案件番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("kojiak_no"));
			}
		}


		return bean;
	}

	/**
	 * 下りマッピング
	 * @param bean　[0]：返品機器詳細
	 * @param outputMap
	 * @return データ
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getDKSV008002SC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{

		HashMap parentMap = null;
		if(outputMap.containsKey("DKSV008002SC"))
		{
			parentMap = (HashMap)outputMap.get("DKSV008002SC");
		}

		ArrayList childList = null;
		

		X31SDataBeanAccessArray listDKSV008002SC_hmpin_kiki_EKK0081A010CBSMsg1List = bean[0].getDataBeanArray("返品機器情報");
		childList = null;
		if(parentMap.containsKey("EKK0081A010CBSMsg1List"))
		{
			childList = (ArrayList)parentMap.get("EKK0081A010CBSMsg1List");

			for (int i = 0 ; i < childList.size() ; i++)
			{
				X31SDataBeanAccess subbean = null;
				if(listDKSV008002SC_hmpin_kiki_EKK0081A010CBSMsg1List.getCount() - 1 >= i)
				{
					subbean = listDKSV008002SC_hmpin_kiki_EKK0081A010CBSMsg1List.getDataBean(i);
				}
				else
				{
					subbean = listDKSV008002SC_hmpin_kiki_EKK0081A010CBSMsg1List.addDataBean();
				}
				HashMap childMap = (HashMap)childList.get(i);
			
				// 返品機器情報.ＳＹＳＩＤ ← サービス契約一意照会.サービス契約一意照会明細.SYSID
				subbean.sendMessageString("ＳＹＳＩＤ", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("sysid"));
				// 返品機器情報.サービス契約 ← サービス契約一意照会.サービス契約一意照会明細.料金グループコード名称
				subbean.sendMessageString("サービス契約", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("prc_grp_cd_nm"));
				// 返品機器情報.サービス開始日 ← サービス契約一意照会.サービス契約一意照会明細.サービス開始年月日時分秒
				subbean.sendMessageString("サービス開始日", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("svc_sta_dtm"));
				// 返品機器情報.サービス終了日 ← サービス契約一意照会.サービス契約一意照会明細.サービス解約年月日
				subbean.sendMessageString("サービス終了日", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("svc_dsl_ymd"));
			}
		}


		return bean;
	}

	/**
	 * 下りマッピング
	 * @param bean　[0]：返品機器詳細
	 * @param outputMap
	 * @return データ
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getDKSV008003SC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{

		HashMap parentMap = null;
		if(outputMap.containsKey("DKSV008003SC"))
		{
			parentMap = (HashMap)outputMap.get("DKSV008003SC");
		}

		ArrayList childList = null;
		

		X31SDataBeanAccessArray listDKSV008003SC_hmpin_kiki_ECK0011A010CBSMsg1List = bean[0].getDataBeanArray("返品機器情報");
		childList = null;
		if(parentMap.containsKey("ECK0011A010CBSMsg1List"))
		{
			childList = (ArrayList)parentMap.get("ECK0011A010CBSMsg1List");

			for (int i = 0 ; i < childList.size() ; i++)
			{
				X31SDataBeanAccess subbean = null;
				if (listDKSV008003SC_hmpin_kiki_ECK0011A010CBSMsg1List.getCount() - 1 >= i)
				{
					subbean = listDKSV008003SC_hmpin_kiki_ECK0011A010CBSMsg1List.getDataBean(i);
				}
				else
				{
					subbean = listDKSV008003SC_hmpin_kiki_ECK0011A010CBSMsg1List.addDataBean();
				}
				HashMap childMap = (HashMap)childList.get(i);
			
				// 返品機器情報.契約者名 ← お客様一意照会.お客様一意照会明細.お客様名
				subbean.sendMessageString("契約者名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("cust_nm"));
				// 返品機器情報.契約者郵便番号 ← お客様一意照会.お客様一意照会明細.契約者郵便番号
				subbean.sendMessageString("契約者郵便番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("keisha_pcd"));
				// 返品機器情報.契約者住所都道府県 ← お客様一意照会.お客様一意照会明細.契約者都道府県名
				subbean.sendMessageString("契約者住所都道府県", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("keisha_state_nm"));
				// 返品機器情報.契約者住所市区町村 ← お客様一意照会.お客様一意照会明細.契約者市区町村名
				subbean.sendMessageString("契約者住所市区町村", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("keisha_city_nm"));
				// 返品機器情報.契約者住所大字通称名 ← お客様一意照会.お客様一意照会明細.契約者大字通称名
				subbean.sendMessageString("契約者住所大字通称名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("keisha_oaztsu_nm"));
				// 返品機器情報.契約者住所字丁目名 ← お客様一意照会.お客様一意照会明細.契約者字丁目名
				subbean.sendMessageString("契約者住所字丁目名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("keisha_azcho_nm"));
				// 返品機器情報.契約者住所番地号 ← お客様一意照会.お客様一意照会明細.契約者番地号
				subbean.sendMessageString("契約者住所番地号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("keisha_bnchigo"));
				// 返品機器情報.契約者住所建物名 ← お客様一意照会.お客様一意照会明細.契約者住所補記・建物名
				subbean.sendMessageString("契約者住所建物名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("keisha_adrttm"));
				// 返品機器情報.契約者住所部屋番号 ← お客様一意照会.お客様一意照会明細.契約者住所補記・部屋番号
				subbean.sendMessageString("契約者住所部屋番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("keisha_adrrm"));
				// 返品機器情報.契約者電話番号 ← お客様一意照会.お客様一意照会明細.契約者電話番号
				subbean.sendMessageString("契約者電話番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("keisha_telno"));
			}
		}


		return bean;
	}

	/**
	 * 下りマッピング
	 * @param bean　[0]：返品機器詳細
	 * @param outputMap
	 * @return データ
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getDKSV008005SC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{

		HashMap parentMap = null;
		if(outputMap.containsKey("DKSV008005SC"))
		{
			parentMap = (HashMap)outputMap.get("DKSV008005SC");
		}

		ArrayList childList = null;
		

		X31SDataBeanAccessArray listDKSV008005SC_hmpin_kiki_EDK0011A010CBSMsg1List = bean[0].getDataBeanArray("返品機器情報");
		childList = null;
		if (parentMap.containsKey("EDK0011A010CBSMsg1List"))
		{
			childList = (ArrayList)parentMap.get("EDK0011A010CBSMsg1List");

			for (int i = 0 ; i < childList.size() ; i++)
			{
				X31SDataBeanAccess subbean = null;
				if (listDKSV008005SC_hmpin_kiki_EDK0011A010CBSMsg1List.getCount() - 1 >= i)
				{
					subbean = listDKSV008005SC_hmpin_kiki_EDK0011A010CBSMsg1List.getDataBean(i);
				}
				else
				{
					subbean = listDKSV008005SC_hmpin_kiki_EDK0011A010CBSMsg1List.addDataBean();
				}
				HashMap childMap = (HashMap)childList.get(i);
			
				// 返品機器情報.出荷日 ← 配送一意照会.配送一意照会明細.出荷年月日
				subbean.sendMessageString("出荷日", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("shukka_ymd"));
				// 返品機器情報.出荷ロット番号 ← 配送一意照会.配送一意照会明細.出荷ロット番号
				subbean.sendMessageString("出荷ロット番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("shukka_lot_no"));
			}
		}


		return bean;
	}


}
