/*********************************************************************
*	All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名		：eo顧客基幹システム
*	モジュール名	：FUSV0165_FUSV0165OPDBMapper
*	ソースファイル名：FUSV0165_FUSV0165OPDBMapper.java
*	作成者			：FJ
*	日付			：2011年09月08日
*＜機能概要＞
*	BP（eoモバイル申込内容確認（登録））へのＤ−Ｂマッピングクラスです。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v1.00.00	2011/09/08	FJ			新規作成
*	v4.00.00	2012/10/12	FJ)齋藤	   【ANK-1223-00-00】進捗補足事項編集対応
*	v4.01.00	2012/10/29	FJ)山下	   【ANK-1199-00-00】自動採番対応
*	v4.02.00	2012/10/27	FJ)齋藤	   【IT1-2012-0001106】NULL対応
*	v4.03.00	2012/10/29	FJ)齋藤	   【IT1-2012-0001110】NULL対応
*	v4.04.00	2012/10/29	FJ)齋藤	   【IT1-2012-0001132】支払い方法継続フラグマッピング値変更対応・NULL対応
*	v4.05.00	2012/10/29	FJ)齋藤	   【IT1-2012-0001086】申込経路識別コードNULL対応
*	v4.06.00	2012/10/29	FJ)齋藤	   【IT1-2012-0001582】マッピング値変更対応【回線場所区画整理中フラグ】
*   v4.07.00    2012/11/01  FJ)大塚    【IT1-2012-0001882】UQアラーム対応
*	v4.08.00	2012/11/02	FJ)山下	   【IT1-2012-0001783】モデル整合性対応【機器設置先カナ名】
*	v4.09.00	2012/11/05	FJ)齋藤	   【IT1-2012-0001784】モデル整合性対応【機器設置先名】
*	v4.10.00	2012/11/06	FJ)齋藤	   【IT1-2012-0001122】モデル整合性対応【請求契約.契約締結年月日】
*	v4.11.00	2012/11/09	FJ)大塚	   【IT1-2012-0001699】モデル整合性対応【機器引当指定倉庫棚コード】
*   v4.12.00    2012/11/13  FJ)岩元    【IT2-2012-0001695】WiFi即時開通対応
*	v4.13.00	2012/11/27	FJ)大村	   【IT2-2012-0001749】連絡先への電話番号登録
*	v4.07.00	2012/11/21	FJ)岩元	   【ST1-2012-0000961】指示書・通知書対応
*	v4.15.00	2012/12/05	FJ)楠本	   【IT1-2012-0002076】マッピング値追加対応【請求契約カナ名_お客様カナ名差異フラグ】
*	v4.16.00	2012/12/19	FJ)大塚	   【IT1-2012-0002522】メール見直し対応
*	v4.17.00	2012/12/27	FJ)岩元	   【TAI-2012-0000136】ハイブリッド抜け落ち対応
*	v4.18.00	2013/01/20	FJ)大村	   【TAI-2013-0000007】クレードル宅内型式種別コード修正
*	v4.19.00	2013/01/23	FJ)岩元	   【障害対応 No.78】追加申込時のセット割対応
*   v4.20.00    2013/01/29  FJ)大塚     データ検証対応
*	v4.21.00	2013/01/31	FJ)岩元	   【障害対応】モバイル契約数上限チェックエラー対応
*	v4.22.00	2013/02/14	FJ)齋藤	   【KT1-2013-0000162】出荷指図時の付加情報の設定不備
*	v4.23.00	2013/02/22	FJ)藤原	    データ検証対応
*	v4.24.00	2013/02/23	FJ)玉井	    【ANK-1399-00-00】フロントＳ文言確認修正対応
*	v4.25.00	2013/02/23	FJ)玉井	    【ANK-1402-00-00】法人のお客様名設定先テーブル変更に伴うマッピング値変更対応
*	v4.26.00	2013/02/14	FJ)大塚	   【障害対応 No244】 ハイブリッド引継ぎ対応
*	v4.27.00	2013/03/06	FJ)藤原	    データ検証対応
*	v4.28.00	2013/03/07	FJ)藤原		【No.409】本人確認書類設定値変更対応
*	v4.29.00	2013/03/12	FJ)楠本		【IT1-2013-0000425】連絡先種別コード変更対応
*	v4.30.00	2013/04/09	FJ)岡井		【内部障害】クレジットカード名義スペース対応
*   v5.00.00    2013/06/12  FJ)岡井     【内部障害】進捗登録.異動年月日時分秒にシステム日付を設定するように修正
*   v5.01.00    2013/06/07  FJ)瀧澤     【ANK-1528-00-00】お客様個人情報の機種依存文字対応(連絡先スキーマのメールアドレス更新処理を変更)
*   v5.02.00    2013/06/10  FJ)知識     【ANK-1534-00-00】eoモバイル42Mエリア縮小対応
*   v5.03.00    2013/07/13  FJ)瀧澤		【IT1-2013-0001371】メール宛先修正
*   v7.00       2014/01/27  FJ)中谷		【OM-2014-0000310】メール送信登録の別トランザクション対応
*   v11.00.00   2014/10/06  FJ)文元		【OM-2014-0003261】モバイル単独の時連絡先スキーマがある場合、連絡先スキーマ（メールアドレス以外）を登録しないよう修正
*   v11.00.00   2014/10/22  FJ) 清水   【OM-2014-0003261】モバイル単独の時連絡先スキーマがある場合、連絡先スキーマ（メールアドレス以外）を登録しないよう修正
*
***********************************************************************/
package eo.web.webview.mapping;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;

import com.fujitsu.futurity.common.JCMConstants;
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.CommonInfoCF.CommonInfoCFConst;
import eo.web.webview.common.JFUMskmFinMail;
import eo.web.webview.common.JFUScreenConst;
import eo.web.webview.common.JFUWebCommon;

/**
 * DataBean-BPマッピングをする。
 * 
 * <br>
 *
 * @author 富士通
 */
public class FUSV0165_FUSV0165OPDBMapper
{
	/** お客様＜個人＞登録マップ */
	private static final String FUSV016501SC = "FUSV016501SC";
	/** お客様＜法人＞登録マップ */
	private static final String FUSV016502SC = "FUSV016502SC";
	/** 連絡先登録マップ(メール) */
	private static final String FUSV016503SC = "FUSV016503SC";
	/** 督促チェックマップ */
	private static final String FUSV016504SC = "FUSV016504SC";
	/** 申込登録マップ */
	private static final String FUSV016505SC = "FUSV016505SC";
	/** 申込明細登録マップ */
	private static final String FUSV016506SC = "FUSV016506SC";
	/** クレジット請求手続きマップ */
	private static final String FUSV016507SC = "FUSV016507SC";
	/** 請求契約登録マップ */
	private static final String FUSV016508SC = "FUSV016508SC";
	/** サービス契約＜eoモバイル＞登録マップ */
	private static final String FUSV016510SC = "FUSV016510SC";
	/** サービス契約内訳＜eoモバイル＞登録WiFiマップ */
	private static final String FUSV016511SC = "FUSV016511SC";
	/** サービス契約内訳＜eoモバイル＞登録２マップ */
	private static final String FUSV016512SC = "FUSV016512SC";
	/** オプションサービス契約＜ISP＞登録マップ */
	private static final String FUSV016513SC = "FUSV016513SC";
	/** サブオプションサービス契約＜ISP＞登録マップ */
	private static final String FUSV016514SC = "FUSV016514SC";
	/** サービス契約回線内訳登録マップ */
	private static final String FUSV016515SC = "FUSV016515SC";
	/** 機器提供サービス契約登録マップ */
	private static final String FUSV016516SC = "FUSV016516SC";
	/** 進捗登録マップ */
	private static final String FUSV016517SC = "FUSV016517SC";
	/** メール送信情報登録マップ */
	private static final String FUSV016518SC = "FUSV016518SC";
	/** 住所情報分割マップ（契約者住所） */
	private static final String FUSV016520CC = "FUSV016520CC";
	/** サブオプションサービス契約＜ISP＞登録マップ */
	private static final String FUSV016523SC = "FUSV016523SC";
	/** 連絡先登録マップ(契約者電話番号) */
	private static final String FUSV016522SC = "FUSV016522SC";
	/** 割引サービス自動適用 */
	private static final String FUSV016527CC = "FUSV016527CC";
	/** お客様登録変更 */
	private static final String FUSV016528CC = "FUSV016528CC"; // -----ST2-2012-0001339 2012/07/25 h.iwamoto -----
	/** バックヤードマッピング */
	private static final String FUSV016530CC = "FUSV016530CC"; // -----ST2-2012-0001339 2012/07/26 h.iwamoto -----
	/** 機器提供サービス契約登録マップ(7.2Mハイブリッド・クレードル用 */
	private static final String FUSV016529SC = "FUSV016529SC"; // TAI-2012-0000136 2012/12/27 h.iwamoto ハイブリッド抜け落ち対応
	/** お客様情報取得マッピング */
	private static final String FUSV016530SC = "FUSV016530SC";
	/** 機能コード */
	private static final String FUNC_CODE = "func_code";
	/** 全角スペース */
	private static final String ZENKAKU_SPACE = "　";
	/** 定数 0 */
	private static final String CONST_0 = "0";
	/** 電話番号区切り文字 */
	private static final String TEL_NO_SEPARATER = "";
	/** クレジットカード番号区切り文字 */
	private static final String CRECARD_NO_SEPARATER = "";
	/** クレジットカード有効期限区切り文字 */
	private static final Object CRECARD_YK_KIGEN_SEPARATER = "";
	/** 申込回線サービス ホーム */
	//private static final String MSKM_KSN_SVC_HOME = "1";
	/** 申込回線サービス マンション */
	//private static final String MSKM_KSN_SVC_MANSION = "2";
	/** 申込回線サービス メゾン */
	//private static final String MSKM_KSN_SVC_MEZON = "3";
	/** FUDispDefinition 設定 */
	//	private static final String DRT_CD = "DRT_CD";
	/** 画面ＩＤ　FUW00114*/
	//private static final String SCREEN_ID = "FUW00114";
	/** PASCO情報共通 なし*/
	private static final String PASCO_NOT = "0";
	/** PASCO情報共通 あり*/
	private static final String PASCO_YES = "1";

	/** PASCO情報 100M申込可能*/
	private static final String PASCO_NET_DETAIL_100M = "1";

	/** PASCO情報 1G申込可能 */
	private static final String PASCO_NET_DETAIL_1G = "3";
	/** PASCO情報 K-CAT */
	private static final String PASCO_TV_DETAIL_K_CAT = "1";
	/** PASCO情報 K-CAT+KCN */
	private static final String PASCO_TV_DETAIL_KCN = "2";

	/** アンケートリスト */
	private static final String ENQUETE_LIST = "アンケートリスト";
	/** アンケートチェック種別 */
	private static final String ENQUETE_CHK_SBT_02 = "アンケートチェック種別";
	/** アンケート回答リスト */
	private static final String ENQUETE_ANSWER_LIST = "アンケート回答リスト";
	/** チェックボックス入力可否 */
	private static final String CHKBOX_CHECKED_06 = "チェックボックス入力可否";
	/** ラジオボタン選択値 */
	private static final String RADIO_VALUE_02 = "ラジオボタン選択値";
	/** アンケートフリー入力欄 */
	private static final String ENQUETE_FREE_IPTFIELD_06 = "アンケートフリー入力欄";
	/** アンケートコード */
	private static final String ENQUETE_CD_06 = "アンケートコード";
	/** アンケート番号 */
	private static final String ENQUETE_CONTENT_NO_02 = "アンケート番号";
	/** アンケートフラグ */
	public static final String ENQUETEFLG = "アンケートフラグ";

	/** APLConst.propertiesから料金コースコードを取得するためのキー */
	private static final String KEY_UQ_PCRS_CD = "UQ_PCRS_CD";
	/** APLConst.propertiesから料金プランコードを取得するためのキー */
	private static final String KEY_UQ_PPLAN_CD = "UQ_PPLAN_CD";
	/** APLConst.propertiesから料金コースコードを取得するためのキー */
	private static final String KEY_UQ_SVC_KEI_PCRS_CD = "UQ_SVC_KEI_PCRS_CD"; // IT1-2012-0001882

	/** MAPキー 連絡先メールアドレス本登録用の定数 */
	private static final String MAP_KEY_ECK0201C030 = "ECK0201C030";
	/** MAPキー 連絡先メールアドレス本登録用の定数：連絡先番号 */
	private static final String MAP_KEY_RRKS_NO = "rrks_no";
	/** MAPキー 連絡先メールアドレス本登録用の定数：メールアドレス */
	private static final String MAP_KEY_MLAD = "mlad";
	/** MAPキー 連絡先メールアドレス本登録用の定数：メールアドレス変更年月日 */
	private static final String MAP_KEY_MLAD_CHGE_YMD = "mlad_chge_ymd";
	/** MAPキー 連絡先メールアドレス本登録用の定数：予約適用年月日 */
	private static final String MAP_KEY_RSV_APLY_YMD = "rsv_aply_ymd";
	/** MAPキー モバイル単独サービス追加 */
	private static final String MAP_SVC_ADD_MOB_ONLY_FLG = "svc_add_mob_only_flg";
	/** MAPキー モバイル単独 */
	private static final String MAP_MOB_ONLY_FLG = "mob_only_flg";
	/** MAPキー 申込区分 */
	private static final String MAP_MSKM_KBN = "mskm_kbn";
	
	// No244 Otsuka 2013/02/13 start
	/** 同一請求先の最大件数 */
	private static final String MAX_SAME_SEIKYUSAKI_CNT = "MAX_SAME_SEIKYUSAKI_CNT";
	// No244 Otsuka 2013/02/13 end

	// 2013/03/07 IT2-2013-0000268対応 Fujiwara Add Start
	/** 非同意 */
	private static final String HI_DOI = "0";
	// 2013/03/07 IT2-2013-0000268対応 Fujiwara Add End

	/** APLConst.propertiesのキー */
	private static final String FU_CR_CPID = "FU_CR_CPID";

	/** APLConst.propertiesのキー */
	private static final String FU_CR_PASSWD = "FU_CR_PASSWD";

	/**
	 * コンストラクタ
	 */
	public FUSV0165_FUSV0165OPDBMapper()
	{
	}

	/**
	 * 上りマッピングをする(手動生成) お客様＜個人＞登録マップ
	 * 
	 * <br>
	 * 
	 * @param bean
	 *            　[0]：ｅｏモバイル申込内容確認　[1]：共有フォームビーン
	 * @param outputMap
	 * @param func_code
	 *            　機能コード
	 * @param opeDate 運用日付
	 * @return HashMap
	 */
	public HashMap<String, Object> setFUSV016501SC(X31SDataBeanAccess[] bean, HashMap<String, Object> outputMap, String func_code, String opeDate)
	{
		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);

		// ＷＥＢ新規情報
		X31SDataBeanAccess webNewInfoBean = getWebNewInfo(bean[1]);
		// 契約者情報
		X31SDataBeanAccess keiyakushaInfoBean = getKeiyakushaInfo(webNewInfoBean);

		// 共有フォームBean.契約者情報.氏名（姓）＋（名） → お客様＜個人＞登録マップ.お客様名
		parentMap.put("cust_nm", getKshNm(keiyakushaInfoBean));

		// 共有フォームBean.契約者情報.氏名かな（姓）＋（名） → お客様＜個人＞登録マップ.お客様カナ名
		parentMap.put("cust_kana", getKshKatakana(keiyakushaInfoBean));

