/*********************************************************************
*	All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名		：eo顧客基幹システム
*	モジュール名	：FUSV0194_FUSV0194OPDBMapper
*	ソースファイル名：FUSV0194_FUSV0194OPDBMapper.java
*	作成者			：FJ
*	日付			：2012年01月25日
*＜機能概要＞
*	BP（エリアリクエスト入力チェック）へのＤ−Ｂマッピングクラスです。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v1.00.00	2012/01/25	FJ		    新規作成
*	v5.00.00    2013/07/13  FJ）瀧澤    【IT1-2013-0001371】メール宛先修正
*   v7.00       2014/01/27  FJ）中谷    【OM-2014-0000310】メール送信登録の別トランザクション対応
*   v39.00      2018/09/25  FJ) 大島    【ANK-3421-00-00】【eo顧客S】メール文面の見直し対応
*   v41.00      2019/03/06  FJ) 大島    【ANK-3603-00-00】店頭販売支援サイトのエリアリクエスト機能追加
*
**********************************************************************/
package eo.web.webview.mapping;

import java.util.ArrayList;
import java.util.HashMap;

import com.fujitsu.futurity.web.x31.X31BWebBusinessLogic;
import com.fujitsu.futurity.web.x31.X31CWebConst;
import com.fujitsu.futurity.web.x31.X31SDataBeanAccess;
import com.fujitsu.futurity.web.x31.X31SDataBeanAccessArray;

import eo.common.constant.JFUStrConst;
import eo.web.webview.FUW00302SF.FUW00302SFConst;
import eo.web.webview.FUW00305SF.FUW00305SFConst;
import eo.web.webview.common.JCCWebCommon;
import eo.web.webview.common.JFUMskmFinMail;
import eo.web.webview.common.JFUWebCommon;

/**
 * DataBean-BPマッピングをする。
 * 
 */
public class FUSV0194_FUSV0194OPDBMapper
{

	/**
	 * コンストラクタ
	 */
	public FUSV0194_FUSV0194OPDBMapper()
	{
	}

	/** 全角スペース */
	private static final String ZENKAKU_SPACE = "　";

