/*********************************************************************
*	All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名		：eo顧客基幹構築
*	モジュール名	：FUSV0142_FUSV0142OPDBMapper
*	ソースファイル名：FUSV0142_FUSV0142OPDBMapper.java
*	作成者			：FJ
*	日付			：2011年07月11日
*＜機能概要＞
*	BP（番号ポータビリティ情報（登録））へのＤ−Ｂマッピングクラスです。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v1.00.00	2011/07/11	FJ		新規作成
 *  v12.00.00   2014/10/14  FJ)模      【ANK-2309-00-00】 全販売チャンネル同番移転対応
*
**********************************************************************/
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.common.constant.JFUStrConst;
import eo.common.util.JPCConvertString;
import eo.web.webview.CommonInfoCF.CommonInfoCFConst;
import eo.web.webview.FUW00113SF.FUW00113SFConst;
import eo.web.webview.common.JFUWebCommon;

/**
 * DataBean-BPマッピングをする。
 * 
 */
public class FUSV0142_FUSV0142OPDBMapper
{
	/** 番ポ電話番号登録可否チェック用 */
	/** 電話番号 */
	private static final String KEY_TEL_NO1 = "key_telno1";
	private static final String KEY_TEL_NO2 = "key_telno2";
	/** 郵便番号（前） */
	private static final String KEY_PDC_BF = "key_pcd_bf";
	/** 郵便番号（後） */
	private static final String KEY_PDC_AF = "key_pcd_af";
	/** 例外入力 */
	private static final String KEY_EXCEPTION_INPUT = "key_exception_input";
	/** 同一住所フラグ */
	private static final String SAME_AD_FLG = "same_ad_flg";
	/** 住所コード一覧最大検索件数 */
	private static final String AD_CD_LIST_MAX_SEARCH_NUM = "ad_cd_list_max_search_num";

	
	/** マップキー 移送先名取得 */
	private static final String KEY_TRAN_NAME = "tranNm";
	/** マップキー キーカウント */
	private static final String KEY_KEY_CNT = "key_cnt";
	/** マップキー キーカウント */
	private static final String RPG_KEY_CNT_4 = "4";

	
	/** 同番移転チェックCC */
	private static final String CC_TITLE_FUSV014210 = "FUSV014210CC";
	/** 住所情報分割CC */
	private static final String CC_TITLE_FUSV014211 = "FUSV014211CC";
	/** サービスIF結果データ移送CC */
	private static final String CC_TITLE_FUSV014212 = "FUSV014212CC";

	/** 移送用キー1 */
	private static final String TRANS_KEY_1 = "key_1";
	/** 移送用キー1 */
	private static final String TRANS_KEY_2 = "key_2";
	/** 移送用キー1 */
	private static final String TRANS_KEY_3 = "key_3";
	/** 移送用キー1 */
	private static final String TRANS_KEY_4 = "key_4";

	/** 都道府県 */
	private static final String TRANS_KEY_1_VALUE_1 = CC_TITLE_FUSV014211 + "::state_nm,::key_state_nm";
	/** 市区町村 */
	private static final String TRANS_KEY_1_VALUE_2 = CC_TITLE_FUSV014211 + "::city_nm,::key_city_nm";
	/** 大字通称名 */
	private static final String TRANS_KEY_1_VALUE_3 = CC_TITLE_FUSV014211 + "::oaztsu_nm,::key_oaztsu_nm";
	/** 字丁目名 */
	private static final String TRANS_KEY_1_VALUE_4 = CC_TITLE_FUSV014211 + "::azcho_nm,::key_azcho_nm";