		// 共有フォームBean.契約者情報.性別 → お客様＜個人＞登録マップ.お客様性別コード
		parentMap.put("cust_sex_cd", keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.SEX_09, X31CWebConst.DATABEAN_GET_VALUE));

		// 共有フォームBean.契約者情報.生年月日（年）＋（月）＋（日） → お客様＜個人＞登録マップ.お客様生年月日
		parentMap.put("cust_birthd", getKshBirthday(keiyakushaInfoBean));

		// 共有フォームBean.契約者情報.郵便番号（上）＋（下） → お客様＜個人＞登録マップ.契約者郵便番号
		parentMap.put("keisha_pcd", getKshPcd(keiyakushaInfoBean));

		// 共有フォームBean.契約者情報.都道府県・市区町村 → お客様＜個人＞登録マップ.契約者都道府県名
		/*
		 * parentMap.put("keisha_state_nm", getKshState(keiyakushaInfoBean));
		 * 
		 * // 共有フォームBean.契約者情報.都道府県・市区町村 → お客様＜個人＞登録マップ.契約者市区町村名
		 * parentMap.put("keisha_city_nm", getKshCity(keiyakushaInfoBean));
		 * 
		 * // 共有フォームBean.契約者情報.字 → お客様＜個人＞登録マップ.契約者大字通称名
		 * parentMap.put("keisha_oaztsu_nm",
		 * keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KSH_AZA_09,
		 * X31CWebConst.DATABEAN_GET_VALUE));
		 * 
		 * // 共有フォームBean.契約者情報.丁目・番地等 → お客様＜個人＞登録マップ.契約者字丁目名
		 * parentMap.put("keisha_azcho_nm", getKshCho(keiyakushaInfoBean));
		 * 
		 * // 共有フォームBean.契約者情報.丁目・番地等 → お客様＜個人＞登録マップ.契約者番地号
		 * parentMap.put("keisha_bnchigo", getKshBnchi(keiyakushaInfoBean));
		 */
		// 共有フォームBean.契約者情報.建物名 → お客様＜個人＞登録マップ.契約者住所補記・建物名
		parentMap.put("keisha_adrttm", keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KSH_TTM_09, X31CWebConst.DATABEAN_GET_VALUE));

		// 共有フォームBean.契約者情報.部屋番号 → お客様＜個人＞登録マップ.契約者住所補記・部屋番号
		parentMap.put("keisha_adrrm", keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KSH_RRM_09, X31CWebConst.DATABEAN_GET_VALUE));

		// 2012.2.7 共有フォームBean.契約者情報.連絡先電話番号⇒共有フォームBean.契約者情報.電話番号
		// 共有フォームBean.契約者情報.電話番号（１）＋（２）＋（３） → お客様＜個人＞登録マップ.契約者電話番号
		parentMap.put("keisha_telno", getKshTelno(keiyakushaInfoBean));

		// 共有フォームBean.ＷＥＢ新規情報.ｅｏＩＤ → お客様＜個人＞登録マップ.eoID
		parentMap.put("eoid", webNewInfoBean.sendMessageString(CommonInfoCFConst.EOID_06, X31CWebConst.DATABEAN_GET_VALUE));

		/** 課題対応 */
		// 固定値（001:外販） → お客様＜個人＞登録マップ.内販・外販コード
		parentMap.put("naihan_gaihan_cd", String.valueOf("001"));
		
		// 関電Ｇ個人情報取扱同意有無
		parentMap.put("kepg_kjnif_trat_doi_um", keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KEPG_KJNIF_TRAT_DOI_UM_09, X31CWebConst.DATABEAN_GET_VALUE));
		// 関電G個人情報取扱同意年月日
		parentMap.put("kepg_kjnif_trat_doi_ymd", opeDate);
		// 関電Ｇ個人情報提供不可フラグ
		parentMap.put("kepg_kjnift_ffg", keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KEPG_KJNIFT_FFG_09, X31CWebConst.DATABEAN_GET_VALUE));
		// 関電G個人情報提供不可フラグ変更年月日
		parentMap.put("kepg_kjnift_ffg_chg_ymd", opeDate);

		// ↓↓ 不足項目の追加 ↓↓
		/* 2012/10/27 Y.Saitou IT1-2012-0001106 DEL-START */
		//		// お客様＜個人＞登録マップ.お客様ランクコード
		//		parentMap.put("cust_rank_cd", JFUStrConst.CD00267_2);
		/* 2012/10/27 Y.Saitou IT1-2012-0001106 DEL-END */
		// お客様＜個人＞登録マップ.会員種別コード
		parentMap.put("member_sbt_cd", JFUStrConst.CD00039_00);
		// TAI-2011-0000035 2012/03/18 h.iwamoto START
		// システム日付 → 入会年月日
		//		String opeDate = JFUWebCommon.getSysDate();
		// TAI-2011-0000035 2012/03/18 h.iwamoto END
		parentMap.put("join_ymd", opeDate);
		// 会員ISP決済状態コード
		parentMap.put("mmb_isp_kssai_stat_cd", JFUStrConst.CD00870_0);
		// ↑↑ 不足項目の追加 ↑↑

		// お客様＜個人＞登録マップ.契約者住所手動入力フラグ 20120807対応 Otsuka
		parentMap.put("keisha_ad_man_input_flg", JFUStrConst.CD01239_0);

		outputMap.put(FUSV016501SC, parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングをする(手動生成) お客様＜法人＞登録マップ
	 * 
	 * <br>
	 * 
	 * @param bean
	 *            　[0]：ｅｏモバイル申込内容確認　[1]：共有フォームビーン
	 * @param outputMap
	 * @param func_code
	 *            　機能コード
	 * @param opeDate 運用日付
	 * @return HashMap
	 */
	public HashMap<String, Object> setFUSV016502SC(X31SDataBeanAccess[] bean, HashMap<String, Object> outputMap, String func_code, String opeDate)
	{
		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		ArrayList<HashMap<String, Object>> list = null;
		HashMap<String, Object> childMap = null;

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, func_code);

		// ＷＥＢ新規情報
		X31SDataBeanAccess webNewInfoBean = getWebNewInfo(bean[1]);
		// 契約者情報
		X31SDataBeanAccess keiyakushaInfoBean = getKeiyakushaInfo(webNewInfoBean);
		// ANK-1467-00-00_UQWiMAX白ロム申込における画面容量制限への対応
		// リダイレクト情報取得
		X31SDataBeanAccessArray redirectInfo = webNewInfoBean.getDataBeanArray(CommonInfoCFConst.REDIRECT_INFO);
		X31SDataBeanAccess redirectInfoBean = redirectInfo.getDataBean(0);

		// ANK-1402-00-00↓
		// 共有フォームBean.契約者情報.法人名（姓）＋（名） → お客様＜法人＞登録マップ.お客様名
		parentMap.put("cust_nm", keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.HOJINNM_09, X31CWebConst.DATABEAN_GET_VALUE));

		// 共有フォームBean.契約者情報.法人名かな（姓）＋（名） → お客様＜法人＞登録マップ.お客様カナ名
		parentMap.put("cust_kana", JFUWebCommon.convFullHiraToFullKataV(keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.HOJINKN_09,
				X31CWebConst.DATABEAN_GET_VALUE)));

		// 共有フォームBean.契約者情報.代表者氏名（姓）＋（名） → お客様＜法人＞登録マップ.代表者氏名
		parentMap.put("dihysha_nm", getKshDhsNm(keiyakushaInfoBean));

		// 共有フォームBean.契約者情報.代表者かな（姓）＋（名） → お客様＜法人＞登録マップ.代表者カナ名
		parentMap.put("dihysha_kana", getKshDhsKatakana(keiyakushaInfoBean));
		// ANK-1402-00-00↑

		// 共有フォームBean.契約者情報.郵便番号（上）＋（下） → お客様＜法人＞登録マップ.契約者郵便番号
		parentMap.put("keisha_pcd", getKshPcd(keiyakushaInfoBean));

		// 共有フォームBean.契約者情報.都道府県・市区町村 → お客様＜法人＞登録マップ.契約者都道府県名
		/*
		 * parentMap.put("keisha_state_nm", getKshState(keiyakushaInfoBean));
		 * 
		 * // 共有フォームBean.契約者情報.都道府県・市区町村 → お客様＜法人＞登録マップ.契約者市区町村名
		 * parentMap.put("keisha_city_nm", getKshCity(keiyakushaInfoBean));
		 * 
		 * // 共有フォームBean.契約者情報.字 → お客様＜法人＞登録マップ.契約者大字通称名
		 * parentMap.put("keisha_oaztsu_nm",
		 * keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KSH_AZA_09,
		 * X31CWebConst.DATABEAN_GET_VALUE));
		 * 
		 * // 共有フォームBean.契約者情報.丁目・番地等 → お客様＜法人＞登録マップ.契約者字丁目名
		 * parentMap.put("keisha_azcho_nm", getKshCho(keiyakushaInfoBean));
		 * 
		 * // 共有フォームBean.契約者情報.丁目・番地等 → お客様＜法人＞登録マップ.契約者番地号
		 * parentMap.put("keisha_bnchigo", getKshBnchi(keiyakushaInfoBean));
		 */
		// 共有フォームBean.契約者情報.建物名 → お客様＜法人＞登録マップ.契約者住所補記・建物名
		parentMap.put("keisha_adrttm", keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KSH_TTM_09, X31CWebConst.DATABEAN_GET_VALUE));

		// 共有フォームBean.契約者情報.部屋番号 → お客様＜法人＞登録マップ.契約者住所補記・部屋番号
		parentMap.put("keisha_adrrm", keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KSH_RRM_09, X31CWebConst.DATABEAN_GET_VALUE));

		// 2012.2.7 共有フォームBean.契約者情報.連絡先電話番号⇒共有フォームBean.契約者情報.電話番号
		// 共有フォームBean.契約者情報.電話番号（１）＋（２）＋（３） → お客様＜法人＞登録マップ.契約者電話番号
		parentMap.put("keisha_telno", getKshTelno(keiyakushaInfoBean));

		// 共有フォームBean.契約者情報.法人名 → お客様＜法人＞登録マップ.会社名
		parentMap.put("comp_nm", keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.HOJINNM_09, X31CWebConst.DATABEAN_GET_VALUE));

		// 共有フォームBean.契約者情報.法人名かな → お客様＜法人＞登録マップ.会社カナ名
		parentMap.put("comp_kana", JFUWebCommon.convFullHiraToFullKataV(keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.HOJINKN_09,
				X31CWebConst.DATABEAN_GET_VALUE)));

		// 関電Ｇ個人情報取扱同意有無
		parentMap.put("kepg_kjnif_trat_doi_um", keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KEPG_KJNIF_TRAT_DOI_UM_09, X31CWebConst.DATABEAN_GET_VALUE));
		// 関電G個人情報取扱同意年月日
		parentMap.put("kepg_kjnif_trat_doi_ymd", opeDate);
		// 関電Ｇ個人情報提供不可フラグ
		parentMap.put("kepg_kjnift_ffg", keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KEPG_KJNIFT_FFG_09, X31CWebConst.DATABEAN_GET_VALUE));
		// 関電G個人情報提供不可フラグ変更年月日
		parentMap.put("kepg_kjnift_ffg_chg_ymd", opeDate);
		
		list = new ArrayList<HashMap<String, Object>>();
		childMap = new HashMap<String, Object>();

		// -----ST1-2012-0000203 h.iwamoto 2012/07/29 START-----
		//		// 共有フォームBean.契約者情報.代表者氏名（姓）＋（名） → お客様＜法人＞登録マップ.法人連絡先明細.法人連絡先名
		//		childMap.put("hjrrks_nm", getKshDhsNm(keiyakushaInfoBean));
		//
		//		// 共有フォームBean.契約者情報.郵便番号（上）＋（下） → お客様＜法人＞登録マップ.法人連絡先明細.法人連絡先郵便番号
		//		childMap.put("hjrrks_pcd", getKshPcd(keiyakushaInfoBean));
		//
		//		// 共有フォームBean.契約者情報.都道府県・市区町村 → お客様＜法人＞登録マップ.法人連絡先明細.法人連絡先都道府県名
		//		childMap.put("hjrrks_state_nm", getKshState(keiyakushaInfoBean));
		//
		//		// 共有フォームBean.契約者情報.都道府県・市区町村 → お客様＜法人＞登録マップ.法人連絡先明細.法人連絡先市区町村名
		//		childMap.put("hjrrks_city_nm", getKshCity(keiyakushaInfoBean));
		//
		//		// 共有フォームBean.契約者情報.字 → お客様＜法人＞登録マップ.法人連絡先明細.法人連絡先大字通称名
		//		childMap.put("hjrrks_oaztsu_nm", keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KSH_AZA_09, X31CWebConst.DATABEAN_GET_VALUE));
		//
		//		// 共有フォームBean.契約者情報.丁目・番地等 → お客様＜法人＞登録マップ.法人連絡先明細.法人連絡先字丁目名
		//		childMap.put("hjrrks_azcho_nm", getKshCho(keiyakushaInfoBean));
		//
		//		// 共有フォームBean.契約者情報.丁目・番地等 → お客様＜法人＞登録マップ.法人連絡先明細.法人連絡先番地号
		//		childMap.put("hjrrks_bnchigo", getKshBnchi(keiyakushaInfoBean));
		// -----ST1-2012-0000203 h.iwamoto 2012/07/29 END-----

		// -----ST2-2012-0001339 2012/07/25 h.iwamoto CC化により値を設定する START-----
		childMap.put("rrks_cd", JFUStrConst.CD00268_01);
		// -----ST2-2012-0001339 2012/07/25 h.iwamoto CC化により値を設定する END-----

		/** 課題対応 */
		// 固定値（001:外販） → お客様＜法人＞登録マップ.内販・外販コード
		parentMap.put("naihan_gaihan_cd", String.valueOf("001"));

		// ↓↓ 不足項目の追加 ↓↓
		/* 2012/10/27 Y.Saitou IT1-2012-0001106 DEL-START */
		//		// お客様ランクコード
		//		parentMap.put("cust_rank_cd", JFUStrConst.CD00267_2);
		/* 2012/10/27 Y.Saitou IT1-2012-0001106 DEL-END */
		// 会員種別コード
		parentMap.put("member_sbt_cd", JFUStrConst.CD00039_00);
		// TAI-2011-0000035 2012/03/18 h.iwamoto START
		// システム日付 → お客様＜法人＞登録マップ.入会年月日
		//		String opeDate = JFUWebCommon.getSysDate();
		// TAI-2011-0000035 2012/03/18 h.iwamoto END
		parentMap.put("join_ymd", opeDate);
		// 会員ISP決済状態コード
		parentMap.put("mmb_isp_kssai_stat_cd", JFUStrConst.CD00870_0);
		// ↑↑ 不足項目の追加 ↑↑
		// お客様＜法人＞登録マップ.契約者住所手動入力フラグ 20120807対応 Otsuka
		parentMap.put("keisha_ad_man_input_flg", JFUStrConst.CD01239_0);

		// WiFi即時対応 2012/11/15 h.iwamoto START
		// 法人格前後指定コード
		parentMap.put("hojin_zengo_shitei_cd", JFUStrConst.CD00247_2);

		// 法人格種別コード
		parentMap.put("hojin_sbt_cd", JFUStrConst.CD00246_00);
		// WiFi即時対応 2012/11/15 h.iwamoto END

		// ANK-1467-00-00_UQWiMAX白ロム申込における画面容量制限への対応
		//ＷｉＭＡＸＲＯＭ取得
		String redWimaxrom = redirectInfoBean.sendMessageString(CommonInfoCFConst.RED_WIMAXROM_17, X31CWebConst.DATABEAN_GET_VALUE);
		String mskmKbn = webNewInfoBean.sendMessageString(CommonInfoCFConst.MSKM_KBN_06, X31CWebConst.DATABEAN_GET_VALUE);
		String keiSbt = webNewInfoBean.sendMessageString(CommonInfoCFConst.KEI_SBT_06, X31CWebConst.DATABEAN_GET_VALUE);
		if (JFUStrConst.WIMAXROM_WHITE.equals(redWimaxrom) && JFUStrConst.MSKM_KBN_ADD.equals(mskmKbn) && JFUStrConst.KEI_SBT_HOJINCD.equals(keiSbt))
		{
			parentMap.put("sysid", webNewInfoBean.sendMessageString(CommonInfoCFConst.SYSID_06, X31CWebConst.DATABEAN_GET_VALUE));
		}

		// モバイル情報
		X31SDataBeanAccess mobileBean = getEOMobile(webNewInfoBean);
		// モバイルコース
		String mbCrs = mobileBean.sendMessageString(CommonInfoCFConst.MOBILE_COURSE_14, X31CWebConst.DATABEAN_GET_VALUE);
		if(JFUStrConst.MOBILE_COURSE_WIFI.equals(mbCrs) && JFUStrConst.MSKM_KBN_ADD.equals(mskmKbn) && JFUStrConst.KEI_SBT_HOJINCD.equals(keiSbt))
		{
			parentMap.put("sysid", webNewInfoBean.sendMessageString(CommonInfoCFConst.SYSID_06, X31CWebConst.DATABEAN_GET_VALUE));
		}

		list.add(childMap);
		parentMap.put("ECK0031D010CBSMsg1List", list);

		outputMap.put(FUSV016502SC, parentMap);

		return outputMap;
	}

	/**
	 * 連絡先登録上りマッピングをする(手動生成)
	 * 
	 * <br>
	 * @param bean　[0]：ｅｏモバイル申込内容確認　[1]：共有フォームビーン
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return HashMap
	 */
	public HashMap<String, Object> setFUSV016503SC(X31SDataBeanAccess[] bean, HashMap<String, Object> 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);

		// ＷＥＢ新規情報
		X31SDataBeanAccess webNewInfoBean = getWebNewInfo(bean[1]);
		// 契約者情報
		X31SDataBeanAccess keiyakushaInfoBean = getKeiyakushaInfo(webNewInfoBean);

		// ＷＥＢ新規情報.契約種別
		String keiSbt = webNewInfoBean.sendMessageString(CommonInfoCFConst.KEI_SBT_06, X31CWebConst.DATABEAN_GET_VALUE);

		// WiFiセット申し込み対応 2012/11/09 h.iwamoto START
		// ホーム申し込みと合わせてList化を行います。
		ArrayList<HashMap<String, String>> list = new ArrayList<HashMap<String, String>>();

		// childMapの初期化
		HashMap<String, String> childMap = new HashMap<String, String>();

		// 連絡先メールアドレスの連絡先番号を取得
		String rrksNo = keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.RRKS_NO_MLAD_09, X31CWebConst.DATABEAN_GET_VALUE);
		if (JFUWebCommon.isNull(rrksNo))
		{
			// 連絡先番号が未設定の場合は、追加対象として、メールアドレスの上りマッピングを行う
			// 共有フォームBean.契約者情報.個人メールアドレスまたは法人メールアドレス → 連絡先登録マップ.メールアドレス
			childMap.put("mlad", getKshMlad(keiyakushaInfoBean, keiSbt));
			
			if (JFUStrConst.CD00036_2.equals(keiSbt))
			{
				// 部品呼び出し → 連絡先登録マップ.連絡先コード
				childMap.put("rrks_cd", JFUStrConst.CD00268_01);
			}
			
			// -----ST1-2012-0000203 h.iwamoto 2012/07/29 START-----
			// 連絡方法コード
			childMap.put("rrk_way_cd", JFUStrConst.CD00790_001);
			// 連絡先種別コード
			childMap.put("rrks_sbt_cd", JFUStrConst.CD00254_5);
			// 連絡先分類コード
			childMap.put("rrks_bunrui_cd", JFUStrConst.CD00871_0);
			// -----ST1-2012-0000203 h.iwamoto 2012/07/29 END-----
			
			list.add(childMap);
		}
		
		//【IT2-2012-0001749】連絡先への電話番号登録 >>>
		//電話番号を作成
		childMap = new HashMap<String, String>();
		// 共有フォームBean.契約者情報.電話番号（１）＋（２）＋（３） → 連絡先登録マップ.電話番号
		childMap.put("telno", getKshTelno(keiyakushaInfoBean));
		if (JFUStrConst.CD00036_2.equals(keiSbt))
		{
			// 部品呼び出し → 連絡先登録マップ.連絡先コード
			childMap.put("rrks_cd", JFUStrConst.CD00268_01);
		}

		// 連絡方法コード
		childMap.put("rrk_way_cd", JFUStrConst.CD00790_003);
		// IT1-2013-0000425 2013/03/12 kusumoto Start
		// 連絡先種別コード
		childMap.put("rrks_sbt_cd", JFUStrConst.CD00254_2);
		// IT1-2013-0000425 2013/03/12 kusumoto end
		// 連絡先分類コード
		childMap.put("rrks_bunrui_cd", JFUStrConst.CD00871_0);

		list.add(childMap);
		//【IT2-2012-0001749】連絡先への電話番号登録 <<<

		parentMap.put("ECK0201D010List", list);
		// WiFiセット申し込み対応 2012/11/09 h.iwamoto END
		
		// モバイル単独のサービス追加の場合、フラグを設定する
		//（回線系の連絡先更新有無の判定に使用する）
		// 初期値設定
		String svcAddmobOnlyFlg  = JFUStrConst.CD00002_0;
		// 共有フォームBean.申込区分
		String mskmKbn = webNewInfoBean.sendMessageString(CommonInfoCFConst.MSKM_KBN_06, X31CWebConst.DATABEAN_GET_VALUE);
		// 共有フォームBean.申込回線サービス
		String mskmKsnSvc = webNewInfoBean.sendMessageString(CommonInfoCFConst.MSKM_KSN_SVC_06, X31CWebConst.DATABEAN_GET_VALUE);
		// 申込区分が「追加」かつ申込回線サービスが「3:モバイル単独」の場合
		// フラグに"1"を設定する
		if (JFUStrConst.MSKM_KBN_ADD.equals(mskmKbn) && JFUStrConst.MSKM_KSN_SVC_MOBILE.equals(mskmKsnSvc))
		{
			svcAddmobOnlyFlg = JFUStrConst.CD00002_1;
		}
		parentMap.put(MAP_SVC_ADD_MOB_ONLY_FLG, svcAddmobOnlyFlg);
		
		// モバイル単独の場合、フラグを設定する
		//（コンテンツ系の連絡先更新有無の判定に使用する）
		String mobOnlyFlg= JFUStrConst.CD00002_0;
		// 申込回線サービスが「3:モバイル単独」の場合、フラグに"1"を設定する
		if (JFUStrConst.MSKM_KSN_SVC_MOBILE.equals(mskmKsnSvc))
		{
			mobOnlyFlg = JFUStrConst.CD00002_1;
		}
		parentMap.put(MAP_MOB_ONLY_FLG, mobOnlyFlg);
		
		// 申込区分フラグを設定する
		parentMap.put(MAP_MSKM_KBN, mskmKbn);
		
		outputMap.put(FUSV016503SC, parentMap);
		
		return outputMap;
	}

	/**
	 * 連絡先メールアドレス本登録の上りマッピングをする
	 * 
	 * <br>
	 * @param bean　[0]：入力内容確認　[1]：共有フォームビーン
	 * @param outputMap
	 * @param func_code　機能コード
	 * @param opeDate 運用日付
	 * @return outputMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setECK0201C030(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code, String opeDate)
	{

		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		// WEB新規情報
		X31SDataBeanAccess bn = getWebNewInfo(bean[1]);
		// 契約者情報
		X31SDataBeanAccess bnKeiyakuinfo = getKeiyakushaInfo(bn);

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 連絡先番号のセット
		parentMap.put(MAP_KEY_RRKS_NO, bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.RRKS_NO_MLAD_09, X31CWebConst.DATABEAN_GET_VALUE));

		String mlad = "";
		// メールアドレス
		if (bn.sendMessageString(CommonInfoCFConst.KEI_SBT_06, X31CWebConst.DATABEAN_GET_VALUE).equals(JFUStrConst.KEI_SBT_HOJINCD))
		{
			// 法人メールアドレス
			mlad = bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.HOJIN_MLAD_09, X31CWebConst.DATABEAN_GET_VALUE);
		}
		else if (bn.sendMessageString(CommonInfoCFConst.KEI_SBT_06, X31CWebConst.DATABEAN_GET_VALUE).equals(JFUStrConst.KEI_SBT_KOJINCD))
		{
			// 個人メールアドレス
			mlad = bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.KOJIN_MLAD_09, X31CWebConst.DATABEAN_GET_VALUE);
		}

		// メールアドレスのセット
		parentMap.put(MAP_KEY_MLAD, mlad);
		// メールアドレス変更年月日のセット
		parentMap.put(MAP_KEY_MLAD_CHGE_YMD, opeDate);
		// 予約適用年月日のセット
		parentMap.put(MAP_KEY_RSV_APLY_YMD, opeDate);

		outputMap.put(MAP_KEY_ECK0201C030, parentMap);

		return outputMap;
	}
	
	// -----ST2-2012-0001339 2012/07/25 h.iwamoto CC化により値を設定する START-----
	/**
	 * お客様CCへのマッピングを行う
	 * 
	 * <br>
	 * @param bean
	 * @param outputMap
	 * @param func_code
	 * @return
	 */
	public HashMap<String, Object> setJFUCustCC(X31SDataBeanAccess[] bean, HashMap<String, Object> outputMap, String func_code)
	{
		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		// ＷＥＢ新規情報
		X31SDataBeanAccess webNewInfoBean = getWebNewInfo(bean[1]);
		// 契約者情報
		X31SDataBeanAccess keiyakushaInfoBean = getKeiyakushaInfo(webNewInfoBean);

		// ＷＥＢ新規情報.契約種別
		String keiSbt = webNewInfoBean.sendMessageString(CommonInfoCFConst.KEI_SBT_06, X31CWebConst.DATABEAN_GET_VALUE);

		// ＷＥＢ新規情報.SYSID
		String sysid = webNewInfoBean.sendMessageString(CommonInfoCFConst.SYSID_06, X31CWebConst.DATABEAN_GET_VALUE);

		// 会員種別
		String kiin_sbt = keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KIIN_SBT_09, X31CWebConst.DATABEAN_GET_VALUE);

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, func_code);

		// 会員種別
		parentMap.put("kiin_sbt", kiin_sbt);
		// SYSID(追加申込用)
		parentMap.put("sysid", sysid);
		// 契約者タイプコード設定
		parentMap.put("keisha_type_cd", keiSbt);
		// お客様＜個人＞登録マップキー
		parentMap.put("cust_kojin_map_key", FUSV016501SC);
		// お客様＜法人＞登録マップキー
		parentMap.put("cust_hojin_map_key", FUSV016502SC);
		// 連絡先登録マップキー
		parentMap.put("rrks_add_map_key", FUSV016503SC);
		// WiFiセット申し込み対応 2012/11/09 h.iwamoto START
		// 連絡先登録リストキー
		parentMap.put("rrks_add_list_key", "ECK0201D010List");
		// WiFiセット申し込み対応 2012/11/09 h.iwamoto END
		// 契約者分割住所マップキー
		parentMap.put("keisha_split_address_map_key", FUSV016520CC);

		outputMap.put(FUSV016528CC, parentMap);

		return outputMap;
	}

	// -----ST2-2012-0001339 2012/07/25 h.iwamoto CC化により値を設定する END-----
	/**
	 * 督促チェック上りマッピングをする(手動生成)
	 * 
	 * <br>
	 * @param bean　[0]：ｅｏモバイル申込内容確認　[1]：共有フォームビーン
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return HashMap
	 */
	public HashMap<String, Object> setFUSV016504SC(X31SDataBeanAccess[] bean, HashMap<String, Object> 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);

		outputMap.put(FUSV016504SC, parentMap);

		return outputMap;
	}

	/**
	 * 申込登録上りマッピングをする(手動生成) 申込承認登録マップ
	 * 
	 * <br>
	 * @param bean　[0]：ｅｏモバイル申込内容確認　[1]：共有フォームビーン
	 * @param outputMap
	 * @param func_code　機能コード
	 * @param opeDate 運用日付
	 * @return HashMap
	 */
	public HashMap<String, Object> setFUSV016505SC(X31SDataBeanAccess[] bean, HashMap<String, Object> outputMap, String func_code, String opeDate)
	{
		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		ArrayList<HashMap<String, Object>> list = null;
		HashMap<String, Object> childMap = null;

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, func_code);

		// ＷＥＢ新規情報
		X31SDataBeanAccess webNewInfoBean = getWebNewInfo(bean[1]);
		// 契約者情報
		X31SDataBeanAccess keiyakushaInfoBean = getKeiyakushaInfo(webNewInfoBean);

		// ＷＥＢ新規情報.契約種別
		String keiSbt = webNewInfoBean.sendMessageString(CommonInfoCFConst.KEI_SBT_06, X31CWebConst.DATABEAN_GET_VALUE);

		// 共有フォームBean.ＷＥＢ新規情報.ｓｙｓＩＤ → 申込承認登録マップ.SYSID
		parentMap.put("sysid", webNewInfoBean.sendMessageString(CommonInfoCFConst.SYSID_06, X31CWebConst.DATABEAN_GET_VALUE));

		// ＊＊＊＊ → 申込登録マップ.申込種別コード
		parentMap.put("mskm_sbt_cd", getMskmSbtCd(webNewInfoBean));

		// 共有フォームBean.契約者情報.連絡先電話番号（１）＋（２）＋（３） → 申込承認登録マップ.申込連絡先電話番号
		parentMap.put("mskm_rrks_telno", getKshTelno(keiyakushaInfoBean)); // No361 Otsuka 2013/02/15

		// 2013/03/07 IT2-2013-0000268対応 Fujiwara Add Start
		// 固定値（非同意:"0"） → 申込承認登録マップ.関西電力お客様情報授受同意有無
		parentMap.put("kepco_ctinfo_juju_doi_um", HI_DOI);
		// 2013/03/07 IT2-2013-0000268対応 Fujiwara Add End

		list = new ArrayList<HashMap<String, Object>>();
		childMap = new HashMap<String, Object>();

		// 共有フォームBean.契約者情報.連絡先電話番号（１）＋（２）＋（３） → 申込承認登録マップ.申込承認登録明細.昼間連絡先電話番号
		childMap.put("dt_rrks_telno", getKshTelno(keiyakushaInfoBean)); // No361 Otsuka 2013/02/15

		// 共有フォームBean.契約者情報.個人メールアドレスまたは法人メールアドレス → 申込承認登録マップ.申込承認登録明細.申込連絡先メールアドレス
		childMap.put("mskm_rrks_mlad", getKshMlad(keiyakushaInfoBean, keiSbt));

		/** 課題対応 */
		// 運用年月日 → 申込書到着年月日
		// TAI-2011-0000035 2012/03/18 h.iwamoto START
		//		parentMap.put("mskmsho_ariv_ymd", String.valueOf(JFUWebCommon.getSysDate()));
		parentMap.put("mskmsho_ariv_ymd", opeDate);
		// TAI-2011-0000035 2012/03/18 h.iwamoto END

		/* 2012/10/29 Y.Saitou IT1-2012-0001086 DEL-START */
		//		// -----ST2-2012-0001348 2012/07/05 h.iwamoto START-----
		//		// 申込経路識別コード
		//		parentMap.put("mskm_route_skbt_cd", JFUStrConst.CD00751_2);
		//		// -----ST2-2012-0001348 2012/07/05 h.iwamoto END-----
		/* 2012/10/29 Y.Saitou IT1-2012-0001086 DEL-END */

		// ↓↓ 不足項目の追加 ↓↓
		// オプションサービス引継有無
		childMap.put("op_svc_hktgi_um", JFUStrConst.CD00002_0);
		// 解約書類送付希望有無
		childMap.put("dsl_aticle_sohu_kibo_um", JFUStrConst.CD00002_0);
		// 新築物件コード
		childMap.put("newconst_bukken_cd", JFUStrConst.CD00480_0);
		// 復活案件フラグ
		childMap.put("hukkat_anken_flg", JFUStrConst.CD00777_0);
		// 同一設備再申込コード
		childMap.put("same_equip_re_mskm_cd", JFUStrConst.CD00485_0);
		// 申込書種別コード："5"（モバイル単独）
		childMap.put("mskmsho_sbt_cd", JFUStrConst.CD00752_5);
		// 2013/02/19 Otsuka start モバ単は必ずコンシューマ 
		// 申込形態コード
		childMap.put("mskm_form_cd", JFUStrConst.CD00591_01);

		// 新規申込種別コード
		childMap.put("new_mskm_sbt_cd", JFUStrConst.CD00683_001);
		// 2013/02/19 Otsuka end
		// ↑↑ 不足項目の追加 ↑↑

		// ----- 2012/05/11 サービスインターフェイス取込対応 h.iwamoto START -----

		// 申込受付種別コード
		childMap.put("mkm_uk_sbt_cd", "4"); // モバイル単独(コンシューマ(WEB)) Otsuka 2013/02/19
		// ----- 2012/05/11 サービスインターフェイス取込対応 h.iwamoto END -----
		list.add(childMap);
		parentMap.put("EKK0011D020CBSMsg1List", list);

		outputMap.put(FUSV016505SC, parentMap);

		return outputMap;
	}

	/**
	 * 申込明細登録上りマッピングをする(手動生成)
	 * 
	 * <br>
	 * @param bean　[0]：ｅｏモバイル申込内容確認　[1]：共有フォームビーン
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return HashMap
	 */
	//public HashMap<String, Object> setFUSV016506SC(X31SDataBeanAccess[] bean, HashMap<String, Object> outputMap, String func_code)
	//	{
	// 申込明細登録は続けてモバイルの場合の為削除
	/**
	 * クレジット請求手続き上りマッピングをする(手動生成)
	 * 
	 * <br>
	 * @param bean　[0]：ｅｏモバイル申込内容確認　[1]：共有フォームビーン
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return HashMap
	 */
	//	public HashMap<String, Object> setFUSV016507SC(X31SDataBeanAccess[] bean, HashMap<String, Object> 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);
	//
	//		// ＷＥＢ新規情報
	//		X31SDataBeanAccess webNewInfoBean = getWebNewInfo(bean[1]);
	//		// 支払い方法情報
	//		X31SDataBeanAccess paywayInfoBean = getPaywayInfo(webNewInfoBean);
	//
	//		// 共有フォームBean.支払い方法情報.クレジット会社コード → クレジット請求手続きマップ.クレジットカード会社コード
	//		parentMap.put("crecard_comp_cd", paywayInfoBean.sendMessageString(CommonInfoCFConst.CRECARD_COMP_CD_15, X31CWebConst.DATABEAN_GET_VALUE));
	//
	//		// 共有フォームBean.支払い方法情報.クレジット番号（１）＋（２）＋（３）＋（４） → クレジット請求手続きマップ.クレジットカード番号
	//		parentMap.put("crecard_no", getPaywayCrecardNo(paywayInfoBean));
	//
	//		// 共有フォームBean.支払い方法情報.クレジット・有効期限（月）＋（年） → クレジット請求手続きマップ.クレジットカード有効期限
	//		parentMap.put("crecard_yk_kigen", getPaywayCrecardYkKigen(paywayInfoBean));
	//
	//		// 共有フォームBean.支払い方法情報.クレジット・名義人（カナ・姓）＋（カナ・名） →
	//		// クレジット請求手続きマップ.クレジットカード名義カナ名
	//		parentMap.put("crecard_nm_kana", getPaywayCustNmKana(paywayInfoBean));
	//
	//		// ＊＊＊＊ → クレジット請求手続きマップ.異動区分
	//		parentMap.put("ido_div", getIdoDiv(webNewInfoBean));
	//
	//		outputMap.put(FUSV016507SC, parentMap);
	//
	//		return outputMap;
	//	}
	// 2013/03/12 Otsuka オーソリ処理追加 start
	/**
	 * 上りマッピングをする 初回オーソリ依頼
	 * @param bean [1]：共有フォームビーン
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap<String, Object> setEKKA0010001(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code, String opeDateTime)
	{
		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		X31SDataBeanAccess web_new_bean = getWebNewInfo(bean[1]);

		X31SDataBeanAccess payWayInfoBean = getPaywayInfo(web_new_bean);

		X31SDataBeanAccess mobileBean = getEOMobile(web_new_bean);

		X31SDataBeanAccess redirectInfoBean = getRedirectInfo(web_new_bean);

		String payway_continue = payWayInfoBean.sendMessageString(CommonInfoCFConst.PAYWAY_CONTINUE_15, X31CWebConst.DATABEAN_GET_VALUE);
		String payway_ginchocre = payWayInfoBean.sendMessageString(CommonInfoCFConst.PAYWAY_15, X31CWebConst.DATABEAN_GET_VALUE);

		// 支払い方法が銀行または郵便の場合、または支払い方法を引き継ぐ場合
		if (JFUStrConst.PAYWAY_CONTINUE_CONTINUE.equals(payway_continue) || JFUStrConst.PAYWAY_BANK_POSTAL.equals(payway_ginchocre))
		{
			return outputMap;
		}
		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		// クレジットカード契約番号 → 初回オーソリSCマップ.クレジットカード契約番号
		parentMap.put("cr_ccid", payWayInfoBean.sendMessageString(CommonInfoCFConst.CRECARD_KEI_NO_15, X31CWebConst.DATABEAN_GET_VALUE));

		// 加盟店IDを取得
		String fu_cr_cpid = JFUWebCommon.getApplicationConst(FU_CR_CPID);

		// 加盟店パスワードを取得
		String fu_cr_passwd = JFUWebCommon.getApplicationConst(FU_CR_PASSWD);

		// 加盟店ＩＤ → 初回オーソリSCマップ.加盟店ID
		parentMap.put("cr_cpid", fu_cr_cpid);
		// 加盟店パスワード → 初回オーソリSCマップ.加盟店パスワード
		parentMap.put("cr_passwd", fu_cr_passwd);

		String opeDate_date = opeDateTime.substring(0, 8);
		String opeDate_time = opeDateTime.substring(8, 14);

		// 運用日付（日付） → 初回オーソリSCマップ.取引年月日
		parentMap.put("cr_orderdate", opeDate_date);
		// 運用日付（時間） → 初回オーソリSCマップ.取引時間
		parentMap.put("cr_ordertime", opeDate_time);
		// 決済金額 → 初回オーソリSCマップ.決済金額
		//		parentMap.put("cr_amount", payWayInfoBean.sendMessageString(CommonInfoCFConst.CR_PAIDAMOUNT_15, X31CWebConst.DATABEAN_GET_VALUE));
		parentMap.put("cr_amount", "1");

		// クレジットカード番号１+２+３+４ → 初回オーソリSCマップ.カード番号
		String cre_no_1 = payWayInfoBean.sendMessageString(CommonInfoCFConst.CRECARD_NO1_15, X31CWebConst.DATABEAN_GET_VALUE);
		String cre_no_2 = payWayInfoBean.sendMessageString(CommonInfoCFConst.CRECARD_NO2_15, X31CWebConst.DATABEAN_GET_VALUE);
		String cre_no_3 = payWayInfoBean.sendMessageString(CommonInfoCFConst.CRECARD_NO3_15, X31CWebConst.DATABEAN_GET_VALUE);
		String cre_no_4 = payWayInfoBean.sendMessageString(CommonInfoCFConst.CRECARD_NO4_15, X31CWebConst.DATABEAN_GET_VALUE);
		String cre_no_1234 = cre_no_1 + cre_no_2 + cre_no_3 + cre_no_4;

		// 19桁になるまで前半角スペース埋めを行ってから設定
		parentMap.put("cr_cardnumber", cre_no_1234);

		//---------------------------------------------------------------------
		// カード有効期限（年月） → 初回オーソリSCマップ.カード有効期限
		String year = payWayInfoBean.sendMessageString(CommonInfoCFConst.CRECARD_YK_KIGEN_YEAR_15, X31CWebConst.DATABEAN_GET_VALUE);
		String month = payWayInfoBean.sendMessageString(CommonInfoCFConst.CRECARD_YK_KIGEN_MONTH_15, X31CWebConst.DATABEAN_GET_VALUE);

		// 年月を文字に結合する関係で 1-9月だけは頭に 0 を付加する
		if (month.matches("^[1-9]$"))
		{
			month = "0" + month;
		}

		// MM/YY形式に編集
		String year_month = year.substring(2, 4) + "/" + month;
		parentMap.put("cr_cardexp", year_month);

		String mobileCourse = mobileBean.sendMessageString(CommonInfoCFConst.MOBILE_COURSE_14, X31CWebConst.DATABEAN_GET_VALUE);

		String wimaxRom = redirectInfoBean.sendMessageString(CommonInfoCFConst.RED_WIMAXROM_17, X31CWebConst.DATABEAN_GET_VALUE);

		// モバイル単独かつWiMAX白ロムまたはWi-Fiの場合:1 それ以外:0
		String contFlg = "0";

		if (JFUStrConst.MOBILE_COURSE_WIFI.equals(mobileCourse)
				|| (JFUStrConst.MOBILE_COURSE_WIMAX.equals(mobileCourse) && JFUStrConst.WIMAXROM_WHITE.equals(wimaxRom)))
		{
			contFlg = "1";
		}

		parentMap.put("contFlg", contFlg);

		outputMap.put("EKKA0010001", parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングをする（クレジット請求手続マップ）
	 * 
	 * @param bean[0]：共有フォームビーン
	 * @param outputMap
	 * @param func_code 機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap<String, Object> setEKK0521D010(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{
		String crecardCompCd = "";
		String credit_no1 = "";
		String credit_no2 = "";
		String credit_no3 = "";
		String credit_no4 = "";
		String credit_no = "";
		String credit_kigenM = "";
		String credit_kigenY = "";
		String credit_kigen = "";
		String meigi_kana_sei = "";
		String meigi_kana_mei = "";
		String meigi = "";
		String crecardJigyoCd = "";

		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		// WEB新規情報
		X31SDataBeanAccess web_new_infobean = getWebNewInfo(bean[1]);
		// 支払い方法情報
		X31SDataBeanAccess cash_infobean = getPaywayInfo(web_new_infobean);

		// 支払方法引継
		String hikitugi = cash_infobean.sendMessageString(CommonInfoCFConst.PAYWAY_CONTINUE_15, X31CWebConst.DATABEAN_GET_VALUE);

		// 支払い方法を引き継ぐ場合は、nullを返します。
		if (hikitugi.equals(JFUStrConst.PAYWAY_CONTINUE_CONTINUE))
		{
			return outputMap;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		// 支払い方法がクレジットカードの場合
		// クレジットカード会社コード
		crecardCompCd = cash_infobean.sendMessageString(CommonInfoCFConst.CRECARD_COMP_CD_15, X31CWebConst.DATABEAN_GET_VALUE);
		// クレジットカード番号
		credit_no1 = cash_infobean.sendMessageString(CommonInfoCFConst.CRECARD_NO1_15, X31CWebConst.DATABEAN_GET_VALUE);
		credit_no2 = cash_infobean.sendMessageString(CommonInfoCFConst.CRECARD_NO2_15, X31CWebConst.DATABEAN_GET_VALUE);
		credit_no3 = cash_infobean.sendMessageString(CommonInfoCFConst.CRECARD_NO3_15, X31CWebConst.DATABEAN_GET_VALUE);
		credit_no4 = cash_infobean.sendMessageString(CommonInfoCFConst.CRECARD_NO4_15, X31CWebConst.DATABEAN_GET_VALUE);
		credit_no = credit_no1 + credit_no2 + credit_no3 + credit_no4;

		// クレジットカード有効期限
		credit_kigenM = cash_infobean.sendMessageString(CommonInfoCFConst.CRECARD_YK_KIGEN_MONTH_15, X31CWebConst.DATABEAN_GET_VALUE);
		credit_kigenY = cash_infobean.sendMessageString(CommonInfoCFConst.CRECARD_YK_KIGEN_YEAR_15, X31CWebConst.DATABEAN_GET_VALUE);
		credit_kigen = credit_kigenY + credit_kigenM;

		// クレジットカード名義カナ名
		meigi_kana_sei = cash_infobean.sendMessageString(CommonInfoCFConst.CUST_NM_KANA_SEI_15, X31CWebConst.DATABEAN_GET_VALUE);
		meigi_kana_mei = cash_infobean.sendMessageString(CommonInfoCFConst.CUST_NM_KANA_NM_15, X31CWebConst.DATABEAN_GET_VALUE);

		if (meigi_kana_sei.length() > 0 && meigi_kana_mei.length() > 0)
		{
			meigi = meigi_kana_sei + JFUStrConst.SPACE + meigi_kana_mei;
		}
		else
		{
			//法人もしくはマンションの場合クレジット名義人を別項目で設定
			meigi = cash_infobean.sendMessageString(CommonInfoCFConst.CUST_NM_KANA_15, X31CWebConst.DATABEAN_GET_VALUE);
		}

		// クレジット事業コード
		crecardJigyoCd = JFUStrConst.CD00420_2;

		// クレジットカード会社コード
		parentMap.put("crecard_comp_cd", crecardCompCd);
		// クレジット事業コード
		parentMap.put("crecard_jigyo_cd", crecardJigyoCd);
		// クレジットカード番号
		parentMap.put("crecard_no", credit_no);
		// クレジットカード有効期限
		parentMap.put("crecard_yk_kigen", credit_kigen);
		// クレジットカード名義カナ名
		parentMap.put("crecard_nm_kana", meigi);
		// 異動区分
		parentMap.put("ido_div", getIdoDiv(web_new_infobean));

		// 更新前年月日時分秒
		parentMap.put("upd_dtm_bf", cash_infobean.sendMessageString(CommonInfoCFConst.UPD_DTM_SEIKY_KEI_15, X31CWebConst.DATABEAN_GET_VALUE));

		// 一括フラグ(モバイル単独)
		parentMap.put("iktFlg", "1");

		outputMap.put("EKK0521D010", parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングをする（審査済クレジットカード登録マップ）
	 * 
	 * @param bean[0]：共有フォームビーン
	 * @param outputMap
	 * @param func_code 機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap<String, Object> setEKK0521D020(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{
		String crecardCompCd = "";
		String credit_no1 = "";
		String credit_no2 = "";
		String credit_no3 = "";
		String credit_no4 = "";
		String credit_no = "";
		String credit_kigenM = "";
		String credit_kigenY = "";
		String credit_kigen = "";
		String meigi_kana_sei = "";
		String meigi_kana_mei = "";
		String meigi = "";
		String crecardJigyoCd = "";

		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		// WEB新規情報
		X31SDataBeanAccess web_new_infobean = getWebNewInfo(bean[1]);
		// 支払い方法情報
		X31SDataBeanAccess cash_infobean = getPaywayInfo(web_new_infobean);

		// 支払方法引継
		String hikitugi = cash_infobean.sendMessageString(CommonInfoCFConst.PAYWAY_CONTINUE_15, X31CWebConst.DATABEAN_GET_VALUE);

		// 支払い方法を引き継ぐ場合は、nullを返します。
		if (hikitugi.equals(JFUStrConst.PAYWAY_CONTINUE_CONTINUE))
		{
			return outputMap;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		// 支払い方法がクレジットカードの場合
		// クレジットカード会社コード
		crecardCompCd = cash_infobean.sendMessageString(CommonInfoCFConst.CRECARD_COMP_CD_15, X31CWebConst.DATABEAN_GET_VALUE);
		// クレジットカード番号
		credit_no1 = cash_infobean.sendMessageString(CommonInfoCFConst.CRECARD_NO1_15, X31CWebConst.DATABEAN_GET_VALUE);
		credit_no2 = cash_infobean.sendMessageString(CommonInfoCFConst.CRECARD_NO2_15, X31CWebConst.DATABEAN_GET_VALUE);
		credit_no3 = cash_infobean.sendMessageString(CommonInfoCFConst.CRECARD_NO3_15, X31CWebConst.DATABEAN_GET_VALUE);
		credit_no4 = cash_infobean.sendMessageString(CommonInfoCFConst.CRECARD_NO4_15, X31CWebConst.DATABEAN_GET_VALUE);
		credit_no = credit_no1 + credit_no2 + credit_no3 + credit_no4;

		// クレジットカード有効期限
		credit_kigenM = cash_infobean.sendMessageString(CommonInfoCFConst.CRECARD_YK_KIGEN_MONTH_15, X31CWebConst.DATABEAN_GET_VALUE);
		credit_kigenY = cash_infobean.sendMessageString(CommonInfoCFConst.CRECARD_YK_KIGEN_YEAR_15, X31CWebConst.DATABEAN_GET_VALUE);
		credit_kigen = credit_kigenY + credit_kigenM;

		// クレジットカード名義カナ名
		meigi_kana_sei = cash_infobean.sendMessageString(CommonInfoCFConst.CUST_NM_KANA_SEI_15, X31CWebConst.DATABEAN_GET_VALUE);
		meigi_kana_mei = cash_infobean.sendMessageString(CommonInfoCFConst.CUST_NM_KANA_NM_15, X31CWebConst.DATABEAN_GET_VALUE);

		if (meigi_kana_sei.length() > 0 && meigi_kana_mei.length() > 0)
		{
			meigi = meigi_kana_sei + JFUStrConst.SPACE + meigi_kana_mei;
		}
		else
		{
			//法人もしくはマンションの場合クレジット名義人を別項目で設定
			meigi = cash_infobean.sendMessageString(CommonInfoCFConst.CUST_NM_KANA_15, X31CWebConst.DATABEAN_GET_VALUE);
		}

		// クレジット事業コード
		crecardJigyoCd = JFUStrConst.CD00420_2;

		// クレジットフラグ を"0"にする(CCの制御用)
		parentMap.put("creditFlg", "0");

		// クレジットカード会社コード
		parentMap.put("crecard_comp_cd", crecardCompCd);
		// クレジット事業コード
		parentMap.put("crecard_jigyo_cd", crecardJigyoCd);
		// クレジットカード番号
		parentMap.put("crecard_no", credit_no);
		// クレジットカード有効期限
		parentMap.put("crecard_yk_kigen", credit_kigen);
		// クレジットカード名義カナ名
		parentMap.put("crecard_nm_kana", meigi);
		// 異動区分
		parentMap.put("ido_div", getIdoDiv(web_new_infobean));

		outputMap.put("EKK0521D020", parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングをする オーソリ実績登録
	 * @param bean [０]：共有フォームビーン
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap<String, Object> setEKK1031D010(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code, String opeDateTime)
	{
		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);

		X31SDataBeanAccess web_new_bean = getWebNewInfo(bean[1]);

		X31SDataBeanAccess payWayInfoBean = getPaywayInfo(web_new_bean);

		String payway_continue = payWayInfoBean.sendMessageString(CommonInfoCFConst.PAYWAY_CONTINUE_15, X31CWebConst.DATABEAN_GET_VALUE);
		String payway_ginchocre = payWayInfoBean.sendMessageString(CommonInfoCFConst.PAYWAY_15, X31CWebConst.DATABEAN_GET_VALUE);

		// 支払い方法が銀行または郵便の場合、または支払い方法を引き継ぐ場合
		if (JFUStrConst.PAYWAY_CONTINUE_CONTINUE.equals(payway_continue) || JFUStrConst.PAYWAY_BANK_POSTAL.equals(payway_ginchocre))
		{
			return outputMap;
		}

		// クレジットカード会社コード
		String crecardCompCd = payWayInfoBean.sendMessageString(CommonInfoCFConst.CRECARD_COMP_CD_15, X31CWebConst.DATABEAN_GET_VALUE);

		// クレジットカード番号
		String credit_no1 = payWayInfoBean.sendMessageString(CommonInfoCFConst.CRECARD_NO1_15, X31CWebConst.DATABEAN_GET_VALUE);
		String credit_no2 = payWayInfoBean.sendMessageString(CommonInfoCFConst.CRECARD_NO2_15, X31CWebConst.DATABEAN_GET_VALUE);
		String credit_no3 = payWayInfoBean.sendMessageString(CommonInfoCFConst.CRECARD_NO3_15, X31CWebConst.DATABEAN_GET_VALUE);
		String credit_no4 = payWayInfoBean.sendMessageString(CommonInfoCFConst.CRECARD_NO4_15, X31CWebConst.DATABEAN_GET_VALUE);
		String credit_no = credit_no1 + credit_no2 + credit_no3 + credit_no4;

		// クレジットカード有効期限
		String credit_kigenM = payWayInfoBean.sendMessageString(CommonInfoCFConst.CRECARD_YK_KIGEN_MONTH_15, X31CWebConst.DATABEAN_GET_VALUE);
		String credit_kigenY = payWayInfoBean.sendMessageString(CommonInfoCFConst.CRECARD_YK_KIGEN_YEAR_15, X31CWebConst.DATABEAN_GET_VALUE);
		String credit_kigen = credit_kigenY + credit_kigenM;

		// 請求契約番号
		String seiky_kei_no = payWayInfoBean.sendMessageString(CommonInfoCFConst.SEIKY_KEI_NO_15, X31CWebConst.DATABEAN_GET_VALUE);

		// 請求契約世代年月日時分秒
		String gene_add_dtm = payWayInfoBean.sendMessageString(CommonInfoCFConst.GENE_ADD_DTM_SEIKY_KEI_15, X31CWebConst.DATABEAN_GET_VALUE);

		// 請求契約番号
		parentMap.put("seiky_kei_no", seiky_kei_no);

		// 請求契約世代年月日時分秒
		parentMap.put("seiky_kei_gene_add_dtm", gene_add_dtm);

		// クレジットカード会社コード
		parentMap.put("crecard_comp_cd", crecardCompCd);

		// オーソリ処理コード 入会オーソリ
		parentMap.put("auth_tran_cd", JFUStrConst.CD00421_02);

		// クレジットカード番号
		parentMap.put("crecard_no", credit_no);

		// クレジットカード有効期限
		parentMap.put("crecard_yk_kigen", credit_kigen);

		// オーソリ要求コード 新規契約
		parentMap.put("authori_yokyu_cd", JFUStrConst.CD00463_1);

		// 取消コード 0:未処理
		parentMap.put("cl_cd", JFUStrConst.CD00616_0);

		// 加盟店番号
		parentMap.put("membstr_no", payWayInfoBean.sendMessageString(CommonInfoCFConst.MEMBSTR_NO_15, X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("EKK1031D010", parentMap);

		return outputMap;
	}

	// 2013/03/12 Otsuka オーソリ処理追加 

	/**
	 * 請求契約登録上りマッピングをする(手動生成)
	 * 
	 * <br>
	 * @param bean　[0]：ｅｏモバイル申込内容確認　[1]：共有フォームビーン
	 * @param outputMap
	 * @param func_code　機能コード
	 * @param opeDate　運用日付
	 * @return HashMap
	 */
	public HashMap<String, Object> setFUSV016508SC(X31SDataBeanAccess[] bean, HashMap<String, Object> outputMap, String func_code, String opeDate)
	{
		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);

		// ＷＥＢ新規情報
		X31SDataBeanAccess webNewInfoBean = getWebNewInfo(bean[1]);
		// 契約者情報
		X31SDataBeanAccess keiyakushaInfoBean = getKeiyakushaInfo(webNewInfoBean);
		// 支払い方法情報
		X31SDataBeanAccess paywayInfoBean = getPaywayInfo(webNewInfoBean);

		// ＷＥＢ新規情報.契約種別
		String keiSbt = webNewInfoBean.sendMessageString(CommonInfoCFConst.KEI_SBT_06, X31CWebConst.DATABEAN_GET_VALUE);

		// 支払い方法情報.支払い方法選択
		String payway = paywayInfoBean.sendMessageString(CommonInfoCFConst.PAYWAY_15, X31CWebConst.DATABEAN_GET_VALUE);

		// 共有フォームBean.ＷＥＢ新規情報.ｓｙｓＩＤ → 請求契約登録マップ.SYSID
		parentMap.put("sysid", webNewInfoBean.sendMessageString(CommonInfoCFConst.SYSID_06, X31CWebConst.DATABEAN_GET_VALUE));

		// ？？？？ → 請求契約登録マップ.請求方法コード
		parentMap.put("seiky_way_cd", JFUStrConst.CD00166_4);

		// No248 Otsuka 2013/01/29 請求契約カナ名は設定しない。
		// ＊＊＊＊ → 請求契約登録マップ.請求契約カナ名
		String seikyKeiKana = "";
		if (JFUStrConst.PAYWAY_CREDIT.equals(payway))
		{

			// WEB新規情報.契約種別によって、個人/法人どちらを設定するか判断する
			if (JFUStrConst.CD00036_1.equals(keiSbt))
			{
				// 支払い方法情報.支払方法選択が2:クレジットの場合、クレジット名義人カナを設定する
				seikyKeiKana = getPaywayCustNmKana(paywayInfoBean);
			}
			else
			{
				// 契約種別が法人の場合、契約者情報.代表者かな（姓）＋（名）を設定する
				seikyKeiKana = paywayInfoBean.sendMessageString(CommonInfoCFConst.CUST_NM_KANA_15, X31CWebConst.DATABEAN_GET_VALUE);
			}
		}
		else
		{
			// WEB新規情報.契約種別によって、個人/法人どちらを設定するか判断する
			if (JFUStrConst.CD00036_1.equals(keiSbt))
			{
				// 契約種別が個人の場合、契約者情報.氏名かな（姓）＋（名）を設定する
				seikyKeiKana = getKshKatakana(keiyakushaInfoBean);
			}
			else
			{
				// 契約種別が法人の場合、契約者情報.代表者かな（姓）＋（名）を設定する
				seikyKeiKana = getKshDhsKatakana(keiyakushaInfoBean);
			}
		}
		parentMap.put("seiky_kei_kana", seikyKeiKana);

		// 共有フォームBean.支払い方法情報.請求方法番号（クレジットカード） → 請求契約登録マップ.請求方法番号（クレジットカード）
		parentMap.put("seiky_way_no_crecard", paywayInfoBean.sendMessageString(CommonInfoCFConst.SEIKY_WAY_NO_CRECARD_15,
				X31CWebConst.DATABEAN_GET_VALUE));

		// ＊＊＊＊ → 請求契約登録マップ.送付先カナ名
		// ＊＊＊＊ → 請求契約登録マップ.送付先名
		String shsKana = "";
		String sohusNm = "";
		// WEB新規情報.契約種別によって、個人/法人どちらを設定するか判断する
		if (JFUStrConst.CD00036_1.equals(keiSbt))
		{
			// 契約種別が個人の場合、契約者情報.氏名かな（姓）＋（名）を設定する
			shsKana = getKshKatakana(keiyakushaInfoBean);
			// 契約種別が個人の場合、契約者情報.氏名（姓）＋（名）を設定する
			sohusNm = getKshNm(keiyakushaInfoBean);
		}
		else
		{
			// 契約種別が法人の場合、契約者情報.法人名かなをカナに変換し設定する
			shsKana =
					JFUWebCommon.convFullHiraToFullKataV(keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.HOJINKN_09,
							X31CWebConst.DATABEAN_GET_VALUE));
			// 契約種別が法人の場合、契約者情報.法人名を設定する
			sohusNm = keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.HOJINNM_09, X31CWebConst.DATABEAN_GET_VALUE);
		}
		parentMap.put("shs_kana", shsKana);
		parentMap.put("sohus_nm", sohusNm);

		// 共有フォームBean.契約者情報.郵便番号（上）＋（下） → 請求契約登録マップ.送付先郵便番号
		parentMap.put("sohus_pcd", getKshPcd(keiyakushaInfoBean));

		// 共有フォームBean.契約者情報.都道府県・市区町村 → 請求契約登録マップ.送付先都道府県名
		/*		parentMap.put("sohus_state_nm", getKshState(keiyakushaInfoBean));

				// 共有フォームBean.契約者情報.都道府県・市区町村 → 請求契約登録マップ.送付先市区町村名
				parentMap.put("sohus_city_nm", getKshCity(keiyakushaInfoBean));

				// 共有フォームBean.契約者情報.字 → 請求契約登録マップ.送付先大字通称名
				parentMap.put("sohus_oaztsu_nm", keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KSH_AZA_09, X31CWebConst.DATABEAN_GET_VALUE));

				// 共有フォームBean.契約者情報.丁目・番地等 → 請求契約登録マップ.送付先字丁目名
				parentMap.put("sohus_azcho_nm", getKshCho(keiyakushaInfoBean));

				// 共有フォームBean.契約者情報.丁目・番地等 → 請求契約登録マップ.送付先番地号
				parentMap.put("sohus_bnchigo", getKshBnchi(keiyakushaInfoBean));
		*/
		// 共有フォームBean.契約者情報.建物名 → 請求契約登録マップ.送付先住所補記・建物名
		parentMap.put("sohus_adrttm", keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KSH_TTM_09, X31CWebConst.DATABEAN_GET_VALUE));

		// 共有フォームBean.契約者情報.部屋番号 → 請求契約登録マップ.送付先住所補記・部屋番号
		parentMap.put("sohus_adrrm", keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KSH_RRM_09, X31CWebConst.DATABEAN_GET_VALUE));

		// 共有フォームBean.契約者情報.電話番号（１）＋（２）＋（３） → 請求契約登録マップ.送付先電話番号
		parentMap.put("sohus_telno", getKshTelno(keiyakushaInfoBean));

		// 共有フォームBean.契約者情報.ＦＡＸ連絡希望ＦＡＸ番号（１）＋（２）＋（３） → 請求契約登録マップ.送付先FAX番号
		parentMap.put("sohus_fax_no", getKshFaxno(keiyakushaInfoBean));

		// 共有フォームBean.契約者情報.個人メールアドレスまたは法人メールアドレス → 請求契約登録マップ.送付先メールアドレス
		parentMap.put("sohus_mlad", getKshMlad(keiyakushaInfoBean, keiSbt));

		// ＊＊＊＊ → 請求契約登録マップ.異動区分
		parentMap.put("ido_div", getIdoDiv(webNewInfoBean));

		// ST2-2012-0001437 ------------------------------------------------------------
		parentMap.put("seiky_kei_no", this.getSeikyKeiNo(paywayInfoBean));
		parentMap.put("upd_dtm_seiky_kei", this.getUpdDtmSeikyKei(paywayInfoBean));
		// ST2-2012-0001437 ------------------------------------------------------------

		// -----ST2-2012-0001382(再修正) 2012/08/05 h.iwamoto START-----
		// 支払い方法がクレジットの場合のみ
		// 運用日付 ⇒ 請求契約登録マップ.初回支払申込書受領年月日
		//　ない場合は　空
		if (JFUStrConst.PAYWAY_CREDIT.equals(payway))
		{
			parentMap.put("first_pay_mskmsho_rcp_ymd", opeDate);
		}
		else
		{
			parentMap.put("first_pay_mskmsho_rcp_ymd", "");
		}

		// 初回支払申込書送付要否 (空固定)
		parentMap.put("first_pay_mskmsho_sohu_yh", "");

		// -----ST2-2012-0001382(再修正) 2012/08/05 h.iwamoto END-----

		// 2012/11/06 IT1-2012-0001122 Y.Saitou ADD
		// 契約締結年月日
		parentMap.put("kei_cnc_ymd", opeDate);

		outputMap.put(FUSV016508SC, parentMap);

		return outputMap;
	}

	/**
	 * サービス契約＜eoモバイル＞登録上りマッピングをする(手動生成)
	 * 
	 * <br>
	 * @param bean　[0]：ｅｏモバイル申込内容確認　[1]：共有フォームビーン
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return HashMap
	 */
	public HashMap<String, Object> setFUSV016510SC(X31SDataBeanAccess[] bean, HashMap<String, Object> 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);

		// ＷＥＢ新規情報
		X31SDataBeanAccess webNewInfoBean = getWebNewInfo(bean[1]);
		// ｅｏモバイル
		X31SDataBeanAccess eoMobileBean = getEOMobile(webNewInfoBean);
		// 支払い方法情報
		X31SDataBeanAccess paywayInfoBean = getPaywayInfo(webNewInfoBean);
		// リダイレクト情報
		X31SDataBeanAccess redirectInfoBean = getRedirectInfo(webNewInfoBean);

		// 共有フォームBean.ＷＥＢ新規情報.ｓｙｓＩＤ → サービス契約＜eoモバイル＞登録マップ.SYSID
		parentMap.put("sysid", webNewInfoBean.sendMessageString(CommonInfoCFConst.SYSID_06, X31CWebConst.DATABEAN_GET_VALUE));

		// ＊＊＊＊ → サービス契約＜eoモバイル＞登録マップ.料金グループコード
		parentMap.put("prc_grp_cd", getPrcGrpCd(eoMobileBean));

		// ＊＊＊＊ → サービス契約＜eoモバイル＞登録マップ.料金コースコード
		parentMap.put("pcrs_cd", getPcrsCdSvcKei(eoMobileBean, redirectInfoBean));

		// ＊＊＊＊ → サービス契約＜eoモバイル＞登録マップ.料金プランコード
		parentMap.put("pplan_cd", getPplanCdSvcKei(eoMobileBean, redirectInfoBean));

		// ＊＊＊＊ → サービス契約＜eoモバイル＞登録マップ.異動区分
		parentMap.put("ido_div", getIdoDiv(webNewInfoBean));

		// 共有フォームBean.リダイレクト情報.紹介者コード → サービス契約＜eoモバイル＞登録マップ.紹介コード
		parentMap.put("intr_cd", redirectInfoBean.sendMessageString(CommonInfoCFConst.RED_INTRODUCE_17, X31CWebConst.DATABEAN_GET_VALUE));

		// 共有フォームBean.ｅｏモバイル.ＭＡＣアドレス → サービス契約＜eoモバイル＞登録マップ.MACアドレス
		parentMap.put("macad", eoMobileBean.sendMessageString(CommonInfoCFConst.MAC_ADDRESS_14, X31CWebConst.DATABEAN_GET_VALUE));

		// 共有フォームBean.支払方法情報.請求契約番号 → サービス契約＜eoモバイル＞登録マップ.請求契約番号
		//parentMap.put("seiky_kei_no", paywayInfoBean.sendMessageString(CommonInfoCFConst.SEIKY_KEI_NO_15, X31CWebConst.DATABEAN_GET_VALUE));
		parentMap.put("seiky_kei_no", this.getSeikyKeiNo(paywayInfoBean));

		/* 2012/10/27 Y.Saitou IT1-2012-0001132 ADD */
		// 共有フォームBean.支払方法情報.支払方法引継 → サービス契約内訳＜eoモバイル＞登録WiFiマップ.支払い方法継続フラグ
		parentMap.put("payway_keizoku_flg", paywayInfoBean.sendMessageString(CommonInfoCFConst.PAYWAY_CONTINUE_15, X31CWebConst.DATABEAN_GET_VALUE));

		// 事務手数料自動適用要否
		parentMap.put("rule0059_auto_aply", "1");

		outputMap.put(FUSV016510SC, parentMap);

		return outputMap;
	}

	/**
	 * サービス契約内訳＜eoモバイル＞登録WiFi上りマッピングをする(手動生成)
	 * 
	 * <br>
	 * @param bean　[0]：ｅｏモバイル申込内容確認　[1]：共有フォームビーン
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return HashMap
	 */
	public HashMap<String, Object> setFUSV016511SC(X31SDataBeanAccess[] bean, HashMap<String, Object> 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);

		// ＷＥＢ新規情報
		X31SDataBeanAccess webNewInfoBean = getWebNewInfo(bean[1]);
		// 支払い方法情報
		//		X31SDataBeanAccess paywayInfoBean = getPaywayInfo(webNewInfoBean);

		/* 2012/10/27 Y.Saitou IT1-2012-0001132 DEL-START */
		//		// 共有フォームBean.支払方法情報.支払方法引継 → サービス契約内訳＜eoモバイル＞登録WiFiマップ.支払い方法継続フラグ
		//		parentMap.put("payway_keizoku_flg", paywayInfoBean.sendMessageString(CommonInfoCFConst.PAYWAY_CONTINUE_15, X31CWebConst.DATABEAN_GET_VALUE));
		/* 2012/10/27 Y.Saitou IT1-2012-0001132 DEL-END */

		// ＊＊＊＊ → サービス契約内訳＜eoモバイル＞登録WiFiマップ.異動区分
		parentMap.put("ido_div", getIdoDiv(webNewInfoBean));

		// 共有フォームBean.ＷＥＢ新規情報.ｓｙｓＩＤ → サービス契約内訳＜eoモバイル＞登録WiFiマップ.スポットログインSYSID
		parentMap.put("spot_login_sysid", webNewInfoBean.sendMessageString(CommonInfoCFConst.SYSID_06, X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put(FUSV016511SC, parentMap);

		return outputMap;
	}

	/**
	 * サービス契約内訳＜eoモバイル＞登録２上りマッピングをする(手動生成)
	 * 
	 * <br>
	 * @param bean　[0]：ｅｏモバイル申込内容確認　[1]：共有フォームビーン
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return HashMap
	 * @throws Exception 
	 */
	public HashMap<String, Object> setFUSV016512SC(X31SDataBeanAccess[] bean, HashMap<String, Object> outputMap, String func_code, String opeDateTime)
			throws Exception
	{
		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);

		// ＷＥＢ新規情報
		X31SDataBeanAccess webNewInfoBean = getWebNewInfo(bean[1]);
		// ｅｏモバイル
		//		X31SDataBeanAccess eoMobileBean = getEOMobile(webNewInfoBean);
		// 支払い方法情報
		//		X31SDataBeanAccess paywayInfoBean = getPaywayInfo(webNewInfoBean);
		// リダイレクト情報
		//		X31SDataBeanAccess redirectInfoBean = getRedirectInfo(webNewInfoBean);

		// ＊＊＊＊ → サービス契約内訳＜eoモバイル＞登録２マップ.料金コースコード
		//parentMap.put("pcrs_cd", getPcrsCdSvcKei(eoMobileBean, redirectInfoBean));
		parentMap.put("pcrs_cd", JFUStrConst.CD00134_A46);

		// ＊＊＊＊ → サービス契約内訳＜eoモバイル＞登録２マップ.料金プランコード
		//parentMap.put("pplan_cd", getPplanCdSvcKei(eoMobileBean, redirectInfoBean));
		parentMap.put("pplan_cd", JFUStrConst.CD00565_PA4601);

		/* 2012/10/27 Y.Saitou IT1-2012-0001132 DEL-START */
		//		// 共有フォームBean.支払方法情報.支払方法引継 → サービス契約内訳＜eoモバイル＞登録２マップ.支払い方法継続フラグ
		//		parentMap.put("payway_keizoku_flg", paywayInfoBean.sendMessageString(CommonInfoCFConst.PAYWAY_CONTINUE_15, X31CWebConst.DATABEAN_GET_VALUE));
		/* 2012/10/27 Y.Saitou IT1-2012-0001132 DEL-END */

		// ＊＊＊＊ → サービス契約内訳＜eoモバイル＞登録２マップ.異動区分
		parentMap.put("ido_div", getIdoDiv(webNewInfoBean));

		//		String pcrs_cd = getPcrsCdSvcKei(eoMobileBean, redirectInfoBean);

		// ST2-2012-0001771(ロット1取込) 2012/11/16 削除 h.iwamoto

		outputMap.put(FUSV016512SC, parentMap);

		return outputMap;
	}

	/**
	 * オプションサービス契約＜ISP＞登録上りマッピングをする(手動生成)
	 * 
	 * <br>
	 * @param bean　[0]：ｅｏモバイル申込内容確認　[1]：共有フォームビーン
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return HashMap
	 */
	public HashMap<String, Object> setFUSV016513SC(X31SDataBeanAccess[] bean, HashMap<String, Object> 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);

		// ＷＥＢ新規情報
		X31SDataBeanAccess webNewInfoBean = getWebNewInfo(bean[1]);
		// ｅｏモバイル
		X31SDataBeanAccess eoMobileBean = getEOMobile(webNewInfoBean);
		// 支払い方法情報
		X31SDataBeanAccess paywayInfoBean = getPaywayInfo(webNewInfoBean);
		// リダイレクト情報
		X31SDataBeanAccess redirectInfoBean = getRedirectInfo(webNewInfoBean);

		// ｅｏモバイル.モバイルコース
		//		String mobileCourse = eoMobileBean.sendMessageString(CommonInfoCFConst.MOBILE_COURSE_14, X31CWebConst.DATABEAN_GET_VALUE);

		// ＊＊＊＊ → オプションサービス契約＜ISP＞登録マップ.オプションサービスコード
		String opSvcCd = "";
		String capa = "";
		// ST2-2012-0001615 WiFi単独はオプションサービスを作成しない(EJB側でコントロール) h.iwamoto 2012/08/30 START
		opSvcCd = JFUStrConst.CD00136_B001;
		capa = "200";
		// ST2-2012-0001615 WiFi単独はオプションサービスを作成しない(EJB側でコントロール) h.iwamoto 2012/08/30 END

		parentMap.put("op_svc_cd", opSvcCd);

		// ＊＊＊＊ → オプションサービス契約＜ISP＞登録マップ.料金コースコード
		parentMap.put("pcrs_cd", getPcrsCdOpSvcKei(eoMobileBean, redirectInfoBean));

		// ＊＊＊＊ → オプションサービス契約＜ISP＞登録マップ.料金プランコード
		parentMap.put("pplan_cd", getPplanCdOpSvcKei(eoMobileBean, redirectInfoBean));

		// 共有フォームBean.ＷＥＢ新規情報.ｓｙｓＩＤ → オプションサービス契約＜ISP＞登録マップ.SYSID
		parentMap.put("sysid", webNewInfoBean.sendMessageString(CommonInfoCFConst.SYSID_06, X31CWebConst.DATABEAN_GET_VALUE));

		// ＊＊＊＊ → オプションサービス契約＜ISP＞登録マップ.異動区分
		parentMap.put("ido_div", getIdoDiv(webNewInfoBean));

		// 共有フォームBean.支払方法情報.請求契約番号 → オプションサービス契約＜ISP＞登録マップ.請求契約番号
		parentMap.put("seiky_kei_no", this.getSeikyKeiNo(paywayInfoBean));

		// 暫定（ＩＦの修正待ち）
		//		parentMap.put("kibo_ml_account_1", "dummy1");
		//		parentMap.put("kibo_ml_account_2", "dummy2");
		//		parentMap.put("kibo_ml_account_3", "dummy3");

		// ＊＊＊＊ → 容量
		parentMap.put("capa", capa);

		outputMap.put(FUSV016513SC, parentMap);

		return outputMap;
	}

	/**
	 * サブオプションサービス契約＜ISP＞登録上りマッピングをする(手動生成)
	 * 
	 * <br>
	 * @param bean　[0]：ｅｏモバイル申込内容確認　[1]：共有フォームビーン
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return HashMap
	 */
	public HashMap<String, Object> setFUSV016514SC(X31SDataBeanAccess[] bean, HashMap<String, Object> 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);

		// ＷＥＢ新規情報
		X31SDataBeanAccess webNewInfoBean = getWebNewInfo(bean[1]);
		// 支払い方法情報
		X31SDataBeanAccess paywayInfoBean = getPaywayInfo(webNewInfoBean);

		// ＊＊＊＊ → サブオプションサービス契約＜ISP＞登録マップ.異動区分
		parentMap.put("ido_div", getIdoDiv(webNewInfoBean));

		// 共有フォームBean.支払方法情報.請求契約番号 → サブオプションサービス契約＜ISP＞登録マップ.請求契約番号
		parentMap.put("seiky_kei_no", this.getSeikyKeiNo(paywayInfoBean));

		outputMap.put(FUSV016514SC, parentMap);

		return outputMap;
	}

	/**
	 * サービス契約回線内訳登録上りマッピングをする(手動生成)
	 * 
	 * <br>
	 * @param bean　[0]：ｅｏモバイル申込内容確認　[1]：共有フォームビーン
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return HashMap
	 */
	public HashMap<String, Object> setFUSV016515SC(X31SDataBeanAccess[] bean, HashMap<String, Object> 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);

		// ＷＥＢ新規情報
		X31SDataBeanAccess webNewInfoBean = getWebNewInfo(bean[1]);
		// 契約者情報
		X31SDataBeanAccess keiyakushaInfoBean = getKeiyakushaInfo(webNewInfoBean);
		// ｅｏモバイル
		X31SDataBeanAccess eoMobileBean = getEOMobile(webNewInfoBean);

		// ＷＥＢ新規情報.契約種別
		//		String keiSbt = webNewInfoBean.sendMessageString(CommonInfoCFConst.KEI_SBT_06, X31CWebConst.DATABEAN_GET_VALUE);

		// ｅｏモバイル.モバイルコース
		String mobileCourse = eoMobileBean.sendMessageString(CommonInfoCFConst.MOBILE_COURSE_14, X31CWebConst.DATABEAN_GET_VALUE);

		// ＊＊＊＊ → サービス契約回線内訳登録マップ.回線コード
		String kaisenCd = "";
		if (JFUStrConst.MOBILE_COURSE_WIFI.equals(mobileCourse))
		{
			kaisenCd = JFUStrConst.KAISEN_CD_WIFI;
		}
		else if (JFUStrConst.MOBILE_COURSE_3G_7_2M.equals(mobileCourse) || JFUStrConst.MOBILE_COURSE_3G_21M.equals(mobileCourse)
		// TAI-2012-0000136 2012/12/27 h.iwamoto ハイブリッド抜け落ち対応 START
				|| JFUStrConst.MOBILE_COURSE_3G_HHB.equals(mobileCourse) || JFUStrConst.MOBILE_COURSE_3G_21M_HHB.equals(mobileCourse)
		// TAI-2012-0000136 2012/12/27 h.iwamoto ハイブリッド抜け落ち対応 END
		)
		{
			kaisenCd = JFUStrConst.KAISEN_CD_3G;
		}
		else if (JFUStrConst.MOBILE_COURSE_WIMAX.equals(mobileCourse))
		{
			kaisenCd = JFUStrConst.KAISEN_CD_WIMAX;
		}
		parentMap.put("kaisen_cd", kaisenCd);

		// 共有フォームBean.契約者情報.連絡先電話番号（１）＋（２）＋（３） → サービス契約回線内訳登録マップ.回線場所電話番号
		parentMap.put("kaisen_place_telno", getKshTelno(keiyakushaInfoBean)); // No361 Otsuka 2013/02/15

		/* 2012/10/27 Y.Saitou IT1-2012-0001110 DEL-START */
		//		// ＊＊＊＊ → サービス契約回線内訳登録マップ.回線場所カナ名
		//		String kaisenPlcKana = "";
		//		// WEB新規情報.契約種別によって、個人/法人どちらを設定するか判断する
		//		if (JFUStrConst.CD00036_1.equals(keiSbt))
		//		{
		//			// 契約種別が個人の場合、契約者情報.氏名かな（姓）＋（名）をカナに変換し設定する
		//			kaisenPlcKana = getKshKatakana(keiyakushaInfoBean);
		//		}
		//		else
		//		{
		//			// 契約種別が法人の場合、契約者情報.代表者かな（姓）＋（名）をカナに変換し設定する
		//			kaisenPlcKana = getKshDhsKatakana(keiyakushaInfoBean);
		//		}
		//		parentMap.put("kaisen_plc_kana", kaisenPlcKana);
		/* 2012/10/27 Y.Saitou IT1-2012-0001110 DEL-END */

		// 共有フォームBean.契約者情報.郵便番号（上）＋（下） → サービス契約回線内訳登録マップ.回線場所郵便番号
		parentMap.put("kaisen_place_pcd", getKshPcd(keiyakushaInfoBean));

		// 共有フォームBean.契約者情報.都道府県・市区町村 → サービス契約回線内訳登録マップ.回線場所都道府県名
		/*		parentMap.put("kaisen_place_state_nm", getKshState(keiyakushaInfoBean));

				// 共有フォームBean.契約者情報.都道府県・市区町村 → サービス契約回線内訳登録マップ.回線場所市区町村名
				parentMap.put("kaisen_place_city_nm", getKshCity(keiyakushaInfoBean));

				// 共有フォームBean.契約者情報.字 → サービス契約回線内訳登録マップ.回線場所大字通称名
				parentMap.put("kaisen_place_oaztsu_nm", keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KSH_AZA_09, X31CWebConst.DATABEAN_GET_VALUE));

				// 共有フォームBean.契約者情報.丁目・番地等 → サービス契約回線内訳登録マップ.回線場所字丁目名
				parentMap.put("kaisen_place_azcho_nm", getKshCho(keiyakushaInfoBean));

				// 共有フォームBean.契約者情報.丁目・番地等 → サービス契約回線内訳登録マップ.回線場所番地号
				parentMap.put("kaisen_place_bnchigo", getKshBnchi(keiyakushaInfoBean));
		*/
		// 共有フォームBean.契約者情報.建物名 → サービス契約回線内訳登録マップ.回線場所住所補記・建物名
		parentMap.put("kaisen_place_adrttm", keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KSH_TTM_09, X31CWebConst.DATABEAN_GET_VALUE));

		// 共有フォームBean.契約者情報.部屋番号 → サービス契約回線内訳登録マップ.回線場所住所補記・部屋番号
		parentMap.put("kaisen_place_adrrm", keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KSH_RRM_09, X31CWebConst.DATABEAN_GET_VALUE));

		// ＊＊＊＊ → サービス契約回線内訳登録マップ.回線提供会社コード
		String kaisenTkCompCd = "";
		if (JFUStrConst.MOBILE_COURSE_3G_7_2M.equals(mobileCourse) || JFUStrConst.MOBILE_COURSE_3G_21M.equals(mobileCourse)
				|| JFUStrConst.MOBILE_COURSE_3G_HHB.equals(mobileCourse) || JFUStrConst.MOBILE_COURSE_3G_21M_HHB.equals(mobileCourse))
		{
			// 2012.10.24 baba IT1-2012-0001556
			// 条件文に光ハイブリッドを追加
			kaisenTkCompCd = JFUStrConst.KAISEN_TK_COMP_CD_EMOBILE;
		}
		else if (JFUStrConst.MOBILE_COURSE_WIMAX.equals(mobileCourse))
		{
			kaisenTkCompCd = JFUStrConst.KAISEN_TK_COMP_CD_UQWIMAX;
		}
		parentMap.put("kaisen_tk_comp_cd", kaisenTkCompCd);

		// 空のリスト作成
		HashMap<String, String> childMap = new HashMap<String, String>();
		childMap.put("svc_kei_no", " ");
		ArrayList<HashMap<String, String>> list = new ArrayList<HashMap<String, String>>();
		list.add(childMap);
		parentMap.put("EKK0251D010CBSMsg1List", list);

		// ↓↓ 不足項目の追加 ↓↓

		// 2013/02/22 Fujiwara Mod Start
		//		// 回線場所住所未確定フラグ："0"（確定）
		parentMap.put("kisn_plc_ad_mi_fix_flg", "0");
		//		// 回線場所＿契約者住所差異フラグ："0"（差異なし）
		//		parentMap.put("kaisen_plc_ksh_ad_sai_flg", "0");
		// 2013/02/22 Fujiwara Mod End

		// 回線場所住所確定後変更可否
		//		parentMap.put("kisn_plc_ad_fix_af_chge_kh", JFUStrConst.CD00003_0); なくなった項目のためコメントアウト
		// 2013/03/06 Fujiwara Mod Start
		// -----ST2-2012-0001342 2012/07/05 h.iwamoto START-----
		// お客様申告住所未確定フラグ
		//		parentMap.put("cust_skk_ad_mi_fix_flg", JFUStrConst.S_ZERO);
		// -----ST2-2012-0001342 2012/07/05 h.iwamoto END-----

		/* 2012/10/29 Y.Saitou IT1-2012-0001582 ADD-START */
		// 回線場所区画整理中フラグ
		//		parentMap.put("kisn_plc_kkk_seiri_chu_flg", "0");
		/* 2012/10/29 Y.Saitou IT1-2012-0001582 ADD-END */
		// 2013/03/06 Fujiwara Mod End
		// ↑↑ 不足項目の追加 ↑↑
		outputMap.put(FUSV016515SC, parentMap);

		return outputMap;
	}

	/**
	 * 機器提供サービス契約登録上りマッピングをする(手動生成)
	 * 
	 * <br>
	 * @param bean　[0]：ｅｏモバイル申込内容確認　[1]：共有フォームビーン
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return HashMap
	 * @throws Exception 
	 */
	public HashMap<String, Object> setFUSV016516SC(X31SDataBeanAccess[] bean, HashMap<String, Object> outputMap, String func_code) throws Exception
	{
		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		// TAI-2012-0000136 2012/12/27 h.iwamoto ハイブリッド抜け落ち対応 START
		//		HashMap<String, Object> parentMap = new HashMap<String, Object>();
		//
		//		// 共通情報のマッピング
		//		parentMap.put(FUNC_CODE, func_code);
		// TAI-2012-0000136 2012/12/27 h.iwamoto ハイブリッド抜け落ち対応 END

		// ＷＥＢ新規情報
		X31SDataBeanAccess webNewInfoBean = getWebNewInfo(bean[1]);
		// 契約者情報
		X31SDataBeanAccess keiyakushaInfoBean = getKeiyakushaInfo(webNewInfoBean);
		// ｅｏモバイル
		X31SDataBeanAccess eoMobileBean = getEOMobile(webNewInfoBean);
		// 支払い方法情報
		X31SDataBeanAccess paywayInfoBean = getPaywayInfo(webNewInfoBean);
		// リダイレクト情報
		X31SDataBeanAccess redirectInfoBean = getRedirectInfo(webNewInfoBean);
		// その他情報
		X31SDataBeanAccess bnElseinfo = getElseInfo(webNewInfoBean);

		// ＷＥＢ新規情報.契約種別
		String keiSbt = webNewInfoBean.sendMessageString(CommonInfoCFConst.KEI_SBT_06, X31CWebConst.DATABEAN_GET_VALUE);

		// TAI-2012-0000136 2012/12/27 h.iwamoto ハイブリッド抜け落ち対応 START
		int mobileCnt = 1;
		if (eoMobileBean.sendMessageString(CommonInfoCFConst.MOBILE_COURSE_14, X31CWebConst.DATABEAN_GET_VALUE).equals(
				JFUStrConst.MOBILE_COURSE_3G_HHB))
		{
			// 7.2Mハイブリッドのみクレードルが発生する2件作る
			mobileCnt = 2;
		}
		// TAI-2012-0000136 2012/12/27 h.iwamoto ハイブリッド抜け落ち対応 END

		// TAI-2012-0000136 2012/12/27 h.iwamoto ハイブリッド抜け落ち対応 START
		// 補足：0配列目⇒本体
		//       1配列目⇒クレードル(7.2Mハイブリッドのみ)
		for (int i = 0; i < mobileCnt; i++)
		{
			HashMap<String, Object> parentMap = new HashMap<String, Object>();

			// 共通情報のマッピング
			parentMap.put(FUNC_CODE, func_code);

			// TAI-2012-0000136 2012/12/27 h.iwamoto ハイブリッド抜け落ち対応 START
			// 下の処理で実装あるため不要
			//		// ｅｏモバイル.モバイルコース
			//		String mobileCourse = eoMobileBean.sendMessageString(CommonInfoCFConst.MOBILE_COURSE_14, X31CWebConst.DATABEAN_GET_VALUE);

			//		// ＊＊＊＊ → 機器提供サービス契約登録マップ.機器提供サービスコード
			//		String kktkSvcCd = "";
			//		if (JFUStrConst.MOBILE_COURSE_3G_7_2M.equals(mobileCourse) || JFUStrConst.MOBILE_COURSE_3G_21M.equals(mobileCourse))
			//		{
			//			kktkSvcCd = JFUStrConst.KK0771_KKTK_SVC_CD_C016;
			//		}
			//		else if (JFUStrConst.MOBILE_COURSE_WIMAX.equals(mobileCourse))
			//		{
			//			kktkSvcCd = JFUStrConst.KK0771_KKTK_SVC_CD_C017;
			//		}
			//		parentMap.put("kktk_svc_cd", kktkSvcCd);

			if (i == 0)
			{
				// 機器本体の場合のみ

				// ＊＊＊＊ → 機器提供サービス契約登録マップ.料金コースコード
				parentMap.put("pcrs_cd", getPcrsCdKktkSvcKei(eoMobileBean, redirectInfoBean));

				// ＊＊＊＊ → 機器提供サービス契約登録マップ.料金プランコード
				parentMap.put("pplan_cd", getPplanCdKktkSvcKei(eoMobileBean, redirectInfoBean));
			}

			// 下の処理で実装あるため不要
			//		// ＊＊＊＊ → 機器提供サービス契約登録マップ.宅内機器種別コード
			//		String taknkikiSbtCd = "";
			//		if (JFUStrConst.MOBILE_COURSE_3G_7_2M.equals(mobileCourse) || JFUStrConst.MOBILE_COURSE_3G_21M.equals(mobileCourse))
			//		{
			//			taknkikiSbtCd = JFUStrConst.TKNI_KIKI_SBT_CD_EMOBILE;
			//		}
			//		else if (JFUStrConst.MOBILE_COURSE_WIMAX.equals(mobileCourse))
			//		{
			//			taknkikiSbtCd = JFUStrConst.TKNI_KIKI_SBT_CD_UQ;
			//		}
			//		parentMap.put("taknkiki_sbt_cd", taknkikiSbtCd);
			// TAI-2012-0000136 2012/12/27 h.iwamoto ハイブリッド抜け落ち対応 END

			// 共有フォームBean.ＷＥＢ新規情報.ｓｙｓＩＤ → 機器提供サービス契約登録マップ.SYSID
			parentMap.put("sysid", webNewInfoBean.sendMessageString(CommonInfoCFConst.SYSID_06, X31CWebConst.DATABEAN_GET_VALUE));

			// ＊＊＊＊ → 機器提供サービス契約登録マップ.機器送付先名
			// ＊＊＊＊ → 機器提供サービス契約登録マップ.機器送付先カナ名
			String kikiSohusNm = "";
			String kikiSohusKana = "";
			// WEB新規情報.契約種別によって、個人/法人どちらを設定するか判断する
			if (JFUStrConst.CD00036_1.equals(keiSbt))
			{
				// 契約種別が個人の場合、契約者情報.氏名（姓）＋（名）を設定する
				kikiSohusNm = getKshNm(keiyakushaInfoBean);
				// 契約種別が個人の場合、契約者情報.氏名かな（姓）＋（名）をカナに変換し設定する
				kikiSohusKana = getKshKatakana(keiyakushaInfoBean);
			}
			else
			{
				// 契約種別が法人の場合、契約者情報.法人名を設定する
				kikiSohusNm = keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.HOJINNM_09, X31CWebConst.DATABEAN_GET_VALUE);
				// 契約種別が法人の場合、契約者情報.法人名かなをカナに変換し設定する
				kikiSohusKana =
						JFUWebCommon.convFullHiraToFullKataV(keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.HOJINKN_09,
								X31CWebConst.DATABEAN_GET_VALUE));
			}

			parentMap.put("kiki_sohus_nm", kikiSohusNm);
			parentMap.put("kiki_sohus_kana", kikiSohusKana);

			// 20121102 IT1-2012-0001784 Y.Saitou DEL
			//parentMap.put("kiki_stc_saki_nm", kikiSohusNm);

			// 20121102 IT1-2012-0001783 yamashita DEL
			//parentMap.put("kiki_stc_saki_kana", kikiSohusKana);

			// 共有フォームBean.ｅｏモバイル.機器送付先・郵便番号（上）＋（下） → 機器提供サービス契約登録マップ.機器送付先郵便番号
			parentMap.put("kiki_sohus_pcd", getMobileKikiSohuPcd(eoMobileBean));

			// 共有フォームBean.ｅｏモバイル.機器送付先・府県・市区町村 → 機器提供サービス契約登録マップ.機器送付先都道府県名
			/*		parentMap.put("kiki_sohus_state_nm", getMobileKikiSohuState(eoMobileBean));
			
					// 共有フォームBean.ｅｏモバイル.機器送付先・府県・市区町村 → 機器提供サービス契約登録マップ.機器送付先市区町村名
					parentMap.put("kiki_sohus_city_nm", getMobileKikiSohuCity(eoMobileBean));
			
					// 共有フォームBean.ｅｏモバイル.機器送付先・字 → 機器提供サービス契約登録マップ.機器送付先大字通称名
					parentMap.put("kiki_sohus_oaztsu_nm", eoMobileBean.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_SOHU_AZA_14,
							X31CWebConst.DATABEAN_GET_VALUE));
			
					// 共有フォームBean.ｅｏモバイル.機器送付先・丁目・番地等 → 機器提供サービス契約登録マップ.機器送付先字丁目名
					parentMap.put("kiki_sohus_azcho_nm", getMobileKikiSohuCho(eoMobileBean));
			
					// 共有フォームBean.ｅｏモバイル.機器送付先・丁目・番地等 → 機器提供サービス契約登録マップ.機器送付先番地号
					parentMap.put("kiki_sohus_bnchigo", getMobileKikiSohuBnchi(eoMobileBean));
			*/
			// 共有フォームBean.ｅｏモバイル.機器送付先・建物名 → 機器提供サービス契約登録マップ.機器送付先住所補記・建物名
			parentMap.put("kiki_sohus_adrttm", eoMobileBean.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_SOHU_TTM_14,
					X31CWebConst.DATABEAN_GET_VALUE));

			// 共有フォームBean.ｅｏモバイル.機器送付先・部屋番号 → 機器提供サービス契約登録マップ.機器送付先住所補記・部屋番号
			parentMap.put("kiki_sohus_adrrm", eoMobileBean.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_SOHU_RRM_14,
					X31CWebConst.DATABEAN_GET_VALUE));

			// 共有フォームBean.ｅｏモバイル.機器送付先・電話番号（１）＋（２）＋（３） → 機器提供サービス契約登録マップ.機器送付先電話番号
			parentMap.put("kiki_sohus_telno", getMobileKikiSohuTelno(eoMobileBean));

			// ＊＊＊＊ → 機器提供サービス契約登録マップ.異動区分
			parentMap.put("ido_div", getIdoDiv(webNewInfoBean));

			// 共有フォームBean.支払方法情報.請求契約番号 → 機器提供サービス契約登録マップ.請求契約番号
			parentMap.put("seiky_kei_no", this.getSeikyKeiNo(paywayInfoBean));

			// ↓↓ 不足項目の追加 ↓↓

			// 機器送付先＿契約者住所差異フラグ
			// No312 Otsuka 2013/01/28 start
			String mobKkSbt = eoMobileBean.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_SOHU_SBT_14, X31CWebConst.DATABEAN_GET_VALUE);
			// 契約者住所と同じの場合
			if (JFUStrConst.MOBILE_KIKI_SHOU_SBT_KEIYAKUSYA.equals(mobKkSbt))
			{
				// 差異なし
				mobKkSbt = JFUStrConst.KK0341_KIKI_SOHUS_KSH_AD_SAI_FLG_0;
			}
			else
			{
				// 差異あり
				mobKkSbt = JFUStrConst.KK0341_KIKI_SOHUS_KSH_AD_SAI_FLG_1;
			}

			// 機器送付先＿契約者住所差異フラグ
			parentMap.put("kiki_sohus_ksh_ad_sai_flg", mobKkSbt);
			// No312 Otsuka 2013/01/28 end

			// 親契約識別コード
			parentMap.put("oya_kei_skbt_cd", JFUStrConst.CD00804_01);
			// 宅内機器種別コード
			parentMap.put("taknkiki_sbt_cd", JFUStrConst.TKNI_KIKI_SBT_CD_H0);

			String taknkikiModelCd = "";
			// 宅内機器型式コードの判定（FUW00114の定義を使用）
			if (eoMobileBean.sendMessageString(CommonInfoCFConst.MOBILE_COURSE_14, X31CWebConst.DATABEAN_GET_VALUE).equals(
					JFUStrConst.MOBILE_COURSE_3G_21M))
			{
				// ■3G21Mの場合
				// 機器提供サービスコード
				parentMap.put("kktk_svc_cd", JFUStrConst.KK0771_KKTK_SVC_CD_C016);
				// 宅内機器種別コード
				parentMap.put("taknkiki_sbt_cd", JFUStrConst.TKNI_KIKI_SBT_CD_H0);
				// ルータタイプの場合
				if (eoMobileBean.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_14, X31CWebConst.DATABEAN_GET_VALUE).equals(
						JFUStrConst.MOBILE_KIKI_ROUTER))
				{
					// 宅内機器型式コード
					taknkikiModelCd = JFUWebCommon.getDispText(JFUScreenConst.SCREEN_ID_FUW00114, "TKNKK_MDL_CD_1");
				}
				// USBタイプの場合
				if (eoMobileBean.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_14, X31CWebConst.DATABEAN_GET_VALUE).equals(
						JFUStrConst.MOBILE_KIKI_USB))
				{
					// 宅内機器型式コード
					taknkikiModelCd = JFUWebCommon.getDispText(JFUScreenConst.SCREEN_ID_FUW00114, "TKNKK_MDL_CD_2");
				}
			}
			else if (eoMobileBean.sendMessageString(CommonInfoCFConst.MOBILE_COURSE_14, X31CWebConst.DATABEAN_GET_VALUE).equals(
					JFUStrConst.MOBILE_COURSE_3G_7_2M))
			{
				// ■3G7.2Mの場合
				// 機器提供サービスコード
				parentMap.put("kktk_svc_cd", JFUStrConst.KK0771_KKTK_SVC_CD_C016);
				// 宅内機器種別コード
				parentMap.put("taknkiki_sbt_cd", JFUStrConst.TKNI_KIKI_SBT_CD_H0);
				// ルータタイプの場合
				if (eoMobileBean.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_14, X31CWebConst.DATABEAN_GET_VALUE).equals(
						JFUStrConst.MOBILE_KIKI_ROUTER))
				{
					// 宅内機器型式コード
					taknkikiModelCd = JFUWebCommon.getDispText(JFUScreenConst.SCREEN_ID_FUW00114, "TKNKK_MDL_CD_3");
				}
				// USBタイプの場合
				if (eoMobileBean.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_14, X31CWebConst.DATABEAN_GET_VALUE).equals(
						JFUStrConst.MOBILE_KIKI_USB))
				{
					// 宅内機器型式コード
					taknkikiModelCd = JFUWebCommon.getDispText(JFUScreenConst.SCREEN_ID_FUW00114, "TKNKK_MDL_CD_4");
				}

			}
			else if (eoMobileBean.sendMessageString(CommonInfoCFConst.MOBILE_COURSE_14, X31CWebConst.DATABEAN_GET_VALUE).equals(
					JFUStrConst.MOBILE_COURSE_WIMAX)
					&& redirectInfoBean.sendMessageString(CommonInfoCFConst.RED_WIMAXROM_17, X31CWebConst.DATABEAN_GET_VALUE).equals(
							JFUStrConst.WIMAXROM_BLACK))
			{
				// ■WiMAX黒ROMの場合
				// 機器提供サービスコード
				parentMap.put("kktk_svc_cd", JFUStrConst.KK0771_KKTK_SVC_CD_C017);
				// 宅内機器種別コード
				parentMap.put("taknkiki_sbt_cd", JFUStrConst.TKNI_KIKI_SBT_CD_UQ);
				// ルータタイプの場合
				if (eoMobileBean.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_14, X31CWebConst.DATABEAN_GET_VALUE).equals(
						JFUStrConst.MOBILE_KIKI_ROUTER))
				{
					// 宅内機器型式コード
					taknkikiModelCd = JFUWebCommon.getDispText(JFUScreenConst.SCREEN_ID_FUW00114, "TKNKK_MDL_CD_5");
				}
				// USBタイプの場合
				if (eoMobileBean.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_14, X31CWebConst.DATABEAN_GET_VALUE).equals(
						JFUStrConst.MOBILE_KIKI_USB))
				{
					// 宅内機器型式コード
					taknkikiModelCd = JFUWebCommon.getDispText(JFUScreenConst.SCREEN_ID_FUW00114, "TKNKK_MDL_CD_6");
				}
			}
			// TAI-2012-0000136 2012/12/27 h.iwamoto ハイブリッド抜け落ち対応 START
			else if (eoMobileBean.sendMessageString(CommonInfoCFConst.MOBILE_COURSE_14, X31CWebConst.DATABEAN_GET_VALUE).equals(
					JFUStrConst.MOBILE_COURSE_3G_HHB))
			{
				// ■7.2Mハイブリッドの場合
				if (i == 0)
				{
					// □本体
					// 機器提供サービスコード
					parentMap.put("kktk_svc_cd", JFUStrConst.KK0771_KKTK_SVC_CD_C016);
					// 宅内機器種別コード
					parentMap.put("taknkiki_sbt_cd", JFUStrConst.TKNI_KIKI_SBT_CD_H0);
					// 宅内機器型式コード
					taknkikiModelCd = JFUWebCommon.getDispText(JFUScreenConst.SCREEN_ID_FUW00114, "TKNKK_MDL_CD_7");
				}
				else
				{
					// □クレードル
					// 料金コースコード C37
					parentMap.put("pcrs_cd", JFUStrConst.CD00134_C37);
					// 料金プランコード PC3701
					parentMap.put("pplan_cd", JFUStrConst.CD00565_PC3701);
					// 機器提供サービスコード
					parentMap.put("kktk_svc_cd", JFUStrConst.KK0771_KKTK_SVC_CD_C020);
					// 宅内機器種別コード
					parentMap.put("taknkiki_sbt_cd", JFUStrConst.CD01262_L0); // 【TAI-2013-0000007】クレードル宅内型式種別コード修正
					// 宅内機器型式コード
					taknkikiModelCd = JFUWebCommon.getDispText(JFUScreenConst.SCREEN_ID_FUW00114, "TKNKK_MDL_CD_8");
				}
			}
			else if (eoMobileBean.sendMessageString(CommonInfoCFConst.MOBILE_COURSE_14, X31CWebConst.DATABEAN_GET_VALUE).equals(
					JFUStrConst.MOBILE_COURSE_3G_21M_HHB))
			{
				// ■21Mハイブリッドの場合
				// 機器提供サービスコード
				parentMap.put("kktk_svc_cd", JFUStrConst.KK0771_KKTK_SVC_CD_C016);
				// 宅内機器種別コード
				parentMap.put("taknkiki_sbt_cd", JFUStrConst.TKNI_KIKI_SBT_CD_H0);
				// 宅内機器型式コード
				taknkikiModelCd = JFUWebCommon.getDispText(JFUScreenConst.SCREEN_ID_FUW00114, "TKNKK_MDL_CD_9");
			}

			// TAI-2012-0000136 2012/12/27 h.iwamoto ハイブリッド抜け落ち対応 END
			// 宅内機器型式コード
			parentMap.put("taknkiki_model_cd", taknkikiModelCd);

			// TODO 機器引当指定倉庫コード("000001")
			parentMap.put("kiki_hkat_shitei_soko_cd", "000001");
			// 機器引当指定倉庫棚コード("000")
			parentMap.put("kiki_hkat_shitei_skdn_cd", bnElseinfo.sendMessageString(CommonInfoCFConst.SHELF_CD_18, X31CWebConst.DATABEAN_GET_VALUE));

			/* 2013/02/14 KT1-2013-0000162 Y.Saitou DEL */

			// 住所未確定フラグ："0"（確定）
			parentMap.put("ad_mi_fix_flg", "0");
			// 機器送付先個別指定フラグ
			parentMap.put("kiki_shs_kbt_shitei_flg", JFUStrConst.KK0341_KIKI_SHS_KBT_SHITEI_FLG_1);
			// 販売種別コード
			parentMap.put("hambai_sbt_cd", JFUStrConst.CD00348_10);
			// 機器設置先住所確定後変更可否
			parentMap.put("kiki_sts_ad_fix_af_chge_kh", "0");
			// ↑↑ 不足項目の追加 ↑↑

			// 機器送付先住所手動入力フラグ 手動でない を設定 2012.09.04 Otsuka
			parentMap.put("kiki_shs_ad_man_input_flg", JFUStrConst.CD01239_0);

			// TAI-2012-0000136 2012/12/27 h.iwamoto ハイブリッド抜け落ち対応 START
			if (i == 0)
			{
				// 本体登録用
				outputMap.put(FUSV016516SC, parentMap);
			}
			else
			{
				// 7.2Mハイブリッドのクレードル登録用
				outputMap.put(FUSV016529SC, parentMap);
			}
			// TAI-2012-0000136 2012/12/27 h.iwamoto ハイブリッド抜け落ち対応 END
		}
		// TAI-2012-0000136 2012/12/27 h.iwamoto ハイブリッド抜け落ち対応 END

		return outputMap;
	}

	/**
	 * お客様情報をマッピングする
	 * 
	 * <br>
	 * @param bean　[0]：ｅｏモバイル申込内容確認　[1]：共有フォームビーン
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return HashMap
	 */
	public HashMap<String, Object> setFUSV016530SC(X31SDataBeanAccess[] bean, HashMap<String, Object> 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);

		// ＷＥＢ新規情報
		X31SDataBeanAccess webNewInfoBean = getWebNewInfo(bean[1]);

		// 共有フォームBean.ＷＥＢ新規情報.ｓｙｓＩＤ → お客様情報照会.KEY_SYSID
		parentMap.put("key_sysid", webNewInfoBean.sendMessageString(CommonInfoCFConst.SYSID_06, X31CWebConst.DATABEAN_GET_VALUE));

		ArrayList<HashMap> arrayList = new ArrayList<HashMap>();
		arrayList = new ArrayList<HashMap>();
		arrayList.add(new HashMap());
		parentMap.put("ECK0011B504CBSMsg1List", arrayList);
				
		outputMap.put(FUSV016530SC, parentMap);

		return outputMap;
	}
	
	/**
	 * 進捗登録上りマッピングをする(手動生成)
	 * 
	 * <br>
	 * @param bean　[0]：ｅｏモバイル申込内容確認　[1]：共有フォームビーン
	 * @param outputMap
	 * @param func_code　機能コード
	 * @param opeDateTimeStamp 運用年月日時分秒
	 * @return HashMap
	 */
	public HashMap<String, Object> setFUSV016517SC(X31SDataBeanAccess[] bean, HashMap<String, Object> outputMap, String func_code,
			String opeDateTimeStamp)
	{
		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);

		// ＷＥＢ新規情報
		X31SDataBeanAccess webNewInfoBean = getWebNewInfo(bean[1]);
		// 支払い方法情報
		X31SDataBeanAccess paywayInfoBean = getPaywayInfo(webNewInfoBean);

		// No313 2013/01/26 Otsuka 進捗の請求契約番号は設定しない
		// 共有フォームBean.支払方法情報.請求契約番号 → 機器提供サービス契約登録マップ.請求契約番号
		//		parentMap.put("seiky_kei_no", this.getSeikyKeiNo(paywayInfoBean));

		// 共有フォームBean.支払い方法情報.請求方法番号（クレジットカード） → 請求契約登録マップ.請求方法番号（クレジットカード）
		parentMap.put("seiky_way_no_crecard", paywayInfoBean.sendMessageString(CommonInfoCFConst.SEIKY_WAY_NO_CRECARD_15,
				X31CWebConst.DATABEAN_GET_VALUE));

		// ＊＊＊＊ → 機器提供サービス契約登録マップ.異動区分
		parentMap.put("ido_div", getIdoDiv(webNewInfoBean));

		ArrayList<HashMap<String, String>> dummyList = new ArrayList<HashMap<String, String>>();
		HashMap<String, String> childMap = new HashMap<String, String>();
		childMap.put("ido_rsn_cd", " ");
		dummyList.add(childMap);
		parentMap.put("EKK1091D010CBSMsg1List", dummyList);

		// 運用年月日時分秒 → 進捗登録.異動年月日時分秒
		// TAI-2011-0000035 2012/03/18 h.iwamoto START
		//		parentMap.put("ido_dtm", JFUWebCommon.getSysDateTimeStamp());
		parentMap.put("ido_dtm", JFUWebCommon.getSysDateTimeStamp());
		// TAI-2011-0000035 2012/03/18 h.iwamoto START

		// ↓↓ 不足項目の追加 ↓↓
		// 進捗ステータス
		parentMap.put("prg_stat", JFUStrConst.CD00647_0100);

		// ↑↑ 不足項目の追加 ↑↑

		// 進捗特記事項１
		parentMap.put("prg_tkjk_1", opeDateTimeStamp.substring(0, 14));

		outputMap.put(FUSV016517SC, parentMap);

		return outputMap;
	}

	/**
	 * メール送信情報登録上りマッピングをする
	 * 
	 * <br>
	 * @param bean　[0]：ｅｏモバイル申込内容確認　[1]：共有フォームビーン
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return HashMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap<String, Object> setFUSV016518SC(X31SDataBeanAccess[] bean, HashMap<String, Object> outputMap, String func_code)
	{

		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		X31SDataBeanAccessArray arraybean = null;
		X31SDataBeanAccess beanTemp = null;
		ArrayList list = null;

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		// お客様向けメールコード → メール送信情報登録マップ.メールコード
		parentMap.put("mail_cd", bean[0].sendMessageString("お客様向けメールコード", X31CWebConst.DATABEAN_GET_VALUE));
		// メール送信パターンコード
		parentMap.put("mail_send_pattern_cd", JFUStrConst.CD00789_01);
		
		beanTemp = bean[0];
		arraybean = beanTemp.getDataBeanArray("お客様向けメール送信先リスト");
		if (parentMap.containsKey("ECC0021D010CBSMsg1List"))
		{
			list = (ArrayList)parentMap.get("ECC0021D010CBSMsg1List");
		}
		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;
				if (list.size() - 1 >= i)
				{
					childMap = (HashMap)list.get(i);
				}
				else
				{
					childMap = new HashMap();
				}

				// お客様向けメール送信先リスト.送信先メールアドレス → メール送信情報登録マップ.送信先一覧明細.送信先メールアドレス
				if (subbean != null)
				{
					childMap.put("mlad", subbean.sendMessageString("送信先メールアドレス", X31CWebConst.DATABEAN_GET_VALUE));
				}
				// お客様向けメール送信先リスト.メールアドレス設定フィールドコード →
				// メール送信情報登録マップ.送信先一覧明細.メールアドレス設定フィールドコード
				if (subbean != null)
				{
					childMap.put("mlad_set_field_cd", subbean.sendMessageString("メールアドレス設定フィールドコード", X31CWebConst.DATABEAN_GET_VALUE));
				}

				list.add(childMap);
			}
		}
		parentMap.put("ECC0021D010CBSMsg1List", list);

		beanTemp = bean[0];
		arraybean = beanTemp.getDataBeanArray("お客様向けメール本文非定型文字列リスト");
		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;
				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("本文非定型置換文字", X31CWebConst.DATABEAN_GET_VALUE));
				}

				list.add(childMap);
			}
		}
		parentMap.put("ECC0021D010CBSMsg2List", list);

		// 空のリスト作成
		ArrayList<HashMap> arrayList = new ArrayList<HashMap>();
		parentMap.put("ECC0021D010CBSMsg3List", arrayList);

		beanTemp = bean[0];
		arraybean = beanTemp.getDataBeanArray("お客様向けメール明細一覧リスト");
		if (parentMap.containsKey("ECC0021D010CBSMsg4List"))
		{
			list = (ArrayList)parentMap.get("ECC0021D010CBSMsg4List");
		}
		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;
				if (list.size() - 1 >= i)
				{
					childMap = (HashMap)list.get(i);
				}
				else
				{
					childMap = new HashMap();
				}

				// お客様向けメール明細一覧リスト.メール明細コード → メール送信情報登録マップ.メール明細一覧明細.メール明細コード
				if (subbean != null)
				{
					childMap.put("mail_dtl_cd", subbean.sendMessageString("メール明細コード", X31CWebConst.DATABEAN_GET_VALUE));
				}
				// お客様向けメール明細一覧リスト.明細本文非定型置換文字 →
				// メール送信情報登録マップ.メール明細一覧明細.明細本文非定型置換文字
				if (subbean != null)
				{
					childMap.put("dtl_text_htk_ckam_moji", subbean.sendMessageString("明細本文非定型置換文字", X31CWebConst.DATABEAN_GET_VALUE));
				}

				list.add(childMap);
			}
		}
		parentMap.put("ECC0021D010CBSMsg4List", list);

		// 空のリスト作成
		arrayList = new ArrayList<HashMap>();
		parentMap.put("ECC0021D010CBSMsg5List", arrayList);

		outputMap.put(JFUMskmFinMail.FUSV027801CC, parentMap);

		return outputMap;
	}

	/**
	 * 住所情報分割マップ（契約者住所）上りマッピングをする(手動生成)
	 * 
	 * <br>
	 * @param bean　[0]：ｅｏモバイル申込内容確認　[1]：共有フォームビーン
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return HashMap
	 */
	public HashMap<String, Object> setFUSV016520CC(X31SDataBeanAccess[] bean, HashMap<String, Object> 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);

		// ＷＥＢ新規情報
		X31SDataBeanAccess webNewInfoBean = getWebNewInfo(bean[1]);
		// 契約者情報
		X31SDataBeanAccess keiyakushaInfoBean = getKeiyakushaInfo(webNewInfoBean);

		// 共有フォームBean.ご契約者情報.都道府県・市区町村 → 住所情報分割マップ.都道府県・市区町村
		parentMap.put("state_city", keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KSH_STATE_09, X31CWebConst.DATABEAN_GET_VALUE));

		// 共有フォームBean.ご契約者情報.請求方法番号（クレジットカード） → 住所情報分割マップ.字
		parentMap.put("aza", keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KSH_AZA_09, X31CWebConst.DATABEAN_GET_VALUE));

		// 共有フォームBean.ご契約者情報.請求方法番号（クレジットカード） → 住所情報分割マップ.丁目・番地
		parentMap.put("chome_bnchi", keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KSH_CHO_BNCHI_09, X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put(FUSV016520CC, parentMap);

		return outputMap;
	}

	/**
	 * 住所情報分割マップ（機器送付先住所）上りマッピングをする(手動生成)
	 * 
	 * <br>
	 * @param bean　[0]：ｅｏモバイル申込内容確認　[1]：共有フォームビーン
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return HashMap
	 */
	public HashMap<String, Object> setFUSV016521CC(X31SDataBeanAccess[] bean, HashMap<String, Object> 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);

		// ＷＥＢ新規情報
		X31SDataBeanAccess webNewInfoBean = getWebNewInfo(bean[1]);
		// ｅｏモバイル
		X31SDataBeanAccess eoMobileBean = getEOMobile(webNewInfoBean);

		// 共有フォームBean.ご契約者情報.都道府県・市区町村 → 住所情報分割マップ.都道府県・市区町村
		parentMap
				.put("state_city", eoMobileBean.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_SOHU_STATE_CITY_14, X31CWebConst.DATABEAN_GET_VALUE));

		// 共有フォームBean.ご契約者情報.請求方法番号（クレジットカード） → 住所情報分割マップ.字
		parentMap.put("aza", eoMobileBean.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_SOHU_AZA_14, X31CWebConst.DATABEAN_GET_VALUE));

		// 共有フォームBean.ご契約者情報.請求方法番号（クレジットカード） → 住所情報分割マップ.丁目・番地
		parentMap
				.put("chome_bnchi", eoMobileBean.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_SOHU_CHO_BNCHI_14, X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("FUSV016521CC", parentMap);

		return outputMap;
	}

	/**
	 * 申込書番号採番上りマッピングをする(手動生成)
	 * 
	 * <br>
	 * @param bean　[0]：ｅｏモバイル申込内容確認　[1]：共有フォームビーン
	 * @param outputMap
	 * @param func_code　機能コード
	 * @param opeDate 年月日
	 * @return HashMap
	 */
	public HashMap<String, Object> setFUSV016519SC(X31SDataBeanAccess[] bean, HashMap<String, Object> outputMap, String func_code, String opeDate)
	{
		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);

		// ＷＥＢ新規情報
		X31SDataBeanAccess webNewInfoBean = getWebNewInfo(bean[1]);
		// 契約者情報
		X31SDataBeanAccess keiyakushaInfoBean = getKeiyakushaInfo(webNewInfoBean);

		// 共有フォームBean.ご契約者情報.都道府県・市区町村 → 住所情報分割マップ.都道府県・市区町村
		parentMap.put("state_city", keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KSH_STATE_09, X31CWebConst.DATABEAN_GET_VALUE));

		// 20120925 Otsuka 修正 start
		// ST2-2012-0000356 2012/03/04 h.iwamoto START
		//		parentMap.put("mskm_kaisen_svc", "1");
		//		parentMap.put("mskm_kaisen_svc", "4");
		// ST2-2012-0000356 2012/03/04 h.iwamoto END

		// 申込形態コード
		parentMap.put("mskm_form_cd", JFUStrConst.CD00591_01); // 2013/02/19 Otsuka 

		// 年月日
		parentMap.put("ymd", opeDate);

		// 20120925 Otsuka 修正 end

		// 申込区分
		parentMap.put("mskm_kbn", webNewInfoBean.sendMessageString(CommonInfoCFConst.MSKM_KBN_06, X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("FUSV016519SC", parentMap);

		return outputMap;
	}

	/**
	 * オプションサービス契約＜ISP＞登録上りマッピングをする(手動生成)
	 * 
	 * <br>
	 * @param bean　[0]：ｅｏモバイル申込内容確認　[1]：共有フォームビーン
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return HashMap
	 */
	public HashMap<String, Object> setFUSV016523SC(X31SDataBeanAccess[] bean, HashMap<String, Object> 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);

		// ＷＥＢ新規情報
		X31SDataBeanAccess webNewInfoBean = getWebNewInfo(bean[1]);
		// ｅｏモバイル
		//		X31SDataBeanAccess eoMobileBean = getEOMobile(webNewInfoBean);
		// 支払い方法情報
		X31SDataBeanAccess paywayInfoBean = getPaywayInfo(webNewInfoBean);
		// リダイレクト情報
		//		X31SDataBeanAccess redirectInfoBean = getRedirectInfo(webNewInfoBean);

		// ＊＊＊＊ → オプションサービス契約＜ISP＞登録マップ.オプションサービスコード
		parentMap.put("op_svc_cd", JFUStrConst.CD00136_B002);

		// ＊＊＊＊ → オプションサービス契約＜ISP＞登録マップ.料金コースコード
		parentMap.put("pcrs_cd", JFUStrConst.CD00134_B02);

		// ＊＊＊＊ → オプションサービス契約＜ISP＞登録マップ.料金プランコード
		parentMap.put("pplan_cd", JFUStrConst.CD00565_PB0201);

		// 共有フォームBean.ＷＥＢ新規情報.ｓｙｓＩＤ → オプションサービス契約＜ISP＞登録マップ.SYSID
		parentMap.put("sysid", webNewInfoBean.sendMessageString(CommonInfoCFConst.SYSID_06, X31CWebConst.DATABEAN_GET_VALUE));

		// ＊＊＊＊ → オプションサービス契約＜ISP＞登録マップ.異動区分
		parentMap.put("ido_div", getIdoDiv(webNewInfoBean));

		// 共有フォームBean.支払方法情報.請求契約番号 → オプションサービス契約＜ISP＞登録マップ.請求契約番号
		parentMap.put("seiky_kei_no", this.getSeikyKeiNo(paywayInfoBean));

		outputMap.put(FUSV016523SC, parentMap);

		// ST2-2012-0001615 WiFi単独はオプションサービスを作成しない(EJB側でコントロール) h.iwamoto 2012/08/30 ※コメントだけ記述

		return outputMap;
	}

	/**
	 * 連絡先登録（契約者電話番号）上りマッピングをする(手動生成)
	 * 
	 * <br>
	 * 
	 * @param bean
	 *            　[0]：ｅｏモバイル申込内容確認　[1]：共有フォームビーン
	 * @param outputMap
	 * @param func_code
	 *            　機能コード
	 * @return HashMap
	 */
	public HashMap<String, Object> setFUSV016522SC(X31SDataBeanAccess[] bean, HashMap<String, Object> 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);

		// ＷＥＢ新規情報
		X31SDataBeanAccess webNewInfoBean = getWebNewInfo(bean[1]);
		// 契約者情報
		X31SDataBeanAccess keiyakushaInfoBean = getKeiyakushaInfo(webNewInfoBean);

		// ＷＥＢ新規情報.契約種別
		String keiSbt = webNewInfoBean.sendMessageString(CommonInfoCFConst.KEI_SBT_06, X31CWebConst.DATABEAN_GET_VALUE);

		// "003"(電話番号) ⇒ 連絡先登録マップ.連絡方法コード
		parentMap.put("telno", JFUStrConst.CD00790_003);

		// 共有フォームBean.契約者情報.電話番号（１）＋（２）＋（３） → 連絡先登録マップ.電話番号
		parentMap.put("telno", getKshTelno(keiyakushaInfoBean));

		if (JFUStrConst.CD00036_2.equals(keiSbt))
		{
			// 部品呼び出し → 連絡先登録マップ.連絡先コード
			parentMap.put("rrks_cd", JFUStrConst.CD00268_01);
		}

		outputMap.put(FUSV016522SC, parentMap);

		return outputMap;
	}

	// -----WiFi単独・WiMAX白ロム即時開通対応 h.iwamoto START-----

	// -----WiFi上限数対応 2013/01/31 h.iwamoto START-----
	/**
	 * モバイルサービス契約上限数チェック共通コンポーネントへ上りマッピングを行います。
	 * 
	 * <br>
	 * @param bean
	 * @param outputMap
	 * @param func_code
	 * @return
	 */
	@SuppressWarnings("unchecked")
	public HashMap<String, Object> setJFUChkMobileSvcKeiUpplnoCC(X31SDataBeanAccess[] bean, HashMap<String, Object> outputMap, String func_code)
			throws Exception
	{
		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		// ＷＥＢ新規情報
		X31SDataBeanAccess webNewInfoBean = getWebNewInfo(bean[1]);

		// 申込区分
		String mskm_kbn = webNewInfoBean.sendMessageString(CommonInfoCFConst.MSKM_KBN_06, X31CWebConst.DATABEAN_GET_VALUE);

		if (JFUStrConst.MSKM_KBN_ADD.equals(mskm_kbn))
		{
			HashMap<String, Object> parentMap = new HashMap<String, Object>();

			// SYSID
			parentMap.put("sysid", webNewInfoBean.sendMessageString(CommonInfoCFConst.SYSID_06, X31CWebConst.DATABEAN_GET_VALUE));

			Map dispMap = JFUWebCommon.getDispItemsAsMap("DISPSETTING/SETTING[@screenId='FUW00114']/DISPTEXT[@groupid='COMMON_KEI_INFO']", "id");
			// 上限数
			parentMap.put("upplno", dispMap.get("max_wifi_kei_cnt"));

			outputMap.put("JFUChkMobileSvcKeiUpplnoCC", parentMap);
		}

		return outputMap;
	}

	// -----WiFi上限数対応 2013/01/31 h.iwamoto END-----

	// -----2012/05/10 サービスインターフェイス取込対応 h.iwamoto START-----
	/**
	 * 請求オプションサービス契約登録
	 * 
	 * <br>
	 * @param bean [0]：共有フォームビーン
	 * @param outputMap
	 * @param func_code 機能コード
	 * @return
	 */
	@SuppressWarnings("unchecked")
	public HashMap<String, Object> setFUSV016527SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{
		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		// WEB新規情報
		X31SDataBeanAccess bnWebinfo = getWebNewInfo(bean[1]);

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 機能コード
		parentMap.put("func_code", func_code);

		// 請求オプションサービスコード 請求書発行手数料
		parentMap.put("seiopsvc_cd", JFUStrConst.KK0761_SEIOPSVC_CD_E001);

		// 料金コースコード 請求書発行手数料
		parentMap.put("pcrs_cd", JFUStrConst.CD00134_E01);

		// 料金プランコード 請求書発送手数料
		parentMap.put("pplan_cd", JFUStrConst.CD00565_PE0101);

		// 異動区分
		parentMap.put("ido_div", getIdoDiv(bnWebinfo));

		// SYSID
		parentMap.put("sysid", bnWebinfo.sendMessageString(CommonInfoCFConst.SYSID_06, X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("EKK0441D010", parentMap);

		return outputMap;
	}

	/**
	 * 申込画面入力支援ワーク登録
	 * 
	 * <br>
	 * @param bean [0]：ｅｏモバイル申込内容確認　[1]：共有フォームビーン
	 * @param outputMap
	 * @param func_code 機能コード
	 * @return
	 */
	@SuppressWarnings("unchecked")
	public HashMap<String, Object> setFUSV016528SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{
		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}
		// WEB新規情報
		X31SDataBeanAccess bnWebinfo = getWebNewInfo(bean[1]);
		// 契約者情報
		X31SDataBeanAccess bnKeiyakuinfo = getKeiyakushaInfo(bnWebinfo);
		// モバイル情報
		X31SDataBeanAccess bnMobile = getEOMobile(bnWebinfo);
		// PASCO情報
		X31SDataBeanAccess bnPasco = getPascoInfo(bnWebinfo);
		// 光電話
		X31SDataBeanAccess[] bnEotel = getEotel(bnWebinfo);
		// 光ネット
		X31SDataBeanAccess bnEonet = getEonet(bnWebinfo);
		// 光テレビ
		X31SDataBeanAccess bnEotv = getEotv(bnWebinfo);

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 機能コード
		parentMap.put("func_code", func_code);

		// ----IT1-2012-0000441 契約新規障害対応 Otsuka 2012.6.7 start----

		// 追加元サービス契約番号
		String mskm_kbn = bnWebinfo.sendMessageString(CommonInfoCFConst.MSKM_KBN_06, X31CWebConst.DATABEAN_GET_VALUE);
		String addSvcKeiNo = "";

		// 追加申込の場合
		if (JFUStrConst.MSKM_KBN_ADD.equals(mskm_kbn))
		{
			String netSvcKeiNo = bnEonet.sendMessageString(CommonInfoCFConst.SVC_KEI_NO_11, X31CWebConst.DATABEAN_GET_VALUE);
			String tel1SvcKeiNo = bnEotel[0].sendMessageString(CommonInfoCFConst.SVC_KEI_NO_12, X31CWebConst.DATABEAN_GET_VALUE);
			String tel2SvcKeiNo = bnEotel[1].sendMessageString(CommonInfoCFConst.SVC_KEI_NO_12, X31CWebConst.DATABEAN_GET_VALUE);
			String tvSvcKeiNo = bnEotv.sendMessageString(CommonInfoCFConst.SVC_KEI_NO_13, X31CWebConst.DATABEAN_GET_VALUE);
			String mobileSvcKeiNo = bnMobile.sendMessageString(CommonInfoCFConst.SVC_KEI_NO_14, X31CWebConst.DATABEAN_GET_VALUE);

			if (netSvcKeiNo.length() > 0)
			{
				addSvcKeiNo = netSvcKeiNo;
			}
			else if (tel1SvcKeiNo.length() > 0)
			{
				addSvcKeiNo = tel1SvcKeiNo;
			}
			else if (tel2SvcKeiNo.length() > 0)
			{
				addSvcKeiNo = tel2SvcKeiNo;
			}
			else if (tvSvcKeiNo.length() > 0)
			{
				addSvcKeiNo = tvSvcKeiNo;
			}
			else if (mobileSvcKeiNo.length() > 0)
			{
				addSvcKeiNo = mobileSvcKeiNo;
			}
		}
		parentMap.put("add_moto_svc_kei_no", addSvcKeiNo);

		// 申込回線サービス
		String mskm_ksn_svc = bnWebinfo.sendMessageString(CommonInfoCFConst.MSKM_KSN_SVC_06, X31CWebConst.DATABEAN_GET_VALUE);
		// eo光ネットエリアチェック結果有無フラグ
		String netAreaCheckFlg = "";
		// eo光電話エリアチェック結果有無フラグ
		String telAreaCheckFlg = "";
		// eo光テレビエリアチェック結果有無フラグ
		String tvAreaCheckFlg = "";
		// eo光ネットエリアチェック結果詳細コード
		String netAreaCheckCd = "";
		// eo光テレビエリアチェック結果詳細コード
		String tvAreaCheckCd = "";

		// ホームタイプの場合
		if (JFUStrConst.MSKM_KSN_SVC_HOME.equals(mskm_ksn_svc))
		{
			// PASCO情報を取得
			String m100mskm_flg = bnPasco.sendMessageString(CommonInfoCFConst.MOBILE_100M_07, X31CWebConst.DATABEAN_GET_VALUE);
			String g1mskm_flg = bnPasco.sendMessageString(CommonInfoCFConst.MOBILE_1G_07, X31CWebConst.DATABEAN_GET_VALUE);
			String tvFlg = bnPasco.sendMessageString(CommonInfoCFConst.TV_07, X31CWebConst.DATABEAN_GET_VALUE);
			String telFlg = bnPasco.sendMessageString(CommonInfoCFConst.TEL_07, X31CWebConst.DATABEAN_GET_VALUE);

			// ネット
			if (JFUStrConst.MOBILE_1G_MSKM_PSB.equals(g1mskm_flg))
			{
				netAreaCheckFlg = PASCO_YES;
				netAreaCheckCd = PASCO_NET_DETAIL_1G;
			}
			else if (JFUStrConst.MOBILE_100M_MSKM_PSB.equals(m100mskm_flg))
			{
				netAreaCheckFlg = PASCO_YES;
				netAreaCheckCd = PASCO_NET_DETAIL_100M;
			}
			else
			{
				netAreaCheckFlg = PASCO_NOT;
			}

			// 電話
			if (JFUStrConst.TEL_MSKM_PSB_FLG_MSKM_PSB.equals(telFlg))
			{
				telAreaCheckFlg = PASCO_YES;
			}
			else
			{
				telAreaCheckFlg = PASCO_NOT;
			}

			// テレビ
			if (JFUStrConst.TV_MSKM_PSB_FLG_KCAT.equals(tvFlg))
			{
				tvAreaCheckFlg = PASCO_YES;
				tvAreaCheckCd = PASCO_TV_DETAIL_K_CAT;
			}
			else if (JFUStrConst.TV_MSKM_PSB_FLG_KCN.equals(tvFlg))
			{
				tvAreaCheckFlg = PASCO_YES;
				tvAreaCheckCd = PASCO_TV_DETAIL_KCN;
			}
			else
			{
				telAreaCheckFlg = PASCO_NOT;
			}
		}

		// eo光ネットエリアチェック結果有無
		parentMap.put("eohnt_area_ckrlt_um", netAreaCheckFlg);
		// eo光電話エリアチェック結果有無
		parentMap.put("eohtl_area_ckrlt_um", telAreaCheckFlg);
		// eo光テレビエリアチェック結果有無
		parentMap.put("eohtv_area_ckrlt_um", tvAreaCheckFlg);
		// eo光ネットエリアチェック結果詳細コード
		parentMap.put("eohnt_area_ckrlt_dtail_cd", netAreaCheckCd);
		// eo光テレビエリアチェック結果詳細コード
		parentMap.put("eohtv_area_ckrlt_dtail_cd", tvAreaCheckCd);

		// 緊急通報用契約者名＿契約者名差異フラグ1 (差異なし固定)
		parentMap.put("emgksh_nm_ksh_nm_sai_flg_1", JFUStrConst.SAI_FLG_SAI_NON);

		// 緊急通報用契約者名＿契約者名差異フラグ2 (差異なし固定)
		parentMap.put("emgksh_nm_ksh_nm_sai_flg_2", JFUStrConst.SAI_FLG_SAI_NON);

		// ----IT1-2012-0000441 契約新規障害対応 Otsuka 2012.6.7 end----

		// -----回線場所・契約者住所-----

		// 回線場所＿契約者住所差異フラグ
		String kshadd_cmf = bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.KSHADD_CMF_09, X31CWebConst.DATABEAN_GET_VALUE);
		String kaisen_plc_ksh_ad_sai_flg = "";
		if ("1".equals(kshadd_cmf))
		{
			// 1:利用住所と同じ
			kaisen_plc_ksh_ad_sai_flg = "0";
		}
		else if ("2".equals(kshadd_cmf))
		{
			// 2:利用住所と異なる
			kaisen_plc_ksh_ad_sai_flg = "1";
		}
		parentMap.put("kaisen_plc_ksh_ad_sai_flg", kaisen_plc_ksh_ad_sai_flg);

		// 申込優先連絡先識別コード(TODO 契約者優先連絡先識別コードを設定)
		String rrks_choice = bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.RRKS_CHOICE_09, X31CWebConst.DATABEAN_GET_VALUE);
		String mkm_yusen_rrks_skbt_cd = "";
		if ("1".equals(rrks_choice))
		{
			// 1:利用場所と同じ
			mkm_yusen_rrks_skbt_cd = "1";
		}
		else if ("2".equals(rrks_choice))
		{
			// 2:契約住所と同じ
			mkm_yusen_rrks_skbt_cd = "2";
		}
		else if ("3".equals(rrks_choice))
		{
			// 3:その他
			mkm_yusen_rrks_skbt_cd = "3";
		}
		parentMap.put("mkm_yusen_rrks_skbt_cd", mkm_yusen_rrks_skbt_cd);

		// No365 2013/02/28 Otsuka start
		// 機器送付先住所識別コード(機器書類送付先住所識別コードを設定)

		String mbkikisofu = bnMobile.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_SOHU_SBT_14, X31CWebConst.DATABEAN_GET_VALUE);

		// 機器送付先が異なる場所に送付の場合、4を設定する。

		if (JFUStrConst.MOBILE_KIKI_SHOU_SBT_KOTONARU.equals(mbkikisofu))
		{
			parentMap.put("kiki_shs_ad_skbt_cd", "4"); // 4:送付先指定固定
		}
		else if (JFUStrConst.MOBILE_KIKI_SHOU_SBT_KEIYAKUSYA.equals(mbkikisofu))
		{
			parentMap.put("kiki_shs_ad_skbt_cd", "2"); // 2:契約者住所と同じ
		}
		else if (JFUStrConst.MOBILE_KIKI_SHOU_SBT_RIYOU.equals(mbkikisofu))
		{
			parentMap.put("kiki_shs_ad_skbt_cd", "1"); // 1:利用場所住所と同じ
		}
		// No365 2013/02/28 Otsuka end

		// -----請求書送付先-----

		// 請求書送付先名＿お客様名差異フラグ
		parentMap.put("sks_shs_nm_cust_nm_sai_flg", "0");

		// 請求書送付先住所識別コード(書類送付先識別コード)
		parentMap.put("sks_shs_ad_skbt_cd", "2"); // ご契約者住所(現住所)と同じ 固定

		// -----番号ポータビリティ1番号目-----

		// NTT契約者住所識別コード1(TODO 契約者住所電話番号選択識別コードを設定)
		parentMap.put("ntt_kshad_skbt_cd_1", "");
		// NTT契約者名＿契約者名差異フラグ1
		parentMap.put("nkys_nm_ksh_nm_sai_flg_1", "");

		// -----番号ポータビリティ2番号目-----

		// NTT契約者住所識別コード2(TODO 契約者住所電話番号選択識別コードを設定)
		parentMap.put("ntt_kshad_skbt_cd_2", "");
		// NTT契約者名＿契約者名差異フラグ2
		parentMap.put("nkys_nm_ksh_nm_sai_flg_2", "");

		// -----モバイル-----

		// モバイル機器送付先住所識別コード(TODO 機器書類送付先住所識別コードを設定)
		String kikiSohuSbt = bnMobile.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_SOHU_SBT_14, X31CWebConst.DATABEAN_GET_VALUE);

		String mbl_kiki_shs_ad_skbt_cd = "";
		if ("1".equals(kikiSohuSbt))
		{
			// 利用場所と同じ
			mbl_kiki_shs_ad_skbt_cd = "1";
		}
		else if ("2".equals(kikiSohuSbt))
		{
			// 契約者住所と同じ
			mbl_kiki_shs_ad_skbt_cd = "2";
		}
		else if ("3".equals(kikiSohuSbt))
		{
			// 異なる住所に送付
			mbl_kiki_shs_ad_skbt_cd = "4";
		}
		else
		{
			// モバイルが選択されていない場合
			mbl_kiki_shs_ad_skbt_cd = "";
		}
		parentMap.put("mbl_kiki_shs_ad_skbt_cd", mbl_kiki_shs_ad_skbt_cd);

		// 2012/12/5 IT1-2012-0002076 kusumoto Start
		parentMap.put("sikykeikn_custkn_sai_flg", "0");
		// 2012/12/5 IT1-2012-0002076 kusumoto End

		outputMap.put("EKK2201D010", parentMap);

		return outputMap;
	}

	// -----2012/05/10 サービスインターフェイス取込対応 h.iwamoto END-----
	/**
	 * 審査・審査結果更新へ上りマッピングを行います。
	 * 
	 * <br>
	 * @param bean
	 * @param outputMap
	 * @param func_code
	 * @return
	 */
	@SuppressWarnings("unchecked")
	public HashMap<String, Object> setJKKJdgCC(X31SDataBeanAccess[] bean, HashMap<String, Object> outputMap, String func_code)
	{
		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		// ＷＥＢ新規情報
		X31SDataBeanAccess webNewInfoBean = getWebNewInfo(bean[1]);
		// ｅｏモバイル
		//		X31SDataBeanAccess eoMobileBean = getEOMobile(webNewInfoBean);
		// リダイレクト情報
		//		X31SDataBeanAccess redirectInfoBean = getRedirectInfo(webNewInfoBean);

		// ＷＥＢ新規情報.契約種別
		String keiSbt = webNewInfoBean.sendMessageString(CommonInfoCFConst.KEI_SBT_06, X31CWebConst.DATABEAN_GET_VALUE);

		// 即時フラグ：1 審査（即時）
		outputMap.put("IS_SOKUJI", "1");

		// 起動元機能識別：31(審査前登録)
		outputMap.put("KINO_SKBT", "31");

		// お客様マップ
		ArrayList cust = new ArrayList();
		HashMap custMap = new HashMap();
		custMap.put("SYSID", webNewInfoBean.sendMessageString(CommonInfoCFConst.SYSID_06, X31CWebConst.DATABEAN_GET_VALUE));

		// 2012/09/24 Otsuka Add Start
		// 契約者タイプコード設定
		custMap.put("KEISHA_TYPE_CD", keiSbt);
		// 2012/09/24 Otsuka Add End

		cust.add(custMap);
		outputMap.put("CK_T_CUST", cust);

		// お客様＜個人＞
		ArrayList custKojin = new ArrayList();
		HashMap custKojinMap = new HashMap();
		custKojin.add(custKojinMap);
		outputMap.put("CK_T_CUST_KOJIN", custKojin);

		// クレジットカード
		ArrayList crecard = new ArrayList();
		HashMap crecardMap = new HashMap();
		crecard.add(crecardMap);
		outputMap.put("KK_T_CRECARD", crecard);

		// サービス契約
		ArrayList svcKei = new ArrayList();
		HashMap svcKeiMap = new HashMap();
		svcKei.add(svcKeiMap);
		outputMap.put("KK_T_SVC_KEI", svcKei);

		// サービス契約内訳マップ
		ArrayList svcKeiKaisenUcwk = new ArrayList();
		HashMap svcKeiKaisenUcwkMap = new HashMap();
		svcKeiKaisenUcwk.add(svcKeiKaisenUcwkMap);
		outputMap.put("KK_T_SVKEI_KAISEN_UW", svcKeiKaisenUcwk);

		//		String pcrs_cd = getPcrsCdSvcKei(eoMobileBean, redirectInfoBean);
		//		if(JFUStrConst.CD00134_A29.equals(pcrs_cd))
		//		{
		//			// 機器提供サービス契約
		//			ArrayList kktkSvcKei = new ArrayList();
		//			HashMap kktkSvcKeiMap = new HashMap();
		//			kktkSvcKei.add(kktkSvcKeiMap);
		//			outputMap.put("KK_T_KKTK_SVC_KEI", kktkSvcKei);
		//		}

		// 申込明細
		ArrayList mskmDtl = new ArrayList();
		HashMap mskmDtlMap = new HashMap();
		mskmDtl.add(mskmDtlMap);
		outputMap.put("KK_T_MSKM_DTL", mskmDtl);

		// 請求契約
		ArrayList seikyKei = new ArrayList();
		HashMap seikyKeiMap = new HashMap();
		seikyKei.add(seikyKeiMap);
		outputMap.put("KK_T_SEIKY_KEI", seikyKei);

		// 審査実施フラグ
		outputMap.put("JUDGE_JSSI_FLG", "0");

		return outputMap;
	}

	/**
	 * 照査チェック・照査へ上りマッピングを行います。
	 * 
	 * <br>
	 * @param bean
	 * @param outputMap
	 * @param func_code
	 * @return
	 */
	@SuppressWarnings("unchecked")
	public HashMap<String, Object> setJKKShosaCC(X31SDataBeanAccess[] bean, HashMap<String, Object> outputMap, String func_code)
	{
		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		// ＷＥＢ新規情報
		X31SDataBeanAccess webNewInfoBean = getWebNewInfo(bean[1]);

		// 照査チェックデータ
		HashMap shosaData = new HashMap();
		// 照査チェックリスト
		ArrayList shosaList = new ArrayList();
		// 照査チェックマップ
		HashMap shosaMap = new HashMap();

		//SYSID
		shosaMap.put("sysid", webNewInfoBean.sendMessageString(CommonInfoCFConst.SYSID_06, X31CWebConst.DATABEAN_GET_VALUE));

		shosaList.add(shosaMap);
		shosaData.put("trgt_data_list", shosaList);
		outputMap.put("trgt_data", shosaData);

		return outputMap;
	}

	/**
	 * オーダ発行へ上りマッピングを行います。
	 * 
	 * <br>
	 * @param bean
	 * @param outputMap
	 * @param func_code
	 * @return
	 */
	@SuppressWarnings("unchecked")
	public HashMap<String, Object> setHakkoSODCC(X31SDataBeanAccess[] bean, HashMap<String, Object> outputMap, String func_code)
	{
		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		// ＷＥＢ新規情報
		X31SDataBeanAccess webNewInfoBean = getWebNewInfo(bean[1]);

		// ｅｏモバイル
		X31SDataBeanAccess eoMobileBean = getEOMobile(webNewInfoBean);
		// リダイレクト情報
		X31SDataBeanAccess redirectInfoBean = getRedirectInfo(webNewInfoBean);

		// 対象データリスト
		ArrayList trgtDataList = new ArrayList();
		// SODマップ
		HashMap sodMap1 = new HashMap();
		//		HashMap sodMap2 = new HashMap();
		//		HashMap sodMap3 = new HashMap();

		String pcrs_cd = getPcrsCdSvcKei(eoMobileBean, redirectInfoBean);

		// 白ロムの場合
		if (JFUStrConst.CD00134_A29.equals(pcrs_cd))
		{
			// 対象データリストに設定
			trgtDataList.add(sodMap1);
			//			// 対象データリストに設定
			//			trgtDataList.add(sodMap2);
			//			// 対象データリストに設定
			//			trgtDataList.add(sodMap3);

		}
		// WiFiスポットの場合
		else if (JFUStrConst.CD00134_A30.equals(pcrs_cd))
		{
			// 対象データリストに設定
			trgtDataList.add(sodMap1);
		}
		HashMap hakkoSodMap = new HashMap();
		hakkoSodMap.put("trgt_data_list", trgtDataList);
		// 機能コード：1
		hakkoSodMap.put(JCMConstants.FUNC_CODE_KEY, "1");

		// SYSID
		hakkoSodMap.put("sysid", webNewInfoBean.sendMessageString(CommonInfoCFConst.SYSID_06, X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("FUSV016526CC", hakkoSodMap);

		return outputMap;
	}

	// -----WiFi単独・WiMAX白ロム即時開通対応 h.iwamoto END-----

	// IT2-2012-0000675 2012/06/08 h.iwamoto START
	/**
	 * 割引サービス自動適用上りマッピングをする(手動生成)
	 * 
	 * <br>
	 * 
	 * @param bean
	 *            　[0]：ｅｏモバイル申込内容確認　[1]：共有フォームビーン
	 * @param outputMap
	 * @param func_code
	 *            　機能コード
	 * @return HashMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap<String, Object> setJKKWrisvcAutoAplyCC(X31SDataBeanAccess[] bean, HashMap<String, Object> outputMap, String func_code)
	{
		if (bean == null)
		{
			return null;
		}

		// ＷＥＢ新規情報
		X31SDataBeanAccess webNewInfoBean = getWebNewInfo(bean[1]);
		// ｅｏモバイル
		X31SDataBeanAccess eoMobileBean = getEOMobile(webNewInfoBean);
		// リダイレクト情報
		X31SDataBeanAccess redirectInfoBean = getRedirectInfo(webNewInfoBean);

		/** 作業領域 */
		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// SYSID・申込番号は取得後にマッピング

		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, func_code);

		parentMap.put("sysid", webNewInfoBean.sendMessageString(CommonInfoCFConst.SYSID_06, X31CWebConst.DATABEAN_GET_VALUE));

		// "01"（固定）⇒ 登録変更区分
		parentMap.put("add_chge_div", "01");

		// "0001"or"0002" ⇒ 申込種別コード
		parentMap.put("mskm_sbt_cd", getMskmSbtCd(webNewInfoBean));

		// "00001"（固定）⇒ 異動区分
		parentMap.put("ido_div", "00001");

		/** サービス契約グループリスト(svc_kei_grp_list) */
		ArrayList<HashMap<String, Object>> svcKeiGrpList = new ArrayList<HashMap<String, Object>>();
		HashMap<String, Object> svcKeiGrpListMap = new HashMap<String, Object>();

		// "00"（固定）⇒ グループ区分
		svcKeiGrpListMap.put("grp_div", "00");

		// 作業領域に詰め込む
		svcKeiGrpList.add(svcKeiGrpListMap);

		/** サービス契約リスト(svc_kei_list) */
		ArrayList<HashMap<String, Object>> svcKeiList = new ArrayList<HashMap<String, Object>>();
		HashMap<String, Object> svcKeiMap = new HashMap<String, Object>();

		// サービス契約番号は取得後にマッピング

		// "01"（固定）⇒ 対象契約識別コード
		svcKeiMap.put("tg_kei_skbt_cd", "01");

		// "01"（固定）⇒ サービスコード
		svcKeiMap.put("svc_cd", "01");

		// 料金コースコード
		svcKeiMap.put("pcrs_cd", getPcrsCdSvcKei(eoMobileBean, redirectInfoBean));

		// 料金プランコード
		svcKeiMap.put("pplan_cd", getPplanCdSvcKei(eoMobileBean, redirectInfoBean));

		// 料金グループコード
		svcKeiMap.put("prc_grp_cd", getPrcGrpCd(eoMobileBean));

		// 作業領域に詰め込む
		svcKeiList.add(svcKeiMap);

		// 追加申込時のセット割対応 2013/01/23 h.iwamoto START

		// 申込区分
		String mskmKbn = webNewInfoBean.sendMessageString(CommonInfoCFConst.MSKM_KBN_06, X31CWebConst.DATABEAN_GET_VALUE);

		// サービス追加の場合
		if (JFUStrConst.MSKM_KBN_ADD.equals(mskmKbn))
		{
			// 既契約サービス情報
			X31SDataBeanAccessArray kkeiSvcInfoArray = webNewInfoBean.getDataBeanArray(CommonInfoCFConst.KKEI_SVC_INFO);

			for (int i = 0; i < kkeiSvcInfoArray.getCount(); i++)
			{
				// 既契約サービス情報Bean取得
				X31SDataBeanAccess kkeiSvcInfoBean = kkeiSvcInfoArray.getDataBean(i);
				// サービス契約リストマップ
				svcKeiMap = new HashMap();

				// 対象契約識別コード
				svcKeiMap.put("tg_kei_skbt_cd", "01");
				// サービス契約番号
				svcKeiMap.put("svc_kei_no", kkeiSvcInfoBean.sendMessageString(CommonInfoCFConst.SVC_KEI_NO_54, X31CWebConst.DATABEAN_GET_VALUE));
				// サービス契約ステータス
				svcKeiMap.put("svc_kei_stat", kkeiSvcInfoBean.sendMessageString(CommonInfoCFConst.SVC_KEI_STAT_54, X31CWebConst.DATABEAN_GET_VALUE));
				// サービスコード
				svcKeiMap.put("svc_cd", kkeiSvcInfoBean.sendMessageString(CommonInfoCFConst.SVC_CD_54, X31CWebConst.DATABEAN_GET_VALUE));
				// 料金グループコード
				svcKeiMap.put("prc_grp_cd", kkeiSvcInfoBean.sendMessageString(CommonInfoCFConst.PRC_GRP_CD_54, X31CWebConst.DATABEAN_GET_VALUE));
				// 料金コースコード
				svcKeiMap.put("pcrs_cd", kkeiSvcInfoBean.sendMessageString(CommonInfoCFConst.PCRS_CD_54, X31CWebConst.DATABEAN_GET_VALUE));
				// 料金プランコード
				svcKeiMap.put("pplan_cd", kkeiSvcInfoBean.sendMessageString(CommonInfoCFConst.PPLAN_CD_54, X31CWebConst.DATABEAN_GET_VALUE));
				// サービス契約リストにサービス契約リストマップを格納する
				svcKeiList.add(svcKeiMap);
			}
		}
		// 追加申込時のセット割対応 2013/01/23 h.iwamoto END
		svcKeiGrpListMap.put("svc_kei_list", svcKeiList);

		parentMap.put("svc_kei_grp_list", svcKeiGrpList);

		outputMap.put(FUSV016527CC, parentMap);

		return outputMap;
	}

	// IT2-2012-0000675 2012/06/08 h.iwamoto END

	/**
	 * バックヤードマッピングCCの上りマッピングを行う(手動生成)
	 * 
	 * <br>
	 * 
	 * @param bean
	 *            　[0]：ｅｏモバイル申込内容確認　[1]：共有フォームビーン
	 * @param outputMap
	 * @return HashMap
	 * @throws Exception 
	 */
	public HashMap<String, Object> setJFUBackyardMappingCC(X31SDataBeanAccess[] bean, HashMap<String, Object> outputMap) throws Exception
	{
		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		// ＷＥＢ新規情報
		X31SDataBeanAccess webNewInfoBean = getWebNewInfo(bean[1]);

		// 支払い方法情報
		X31SDataBeanAccess paywayInfoBean = getPaywayInfo(webNewInfoBean);

		// 契約者情報
		X31SDataBeanAccess keiyakuInfoBean = getKeiyakushaInfo(webNewInfoBean);

		/** 作業領域 */
		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 機能コード不要

		// 申込回線サービスを取得する
		String mskm_ksn_svc = webNewInfoBean.sendMessageString(CommonInfoCFConst.MSKM_KSN_SVC_06, X31CWebConst.DATABEAN_GET_VALUE);

		// 申込区分を取得する
		String mskm_kbn = webNewInfoBean.sendMessageString(CommonInfoCFConst.MSKM_KBN_06, X31CWebConst.DATABEAN_GET_VALUE);

		// 販売タイプ取得
		String hanbai_type = webNewInfoBean.sendMessageString(CommonInfoCFConst.HANBAI_TYPE_06, X31CWebConst.DATABEAN_GET_VALUE);

		// 支払方法引継を取得する
		String payway_continue = paywayInfoBean.sendMessageString(CommonInfoCFConst.PAYWAY_CONTINUE_15, X31CWebConst.DATABEAN_GET_VALUE);

		// 引継（請求契約番号）を取得する
		String hktgi_seiky_kei_no = paywayInfoBean.sendMessageString(CommonInfoCFConst.HKTGI_SEIKY_KEI_NO_15, X31CWebConst.DATABEAN_GET_VALUE);

		// 会員種別を取得する
		String kiin_sbt = keiyakuInfoBean.sendMessageString(CommonInfoCFConst.KIIN_SBT_09, X31CWebConst.DATABEAN_GET_VALUE);

		// 申込回線サービスを設定する
		parentMap.put("mskm_ksn_svc", mskm_ksn_svc);

		// 申込区分を設定する
		parentMap.put("mskm_kbn", mskm_kbn);

		// 販売タイプを設定する
		parentMap.put("hanbai_type", hanbai_type);

		// 支払方法引継を設定する
		parentMap.put("payway_continue", payway_continue);

		// 会員種別を設定する
		parentMap.put("kiin_sbt", kiin_sbt);

		// 審査対象請求契約番号を設定する
		if (JFUStrConst.PAYWAY_CONTINUE_CONTINUE.equals(payway_continue))
		{
			parentMap.put("jdg_tg_seiky_kei_no", hktgi_seiky_kei_no);
		}

		// オーダ発行CC ユーザ定義文字列設定する
		parentMap.put("odr_hakko_fixed_text", "JKKHakkoSODCC");

		// 指示書登録CC ユーザ定義文字列を設定する
		parentMap.put("sjisho_fixed_text", "JKKAddSjishoCC");

		// 整理番号発番付替部品 ユーザ定義文字列
		parentMap.put("seiri_no_fixed_text", "JKKSeiriNoHtbChgCC");

		// 処理区分を設定する(1:照査前)
		parentMap.put("trn_kbn", "1");

		// SYSIDを取得する
		String sysid = webNewInfoBean.sendMessageString(CommonInfoCFConst.SYSID_06, X31CWebConst.DATABEAN_GET_VALUE);

		// SYSIDを設定する
		parentMap.put("sysid", sysid);

		// ST2-2012-0001771(ロット1取込) 2012/11/16 削除 h.iwamoto

		outputMap.put(FUSV016530CC, parentMap);

		// ST1-2012-0000961 2012/11/21 h.iwamoto START
		HashMap<String, Object> parentMap2 = new HashMap<String, Object>();

		// 処理区分を設定する(2:照査後)
		parentMap2.put("trn_kbn", "2");

		// 販売タイプを設定する
		parentMap2.put("hanbai_type", hanbai_type);

		// 申込回線サービスを設定する
		parentMap2.put("mskm_ksn_svc", mskm_ksn_svc);

		// 通知書登録CC ユーザ定義文字列
		parentMap2.put("tchisho_fixed_text", "JKKTchishoAddCC");

		outputMap.put("JFUBackyardMappingCCAfter", parentMap2);

		// ST1-2012-0000961 2012/11/21 h.iwamoto END

		return outputMap;
	}

	/**
	 * 上りマッピングする（アンケート回答登録）
	 * @param bean　[0]：共有フォームビーン		[1]:アンケート
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setEKK0051D010(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{
		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		// ＷＥＢ新規情報
		X31SDataBeanAccess webNewInfoBean = getWebNewInfo(bean[1]);
		// 契約サービス情報
		X31SDataBeanAccess keiyakuSvcInfoBean = getKeiyakuSvcInfo(webNewInfoBean);

		// アンケートを取得
		X31SDataBeanAccess enqt_infobean = bean[0];

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共有情報のマッピング
		parentMap.put("func_code", func_code);

		// リスト
		ArrayList list = new ArrayList();

		// アンケート回答数
		int enqt_answer_cnt = 0;

		// アンケートリストループ
		X31SDataBeanAccessArray enqt_list = enqt_infobean.getDataBeanArray(ENQUETE_LIST);
		for (int i = 0; i < enqt_list.getCount(); i++)
		{
			// アンケートリスト[n]取得
			X31SDataBeanAccess enqt_list_infobean = enqt_list.getDataBean(i);

			//HashMap<String, HashMap<String,Object>> answerMap = new HashMap<String, HashMap<String,Object>>();
			//HashMap<String,Object> listMap = new HashMap<String,Object>();

			// アンケート種別コード
			String enqt_sbt_cd = enqt_list_infobean.sendMessageString(ENQUETE_CHK_SBT_02, X31CWebConst.DATABEAN_GET_VALUE);

			// アンケート回答リスト
			X31SDataBeanAccessArray answer_info = enqt_list_infobean.getDataBeanArray(ENQUETE_ANSWER_LIST);

			for (int j = 0; j < answer_info.getCount(); j++)
			{

				// データ格納用マップ
				HashMap<String, Object> dataMap = new HashMap<String, Object>();

				X31SDataBeanAccess answer_infobean = answer_info.getDataBean(j);

				// チェックボックス入力可否
				Boolean chk_result = answer_infobean.sendMessageBoolean(CHKBOX_CHECKED_06, X31CWebConst.DATABEAN_GET_VALUE);

				// ラジオボタン選択値
				String radio_select = enqt_list_infobean.sendMessageString(RADIO_VALUE_02, X31CWebConst.DATABEAN_GET_VALUE);

				// アンケートフリー入力欄の値
				String enqt_free = answer_infobean.sendMessageString(ENQUETE_FREE_IPTFIELD_06, X31CWebConst.DATABEAN_GET_VALUE);

				// 上記何れかの条件に当てはまる時、リストへ追加する
				if (chk_result == true || (radio_select != null && !radio_select.equals("")) || (enqt_free != null && !enqt_free.equals("")))
				{
					// 01:チェックボックスの選択がtrue
					if ("01".equals(enqt_sbt_cd))
					{
						if (chk_result == false)
						{
							continue;
						}
					}

					// 02:ラジオボタンの選択値がNULL・空白でない
					else if ("02".equals(enqt_sbt_cd))
					{
						if (!(radio_select).equals(answer_infobean.sendMessageString(ENQUETE_CD_06, X31CWebConst.DATABEAN_GET_VALUE)))
						{
							continue;
						}
					}

					// 03:フリー入力
					else if ("03".equals(enqt_sbt_cd))
					{
						if (enqt_free == null || enqt_free.equals(""))
						{
							continue;
						}
					}

					// アンケート種別コードが不明
					else
					{
						continue;						
					}

					HashMap<String, Object> listMap = new HashMap<String, Object>();

					// ＷＥＢ新規情報.sysID → SYSID
					listMap.put("sysid", webNewInfoBean.sendMessageString(CommonInfoCFConst.SYSID_06, X31CWebConst.DATABEAN_GET_VALUE));

					// 契約サービス情報.申込番号 → 申込番号
					listMap.put("mskm_no", keiyakuSvcInfoBean.sendMessageString(CommonInfoCFConst.TTDKI_NO_10, X31CWebConst.DATABEAN_GET_VALUE));

					// アンケートリスト.アンケート番号 → アンケート番号
					listMap.put("enquete_no", enqt_list_infobean.sendMessageString(ENQUETE_CONTENT_NO_02, X31CWebConst.DATABEAN_GET_VALUE));

					// アンケートリスト.アンケート回答リスト.アンケートコード → アンケートコード
					listMap.put("enquete_cd", answer_infobean.sendMessageString(ENQUETE_CD_06, X31CWebConst.DATABEAN_GET_VALUE));

					// アンケートリスト.アンケートフリー入力欄 → アンケートフリー入力欄
					listMap
							.put("enquete_free_iptfield", answer_infobean
									.sendMessageString(ENQUETE_FREE_IPTFIELD_06, X31CWebConst.DATABEAN_GET_VALUE));

					// dataMapへ追加
					dataMap.put("data" + enqt_answer_cnt, listMap);
					enqt_answer_cnt++;

					//2011/12/06 リストを追加
					list.add(dataMap);
				}
			}
		}

		// アンケート回答データをリストEKK0051D010Listへ設定
		//dataMapのputからlistのputへ変更
		//parentMap.put("EKK0051D010List", dataMap);
		parentMap.put("EKK0051D010List", list);

		outputMap.put("EKK0051D010", parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングをする MACアドレス一覧照会
	 * @param bean　[0]：ｅｏモバイル申込内容確認　[1]：共有フォームビーン
	 * @param outputMap
	 * @param func_code　機能コード
	 * @param macAddress MACアドレス
	 * @param bl 
	 */
	public HashMap<String, Object> setFUSV016532CC(X31SDataBeanAccess[] bean, HashMap<String, Object> outputMap, String func_code, String macAddress,
			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);

		// 実効リダイレクトＵＲＬ → ＭＡＣアドレス使用状況一覧照会.ＫＥＹ＿ＭＡＣアドレス
		parentMap.put("key_macad", macAddress);
		// IT1-2012-0001882 2012/11/01 Otsuka start 
		//  ＭＡＣアドレス使用状況一覧照会.ＫＥＹ＿サービス契約＿料金コースコード
		parentMap.put("key_svc_kei_pcrs_cd", JFUWebCommon.getApplicationConst(KEY_UQ_SVC_KEI_PCRS_CD));
		// IT1-2012-0001882 2012/11/01 Otsuka end
		//  ＭＡＣアドレス使用状況一覧照会.ＫＥＹ＿料金コースコード
		parentMap.put("key_pcrs_cd", JFUWebCommon.getApplicationConst(KEY_UQ_PCRS_CD));
		// 基準日 → ＭＡＣアドレス使用状況一覧照会.ＫＥＹ＿料金プランコード
		parentMap.put("key_pplan_cd", JFUWebCommon.getApplicationConst(KEY_UQ_PPLAN_CD));
		//  ＭＡＣアドレス使用状況一覧照会.ＫＥＹ＿予約適用年月日
		parentMap.put("key_rsv_aply_ymd", JFUWebCommon.getOpeDate(bl, null));

		outputMap.put("FUSV016532CC", parentMap);

		return outputMap;
	}

	// ST2-2012-0001771(ロット1取込) 2012/11/16 削除 h.iwamoto

	/**
	 * WEB新規情報
	 * @param bean
	 * @return bn
	 */
	public X31SDataBeanAccess getWebNewInfo(X31SDataBeanAccess bean)
	{
		X31SDataBeanAccessArray arr = bean.getDataBeanArray(CommonInfoCFConst.WEB_NEW_INFO);
		if (arr.getCount() == 0)
		{
			arr.addDataBean();
		}
		X31SDataBeanAccess bn = arr.getDataBean(0);

		return bn;
	}

	/**
	 * PASCO情報
	 * 
	 * @param bn
	 * @return bn1
	 */
	@SuppressWarnings("unchecked")
	private X31SDataBeanAccess getPascoInfo(X31SDataBeanAccess bn)
	{

		X31SDataBeanAccessArray arr = bn.getDataBeanArray(CommonInfoCFConst.PASCO_INFO);
		if (arr.getCount() == 0)
		{
			arr.addDataBean();
		}
		X31SDataBeanAccess bn1 = arr.getDataBean(0);

		return bn1;
	}

	/**
	 * 契約者情報
	 * @param webNewInfoBean
	 * @return bn1
	 */
	public X31SDataBeanAccess getKeiyakushaInfo(X31SDataBeanAccess webNewInfoBean)
	{
		X31SDataBeanAccessArray arr = webNewInfoBean.getDataBeanArray(CommonInfoCFConst.KEIYAKUSHA_INFO);
		if (arr.getCount() == 0)
		{
			arr.addDataBean();
		}
		X31SDataBeanAccess bn1 = arr.getDataBean(0);

		return bn1;
	}

	/**
	 * 契約サービス情報
	 * @param webNewInfoBean
	 * @return bn1
	 */
	private X31SDataBeanAccess getKeiyakuSvcInfo(X31SDataBeanAccess webNewInfoBean)
	{
		X31SDataBeanAccessArray arr = webNewInfoBean.getDataBeanArray(CommonInfoCFConst.KEIYAKU_SVC_INFO);
		if (arr.getCount() == 0)
		{
			arr.addDataBean();
		}
		X31SDataBeanAccess bn1 = arr.getDataBean(0);

		return bn1;
	}

	/**
	 * 光ネット
	 * 
	 * @param bn
	 * @return bn1
	 */
	@SuppressWarnings("unchecked")
	private X31SDataBeanAccess getEonet(X31SDataBeanAccess bn)
	{

		X31SDataBeanAccessArray arr = bn.getDataBeanArray(CommonInfoCFConst.EONET);
		if (arr.getCount() == 0)
		{
			arr.addDataBean();
		}
		X31SDataBeanAccess bn1 = arr.getDataBean(0);

		return bn1;
	}

	/**
	 * 光TV
	 * 
	 * @param bn
	 * @return bn1
	 */
	@SuppressWarnings("unchecked")
	private X31SDataBeanAccess getEotv(X31SDataBeanAccess bn)
	{

		X31SDataBeanAccessArray arr = bn.getDataBeanArray(CommonInfoCFConst.EOTV);
		if (arr.getCount() == 0)
		{
			arr.addDataBean();
		}
		X31SDataBeanAccess bn1 = arr.getDataBean(0);

		return bn1;
	}

	/**
	 * 光電話
	 * 
	 * @param bn
	 * @return bnEotel[]
	 */
	@SuppressWarnings("unchecked")
	private X31SDataBeanAccess[] getEotel(X31SDataBeanAccess bn)
	{
		X31SDataBeanAccessArray aryEoTel = bn.getDataBeanArray(CommonInfoCFConst.EOTEL);
		X31SDataBeanAccess[] bnEotel = null;
		// 光電話２レコード作成
		int cntTel = aryEoTel.getCount();
		if (cntTel == 0)
		{
			bnEotel = new X31SDataBeanAccess[2];
			for (int i = 0; i < 2; i++)
			{
				aryEoTel.addDataBean();
				bnEotel[i] = aryEoTel.getDataBean(i);
			}
		}
		else
		{
			bnEotel = new X31SDataBeanAccess[cntTel];
			for (int i = 0; i < cntTel; i++)
			{
				bnEotel[i] = aryEoTel.getDataBean(i);
			}
		}
		return bnEotel;
	}

	/**
	 * モバイル情報
	 * @param webNewInfoBean
	 * @return bn1
	 */
	public X31SDataBeanAccess getEOMobile(X31SDataBeanAccess webNewInfoBean)
	{
		X31SDataBeanAccessArray arr = webNewInfoBean.getDataBeanArray(CommonInfoCFConst.EOMOBILE);
		if (arr.getCount() == 0)
		{
			arr.addDataBean();
		}
		X31SDataBeanAccess bn1 = arr.getDataBean(0);

		return bn1;
	}

	/**
	 * 支払い方法情報
	 * @param webNewInfoBean
	 * @return bn1
	 */
	public X31SDataBeanAccess getPaywayInfo(X31SDataBeanAccess webNewInfoBean)
	{
		X31SDataBeanAccessArray arr = webNewInfoBean.getDataBeanArray(CommonInfoCFConst.PAYWAY_INFO);
		if (arr.getCount() == 0)
		{
			arr.addDataBean();
		}
		X31SDataBeanAccess bn1 = arr.getDataBean(0);

		return bn1;
	}

	/**
	 * リダイレクト情報
	 * @param webNewInfoBean
	 * @return bn1
	 */
	public X31SDataBeanAccess getRedirectInfo(X31SDataBeanAccess webNewInfoBean)
	{
		X31SDataBeanAccessArray arr = webNewInfoBean.getDataBeanArray(CommonInfoCFConst.REDIRECT_INFO);
		if (arr.getCount() == 0)
		{
			arr.addDataBean();
		}
		X31SDataBeanAccess bn1 = arr.getDataBean(0);

		return bn1;
	}

	/**
	 * その他情報
	 * @param webNewInfoBean
	 * @return bn1
	 */
	public X31SDataBeanAccess getElseInfo(X31SDataBeanAccess webNewInfoBean)
	{
		X31SDataBeanAccessArray arr = webNewInfoBean.getDataBeanArray(CommonInfoCFConst.ELSE_INFO);
		if (arr.getCount() == 0)
		{
			arr.addDataBean();
		}
		X31SDataBeanAccess bn1 = arr.getDataBean(0);

		return bn1;
	}

	/**
	 * 契約者情報・氏名を取得する
	 * 
	 * <br>
	 * @param keiyakushaInfoBean
	 * @return String
	 */
	public String getKshNm(X31SDataBeanAccess keiyakushaInfoBean)
	{
		StringBuilder sb = new StringBuilder();

		sb.append(keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KSHNM_SEI_09, X31CWebConst.DATABEAN_GET_VALUE));
		sb.append(ZENKAKU_SPACE);
		sb.append(keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KSHNM_NM_09, X31CWebConst.DATABEAN_GET_VALUE));

		return sb.toString();
	}

	/**
	 * 契約者情報・氏名カナを取得する
	 * 
	 * <br>
	 * @param keiyakushaInfoBean
	 * @return String
	 */
	private String getKshKatakana(X31SDataBeanAccess keiyakushaInfoBean)
	{
		StringBuilder sb = new StringBuilder();
		String retString = "";

		sb.append(keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KSHKN_SEI_09, X31CWebConst.DATABEAN_GET_VALUE));
		sb.append(ZENKAKU_SPACE);
		sb.append(keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KSHKN_NM_09, X31CWebConst.DATABEAN_GET_VALUE));

		retString = JFUWebCommon.convFullHiraToFullKataV(sb.toString());

		return retString;
	}

	/**
	 * 契約者情報・生年月日を取得する
	 * 
	 * <br>
	 * @param keiyakushaInfoBean
	 * @return String
	 */
	private String getKshBirthday(X31SDataBeanAccess keiyakushaInfoBean)
	{
		StringBuilder sb = new StringBuilder();
		String retString = "";

		String month = "";
		String day = "";

		sb.append(keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.BIRTHD_YEAR_09, X31CWebConst.DATABEAN_GET_VALUE));

		month = keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.BIRTHD_MONTH_09, X31CWebConst.DATABEAN_GET_VALUE);
		if (2 > month.length())
		{
			month = CONST_0 + month;
		}
		sb.append(month);

		day = keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.BIRTHD_DAY_09, X31CWebConst.DATABEAN_GET_VALUE);
		if (2 > day.length())
		{
			day = CONST_0 + day;
		}
		sb.append(day);

		retString = sb.toString();

		return retString;
	}

	/**
	 * 契約者情報・郵便番号を取得する
	 * 
	 * <br>
	 * @param keiyakushaInfoBean
	 * @return String
	 */
	private String getKshPcd(X31SDataBeanAccess keiyakushaInfoBean)
	{
		StringBuilder sb = new StringBuilder();

		sb.append(keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KSH_PCD1_09, X31CWebConst.DATABEAN_GET_VALUE));
		sb.append(keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KSH_PCD2_09, X31CWebConst.DATABEAN_GET_VALUE));

		return sb.toString();
	}

	/**
	 * 契約者情報・都道府県を取得する
	 * 
	 * <br>
	 * @param keiyakushaInfoBean
	 * @return String
	 */
	private String getKshState(X31SDataBeanAccess keiyakushaInfoBean)
	{
		String retString = "";
		retString = keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KSH_STATE_09, X31CWebConst.DATABEAN_GET_VALUE);

		// TODO:都道府県・市区町村分割部品に置き換える
		if (retString.length() > 4)
		{
			retString = retString.substring(0, 4);
		}

		return retString;
	}

	/**
	 * 契約者情報・市区町村を取得する
	 * 
	 * <br>
	 * @param keiyakushaInfoBean
	 * @return String
	 */
	//	private String getKshCity(X31SDataBeanAccess keiyakushaInfoBean)
	//	{
	//		String retString = "";
	//		retString = keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KSH_STATE_09, X31CWebConst.DATABEAN_GET_VALUE);
	//
	//		// TODO:都道府県・市区町村分割部品に置き換える
	//		if (retString.length() > 4)
	//		{
	//			retString = retString.substring(4, retString.length());
	//		}
	//
	//		return retString;
	//	}
	/**
	 * 契約者情報・丁目を取得する
	 * 
	 * <br>
	 * @param keiyakushaInfoBean
	 * @return String
	 */
	//	private String getKshCho(X31SDataBeanAccess keiyakushaInfoBean)
	//	{
	//		String retString = "";
	//		retString = keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KSH_CHO_BNCHI_09, X31CWebConst.DATABEAN_GET_VALUE);
	//
	//		// TODO:丁目・番地分割部品に置き換える
	//		if (retString.length() > 3)
	//		{
	//			retString = retString.substring(0, 3);
	//		}
	//
	//		return retString;
	//	}
	/**
	 * 契約者情報・番地を取得する
	 * 
	 * <br>
	 * @param keiyakushaInfoBean
	 * @return String
	 */
	//	private String getKshBnchi(X31SDataBeanAccess keiyakushaInfoBean)
	//	{
	//		String retString = "";
	//		retString = keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KSH_CHO_BNCHI_09, X31CWebConst.DATABEAN_GET_VALUE);
	//
	//		// TODO:丁目・番地分割部品に置き換える
	//		if (retString.length() > 3)
	//		{
	//			retString = retString.substring(3, retString.length());
	//		}
	//
	//		return retString;
	//	}
	/**
	 * 契約者情報・電話番号を取得する
	 * 
	 * <br>
	 * @param keiyakushaInfoBean
	 * @return String
	 */
	private String getKshTelno(X31SDataBeanAccess keiyakushaInfoBean)
	{
		StringBuilder sb = new StringBuilder();

		sb.append(keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KSH_TELNO1_09, X31CWebConst.DATABEAN_GET_VALUE));
		sb.append(TEL_NO_SEPARATER);
		sb.append(keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KSH_TELNO2_09, X31CWebConst.DATABEAN_GET_VALUE));
		sb.append(TEL_NO_SEPARATER);
		sb.append(keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KSH_TELNO3_09, X31CWebConst.DATABEAN_GET_VALUE));

		return sb.toString();
	}

	// モバ単の場合は、連絡先電話番号には値が存在しない Otsuka 2013/02/15 start
	/**
	 * 契約者情報・連絡先電話番号を取得する
	 * 
	 * <br>
	 * @param keiyakushaInfoBean
	 * @return String
	 */
	//	private String getKshRrksTelno(X31SDataBeanAccess keiyakushaInfoBean)
	//	{
	//		StringBuilder sb = new StringBuilder();
	//
	//		sb.append(keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.RRKS_TELNO1_09, X31CWebConst.DATABEAN_GET_VALUE));
	//		sb.append(TEL_NO_SEPARATER);
	//		sb.append(keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.RRKS_TELNO2_09, X31CWebConst.DATABEAN_GET_VALUE));
	//		sb.append(TEL_NO_SEPARATER);
	//		sb.append(keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.RRKS_TELNO3_09, X31CWebConst.DATABEAN_GET_VALUE));
	//
	//		return sb.toString();
	//	}
	// モバ単の場合は、連絡先電話番号には値が存在しない Otsuka 2013/02/15 end
	/**
	 * 契約者情報・ＦＡＸ連絡希望ＦＡＸ番号を取得する
	 * 
	 * <br>
	 * @param keiyakushaInfoBean
	 * @return String
	 */
	private String getKshFaxno(X31SDataBeanAccess keiyakushaInfoBean)
	{
		StringBuilder sb = new StringBuilder();

		sb.append(keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.FAXNO1_09, X31CWebConst.DATABEAN_GET_VALUE));
		sb.append(TEL_NO_SEPARATER);
		sb.append(keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.FAXNO2_09, X31CWebConst.DATABEAN_GET_VALUE));
		sb.append(TEL_NO_SEPARATER);
		sb.append(keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.FAXNO3_09, X31CWebConst.DATABEAN_GET_VALUE));

		return sb.toString();
	}

	/**
	 * 契約者情報・代表者氏名を取得する
	 * 
	 * <br>
	 * @param keiyakushaInfoBean
	 * @return String
	 */
	private String getKshDhsNm(X31SDataBeanAccess keiyakushaInfoBean)
	{
		StringBuilder sb = new StringBuilder();

		sb.append(keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.DHSNM_SEI_09, X31CWebConst.DATABEAN_GET_VALUE));
		sb.append(ZENKAKU_SPACE);
		sb.append(keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.DHSNM_NM_09, X31CWebConst.DATABEAN_GET_VALUE));

		return sb.toString();
	}

	/**
	 * 契約者情報・代表者カナを取得する
	 * 
	 * <br>
	 * @param keiyakushaInfoBean
	 * @return String
	 */
	private String getKshDhsKatakana(X31SDataBeanAccess keiyakushaInfoBean)
	{
		StringBuilder sb = new StringBuilder();
		String retString = "";

		sb.append(keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.DHSKN_SEI_09, X31CWebConst.DATABEAN_GET_VALUE));
		sb.append(ZENKAKU_SPACE);
		sb.append(keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.DHSKN_NM_09, X31CWebConst.DATABEAN_GET_VALUE));

		retString = JFUWebCommon.convFullHiraToFullKataV(sb.toString());

		return retString;
	}

	/**
	 * 契約者情報・メールアドレスを取得する
	 * 
	 * <br>
	 * @param keiyakushaInfoBean
	 * @param keiSbt
	 * @return String
	 */
	public String getKshMlad(X31SDataBeanAccess keiyakushaInfoBean, String keiSbt)
	{
		String retString = "";

		if (JFUStrConst.CD00036_1.equals(keiSbt))
		{
			// 契約種別が個人の場合
			retString = keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KOJIN_MLAD_09, X31CWebConst.DATABEAN_GET_VALUE);
		}
		else
		{
			// 契約種別が法人の場合
			retString = keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.HOJIN_MLAD_09, X31CWebConst.DATABEAN_GET_VALUE);
		}

		return retString;
	}

	/**
	 * 支払い方法情報・クレジット・名義人（カナ）を取得する
	 * 
	 * <br>
	 * @param paywayInfoBean
	 * @return String
	 */
	private String getPaywayCustNmKana(X31SDataBeanAccess paywayInfoBean)
	{
		StringBuilder sb = new StringBuilder();

		sb.append(paywayInfoBean.sendMessageString(CommonInfoCFConst.CUST_NM_KANA_SEI_15, X31CWebConst.DATABEAN_GET_VALUE));
		sb.append(ZENKAKU_SPACE);
		sb.append(paywayInfoBean.sendMessageString(CommonInfoCFConst.CUST_NM_KANA_NM_15, X31CWebConst.DATABEAN_GET_VALUE));

		return sb.toString();
	}

	/**
	 * 支払い方法情報・クレジット・名義人（カナ）（法人)を取得する
	 * 
	 * <br>
	 * @param paywayInfoBean
	 * @return String
	 */
	private String getPaywayHouNmKana(X31SDataBeanAccess paywayInfoBean)
	{
		StringBuilder sb = new StringBuilder();

		sb.append(paywayInfoBean.sendMessageString(CommonInfoCFConst.CUST_NM_KANA_15, X31CWebConst.DATABEAN_GET_VALUE));

		return sb.toString();
	}
	/**
	 * 支払い方法情報・クレジット番号を取得する
	 * 
	 * <br>
	 * @param paywayInfoBean
	 * @return String
	 */
	private String getPaywayCrecardNo(X31SDataBeanAccess paywayInfoBean)
	{
		StringBuilder sb = new StringBuilder();

		sb.append(paywayInfoBean.sendMessageString(CommonInfoCFConst.CRECARD_NO1_15, X31CWebConst.DATABEAN_GET_VALUE));
		sb.append(CRECARD_NO_SEPARATER);
		sb.append(paywayInfoBean.sendMessageString(CommonInfoCFConst.CRECARD_NO2_15, X31CWebConst.DATABEAN_GET_VALUE));
		sb.append(CRECARD_NO_SEPARATER);
		sb.append(paywayInfoBean.sendMessageString(CommonInfoCFConst.CRECARD_NO3_15, X31CWebConst.DATABEAN_GET_VALUE));
		sb.append(CRECARD_NO_SEPARATER);
		sb.append(paywayInfoBean.sendMessageString(CommonInfoCFConst.CRECARD_NO4_15, X31CWebConst.DATABEAN_GET_VALUE));

		return sb.toString();
	}

	/**
	 * 支払い方法情報・クレジット・有効期限を取得する
	 * 
	 * <br>
	 * @param paywayInfoBean
	 * @return String
	 */
	private String getPaywayCrecardYkKigen(X31SDataBeanAccess paywayInfoBean)
	{
		StringBuilder sb = new StringBuilder();

		//		sb.append(paywayInfoBean.sendMessageString(CommonInfoCFConst.CRECARD_YK_KIGEN_MONTH_15, X31CWebConst.DATABEAN_GET_VALUE));
		//		sb.append(CRECARD_YK_KIGEN_SEPARATER);
		//		sb.append(paywayInfoBean.sendMessageString(CommonInfoCFConst.CRECARD_YK_KIGEN_YEAR_15, X31CWebConst.DATABEAN_GET_VALUE));
		sb.append(paywayInfoBean.sendMessageString(CommonInfoCFConst.CRECARD_YK_KIGEN_YEAR_15, X31CWebConst.DATABEAN_GET_VALUE));
		sb.append(CRECARD_YK_KIGEN_SEPARATER);
		sb.append(paywayInfoBean.sendMessageString(CommonInfoCFConst.CRECARD_YK_KIGEN_MONTH_15, X31CWebConst.DATABEAN_GET_VALUE));

		return sb.toString();
	}

	/**
	 * ｅｏモバイル.機器送付先・郵便番号を取得する
	 * 
	 * <br>
	 * @param eoMobileBean
	 * @return String
	 */
	private String getMobileKikiSohuPcd(X31SDataBeanAccess eoMobileBean)
	{
		StringBuilder sb = new StringBuilder();

		sb.append(eoMobileBean.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_SOHU_PCD1_14, X31CWebConst.DATABEAN_GET_VALUE));
		sb.append(eoMobileBean.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_SOHU_PCD2_14, X31CWebConst.DATABEAN_GET_VALUE));

		return sb.toString();
	}

	/**
	 * ｅｏモバイル.機器送付先・都道府県を取得する
	 * 
	 * <br>
	 * @param eoMobileBean
	 * @return String
	 */
	//	private String getMobileKikiSohuState(X31SDataBeanAccess eoMobileBean)
	//	{
	//		String retString = "";
	//		retString = eoMobileBean.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_SOHU_STATE_CITY_14, X31CWebConst.DATABEAN_GET_VALUE);
	//
	//		// TODO:都道府県・市区町村分割部品に置き換える
	//		retString = retString.substring(0, 4);
	//
	//		return retString;
	//	}
	/**
	 * ｅｏモバイル.機器送付先・市区町村を取得する
	 * 
	 * <br>
	 * @param eoMobileBean
	 * @return String
	 */
	//	private String getMobileKikiSohuCity(X31SDataBeanAccess eoMobileBean)
	//	{
	//		String retString = "";
	//		retString = eoMobileBean.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_SOHU_STATE_CITY_14, X31CWebConst.DATABEAN_GET_VALUE);
	//
	//		// TODO:都道府県・市区町村分割部品に置き換える
	//		retString = retString.substring(4, retString.length());
	//
	//		return retString;
	//	}
	/**
	 * ｅｏモバイル.機器送付先・丁目を取得する
	 * 
	 * <br>
	 * @param eoMobileBean
	 * @return String
	 */
	//	private String getMobileKikiSohuCho(X31SDataBeanAccess eoMobileBean)
	//	{
	//		String retString = "";
	//		retString = eoMobileBean.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_SOHU_CHO_BNCHI_14, X31CWebConst.DATABEAN_GET_VALUE);
	//
	//		// TODO:丁目・番地分割部品に置き換える
	//		retString = retString.substring(0, 3);
	//
	//		return retString;
	//	}
	/**
	 * ｅｏモバイル.機器送付先・番地を取得する
	 * 
	 * <br>
	 * @param eoMobileBean
	 * @return String
	 */
	//	private String getMobileKikiSohuBnchi(X31SDataBeanAccess eoMobileBean)
	//	{
	//		String retString = "";
	//		retString = eoMobileBean.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_SOHU_CHO_BNCHI_14, X31CWebConst.DATABEAN_GET_VALUE);
	//
	//		// TODO:丁目・番地分割部品に置き換える
	//		retString = retString.substring(3, retString.length());
	//
	//		return retString;
	//	}
	/**
	 * ｅｏモバイル.機器送付先・電話番号を取得する
	 * 
	 * <br>
	 * @param eoMobileBean
	 * @return String
	 */
	private String getMobileKikiSohuTelno(X31SDataBeanAccess eoMobileBean)
	{
		StringBuilder sb = new StringBuilder();

		sb.append(eoMobileBean.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_SOHU_TELNO1_14, X31CWebConst.DATABEAN_GET_VALUE));
		sb.append(TEL_NO_SEPARATER);
		sb.append(eoMobileBean.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_SOHU_TELNO2_14, X31CWebConst.DATABEAN_GET_VALUE));
		sb.append(TEL_NO_SEPARATER);
		sb.append(eoMobileBean.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_SOHU_TELNO3_14, X31CWebConst.DATABEAN_GET_VALUE));

		return sb.toString();
	}

	/**
	 * 申込種別コードを取得する
	 * 
	 * <br>
	 * 
	 * @param webNewInfoBean
	 * @return String
	 */
	private String getMskmSbtCd(X31SDataBeanAccess webNewInfoBean)
	{
		String mskmSbtCd = "";
		// ＷＥＢ新規情報.申込区分
		// 2012.2.7 参照元 共有フォームBean.契約者種別 ⇒ 共有フォームBean.申込区分に変更
		// String mskmKbn =
		// webNewInfoBean.sendMessageString(CommonInfoCFConst.KEI_SBT_06,
		// X31CWebConst.DATABEAN_GET_VALUE);
		String mskmKbn = webNewInfoBean.sendMessageString(CommonInfoCFConst.MSKM_KBN_06, X31CWebConst.DATABEAN_GET_VALUE);
		if (JFUStrConst.MSKM_KBN_NEW.equals(mskmKbn))
		{
			mskmSbtCd = JFUStrConst.KK0971_MSKM_SBT_CD_00001;
		}
		else if (JFUStrConst.MSKM_KBN_ADD.equals(mskmKbn))
		{
			mskmSbtCd = JFUStrConst.KK0971_MSKM_SBT_CD_00002;
		}
		return mskmSbtCd;
	}

	/**
	 * 異動区分を取得する
	 * 
	 * <br>
	 * @param webNewInfoBean
	 * @return String
	 */
	private String getIdoDiv(X31SDataBeanAccess webNewInfoBean)
	{
		String mskmSbtCd = "";
		// ＷＥＢ新規情報.申込区分
		String mskmKbn = webNewInfoBean.sendMessageString(CommonInfoCFConst.MSKM_KBN_06, X31CWebConst.DATABEAN_GET_VALUE);
		if (JFUStrConst.MSKM_KBN_NEW.equals(mskmKbn))
		{
			mskmSbtCd = JFUStrConst.CD00576_00001;
		}
		else if (JFUStrConst.MSKM_KBN_ADD.equals(mskmKbn))
		{
			mskmSbtCd = JFUStrConst.CD00576_00002;
		}
		return mskmSbtCd;
	}

	/**
	 * 料金グループコードを取得する
	 * 
	 * <br>
	 * @param eoMobileBean
	 * @return String
	 */
	private String getPrcGrpCd(X31SDataBeanAccess eoMobileBean)
	{
		String prcGrpCd = "";
		// ｅｏモバイル.モバイルコース
		String mobileCourse = eoMobileBean.sendMessageString(CommonInfoCFConst.MOBILE_COURSE_14, X31CWebConst.DATABEAN_GET_VALUE);

		if (JFUStrConst.MOBILE_COURSE_WIFI.equals(mobileCourse))
		{
			prcGrpCd = JFUStrConst.CD00133_07;
		}
		else if (JFUStrConst.MOBILE_COURSE_3G_7_2M.equals(mobileCourse) || JFUStrConst.MOBILE_COURSE_3G_21M.equals(mobileCourse)
				|| JFUStrConst.MOBILE_COURSE_3G_HHB.equals(mobileCourse) || JFUStrConst.MOBILE_COURSE_3G_21M_HHB.equals(mobileCourse))
		{
			// 2012.10.24 baba IT1-2012-0001556
			// 条件に光ハイブリッドを追加
			prcGrpCd = JFUStrConst.CD00133_08;
		}
		else if (JFUStrConst.MOBILE_COURSE_WIMAX.equals(mobileCourse))
		{
			prcGrpCd = JFUStrConst.CD00133_09;
		}
		return prcGrpCd;
	}

	/**
	 * 料金コースコードを取得する（サービス契約）
	 * 
	 * <br>
	 * @param eoMobileBean
	 * @param redirectInfoBean
	 * @return String
	 */
	private String getPcrsCdSvcKei(X31SDataBeanAccess eoMobileBean, X31SDataBeanAccess redirectInfoBean)
	{
		String pcrsCd = "";
		// ｅｏモバイル.モバイルコース
		String mobileCourse = eoMobileBean.sendMessageString(CommonInfoCFConst.MOBILE_COURSE_14, X31CWebConst.DATABEAN_GET_VALUE);
		// リダイレクト情報.ＷｉＭＡＸＲＯＭ
		String wimaxRom = redirectInfoBean.sendMessageString(CommonInfoCFConst.RED_WIMAXROM_17, X31CWebConst.DATABEAN_GET_VALUE);

		if (JFUStrConst.MOBILE_COURSE_WIFI.equals(mobileCourse))
		{
			pcrsCd = JFUStrConst.CD00134_A30;
		}
		else if (JFUStrConst.MOBILE_COURSE_3G_7_2M.equals(mobileCourse))
		{
			pcrsCd = JFUStrConst.CD00134_A26;
		}
		else if (JFUStrConst.MOBILE_COURSE_3G_21M.equals(mobileCourse))
		{
			pcrsCd = JFUStrConst.CD00134_A27;
		}
		else if (JFUStrConst.MOBILE_COURSE_WIMAX.equals(mobileCourse))
		{
			if (JFUStrConst.WIMAXROM_WHITE.equals(wimaxRom))
			{
				pcrsCd = JFUStrConst.CD00134_A29;
			}
			else if (JFUStrConst.WIMAXROM_BLACK.equals(wimaxRom))
			{
				pcrsCd = JFUStrConst.CD00134_A28;
			}
		}
		else if (JFUStrConst.MOBILE_COURSE_3G_HHB.equals(mobileCourse))
		{
			pcrsCd = JFUStrConst.CD00134_A59;
		}
		else if (JFUStrConst.MOBILE_COURSE_3G_21M_HHB.equals(mobileCourse))
		{
			pcrsCd = JFUStrConst.CD00134_A60;
		}
		return pcrsCd;
	}

	/**
	 * 料金コースコードを取得する（オプションサービス契約）
	 * 
	 * <br>
	 * @param eoMobileBean
	 * @param redirectInfoBean
	 * @return String
	 */
	private String getPcrsCdOpSvcKei(X31SDataBeanAccess eoMobileBean, X31SDataBeanAccess redirectInfoBean)
	{
		String pcrsCd = "";
		// ｅｏモバイル.モバイルコース
		String mobileCourse = eoMobileBean.sendMessageString(CommonInfoCFConst.MOBILE_COURSE_14, X31CWebConst.DATABEAN_GET_VALUE);

		if (JFUStrConst.MOBILE_COURSE_WIFI.equals(mobileCourse))
		{
			pcrsCd = JFUStrConst.CD00134_B16;
		}
		else
		{
			pcrsCd = JFUStrConst.CD00134_B01;
		}
		return pcrsCd;
	}

	/**
	 * 料金コースコードを取得する（機器提供サービス契約）
	 * 
	 * <br>
	 * @param eoMobileBean
	 * @param redirectInfoBean
	 * @return String
	 */
	private String getPcrsCdKktkSvcKei(X31SDataBeanAccess eoMobileBean, X31SDataBeanAccess redirectInfoBean)
	{
		String pcrsCd = "";
		// ｅｏモバイル.モバイルコース
		String mobileCourse = eoMobileBean.sendMessageString(CommonInfoCFConst.MOBILE_COURSE_14, X31CWebConst.DATABEAN_GET_VALUE);
		// ｅｏモバイル.通信機器タイプ
		String mobileKiki = eoMobileBean.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_14, X31CWebConst.DATABEAN_GET_VALUE);

		if (JFUStrConst.MOBILE_COURSE_3G_7_2M.equals(mobileCourse))
		{
			if (JFUStrConst.MOBILE_KIKI_ROUTER.equals(mobileKiki))
			{
				pcrsCd = JFUStrConst.CD00134_C27;
			}
			else if (JFUStrConst.MOBILE_KIKI_USB.equals(mobileKiki))
			{
				pcrsCd = JFUStrConst.CD00134_C28;
			}
		}
		else if (JFUStrConst.MOBILE_COURSE_3G_21M.equals(mobileCourse))
		{
			pcrsCd = JFUStrConst.CD00134_C29;
		}
		else if (JFUStrConst.MOBILE_COURSE_WIMAX.equals(mobileCourse))
		{
			if (JFUStrConst.MOBILE_KIKI_ROUTER.equals(mobileKiki))
			{
				pcrsCd = JFUStrConst.CD00134_C30;
			}
			else if (JFUStrConst.MOBILE_KIKI_USB.equals(mobileKiki))
			{
				pcrsCd = JFUStrConst.CD00134_C31;
			}
		}
		else if (JFUStrConst.MOBILE_COURSE_3G_HHB.equals(mobileCourse)) // TAI-2012-0000136 2012/12/27 h.iwamoto ハイブリッド抜け落ち対応 判定誤り
		{
			pcrsCd = JFUStrConst.CD00134_C27;
		}
		else if (JFUStrConst.MOBILE_COURSE_3G_21M_HHB.equals(mobileCourse))
		{
			pcrsCd = JFUStrConst.CD00134_C38;
		}
		return pcrsCd;
	}

	/**
	 * 料金プランコードを取得する（サービス契約）
	 * 
	 * <br>
	 * @param eoMobileBean
	 * @param redirectInfoBean
	 * @return String
	 */
	private String getPplanCdSvcKei(X31SDataBeanAccess eoMobileBean, X31SDataBeanAccess redirectInfoBean)
	{
		String pplanCd = "";
		// ｅｏモバイル.モバイルコース
		String mobileCourse = eoMobileBean.sendMessageString(CommonInfoCFConst.MOBILE_COURSE_14, X31CWebConst.DATABEAN_GET_VALUE);
		// リダイレクト情報.ＷｉＭＡＸＲＯＭ
		String wimaxRom = redirectInfoBean.sendMessageString(CommonInfoCFConst.RED_WIMAXROM_17, X31CWebConst.DATABEAN_GET_VALUE);

		if (JFUStrConst.MOBILE_COURSE_WIFI.equals(mobileCourse))
		{
			pplanCd = JFUStrConst.CD00565_PA3001;
		}
		else if (JFUStrConst.MOBILE_COURSE_3G_7_2M.equals(mobileCourse))
		{
			pplanCd = JFUStrConst.CD00565_PA2601;
		}
		else if (JFUStrConst.MOBILE_COURSE_3G_21M.equals(mobileCourse))
		{
			pplanCd = JFUStrConst.CD00565_PA2701;
		}
		else if (JFUStrConst.MOBILE_COURSE_WIMAX.equals(mobileCourse))
		{
			if (JFUStrConst.WIMAXROM_WHITE.equals(wimaxRom))
			{
				pplanCd = JFUStrConst.CD00565_PA2902;
			}
			else if (JFUStrConst.WIMAXROM_BLACK.equals(wimaxRom))
			{
				pplanCd = JFUStrConst.CD00565_PA2801;
			}
		}
		else if (JFUStrConst.MOBILE_COURSE_3G_HHB.equals(mobileCourse))
		{
			pplanCd = JFUStrConst.CD00565_PA5901;
		}
		else if (JFUStrConst.MOBILE_COURSE_3G_21M_HHB.equals(mobileCourse))
		{
			pplanCd = JFUStrConst.CD00565_PA6001;
		}
		return pplanCd;
	}

	/**
	 * 料金プランコードを取得する（オプションサービス契約）
	 * 
	 * <br>
	 * @param eoMobileBean
	 * @param redirectInfoBean
	 * @return String
	 */
	private String getPplanCdOpSvcKei(X31SDataBeanAccess eoMobileBean, X31SDataBeanAccess redirectInfoBean)
	{
		String pplanCd = "";
		// ｅｏモバイル.モバイルコース
		String mobileCourse = eoMobileBean.sendMessageString(CommonInfoCFConst.MOBILE_COURSE_14, X31CWebConst.DATABEAN_GET_VALUE);

		if (JFUStrConst.MOBILE_COURSE_WIFI.equals(mobileCourse))
		{
			pplanCd = JFUStrConst.CD00565_PB1601;
		}
		else
		{
			pplanCd = JFUStrConst.CD00565_PB0101;
		}
		return pplanCd;
	}

	/**
	 * 料金プランコードを取得する（機器提供サービス契約）
	 * 
	 * <br>
	 * @param eoMobileBean
	 * @param redirectInfoBean
	 * @return String
	 */
	private String getPplanCdKktkSvcKei(X31SDataBeanAccess eoMobileBean, X31SDataBeanAccess redirectInfoBean)
	{
		String pplanCd = "";
		// ｅｏモバイル.モバイルコース
		String mobileCourse = eoMobileBean.sendMessageString(CommonInfoCFConst.MOBILE_COURSE_14, X31CWebConst.DATABEAN_GET_VALUE);
		// ｅｏモバイル.通信機器タイプ
		String mobileKiki = eoMobileBean.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_14, X31CWebConst.DATABEAN_GET_VALUE);

		if (JFUStrConst.MOBILE_COURSE_3G_7_2M.equals(mobileCourse))
		{
			if (JFUStrConst.MOBILE_KIKI_ROUTER.equals(mobileKiki))
			{
				pplanCd = JFUStrConst.CD00565_PC2701;
			}
			else if (JFUStrConst.MOBILE_KIKI_USB.equals(mobileKiki))
			{
				pplanCd = JFUStrConst.CD00565_PC2801;
			}
		}
		else if (JFUStrConst.MOBILE_COURSE_3G_21M.equals(mobileCourse))
		{
			pplanCd = JFUStrConst.CD00565_PC2901;
		}
		else if (JFUStrConst.MOBILE_COURSE_WIMAX.equals(mobileCourse))
		{
			if (JFUStrConst.MOBILE_KIKI_ROUTER.equals(mobileKiki))
			{
				pplanCd = JFUStrConst.CD00565_PC3001;
			}
			else if (JFUStrConst.MOBILE_KIKI_USB.equals(mobileKiki))
			{
				pplanCd = JFUStrConst.CD00565_PC3101;
			}
		}
		else if (JFUStrConst.MOBILE_COURSE_3G_HHB.equals(mobileCourse))
		{
			pplanCd = JFUStrConst.CD00565_PC2701;
		}
		else if (JFUStrConst.MOBILE_COURSE_3G_21M_HHB.equals(mobileCourse))
		{
			pplanCd = JFUStrConst.CD00565_PC3801;
		}
		return pplanCd;
	}

	/**
	 *  請求契約番号を取得する
	 * 
	 * <br>
	 * @param cash_infobean　支払い情報情報
	 * @return String
	 */
	private String getSeikyKeiNo(X31SDataBeanAccess cash_infobean)
	{
		String retString = "";
		String hktgFlg = "";

		hktgFlg = cash_infobean.sendMessageString(CommonInfoCFConst.PAYWAY_CONTINUE_15, X31CWebConst.DATABEAN_GET_VALUE);

		// 請求契約番号
		if (hktgFlg.equals(JFUStrConst.CD00731_1))
		{
			retString = cash_infobean.sendMessageString(CommonInfoCFConst.HKTGI_SEIKY_KEI_NO_15, X31CWebConst.DATABEAN_GET_VALUE);
		}

		else
		{
			retString = cash_infobean.sendMessageString(CommonInfoCFConst.SEIKY_KEI_NO_15, X31CWebConst.DATABEAN_GET_VALUE);
		}

		return retString;
	}

	/**
	 *  更新年月日時分秒（請求契約）を取得する
	 * 
	 * <br>
	 * @param cash_infobean　支払い情報情報
	 * @return String
	 */
	private String getUpdDtmSeikyKei(X31SDataBeanAccess cash_infobean)
	{
		String retString = "";
		String hktgFlg = "";

		hktgFlg = cash_infobean.sendMessageString(CommonInfoCFConst.PAYWAY_CONTINUE_15, X31CWebConst.DATABEAN_GET_VALUE);

		// 請求契約番号
		if (hktgFlg.equals(JFUStrConst.CD00731_1))
		{
			retString = cash_infobean.sendMessageString(CommonInfoCFConst.HKTGI_UPD_DTM_SEIKY_KEI_15, X31CWebConst.DATABEAN_GET_VALUE);
		}

		else
		{
			retString = cash_infobean.sendMessageString(CommonInfoCFConst.UPD_DTM_SEIKY_KEI_15, X31CWebConst.DATABEAN_GET_VALUE);
		}

		return retString;
	}

	/**
	 * 申込書明細番号採番CC上りマッピングをする。
	 * @param bean 共有フォームBean
	 * @param inputMap サービスに設定するinputMap
	 * @return inputMap
	 */
	public HashMap setJFUMskmshoDtlSibnCC(X31SDataBeanAccess[] bean, HashMap inputMap)
	{

		if (bean == null)
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// WEB新規情報
		X31SDataBeanAccess bnWebinfo = getWebNewInfo(bean[0]);

		// 契約サービス情報
		X31SDataBeanAccess bnKeiyakuSvcInfo = getKeiyakuSvcInfo(bnWebinfo);

		// eoモバイル
		X31SDataBeanAccess bnEoMobile = getEOMobile(bnWebinfo);

		// 申込回線サービス
		parentMap.put("mskm_ksn_svc", bnWebinfo.sendMessageString(CommonInfoCFConst.MSKM_KSN_SVC_06, X31CWebConst.DATABEAN_GET_VALUE));

		// 申込マンションタイプ
		parentMap.put("mskm_mns_type", bnWebinfo.sendMessageString(CommonInfoCFConst.MSKM_MNS_TYPE_06, X31CWebConst.DATABEAN_GET_VALUE));

		// 販売タイプ
		parentMap.put("hanbai_type", bnWebinfo.sendMessageString(CommonInfoCFConst.HANBAI_TYPE_06, X31CWebConst.DATABEAN_GET_VALUE));

		// 契約中サービス（ネット）
		parentMap.put("now_svc_net", bnKeiyakuSvcInfo.sendMessageString(CommonInfoCFConst.NOW_SVC_NET_10, X31CWebConst.DATABEAN_GET_VALUE));

		// 契約中サービス（電話）
		parentMap.put("now_svc_tel", bnKeiyakuSvcInfo.sendMessageString(CommonInfoCFConst.NOW_SVC_TEL_10, X31CWebConst.DATABEAN_GET_VALUE));

		// 契約中サービス（テレビ）
		parentMap.put("now_svc_tv", bnKeiyakuSvcInfo.sendMessageString(CommonInfoCFConst.NOW_SVC_TV_10, X31CWebConst.DATABEAN_GET_VALUE));

		// 契約中サービス（モバイル）
		parentMap.put("now_svc_mobile", bnKeiyakuSvcInfo.sendMessageString(CommonInfoCFConst.NOW_SVC_MOBILE_10, X31CWebConst.DATABEAN_GET_VALUE));

		// 選択サービス（ネット）
		parentMap.put("select_svc_net", bnKeiyakuSvcInfo.sendMessageString(CommonInfoCFConst.SELECT_SVC_NET_10, X31CWebConst.DATABEAN_GET_VALUE));

		// 選択サービス（電話）
		parentMap.put("select_svc_tel", bnKeiyakuSvcInfo.sendMessageString(CommonInfoCFConst.SELECT_SVC_TEL_10, X31CWebConst.DATABEAN_GET_VALUE));

		// 選択サービス（テレビ）
		parentMap.put("select_svc_tv", bnKeiyakuSvcInfo.sendMessageString(CommonInfoCFConst.SELECT_SVC_TV_10, X31CWebConst.DATABEAN_GET_VALUE));

		// モバイルコース
		parentMap.put("mobile_course", bnEoMobile.sendMessageString(CommonInfoCFConst.MOBILE_COURSE_14, X31CWebConst.DATABEAN_GET_VALUE));

		inputMap.put("JFUMskmshoDtlNoSibnCC", parentMap);

		return inputMap;
	}

	/**
	 * 申込書明細番号採番CC下りマッピングをする。
	 * @param bean 共有フォームBean
	 * @param outputMap サービスの処理結果が格納されたoutputMap
	 */
	public void getJFUMskmshoDtlSibnCC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{
		if (outputMap == null || !outputMap.containsKey("JFUMskmshoDtlNoSibnCC"))
		{
			return;
		}

		// 申込書明細番号採番CCの結果を取得する。
		HashMap sibnMap = (HashMap)outputMap.get("JFUMskmshoDtlNoSibnCC");

		// WEB新規情報
		X31SDataBeanAccess bnWebinfo = getWebNewInfo(bean[0]);

		// ネットの申込書明細番号が採番されている場合
		if (sibnMap.containsKey("mskmsho_dtl_no_net"))
		{
			getEonet(bnWebinfo).sendMessageString(CommonInfoCFConst.MSKMSHO_DTL_NO_11, X31CWebConst.DATABEAN_SET_VALUE,
					(String)sibnMap.get("mskmsho_dtl_no_net"));
		}

		// 電話の申込書明細番号が採番されている場合
		if (sibnMap.containsKey("mskmsho_dtl_no_tel"))
		{
			X31SDataBeanAccess[] eoTelArray = getEotel(bnWebinfo);

			for (int i = 0; i < eoTelArray.length; i++)
			{
				eoTelArray[i].sendMessageString(CommonInfoCFConst.MSKMSHO_DTL_NO_12, X31CWebConst.DATABEAN_SET_VALUE, (String)sibnMap
						.get("mskmsho_dtl_no_tel"));
			}
		}

		// テレビの申込書明細番号が採番されている場合
		if (sibnMap.containsKey("mskmsho_dtl_no_tv"))
		{
			getEotv(bnWebinfo).sendMessageString(CommonInfoCFConst.MSKMSHO_DTL_NO_13, X31CWebConst.DATABEAN_SET_VALUE,
					(String)sibnMap.get("mskmsho_dtl_no_tv"));
		}

		// モバイルの申込書明細番号が採番されている場合
		if (sibnMap.containsKey("mskmsho_dtl_no_mobile"))
		{
			getEOMobile(bnWebinfo).sendMessageString(CommonInfoCFConst.MSKMSHO_DTL_NO_14, X31CWebConst.DATABEAN_SET_VALUE,
					(String)sibnMap.get("mskmsho_dtl_no_mobile"));
		}
	}

	// IT1-2012-0002522 Otsuka  2012/12/19 start
	/**
	 * 下りマッピング
	 * 
	 * @param bean
	 *            　[0]：eoモバイル申込内容確認　[1]：共有フォームビーン
	 * @param outputMap
	 * @return bean
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getFUSV016505SC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{
		HashMap parentMap = null;
		if (outputMap.containsKey("FUSV016505SC"))
		{
			parentMap = (HashMap)outputMap.get("FUSV016505SC");
		}
		else
		{
			return null;
		}

		// WEB新規情報
		X31SDataBeanAccess bnWebinfo = getWebNewInfo(bean[1]);
		// 契約サービス情報
		X31SDataBeanAccess bnKeiyakusvcinfo = getKeiyakuSvcInfo(bnWebinfo);

		// 共有フォームBean.契約サービス情報（申込番号） ← 申込登録マップ.申込番号
		bnKeiyakusvcinfo.sendMessageString(CommonInfoCFConst.TTDKI_NO_10, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("mskm_no"));
		// 共有フォームBean.契約サービス情報（更新年月日時分秒（申込）← 申込登録マップ.更新年月日時分秒
		bnKeiyakusvcinfo.sendMessageString(CommonInfoCFConst.UPD_DTM_MSKM_NO_10, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("upd_dtm"));

		return bean;
	}

	// IT1-2012-0002522 Otsuka  2012/12/19 end

	// No244 Otsuka 2013/02/13 start
	/**
	 * 同一請求先チェックCC上りマッピングをする
	 * 
	 * @param bean　[0]：共有フォームビーン　[1]：入力内容確認
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return outputMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap<String, Object> setJFUSameSeikyusakiCheckCC(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>();

		// WEB新規情報
		X31SDataBeanAccess bnWebinfo = getWebNewInfo(bean[1]);

		// 支払い方法情報
		X31SDataBeanAccess cash_infobean = getPaywayInfo(bnWebinfo);

		// モバイル情報
		X31SDataBeanAccess mobileInfoBean = getEOMobile(bnWebinfo);

		// 支払い方法引継ぎ
		String payWayCnt = cash_infobean.sendMessageString(CommonInfoCFConst.PAYWAY_CONTINUE_15, X31CWebConst.DATABEAN_GET_VALUE);
		// モバイルコース
		String mbCourse = mobileInfoBean.sendMessageString(CommonInfoCFConst.MOBILE_COURSE_14, X31CWebConst.DATABEAN_GET_VALUE);

		// 支払い方法を引き継がない場合、マッピングを行わない。
		if (!JFUStrConst.PAYWAY_CONTINUE_CONTINUE.equals(payWayCnt))
		{
			return outputMap;
		}

		// ハイブリッド以外の場合、マッピングを行わない。
		if (!JFUStrConst.MOBILE_COURSE_3G_HHB.equals(mbCourse) && !JFUStrConst.MOBILE_COURSE_3G_21M_HHB.equals(mbCourse))
		{
			return outputMap;
		}

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		// SYSID
		parentMap.put("key_sysid", bnWebinfo.sendMessageString(CommonInfoCFConst.SYSID_06, X31CWebConst.DATABEAN_GET_VALUE));

		// ＫＥＹ＿請求契約番号
		parentMap.put("key_seiky_kei_no", cash_infobean.sendMessageString(CommonInfoCFConst.HKTGI_SEIKY_KEI_NO_15, X31CWebConst.DATABEAN_GET_VALUE));

		// ハイブリッドのネット1回線に対しての最大契約数
		parentMap.put("max_same_seikyusaki_cnt", JFUWebCommon.getApplicationConst(MAX_SAME_SEIKYUSAKI_CNT));

		outputMap.put("JFUSameSeikyusakiCheckCC", parentMap);

		return outputMap;
	}
	// No244 Otsuka 2013/02/13 end
}