	/**
	 * 上りマッピングをする(住所分割処理マップ)
	 * @param bean　[0]：共有フォームビーン　[1]：エリアリクエスト入力
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV019401CC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{

		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		// 府県・市区町村 → 住所分割処理マップ.都道府県・市区町村
		parentMap.put("state_city", bean[1].sendMessageString("府県・市区町村", X31CWebConst.DATABEAN_GET_VALUE));
		// 大字通称名 → 住所分割処理マップ.字
		parentMap.put("aza", bean[1].sendMessageString("大字通称名", X31CWebConst.DATABEAN_GET_VALUE));
		// 丁目・番地等 → 住所分割処理マップ.丁目・番地等
		parentMap.put("chome_bnchi", bean[1].sendMessageString("丁目・番地等", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("FUSV019401CC", parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングをする(問合せ客登録マップ)
	 * @param bean　[0]：共有フォームビーン　[1]：エリアリクエスト入力
	 * @param outputMap
	 * @param func_code　機能コード
	 * @param m100mskm_flg 100M申込可能フラグ
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV019402SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code, String m100mskm_flg)
	{

		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		String name =
				bean[1].sendMessageString(FUW00302SFConst.P_NAME_LAST, X31CWebConst.DATABEAN_GET_VALUE) + ZENKAKU_SPACE
						+ bean[1].sendMessageString(FUW00302SFConst.P_NAME_FIRST, X31CWebConst.DATABEAN_GET_VALUE);

		// かな → カナ も同時に行う
		String kana =
				JFUWebCommon.convFullHiraToFullKataV(bean[1].sendMessageString(FUW00302SFConst.P_KNAME_LAST, X31CWebConst.DATABEAN_GET_VALUE))
						+ ZENKAKU_SPACE
						+ JFUWebCommon.convFullHiraToFullKataV(bean[1].sendMessageString(FUW00302SFConst.P_KNAME_FIRST,
								X31CWebConst.DATABEAN_GET_VALUE));

		String tel1 = bean[1].sendMessageString(FUW00302SFConst.TELAREA, X31CWebConst.DATABEAN_GET_VALUE);
		String tel2 = bean[1].sendMessageString(FUW00302SFConst.TELLOCAL, X31CWebConst.DATABEAN_GET_VALUE);
		String tel3 = bean[1].sendMessageString(FUW00302SFConst.TELSUBSCRIBER, X31CWebConst.DATABEAN_GET_VALUE);
		String tel_no = tel1 + tel2 + tel3;

		String pcd =
				bean[1].sendMessageString(FUW00302SFConst.PCDFRONT, X31CWebConst.DATABEAN_GET_VALUE)
						+ bean[1].sendMessageString(FUW00302SFConst.PCDBACK, X31CWebConst.DATABEAN_GET_VALUE);

		// エリアリクエストが不可能な場合
		if (m100mskm_flg.equals("2"))
		{
			// 府県・市区町村 → 問合せ客登録マップ.問合せ客都道府県名
			parentMap.put("proscst_state_nm", bean[1].sendMessageString(FUW00302SFConst.STATE_NM, X31CWebConst.DATABEAN_GET_VALUE));
			// 府県・市区町村 → 問合せ客登録マップ.問合せ客市区町村名
			parentMap.put("proscst_city_nm", bean[1].sendMessageString(FUW00302SFConst.CITY_NM, X31CWebConst.DATABEAN_GET_VALUE));
			// 大字通称名 → 問合せ客登録マップ.問合せ客大字通称名
			parentMap.put("proscst_oaztsu_nm", bean[1].sendMessageString(FUW00302SFConst.OAZTSU_NM, X31CWebConst.DATABEAN_GET_VALUE));
			// 丁目・番地等 → 問合せ客登録マップ.問合せ客字丁目名
			parentMap.put("proscst_azcho_nm", bean[1].sendMessageString(FUW00302SFConst.AZCHO_NM, X31CWebConst.DATABEAN_GET_VALUE));
		}

		// 氏名 → 問合せ客登録マップ.問合せ客名
		parentMap.put("proscst_nm", name);
		// 氏名かな → 問合せ客登録マップ.問合せ客カナ名
		parentMap.put("proscst_kana", kana);
		// お電話番号 → 問合せ客登録マップ.問合せ客電話番号
		parentMap.put("proscst_telno", tel_no);
		// メールアドレス → 問合せ客登録マップ.問合せ客メールアドレス
		parentMap.put("proscst_mlad", bean[1].sendMessageString(FUW00302SFConst.EMAIL, X31CWebConst.DATABEAN_GET_VALUE));
		// 住所コード → 問合せ客登録マップ.問合せ客住所コード
		parentMap.put("proscst_ad_cd", bean[1].sendMessageString(FUW00302SFConst.AD_CD, X31CWebConst.DATABEAN_GET_VALUE));

		// 郵便番号（上） → 問合せ客登録マップ.問合せ客郵便番号
		parentMap.put("proscst_pcd", pcd);

		// 建物名 → 問合せ客登録マップ.問合せ客住所補記・建物名
		parentMap.put("proscst_adrttm", bean[1].sendMessageString("建物名", X31CWebConst.DATABEAN_GET_VALUE));
		// 部屋番号 → 問合せ客登録マップ.問合せ客住所補記・部屋番号
		parentMap.put("proscst_adrrm", bean[1].sendMessageString("部屋番号", X31CWebConst.DATABEAN_GET_VALUE));
		// お客様ランクコード → 問合せ客登録マップ.お客様ランクコード
		parentMap.put("cust_rank_cd", bean[1].sendMessageString("お客様ランクコード", X31CWebConst.DATABEAN_GET_VALUE));
		// 連絡手段コード → 問合せ客登録マップ.連絡手段コード
		parentMap.put("rrk_way_cd", bean[1].sendMessageString("連絡手段コード", X31CWebConst.DATABEAN_GET_VALUE));
		// 削除対象外フラグ → 問合せ客登録マップ.削除対象外フラグ
		parentMap.put("del_trgt_gai_flg", bean[1].sendMessageString("削除対象外フラグ", X31CWebConst.DATABEAN_GET_VALUE));
		// 申込可能フラグ s
		parentMap.put("m100mskm_flg", m100mskm_flg);

		// ＷＥＢ新規情報
		X31SDataBeanAccessArray webNewInfo = bean[0].getDataBeanArray("ＷＥＢ新規情報");
		X31SDataBeanAccess webNewInfoBean = null;
		if (webNewInfo.getCount() == 0)
		{
			webNewInfoBean = webNewInfo.addDataBean();
		}
		else
		{
			webNewInfoBean = webNewInfo.getDataBean(0);
		}

		// その他情報
		X31SDataBeanAccessArray elseInfo = webNewInfoBean.getDataBeanArray("その他情報");
		X31SDataBeanAccess elseInfoBean = null;
		if (elseInfo.getCount() == 0)
		{
			elseInfoBean = elseInfo.addDataBean();
		}
		else
		{
			elseInfoBean = elseInfo.getDataBean(0);
		}

		// 販売タイプ
		String hanbaiType = webNewInfoBean.sendMessageString("販売タイプ", X31CWebConst.DATABEAN_GET_VALUE);
		// 取扱店用取扱コード
		String toritenToriatsukaiCd = elseInfoBean.sendMessageString("取扱店用取扱コード", X31CWebConst.DATABEAN_GET_VALUE);

// ANK-3603-00-00 ADD START
		// FUW00305 エリアリクエスト（店頭販売支援）にて設定された
		// tenpoHanbaiSien：店頭販売支援判定フラグ
		// areaReqMotoSkbtCd：エリアリクエスト元識別コード
		// tenpoHanbaiSien：取扱コード
		// を取得する。
		String tenpoHanbaiSien = JFUStrConst.EMPTY;
		String areaReqMotoSkbtCd = JFUStrConst.EMPTY;
		if(outputMap.containsKey("tenpoHanbaiSien") && !JFUWebCommon.isNull((String)outputMap.get("tenpoHanbaiSien")))
		{
			tenpoHanbaiSien = (String)outputMap.get("tenpoHanbaiSien");
			areaReqMotoSkbtCd = (String)outputMap.get("areaReqMotoSkbtCd");
			toritenToriatsukaiCd = (String)outputMap.get("tratCd");
		}
// ANK-3603-00-00 ADD END
		
		if (JFUStrConst.HNBAI_TYPE_RYOHAN.equals(hanbaiType))
		{
			// 量販
			// エリアリクエスト元識別コード
			parentMap.put("area_req_moto_skbt_cd", JFUStrConst.CD01739_1);
			// 問合せ客取扱コード
			parentMap.put("proscst_trat_cd", toritenToriatsukaiCd);
		}
// ANK-3603-00-00 ADD START
		// 店頭販売支援判定フラグが設定されている場合は
		// FUW00305 エリアリクエスト（店頭販売支援）にて設定されされた情報で登録する。
		else if (!JFUStrConst.EMPTY.equals(tenpoHanbaiSien))
		{
			// エリアリクエスト元識別コード
			parentMap.put("area_req_moto_skbt_cd", areaReqMotoSkbtCd);
			// 問合せ客取扱コード
			parentMap.put("proscst_trat_cd", toritenToriatsukaiCd);
		}
// ANK-3603-00-00 ADD END
		else
		{
			// 上記以外
			// エリアリクエスト元識別コード
			parentMap.put("area_req_moto_skbt_cd", "");
			// 問合せ客取扱コード
			parentMap.put("proscst_trat_cd", "");
		}

		outputMap.put("FUSV019402SC", parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングをする(エリアリクエスト登録)
	 * @param bean　[0]：共有フォームビーン　[1]：エリアリクエスト入力
	 * @param outputMap
	 * @param func_code　機能コード
	 * @param m100mskm_flg 100M申込可能フラグ
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV019403SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code, String m100mskm_flg)
	{

		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		String pcd =
				bean[1].sendMessageString(FUW00302SFConst.PCDFRONT, X31CWebConst.DATABEAN_GET_VALUE)
						+ bean[1].sendMessageString(FUW00302SFConst.PCDBACK, X31CWebConst.DATABEAN_GET_VALUE);

		// エリアリクエストが不可能な場合
		if (m100mskm_flg.equals("2"))
		{
			// 府県 → エリアリクエスト登録.エリアリクエスト都道府県名
			parentMap.put("area_req_state_nm", bean[1].sendMessageString(FUW00302SFConst.STATE_NM, X31CWebConst.DATABEAN_GET_VALUE));
			// 市区町村 → エリアリクエスト登録.エリアリクエスト市区町村名
			parentMap.put("area_req_city_nm", bean[1].sendMessageString(FUW00302SFConst.CITY_NM, X31CWebConst.DATABEAN_GET_VALUE));
			// 大字通称名 → エリアリクエスト登録.エリアリクエスト大字通称名
			parentMap.put("area_req_oaztsu_nm", bean[1].sendMessageString(FUW00302SFConst.OAZTSU_NM, X31CWebConst.DATABEAN_GET_VALUE));
			// 丁目・番地等 → エリアリクエスト登録.エリアリクエスト字丁目名
			parentMap.put("area_req_azcho_nm", bean[1].sendMessageString(FUW00302SFConst.AZCHO_NM, X31CWebConst.DATABEAN_GET_VALUE));
		}

		// 住所コード → エリアリクエスト登録.エリアリクエスト住所コード
		parentMap.put("area_req_ad_cd", bean[1].sendMessageString("住所コード", X31CWebConst.DATABEAN_GET_VALUE));
		// 郵便番号 → エリアリクエスト登録.エリアリクエスト郵便番号
		parentMap.put("area_req_pcd", pcd);

		// 建物名 → エリアリクエスト登録.エリアリクエスト住所補記・建物名
		parentMap.put("area_req_adrttm", bean[1].sendMessageString("建物名", X31CWebConst.DATABEAN_GET_VALUE));
		// 部屋番号 → エリアリクエスト登録.エリアリクエスト住所補記・部屋番号
		parentMap.put("area_req_adrrm", bean[1].sendMessageString("部屋番号", X31CWebConst.DATABEAN_GET_VALUE));

		// 利用場所形態選択値 → エリアリクエスト登録.利用場所形態コード
		parentMap.put("use_place_form_cd", bean[1].sendMessageString(FUW00302SFConst.SETTINGPATTERN_SELECT_CD, X31CWebConst.DATABEAN_GET_VALUE));

		// 集合住宅居住階選択値 → エリアリクエスト登録.居住階数コード
		parentMap.put("kyoju_flr_cnt_cd", bean[1].sendMessageString(FUW00302SFConst.SETTINGFLOOR_SELECT_CD, X31CWebConst.DATABEAN_GET_VALUE));

		// Ｘ座標 → エリアリクエスト登録.X座標
		parentMap.put("xzahyo", bean[1].sendMessageString("Ｘ座標", X31CWebConst.DATABEAN_GET_VALUE));
		// Ｙ座標 → エリアリクエスト登録.Y座標
		parentMap.put("yzahyo", bean[1].sendMessageString("Ｙ座標", X31CWebConst.DATABEAN_GET_VALUE));

		// 20131009 「障害番号: OM-2013-0002682」経度、緯度の追加START
		// 経度 → エリアリクエスト登録.経度
		parentMap.put("lgtd", bean[1].sendMessageString("経度", X31CWebConst.DATABEAN_GET_VALUE));
		// 緯度 → エリアリクエスト登録.緯度
		parentMap.put("lttd", bean[1].sendMessageString("緯度", X31CWebConst.DATABEAN_GET_VALUE));
		// 20131009 「障害番号: OM-2013-0002682」経度、緯度の追加END

		
		// 20120822 「案件番号: ANK-0495-02-00」【巻き取りA】フロント契約繋がり対応（エリアリクエスト）START
		// "021"(エリア受付中) → エリアリクエスト登録.エリアリクエスト現在工程コード
		parentMap.put("area_req_now_step_cd", JFUStrConst.CD01516_021);
		// 20120822 「案件番号: ANK-0495-02-00」【巻き取りA】フロント契約繋がり対応（エリアリクエスト）END
		
		// 申込可能フラグ 
		parentMap.put("m100mskm_flg", m100mskm_flg);

		outputMap.put("FUSV019403SC", parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングをする(メール送信)
	 * @param bean　[0]：共有フォームビーン　[1]：エリアリクエスト入力
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return HashMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap<String, Object> setFUSV019404SC(X31SDataBeanAccess[] bean, HashMap<String, Object> outputMap, String func_code)
	{
		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		X31SDataBeanAccessArray arraybean = null;
		X31SDataBeanAccessArray arraybean1 = null;
		X31SDataBeanAccess beanTemp = null;
		X31SDataBeanAccess beanTemp1 = null;
		ArrayList list = null;
		ArrayList list1 = null;
		HashMap childMap = null;
		HashMap childMap1 = null;
		
		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		// お客様向けメールコード → メールコード エリアリクエストサンキューメール 
		parentMap.put("mail_cd",JFUStrConst.MAIL_CD_AREA_REQ_THANKS);
		// メール送信パターンコード
		parentMap.put("mail_send_pattern_cd", JFUStrConst.CD00789_01);
		
		beanTemp1 = bean[1];
		arraybean1 = beanTemp1.getDataBeanArray(FUW00302SFConst.MLAD_LIST);
		if (parentMap.containsKey("ECC0021D010CBSMsg1List"))
		{
			list1 = (ArrayList)parentMap.get("ECC0021D010CBSMsg1List");
		}
		else
		{
			list1 = new ArrayList();
		}
		if (arraybean1 != null && arraybean1.getCount() > 0)
		{
			for (int i = 0; i < arraybean1.getCount(); i++)
			{
				X31SDataBeanAccess subbean1 = arraybean1.getDataBean(i);

				childMap1 = null;
				if (list1.size() - 1 >= i)
				{
					childMap1 = (HashMap)list1.get(i);
				}
				else
				{
					childMap1 = new HashMap();
				}

				// メール送信先タイプ.送信先メールアドレス →
				// メール送信情報登録マップ.送信先一覧明細.送信先メールアドレス
				if (subbean1 != null)
				{
					childMap1.put("mlad", subbean1.sendMessageString(FUW00302SFConst.MLAD_04, X31CWebConst.DATABEAN_GET_VALUE));
				}
				
				// メール送信先タイプ.メールアドレス設定フィールドコード →
				// メール送信情報登録マップ.送信先一覧明細.メールアドレス設定フィールドコード
				if (subbean1 != null)
				{
					childMap1.put("mlad_set_field_cd", subbean1.sendMessageString(FUW00302SFConst.MLAD_SET_FIELD_CD_04, X31CWebConst.DATABEAN_GET_VALUE));
				}


				list1.add(childMap1);
			}
		}
		parentMap.put("ECC0021D010CBSMsg1List", list1);

		beanTemp = bean[1];
		arraybean = beanTemp.getDataBeanArray(FUW00302SFConst.CUST_HTK_MOJI_LIST);
		if (parentMap.containsKey("ECC0021D010CBSMsg2List"))
		{
			list = (ArrayList)parentMap.get("ECC0021D010CBSMsg2List");
		}
		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;
				childMap = null;
				if (list.size() - 1 >= i)
				{
					childMap = (HashMap)list.get(i);
				}
				else
				{
					childMap = new HashMap();
				}

				// メール本文非定型文字列リスト.本文非定型置換文字 →
				// メール送信情報登録マップ.非定型文字列一覧明細.本文非定型置換文字
				if (subbean != null)
				{
					childMap.put("text_htk_ckam_moji", subbean.sendMessageString(FUW00302SFConst.TEXT_HTK_CKAM_MOJI_03,
							X31CWebConst.DATABEAN_GET_VALUE));
				}

				list.add(childMap);
			}
		}
		parentMap.put("ECC0021D010CBSMsg2List", list);

		// 空のリスト作成
		ArrayList<HashMap> arrayList = new ArrayList<HashMap>();
		parentMap.put("ECC0021D010CBSMsg3List", arrayList); // 電子ファイル一覧明細

// ANK-3421-00-00 MOD START
		ArrayList<HashMap> mailDtlList = new ArrayList<HashMap>();
		HashMap mailDtlMap = new HashMap();
		mailDtlMap.put("mail_dtl_cd", JFUStrConst.MAIL_DTL_CD_FUD1000081);
		mailDtlMap.put("dtl_text_htk_ckam_moji", JFUStrConst.EMPTY);

		mailDtlList.add(mailDtlMap);
		parentMap.put("ECC0021D010CBSMsg4List", mailDtlList);
// ANK-3421-00-00 MOD END

		// 空のリスト作成
		arrayList = new ArrayList<HashMap>();
		parentMap.put("ECC0021D010CBSMsg5List", arrayList);// メールヘッダー一覧詳細

		outputMap.put(JFUMskmFinMail.FUSV027801CC, parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングをする(同一問合せ客チェック一覧照会マップ)
	 * @param bean　[0]：共有フォームビーン　[1]：エリアリクエスト入力
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV019405SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{

		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		String name =
				bean[1].sendMessageString(FUW00302SFConst.P_NAME_LAST, X31CWebConst.DATABEAN_GET_VALUE) + ZENKAKU_SPACE
						+ bean[1].sendMessageString(FUW00302SFConst.P_NAME_FIRST, X31CWebConst.DATABEAN_GET_VALUE);

		// かな → カナ も同時に行う
		String kana =
				JFUWebCommon.convFullHiraToFullKataV(bean[1].sendMessageString(FUW00302SFConst.P_KNAME_LAST, X31CWebConst.DATABEAN_GET_VALUE))
						+ ZENKAKU_SPACE
						+ JFUWebCommon.convFullHiraToFullKataV(bean[1].sendMessageString(FUW00302SFConst.P_KNAME_FIRST,
								X31CWebConst.DATABEAN_GET_VALUE));

		if (ZENKAKU_SPACE.equals(name))
		{
			// 全角スペースのみなら未設定とする(任意項目対応)
			name = "";
		}

		if (ZENKAKU_SPACE.equals(kana))
		{
			// 全角スペースのみなら未設定とする(任意項目対応)
			kana = "";
		}

		String tel1 = bean[1].sendMessageString(FUW00302SFConst.TELAREA, X31CWebConst.DATABEAN_GET_VALUE);
		String tel2 = bean[1].sendMessageString(FUW00302SFConst.TELLOCAL, X31CWebConst.DATABEAN_GET_VALUE);
		String tel3 = bean[1].sendMessageString(FUW00302SFConst.TELSUBSCRIBER, X31CWebConst.DATABEAN_GET_VALUE);
		String tel_no = tel1 + tel2 + tel3;
		
		// 氏名 → 問合せ客登録マップ.問合せ客名
		parentMap.put("key_proscst_nm", name);
		// 氏名かな → 問合せ客登録マップ.問合せ客カナ名
		parentMap.put("key_proscst_kana", kana);
		// お電話番号 → 問合せ客登録マップ.問合せ客電話番号
		parentMap.put("key_proscst_telno", tel_no);
		
		outputMap.put("FUSV019405SC", parentMap);
		
		return outputMap;
	}
// ANK-3603-00-00 ADD START
	/**
	 * 代理店一意照会上りマッピング
	 * @param bean
	 * @param outputMap
	 * @param func_code
	 * @param bl
	 * @return
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV019406SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code, X31BWebBusinessLogic bl)
	{
		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		// 取扱コード → 代理店一意照会SCマップ.ＫＥＹ＿代理店コード
		parentMap.put("key_agnt_cd", bean[1].sendMessageString(FUW00305SFConst.TRAT_CD, X31CWebConst.DATABEAN_GET_VALUE));
		// 予約適用年月日 → 代理店一意照会SCマップ.ＫＥＹ＿予約適用年月日
		parentMap.put("key_rsv_aply_ymd", JCCWebCommon.getOpeDate(bl, null));

		outputMap.put("FUSV019406SC", parentMap);

		return outputMap;		
	}
// ANK-3603-00-00 ADD END
}