	/**
	 * コンストラクタ
	 */
	public FUSV0142_FUSV0142OPDBMapper()
	{
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：共有フォームビーン　[1]：番号ポータビリティ情報入力
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV014202SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{

		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		X31SDataBeanAccessArray web_new_info = bean[0].getDataBeanArray("ＷＥＢ新規情報");
		web_new_info.addDataBean();
		X31SDataBeanAccess web_new_infobean = web_new_info.getDataBean(0);
		X31SDataBeanAccessArray tel_info = web_new_infobean.getDataBeanArray("ｅｏ光電話");
		X31SDataBeanAccess tel_infobean1 = tel_info.getDataBean(0);
		X31SDataBeanAccess tel_infobean2 = tel_info.getDataBean(1);

		//１番号目番ポ利用なしの場合はnullを返却
		String bmp_um = tel_infobean1.sendMessageString("番ポ利用有無", X31CWebConst.DATABEAN_GET_VALUE);
		if (!"1".equals(bmp_um))
		{
			return null;

		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		// 電話番号１（上７桁） → 番ポ可能エリア一意照会マップ.ＫＥＹ＿判定局番
		String telNum1 = bean[1].sendMessageString("お電話番号１（市外局番）", X31CWebConst.DATABEAN_GET_VALUE);
		String telNum2 = bean[1].sendMessageString("お電話番号１（市内局番）", X31CWebConst.DATABEAN_GET_VALUE);
		String telNum3 = bean[1].sendMessageString("お電話番号１（局番）", X31CWebConst.DATABEAN_GET_VALUE);
		String telNum = telNum1 + telNum2 + telNum3;
		String telNum_7keta = telNum.substring(0, 7);
		parentMap.put("key_judge_kyoku_no", telNum_7keta);

		outputMap.put("FUSV014202SC", parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：共有フォームビーン　[1]：番号ポータビリティ情報入力
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV014204SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{
		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		X31SDataBeanAccessArray web_new_info = bean[0].getDataBeanArray("ＷＥＢ新規情報");
		web_new_info.addDataBean();
		X31SDataBeanAccess web_new_infobean = web_new_info.getDataBean(0);
		X31SDataBeanAccessArray tel_info = web_new_infobean.getDataBeanArray("ｅｏ光電話");
		X31SDataBeanAccess tel_infobean1 = tel_info.getDataBean(0);
		X31SDataBeanAccess tel_infobean2 = tel_info.getDataBean(1);

		//２番号目番ポ利用なしの場合はnullを返却
		String bmp_um = tel_infobean2.sendMessageString("番ポ利用有無", X31CWebConst.DATABEAN_GET_VALUE);
		if (!"1".equals(bmp_um))
		{
			return null;

		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		// 電話番号２（上７桁） → 番ポ可能エリア一意照会２マップ.ＫＥＹ＿判定局番
		String telNum1 = bean[1].sendMessageString("お電話番号２（市外局番）", X31CWebConst.DATABEAN_GET_VALUE);
		String telNum2 = bean[1].sendMessageString("お電話番号２（市内局番）", X31CWebConst.DATABEAN_GET_VALUE);
		String telNum3 = bean[1].sendMessageString("お電話番号２（局番）", X31CWebConst.DATABEAN_GET_VALUE);
		String telNum = telNum1 + telNum2 + telNum3;
		String telNum_7keta = telNum.substring(0, 7);
		parentMap.put("key_judge_kyoku_no", telNum_7keta);

		outputMap.put("FUSV014204SC", parentMap);

		return outputMap;
	}

	/**
	 * （電話番号登録１）上りマッピングをする
	 * @param bean　[0]：共有フォームビーン　[1]：番号ポータビリティ情報入力
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV014205SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{
		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		X31SDataBeanAccessArray web_new_info = bean[0].getDataBeanArray("ＷＥＢ新規情報");
		web_new_info.addDataBean();
		X31SDataBeanAccess web_new_infobean = web_new_info.getDataBean(0);
		X31SDataBeanAccessArray tel_info = web_new_infobean.getDataBeanArray("ｅｏ光電話");
		X31SDataBeanAccess tel_infobean1 = tel_info.getDataBean(0);
		X31SDataBeanAccess tel_infobean2 = tel_info.getDataBean(1);

		//１番号目番ポ利用なしの場合はnullを返却
		String bmp_um = tel_infobean1.sendMessageString("番ポ利用有無", X31CWebConst.DATABEAN_GET_VALUE);
		if (!"1".equals(bmp_um))
		{
			return null;

		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		// 電話番号１（上７桁） → 番ポ可能エリア一意照会マップ.ＫＥＹ＿判定局番
		String telNum1 = bean[1].sendMessageString("お電話番号１（市外局番）", X31CWebConst.DATABEAN_GET_VALUE);
		String telNum2 = bean[1].sendMessageString("お電話番号１（市内局番）", X31CWebConst.DATABEAN_GET_VALUE);
		String telNum3 = bean[1].sendMessageString("お電話番号１（局番）", X31CWebConst.DATABEAN_GET_VALUE);
		String telNum = telNum1 + telNum2 + telNum3;
		parentMap.put("telno", telNum);
		// 通信事業者コード２ → サービス契約内訳＜eo光電話＞登録２マップ.通信事業者コード
		// -----ST1-2012-0000541 2012/09/13 baba START-----
		parentMap.put("use_tsjgs_cd", bean[1].sendMessageString(FUW00113SFConst.USE_TSJGS_CD, X31CWebConst.DATABEAN_GET_VALUE));
		// -----ST1-2012-0000541 2012/09/13 baba END-----
		parentMap.put("no_cd", "01");
		parentMap.put("svc_div", "01");

		outputMap.put("FUSV014205SC", parentMap);

		return outputMap;
	}

	/**
	 * （電話番号登録２）上りマッピングをする
	 * @param bean　[0]：共有フォームビーン　[1]：番号ポータビリティ情報入力
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV014206SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{
		// TODO: ここは使用していないのでは
		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		X31SDataBeanAccessArray web_new_info = bean[0].getDataBeanArray("ＷＥＢ新規情報");
		web_new_info.addDataBean();
		X31SDataBeanAccess web_new_infobean = web_new_info.getDataBean(0);
		X31SDataBeanAccessArray tel_info = web_new_infobean.getDataBeanArray("ｅｏ光電話");
		X31SDataBeanAccess tel_infobean1 = tel_info.getDataBean(0);
		X31SDataBeanAccess tel_infobean2 = tel_info.getDataBean(1);

		//２番号目番ポ利用なしの場合はnullを返却
		String bmp_um = tel_infobean2.sendMessageString("番ポ利用有無", X31CWebConst.DATABEAN_GET_VALUE);
		if (!"1".equals(bmp_um))
		{
			return null;

		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		// 電話番号２（上７桁） → 番ポ可能エリア一意照会２マップ.ＫＥＹ＿判定局番
		String telNum1 = bean[1].sendMessageString("お電話番号２（市外局番）", X31CWebConst.DATABEAN_GET_VALUE);
		String telNum2 = bean[1].sendMessageString("お電話番号２（市内局番）", X31CWebConst.DATABEAN_GET_VALUE);
		String telNum3 = bean[1].sendMessageString("お電話番号２（局番）", X31CWebConst.DATABEAN_GET_VALUE);
		String telNum = telNum1 + telNum2 + telNum3;
		parentMap.put("telno", telNum);
		// 通信事業者コード２ → サービス契約内訳＜eo光電話＞登録２マップ.通信事業者コード
		parentMap.put("wariate_tsjgs_cd", bean[1].sendMessageString("通信事業者選択２", X31CWebConst.DATABEAN_GET_VALUE));
		// -----ST1-2012-0000541 2012/09/13 baba START-----
		parentMap.put("use_tsjgs_cd", bean[1].sendMessageString(FUW00113SFConst.USE_TSJGS_CD, X31CWebConst.DATABEAN_GET_VALUE));
		// -----ST1-2012-0000541 2012/09/13 baba END-----
		parentMap.put("no_cd", "01");
		parentMap.put("svc_div", "01");

		outputMap.put("FUSV014206SC", parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：共有フォームビーン　[1]：番号ポータビリティ情報入力
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV014207CC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{
		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		X31SDataBeanAccessArray web_new_info = bean[0].getDataBeanArray("ＷＥＢ新規情報");
		web_new_info.addDataBean();
		X31SDataBeanAccess web_new_infobean = web_new_info.getDataBean(0);
		X31SDataBeanAccessArray tel_info = web_new_infobean.getDataBeanArray("ｅｏ光電話");
		X31SDataBeanAccess tel_infobean1 = tel_info.getDataBean(0);
		X31SDataBeanAccess tel_infobean2 = tel_info.getDataBean(1);

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		//２番号目番ポ利用なしの場合はnullを返却
		String bmp_um = tel_infobean1.sendMessageString("番ポ利用有無", X31CWebConst.DATABEAN_GET_VALUE);
		if (!"1".equals(bmp_um))
		{
			return null;
		}

		// 府県・市区町村２ → 「府県２」「市区町村２」
		String state_city = bean[1].sendMessageString("府県・市区町村１", X31CWebConst.DATABEAN_GET_VALUE);
		parentMap.put("state_city", state_city);
		// 字２ → サービス契約内訳＜eo光電話＞登録２マップ.NTT契約者大字通称名
		parentMap.put("aza", bean[1].sendMessageString("字１", X31CWebConst.DATABEAN_GET_VALUE));
		// 丁目・番地等２ → サービス契約内訳＜eo光電話＞登録２マップ.NTT契約者番地号
		parentMap.put("chome_bnchi", bean[1].sendMessageString("丁目・番地等１", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("FUSV014207CC", parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：共有フォームビーン　[1]：番号ポータビリティ情報入力
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV014208CC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{
		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		X31SDataBeanAccessArray web_new_info = bean[0].getDataBeanArray("ＷＥＢ新規情報");
		web_new_info.addDataBean();
		X31SDataBeanAccess web_new_infobean = web_new_info.getDataBean(0);
		X31SDataBeanAccessArray tel_info = web_new_infobean.getDataBeanArray("ｅｏ光電話");
		X31SDataBeanAccess tel_infobean1 = tel_info.getDataBean(0);
		X31SDataBeanAccess tel_infobean2 = tel_info.getDataBean(1);

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		//２番号目番ポ利用なしの場合はnullを返却
		String bmp_um = tel_infobean2.sendMessageString("番ポ利用有無", X31CWebConst.DATABEAN_GET_VALUE);
		if (!"1".equals(bmp_um))
		{
			return null;
		}

		// 府県・市区町村２ → 「府県２」「市区町村２」
		String state_city = bean[1].sendMessageString("府県・市区町村２", X31CWebConst.DATABEAN_GET_VALUE);
		parentMap.put("state_city", state_city);
		// 字２ → サービス契約内訳＜eo光電話＞登録２マップ.NTT契約者大字通称名
		parentMap.put("aza", bean[1].sendMessageString("字２", X31CWebConst.DATABEAN_GET_VALUE));
		// 丁目・番地等２ → サービス契約内訳＜eo光電話＞登録２マップ.NTT契約者番地号
		parentMap.put("chome_bnchi", bean[1].sendMessageString("丁目・番地等２", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("FUSV014208CC", parentMap);

		return outputMap;
	}

	/**
	 * 番ポ電話番号登録可否チェックCCの上りマッピング処理です。
	 *
	 * <br>
	 * @param bean データBean配列
	 * @param outputMap アウトマップ
	 * @param func_code 機能コード
	 * @return 結果マップ
	 */
	@SuppressWarnings("unchecked")
	public HashMap<String, Object> setFUSV014209CC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{
		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 機能コード
		parentMap.put("func_code", func_code);

		// 返却リスト
		ArrayList telNoList = new ArrayList();

		HashMap childMap = new HashMap();
		HashMap childMap2 = new HashMap();

		// 電話番号 1番号目
		if (!this.isNull(bean[1].sendMessageString("お電話番号１（市外局番）", X31CWebConst.DATABEAN_GET_VALUE))
				&& !bean[1].sendMessageBoolean("番ポキャンセル１", X31CWebConst.DATABEAN_GET_VALUE))
		{
			String telNum1 = bean[1].sendMessageString("お電話番号１（市外局番）", X31CWebConst.DATABEAN_GET_VALUE);
			String telNum2 = bean[1].sendMessageString("お電話番号１（市内局番）", X31CWebConst.DATABEAN_GET_VALUE);
			String telNum3 = bean[1].sendMessageString("お電話番号１（局番）", X31CWebConst.DATABEAN_GET_VALUE);
			String telNum = telNum1 + telNum2 + telNum3;

			// 電話番号を設定
			childMap.put("tel_no", telNum);
			telNoList.add(childMap);
		}

		// 電話番号 2番号目
		if (!this.isNull(bean[1].sendMessageString("お電話番号２（市外局番）", X31CWebConst.DATABEAN_GET_VALUE))
				&& !bean[1].sendMessageBoolean("番ポキャンセル２", X31CWebConst.DATABEAN_GET_VALUE))
		{
			String tel2Num1 = bean[1].sendMessageString("お電話番号２（市外局番）", X31CWebConst.DATABEAN_GET_VALUE);
			String tel2Num2 = bean[1].sendMessageString("お電話番号２（市内局番）", X31CWebConst.DATABEAN_GET_VALUE);
			String tel2Num3 = bean[1].sendMessageString("お電話番号２（局番）", X31CWebConst.DATABEAN_GET_VALUE);
			String tel2Num = tel2Num1 + tel2Num2 + tel2Num3;

			// 電話番号を設定
			childMap2.put("tel_no", tel2Num);
			telNoList.add(childMap2);
		}

		// リストに設定
		parentMap.put("tel_no_list", telNoList);
		// 返却マップに設定
		outputMap.put("FUSV014209CC", parentMap);

		return outputMap;
	}

	/**
	 * 同番移転可能エリアチェックCCの上りマッピング処理です。
	 *
	 * <br>
	 * @param bean データBean配列
	 * @param outputMap アウトマップ
	 * @return 結果マップ
	 */
	@SuppressWarnings("unchecked")
	public HashMap<String, Object> setFUSV014210CC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{
		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		X31SDataBeanAccessArray web_new_info = bean[0].getDataBeanArray("ＷＥＢ新規情報");
		web_new_info.addDataBean();
		X31SDataBeanAccess web_new_infobean = web_new_info.getDataBean(0);

		// 利用場所情報
		X31SDataBeanAccessArray usePlace_info = web_new_infobean.getDataBeanArray(CommonInfoCFConst.RIYOBASHO_INFO);
		usePlace_info.addDataBean();
		X31SDataBeanAccess usePlace_infobean = usePlace_info.getDataBean(0);

		// 住所選択を取得
		String adressSel1 = bean[1].sendMessageString(FUW00113SFConst.TELADDRESS1STATUS, X31CWebConst.DATABEAN_GET_VALUE);
		String adressSel2 = bean[1].sendMessageString(FUW00113SFConst.TELADDRESS2STATUS, X31CWebConst.DATABEAN_GET_VALUE);

		// 電話番号 1番号目
		if (!this.isNull(bean[1].sendMessageString(FUW00113SFConst.TELTELAREA_1, X31CWebConst.DATABEAN_GET_VALUE))
				&& !bean[1].sendMessageBoolean(FUW00113SFConst.BNP_CANCEL_1, X31CWebConst.DATABEAN_GET_VALUE))
		{
			String telNum1 = bean[1].sendMessageString(FUW00113SFConst.TELTELAREA_1, X31CWebConst.DATABEAN_GET_VALUE);
			String telNum2 = bean[1].sendMessageString(FUW00113SFConst.TELTELLOCAL_1 , X31CWebConst.DATABEAN_GET_VALUE);
			String telNum3 = bean[1].sendMessageString(FUW00113SFConst.TELTELSUBSCRIBER_1, X31CWebConst.DATABEAN_GET_VALUE);
			String telNum = telNum1 + telNum2 + telNum3;

			// 電話番号を設定
			parentMap.put(KEY_TEL_NO1, telNum);
		}

		// 電話番号 2番号目
		if (!this.isNull(bean[1].sendMessageString(FUW00113SFConst.TELTELAREA_2, X31CWebConst.DATABEAN_GET_VALUE))
				&& !bean[1].sendMessageBoolean(FUW00113SFConst.BNP_CANCEL_2, X31CWebConst.DATABEAN_GET_VALUE))
		{
			String tel2Num1 = bean[1].sendMessageString(FUW00113SFConst.TELTELAREA_2, X31CWebConst.DATABEAN_GET_VALUE);
			String tel2Num2 = bean[1].sendMessageString(FUW00113SFConst.TELTELLOCAL_2, X31CWebConst.DATABEAN_GET_VALUE);
			String tel2Num3 = bean[1].sendMessageString(FUW00113SFConst.TELTELSUBSCRIBER_2, X31CWebConst.DATABEAN_GET_VALUE);
			String tel2Num = tel2Num1 + tel2Num2 + tel2Num3;

			// 電話番号を設定
			// 1つめを優先的に使用する。
			if (JFUWebCommon.isNull(parentMap.get(KEY_TEL_NO1))) {
				parentMap.put(KEY_TEL_NO1, tel2Num);
			} else {
				parentMap.put(KEY_TEL_NO2, tel2Num);
			}
		}

		// 郵便番号
		String pcd_bf = usePlace_infobean.sendMessageString(CommonInfoCFConst.USEPLACE_PCD1_08, X31CWebConst.DATABEAN_GET_VALUE);
		String pcd_af = usePlace_infobean.sendMessageString(CommonInfoCFConst.USEPLACE_PCD2_08, X31CWebConst.DATABEAN_GET_VALUE);
		parentMap.put(KEY_PDC_BF, pcd_bf);
		parentMap.put(KEY_PDC_AF, pcd_af);

		// 例外入力
		parentMap.put(KEY_EXCEPTION_INPUT, "1");

		// 同一住所フラグ
		parentMap.put(SAME_AD_FLG, "1");

		// 住所コード一覧最大検索件数
		parentMap.put(AD_CD_LIST_MAX_SEARCH_NUM, JFUStrConst.MAX_SEARCH_NUM);

		// 返却マップに設定
		outputMap.put(CC_TITLE_FUSV014210, parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：２番号サービスお申し込み
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return HashMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV014211CC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		X31SDataBeanAccessArray web_new_info = bean[0].getDataBeanArray(CommonInfoCFConst.WEB_NEW_INFO);
		web_new_info.addDataBean();
		X31SDataBeanAccess web_new_infobean = web_new_info.getDataBean(0);

		// 利用場所情報
		X31SDataBeanAccessArray usePlace_info = web_new_infobean.getDataBeanArray(CommonInfoCFConst.RIYOBASHO_INFO);
		usePlace_info.addDataBean();
		X31SDataBeanAccess usePlace_infobean = usePlace_info.getDataBean(0);

		// 府県・市区町村
		parentMap.put("state_city", usePlace_infobean.sendMessageString(CommonInfoCFConst.USEPLACE_STATE_08, X31CWebConst.DATABEAN_GET_VALUE));
		// 字
		parentMap.put("aza", usePlace_infobean.sendMessageString(CommonInfoCFConst.USEPLACE_AZA_08, X31CWebConst.DATABEAN_GET_VALUE));
		// 丁目・番地等
		parentMap.put("chome_bnchi", usePlace_infobean.sendMessageString(CommonInfoCFConst.USEPLACE_CHO_BNCHI_08, X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put(CC_TITLE_FUSV014211, parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングを行います。
	 * <br>
	 * @param bean データBean配列
	 * @param outputMap
	 * @param bl VIEWロジックインスタンス
	 * @return 送信情報
	 */
	public HashMap<String, Object> setFUSV014212CC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{
		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// データ移送数
		parentMap.put(KEY_KEY_CNT, RPG_KEY_CNT_4);

		// データ移送先
		parentMap.put(KEY_TRAN_NAME, CC_TITLE_FUSV014210);

		// 都道府県
		parentMap.put(TRANS_KEY_1, TRANS_KEY_1_VALUE_1);
		// 市区町村
		parentMap.put(TRANS_KEY_2, TRANS_KEY_1_VALUE_2);
		// 大字通称名
		parentMap.put(TRANS_KEY_3, TRANS_KEY_1_VALUE_3);
		// 字丁目名
		parentMap.put(TRANS_KEY_4, TRANS_KEY_1_VALUE_4);

		// 共通情報のマッピング
		outputMap.put(CC_TITLE_FUSV014212, parentMap);

		return outputMap;
	}

	/**
	 * 引数valueがnullもしくは空文字かを判定します。 <br/>
	 * 
	 * @param value
	 *            チェック対象値
	 * @return 引数valueがnullもしくは空文字の場合はtrue、それ以外はfalse
	 */
	private boolean isNull(final String value)
	{
		if (value == null || JFUStrConst.EMPTY.equals(value))
		{
			return true;
		}
		return false;
	}

}