/*********************************************************************
*	All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名		：eo顧客基幹システム
*	モジュール名	：FUSV0195_FUSV0195OPDBMapper
*	ソースファイル名：FUSV0195_FUSV0195OPDBMapper.java
*	作成者			：FJ
*	日付			：2012年02月03日
*＜機能概要＞
*	BP（エリアリクエスト取消(初期表示)）へのＤ−Ｂマッピングクラスです。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v1.00.00	2012/02/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;

import eo.web.webview.FUW00401SF.FUW00401SFConst;

/**
 * DataBean-BPマッピングをする。
 * 
 */
public class FUSV0195_FUSV0195OPDBMapper {
	
	/** CC */
	private static final String FUSV019501CC = "FUSV019501CC";
	
	/** 問合せ客一覧照会明細 */
	private static final String ECK0051A010CBSMsg1List = "ECK0051A010CBSMsg1List";

	/** IN項目:検索キー */
	private static final String IN_PARAM_SEARCH_KEY = "search_key";
	
	/**
	 * コンストラクタ
	 */
	public FUSV0195_FUSV0195OPDBMapper(){
	}
	

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：エリアリクエスト取消
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV019501CC(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>();

		// 検索キー の設定（問合せ客番号orエリアリクエスト番号が設定される）
		parentMap.put(IN_PARAM_SEARCH_KEY, bean[0].sendMessageString(FUW00401SFConst.KEY_PROSCST_NO, X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put(FUSV019501CC, parentMap);
						
		return outputMap;
	}
	
	/**
	 * 下りマッピング
	 * @param bean　[0]：エリアリクエスト取消
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getFUSV019501SC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey(FUSV019501CC)){
			parentMap = (HashMap)outputMap.get(FUSV019501CC);
		}

		ArrayList childList = null;
		

		X31SDataBeanAccessArray listFUSV019501SC_proscstlist_ECK0051A010CBSMsg1List = bean[0].getDataBeanArray(FUW00401SFConst.PROSCSTLIST);
		childList = null;
		if(listFUSV019501SC_proscstlist_ECK0051A010CBSMsg1List != null && parentMap != null && parentMap.containsKey(ECK0051A010CBSMsg1List)){
			childList = (ArrayList)parentMap.get(ECK0051A010CBSMsg1List);

			for(int i = 0; i < childList.size(); i++){
				X31SDataBeanAccess subbean = null;
				if(listFUSV019501SC_proscstlist_ECK0051A010CBSMsg1List.getCount() -1 >= i){
					subbean = listFUSV019501SC_proscstlist_ECK0051A010CBSMsg1List.getDataBean(i);
				}else{
					subbean = listFUSV019501SC_proscstlist_ECK0051A010CBSMsg1List.addDataBean();
				}
				HashMap childMap = (HashMap)childList.get(i);
				if (subbean == null) {
					continue;
				}
			
				// 問合せ客リスト.問合せ客番号 ← 問合せ客マップ.問合せ客一意照会明細.問合せ客番号
				if (childMap != null) {
					subbean.sendMessageString("問合せ客番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("proscst_no"));
				} else {
					subbean.sendMessageString("問合せ客番号", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 問合せ客リスト.問合せ客名 ← 問合せ客マップ.問合せ客一意照会明細.問合せ客名
				if (childMap != null) {
					subbean.sendMessageString("問合せ客名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("proscst_nm"));
				} else {
					subbean.sendMessageString("問合せ客名", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 問合せ客リスト.問合せ客カナ名 ← 問合せ客マップ.問合せ客一意照会明細.問合せ客カナ名
				if (childMap != null) {
					subbean.sendMessageString("問合せ客カナ名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("proscst_kana"));
				} else {
					subbean.sendMessageString("問合せ客カナ名", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 問合せ客リスト.問合せ客電話番号 ← 問合せ客マップ.問合せ客一意照会明細.問合せ客電話番号
				if (childMap != null) {
					subbean.sendMessageString("問合せ客電話番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("proscst_telno"));
				} else {
					subbean.sendMessageString("問合せ客電話番号", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 問合せ客リスト.問合せ客携帯電話番号 ← 問合せ客マップ.問合せ客一意照会明細.問合せ客携帯電話番号
				if (childMap != null) {
					subbean.sendMessageString("問合せ客携帯電話番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("proscst_ktai_telno"));
				} else {
					subbean.sendMessageString("問合せ客携帯電話番号", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 問合せ客リスト.問合せ客メールアドレス ← 問合せ客マップ.問合せ客一意照会明細.問合せ客メールアドレス
				if (childMap != null) {
					subbean.sendMessageString("問合せ客メールアドレス", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("proscst_mlad"));
				} else {
					subbean.sendMessageString("問合せ客メールアドレス", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 問合せ客リスト.問合せ客性別コード ← 問合せ客マップ.問合せ客一意照会明細.問合せ客性別コード
				if (childMap != null) {
					subbean.sendMessageString("問合せ客性別コード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("proscst_sex_cd"));
				} else {
					subbean.sendMessageString("問合せ客性別コード", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 問合せ客リスト.問合せ客性別コード名称 ← 問合せ客マップ.問合せ客一意照会明細.問合せ客性別コード名
				if (childMap != null) {
					subbean.sendMessageString("問合せ客性別コード名称", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("proscst_sex_cd_nm"));
				} else {
					subbean.sendMessageString("問合せ客性別コード名称", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 問合せ客リスト.問合せ客生年月日 ← 問合せ客マップ.問合せ客一意照会明細.問合せ客生年月日
				if (childMap != null) {
					subbean.sendMessageString("問合せ客生年月日", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("proscst_birthd"));
				} else {
					subbean.sendMessageString("問合せ客生年月日", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 問合せ客リスト.問合せ客住所コード ← 問合せ客マップ.問合せ客一意照会明細.問合せ客住所コード
				if (childMap != null) {
					subbean.sendMessageString("問合せ客住所コード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("proscst_ad_cd"));
				} else {
					subbean.sendMessageString("問合せ客住所コード", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 問合せ客リスト.問合せ客郵便番号 ← 問合せ客マップ.問合せ客一意照会明細.問合せ客郵便番号
				if (childMap != null) {
					subbean.sendMessageString("問合せ客郵便番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("proscst_pcd"));
				} else {
					subbean.sendMessageString("問合せ客郵便番号", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 問合せ客リスト.問合せ客都道府県名 ← 問合せ客マップ.問合せ客一意照会明細.問合せ客都道府県名
				if (childMap != null) {
					subbean.sendMessageString("問合せ客都道府県名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("proscst_state_nm"));
				} else {
					subbean.sendMessageString("問合せ客都道府県名", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 問合せ客リスト.問合せ客市区町村名 ← 問合せ客マップ.問合せ客一意照会明細.問合せ客市区町村名
				if (childMap != null) {
					subbean.sendMessageString("問合せ客市区町村名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("proscst_city_nm"));
				} else {
					subbean.sendMessageString("問合せ客市区町村名", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 問合せ客リスト.問合せ客大字通称名 ← 問合せ客マップ.問合せ客一意照会明細.問合せ客大字通称名
				if (childMap != null) {
					subbean.sendMessageString("問合せ客大字通称名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("proscst_oaztsu_nm"));
				} else {
					subbean.sendMessageString("問合せ客大字通称名", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 問合せ客リスト.問合せ客字丁目名 ← 問合せ客マップ.問合せ客一意照会明細.問合せ客字丁目名
				if (childMap != null) {
					subbean.sendMessageString("問合せ客字丁目名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("proscst_azcho_nm"));
				} else {
					subbean.sendMessageString("問合せ客字丁目名", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 問合せ客リスト.問合せ客番地号 ← 問合せ客マップ.問合せ客一意照会明細.問合せ客番地号
				if (childMap != null) {
					subbean.sendMessageString("問合せ客番地号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("proscst_bnchigo"));
				} else {
					subbean.sendMessageString("問合せ客番地号", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 問合せ客リスト.問合せ客住所補記・建物名 ← 問合せ客マップ.問合せ客一意照会明細.問合せ客住所補記・建物名
				if (childMap != null) {
					subbean.sendMessageString("問合せ客住所補記・建物名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("proscst_adrttm"));
				} else {
					subbean.sendMessageString("問合せ客住所補記・建物名", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 問合せ客リスト.問合せ客住所補記・部屋番号 ← 問合せ客マップ.問合せ客一意照会明細.問合せ客住所補記・部屋番号
				if (childMap != null) {
					subbean.sendMessageString("問合せ客住所補記・部屋番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("proscst_adrrm"));
				} else {
					subbean.sendMessageString("問合せ客住所補記・部屋番号", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 問合せ客リスト.お客様ランクコード ← 問合せ客マップ.問合せ客一意照会明細.お客様ランクコード
				if (childMap != null) {
					subbean.sendMessageString("お客様ランクコード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("cust_rank_cd"));
				} else {
					subbean.sendMessageString("お客様ランクコード", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 問合せ客リスト.お客様ランクコード名称 ← 問合せ客マップ.問合せ客一意照会明細.お客様ランクコード名
				if (childMap != null) {
					subbean.sendMessageString("お客様ランクコード名称", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("cust_rank_cd_nm"));
				} else {
					subbean.sendMessageString("お客様ランクコード名称", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 問合せ客リスト.連絡手段コード ← 問合せ客マップ.問合せ客一意照会明細.連絡手段コード
				if (childMap != null) {
					subbean.sendMessageString("連絡手段コード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("rrk_way_cd"));
				} else {
					subbean.sendMessageString("連絡手段コード", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 問合せ客リスト.連絡手段コード名称 ← 問合せ客マップ.問合せ客一意照会明細.連絡手段コード名
				if (childMap != null) {
					subbean.sendMessageString("連絡手段コード名称", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("rrk_way_cd_nm"));
				} else {
					subbean.sendMessageString("連絡手段コード名称", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 問合せ客リスト.連絡手段補記 ← 問合せ客マップ.問合せ客一意照会明細.連絡手段補記
				if (childMap != null) {
					subbean.sendMessageString("連絡手段補記", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("rrk_way_hoki"));
				} else {
					subbean.sendMessageString("連絡手段補記", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 問合せ客リスト.削除対象外フラグ ← 問合せ客マップ.問合せ客一意照会明細.削除対象外フラグ
				if (childMap != null) {
					subbean.sendMessageString("削除対象外フラグ", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("del_trgt_gai_flg"));
				} else {
					subbean.sendMessageString("削除対象外フラグ", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 問合せ客リスト.削除対象外フラグ名称 ← 問合せ客マップ.問合せ客一意照会明細.削除対象外フラグ名
				if (childMap != null) {
					subbean.sendMessageString("削除対象外フラグ名称", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("del_trgt_gai_flg_nm"));
				} else {
					subbean.sendMessageString("削除対象外フラグ名称", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 問合せ客リスト.お客様特定用申込書番号 ← 問合せ客マップ.問合せ客一意照会明細.お客様特定用申込書番号
				if (childMap != null) {
					subbean.sendMessageString("お客様特定用申込書番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("cust_tokut_mskmsho_no"));
				} else {
					subbean.sendMessageString("お客様特定用申込書番号", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 問合せ客リスト.申告アドレス ← 問合せ客マップ.問合せ客一意照会明細.申告アドレス
				if (childMap != null) {
					subbean.sendMessageString("申告アドレス", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("skk_ad"));
				} else {
					subbean.sendMessageString("申告アドレス", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 問合せ客リスト.問合せ客補足備考 ← 問合せ客マップ.問合せ客一意照会明細.問合せ客補足備考
				if (childMap != null) {
					subbean.sendMessageString("問合せ客補足備考", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("proscst_hsk_biko"));
				} else {
					subbean.sendMessageString("問合せ客補足備考", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 問合せ客リスト.登録年月日時分秒 ← 問合せ客マップ.問合せ客一意照会明細.登録年月日時分秒
				if (childMap != null) {
					subbean.sendMessageString("登録年月日時分秒", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("add_dtm"));
				} else {
					subbean.sendMessageString("登録年月日時分秒", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 問合せ客リスト.登録オペレータアカウント ← 問合せ客マップ.問合せ客一意照会明細.登録オペレータアカウント
				if (childMap != null) {
					subbean.sendMessageString("登録オペレータアカウント", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("add_opeacnt"));
				} else {
					subbean.sendMessageString("登録オペレータアカウント", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 問合せ客リスト.更新年月日時分秒 ← 問合せ客マップ.問合せ客一意照会明細.更新年月日時分秒
				if (childMap != null) {
					subbean.sendMessageString("更新年月日時分秒", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("upd_dtm"));
				} else {
					subbean.sendMessageString("更新年月日時分秒", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 問合せ客リスト.更新オペレータアカウント ← 問合せ客マップ.問合せ客一意照会明細.更新オペレータアカウント
				if (childMap != null) {
					subbean.sendMessageString("更新オペレータアカウント", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("upd_opeacnt"));
				} else {
					subbean.sendMessageString("更新オペレータアカウント", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 問合せ客リスト.削除年月日時分秒 ← 問合せ客マップ.問合せ客一意照会明細.削除年月日時分秒
				if (childMap != null) {
					subbean.sendMessageString("削除年月日時分秒", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("del_dtm"));
				} else {
					subbean.sendMessageString("削除年月日時分秒", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 問合せ客リスト.削除オペレータアカウント ← 問合せ客マップ.問合せ客一意照会明細.削除オペレータアカウント
				if (childMap != null) {
					subbean.sendMessageString("削除オペレータアカウント", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("del_opeacnt"));
				} else {
					subbean.sendMessageString("削除オペレータアカウント", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 問合せ客リスト.無効フラグ ← 問合せ客マップ.問合せ客一意照会明細.無効フラグ
				if (childMap != null) {
					subbean.sendMessageString("無効フラグ", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("mk_flg"));
				} else {
					subbean.sendMessageString("無効フラグ", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 問合せ客リスト.無効フラグ名称 ← 問合せ客マップ.問合せ客一意照会明細.無効フラグ名
				if (childMap != null) {
					subbean.sendMessageString("無効フラグ名称", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("mk_flg_nm"));
				} else {
					subbean.sendMessageString("無効フラグ名称", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
			}
		}


		return bean;
	}


}