/*********************************************************************
* All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*   システム名      ：eo顧客基幹システム
*   モジュール名    ：ご契約者情報入力（量販・訪販）
*   ソースファイル名：FUW00921SFLogic.java
*   作成者          ：富士通
*   日付            ：2012年02月15日
*＜機能概要＞
*   ご契約者情報入力画面のビューロジックです。
*＜修正履歴＞
*   バージョン  修正日       修正者      修正内容
*   v1.00       2012/02/15   FJ）山崎    新規作成
*   v4.00       2012/10/11   FJ) 大塚    IT1-2012-0001050対応
*   v4.01       2012/12/03   FJ) 大村    「IT2-2012-0001949」対応（本人確認資料）
*   v4.02       2013/04/12   FJ) 岡井    【内部障害】生年月日コンボボックス対応
*   v5.00       2013/07/30   FJ) 瀧澤    【内部障害】ご本人様確認書類の登録対応
*   v8.00       2014/03/14   FJ）西山    【ANK-1962-00-00】関電CRMに向けた取り組み対応
*   v14.00      2015/04/10   FJ) 張本    【ANK-2439-00-00】紹介キャンペーン全チャネル展開
*   v29.00      2017/01/19   FJ）黒田    【ANK-3112-00-00】訪販チャネルのタブレット対応
*   v35.00      2017/09/21   FJ) 周藤    【ANK-3220-00-00】【工事を円滑に進めるための情報の授受について】の運用廃止
*   v35.00      2017/10/13   FJ) 岡井    【ANK-3225-00-00】未成年mineoマスタユーザのeo申込について
*   v39.00.00   2018/10/04   FJ）中西    【ANK-3518-00-00」量販サービス追加
*   v41.00.00   2019/02/28   FJ）松原    【ANK-3548-00-00】紹介コードの事前発番対応
*   v45.00      2019/07/01	 FJ) 張本    【ANK-3665-00-00】携帯電話番号の取得率向上対応
*   v45.01      2019/10/24	 FJ) 張本    【OM-2019-0001214】契約者住所と利用場所住所の差異フラグ不正
*   v51.00      2020/09/01	 FJ) 岡井    【ANK-3885-00-00】光化マンションの自動設計対応
*   v54.00      2021/07/19   FJ）美濃原  【ANK-4078-00-00】提携先企業向けエントリーコードの訪販量販webへの導入対応
*   v57.00      2022/02/09	 FJ) 張本    【ANK-4173-00-00】【eo顧客】解約後の契約情報表示、再申込対応
*   v62.00      2022/11/17	 FJ) 大槻    【ANK-4294-00-00】紹介CPの仕組み変更対応
*   v73.00.00   2024/12/09	 FJ) 浅井    【ANK-4427-00-00】NTT卸対応
**********************************************************************/
package eo.web.webview.FUW00921SF;

import static com.fujitsu.futurity.web.x31.X31SWebLog.DEBUG_LOG;

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.HashMap;
import java.util.Locale;
import java.util.Map;

import com.fujitsu.futurity.model.common.check.EmsizeCharCheck;
import com.fujitsu.futurity.model.common.check.HalfCharCheck;
import com.fujitsu.futurity.model.common.check.MixCharCheck;
import com.fujitsu.futurity.web.x00.JCCBusinessException;
import com.fujitsu.futurity.web.x00.JCCWebServiceException;
import com.fujitsu.futurity.web.x31.X31CWebConst;
import com.fujitsu.futurity.web.x31.X31SDataBeanAccess;
import com.fujitsu.futurity.web.x31.X31SDataBeanAccessArray;

import eo.common.constant.JFUStrConst;
import eo.common.constant.JPCModelConstant;
import eo.common.constant.JPCOnlineMessageConstant;
import eo.common.util.JFUCommonUtil;
import eo.common.util.JPCCheckUtil;
import eo.common.util.JPCDateUtil;
import eo.web.webview.JCCWebBusinessLogic;
import eo.web.webview.CommonInfoCF.CommonInfoCFConst;
import eo.web.webview.common.JCCWebCommon;
import eo.web.webview.common.JFUScreenConst;
import eo.web.webview.common.JFUWebCommon;
import eo.web.webview.mapping.FUSV0014_FUSV0014OPDBMapper;
import eo.web.webview.mapping.FUSV0202_FUSV0202OPDBMapper;
import eo.web.webview.mapping.FUSV0203_FUSV0203OPDBMapper;
import eo.web.webview.mapping.FUSV0204_FUSV0204OPDBMapper;
import eo.web.webview.mapping.FUSV0328_FUSV0328OPDBMapper;
import eo.web.webview.mapping.FUSV0343_FUSV0343OPDBMapper;

/**
 * ご契約者情報入力画面のビューロジックです。
 * <br>
 * @author 富士通
 */
@SuppressWarnings("serial")
public class FUW00921SFLogic extends JCCWebBusinessLogic
{
	/** プロパティファイル取得文字列 */
	private static final String QUERY_DISPTEXT_PATH = "DISPSETTING/SETTING[@screenId='FUW00921']/DISPTEXT";
	/** 属性名 */
	private static final String QUERY_ATTR_NAME = "id";

	/** サービスID:ご契約者情報入力(初期表示) */
	private static final String USECASE_ID_FUSV0202 = "FUSV0202";
	/** サービスID:ご契約者情報入力(新規個人)チェック */
	private static final String USECASE_ID_FUSV0203 = "FUSV0203";
	/** サービスID:ご契約者情報入力(新規法人)チェック */
	private static final String USECASE_ID_FUSV0204 = "FUSV0204";
	/** サービスID:SMS送信・キャンセル */
	private static final String USECASE_ID_FUSV0343 = "FUSV0343";

	/** 性別：男性 */
	private static final String KEY_GENDER_MALE = "GENDERMALE";
	/** 性別：女性 */
	private static final String KEY_GENDER_FEMALE = "GENDERFEMALE";

	/** 年 */
	public static final String L_YEAR_VALUE_LIST = "年";

	/** 月 */
	public static final String L_MONTH_VALUE_LIST = "月";

	/** 日*/
	public static final String L_DAY_VALUE_LIST = "日";

	/** クリア文字 */
	private static final String CLEAR = "";

	/** 半角スペース */
	private static final String SPACE = " ";

	/** 本人確認書類 その他 */
	private static final String OTHERS = "3";

	/** 紹介者チェック結果コード(整合性エラー) */
	private static final String RETURN_CD_2 = "2";

	/** 警告メッセージ表示フラグ(非表示) */
	private static final String WARN_MSG_DSP_FLG_0 = "0";
	/** 警告メッセージ表示フラグ(表示) */
	private static final String WARN_MSG_DSP_FLG_1 = "1";

// ANK-3220-00-00 ADD START
	/** 関西電力とのお客様情報の授受について 1：同意する */
	private static final String CUSTINFO_JUJU_DOI_UM_DOI = "1";
	/** 関西電力とのお客様情報の授受について 0：同意しない */
	private static final String CUSTINFO_JUJU_DOI_UM_HIDOI = "0";
// ANK-3220-00-00 ADD END
// ANK-3518-00-00 ADD START
	/** 表示タイプ：1  【ホーム-新規申込】*/
	private static final int HTYPE_HOME_MSKMNEW = 1;
	/** 表示タイプ：2  【ホーム-追加申込-新しい場所】*/
	private static final int HTYPE_HOME_MSKMADD_NEWPLACE = 2;
	/** 表示タイプ：3  【ホーム-追加申込-現在の場所】*/
	private static final int HTYPE_HOME_MSKMADD_ADDKEI = 3;
	/** 表示タイプ：4  【メゾン-新規申込】*/
	private static final int HTYPE_MEZON_MSKMNEW = 4;
	/** 表示タイプ：5  【メゾン-追加申込-新しい場所】*/
	private static final int HTYPE_MEZON_MSKMADD_NEWPLACE = 5;
	/** 表示タイプ：6  【メゾン-追加申込-現在の場所】*/
	private static final int HTYPE_MEZON_MSKMADD_ADDKEI = 6;
	/** 表示タイプ：7  【マンション-新規申込】*/
	private static final int HTYPE_MANSION_MSKMNEW = 7;
	/** 表示タイプ：8  【マンション-追加申込-新しい場所】*/
	private static final int HTYPE_MANSION_MSKMADD_NEWPLACE = 8;
	/** 表示タイプ：9  【マンション-追加申込-現在の場所】*/
	private static final int HTYPE_MANSION_MSKMADD_ADDKEI = 9;
	
	/** プルダウン：メールアドレスリスト(最初) */
	private static final String KEY_MAIL_AD_LIST_FIRST_LABEL = "MAIL_AD_LIST_FIRST_LABEL_VALUE";
	
	/** サービスID:ご契約者情報照会 */
	private static final String USECASE_ID_FUSV0328 = "FUSV0328";
	/** サービスID:ご契約者情報入力(追加)チェック */
	private static final String USECASE_ID_FUSV0014 = "FUSV0014";
	
	/** 区切り文字（正規表現） */
	private static final String NAME_SPLIT_STR = "[ 　\t]+";
	
	/** 年月日(年)の長さ：4 */
	private static final int YYYYMMDD_LENGTH_YEAR = 4;
	/** 年月日(月)の長さ：6 */
	private static final int YYYYMMDD_LENGTH_MONTH = 6;
	/** 年月日(日)の長さ：8 */
	private static final int YYYYMMDD_LENGTH_DAY = 8;

	/** 配列の要素番号：0 */
	private static final int ARRAY_INDEX_ZERO = 0;
	/** メールアドレスリスト 項目数(初期値) */
	private static final long EMAIL_LIST_SIZE_INIT = 1L;
	/** メールアドレスリスト 選択値(初期値) */
	private static final long EMAIL_SEL_INDEX_INIT = 0L;
	/** メールアドレスリスト 項目実値(初期値) */
	private static final String EMAIL_TRUE_VALUE_INIT = "";
	
	/** SCタイトル：FUSV032803SC */
	private static final String FUSV032803SC = "FUSV032803SC";
	/** SCタイトル：FUSV032804SC */
	private static final String FUSV032804SC = "FUSV032804SC";
	/** S-IF明細：EKK0361B501 */
	private static final String MAPKEY_EKK0361B501CBSMSG1LIST = "EKK0361B501CBSMsg1List";
	/** S-IF明細：ECK0201B503 */
	private static final String MAPKEY_ECK0201B503CBSMSG1LIST = "ECK0201B503CBSMsg1List";
// ANK-3518-00-00 ADD END

	/** [画面間引き継ぎ情報Mapキー]住所検索：郵便番号(前) */
	private static final String MAP_KEY_PCD_1 = "pcd_1";
	/** [画面間引き継ぎ情報Mapキー]住所検索：郵便番号(後) */
	private static final String MAP_KEY_PCD_2 = "pcd_2";

	/** 契約者住所とご利用場所の同一確認：同じ */
	private static final String BASHO_SAME = "1";

	/** 定義取得パス ワンタイムキー有効期限 */
	private static final String ONEKEY_KIGEN_MIN = "ONEKEY_KIGEN_MIN";

	/** プロパティファイル取得文字列（CX案件開始フラグ） */
	private static final String CX_START_FLG = "DISPSETTING/COMMONSETTING/DISPTEXT[@id='CX_START_FLG']";

	/**
	 * 初期処理
	 * 
	 * @return 必ずtrue
	 * @throws Exception
	 */
	public boolean init() throws Exception
	{
		// WEB新規情報
		X31SDataBeanAccess commonInfoBean = this.getCommonInfoBean();
		X31SDataBeanAccessArray beanArray = commonInfoBean.getDataBeanArray(CommonInfoCFConst.WEB_NEW_INFO);
		if (beanArray.getCount() <= 0)
		{
			beanArray.addDataBean();
		}
		X31SDataBeanAccess webNewBean = beanArray.getDataBean(0);
// ANK-3518-00-00 ADD START
		beanArray = webNewBean.getDataBeanArray(CommonInfoCFConst.ELSE_INFO);
		if (beanArray.getCount() <= 0)
		{
			beanArray.addDataBean();
		}
		X31SDataBeanAccess elseInfoBean = beanArray.getDataBean(0);
// ANK-3518-00-00 ADD END
		// サービスフォームBean
		X31SDataBeanAccess serviceFormBean = this.getServiceFormBean();
// ANK-3518-00-00 ADD START
		// 申込回線サービス、申込マンションタイプ、申込区分、回線場所選択 を得ます
		String mskmKsnSvc = webNewBean.sendMessageString(CommonInfoCFConst.MSKM_KSN_SVC_06, X31CWebConst.DATABEAN_GET_VALUE);
		String mskmMnsType = webNewBean.sendMessageString(CommonInfoCFConst.MSKM_MNS_TYPE_06, X31CWebConst.DATABEAN_GET_VALUE);
		String mskmKbn = webNewBean.sendMessageString(CommonInfoCFConst.MSKM_KBN_06, X31CWebConst.DATABEAN_GET_VALUE);
		String kaisenSelect = elseInfoBean.sendMessageString(CommonInfoCFConst.KAISEN_SELECT_18, X31CWebConst.DATABEAN_GET_VALUE);
		
		// ●表示タイプ設定処理
		int hyojiType = -1;
		hyojiType = this.getDispType(mskmKsnSvc, mskmKbn, kaisenSelect, mskmMnsType);
// ANK-3518-00-00 ADD END
		
// ANK-3518-00-00 MOD START
// ●初期表示時のFUW00921SFへのデータマッピング処理
//		setMappingReadNew(webNewBean, serviceFormBean);
		if (JFUStrConst.MSKM_KBN_NEW.equals(mskmKbn))
		{
			// 再申込の場合=追加用の初期化マッピングを呼び出します
			if (isWebMskmFuncCd3(webNewBean))
			{
				setMappingReadNew(webNewBean, serviceFormBean, hyojiType);
			}
			// 新規の場合=>新規用の初期化マッピングを呼び出します
			setMappingReadNew(webNewBean, serviceFormBean);
		}
		else if (JFUStrConst.MSKM_KBN_ADD.equals(mskmKbn))
		{
			// サービスの呼び出しを行う。
			try
			{
				// 契約中の回線に追加=>追加用のマッピングReadを呼び出します
				boolean serviceResult = setMappingReadAdd(webNewBean, serviceFormBean, hyojiType);
				if (!serviceResult)
				{
					// 初期表示処理を終了する。
					return true;
				}
			}
			catch (JCCWebServiceException se)
			{
				// 上記以外の場合システムエラーとし、業務共通例外クラス（JCCBusinessException）をスローする。
				throw new JCCBusinessException(JFUStrConst.ERROR_CODE_0002);
			}
		}
// ANK-3518-00-00 MOD END
		
// ANK-3518-00-00 ADD START
		
		// ＷＥＢ新規情報.契約種別
		String keiyakuSbt = webNewBean.sendMessageString(CommonInfoCFConst.KEI_SBT_06, X31CWebConst.DATABEAN_GET_VALUE);

		String cxStartFlg = JFUWebCommon.getDispItem(CX_START_FLG);
		serviceFormBean.sendMessageString(FUW00921SFConst.CX_START_FLG, X31CWebConst.DATABEAN_SET_VALUE, cxStartFlg);

		// ●契約種別個人契約法人契約ラベル表示有無、契約種別法人契約ラベル表示有無設定処理
		boolean flagKojin = false;
		boolean flagHojin = false;
		if (JFUStrConst.KEI_SBT_KOJINCD.equals(keiyakuSbt))
		{
			flagKojin = true;
			flagHojin = false;
		}
		else if (JFUStrConst.KEI_SBT_HOJINCD.equals(keiyakuSbt))
		{
			flagKojin = false;
			flagHojin = true;
		}

		// 契約種別が設定されていない場合個人とする
		else if ("".equals(keiyakuSbt))
		{
			flagKojin = true;
			flagHojin = false;
		}

		// ●画面エリア表示・非表示制御処理
		// 9態に合わせて以下をセットします
		// ------------------------------------
		// 契約種別選択表示有無
		// 契約種別個人契約ラベル表示有無
		// 契約種別法人契約ラベル表示有無
		// 契約者情報入力新規追加切替
		// 契約者情報入力個人表示有無
		// 契約者情報入力法人表示有無
		switch (hyojiType)
		{
			// 表示タイプ：1 【ホーム-新規申込】
			case HTYPE_HOME_MSKMNEW:
				DEBUG_LOG.info("----- 遷移の状態: 判別結果 ='ホーム-新規申込' -----");
				serviceFormBean.sendMessageBoolean(FUW00921SFConst.IS_SHOW_CONTRACTTYPE1AND2, X31CWebConst.DATABEAN_SET_VALUE, true);
				if ((keiyakuSbt == null) || ("".equals(keiyakuSbt)))
				{
					serviceFormBean.sendMessageString(FUW00921SFConst.KEI_SBT, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.KEI_SBT_KOJINCD);
				}
				serviceFormBean.sendMessageBoolean(FUW00921SFConst.IS_SHOW_CONTRACTTYPE1TITLE, X31CWebConst.DATABEAN_SET_VALUE, false);
				serviceFormBean.sendMessageBoolean(FUW00921SFConst.IS_SHOW_CONTRACTTYPE2TITLE, X31CWebConst.DATABEAN_SET_VALUE, false);
				serviceFormBean.sendMessageBoolean(FUW00921SFConst.SWITCH_INPUT_NEW_OR_ADD, X31CWebConst.DATABEAN_SET_VALUE, true);
				serviceFormBean.sendMessageBoolean(FUW00921SFConst.IS_SHOW_KOJIN_INPUT, X31CWebConst.DATABEAN_SET_VALUE, true);
				serviceFormBean.sendMessageBoolean(FUW00921SFConst.IS_SHOW_HOJIN_INPUT, X31CWebConst.DATABEAN_SET_VALUE, true);
				break;

			// 表示タイプ：2 【ホーム-追加申込-新しい場所】
			case HTYPE_HOME_MSKMADD_NEWPLACE:
				DEBUG_LOG.info("----- 遷移の状態: 判別結果 ='ホーム-追加申込-新しい場所' -----");
				serviceFormBean.sendMessageBoolean(FUW00921SFConst.IS_SHOW_CONTRACTTYPE1AND2, X31CWebConst.DATABEAN_SET_VALUE, false);
				serviceFormBean.sendMessageBoolean(FUW00921SFConst.IS_SHOW_CONTRACTTYPE1TITLE, X31CWebConst.DATABEAN_SET_VALUE, flagKojin);
				serviceFormBean.sendMessageBoolean(FUW00921SFConst.IS_SHOW_CONTRACTTYPE2TITLE, X31CWebConst.DATABEAN_SET_VALUE, flagHojin);
				serviceFormBean.sendMessageBoolean(FUW00921SFConst.SWITCH_INPUT_NEW_OR_ADD, X31CWebConst.DATABEAN_SET_VALUE, false);
				serviceFormBean.sendMessageBoolean(FUW00921SFConst.IS_SHOW_KOJIN_INPUT, X31CWebConst.DATABEAN_SET_VALUE, flagKojin);
				serviceFormBean.sendMessageBoolean(FUW00921SFConst.IS_SHOW_HOJIN_INPUT, X31CWebConst.DATABEAN_SET_VALUE, flagHojin);
				break;

			// 表示タイプ：3 【ホーム-追加申込-現在の場所】
			case HTYPE_HOME_MSKMADD_ADDKEI:
				DEBUG_LOG.info("----- 遷移の状態: 判別結果 ='ホーム-追加申込-現在の場所' -----");
				serviceFormBean.sendMessageBoolean(FUW00921SFConst.IS_SHOW_CONTRACTTYPE1AND2, X31CWebConst.DATABEAN_SET_VALUE, false);
				serviceFormBean.sendMessageBoolean(FUW00921SFConst.IS_SHOW_CONTRACTTYPE1TITLE, X31CWebConst.DATABEAN_SET_VALUE, flagKojin);
				serviceFormBean.sendMessageBoolean(FUW00921SFConst.IS_SHOW_CONTRACTTYPE2TITLE, X31CWebConst.DATABEAN_SET_VALUE, flagHojin);
				serviceFormBean.sendMessageBoolean(FUW00921SFConst.SWITCH_INPUT_NEW_OR_ADD, X31CWebConst.DATABEAN_SET_VALUE, false);
				serviceFormBean.sendMessageBoolean(FUW00921SFConst.IS_SHOW_KOJIN_INPUT, X31CWebConst.DATABEAN_SET_VALUE, flagKojin);
				serviceFormBean.sendMessageBoolean(FUW00921SFConst.IS_SHOW_HOJIN_INPUT, X31CWebConst.DATABEAN_SET_VALUE, flagHojin);
				break;

			// 表示タイプ：4 【メゾン-新規申込】
			case HTYPE_MEZON_MSKMNEW:
				DEBUG_LOG.info("----- 遷移の状態: 判別結果 ='メゾン-新規申込' -----");
				serviceFormBean.sendMessageBoolean(FUW00921SFConst.IS_SHOW_CONTRACTTYPE1AND2, X31CWebConst.DATABEAN_SET_VALUE, true);
				serviceFormBean.sendMessageBoolean(FUW00921SFConst.IS_SHOW_CONTRACTTYPE1TITLE, X31CWebConst.DATABEAN_SET_VALUE, false);
				serviceFormBean.sendMessageBoolean(FUW00921SFConst.IS_SHOW_CONTRACTTYPE2TITLE, X31CWebConst.DATABEAN_SET_VALUE, false);
				serviceFormBean.sendMessageBoolean(FUW00921SFConst.SWITCH_INPUT_NEW_OR_ADD, X31CWebConst.DATABEAN_SET_VALUE, true);
				serviceFormBean.sendMessageBoolean(FUW00921SFConst.IS_SHOW_KOJIN_INPUT, X31CWebConst.DATABEAN_SET_VALUE, true);
				serviceFormBean.sendMessageBoolean(FUW00921SFConst.IS_SHOW_HOJIN_INPUT, X31CWebConst.DATABEAN_SET_VALUE, true);
				break;

			// 表示タイプ：5 【メゾン-追加申込-新しい場所】
			case HTYPE_MEZON_MSKMADD_NEWPLACE:
				DEBUG_LOG.info("----- 遷移の状態: 判別結果 ='メゾン-追加申込-新しい場所' -----");
				serviceFormBean.sendMessageBoolean(FUW00921SFConst.IS_SHOW_CONTRACTTYPE1AND2, X31CWebConst.DATABEAN_SET_VALUE, false);
				serviceFormBean.sendMessageBoolean(FUW00921SFConst.IS_SHOW_CONTRACTTYPE1TITLE, X31CWebConst.DATABEAN_SET_VALUE, true);
				serviceFormBean.sendMessageBoolean(FUW00921SFConst.IS_SHOW_CONTRACTTYPE2TITLE, X31CWebConst.DATABEAN_SET_VALUE, false);
				serviceFormBean.sendMessageBoolean(FUW00921SFConst.SWITCH_INPUT_NEW_OR_ADD, X31CWebConst.DATABEAN_SET_VALUE, false);
				serviceFormBean.sendMessageBoolean(FUW00921SFConst.IS_SHOW_KOJIN_INPUT, X31CWebConst.DATABEAN_SET_VALUE, flagKojin);
				serviceFormBean.sendMessageBoolean(FUW00921SFConst.IS_SHOW_HOJIN_INPUT, X31CWebConst.DATABEAN_SET_VALUE, flagHojin);
				break;

			// 表示タイプ：6 【メゾン-追加申込-現在の場所】
			case HTYPE_MEZON_MSKMADD_ADDKEI:
				DEBUG_LOG.info("----- 遷移の状態: 判別結果 ='メゾン-追加申込-現在の場所' -----");
				serviceFormBean.sendMessageBoolean(FUW00921SFConst.IS_SHOW_CONTRACTTYPE1AND2, X31CWebConst.DATABEAN_SET_VALUE, false);
				serviceFormBean.sendMessageBoolean(FUW00921SFConst.IS_SHOW_CONTRACTTYPE1TITLE, X31CWebConst.DATABEAN_SET_VALUE, true);
				serviceFormBean.sendMessageBoolean(FUW00921SFConst.IS_SHOW_CONTRACTTYPE2TITLE, X31CWebConst.DATABEAN_SET_VALUE, false);
				serviceFormBean.sendMessageBoolean(FUW00921SFConst.SWITCH_INPUT_NEW_OR_ADD, X31CWebConst.DATABEAN_SET_VALUE, false);
				serviceFormBean.sendMessageBoolean(FUW00921SFConst.IS_SHOW_KOJIN_INPUT, X31CWebConst.DATABEAN_SET_VALUE, flagKojin);
				serviceFormBean.sendMessageBoolean(FUW00921SFConst.IS_SHOW_HOJIN_INPUT, X31CWebConst.DATABEAN_SET_VALUE, flagHojin);
				break;

			// 表示タイプ：7 【マンション-新規申込】
			case HTYPE_MANSION_MSKMNEW:
				DEBUG_LOG.info("----- 遷移の状態: 判別結果 ='マンション-新規申込' -----");
				serviceFormBean.sendMessageBoolean(FUW00921SFConst.IS_SHOW_CONTRACTTYPE1AND2, X31CWebConst.DATABEAN_SET_VALUE, true);
				if ((keiyakuSbt == null) || ("".equals(keiyakuSbt)))
				{
					serviceFormBean.sendMessageString(FUW00921SFConst.KEI_SBT, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.KEI_SBT_KOJINCD);
				}
				serviceFormBean.sendMessageBoolean(FUW00921SFConst.IS_SHOW_CONTRACTTYPE1TITLE, X31CWebConst.DATABEAN_SET_VALUE, false);
				serviceFormBean.sendMessageBoolean(FUW00921SFConst.IS_SHOW_CONTRACTTYPE2TITLE, X31CWebConst.DATABEAN_SET_VALUE, false);
				serviceFormBean.sendMessageBoolean(FUW00921SFConst.SWITCH_INPUT_NEW_OR_ADD, X31CWebConst.DATABEAN_SET_VALUE, true);
				serviceFormBean.sendMessageBoolean(FUW00921SFConst.IS_SHOW_KOJIN_INPUT, X31CWebConst.DATABEAN_SET_VALUE, true);
				serviceFormBean.sendMessageBoolean(FUW00921SFConst.IS_SHOW_HOJIN_INPUT, X31CWebConst.DATABEAN_SET_VALUE, true);
				break;

			// 表示タイプ：8 【マンション-追加申込-新しい場所】
			case HTYPE_MANSION_MSKMADD_NEWPLACE:
				DEBUG_LOG.info("----- 遷移の状態: 判別結果 ='マンション-追加申込-新しい場所' -----");
				serviceFormBean.sendMessageBoolean(FUW00921SFConst.IS_SHOW_CONTRACTTYPE1AND2, X31CWebConst.DATABEAN_SET_VALUE, false);
				serviceFormBean.sendMessageBoolean(FUW00921SFConst.IS_SHOW_CONTRACTTYPE1TITLE, X31CWebConst.DATABEAN_SET_VALUE, flagKojin);
				serviceFormBean.sendMessageBoolean(FUW00921SFConst.IS_SHOW_CONTRACTTYPE2TITLE, X31CWebConst.DATABEAN_SET_VALUE, flagHojin);
				serviceFormBean.sendMessageBoolean(FUW00921SFConst.SWITCH_INPUT_NEW_OR_ADD, X31CWebConst.DATABEAN_SET_VALUE, false);
				serviceFormBean.sendMessageBoolean(FUW00921SFConst.IS_SHOW_KOJIN_INPUT, X31CWebConst.DATABEAN_SET_VALUE, flagKojin);
				serviceFormBean.sendMessageBoolean(FUW00921SFConst.IS_SHOW_HOJIN_INPUT, X31CWebConst.DATABEAN_SET_VALUE, flagHojin);
				break;

			// 表示タイプ：9 【マンション-追加申込-現在の場所】
			case HTYPE_MANSION_MSKMADD_ADDKEI:
				DEBUG_LOG.info("----- 遷移の状態: 判別結果 ='マンション-追加申込-現在の場所' -----");
				serviceFormBean.sendMessageBoolean(FUW00921SFConst.IS_SHOW_CONTRACTTYPE1AND2, X31CWebConst.DATABEAN_SET_VALUE, false);
				serviceFormBean.sendMessageBoolean(FUW00921SFConst.IS_SHOW_CONTRACTTYPE1TITLE, X31CWebConst.DATABEAN_SET_VALUE, flagKojin);
				serviceFormBean.sendMessageBoolean(FUW00921SFConst.IS_SHOW_CONTRACTTYPE2TITLE, X31CWebConst.DATABEAN_SET_VALUE, flagHojin);
				serviceFormBean.sendMessageBoolean(FUW00921SFConst.SWITCH_INPUT_NEW_OR_ADD, X31CWebConst.DATABEAN_SET_VALUE, false);
				serviceFormBean.sendMessageBoolean(FUW00921SFConst.IS_SHOW_KOJIN_INPUT, X31CWebConst.DATABEAN_SET_VALUE, flagKojin);
				serviceFormBean.sendMessageBoolean(FUW00921SFConst.IS_SHOW_HOJIN_INPUT, X31CWebConst.DATABEAN_SET_VALUE, flagHojin);
				break;

			default:
				
				DEBUG_LOG.info("----- 遷移の状態: 判別結果 ='不明' -----");
				DEBUG_LOG.info("☆★ 遷移パラメータの組み合わせが想定外です！");
				break;
				
		}
		
// ANK-3518-00-00 ADD END
		return true;
	}

	/**
	 * 次画面遷移処理
	 * 
	 * @return 必ずtrue
	 * @throws Exception
	 */
	public boolean next() throws Exception
	{
		X31SDataBeanAccess commonInfoBean = this.getCommonInfoBean();
		X31SDataBeanAccessArray beanArray = commonInfoBean.getDataBeanArray(CommonInfoCFConst.WEB_NEW_INFO);
		X31SDataBeanAccess webNewBean = beanArray.getDataBean(0);

		X31SDataBeanAccess serviceFormBean = this.getServiceFormBean();

		// メゾンの場合、契約種別が画面で入力できないため設定する。
		String mskmKsnSvc = webNewBean.sendMessageString(CommonInfoCFConst.MSKM_KSN_SVC_06, X31CWebConst.DATABEAN_GET_VALUE);
		String mskmMnsType = webNewBean.sendMessageString(CommonInfoCFConst.MSKM_MNS_TYPE_06, X31CWebConst.DATABEAN_GET_VALUE);
		if (JFUStrConst.MSKM_KSN_SVC_MANSION.equals(mskmKsnSvc) && JFUStrConst.MSKM_MNS_TYPE_MEZON.equals(mskmMnsType))
		{
			if ("".equals(serviceFormBean.sendMessageString(FUW00921SFConst.KEI_SBT, X31CWebConst.DATABEAN_GET_VALUE)))
			{
				// メゾン
				serviceFormBean.sendMessageString(FUW00921SFConst.KEI_SBT, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.KEI_SBT_KOJINCD);
			}
		}

		// 警告メッセージフラグが表示済の場合、警告メッセージフラグをクリア
		String warnMsgDspFlg = serviceFormBean.sendMessageString(FUW00921SFConst.WARN_MSG_DSP_FLG, X31CWebConst.DATABEAN_GET_VALUE);
		if (WARN_MSG_DSP_FLG_1.equals(warnMsgDspFlg))
		{
			serviceFormBean.sendMessageString(FUW00921SFConst.WARN_MSG_DSP_FLG, X31CWebConst.DATABEAN_SET_VALUE, WARN_MSG_DSP_FLG_0);
		}
		// サービスの呼び出しを行う。
		else
		{
			try
			{
				// ●次へボタン・確認画面に戻るボタン押下時共通処理
				boolean serviceResult = isCommonNextBackKakunin(webNewBean, serviceFormBean);
				if (!serviceResult)
				{
					// 次画面遷移処理を終了する。
					return true;
				}
			}
			catch (JCCWebServiceException se)
			{
				// 上記以外の場合システムエラーとし、業務共通例外クラス（JCCBusinessException）をスローする。
				throw new JCCBusinessException(JFUStrConst.ERROR_CODE_0002);
			}
		}
		// ●遷移先画面の設定
		// エラーがなければ住所情報入力画面へ遷移します
		JCCWebCommon.setScreenId(this, JFUScreenConst.SCREEN_ID_FUW00922, JFUScreenConst.SCREEN_ID_FUW00921);

		webNewBean.sendMessageString(CommonInfoCFConst.SCREEN_MODE_06, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.SCREEN_MODE_DEF);
		commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JFUScreenConst.SCREEN_ID_FUW00922);
		commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JFUScreenConst.SCREEN_NAME_FUW00922);

		return true;
	}

	/**
	 * 前画面遷移処理
	 * 
	 * @return 必ずtrue
	 * @throws Exception
	 */
	public boolean back() throws Exception
	{
		X31SDataBeanAccess commonInfoBean = this.getCommonInfoBean();
		X31SDataBeanAccessArray webNewInfoBeanArray = commonInfoBean.getDataBeanArray(CommonInfoCFConst.WEB_NEW_INFO);
		X31SDataBeanAccess webNewBean = webNewInfoBeanArray.getDataBean(0);

		X31SDataBeanAccessArray redirectInfoBeanArray = webNewBean.getDataBeanArray(CommonInfoCFConst.REDIRECT_INFO);

		if (redirectInfoBeanArray.getCount() <= 0)
		{
			redirectInfoBeanArray.addDataBean();
		}
		redirectInfoBeanArray.getDataBean(0);

		// 値のクリア処理
		X31SDataBeanAccessArray keiyakusyaInfoBeanArray = webNewBean.getDataBeanArray(CommonInfoCFConst.KEIYAKUSHA_INFO);

		X31SDataBeanAccessArray elseInfoBeanArray = webNewBean.getDataBeanArray(CommonInfoCFConst.ELSE_INFO);
		if (elseInfoBeanArray.getCount() <= 0)
		{
			elseInfoBeanArray.addDataBean();
		}
		// その他情報情報Bean
		X31SDataBeanAccess elseInfoBean = elseInfoBeanArray.getDataBean(0);

		if (keiyakusyaInfoBeanArray.getCount() <= 0)
		{
			keiyakusyaInfoBeanArray.addDataBean();
		}
		X31SDataBeanAccess keiyakusha_info_bean = keiyakusyaInfoBeanArray.getDataBean(0);

		keiyakusha_info_bean.sendMessageString(CommonInfoCFConst.KEPCO_CUSTINFO_JUJU_DOI_UM_09, X31CWebConst.DATABEAN_SET_VALUE, CLEAR);
		keiyakusha_info_bean.sendMessageString(CommonInfoCFConst.KEPG_KJNIF_TRAT_DOI_UM_09, X31CWebConst.DATABEAN_SET_VALUE, CLEAR);
		keiyakusha_info_bean.sendMessageString(CommonInfoCFConst.KEPG_KJNIF_TRAT_DOI_UM_MNG_09, X31CWebConst.DATABEAN_SET_VALUE, CLEAR);
		keiyakusha_info_bean.sendMessageString(CommonInfoCFConst.KEPG_KJNIFT_FFG_09, X31CWebConst.DATABEAN_SET_VALUE, CLEAR);
		keiyakusha_info_bean.sendMessageString(CommonInfoCFConst.KEPG_KJNIFT_FFG_MNG_09, X31CWebConst.DATABEAN_SET_VALUE, CLEAR);

		//「IT2-2012-0001949」対応　本人確認情報の変更(その他情報から契約者情報へ) >>>
		keiyakusha_info_bean.sendMessageString(CommonInfoCFConst.HONNIN_SELECT_09, X31CWebConst.DATABEAN_SET_VALUE, CLEAR); // 本人確認書類選択
		keiyakusha_info_bean.sendMessageString(CommonInfoCFConst.HONNIN_DETAIL_09, X31CWebConst.DATABEAN_SET_VALUE, CLEAR); // 本人確認書類詳細
		//「IT2-2012-0001949」対応　本人確認情報の変更(その他情報から契約者情報へ) <<<

		// 共通クリア処理
		JFUWebCommon.comClear(this);

		X31SDataBeanAccess serviceFormBean = this.getServiceFormBean();
		// SMS送信済の場合はキャンセルする。
		String mskmKbn = webNewBean.sendMessageString(CommonInfoCFConst.MSKM_KBN_06, X31CWebConst.DATABEAN_GET_VALUE);
		if (JFUStrConst.MSKM_KBN_NEW.equals(mskmKbn))
		{
			String skbtKey = serviceFormBean.sendMessageString(FUW00921SFConst.SKBT_KEY, X31CWebConst.DATABEAN_GET_VALUE);
			if ("1".equals(serviceFormBean.sendMessageString(FUW00921SFConst.SMS_SEND_FLG, X31CWebConst.DATABEAN_GET_VALUE))
					&& (skbtKey != null && skbtKey.length() > 0))
			{
				sendCancel();
			}
			keiyakusha_info_bean.sendMessageString(CommonInfoCFConst.KANRI_NO_09, X31CWebConst.DATABEAN_SET_VALUE,
					serviceFormBean.sendMessageString(FUW00921SFConst.KANRI_NO, X31CWebConst.DATABEAN_GET_VALUE));
			keiyakusha_info_bean.sendMessageString(CommonInfoCFConst.SKBT_KEY_09, X31CWebConst.DATABEAN_SET_VALUE, skbtKey);
		}

		//---- クリア処理共通化対応 end ----//
		// 戻り先をセットします
		JCCWebCommon.setScreenId(this, JFUScreenConst.SCREEN_ID_FUW00926, JFUScreenConst.SCREEN_ID_FUW00921);
		webNewBean.sendMessageString(CommonInfoCFConst.SCREEN_MODE_06, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.SCREEN_MODE_DEF);

		commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JFUScreenConst.SCREEN_ID_FUW00926);
		commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JFUScreenConst.SCREEN_NAME_FUW00926);

		return true;
	}

	/**
	 * 確認画面遷移処理
	 * 
	 * @return 必ずtrue
	 * @throws Exception
	 */
	public boolean backKakunin() throws Exception
	{
		X31SDataBeanAccess commonInfoBean = this.getCommonInfoBean();

		// ＷＥＢ新規情報
		X31SDataBeanAccessArray webNewInfoBeanArray = commonInfoBean.getDataBeanArray(CommonInfoCFConst.WEB_NEW_INFO);
		X31SDataBeanAccess webNewBean = webNewInfoBeanArray.getDataBean(0);

		X31SDataBeanAccess serviceFormBean = this.getServiceFormBean();

		// 警告メッセージフラグが表示済の場合、警告メッセージフラグをクリア
		String warnMsgDspFlg = serviceFormBean.sendMessageString(FUW00921SFConst.WARN_MSG_DSP_FLG, X31CWebConst.DATABEAN_GET_VALUE);
		if (WARN_MSG_DSP_FLG_1.equals(warnMsgDspFlg))
		{
			serviceFormBean.sendMessageString(FUW00921SFConst.WARN_MSG_DSP_FLG, X31CWebConst.DATABEAN_SET_VALUE, WARN_MSG_DSP_FLG_0);
		}
		// サービスの呼び出しを行う。
		else
		{
			try
			{
				// ●次へボタン・確認画面に戻るボタン押下時共通処理
				boolean serviceResult = isCommonNextBackKakunin(webNewBean, serviceFormBean);
				if (!serviceResult)
				{
					webNewBean.sendMessageString(CommonInfoCFConst.SCREEN_MODE_06, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.SCREEN_MODE_KAKUNIN);
					// 次画面遷移処理を終了する。
					return true;
				}
			}
			catch (JCCWebServiceException se)
			{
				// 上記以外の場合システムエラーとし、業務共通例外クラス（JCCBusinessException）をスローする。
				throw new JCCBusinessException(JFUStrConst.ERROR_CODE_0002);
			}
		}

		// 契約者情報Bean
		X31SDataBeanAccessArray keiyakushaInfoBeanArray = webNewBean.getDataBeanArray(CommonInfoCFConst.KEIYAKUSHA_INFO);
		if (keiyakushaInfoBeanArray.getCount() == 0)
		{
			keiyakushaInfoBeanArray.addDataBean();
		}
		X31SDataBeanAccess keiyakushaInfoBean = keiyakushaInfoBeanArray.getDataBean(0);

		// 利用場所情報Bean
		X31SDataBeanAccessArray usePlaceInfoBeanArray = webNewBean.getDataBeanArray(CommonInfoCFConst.RIYOBASHO_INFO); // 利用場所情報
		if (usePlaceInfoBeanArray.getCount() == 0)
		{
			usePlaceInfoBeanArray.addDataBean();
		}
		X31SDataBeanAccess usePlaceInfoBean = usePlaceInfoBeanArray.getDataBean(0);

		// 契約者住所と利用場所住所の差異がある場合、契約者住所選択をクリアする。
		if (BASHO_SAME.equals(keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KSHADD_CMF_09, X31CWebConst.DATABEAN_GET_VALUE))
				&& (!usePlaceInfoBean.sendMessageString(CommonInfoCFConst.USEPLACE_PCD1_08, X31CWebConst.DATABEAN_GET_VALUE).equals(
						keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KSH_PCD1_09, X31CWebConst.DATABEAN_GET_VALUE))
				|| !usePlaceInfoBean.sendMessageString(CommonInfoCFConst.USEPLACE_PCD2_08, X31CWebConst.DATABEAN_GET_VALUE).equals(
						keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KSH_PCD2_09, X31CWebConst.DATABEAN_GET_VALUE))
				|| !usePlaceInfoBean.sendMessageString(CommonInfoCFConst.USEPLACE_STATE_08, X31CWebConst.DATABEAN_GET_VALUE).equals(
						keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KSH_STATE_09, X31CWebConst.DATABEAN_GET_VALUE))
				|| !usePlaceInfoBean.sendMessageString(CommonInfoCFConst.USEPLACE_AZA_08, X31CWebConst.DATABEAN_GET_VALUE).equals(
						keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KSH_AZA_09, X31CWebConst.DATABEAN_GET_VALUE))
				|| !usePlaceInfoBean.sendMessageString(CommonInfoCFConst.USEPLACE_CHO_BNCHI_08, X31CWebConst.DATABEAN_GET_VALUE).equals(
						keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KSH_CHO_BNCHI_09, X31CWebConst.DATABEAN_GET_VALUE))
				|| !usePlaceInfoBean.sendMessageString(CommonInfoCFConst.USEPLACE_TTM_08, X31CWebConst.DATABEAN_GET_VALUE).equals(
						keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KSH_TTM_09, X31CWebConst.DATABEAN_GET_VALUE)) 
				|| !usePlaceInfoBean.sendMessageString(CommonInfoCFConst.USEPLACE_RRM_08, X31CWebConst.DATABEAN_GET_VALUE).equals(
						keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KSH_RRM_09, X31CWebConst.DATABEAN_GET_VALUE))))
		{
			keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KSHADD_CMF_09, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
		}

		// ●遷移先画面の設定
		// 入力内容確認画面へ遷移します
		JCCWebCommon.setScreenId(this, JFUScreenConst.SCREEN_ID_FUW00921, JFUScreenConst.SCREEN_ID_FUW00927);
		commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JFUScreenConst.SCREEN_ID_FUW00927);
		commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JFUScreenConst.SCREEN_NAME_FUW00927);

		return true;
	}

	/**
	 * 新規申込時の初期、再表示用マッピング処理
	 * <br>
	 * @param webNewBean 共有フォームBean.ＷＥＢ新規情報
	 * @param serviceFormBean サービスフォームBean
	 * @return なし
	 * @throws Exception 
	 */
	private void setMappingReadNew(X31SDataBeanAccess webNewBean, X31SDataBeanAccess serviceFormBean) throws Exception
	{
		// 新規申込時の初期、再表示用マッピング

		//「IT2-2012-0001949」対応　本人確認情報の変更 >>> ...場所移動
		// 契約者情報
		X31SDataBeanAccessArray keiyakushaInfoBeanArray = webNewBean.getDataBeanArray(CommonInfoCFConst.KEIYAKUSHA_INFO);
		if (keiyakushaInfoBeanArray.getCount() <= 0)
		{
			keiyakushaInfoBeanArray.addDataBean();
		}
		X31SDataBeanAccess keiyakushaInfoBean = keiyakushaInfoBeanArray.getDataBean(0);
		//「IT2-2012-0001949」対応　本人確認情報の変更 >>>

		
		// その他情報
		X31SDataBeanAccessArray elseInfoBeanArray = webNewBean.getDataBeanArray(CommonInfoCFConst.ELSE_INFO);
		if (elseInfoBeanArray.getCount() <= 0)
		{
			elseInfoBeanArray.addDataBean();
		}
		X31SDataBeanAccess elseInfoBean = elseInfoBeanArray.getDataBean(0);

		 //ＰＡＳＣＯ情報
		X31SDataBeanAccessArray pascoInfoBeanArray = webNewBean.getDataBeanArray(CommonInfoCFConst.PASCO_INFO);
		if (pascoInfoBeanArray.getCount() == 0)
		{
			pascoInfoBeanArray.addDataBean();
		}
		X31SDataBeanAccess pascoInfoBean = pascoInfoBeanArray.getDataBean(0);

		// マンション情報取得
		X31SDataBeanAccessArray mansionInfoBeanArray = webNewBean.getDataBeanArray(CommonInfoCFConst.MANSION_INFO);
		if (mansionInfoBeanArray.getCount() <= 0)
		{
			mansionInfoBeanArray.addDataBean();
		}
		X31SDataBeanAccess mansionInfoBean = mansionInfoBeanArray.getDataBean(0);

		// ご本人様確認書類選択
		//「IT2-2012-0001949」対応　本人確認情報の変更 >>>
		String confSelect = keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.HONNIN_SELECT_09, X31CWebConst.DATABEAN_GET_VALUE);
		//「IT2-2012-0001949」対応　本人確認情報の変更 <<<

		// 申込区分
		String mkmKbn = webNewBean.sendMessageString(CommonInfoCFConst.MSKM_KBN_06, X31CWebConst.DATABEAN_GET_VALUE);
		// 契約種別
		String keiyakuSbt = webNewBean.sendMessageString(CommonInfoCFConst.KEI_SBT_06, X31CWebConst.DATABEAN_GET_VALUE);

		// 親権者情報取得
		String under20flg = keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.UNDER_20_FLG_09, X31CWebConst.DATABEAN_GET_VALUE);
		boolean skshaDoi = keiyakushaInfoBean.sendMessageBoolean(CommonInfoCFConst.SKSHA_DOI_UM_09, X31CWebConst.DATABEAN_GET_VALUE);
		String skshaSei = keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.SKSHA_SEI_09, X31CWebConst.DATABEAN_GET_VALUE);
		String skshaMei = keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.SKSHA_MEI_09, X31CWebConst.DATABEAN_GET_VALUE);
		String skshaSeiKana = keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.SKSHA_SEI_KANA_09, X31CWebConst.DATABEAN_GET_VALUE);
		String skshaMeiKana = keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.SKSHA_MEI_KANA_09, X31CWebConst.DATABEAN_GET_VALUE);
		String skshaZokugaraCd = keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.SKSHA_ZOKUGARA_CD_09, X31CWebConst.DATABEAN_GET_VALUE);
		String skshaZokugaraOther = keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.ZOKUGARA_OTHER_09, X31CWebConst.DATABEAN_GET_VALUE);
		String skshaBirthY = keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.SKSHA_BIRTHD_YEAR_09, X31CWebConst.DATABEAN_GET_VALUE);
		String skshaBirthM = keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.SKSHA_BIRTHD_MONTH_09, X31CWebConst.DATABEAN_GET_VALUE);
		String skshaBirthD = keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.SKSHA_BIRTHD_DAY_09, X31CWebConst.DATABEAN_GET_VALUE);
		String skshaTelNo1 = keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.SKSHA_TELNO1_09, X31CWebConst.DATABEAN_GET_VALUE);
		String skshaTelNo2 = keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.SKSHA_TELNO2_09, X31CWebConst.DATABEAN_GET_VALUE);
		String skshaTelNo3 = keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.SKSHA_TELNO3_09, X31CWebConst.DATABEAN_GET_VALUE);

		// ●親権者情報
		if (JFUStrConst.MSKM_KBN_NEW.equals(mkmKbn) && JFUStrConst.KEI_SBT_KOJINCD.equals(keiyakuSbt)
				&& JFUStrConst.CD00002_1.equals(under20flg))
		{
			serviceFormBean.sendMessageBoolean(FUW00921SFConst.SHINKENSHA_DOI, X31CWebConst.DATABEAN_SET_VALUE, skshaDoi);
			serviceFormBean.sendMessageString(FUW00921SFConst.SHINKENSHA_SEI, X31CWebConst.DATABEAN_SET_VALUE, skshaSei);
			serviceFormBean.sendMessageString(FUW00921SFConst.SHINKENSHA_MEI, X31CWebConst.DATABEAN_SET_VALUE, skshaMei);
			serviceFormBean.sendMessageString(FUW00921SFConst.SHINKENSHA_SEI_KANA, X31CWebConst.DATABEAN_SET_VALUE, skshaSeiKana);
			serviceFormBean.sendMessageString(FUW00921SFConst.SHINKENSHA_MEI_KANA, X31CWebConst.DATABEAN_SET_VALUE, skshaMeiKana);
			serviceFormBean.sendMessageString(FUW00921SFConst.SHINKENSHA_ZOKUGARA_CD, X31CWebConst.DATABEAN_SET_VALUE, skshaZokugaraCd);

			if (JFUStrConst.CD00608_5.equals(skshaZokugaraCd))
			{
				serviceFormBean.sendMessageString(FUW00921SFConst.SHINKENSHA_ZOKUGARA_SONOTA, X31CWebConst.DATABEAN_SET_VALUE,
						skshaZokugaraOther);
			}

			serviceFormBean.sendMessageString(FUW00921SFConst.SHINKENSHA_BIRTH_YEAR, X31CWebConst.DATABEAN_SET_VALUE, skshaBirthY);
			serviceFormBean.sendMessageString(FUW00921SFConst.SHINKENSHA_BIRTH_MONTH, X31CWebConst.DATABEAN_SET_VALUE, skshaBirthM);
			serviceFormBean.sendMessageString(FUW00921SFConst.SHINKENSHA_BIRTH_DAY, X31CWebConst.DATABEAN_SET_VALUE, skshaBirthD);
			serviceFormBean.sendMessageString(FUW00921SFConst.SHINKENSHA_TELNO_1, X31CWebConst.DATABEAN_SET_VALUE, skshaTelNo1);
			serviceFormBean.sendMessageString(FUW00921SFConst.SHINKENSHA_TELNO_2, X31CWebConst.DATABEAN_SET_VALUE, skshaTelNo2);
			serviceFormBean.sendMessageString(FUW00921SFConst.SHINKENSHA_TELNO_3, X31CWebConst.DATABEAN_SET_VALUE, skshaTelNo3);
		}
		
		// ワンタイムキーの情報
		serviceFormBean.sendMessageString(FUW00921SFConst.KANRI_NO, X31CWebConst.DATABEAN_SET_VALUE,
				keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KANRI_NO_09, X31CWebConst.DATABEAN_GET_VALUE));
		serviceFormBean.sendMessageString(FUW00921SFConst.SKBT_KEY, X31CWebConst.DATABEAN_SET_VALUE,
				keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.SKBT_KEY_09, X31CWebConst.DATABEAN_GET_VALUE));
		serviceFormBean.sendMessageString(FUW00921SFConst.ONETIME_KEY, X31CWebConst.DATABEAN_SET_VALUE,
				keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.ONET_KEY_09, X31CWebConst.DATABEAN_GET_VALUE));
		serviceFormBean.sendMessageString(FUW00921SFConst.SMS_SEND_FLG, X31CWebConst.DATABEAN_SET_VALUE,
				keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.SMS_MAIL_SEND_FLG_09, X31CWebConst.DATABEAN_GET_VALUE));
		serviceFormBean.sendMessageString(FUW00921SFConst.ONETIME_KEY_SEND_TIME, X31CWebConst.DATABEAN_SET_VALUE,
				keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.ONET_KEY_SEND_TIME_09, X31CWebConst.DATABEAN_GET_VALUE));
		serviceFormBean.sendMessageString(FUW00921SFConst.ONET_KEY_NINSHO_FLG, X31CWebConst.DATABEAN_SET_VALUE,
				keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.ONET_KEY_NINSHO_FLG_09, X31CWebConst.DATABEAN_GET_VALUE)); 
		serviceFormBean.sendMessageString(FUW00921SFConst.SMS_SEND_CNT, X31CWebConst.DATABEAN_SET_VALUE,
				keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.SMS_MAIL_SEND_CNT_09, X31CWebConst.DATABEAN_GET_VALUE)); 
		
		HashMap<Object, Object> paramMap = new HashMap<Object, Object>();
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, USECASE_ID_FUSV0202);

		// 設定値格納用マップを生成
		FUSV0202_FUSV0202OPDBMapper mapper = new FUSV0202_FUSV0202OPDBMapper();

		//値を設定
		HashMap<Object, Object> inputMap = new HashMap<Object, Object>();
		// 検索結果格納用マップを生成。
		HashMap<Object, Object> outputMap = new HashMap<Object, Object>();

		// 共有・サービスフォームBean
		X31SDataBeanAccess[] beans = { serviceFormBean };

		mapper.setFUSV020201SC(beans, inputMap, JPCModelConstant.FUNC_CD_1);
		mapper.setFUSV020202SC(beans, inputMap, JPCModelConstant.FUNC_CD_1);

		// サービス呼び出し
		try
		{
			invokeService(paramMap, inputMap, outputMap);
		}
		catch (JCCWebServiceException jccexception)
		{
			// システムエラー
			throw new JCCBusinessException(JFUStrConst.ERROR_CODE_0002);
		}

		X31SDataBeanAccess[] paramBeanOut = { serviceFormBean };

		// サービスからの戻りデータをBeanにセット(下りマッピング)
		mapper.getFUSV020201SC(paramBeanOut, outputMap, confSelect);
		mapper.getFUSV020202SC(paramBeanOut, outputMap);

		// プロパティを取得
		Map<String, String> fuDispDefinitionMap = JFUWebCommon.getDispItemsAsMap(QUERY_DISPTEXT_PATH, QUERY_ATTR_NAME);

		//「IT2-2012-0001949」対応　本人確認情報の変更 ...メソッドの上部へ場所移動

		// ====================================================================
		// 初期表示用のデータを共有フォームBeanから取得します =================

		// 性別：男性
		String pSexMale = fuDispDefinitionMap.get(KEY_GENDER_MALE);
		// 性別：女性
		String pSexFemale = fuDispDefinitionMap.get(KEY_GENDER_FEMALE);

		if ((keiyakuSbt == null) || ("".equals(keiyakuSbt)))
		{
			keiyakuSbt = JFUStrConst.KEI_SBT_KOJINCD;
		}

		String cxStartFlg = JFUWebCommon.getDispItem(CX_START_FLG);
		// 個人情報取得
		String pNameLast = keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KSHNM_SEI_09, X31CWebConst.DATABEAN_GET_VALUE); // 氏名(姓)
		String pNameFirst = keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KSHNM_NM_09, X31CWebConst.DATABEAN_GET_VALUE); // 氏名(名)
		String pKnameLast = keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KSHKN_SEI_09, X31CWebConst.DATABEAN_GET_VALUE); // 氏名かな(姓)
		String pKnameFirst = keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KSHKN_NM_09, X31CWebConst.DATABEAN_GET_VALUE); // 氏名かな(名)
		String pBirthYear = keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.BIRTHD_YEAR_09, X31CWebConst.DATABEAN_GET_VALUE); // 生年月日(年)
		String pBirthMonth = keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.BIRTHD_MONTH_09, X31CWebConst.DATABEAN_GET_VALUE); // 生年月日(月)
		String pBirthDay = keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.BIRTHD_DAY_09, X31CWebConst.DATABEAN_GET_VALUE); // 生年月日(日)
		String pSex = keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.SEX_09, X31CWebConst.DATABEAN_GET_VALUE); // 性別
		//「IT2-2012-0001949」対応　本人確認情報の変更 >>>
		String confDetail = keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.HONNIN_DETAIL_09, X31CWebConst.DATABEAN_GET_VALUE); // 本人確認書類詳細
		//「IT2-2012-0001949」対応　本人確認情報の変更 <<<
// ANK-3112-00-00 ADD START
		if (!"1".equals(cxStartFlg))
		{
			String pEmail = keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KOJIN_MLAD_09, X31CWebConst.DATABEAN_GET_VALUE); // 個人メールアドレス
			serviceFormBean.sendMessageString(FUW00921SFConst.P_EMAIL, X31CWebConst.DATABEAN_SET_VALUE, pEmail); // 個人メールアドレス
		}
// ANK-3112-00-00 ADD END

		// 法人情報取得
		String eEname = keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.HOJINNM_09, X31CWebConst.DATABEAN_GET_VALUE); // 法人名
		String eEkname = keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.HOJINKN_09, X31CWebConst.DATABEAN_GET_VALUE); // 法人名かな
		String eNameLast = keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.DHSNM_SEI_09, X31CWebConst.DATABEAN_GET_VALUE); // 代表者氏名（姓）
		String eNameFirst = keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.DHSNM_NM_09, X31CWebConst.DATABEAN_GET_VALUE); // 代表者氏名（名）
		String eKnameLast = keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.DHSKN_SEI_09, X31CWebConst.DATABEAN_GET_VALUE); // 代表者かな（姓）
		String eKnameFirst = keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.DHSKN_NM_09, X31CWebConst.DATABEAN_GET_VALUE); // 代表者かな（名）
// ANK-3112-00-00 ADD START
		if (!"1".equals(cxStartFlg))
		{
			String eEmail = keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.HOJIN_MLAD_09, X31CWebConst.DATABEAN_GET_VALUE); // 法人メールアドレス
			serviceFormBean.sendMessageString(FUW00921SFConst.E_EMAIL, X31CWebConst.DATABEAN_SET_VALUE, eEmail); // 法人メールアドレス
		}
// ANK-3112-00-00 ADD END

		// 関西電力とのお客様情報の授受について
		String kepcoCustinfoJujuDoiUm =
				keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KEPCO_CUSTINFO_JUJU_DOI_UM_09, X31CWebConst.DATABEAN_GET_VALUE);

		// ●共有フォームBeanからサービスフォームBeanへ(ご契約者情報入力(FUW00921SF))の移送処理
		// ●個人・法人共通情報の取得設定
//ANK-3220-00-00 DEL START
//		// 関西電力とのお客様情報の授受選択状態
//		serviceFormBean.sendMessageString(FUW00921SFConst.CUSTOMER, X31CWebConst.DATABEAN_SET_VALUE, kepcoCustinfoJujuDoiUm);
//ANK-3220-00-00 DEL END
		// 契約種別
		serviceFormBean.sendMessageString(FUW00921SFConst.KEI_SBT, X31CWebConst.DATABEAN_SET_VALUE, keiyakuSbt);
		
		// 関電Ｇ個人情報取扱同意有無
		String kepgKjifTratDouiUm = keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KEPG_KJNIF_TRAT_DOI_UM_09, X31CWebConst.DATABEAN_GET_VALUE);
		if (JFUStrConst.KEPG_KJNIF_TRAT_DOI_UM_DOUI.equals(kepgKjifTratDouiUm)) {
			serviceFormBean.sendMessageBoolean(FUW00921SFConst.KEPG_KJNIF_TRAT_DOI_UM, X31CWebConst.DATABEAN_SET_VALUE, true);
		} else  {
			serviceFormBean.sendMessageBoolean(FUW00921SFConst.KEPG_KJNIF_TRAT_DOI_UM, X31CWebConst.DATABEAN_SET_VALUE, false);
		}
		
		// 関電Ｇ個人情報提供不可フラグ
		String kepgKjniftFfg =  keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KEPG_KJNIFT_FFG_09, X31CWebConst.DATABEAN_GET_VALUE);
		if (JFUStrConst.KEPG_KJNIFT_FFG_INA.equals(kepgKjniftFfg)) {
			serviceFormBean.sendMessageBoolean(FUW00921SFConst.KEPG_KJNIFT_FFG, X31CWebConst.DATABEAN_SET_VALUE, true);
		} else {
			serviceFormBean.sendMessageBoolean(FUW00921SFConst.KEPG_KJNIFT_FFG, X31CWebConst.DATABEAN_SET_VALUE, false);
		}

		// コンテンツ同意フラグ
		String contentsuDoiFfg =  keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.CONTENTS_KIYAKU_DOI_UM_09, X31CWebConst.DATABEAN_GET_VALUE);
		if ("1".equals(contentsuDoiFfg)) {
			serviceFormBean.sendMessageBoolean(FUW00921SFConst.CONTENTS_RIYOKIYAKU_DOI_UM, X31CWebConst.DATABEAN_SET_VALUE, true);
		} else {
			serviceFormBean.sendMessageBoolean(FUW00921SFConst.CONTENTS_RIYOKIYAKU_DOI_UM, X31CWebConst.DATABEAN_SET_VALUE, false);
		}

		// ●個人情報の取得設定
		serviceFormBean.sendMessageString(FUW00921SFConst.P_NAME_LAST, X31CWebConst.DATABEAN_SET_VALUE, pNameLast); // 氏名（姓）
		serviceFormBean.sendMessageString(FUW00921SFConst.P_NAME_FIRST, X31CWebConst.DATABEAN_SET_VALUE, pNameFirst); // 氏名（名）
		serviceFormBean.sendMessageString(FUW00921SFConst.P_KNAME_LAST, X31CWebConst.DATABEAN_SET_VALUE, pKnameLast); // 氏名かな（姓）
		serviceFormBean.sendMessageString(FUW00921SFConst.P_KNAME_FIRST, X31CWebConst.DATABEAN_SET_VALUE, pKnameFirst); // 氏名かな（名）
		serviceFormBean.sendMessageString(FUW00921SFConst.P_BIRTH_YEAR, X31CWebConst.DATABEAN_SET_VALUE, pBirthYear); // 生年月日（年）
		serviceFormBean.sendMessageString(FUW00921SFConst.P_BIRTH_MONTH, X31CWebConst.DATABEAN_SET_VALUE, pBirthMonth); // 生年月日（月）
		serviceFormBean.sendMessageString(FUW00921SFConst.P_BIRTH_DAY, X31CWebConst.DATABEAN_SET_VALUE, pBirthDay); // 生年月日（日）
		serviceFormBean.sendMessageString(FUW00921SFConst.P_SEX, X31CWebConst.DATABEAN_SET_VALUE, pSex); // 性別
		serviceFormBean.sendMessageString(FUW00921SFConst.P_SEX_MALE, X31CWebConst.DATABEAN_SET_VALUE, pSexMale); // 性別男性
		serviceFormBean.sendMessageString(FUW00921SFConst.P_SEX_FEMALE, X31CWebConst.DATABEAN_SET_VALUE, pSexFemale); // 性別女性
		serviceFormBean.sendMessageString(FUW00921SFConst.CONFIRM_DOCUMENT_DETAIL, X31CWebConst.DATABEAN_SET_VALUE, confDetail); // 本人確認書類詳細
		// 本人確認処理選択は、getFUSV020201SCでマッピング済。
// ANK-3112-00-00 ADD START
//		serviceFormBean.sendMessageString(FUW00921SFConst.P_EMAIL, X31CWebConst.DATABEAN_SET_VALUE, pEmail); // 個人メールアドレス
// ANK-3112-00-00 ADD END

		// ●法人情報の取得設定
		serviceFormBean.sendMessageString(FUW00921SFConst.E_ENAME, X31CWebConst.DATABEAN_SET_VALUE, eEname); // 法人名
		serviceFormBean.sendMessageString(FUW00921SFConst.E_EKNAME, X31CWebConst.DATABEAN_SET_VALUE, eEkname); // 法人名かな
		serviceFormBean.sendMessageString(FUW00921SFConst.E_NAME_LAST, X31CWebConst.DATABEAN_SET_VALUE, eNameLast); // 代表者氏名（姓）
		serviceFormBean.sendMessageString(FUW00921SFConst.E_NAME_FIRST, X31CWebConst.DATABEAN_SET_VALUE, eNameFirst); // 代表者氏名（名）
		serviceFormBean.sendMessageString(FUW00921SFConst.E_KNAME_LAST, X31CWebConst.DATABEAN_SET_VALUE, eKnameLast); // 代表者かな（姓）
		serviceFormBean.sendMessageString(FUW00921SFConst.E_KNAME_FIRST, X31CWebConst.DATABEAN_SET_VALUE, eKnameFirst); // 代表者かな（名）
		serviceFormBean.sendMessageString(FUW00921SFConst.E_BIRTH_YEAR, X31CWebConst.DATABEAN_SET_VALUE, pBirthYear); // 生年月日（年）
		serviceFormBean.sendMessageString(FUW00921SFConst.E_BIRTH_MONTH, X31CWebConst.DATABEAN_SET_VALUE, pBirthMonth); // 生年月日（月）
		serviceFormBean.sendMessageString(FUW00921SFConst.E_BIRTH_DAY, X31CWebConst.DATABEAN_SET_VALUE, pBirthDay); // 生年月日（日）
// ANK-3112-00-00 ADD START
//		serviceFormBean.sendMessageString(FUW00921SFConst.E_EMAIL, X31CWebConst.DATABEAN_SET_VALUE, eEmail); // 法人メールアドレス
// ANK-3112-00-00 ADD END
// ANK-3518-00-00 ADD START
		// ●メール入力方式(テキストボックス・プルダウン)切替情報の取得設定
		serviceFormBean.sendMessageBoolean(FUW00921SFConst.SWITCH_MAIL_TEXT_OR_PULL, X31CWebConst.DATABEAN_SET_VALUE, true);
// ANK-3518-00-00 ADD END
		// IT1-2012-0001050 対応 Otsuka
		// 運用日付を設定
		serviceFormBean.sendMessageString(FUW00921SFConst.UNYO_YMD, X31CWebConst.DATABEAN_SET_VALUE, JFUWebCommon.getOpeDate(this, null));
		// IT1-2012-0001050 対応 Otsuka

		// 光化マンションフラグ
		String hikarikaMansFlg = mansionInfoBean.sendMessageString(CommonInfoCFConst.HIKARIKA_MANS_FLG_16, X31CWebConst.DATABEAN_GET_VALUE);

		// ●契約者住所情報
		if (JFUStrConst.MSKM_KBN_NEW.equals(mkmKbn))
		{
			// 申込回線サービス 0:未定 1:ホーム 2:マンション 3:モバイル単独 
			String mskm_ksn_svc = webNewBean.sendMessageString(CommonInfoCFConst.MSKM_KSN_SVC_06, X31CWebConst.DATABEAN_GET_VALUE);

			// 住所情報が未入力の場合
			if (JFUWebCommon.isNull(keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KSH_PCD1_09, X31CWebConst.DATABEAN_GET_VALUE)))
			{
				// 申込回線サービスがホームタイプの場合
				if (mskm_ksn_svc.equals(JFUStrConst.MSKM_KSN_SVC_HOME))
				{
					String pasco_pcd = pascoInfoBean.sendMessageString(CommonInfoCFConst.PCD_07, X31CWebConst.DATABEAN_GET_VALUE); //PASCO・郵便番号
// ANK-4427-00-00 MOD START
//					String pasco_pcdFront = pasco_pcd.substring(0, 3); //郵便番号（上）
//					String pasco_pcdBack = pasco_pcd.substring(3); //郵便番号（下）
					String pasco_pcdFront = ""; //郵便番号（上）
					String pasco_pcdBack = ""; //郵便番号（下）
					String typenFlg = webNewBean.sendMessageString(CommonInfoCFConst.TYPEN_FLG_06, X31CWebConst.DATABEAN_GET_VALUE);
					if (JFUWebCommon.isNull(typenFlg) || (!JFUWebCommon.isNull(typenFlg) && !JFUWebCommon.isNull(pasco_pcd)))
					{
						pasco_pcdFront = pasco_pcd.substring(0, 3); //郵便番号（上）
						pasco_pcdBack = pasco_pcd.substring(3); //郵便番号（下）
					}
// ANK-4427-00-00 MOD END
	
					serviceFormBean.sendMessageString(FUW00921SFConst.CONTRACTANTZIPCDFRONT, X31CWebConst.DATABEAN_SET_VALUE, pasco_pcdFront); // ご利用場所・郵便番号（上）
					serviceFormBean.sendMessageString(FUW00921SFConst.CONTRACTANTZIPCDBACK, X31CWebConst.DATABEAN_SET_VALUE, pasco_pcdBack); // ご利用場所・郵便番号（下）
					serviceFormBean.sendMessageString(FUW00921SFConst.CONTRACTANTPREF, X31CWebConst.DATABEAN_SET_VALUE, 
							pascoInfoBean.sendMessageString(CommonInfoCFConst.STATE_07, X31CWebConst.DATABEAN_GET_VALUE)); // ご利用場所・府県・市区町村
					serviceFormBean.sendMessageString(FUW00921SFConst.CONTRACTANTTOWN1, X31CWebConst.DATABEAN_SET_VALUE, 
							pascoInfoBean.sendMessageString(CommonInfoCFConst.BNCHI_07, X31CWebConst.DATABEAN_GET_VALUE)); // ご利用場所・字
					serviceFormBean.sendMessageString(FUW00921SFConst.CONTRACTANTTOWN2, X31CWebConst.DATABEAN_SET_VALUE, 
							pascoInfoBean.sendMessageString(CommonInfoCFConst.CHO_AZA_07, X31CWebConst.DATABEAN_GET_VALUE)); // ご利用場所・丁目・番地等
					serviceFormBean.sendMessageString(FUW00921SFConst.CONTRACTANTMANSION, X31CWebConst.DATABEAN_SET_VALUE, ""); // ご利用場所・建物名
					serviceFormBean.sendMessageString(FUW00921SFConst.CONTRACTANTROOM, X31CWebConst.DATABEAN_SET_VALUE, ""); // ご利用場所・部屋番号
				}
				// 申込回線サービスがマンションタイプの場合
				else if (mskm_ksn_svc.equals(JFUStrConst.MSKM_KSN_SVC_MANSION))
				{
					serviceFormBean.sendMessageString(FUW00921SFConst.CONTRACTANTZIPCDFRONT, X31CWebConst.DATABEAN_SET_VALUE, 
							mansionInfoBean.sendMessageString(CommonInfoCFConst.SEARCH_PCD1_16, X31CWebConst.DATABEAN_GET_VALUE));
					serviceFormBean.sendMessageString(FUW00921SFConst.CONTRACTANTZIPCDBACK, X31CWebConst.DATABEAN_SET_VALUE, 
							mansionInfoBean.sendMessageString(CommonInfoCFConst.SEARCH_PCD2_16, X31CWebConst.DATABEAN_GET_VALUE));
					serviceFormBean.sendMessageString(FUW00921SFConst.CONTRACTANTPREF, X31CWebConst.DATABEAN_SET_VALUE, 
							mansionInfoBean.sendMessageString(CommonInfoCFConst.SEARCH_STATE_16, X31CWebConst.DATABEAN_GET_VALUE) 
							+ mansionInfoBean.sendMessageString(CommonInfoCFConst.SEARCH_CITY_16, X31CWebConst.DATABEAN_GET_VALUE));
					serviceFormBean.sendMessageString(FUW00921SFConst.CONTRACTANTTOWN1, X31CWebConst.DATABEAN_SET_VALUE, 
							mansionInfoBean.sendMessageString(CommonInfoCFConst.SEARCH_AZA_16, X31CWebConst.DATABEAN_GET_VALUE));
					serviceFormBean.sendMessageString(FUW00921SFConst.CONTRACTANTTOWN2, X31CWebConst.DATABEAN_SET_VALUE, 
							mansionInfoBean.sendMessageString(CommonInfoCFConst.MANSION_BUKKEN_AZCHO_NM_16, X31CWebConst.DATABEAN_GET_VALUE));

					if (JFUStrConst.HIKARIKA_MANS_FLG_1.equals(hikarikaMansFlg))
					{
						// 光化マンションの場合
						if (JFUWebCommon.isNull(mansionInfoBean.sendMessageString(CommonInfoCFConst.TOU_INFO_16, X31CWebConst.DATABEAN_GET_VALUE)))
						{
							// 棟情報なし
							serviceFormBean.sendMessageString(FUW00921SFConst.CONTRACTANTMANSION, X31CWebConst.DATABEAN_SET_VALUE, 
									mansionInfoBean.sendMessageString(CommonInfoCFConst.MANSION_NM_16, X31CWebConst.DATABEAN_GET_VALUE));
						}
						else
						{
							// 棟情報あり
							String mansionNm = mansionInfoBean.sendMessageString(CommonInfoCFConst.MANSION_NM_16, X31CWebConst.DATABEAN_GET_VALUE)
												+ JFUStrConst.SPACE
												+ mansionInfoBean.sendMessageString(CommonInfoCFConst.TOU_INFO_16, X31CWebConst.DATABEAN_GET_VALUE);

							if (mansionNm.length() > 45)
							{
								// 建物名が45桁を超えた場合、46桁目以降を削る
								mansionNm = mansionNm.substring(0, 45);
							}

							serviceFormBean.sendMessageString(FUW00921SFConst.CONTRACTANTMANSION, X31CWebConst.DATABEAN_SET_VALUE, mansionNm);
						}
					}
					else
					{
						// 光化マンション以外の場合
						serviceFormBean.sendMessageString(FUW00921SFConst.CONTRACTANTMANSION, X31CWebConst.DATABEAN_SET_VALUE, 
								mansionInfoBean.sendMessageString(CommonInfoCFConst.MANSION_NM_16, X31CWebConst.DATABEAN_GET_VALUE));
					}

					if (JFUStrConst.HIKARIKA_MANS_FLG_1.equals(hikarikaMansFlg))
					{
						// 光化マンションの場合
						serviceFormBean.sendMessageString(FUW00921SFConst.CONTRACTANTROOM, X31CWebConst.DATABEAN_SET_VALUE,
								mansionInfoBean.sendMessageString(CommonInfoCFConst.RM_NO_16, X31CWebConst.DATABEAN_GET_VALUE));
					}
					else
					{
						// 光化マンション以外の場合
						serviceFormBean.sendMessageString(FUW00921SFConst.CONTRACTANTROOM, X31CWebConst.DATABEAN_SET_VALUE, "");
					}
				}
			}
			else{
				serviceFormBean.sendMessageString(FUW00921SFConst.CONTRACTANTZIPCDFRONT, X31CWebConst.DATABEAN_SET_VALUE, 
						keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KSH_PCD1_09, X31CWebConst.DATABEAN_GET_VALUE));
				serviceFormBean.sendMessageString(FUW00921SFConst.CONTRACTANTZIPCDBACK, X31CWebConst.DATABEAN_SET_VALUE, 
						keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KSH_PCD2_09, X31CWebConst.DATABEAN_GET_VALUE));
				serviceFormBean.sendMessageString(FUW00921SFConst.CONTRACTANTPREF, X31CWebConst.DATABEAN_SET_VALUE, 
						keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KSH_STATE_09, X31CWebConst.DATABEAN_GET_VALUE));
				serviceFormBean.sendMessageString(FUW00921SFConst.CONTRACTANTTOWN1, X31CWebConst.DATABEAN_SET_VALUE, 
						keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KSH_AZA_09, X31CWebConst.DATABEAN_GET_VALUE));
				serviceFormBean.sendMessageString(FUW00921SFConst.CONTRACTANTTOWN2, X31CWebConst.DATABEAN_SET_VALUE, 
						keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KSH_CHO_BNCHI_09, X31CWebConst.DATABEAN_GET_VALUE));
				serviceFormBean.sendMessageString(FUW00921SFConst.CONTRACTANTMANSION, X31CWebConst.DATABEAN_SET_VALUE, 
						keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KSH_TTM_09, X31CWebConst.DATABEAN_GET_VALUE));
				serviceFormBean.sendMessageString(FUW00921SFConst.CONTRACTANTROOM, X31CWebConst.DATABEAN_SET_VALUE, 
						keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KSH_RRM_09, X31CWebConst.DATABEAN_GET_VALUE));

				serviceFormBean.sendMessageString(FUW00921SFConst.P_TEL_AREA, X31CWebConst.DATABEAN_SET_VALUE, 
						keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KSH_TELNO1_09, X31CWebConst.DATABEAN_GET_VALUE)); // 個人お電話番号
				serviceFormBean.sendMessageString(FUW00921SFConst.P_TEL_LOCAL, X31CWebConst.DATABEAN_SET_VALUE, 
						keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KSH_TELNO2_09, X31CWebConst.DATABEAN_GET_VALUE)); // 個人お電話番号
				serviceFormBean.sendMessageString(FUW00921SFConst.P_TEL_SUBSCRIBER, X31CWebConst.DATABEAN_SET_VALUE, 
						keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KSH_TELNO3_09, X31CWebConst.DATABEAN_GET_VALUE)); // 個人お電話番号
			}
		}
		
		// 日付マッピング処理
		setCalendar(serviceFormBean, webNewBean, JFUStrConst.KEI_SBT_KOJINCD);
		setCalendar(serviceFormBean, webNewBean, JFUStrConst.KEI_SBT_HOJINCD);
	}

	/**
	 * 生年月日の日付設定処理
	 * @param serviceFormBean サービスフォームBean
	 * @throws Exception 
	 */
	private void setCalendar(X31SDataBeanAccess serviceFormBean, X31SDataBeanAccess webNewBean, String keiyakuSbt) throws Exception
	{
		X31SDataBeanAccess ymd_list = null;
		X31SDataBeanAccessArray bean_array = null;

		if (JFUStrConst.KEI_SBT_KOJINCD.equals(keiyakuSbt))
		{
			bean_array = serviceFormBean.getDataBeanArray(FUW00921SFConst.P_BIRTH);
		} else {
			bean_array = serviceFormBean.getDataBeanArray(FUW00921SFConst.E_BIRTH);
		}
		bean_array.clearArray();
		bean_array.addDataBean();
		ymd_list = bean_array.getDataBean(0);

		Locale local = new java.util.Locale("ja", "JP", "JP");

		Calendar cal = Calendar.getInstance();
		String opeDate = JFUWebCommon.getOpeDate(this, null);

		if(opeDate != null && opeDate.length() > 0 && opeDate.length() == 8)
		{
			// 正常に取得できている場合、カレンダーインスタンスにオンライン運用日を設定
			opeDate = JPCDateUtil.addYear(opeDate, -17);
			int opeYYYY = Integer.parseInt(opeDate.substring(0, 4));
			int opeDD = Integer.parseInt(opeDate.substring(4, 6));
			int opeMM = Integer.parseInt(opeDate.substring(6, 8));
			cal.set(opeYYYY, opeDD, opeMM);
		}

		// 西暦
		SimpleDateFormat seireki = new SimpleDateFormat("yyyy", Locale.JAPAN);

		// 和暦
		SimpleDateFormat wareki = new SimpleDateFormat("GGGGyyyy", local);

		// 年 （配列サイズ固定）
		ymd_list.sendMessageString(FUW00921SFConst.YEAR_WAREKI_02, X31CWebConst.DATABEAN_ADD_VALUE, "  ");
		ArrayList<String> list = new ArrayList<String>();

		int i = 0;
		for (int m1 = 0; m1 > -85; m1--)
		{
			list.add(seireki.format(cal.getTime()) + "(" + wareki.format(cal.getTime()) + "年)");
			cal.add(Calendar.YEAR, -1);
			i++;
		}

		for (int j = 0; j <= list.size() - 1; j++)
		{
			ymd_list.sendMessageString(FUW00921SFConst.YEAR_WAREKI_02, X31CWebConst.DATABEAN_ADD_VALUE, list.get(i - 1));
			i--;
		}

		// 月 （配列サイズ固定）
		ymd_list.sendMessageString(FUW00921SFConst.MONTH_02, X31CWebConst.DATABEAN_ADD_VALUE, "  ");
		String m_moji = "";

		for (int m1 = 1; m1 <= 12; m1++)
		{
			m_moji = String.format("%02d", m1);
			ymd_list.sendMessageString(FUW00921SFConst.MONTH_02, X31CWebConst.DATABEAN_ADD_VALUE, m_moji);
		}

		// 日 （配列サイズ固定）
		ymd_list.sendMessageString(FUW00921SFConst.DAY_02, X31CWebConst.DATABEAN_ADD_VALUE, "  ");
		String m_moji2 = "";

		for (int m2 = 1; m2 <= 31; m2++)
		{
			m_moji2 = String.format("%02d", m2);
			ymd_list.sendMessageString(FUW00921SFConst.DAY_02, X31CWebConst.DATABEAN_ADD_VALUE, m_moji2);
		}

		Locale.setDefault(Locale.US);
	}

	/**
	 * 次へボタン・確認画面に戻るボタン押下時共通処理
	 * <br>
	 * @param webNewBean 共有フォームBean.ＷＥＢ新規情報
	 * @param serviceFormBean サービスフォームBean
	 * @return boolean true=正常終了/ false=異常終了
	 * @throws Exception 
	 */
	private boolean isCommonNextBackKakunin(X31SDataBeanAccess webNewBean, X31SDataBeanAccess serviceFormBean) throws Exception
	{
		// ●次へボタン・確認画面に戻るボタン押下時共通処理結果を保持するフラグを「処理結果」「警告なし」を生成する。(初期値は「true」)
		boolean result = true;
		boolean noWarn = true;

		X31SDataBeanAccessArray keiyakushaInfoBeanArray = webNewBean.getDataBeanArray(CommonInfoCFConst.KEIYAKUSHA_INFO);
		if (keiyakushaInfoBeanArray.getCount() <= 0)
		{
			keiyakushaInfoBeanArray.addDataBean();
		}

		X31SDataBeanAccessArray elseInfoBeanArray = webNewBean.getDataBeanArray(CommonInfoCFConst.ELSE_INFO);
		if (elseInfoBeanArray.getCount() <= 0)
		{
			elseInfoBeanArray.addDataBean();
		}

		X31SDataBeanAccessArray redirectInfoBeanArray = webNewBean.getDataBeanArray(CommonInfoCFConst.REDIRECT_INFO);
		if (redirectInfoBeanArray.getCount() <= 0)
		{
			redirectInfoBeanArray.addDataBean();
		}

		// 契約者情報Bean
		X31SDataBeanAccess keiyakushaInfoBean = keiyakushaInfoBeanArray.getDataBean(0);

		// 契約者住所手動入力フラグ　手動入力でない 　を設定
		serviceFormBean.sendMessageString(FUW00921SFConst.KEISHA_AD_MAN_INPUT_FLG, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.CD01239_0);
		
		// ●個人情報取扱設定処理
		String kepgKjnifTratDoiUm = "";
		String contentsDoiUm = "";
		String kepgKjnifFfg = "";
		// ●紹介コード
		String intrCd = "";
		// ●紹介コード分類
		String redIntroduceBunrui = JFUStrConst.EMPTY;
		
		if (JFUStrConst.MSKM_KBN_NEW.equals(webNewBean.sendMessageString(CommonInfoCFConst.MSKM_KBN_06, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			// ●共有フォームBean.ＷＥＢ新規情報.申込区分が「1:新規申込」の場合
			kepgKjnifTratDoiUm = JFUStrConst.KEPG_KJNIF_TRAT_DOI_UM_DOUI;
			contentsDoiUm = "1";
			Boolean keptKjniftFFg = serviceFormBean.sendMessageBoolean(FUW00921SFConst.KEPG_KJNIFT_FFG, X31CWebConst.DATABEAN_GET_VALUE);
			if (keptKjniftFFg) {
				kepgKjnifFfg = JFUStrConst.KEPG_KJNIFT_FFG_INA;
			} else {
				kepgKjnifFfg = JFUStrConst.KEPG_KJNIFT_FFG_KA;
			}

			// 紹介コードを取得
			X31SDataBeanAccess redirectBean = redirectInfoBeanArray.getDataBean(0);
			intrCd = redirectBean.sendMessageString(CommonInfoCFConst.RED_INTRODUCE_17, X31CWebConst.DATABEAN_GET_VALUE);
			redIntroduceBunrui = redirectBean.sendMessageString(CommonInfoCFConst.RED_INTRODUCE_BUNRUI_17, X31CWebConst.DATABEAN_GET_VALUE);

			if ("1".equals(serviceFormBean.sendMessageString(FUW00921SFConst.SMS_SEND_FLG, X31CWebConst.DATABEAN_GET_VALUE)))
			{
				String onet_key_yk_kigen = serviceFormBean.sendMessageString(FUW00921SFConst.ONET_KEY_YK_KIGEN, X31CWebConst.DATABEAN_GET_VALUE);
				
				if (!"1".equals(keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.ONET_KEY_NINSHO_FLG_09, X31CWebConst.DATABEAN_GET_VALUE)))
				{
					// ワンタイムキー有効期限が超過している場合はエラー
					if (JFUWebCommon.getOpeDateTime(this, null).compareTo(onet_key_yk_kigen) > 0) {
						JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKF2180_NE, new String[]{ "SMS" }, "pTel");
						DEBUG_LOG.info("----- next：ワンタイムキー有効期限が超過エラー -----");
						return false;
					}
				}
				// ワンタイムキーが承認されていないとエラー
				if (!"1".equals(serviceFormBean.sendMessageString(FUW00921SFConst.ONET_KEY_NINSHO_FLG, X31CWebConst.DATABEAN_GET_VALUE)))
				{
					JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKF2220_NE,
							new String[]{ "ワンタイムキー" }, "contractPcMailAdderss1");
					DEBUG_LOG.info("----- next：ワンタイムキー未承認エラー -----");
					return false;
				}
			}
		}

		// ●親権者情報入力項目チェック
		String under20flg = JFUStrConst.EMPTY;
		if (JFUStrConst.MSKM_KBN_NEW.equals(webNewBean.sendMessageString(CommonInfoCFConst.MSKM_KBN_06, X31CWebConst.DATABEAN_GET_VALUE))
				&& JFUStrConst.KEI_SBT_KOJINCD.equals(serviceFormBean.sendMessageString(FUW00921SFConst.KEI_SBT, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			// 新規申込、かつ、個人申込の場合
			// 生年月日を取得
			X31SDataBeanAccessArray dataBeanAccessArray = serviceFormBean.getDataBeanArray(FUW00921SFConst.P_BIRTH);
			X31SDataBeanAccess yFormBean = dataBeanAccessArray.getDataBean(0);
			X31SDataBeanAccess mFormBean = dataBeanAccessArray.getDataBean(0);
			X31SDataBeanAccess dFormBean = dataBeanAccessArray.getDataBean(0);
			int selY = Integer.valueOf(serviceFormBean.sendMessageString(FUW00921SFConst.P_BIRTH_YEAR, X31CWebConst.DATABEAN_GET_VALUE)).intValue();
			int selM = Integer.valueOf(serviceFormBean.sendMessageString(FUW00921SFConst.P_BIRTH_MONTH, X31CWebConst.DATABEAN_GET_VALUE)).intValue();
			int selD = Integer.valueOf(serviceFormBean.sendMessageString(FUW00921SFConst.P_BIRTH_DAY, X31CWebConst.DATABEAN_GET_VALUE)).intValue();
			String keiBirthY = yFormBean.sendMessageString(FUW00921SFConst.YEAR_WAREKI_02, X31CWebConst.DATABEAN_GET_VALUE, selY).substring(0, 4);
			String keiBirthM = mFormBean.sendMessageString(FUW00921SFConst.MONTH_02, X31CWebConst.DATABEAN_GET_VALUE, selM);
			String keiBirthD = dFormBean.sendMessageString(FUW00921SFConst.DAY_02, X31CWebConst.DATABEAN_GET_VALUE, selD);

			if (isUnder20(keiBirthY, keiBirthM, keiBirthD))
			{
				// 親権者続柄コードの取得
				serviceFormBean.sendMessageString(FUW00921SFConst.SHINKENSHA_ZOKUGARA_CD, X31CWebConst.DATABEAN_SET_VALUE,
						getShinkenshaZokugaraCd(serviceFormBean));

				// ２０歳未満フラグ
				under20flg = JFUStrConst.CD00002_1;
				keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.UNDER_20_FLG_09, X31CWebConst.DATABEAN_SET_VALUE, under20flg);

				// 20歳未満の場合、親権者情報の入力チェックを実施する
				if (!chkShinkenshaInfo(serviceFormBean))
				{
					JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKF0420_TW,
							new String[]{ "20歳未満の方は、親権者同意が必要なため、親権者情報", "必ず入力" }, "contractBirthYMD");

					// 画面項目入力チェックエラーの為、以降の処理は実施しない
					DEBUG_LOG.info("----- next：画面項目入力チェックエラー -----");
					return false;
				}
			}
		}

// ANK-3112-00-00 ADD START
		// 販売タイプを取得
		String hanbaiTyp = webNewBean.sendMessageString(CommonInfoCFConst.HANBAI_TYPE_06, X31CWebConst.DATABEAN_GET_VALUE);
// ANK-3112-00-00 ADD END

		// ●サービス呼出関連処理
// ANK-3518-00-00 ADD START
		if (JFUStrConst.MSKM_KBN_NEW.equals(webNewBean.sendMessageString(CommonInfoCFConst.MSKM_KBN_06, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			// ●共有フォームBean.ＷＥＢ新規情報.申込区分が「1:新規申込」の場合
// ANK-3518-00-00 ADD END
			if (JFUStrConst.KEI_SBT_HOJINCD.equals(serviceFormBean.sendMessageString(FUW00921SFConst.KEI_SBT, X31CWebConst.DATABEAN_GET_VALUE)))
			{
				// ●FUW00921SF.契約種別が「2:契約種別 法人」の場合
	
				// サービス ご契約者情報入力チェック（新規法人）を呼び出す
	
				// ユースケースID格納用マップを生成します。
				HashMap<String, String> paramMap = new HashMap<String, String>();
				paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, USECASE_ID_FUSV0204);
	
				// 設定値格納用マップを生成します。
				FUSV0204_FUSV0204OPDBMapper mapper = new FUSV0204_FUSV0204OPDBMapper();
	
				HashMap<String, Object> inputMap = new HashMap<String, Object>();
				X31SDataBeanAccess[] beans = { getServiceFormBean() };
				mapper.setFUSV020401SC(beans, inputMap, JPCModelConstant.FUNC_CD_2, kepgKjnifTratDoiUm, kepgKjnifFfg);
				mapper.setFUSV020402SC(beans, inputMap, JPCModelConstant.FUNC_CD_2);
				// ワンタイムキー認証済の場合のみWeb申込情報を更新する。
				if ("1".equals(serviceFormBean.sendMessageString(FUW00921SFConst.SMS_SEND_FLG, X31CWebConst.DATABEAN_GET_VALUE)) &&
						"1".equals(serviceFormBean.sendMessageString(FUW00921SFConst.ONET_KEY_NINSHO_FLG, X31CWebConst.DATABEAN_GET_VALUE)))
				{
					mapper.setFUSV020403SC(beans, inputMap, JPCModelConstant.FUNC_CD_2);
					mapper.setFUSV020404SC(beans, inputMap, JPCModelConstant.FUNC_CD_1);
				}
	
				// 結果格納用マップを生成します。
				HashMap<Object, Object> outputMap = new HashMap<Object, Object>();
	
				// サービスの呼び出しを行う。
				try
				{
					// サービスの呼び出しを行う。
					invokeService(paramMap, inputMap, outputMap);
				}
				catch (JCCWebServiceException se)
				{
					throw se;
				}
			}
			else if (JFUStrConst.KEI_SBT_KOJINCD.equals(serviceFormBean.sendMessageString(FUW00921SFConst.KEI_SBT, X31CWebConst.DATABEAN_GET_VALUE)))
			{
				// ●FUW00921SF.契約種別が「1:契約種別 個人」の場合
				// サービス ご契約者情報入力チェック（新規個人）を呼び出す
				// ユースケースID格納用マップを生成します。
				HashMap<String, String> paramMap = new HashMap<String, String>();
				paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, USECASE_ID_FUSV0203);
	
				// 設定値格納用マップを生成します。
				FUSV0203_FUSV0203OPDBMapper mapper = new FUSV0203_FUSV0203OPDBMapper();
	
				HashMap<String, Object> inputMap = new HashMap<String, Object>();
				X31SDataBeanAccess[] beans = { getServiceFormBean() };
				mapper.setFUSV020301SC(beans, inputMap, JPCModelConstant.FUNC_CD_2, kepgKjnifTratDoiUm, kepgKjnifFfg, under20flg);
				mapper.setFUSV020302SC(beans, inputMap, JPCModelConstant.FUNC_CD_2);
	// ANK-3112-00-00 ADD START
				// 販売タイプが"2"訪販の場合
				if (JFUStrConst.HNBAI_TYPE_HOHAN.equals(hanbaiTyp))
				{
					mapper.setFUSV020303SC(beans, inputMap, JPCModelConstant.FUNC_CD_2);
				}
	// ANK-3112-00-00 ADD END
				mapper.setFUSV020301CC(beans, inputMap, intrCd, redIntroduceBunrui);
				// ワンタイムキー認証済の場合のみWeb申込情報を更新する。
				if ("1".equals(serviceFormBean.sendMessageString(FUW00921SFConst.SMS_SEND_FLG, X31CWebConst.DATABEAN_GET_VALUE)) &&
						"1".equals(serviceFormBean.sendMessageString(FUW00921SFConst.ONET_KEY_NINSHO_FLG, X31CWebConst.DATABEAN_GET_VALUE)))
				{
					mapper.setFUSV020304SC(beans, inputMap, JPCModelConstant.FUNC_CD_2);
					mapper.setFUSV020305SC(beans, inputMap, JPCModelConstant.FUNC_CD_1);
				}
	
				// 結果格納用マップを生成します。
				HashMap<Object, Object> outputMap = new HashMap<Object, Object>();
	
				// サービスの呼び出しを行う。
				try
				{
					// サービスを呼び出します。
					invokeService(paramMap, inputMap, outputMap);
	
					// 紹介コードが下記のコード体系に該当しない場合
					// ・「eoエントリーコード（有効期限あり）」
					// ・「英字1文字 + 数字9桁」
					if (!JFUWebCommon.isNull(intrCd) && !intrCd.matches("[A-Z][0-9]{9}")
							&& (!JFUStrConst.RED_INTRODUCE_BUNRUI_YK_KIGEN.equals(redIntroduceBunrui))
							&& (!JFUStrConst.RED_INTRODUCE_BUNRUI_YK_TUJYO_KIGEN.equals(redIntroduceBunrui)))
					{
						// 紹介コード整合性チェック
						String returnCd = mapper.getFUSV020301CC_RETURN_CD(outputMap);
						if (RETURN_CD_2.equals(returnCd))
						{
							// 警告メッセージを表示
							serviceFormBean.sendMessageString(FUW00921SFConst.WARN_MSG_DSP_FLG, X31CWebConst.DATABEAN_SET_VALUE, WARN_MSG_DSP_FLG_1);
							result = false;
							noWarn = false;
						}
					}
				}
				catch (JCCWebServiceException se)
				{
					throw se;
				}
			}
			else
			{
				// X) 個人でも法人でもない異常値
				result = false;
			}
// ANK-3518-00-00 ADD START
		}
		else if (JFUStrConst.MSKM_KBN_ADD.equals(webNewBean.sendMessageString(CommonInfoCFConst.MSKM_KBN_06, X31CWebConst.DATABEAN_GET_VALUE)))
		{
		// ●共有フォームBean.ＷＥＢ新規情報.申込区分が「2:追加申込」の場合
			// サービス ご契約者情報入力チェック（追加）を呼び出す
			// ユースケースID格納用マップを生成します。
			HashMap<String, String> paramMap = new HashMap<String, String>();
			paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, USECASE_ID_FUSV0014);

			// 設定値格納用マップを生成します。
			FUSV0014_FUSV0014OPDBMapper mapper = new FUSV0014_FUSV0014OPDBMapper();

			HashMap<String, Object> inputMap = new HashMap<String, Object>();
			X31SDataBeanAccess[] beans = { getServiceFormBean(), getCommonInfoBean() };
			mapper.setFUSV001401SC(beans, inputMap, JPCModelConstant.FUNC_CD_2);

			// 結果格納用マップを生成します。
			HashMap<Object, Object> outputMap = new HashMap<Object, Object>();

			// サービスの呼び出しを行う。
			try
			{
				// サービスを呼び出します。
				invokeService(paramMap, inputMap, outputMap);
			}
			catch (JCCWebServiceException se)
			{
				throw se;
			}
		}
		else
		{
			// (X) 新規でも追加でもない異常値
			result = false;
		}
// ANK-3518-00-00 ADD END
		if (!result && noWarn)
		{
			// ●上記(1)で生成した「処理結果」が「false」「警告なし」が「true」の場合、
			// 以下の処理は行わず、呼び出し元に戻る。
			return result;
		}

		// ●共有フォームBean.契約者情報の設定処理
		// ●個人契約情報保持変数生成処理
		String pNameLast = "";
		String pNameFirst = "";
		String pKnameLast = "";
		String pKnameFirst = "";

		String pBirthYear = "";
		String pBirthMonth = "";
		String pBirthDay = "";
		String pSex = "";
// ANK-3112-00-00 ADD START
		String pEmail = "";
// ANK-3112-00-00 ADD END
		String confSelect = "";
		String confDetail = "";

		int selectYear = 0;
		int selectMonth = 0;
		int selectDay = 0;

		// ●法人契約情報保持変数生成処理
		String eEname = "";
		String eEkname = "";
		String eNameLast = "";
		String eNameFirst = "";
		String eKnameLast = "";
		String eKnameFirst = "";
// ANK-3112-00-00 ADD START
		String eEmail = "";
// ANK-3112-00-00 ADD END

		// ====================================================================
		// サービスフォームBean の値を共有フォームBean へマッピングします =====

// ANK-3518-00-00 ADD START
		// メール入力方式切替
		// true: テキストボックス / false: プルダウン
		boolean isMailTextOrPull = false;
		isMailTextOrPull = serviceFormBean.sendMessageBoolean(FUW00921SFConst.SWITCH_MAIL_TEXT_OR_PULL, X31CWebConst.DATABEAN_GET_VALUE);
// ANK-3518-00-00 ADD END
		// 契約種別
		String keiyakuSbt = serviceFormBean.sendMessageString(FUW00921SFConst.KEI_SBT, X31CWebConst.DATABEAN_GET_VALUE);

		// ●契約情報取得処理
		if (JFUStrConst.KEI_SBT_KOJINCD.equals(keiyakuSbt))
		{
			// ●FUW00921SF.契約種別が「1:契約種別 個人」の場合
// ANK-3518-00-00 MOD START
//			X31SDataBeanAccessArray dataBeanAccessArray = serviceFormBean.getDataBeanArray(FUW00921SFConst.P_BIRTH); // 生年月日選択肢
//
//			selectYear = Integer.valueOf(serviceFormBean.sendMessageString(FUW00921SFConst.P_BIRTH_YEAR, X31CWebConst.DATABEAN_GET_VALUE)).intValue();
//			selectMonth =
//					Integer.valueOf(serviceFormBean.sendMessageString(FUW00921SFConst.P_BIRTH_MONTH, X31CWebConst.DATABEAN_GET_VALUE)).intValue();
//			selectDay = Integer.valueOf(serviceFormBean.sendMessageString(FUW00921SFConst.P_BIRTH_DAY, X31CWebConst.DATABEAN_GET_VALUE)).intValue();
//
//			X31SDataBeanAccess yFormBean = dataBeanAccessArray.getDataBean(0);
//			X31SDataBeanAccess mFormBean = dataBeanAccessArray.getDataBean(0);
//			X31SDataBeanAccess dFormBean = dataBeanAccessArray.getDataBean(0);
//
//			X31SDataBeanAccessArray dataBeanAccessArray2 = serviceFormBean.getDataBeanArray(FUW00921SFConst.CONFIRM_DOCUMENT); // ご本人様確認書類
//
//			X31SDataBeanAccess confFormBean =
//					getConfirmDocumentBean(dataBeanAccessArray2, serviceFormBean.sendMessageString(FUW00921SFConst.CONFIRM_DOCUMENT_SELECT,
//							X31CWebConst.DATABEAN_GET_VALUE));
//
//			pNameLast = serviceFormBean.sendMessageString(FUW00921SFConst.P_NAME_LAST, X31CWebConst.DATABEAN_GET_VALUE);
//			pNameFirst = serviceFormBean.sendMessageString(FUW00921SFConst.P_NAME_FIRST, X31CWebConst.DATABEAN_GET_VALUE);
//			pKnameLast = serviceFormBean.sendMessageString(FUW00921SFConst.P_KNAME_LAST, X31CWebConst.DATABEAN_GET_VALUE);
//			pKnameFirst = serviceFormBean.sendMessageString(FUW00921SFConst.P_KNAME_FIRST, X31CWebConst.DATABEAN_GET_VALUE);
//
//			pBirthYear = yFormBean.sendMessageString(FUW00921SFConst.YEAR_WAREKI_02, X31CWebConst.DATABEAN_GET_VALUE, selectYear).substring(0, 4);
//			pBirthMonth = mFormBean.sendMessageString(FUW00921SFConst.MONTH_02, X31CWebConst.DATABEAN_GET_VALUE, selectMonth);
//			pBirthDay = dFormBean.sendMessageString(FUW00921SFConst.DAY_02, X31CWebConst.DATABEAN_GET_VALUE, selectDay);

			if (JFUStrConst.MSKM_KBN_NEW.equals(webNewBean.sendMessageString(CommonInfoCFConst.MSKM_KBN_06, X31CWebConst.DATABEAN_GET_VALUE))) {
				
				X31SDataBeanAccessArray dataBeanAccessArray = serviceFormBean.getDataBeanArray(FUW00921SFConst.P_BIRTH); // 生年月日選択肢

				selectYear = Integer.valueOf(serviceFormBean.sendMessageString(FUW00921SFConst.P_BIRTH_YEAR, X31CWebConst.DATABEAN_GET_VALUE)).intValue();
				selectMonth =
						Integer.valueOf(serviceFormBean.sendMessageString(FUW00921SFConst.P_BIRTH_MONTH, X31CWebConst.DATABEAN_GET_VALUE)).intValue();
				selectDay = Integer.valueOf(serviceFormBean.sendMessageString(FUW00921SFConst.P_BIRTH_DAY, X31CWebConst.DATABEAN_GET_VALUE)).intValue();

				X31SDataBeanAccess yFormBean = dataBeanAccessArray.getDataBean(0);
				X31SDataBeanAccess mFormBean = dataBeanAccessArray.getDataBean(0);
				X31SDataBeanAccess dFormBean = dataBeanAccessArray.getDataBean(0);
				
				pBirthYear = yFormBean.sendMessageString(FUW00921SFConst.YEAR_WAREKI_02, X31CWebConst.DATABEAN_GET_VALUE, selectYear).substring(0, 4);
				pBirthMonth = mFormBean.sendMessageString(FUW00921SFConst.MONTH_02, X31CWebConst.DATABEAN_GET_VALUE, selectMonth);
				pBirthDay = dFormBean.sendMessageString(FUW00921SFConst.DAY_02, X31CWebConst.DATABEAN_GET_VALUE, selectDay);
				
				X31SDataBeanAccessArray dataBeanAccessArray2 = serviceFormBean.getDataBeanArray(FUW00921SFConst.CONFIRM_DOCUMENT); // ご本人様確認書類

				X31SDataBeanAccess confFormBean =
						getConfirmDocumentBean(dataBeanAccessArray2, serviceFormBean.sendMessageString(FUW00921SFConst.CONFIRM_DOCUMENT_SELECT,
								X31CWebConst.DATABEAN_GET_VALUE));
				
				confSelect = confFormBean.sendMessageString(FUW00921SFConst.CONFIRM_DOCUMENT_CD_LIST_01, X31CWebConst.DATABEAN_GET_VALUE);
			} else {
				
				pBirthYear = serviceFormBean.sendMessageString(FUW00921SFConst.P_BIRTH_YEAR, X31CWebConst.DATABEAN_GET_VALUE);
				pBirthMonth = serviceFormBean.sendMessageString(FUW00921SFConst.P_BIRTH_MONTH, X31CWebConst.DATABEAN_GET_VALUE);
				pBirthDay = serviceFormBean.sendMessageString(FUW00921SFConst.P_BIRTH_DAY, X31CWebConst.DATABEAN_GET_VALUE);
			}

			pNameLast = serviceFormBean.sendMessageString(FUW00921SFConst.P_NAME_LAST, X31CWebConst.DATABEAN_GET_VALUE);
			pNameFirst = serviceFormBean.sendMessageString(FUW00921SFConst.P_NAME_FIRST, X31CWebConst.DATABEAN_GET_VALUE);
			pKnameLast = serviceFormBean.sendMessageString(FUW00921SFConst.P_KNAME_LAST, X31CWebConst.DATABEAN_GET_VALUE);
			pKnameFirst = serviceFormBean.sendMessageString(FUW00921SFConst.P_KNAME_FIRST, X31CWebConst.DATABEAN_GET_VALUE);
// ANK-3518-00-00 MOD END
			
			pSex = serviceFormBean.sendMessageString(FUW00921SFConst.P_SEX, X31CWebConst.DATABEAN_GET_VALUE);
			String cxStartFlg = JFUWebCommon.getDispItem(CX_START_FLG);
// ANK-3112-00-00 ADD START
			if (!"1".equals(cxStartFlg))
			{
				pEmail = serviceFormBean.sendMessageString(FUW00921SFConst.P_EMAIL, X31CWebConst.DATABEAN_GET_VALUE);
			}
// ANK-3112-00-00 ADD END
// ANK-3518-00-00 DEL START
//			confSelect = confFormBean.sendMessageString(FUW00921SFConst.CONFIRM_DOCUMENT_CD_LIST_01, X31CWebConst.DATABEAN_GET_VALUE);
// ANK-3518-00-00 DEL START
			
			//本人確認書類 その他が選択された場合 
			if (OTHERS.equals(confSelect))
			{
				confDetail = serviceFormBean.sendMessageString(FUW00921SFConst.CONFIRM_DOCUMENT_DETAIL, X31CWebConst.DATABEAN_GET_VALUE);
			}

			if (pBirthYear.indexOf(SPACE) != -1)
			{
				pBirthYear = pBirthYear.trim();
			}
			if (pBirthMonth.indexOf(SPACE) != -1)
			{
				pBirthMonth = pBirthMonth.trim();
			}
			if (pBirthDay.indexOf(SPACE) != -1)
			{
				pBirthDay = pBirthDay.trim();
			}
// ANK-3518-00-00 ADD START
			if (!"1".equals(cxStartFlg))
			{
				if (!isMailTextOrPull)
				{
					// ●FUW00921SF.メール入力方式切替が「false:プルダウン」の場合
					// メールがプルダウン形式の場合
					pEmail = getMailPullDownChoiceValue(serviceFormBean, FUW00921SFConst.P_EMAIL_LIST);
				}
			}
// ANK-3518-00-00 ADD END
		}
		else if (JFUStrConst.KEI_SBT_HOJINCD.equals(keiyakuSbt))
		{
			// ●FUW00921SF.契約種別が「2:契約種別 法人」の場合
			eEname = serviceFormBean.sendMessageString(FUW00921SFConst.E_ENAME, X31CWebConst.DATABEAN_GET_VALUE);
			eEkname = serviceFormBean.sendMessageString(FUW00921SFConst.E_EKNAME, X31CWebConst.DATABEAN_GET_VALUE);
			eNameLast = serviceFormBean.sendMessageString(FUW00921SFConst.E_NAME_LAST, X31CWebConst.DATABEAN_GET_VALUE);
			eNameFirst = serviceFormBean.sendMessageString(FUW00921SFConst.E_NAME_FIRST, X31CWebConst.DATABEAN_GET_VALUE);
			eKnameLast = serviceFormBean.sendMessageString(FUW00921SFConst.E_KNAME_LAST, X31CWebConst.DATABEAN_GET_VALUE);
			eKnameFirst = serviceFormBean.sendMessageString(FUW00921SFConst.E_KNAME_FIRST, X31CWebConst.DATABEAN_GET_VALUE);
			String cxStartFlg = JFUWebCommon.getDispItem(CX_START_FLG);
			if (!"1".equals(cxStartFlg))
			{
				// ANK-3112-00-00 ADD START
				eEmail = serviceFormBean.sendMessageString(FUW00921SFConst.E_EMAIL, X31CWebConst.DATABEAN_GET_VALUE);
				// ANK-3112-00-00 ADD END
				// ANK-3518-00-00 ADD START
				if (!isMailTextOrPull)
				{
					// ●FUW00921SF.メール入力方式切替が「false:プルダウン」の場合
					// メールがプルダウン形式の場合
					eEmail = getMailPullDownChoiceValue(serviceFormBean, FUW00921SFConst.E_EMAIL_LIST);
				}
				// ANK-3518-00-00 ADD END
			}
			if (JFUStrConst.MSKM_KBN_NEW.equals(webNewBean.sendMessageString(CommonInfoCFConst.MSKM_KBN_06, X31CWebConst.DATABEAN_GET_VALUE))) {
				
				X31SDataBeanAccessArray dataBeanAccessArray = serviceFormBean.getDataBeanArray(FUW00921SFConst.E_BIRTH); // 生年月日選択肢

				selectYear = Integer.valueOf(serviceFormBean.sendMessageString(FUW00921SFConst.E_BIRTH_YEAR, X31CWebConst.DATABEAN_GET_VALUE)).intValue();
				selectMonth =
						Integer.valueOf(serviceFormBean.sendMessageString(FUW00921SFConst.E_BIRTH_MONTH, X31CWebConst.DATABEAN_GET_VALUE)).intValue();
				selectDay = Integer.valueOf(serviceFormBean.sendMessageString(FUW00921SFConst.E_BIRTH_DAY, X31CWebConst.DATABEAN_GET_VALUE)).intValue();

				X31SDataBeanAccess yFormBean = dataBeanAccessArray.getDataBean(0);
				X31SDataBeanAccess mFormBean = dataBeanAccessArray.getDataBean(0);
				X31SDataBeanAccess dFormBean = dataBeanAccessArray.getDataBean(0);
				
				pBirthYear = yFormBean.sendMessageString(FUW00921SFConst.YEAR_WAREKI_02, X31CWebConst.DATABEAN_GET_VALUE, selectYear).substring(0, 4);
				pBirthMonth = mFormBean.sendMessageString(FUW00921SFConst.MONTH_02, X31CWebConst.DATABEAN_GET_VALUE, selectMonth);
				pBirthDay = dFormBean.sendMessageString(FUW00921SFConst.DAY_02, X31CWebConst.DATABEAN_GET_VALUE, selectDay);
				
			} else {
				
				pBirthYear = serviceFormBean.sendMessageString(FUW00921SFConst.E_BIRTH_YEAR, X31CWebConst.DATABEAN_GET_VALUE);
				pBirthMonth = serviceFormBean.sendMessageString(FUW00921SFConst.E_BIRTH_MONTH, X31CWebConst.DATABEAN_GET_VALUE);
				pBirthDay = serviceFormBean.sendMessageString(FUW00921SFConst.E_BIRTH_DAY, X31CWebConst.DATABEAN_GET_VALUE);
			}
		}

		// ●契約情報設定処理
		// 画面遷移モード
		webNewBean.sendMessageString(CommonInfoCFConst.SCREEN_MODE_06, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.SCREEN_MODE_DEF);
		// 契約種別
		webNewBean.sendMessageString(CommonInfoCFConst.KEI_SBT_06, X31CWebConst.DATABEAN_SET_VALUE, keiyakuSbt);

		// その他情報情報Bean
		X31SDataBeanAccess elseInfoBean = elseInfoBeanArray.getDataBean(0);

		// 関西電力とのお客様情報の授受選択状態
//ANK-3220-00-00 MOD START
//		String customer = serviceFormBean.sendMessageString(FUW00921SFConst.CUSTOMER, X31CWebConst.DATABEAN_GET_VALUE);
//		keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KEPCO_CUSTINFO_JUJU_DOI_UM_09, X31CWebConst.DATABEAN_SET_VALUE, customer);
		String mskmKsnSvc = webNewBean.sendMessageString(CommonInfoCFConst.MSKM_KSN_SVC_06, X31CWebConst.DATABEAN_GET_VALUE);
		if (JFUStrConst.MSKM_KSN_SVC_HOME.equals(mskmKsnSvc))
		{
			// ホームタイプの場合、"1"(同意する)
			keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KEPCO_CUSTINFO_JUJU_DOI_UM_09, X31CWebConst.DATABEAN_SET_VALUE, CUSTINFO_JUJU_DOI_UM_DOI);
		}
		else
		{
			// マンションタイプの場合、"0"(同意しない)
			keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KEPCO_CUSTINFO_JUJU_DOI_UM_09, X31CWebConst.DATABEAN_SET_VALUE, CUSTINFO_JUJU_DOI_UM_HIDOI);
		}
//ANK-3220-00-00 MOD END

		// 関電Ｇ個人情報取扱同意有無
		keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KEPG_KJNIF_TRAT_DOI_UM_09, X31CWebConst.DATABEAN_SET_VALUE, kepgKjnifTratDoiUm);
		keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KEPG_KJNIF_TRAT_DOI_UM_MNG_09, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.KEPG_KJNIF_TRAT_DOI_UM_MNG_DOUI);

		// 関電Ｇ個人情報提供不可フラグ
		keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KEPG_KJNIFT_FFG_09, X31CWebConst.DATABEAN_SET_VALUE, kepgKjnifFfg);
		if (kepgKjnifFfg.equals(JFUStrConst.KEPG_KJNIFT_FFG_INA)) {
			keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KEPG_KJNIFT_FFG_MNG_09, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.KEPG_KJNIFT_FFG_MNG_INA);
		} else {
			keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KEPG_KJNIFT_FFG_MNG_09, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.KEPG_KJNIFT_FFG_MNG_KA);
		}

		// コンテンツ利用規約同意有無
		keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.CONTENTS_KIYAKU_DOI_UM_09, X31CWebConst.DATABEAN_SET_VALUE, contentsDoiUm);
		if (JFUStrConst.MSKM_KBN_NEW.equals(webNewBean.sendMessageString(CommonInfoCFConst.MSKM_KBN_06, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			// ＳＭＳ・メール送信送信済フラグ
			keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.SMS_MAIL_SEND_FLG_09, X31CWebConst.DATABEAN_SET_VALUE, 
					serviceFormBean.sendMessageString(FUW00921SFConst.SMS_SEND_FLG, X31CWebConst.DATABEAN_GET_VALUE));
			if ("1".equals(serviceFormBean.sendMessageString(FUW00921SFConst.SMS_SEND_FLG, X31CWebConst.DATABEAN_GET_VALUE)))
			{
				// 管理番号
				keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KANRI_NO_09, X31CWebConst.DATABEAN_SET_VALUE, 
						serviceFormBean.sendMessageString(FUW00921SFConst.KANRI_NO, X31CWebConst.DATABEAN_GET_VALUE));
				// 識別キー
				keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.SKBT_KEY_09, X31CWebConst.DATABEAN_SET_VALUE, 
						serviceFormBean.sendMessageString(FUW00921SFConst.SKBT_KEY, X31CWebConst.DATABEAN_GET_VALUE));
				// ワンタイムキー
				keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.ONET_KEY_09, X31CWebConst.DATABEAN_SET_VALUE, 
						serviceFormBean.sendMessageString(FUW00921SFConst.ONETIME_KEY, X31CWebConst.DATABEAN_GET_VALUE));
				// ワンタイムキー送信時間
				keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.ONET_KEY_SEND_TIME_09, X31CWebConst.DATABEAN_SET_VALUE, 
						serviceFormBean.sendMessageString(FUW00921SFConst.ONETIME_KEY_SEND_TIME, X31CWebConst.DATABEAN_GET_VALUE));
				// ワンタイムキー認証フラグ
				keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.ONET_KEY_NINSHO_FLG_09, X31CWebConst.DATABEAN_SET_VALUE, 
						serviceFormBean.sendMessageString(FUW00921SFConst.ONET_KEY_NINSHO_FLG, X31CWebConst.DATABEAN_GET_VALUE));
				// ＳＭＳ・メール送信送信回数
				keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.SMS_MAIL_SEND_CNT_09, X31CWebConst.DATABEAN_SET_VALUE, 
						serviceFormBean.sendMessageString(FUW00921SFConst.SMS_SEND_CNT, X31CWebConst.DATABEAN_GET_VALUE));
			} else {
				// 管理番号
				keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KANRI_NO_09, X31CWebConst.DATABEAN_SET_VALUE, ""); 
				// 識別キー
				keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.SKBT_KEY_09, X31CWebConst.DATABEAN_SET_VALUE, "");
				// ワンタイムキー
				keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.ONET_KEY_09, X31CWebConst.DATABEAN_SET_VALUE, "");
				// ワンタイムキー送信時間
				keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.ONET_KEY_SEND_TIME_09, X31CWebConst.DATABEAN_SET_VALUE, "");
				// ワンタイムキー認証フラグ
				keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.ONET_KEY_NINSHO_FLG_09, X31CWebConst.DATABEAN_SET_VALUE, ""); 
				// ＳＭＳ・メール送信送信回数
				keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.SMS_MAIL_SEND_CNT_09, X31CWebConst.DATABEAN_SET_VALUE, ""); 
			}
		}

		if (JFUStrConst.KEI_SBT_KOJINCD.equals(webNewBean.sendMessageString(CommonInfoCFConst.KEI_SBT_06, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			// ●FUW00921SF.契約種別が「1:契約種別 個人」の場合
			keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KSHNM_SEI_09, X31CWebConst.DATABEAN_SET_VALUE, pNameLast); // 氏名(姓)
			keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KSHNM_NM_09, X31CWebConst.DATABEAN_SET_VALUE, pNameFirst); // 氏名(名)
			keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KSHKN_SEI_09, X31CWebConst.DATABEAN_SET_VALUE, pKnameLast); // 氏名かな(姓)
			keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KSHKN_NM_09, X31CWebConst.DATABEAN_SET_VALUE, pKnameFirst); // 氏名かな(名)
			keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.SEX_09, X31CWebConst.DATABEAN_SET_VALUE, pSex); // 性別
// ANK-3112-00-00 ADD START
			keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KOJIN_MLAD_09, X31CWebConst.DATABEAN_SET_VALUE, pEmail); // 個人メールアドレス
// ANK-3112-00-00 ADD END
			//「IT2-2012-0001949」対応　本人確認情報の変更 >>>
			keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.HONNIN_SELECT_09, X31CWebConst.DATABEAN_SET_VALUE, confSelect); // 本人確認書類選択
			//「IT2-2012-0001949」対応　本人確認情報の変更 <<<
			if (OTHERS.equals(confSelect))
			{
				//「IT2-2012-0001949」対応　本人確認情報の変更 >>>
				keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.HONNIN_DETAIL_09, X31CWebConst.DATABEAN_SET_VALUE, confDetail); // 本人確認書類詳細
				//「IT2-2012-0001949」対応　本人確認情報の変更 <<<
			}
			else
			{
				// 本人確認詳細の項目を初期化する
				keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.HONNIN_DETAIL_09, X31CWebConst.DATABEAN_SET_VALUE, CLEAR); // 本人確認書類詳細
			}
		}
		else if (JFUStrConst.KEI_SBT_HOJINCD.equals(webNewBean.sendMessageString(CommonInfoCFConst.KEI_SBT_06, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			// ●FUW00921SF.契約種別が「2:契約種別 法人」の場合
			keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.HOJINNM_09, X31CWebConst.DATABEAN_SET_VALUE, eEname); // 法人名
			keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.HOJINKN_09, X31CWebConst.DATABEAN_SET_VALUE, eEkname); // 法人名かな
			keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.DHSNM_SEI_09, X31CWebConst.DATABEAN_SET_VALUE, eNameLast); // 代表者氏名（姓）
			keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.DHSNM_NM_09, X31CWebConst.DATABEAN_SET_VALUE, eNameFirst); // 代表者氏名（名）
			keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.DHSKN_SEI_09, X31CWebConst.DATABEAN_SET_VALUE, eKnameLast); // 代表者かな（姓）
			keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.DHSKN_NM_09, X31CWebConst.DATABEAN_SET_VALUE, eKnameFirst); // 代表者かな（名）
// ANK-3112-00-00 ADD START
			keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.HOJIN_MLAD_09, X31CWebConst.DATABEAN_SET_VALUE, eEmail); // 法人メールアドレス
// ANK-3112-00-00 ADD END
		}
		keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.BIRTHD_YEAR_09, X31CWebConst.DATABEAN_SET_VALUE, pBirthYear); // 生年月日(年)
		keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.BIRTHD_MONTH_09, X31CWebConst.DATABEAN_SET_VALUE, pBirthMonth); // 生年月日(月)
		keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.BIRTHD_DAY_09, X31CWebConst.DATABEAN_SET_VALUE, pBirthDay); // 生年月日(日)

		// ●親権者情報
		if (JFUStrConst.MSKM_KBN_NEW.equals(webNewBean.sendMessageString(CommonInfoCFConst.MSKM_KBN_06, X31CWebConst.DATABEAN_GET_VALUE))
				&& JFUStrConst.KEI_SBT_KOJINCD.equals(serviceFormBean.sendMessageString(FUW00921SFConst.KEI_SBT, X31CWebConst.DATABEAN_GET_VALUE))
				&& JFUStrConst.CD00002_1.equals(under20flg))
		{
			// 新規申込、かつ、個人契約、かつ、20歳未満の場合に設定する

			// 20歳未満フラグ
			keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.UNDER_20_FLG_09, X31CWebConst.DATABEAN_SET_VALUE, under20flg);

			// 親権者同意
			keiyakushaInfoBean.sendMessageBoolean(CommonInfoCFConst.SKSHA_DOI_UM_09, X31CWebConst.DATABEAN_SET_VALUE,
					serviceFormBean.sendMessageBoolean(FUW00921SFConst.SHINKENSHA_DOI, X31CWebConst.DATABEAN_GET_VALUE));

			// 親権者名
			keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.SKSHA_SEI_09, X31CWebConst.DATABEAN_SET_VALUE,
					serviceFormBean.sendMessageString(FUW00921SFConst.SHINKENSHA_SEI, X31CWebConst.DATABEAN_GET_VALUE));
			keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.SKSHA_MEI_09, X31CWebConst.DATABEAN_SET_VALUE,
					serviceFormBean.sendMessageString(FUW00921SFConst.SHINKENSHA_MEI, X31CWebConst.DATABEAN_GET_VALUE));

			// 親権者名フル
			keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.SKSHA_NM_09, X31CWebConst.DATABEAN_SET_VALUE,
					serviceFormBean.sendMessageString(FUW00921SFConst.SHINKENSHA_SEI, X31CWebConst.DATABEAN_GET_VALUE)
					+ JFUStrConst.SPACE
					+ serviceFormBean.sendMessageString(FUW00921SFConst.SHINKENSHA_MEI, X31CWebConst.DATABEAN_GET_VALUE));

			// 親権者名かな
			keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.SKSHA_SEI_KANA_09, X31CWebConst.DATABEAN_SET_VALUE,
					serviceFormBean.sendMessageString(FUW00921SFConst.SHINKENSHA_SEI_KANA, X31CWebConst.DATABEAN_GET_VALUE));
			keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.SKSHA_MEI_KANA_09, X31CWebConst.DATABEAN_SET_VALUE,
					serviceFormBean.sendMessageString(FUW00921SFConst.SHINKENSHA_MEI_KANA, X31CWebConst.DATABEAN_GET_VALUE));

			// 親権者名かなフル(カタカナ)
			String snknshaNmKana =
					serviceFormBean.sendMessageString(FUW00921SFConst.SHINKENSHA_SEI_KANA, X31CWebConst.DATABEAN_GET_VALUE)
					+ JFUStrConst.SPACE
					+ serviceFormBean.sendMessageString(FUW00921SFConst.SHINKENSHA_MEI_KANA, X31CWebConst.DATABEAN_GET_VALUE);
			keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.SKSHA_KANA_09, X31CWebConst.DATABEAN_SET_VALUE,
					JFUWebCommon.convFullHiraToFullKataV(snknshaNmKana));

			// 続柄コード
			String zokugaraCd = serviceFormBean.sendMessageString(FUW00921SFConst.SHINKENSHA_ZOKUGARA_CD, X31CWebConst.DATABEAN_GET_VALUE);
			keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.SKSHA_ZOKUGARA_CD_09, X31CWebConst.DATABEAN_SET_VALUE, zokugaraCd);

			// 続柄名・続柄その他
			if (JFUStrConst.CD00608_5.equals(zokugaraCd))
			{
				// 続柄がその他の場合、入力した続柄を設定する
				keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.SKSHA_ZOKUGARA_NM_09, X31CWebConst.DATABEAN_SET_VALUE,
						serviceFormBean.sendMessageString(FUW00921SFConst.SHINKENSHA_ZOKUGARA_SONOTA, X31CWebConst.DATABEAN_GET_VALUE));
				keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.ZOKUGARA_OTHER_09, X31CWebConst.DATABEAN_SET_VALUE,
						serviceFormBean.sendMessageString(FUW00921SFConst.SHINKENSHA_ZOKUGARA_SONOTA, X31CWebConst.DATABEAN_GET_VALUE));
			}
			else
			{
				// 続柄がその他以外の場合、選択した続柄を設定する(その他は未設定とする)
				keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.SKSHA_ZOKUGARA_NM_09, X31CWebConst.DATABEAN_SET_VALUE,
						getShinkenshaZokugaraNm(serviceFormBean));
				keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.ZOKUGARA_OTHER_09, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
			}

			// 親権者生年月日
			String snknshaBirthY = serviceFormBean.sendMessageString(FUW00921SFConst.SHINKENSHA_BIRTH_YEAR, X31CWebConst.DATABEAN_GET_VALUE);
			String snknshaBirthM = serviceFormBean.sendMessageString(FUW00921SFConst.SHINKENSHA_BIRTH_MONTH, X31CWebConst.DATABEAN_GET_VALUE);
			String snknshaBirthD = serviceFormBean.sendMessageString(FUW00921SFConst.SHINKENSHA_BIRTH_DAY, X31CWebConst.DATABEAN_GET_VALUE);

			// 親権者生年月日フル
			snknshaBirthM = (snknshaBirthM.length() == 1) ? (JFUStrConst.S_ZERO + snknshaBirthM) : (snknshaBirthM);
			snknshaBirthD = (snknshaBirthD.length() == 1) ? (JFUStrConst.S_ZERO + snknshaBirthD) : (snknshaBirthD);

			keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.SKSHA_BIRTHD_YEAR_09, X31CWebConst.DATABEAN_SET_VALUE, snknshaBirthY);
			keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.SKSHA_BIRTHD_MONTH_09, X31CWebConst.DATABEAN_SET_VALUE, snknshaBirthM);
			keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.SKSHA_BIRTHD_DAY_09, X31CWebConst.DATABEAN_SET_VALUE, snknshaBirthD);

			keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.SKSHA_BIRTHD_09, X31CWebConst.DATABEAN_SET_VALUE,
					snknshaBirthY + snknshaBirthM + snknshaBirthD);

			// 親権者電話番号
			String snknshaTelNo1 = serviceFormBean.sendMessageString(FUW00921SFConst.SHINKENSHA_TELNO_1, X31CWebConst.DATABEAN_GET_VALUE);
			String snknshaTelNo2 = serviceFormBean.sendMessageString(FUW00921SFConst.SHINKENSHA_TELNO_2, X31CWebConst.DATABEAN_GET_VALUE);
			String snknshaTelNo3 = serviceFormBean.sendMessageString(FUW00921SFConst.SHINKENSHA_TELNO_3, X31CWebConst.DATABEAN_GET_VALUE);

			keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.SKSHA_TELNO1_09, X31CWebConst.DATABEAN_SET_VALUE, snknshaTelNo1);
			keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.SKSHA_TELNO2_09, X31CWebConst.DATABEAN_SET_VALUE, snknshaTelNo2);
			keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.SKSHA_TELNO3_09, X31CWebConst.DATABEAN_SET_VALUE, snknshaTelNo3);

			// 親権者電話番号フル
			keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.SKSHA_TELNO_09, X31CWebConst.DATABEAN_SET_VALUE,
					snknshaTelNo1 + snknshaTelNo2 + snknshaTelNo3);
		}
		else
		{
			// 上記以外の場合、共有フォームBeanの値をクリアする
			keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.UNDER_20_FLG_09, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
			keiyakushaInfoBean.sendMessageBoolean(CommonInfoCFConst.SKSHA_DOI_UM_09, X31CWebConst.DATABEAN_SET_VALUE, false);
			keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.SKSHA_NM_09, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
			keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.SKSHA_SEI_09, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
			keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.SKSHA_MEI_09, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
			keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.SKSHA_KANA_09, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
			keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.SKSHA_SEI_KANA_09, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
			keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.SKSHA_MEI_KANA_09, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
			keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.SKSHA_BIRTHD_09, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
			keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.SKSHA_BIRTHD_YEAR_09, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
			keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.SKSHA_BIRTHD_MONTH_09, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
			keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.SKSHA_BIRTHD_DAY_09, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
			keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.SKSHA_ZOKUGARA_CD_09, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
			keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.SKSHA_ZOKUGARA_NM_09, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
			keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.ZOKUGARA_OTHER_09, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
			keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.SKSHA_TELNO_09, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
			keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.SKSHA_TELNO1_09, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
			keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.SKSHA_TELNO2_09, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
			keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.SKSHA_TELNO3_09, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
		}

		// ●契約者住所情報
		if (JFUStrConst.MSKM_KBN_NEW.equals(webNewBean.sendMessageString(CommonInfoCFConst.MSKM_KBN_06, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			// 契約者電話番号
			String contract_tel1;
			String contract_tel2;
			String contract_tel3;
			contract_tel1 = serviceFormBean.sendMessageString(FUW00921SFConst.P_TEL_AREA, X31CWebConst.DATABEAN_GET_VALUE);
			contract_tel2 = serviceFormBean.sendMessageString(FUW00921SFConst.P_TEL_LOCAL, X31CWebConst.DATABEAN_GET_VALUE);
			contract_tel3 = serviceFormBean.sendMessageString(FUW00921SFConst.P_TEL_SUBSCRIBER, X31CWebConst.DATABEAN_GET_VALUE);
			// 契約者住所
			keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KSH_PCD1_09, X31CWebConst.DATABEAN_SET_VALUE, 
					serviceFormBean.sendMessageString(FUW00921SFConst.CONTRACTANTZIPCDFRONT, X31CWebConst.DATABEAN_GET_VALUE));
			keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KSH_PCD2_09, X31CWebConst.DATABEAN_SET_VALUE, 
					serviceFormBean.sendMessageString(FUW00921SFConst.CONTRACTANTZIPCDBACK, X31CWebConst.DATABEAN_GET_VALUE));
			keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KSH_STATE_09, X31CWebConst.DATABEAN_SET_VALUE, 
					serviceFormBean.sendMessageString(FUW00921SFConst.CONTRACTANTPREF, X31CWebConst.DATABEAN_GET_VALUE));
			keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KSH_AZA_09, X31CWebConst.DATABEAN_SET_VALUE, 
					serviceFormBean.sendMessageString(FUW00921SFConst.CONTRACTANTTOWN1, X31CWebConst.DATABEAN_GET_VALUE));
			keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KSH_CHO_BNCHI_09, X31CWebConst.DATABEAN_SET_VALUE, 
					serviceFormBean.sendMessageString(FUW00921SFConst.CONTRACTANTTOWN2, X31CWebConst.DATABEAN_GET_VALUE));
			keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KSH_TTM_09, X31CWebConst.DATABEAN_SET_VALUE, 
					serviceFormBean.sendMessageString(FUW00921SFConst.CONTRACTANTMANSION, X31CWebConst.DATABEAN_GET_VALUE));
			keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KSH_RRM_09, X31CWebConst.DATABEAN_SET_VALUE, 
					serviceFormBean.sendMessageString(FUW00921SFConst.CONTRACTANTROOM, X31CWebConst.DATABEAN_GET_VALUE));
			keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KSH_TELNO1_09, X31CWebConst.DATABEAN_SET_VALUE, contract_tel1);
			keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KSH_TELNO2_09, X31CWebConst.DATABEAN_SET_VALUE, contract_tel2);
			keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KSH_TELNO3_09, X31CWebConst.DATABEAN_SET_VALUE, contract_tel3);
		}

		// ●次へボタン・確認画面に戻るボタン押下時共通処理処理結果返却処理
		return result;
	}

	/**
	 * ご本人様確認書類の選択したコードに該当するビーンを返します。
	 * <br>該当ビーンがない場合はnullを返します。
	 * <br>
	 * @param beanArray
	 * @param cd 選択したコード値。
	 * @return 
	 */
	private X31SDataBeanAccess getConfirmDocumentBean(X31SDataBeanAccessArray beanArray, String cd)
	{
		if (cd == null)
		{
			return null;
		}

		int len = beanArray.getCount();
		for (int i = 0; i < len; i++)
		{
			X31SDataBeanAccess target = beanArray.getDataBean(i);
			if (cd.equals(target.sendMessageString(FUW00921SFConst.CONFIRM_DOCUMENT_CD_LIST_01, X31CWebConst.DATABEAN_GET_VALUE)))
			{
				return target;
			}
		}
		return null;
	}

	/**
	 * 親権者続柄コード取得処理です。
	 * 
	 * <br>
	 * @param bean サービスフォームBean
	 * @return 続柄コード
	 */
	private String getShinkenshaZokugaraCd(X31SDataBeanAccess bean)
	{
		// ●プルダウン選択値取得処理
		X31SDataBeanAccessArray beanArray = bean.getDataBeanArray(FUW00921SFConst.SHINKENSHA_ZOKUGARA_LIST);
		X31SDataBeanAccess zokugaraBean = beanArray.getDataBean(0);
		int selectedIndex = zokugaraBean.sendMessageLong(FUW00921SFConst.SEL_INDEX_05, X31CWebConst.DATABEAN_GET_VALUE, 0).intValue();

		// ●プルダウン選択値取得処理処理結果返却処理
		return zokugaraBean.sendMessageString(FUW00921SFConst.TRUE_VALUE_05, X31CWebConst.DATABEAN_GET_VALUE, selectedIndex);
	}

	/**
	 * 親権者続柄名取得処理です。
	 * 
	 * <br>
	 * @param bean サービスフォームBean
	 * @return 続柄名
	 */
	private String getShinkenshaZokugaraNm(X31SDataBeanAccess bean)
	{
		// ●プルダウン選択値取得処理
		X31SDataBeanAccessArray beanArray = bean.getDataBeanArray(FUW00921SFConst.SHINKENSHA_ZOKUGARA_LIST);
		X31SDataBeanAccess zokugaraBean = beanArray.getDataBean(0);
		int selectedIndex = zokugaraBean.sendMessageLong(FUW00921SFConst.SEL_INDEX_05, X31CWebConst.DATABEAN_GET_VALUE, 0).intValue();

		// ●プルダウン選択値取得処理処理結果返却処理
		return zokugaraBean.sendMessageString(FUW00921SFConst.LABEL_VALUE_05, X31CWebConst.DATABEAN_GET_VALUE, selectedIndex);
	}

	/**
	 * 20歳未満(未成年)チェック処理です。
	 * 
	 * <br>
	 * @param bean サービスフォームBean
	 * @return チェック結果
	 */
	private boolean isUnder20(String yyyy, String mm, String dd)
	{
		boolean result = false;

		// オンライン運用日付
		String opeDate = JFUWebCommon.getOpeDate(this, null);
		int numOpeDate = Integer.parseInt(opeDate);

		// 月、日の付け(2桁にする)
		mm = (mm.length() == 1) ? (JFUStrConst.S_ZERO + mm) : (mm);
		dd = (dd.length() == 1) ? (JFUStrConst.S_ZERO + dd) : (dd);

		// 生年月日に20年を足す
		String ymd = JFUStrConst.EMPTY;
		yyyy = String.valueOf((Integer.parseInt(yyyy) + 18));

		ymd = yyyy + mm + dd;
		int numYmd = Integer.parseInt(ymd);

		if (numYmd > numOpeDate)
		{
			// 生年月日＋20年 > オンライン運用日付の場合は20歳未満(未成年)と判定する
			result = true;
		}

		return result;
	}

	/**
	 * 親権者情報のチェック処理(必須、属性、桁数、妥当性)です。
	 * 
	 * <br>
	 * @param bean データBean
	 * @return チェック結果
	 */
	private boolean chkShinkenshaInfo(X31SDataBeanAccess bean)
	{
		boolean result = true;
		boolean nameResult = true;
		boolean nameKanaResult = true;
		boolean birthResult = true;
		boolean telNoResult = true;
		String errMsg = JFUStrConst.EMPTY;

		// 親権者同意
		boolean snknshaDoi = bean.sendMessageBoolean(FUW00921SFConst.SHINKENSHA_DOI, X31CWebConst.DATABEAN_GET_VALUE);
		if (!snknshaDoi)
		{
			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKF0440_TW,
					new String[]{ "親権者確認事項", "申し込み" }, "shinkensha_doi");
			result = false;
			return result;
		}

		// 親権者氏名（姓）
		String snknshaSei = bean.sendMessageString(FUW00921SFConst.SHINKENSHA_SEI, X31CWebConst.DATABEAN_GET_VALUE);
		if (JFUWebCommon.isNull(snknshaSei))
		{
			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKF0010_TW,
					new String[] { "氏名(姓)" }, "shikensha_nm");
			errMsg = JCCWebCommon.getMessage(JPCOnlineMessageConstant.EKF0010_TW,
					new String[] { "氏名(姓)" });
			result = false;
			nameResult = false;
		}
		else if (!MixCharCheck.isNameAddressCheck(snknshaSei))
		{
			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKF1380_TW,
					new String[] { "氏名(姓)" }, "shikensha_nm");
			errMsg = JCCWebCommon.getMessage(JPCOnlineMessageConstant.EKF1380_TW,
					new String[] { "氏名(姓)" });
			result = false;
			nameResult = false;
		}
		else if (snknshaSei.length() > 45)
		{
			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKF0030_TW,
					new String[] { "氏名(姓)", "全角", "45" }, "shikensha_nm");
			errMsg = JCCWebCommon.getMessage(JPCOnlineMessageConstant.EKF0030_TW,
					new String[] { "氏名(姓)", "全角", "45" });
			result = false;
			nameResult = false;
		}

		// 親権者氏名（名）
		String snknshaMei = bean.sendMessageString(FUW00921SFConst.SHINKENSHA_MEI, X31CWebConst.DATABEAN_GET_VALUE);
		if (JFUWebCommon.isNull(snknshaMei))
		{
			if (!JFUWebCommon.isNull(errMsg))
			{
				errMsg += JFUStrConst.RETURN_CODE_BR;
			}

			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKF0010_TW,
					new String[] { errMsg + "氏名(名)" }, "shikensha_nm");
			errMsg = JCCWebCommon.getMessage(JPCOnlineMessageConstant.EKF0010_TW,
					new String[] { errMsg + "氏名(名)" });
			result = false;
			nameResult = false;
		}
		else if (!MixCharCheck.isNameAddressCheck(snknshaMei))
		{
			if (!JFUWebCommon.isNull(errMsg))
			{
				errMsg += JFUStrConst.RETURN_CODE_BR;
			}

			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKF1380_TW,
					new String[] { errMsg + "氏名(名)" }, "shikensha_nm");
			errMsg = JCCWebCommon.getMessage(JPCOnlineMessageConstant.EKF1380_TW,
					new String[] { errMsg + "氏名(名)" });
			result = false;
			nameResult = false;
		}
		else if (snknshaMei.length() > 45)
		{
			if (!JFUWebCommon.isNull(errMsg))
			{
				errMsg += JFUStrConst.RETURN_CODE_BR;
			}

			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKF0030_TW,
					new String[] { errMsg + "氏名(名)", "全角", "45" }, "shikensha_nm");
			errMsg = JCCWebCommon.getMessage(JPCOnlineMessageConstant.EKF0030_TW,
					new String[] { errMsg + "氏名(名)", "全角", "45" });
			result = false;
			nameResult = false;
		}

		// 親権者氏名 フル桁チェック
		String snknshaNm = snknshaSei + JFUStrConst.SPACE + snknshaMei;
		if (nameResult && snknshaNm.length() > 45)
		{
			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKF0400_TW,
					new String[] { "氏名", "入力" }, "shikensha_nm");
			result = false;
		}

		errMsg = JFUStrConst.EMPTY;

		// 親権者氏名かな（姓）
		String snknshaSeiKana = bean.sendMessageString(FUW00921SFConst.SHINKENSHA_SEI_KANA, X31CWebConst.DATABEAN_GET_VALUE);
		if (JFUWebCommon.isNull(snknshaSeiKana))
		{
			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKF0010_TW,
					new String[] { "氏名かな(姓)" }, "shinkensha_nm_kana");
			errMsg = JCCWebCommon.getMessage(JPCOnlineMessageConstant.EKF0010_TW,
					new String[] { "氏名かな(姓)" });
			result = false;
			nameKanaResult = false;
		}
		else if (!EmsizeCharCheck.isEmsizeHiraganaCheck(snknshaSeiKana))
		{
			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKF1380_TW,
					new String[] { "氏名かな(姓)" }, "shinkensha_nm_kana");
			errMsg = JCCWebCommon.getMessage(JPCOnlineMessageConstant.EKF1380_TW,
					new String[] { "氏名かな(姓)" });
			result = false;
			nameKanaResult = false;
		}
		else if (snknshaSeiKana.length() > 45)
		{
			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKF0030_TW,
					new String[] { "氏名かな(姓)", "全角", "45" }, "shinkensha_nm_kana");
			errMsg = JCCWebCommon.getMessage(JPCOnlineMessageConstant.EKF0030_TW,
					new String[] { "氏名かな(姓)", "全角", "45" });
			result = false;
			nameKanaResult = false;
		}

		// 親権者氏名かな（名）
		String snknshaMeiKana = bean.sendMessageString(FUW00921SFConst.SHINKENSHA_MEI_KANA, X31CWebConst.DATABEAN_GET_VALUE);
		if (JFUWebCommon.isNull(snknshaMeiKana))
		{
			if (!JFUWebCommon.isNull(errMsg))
			{
				errMsg += JFUStrConst.RETURN_CODE_BR;
			}

			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKF0010_TW,
					new String[] { errMsg + "氏名かな(名)" }, "shinkensha_nm_kana");
			errMsg = JCCWebCommon.getMessage(JPCOnlineMessageConstant.EKF0010_TW,
					new String[] { errMsg + "氏名かな(名)" });
			result = false;
			nameKanaResult = false;
		}
		else if (!EmsizeCharCheck.isEmsizeHiraganaCheck(snknshaMeiKana))
		{
			if (!JFUWebCommon.isNull(errMsg))
			{
				errMsg += JFUStrConst.RETURN_CODE_BR;
			}

			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKF1380_TW,
					new String[] { errMsg + "氏名かな(名)" }, "shinkensha_nm_kana");
			errMsg = JCCWebCommon.getMessage(JPCOnlineMessageConstant.EKF1380_TW,
					new String[] { errMsg + "氏名かな(名)" });
			result = false;
			nameKanaResult = false;
		}
		else if (snknshaMeiKana.length() > 45)
		{
			if (!JFUWebCommon.isNull(errMsg))
			{
				errMsg += JFUStrConst.RETURN_CODE_BR;
			}

			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKF0030_TW,
					new String[] { errMsg + "氏名かな(名)", "全角", "45" }, "shinkensha_nm_kana");
			errMsg = JCCWebCommon.getMessage(JPCOnlineMessageConstant.EKF0030_TW,
					new String[] { errMsg + "氏名かな(名)", "全角", "45" });
			result = false;
			nameKanaResult = false;
		}

		// 親権者氏名かな フル桁チェック
		String snknshaNmKana = snknshaSeiKana + JFUStrConst.SPACE + snknshaMeiKana;
		if (nameKanaResult && snknshaNmKana.length() > 45)
		{
			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKF0400_TW,
					new String[] { "氏名かな", "入力" }, "shinkensha_nm_kana");
			result = false;
		}

		// 続柄
		String zokugaraCd = bean.sendMessageString(FUW00921SFConst.SHINKENSHA_ZOKUGARA_CD, X31CWebConst.DATABEAN_GET_VALUE);
		if (JFUWebCommon.isNull(zokugaraCd))
		{
			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKF0420_TW,
					new String[] { "続柄", "選択" }, "shinkensha_zokugara");
			result = false;
		}

		// 続柄その他
		String zokugaraSonota = bean.sendMessageString(FUW00921SFConst.SHINKENSHA_ZOKUGARA_SONOTA, X31CWebConst.DATABEAN_GET_VALUE);
		if (JFUStrConst.CD00608_5.equals(zokugaraCd) && JFUWebCommon.isNull(zokugaraSonota))
		{
			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKF0390_NW,
					new String[] { "続柄でその他を選択", "続柄(その他)を入力" }, "shinkensha_zokugara_sonota");
			result = false;
		}
		else if (JFUStrConst.CD00608_5.equals(zokugaraCd) && !EmsizeCharCheck.isEmsizeCheck(zokugaraSonota))
		{
			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKF1380_TW,
					new String[] { "続柄(その他)" }, "shinkensha_zokugara_sonota");
			result = false;
		}
		else if (JFUStrConst.CD00608_5.equals(zokugaraCd) && zokugaraSonota.length() > 20)
		{
			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKF0030_TW,
					new String[] { "続柄(その他)", "全角", "20" }, "shinkensha_zokugara_sonota");
			result = false;
		}

		errMsg = JFUStrConst.EMPTY;

		// 親権者生年月日（年）
		String snknshaBirthY = bean.sendMessageString(FUW00921SFConst.SHINKENSHA_BIRTH_YEAR, X31CWebConst.DATABEAN_GET_VALUE);
		if (JFUWebCommon.isNull(snknshaBirthY))
		{
			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKF0010_TW,
					new String[] { "生年月日(年)" }, "shinkensha_birth");
			errMsg = JCCWebCommon.getMessage(JPCOnlineMessageConstant.EKF0010_TW,
					new String[] { "生年月日(年)" });
			result = false;
			birthResult = false;
		}
		else if (!HalfCharCheck.isNumber1Check(snknshaBirthY))
		{
			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKF0140_TW,
					new String[] { "生年月日(年)" }, "shinkensha_birth");
			errMsg = JCCWebCommon.getMessage(JPCOnlineMessageConstant.EKF0140_TW,
					new String[] { "生年月日(年)" });
			result = false;
			birthResult = false;
		}
		else if (snknshaBirthY.length() != 4)
		{
			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKF0030_TW,
					new String[] { "生年月日(年)", "半角数字", "4" }, "shinkensha_birth");
			errMsg = JCCWebCommon.getMessage(JPCOnlineMessageConstant.EKF0030_TW,
					new String[] { "生年月日(年)", "半角数字", "4"   });
			result = false;
			birthResult = false;
		}

		// 親権者生年月日（月）
		String snknshaBirthM = bean.sendMessageString(FUW00921SFConst.SHINKENSHA_BIRTH_MONTH, X31CWebConst.DATABEAN_GET_VALUE);
		if (JFUWebCommon.isNull(snknshaBirthM))
		{
			if (!JFUWebCommon.isNull(errMsg))
			{
				errMsg += JFUStrConst.RETURN_CODE_BR;
			}

			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKF0010_TW,
					new String[] { errMsg + "生年月日(月)" }, "shinkensha_birth");
			errMsg = JCCWebCommon.getMessage(JPCOnlineMessageConstant.EKF0010_TW,
					new String[] { errMsg + "生年月日(月)" });
			result = false;
			birthResult = false;
		}
		else if (!HalfCharCheck.isNumber1Check(snknshaBirthM))
		{
			if (!JFUWebCommon.isNull(errMsg))
			{
				errMsg += JFUStrConst.RETURN_CODE_BR;
			}

			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKF0140_TW,
					new String[] { errMsg + "生年月日(月)" }, "shinkensha_birth");
			errMsg = JCCWebCommon.getMessage(JPCOnlineMessageConstant.EKF0140_TW,
					new String[] { errMsg + "生年月日(月)" });
			result = false;
			birthResult = false;
		}
		else if (snknshaBirthM.length() > 2)
		{
			if (!JFUWebCommon.isNull(errMsg))
			{
				errMsg += JFUStrConst.RETURN_CODE_BR;
			}

			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKF0030_TW,
					new String[] { errMsg + "生年月日(月)", "半角数字", "2" }, "shinkensha_birth");
			errMsg = JCCWebCommon.getMessage(JPCOnlineMessageConstant.EKF0030_TW,
					new String[] { errMsg + "生年月日(月)", "半角数字", "2" });
			result = false;
			birthResult = false;
		}

		// 親権者生年月日（日）
		String snknshaBirthD = bean.sendMessageString(FUW00921SFConst.SHINKENSHA_BIRTH_DAY, X31CWebConst.DATABEAN_GET_VALUE);
		if (JFUWebCommon.isNull(snknshaBirthD))
		{
			if (!JFUWebCommon.isNull(errMsg))
			{
				errMsg += JFUStrConst.RETURN_CODE_BR;
			}

			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKF0010_TW,
					new String[] { errMsg + "生年月日(日)" }, "shinkensha_birth");
			errMsg = JCCWebCommon.getMessage(JPCOnlineMessageConstant.EKF0010_TW,
					new String[] { errMsg + "生年月日(日)" });
			result = false;
			birthResult = false;
		}
		else if (!HalfCharCheck.isNumber1Check(snknshaBirthD))
		{
			if (!JFUWebCommon.isNull(errMsg))
			{
				errMsg += JFUStrConst.RETURN_CODE_BR;
			}

			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKF0140_TW,
					new String[] { errMsg + "生年月日(日)" }, "shinkensha_birth");
			errMsg = JCCWebCommon.getMessage(JPCOnlineMessageConstant.EKF0140_TW,
					new String[] { errMsg + "生年月日(日)" });
			result = false;
			birthResult = false;
		}
		else if (snknshaBirthD.length() > 2)
		{
			if (!JFUWebCommon.isNull(errMsg))
			{
				errMsg += JFUStrConst.RETURN_CODE_BR;
			}

			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKF0030_TW,
					new String[] { errMsg + "生年月日(日)", "半角数字", "2" }, "shinkensha_birth");
			errMsg = JCCWebCommon.getMessage(JPCOnlineMessageConstant.EKF0030_TW,
					new String[] { errMsg + "生年月日(日)", "半角数字", "2" });
			result = false;
			birthResult = false;
		}

		// 親権者生年月日 妥当性チェック
		if (birthResult)
		{
			// 月日のゼロ付け
			snknshaBirthM = (snknshaBirthM.length() == 1) ? (JFUStrConst.S_ZERO + snknshaBirthM) : (snknshaBirthM);
			snknshaBirthD = (snknshaBirthD.length() == 1) ? (JFUStrConst.S_ZERO + snknshaBirthD) : (snknshaBirthD);

			String snknshaBirth = snknshaBirthY + snknshaBirthM + snknshaBirthD;
			String opeDate = JFUWebCommon.getOpeDate(this, null);

			int numSnknshaBirth = Integer.parseInt(snknshaBirth);
			int numOpeDate = Integer.parseInt(opeDate);

			if (!JPCCheckUtil.checkDate(snknshaBirth, 8))
			{
				// 形式チェック
				JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKF0070_TW,
						new String[] { "生年月日" }, "shinkensha_birth");
				result = false;
			}
			else if (numSnknshaBirth > numOpeDate)
			{
				// 未来日チェック
				JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKF0400_TW,
						new String[] { "生年月日" }, "shinkensha_birth");
				result = false;
			}
			else if (isUnder20(snknshaBirthY, snknshaBirthM, snknshaBirthD))
			{
				// 未成年チェック
				JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKF0400_TW,
						new String[] { "生年月日" }, "shinkensha_birth");
				result = false;
			}
		}

		errMsg = JFUStrConst.EMPTY;

		// 親権者電話番号（市外局番）
		String snknshaTelNo1 = bean.sendMessageString(FUW00921SFConst.SHINKENSHA_TELNO_1, X31CWebConst.DATABEAN_GET_VALUE);
		if (JFUWebCommon.isNull(snknshaTelNo1))
		{
			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKF0010_TW,
					new String[] { "電話番号(市外局番)" }, "shinkensha_telno");
			errMsg = JCCWebCommon.getMessage(JPCOnlineMessageConstant.EKF0010_TW,
					new String[] { "電話番号(市外局番)" });
			result = false;
			telNoResult = false;
		}
		else if (!HalfCharCheck.isNumber1Check(snknshaTelNo1))
		{
			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKF0140_TW,
					new String[] { "電話番号(市外局番)" }, "shinkensha_telno");
			errMsg = JCCWebCommon.getMessage(JPCOnlineMessageConstant.EKF0140_TW,
					new String[] { "電話番号(市外局番)" });
			result = false;
			telNoResult = false;
		}
		else if (snknshaTelNo1.length() > 6)
		{
			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKF0030_TW,
					new String[] { "電話番号(市外局番)", "半角数字", "6" }, "shinkensha_telno");
			errMsg = JCCWebCommon.getMessage(JPCOnlineMessageConstant.EKF0030_TW,
					new String[] { "電話番号(市外局番)", "半角数字", "6" });
			result = false;
			telNoResult = false;
		}

		// 親権者電話番号（市内局番）
		String snknshaTelNo2 = bean.sendMessageString(FUW00921SFConst.SHINKENSHA_TELNO_2, X31CWebConst.DATABEAN_GET_VALUE);
		if (JFUWebCommon.isNull(snknshaTelNo2))
		{
			if (!JFUWebCommon.isNull(errMsg))
			{
				errMsg += JFUStrConst.RETURN_CODE_BR;
			}

			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKF0010_TW,
					new String[] { errMsg + "電話番号(市内局番)" }, "shinkensha_telno");
			errMsg = JCCWebCommon.getMessage(JPCOnlineMessageConstant.EKF0010_TW,
					new String[] { errMsg + "電話番号(市内局番)" });
			result = false;
			telNoResult = false;
		}
		else if (!HalfCharCheck.isNumber1Check(snknshaTelNo2))
		{
			if (!JFUWebCommon.isNull(errMsg))
			{
				errMsg += JFUStrConst.RETURN_CODE_BR;
			}

			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKF0140_TW,
					new String[] { errMsg + "電話番号(市内局番)" }, "shinkensha_telno");
			errMsg = JCCWebCommon.getMessage(JPCOnlineMessageConstant.EKF0140_TW,
					new String[] { errMsg + "電話番号(市内局番)" });
			result = false;
			telNoResult = false;
		}
		else if (snknshaTelNo2.length() > 5)
		{
			if (!JFUWebCommon.isNull(errMsg))
			{
				errMsg += JFUStrConst.RETURN_CODE_BR;
			}

			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKF0030_TW,
					new String[] { errMsg + "電話番号(市内局番)", "半角数字", "5" }, "shinkensha_telno");
			errMsg = JCCWebCommon.getMessage(JPCOnlineMessageConstant.EKF0030_TW,
					new String[] { errMsg + "電話番号(市内局番)", "半角数字", "5" });
			result = false;
			telNoResult = false;
		}

		// 親権者電話番号（番号）
		String snknshaTelNo3 = bean.sendMessageString(FUW00921SFConst.SHINKENSHA_TELNO_3, X31CWebConst.DATABEAN_GET_VALUE);
		if (JFUWebCommon.isNull(snknshaTelNo3))
		{
			if (!JFUWebCommon.isNull(errMsg))
			{
				errMsg += JFUStrConst.RETURN_CODE_BR;
			}

			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKF0010_TW,
					new String[] { errMsg + "電話番号(番号)" }, "shinkensha_telno");
			errMsg = JCCWebCommon.getMessage(JPCOnlineMessageConstant.EKF0010_TW,
					new String[] { errMsg + "電話番号(番号)" });
			result = false;
			telNoResult = false;
		}
		else if (!HalfCharCheck.isNumber1Check(snknshaTelNo3))
		{
			if (!JFUWebCommon.isNull(errMsg))
			{
				errMsg += JFUStrConst.RETURN_CODE_BR;
			}

			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKF0140_TW,
					new String[] { errMsg + "電話番号(番号)" }, "shinkensha_telno");
			errMsg = JCCWebCommon.getMessage(JPCOnlineMessageConstant.EKF0140_TW,
					new String[] { errMsg + "電話番号(番号)" });
			result = false;
			telNoResult = false;
		}
		else if (snknshaTelNo3.length() > 6)
		{
			if (!JFUWebCommon.isNull(errMsg))
			{
				errMsg += JFUStrConst.RETURN_CODE_BR;
			}

			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKF0030_TW,
					new String[] { errMsg + "電話番号(番号)", "半角数字", "5" }, "shinkensha_telno");
			errMsg = JCCWebCommon.getMessage(JPCOnlineMessageConstant.EKF0030_TW,
					new String[] { errMsg + "電話番号(番号)", "半角数字", "5" });
			result = false;
			telNoResult = false;
		}

		// 親権者電話番号 妥当性チェック
		String snknshaTelNo = snknshaTelNo1 + snknshaTelNo2 + snknshaTelNo3;
		if (telNoResult)
		{
			if (!HalfCharCheck.isTelno2Check(snknshaTelNo))
			{
				// 形式チェック(TEL2)
				JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKF0400_TW,
						new String[] { "電話番号" }, "shinkensha_telno");
				result = false;
			}
		}

		return result;
	}
// ANK-3518-00-00 ADD START
	
	/**
	 * 表示タイプ設定処理
	 * <br>
	 * @param mskmKsnSvc 申込回線サービス
	 * @param mskmKbn 申込区分
	 * @param kaisenSelect 回線選択
	 * @param mskmMnsType 申込マンションタイプ
	 * @param 
	 * @param wiMaxRom
	 * @return 結果
	 */
	private int getDispType(String mskmKsnSvc, String mskmKbn, String kaisenSelect, String mskmMnsType)
	{
		int hyojiType = -1;

		if (JFUStrConst.MSKM_KSN_SVC_HOME.equals(mskmKsnSvc))
		{
			// ホームタイプ
			if (JFUStrConst.MSKM_KBN_NEW.equals(mskmKbn))
			{
				// 新規申込
				hyojiType = HTYPE_HOME_MSKMNEW;
			}
			else if (JFUStrConst.MSKM_KBN_ADD.equals(mskmKbn))
			{
				// 追加申込
				if (JFUStrConst.KAISEN_SELECT_ADD_KEI.equals(kaisenSelect))
				{
					// 現在の場所
					hyojiType = HTYPE_HOME_MSKMADD_ADDKEI;
				}
				else if (JFUStrConst.KAISEN_SELECT_ADD_NEW_PLACE.equals(kaisenSelect))
				{
					// 新しい場所
					hyojiType = HTYPE_HOME_MSKMADD_NEWPLACE;
				}
			}
		}
		else if (JFUStrConst.MSKM_KSN_SVC_MANSION.equals(mskmKsnSvc))
		{
			// マンション
			if (JFUStrConst.MSKM_MNS_TYPE_MANSION.equals(mskmMnsType))
			{
				// マンション
				if (JFUStrConst.MSKM_KBN_NEW.equals(mskmKbn))
				{
					// 新規申込
					hyojiType = HTYPE_MANSION_MSKMNEW;
				}
				else if (JFUStrConst.MSKM_KBN_ADD.equals(mskmKbn))
				{
					// 追加申込
					if (JFUStrConst.KAISEN_SELECT_ADD_KEI.equals(kaisenSelect))
					{
						// 現在の場所
						hyojiType = HTYPE_MANSION_MSKMADD_ADDKEI;
					}
					else if (JFUStrConst.KAISEN_SELECT_ADD_NEW_PLACE.equals(kaisenSelect))
					{
						// 新しい場所
						hyojiType = HTYPE_MANSION_MSKMADD_NEWPLACE;
					}
				}
			}
			else if (JFUStrConst.MSKM_MNS_TYPE_MEZON.equals(mskmMnsType))
			{
				// メゾン
				if (JFUStrConst.MSKM_KBN_NEW.equals(mskmKbn))
				{
					// 新規申込
					hyojiType = HTYPE_MEZON_MSKMNEW;
				}
				else if (JFUStrConst.MSKM_KBN_ADD.equals(mskmKbn))
				{
					// 追加申込
					if (JFUStrConst.KAISEN_SELECT_ADD_KEI.equals(kaisenSelect))
					{
						// 現在の場所
						hyojiType = HTYPE_MEZON_MSKMADD_ADDKEI;
					}
					else if (JFUStrConst.KAISEN_SELECT_ADD_NEW_PLACE.equals(kaisenSelect))
					{
						// 新しい場所
						hyojiType = HTYPE_MEZON_MSKMADD_NEWPLACE;
					}
				}
			}
		}
		
		return hyojiType;
	}
	
	/**
	 * 追加申込時の初期、再表示用マッピング処理
	 * <br>
	 * @param webNewBean 共有フォームBean.ＷＥＢ新規情報
	 * @param serviceFormBean サービスフォームBean
	 * @param hyojiType 表示タイプ
	 * @return サービス処理結果(true:成功、false:失敗)
	 * @throws Exception 
	 */
	private boolean setMappingReadAdd(X31SDataBeanAccess webNewBean, X31SDataBeanAccess serviceFormBean, int hyojiType) throws Exception
	{
		DEBUG_LOG.info("----- mappingReadAdd Start -----");

		// プロパティを取得
		Map<String, String> fuDispDefinitionMap = JFUWebCommon.getDispItemsAsMap(QUERY_DISPTEXT_PATH, QUERY_ATTR_NAME);

		X31SDataBeanAccessArray keiyakushaInfoBeanArray = webNewBean.getDataBeanArray(CommonInfoCFConst.KEIYAKUSHA_INFO);
		if (keiyakushaInfoBeanArray.getCount() <= 0)
		{
			keiyakushaInfoBeanArray.addDataBean();
		}
		X31SDataBeanAccess keiyakushaInfoBean = keiyakushaInfoBeanArray.getDataBean(0);

		// ●サービス呼出前の事前処理
		// ECK0011A010 お客様一意照会 を呼び出すために運用日付を用意
		serviceFormBean.sendMessageString(FUW00921SFConst.UNYO_YMD, X31CWebConst.DATABEAN_SET_VALUE, JCCWebCommon.getOpeDate(this, null));

		String cxStartFlg = JFUWebCommon.getDispItem(CX_START_FLG);
		if (!"1".equals(cxStartFlg))
		{
			// ●個人用メールアドレスリスト初期化処理
			// メールアドレス一覧（プルダウン）用のリストは事前に破棄再生成して（１行目:「選択してください」）をあらかじめセットしておく
			// （mapper ではDB取得分の追加のみ行うため）
			initMailList(serviceFormBean.getDataBeanArray(FUW00921SFConst.P_EMAIL_LIST), fuDispDefinitionMap.get(KEY_MAIL_AD_LIST_FIRST_LABEL));
	
			// ●法人用メールアドレスリスト初期化処理
			// メールアドレス一覧（プルダウン）用のリストは事前に破棄再生成して（１行目:「選択してください」）をあらかじめセットしておく
			// （mapper ではDB取得分の追加のみ行うため）
			initMailList(serviceFormBean.getDataBeanArray(FUW00921SFConst.E_EMAIL_LIST), fuDispDefinitionMap.get(KEY_MAIL_AD_LIST_FIRST_LABEL));
		}

		// ●サービス呼出処理
		// ユースケースID格納用マップを生成します。
		HashMap<String, String> paramMap = new HashMap<String, String>();
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, USECASE_ID_FUSV0328);

		// 設定値格納用マップを生成します。
		FUSV0328_FUSV0328OPDBMapper mapper = new FUSV0328_FUSV0328OPDBMapper();

		HashMap<String, Object> inputMap = new HashMap<String, Object>();
		X31SDataBeanAccess[] beans = { getServiceFormBean(), getCommonInfoBean() };

		// 共有フォームBean.ＷＥＢ新規情報.契約種別
		String keiyakuSbt = webNewBean.sendMessageString(CommonInfoCFConst.KEI_SBT_06, X31CWebConst.DATABEAN_GET_VALUE);

		// 上りマッピング
		mapper.setFUSV032801SC(beans, inputMap, JPCModelConstant.FUNC_CD_2); // 個人名、性別、生年月日
		mapper.setFUSV032802SC(beans, inputMap, JPCModelConstant.FUNC_CD_2, keiyakuSbt); // 法人名
		mapper.setFUSV032803SC(beans, inputMap, JPCModelConstant.FUNC_CD_1);
		mapper.setFUSV032804SC(beans, inputMap, JPCModelConstant.FUNC_CD_1);
		
		// 結果格納用マップを生成します。
		HashMap<Object, Object> outputMap = new HashMap<Object, Object>();

		try
		{
			// サービスの呼び出しを行う。
			invokeService(paramMap, inputMap, outputMap);
		}
		catch (JCCWebServiceException se)
		{
			throw se;
		}

		// ●サービス処理結果の取得
		// 下りマッピング
		mapper.getFUSV032801SC(beans, outputMap);
		mapper.getFUSV032802SC(beans, outputMap);
		mapper.getFUSV032803SC(beans, outputMap);

		// ●お客様名・お客様カナ名取得設定処理

		// お客様名取得処理
		// お客様名を姓、名に分解します
		String okkNm = serviceFormBean.sendMessageString(FUW00921SFConst.OKK_NM, X31CWebConst.DATABEAN_GET_VALUE);
		String[] okkNmArray = okkNm.split(NAME_SPLIT_STR);

		String lastName = (okkNmArray.length >= 1) ? (okkNmArray[0]) : ("");
		String firstName = (okkNm.length() > lastName.length()+1) ? (okkNm.substring(lastName.length()+1, okkNm.length())) : (""); 

		// ●お客様ひらがな名取得処理
		// お客様カナ名をひらがなに変換して姓、名に分解します
		String okkNmKana = serviceFormBean.sendMessageString(FUW00921SFConst.OKK_NM_KANA, X31CWebConst.DATABEAN_GET_VALUE);
		// ST3-2013-0000514
		String nameHira = JFUWebCommon.convFullKataToFullHiraV(okkNmKana);
		String[] okkNmHiraArray = nameHira.split(NAME_SPLIT_STR);

		String lastKname = (okkNmHiraArray.length >= 1) ? (okkNmHiraArray[0]) : ("");
		String firstKname = (nameHira.length() > lastKname.length()+1) ? (nameHira.substring(lastKname.length()+1, nameHira.length())) : ("");

		// ●お客様名・お客様カナ名設定処理
		// お客様名をセットします（法人代表者名にもセットしておく）
		serviceFormBean.sendMessageString(FUW00921SFConst.P_NAME_LAST, X31CWebConst.DATABEAN_SET_VALUE, lastName);
		serviceFormBean.sendMessageString(FUW00921SFConst.P_NAME_FIRST, X31CWebConst.DATABEAN_SET_VALUE, firstName);
		serviceFormBean.sendMessageString(FUW00921SFConst.P_KNAME_LAST, X31CWebConst.DATABEAN_SET_VALUE, lastKname);
		serviceFormBean.sendMessageString(FUW00921SFConst.P_KNAME_FIRST, X31CWebConst.DATABEAN_SET_VALUE, firstKname);
		serviceFormBean.sendMessageString(FUW00921SFConst.E_NAME_LAST, X31CWebConst.DATABEAN_SET_VALUE, lastName);
		serviceFormBean.sendMessageString(FUW00921SFConst.E_NAME_FIRST, X31CWebConst.DATABEAN_SET_VALUE, firstName);
		serviceFormBean.sendMessageString(FUW00921SFConst.E_KNAME_LAST, X31CWebConst.DATABEAN_SET_VALUE, lastKname);
		serviceFormBean.sendMessageString(FUW00921SFConst.E_KNAME_FIRST, X31CWebConst.DATABEAN_SET_VALUE, firstKname);

		// ●性別・性別表記設定処理
		// お客様性別コードとその名称をセットします
		serviceFormBean.sendMessageString(FUW00921SFConst.P_SEX, X31CWebConst.DATABEAN_SET_VALUE, serviceFormBean.sendMessageString(
				FUW00921SFConst.OKK_SEX_CD, X31CWebConst.DATABEAN_GET_VALUE));
		serviceFormBean.sendMessageString(FUW00921SFConst.P_SEX_NAME, X31CWebConst.DATABEAN_SET_VALUE, serviceFormBean.sendMessageString(
				FUW00921SFConst.OKK_SEX_NM, X31CWebConst.DATABEAN_GET_VALUE));

		// ●生年月日（年）・生年月日（月）・生年月日（日）設定処理
		// お客様生年月日を年、月、日に分解してセットします
		String yyyymmdd = serviceFormBean.sendMessageString(FUW00921SFConst.OKK_BIRTH, X31CWebConst.DATABEAN_GET_VALUE);
		String yyyy = (yyyymmdd.length() >= YYYYMMDD_LENGTH_YEAR) ? (yyyymmdd.substring(0, YYYYMMDD_LENGTH_YEAR)) : ("");
		String mm = (yyyymmdd.length() >= YYYYMMDD_LENGTH_MONTH) ? (yyyymmdd.substring(YYYYMMDD_LENGTH_YEAR, YYYYMMDD_LENGTH_MONTH)) : ("");
		String dd = (yyyymmdd.length() >= YYYYMMDD_LENGTH_DAY) ? (yyyymmdd.substring(YYYYMMDD_LENGTH_MONTH, YYYYMMDD_LENGTH_DAY)) : ("");

		serviceFormBean.sendMessageString(FUW00921SFConst.P_BIRTH_YEAR, X31CWebConst.DATABEAN_SET_VALUE, yyyy);
		serviceFormBean.sendMessageString(FUW00921SFConst.P_BIRTH_MONTH, X31CWebConst.DATABEAN_SET_VALUE, mm);
		serviceFormBean.sendMessageString(FUW00921SFConst.P_BIRTH_DAY, X31CWebConst.DATABEAN_SET_VALUE, dd);

		serviceFormBean.sendMessageString(FUW00921SFConst.E_BIRTH_YEAR, X31CWebConst.DATABEAN_SET_VALUE, yyyy);
		serviceFormBean.sendMessageString(FUW00921SFConst.E_BIRTH_MONTH, X31CWebConst.DATABEAN_SET_VALUE, mm);
		serviceFormBean.sendMessageString(FUW00921SFConst.E_BIRTH_DAY, X31CWebConst.DATABEAN_SET_VALUE, dd);
		
		// ●法人名・法人名かな設定処理

		// ●法人名かな取得処理
		// 会社カナ名をひらがなに変換してセットします
		String kaishaNmKana = serviceFormBean.sendMessageString(FUW00921SFConst.KAISHA_NM_KANA, X31CWebConst.DATABEAN_GET_VALUE);
		// ST3-2013-0000514
		String kaishaNmHira = JFUWebCommon.convFullKataToFullHiraV(kaishaNmKana);

		// ●法人名・法人名かな設定処理
		// 会社名をセットします
		serviceFormBean.sendMessageString(FUW00921SFConst.E_ENAME, X31CWebConst.DATABEAN_SET_VALUE, serviceFormBean.sendMessageString(
				FUW00921SFConst.KAISHA_NM, X31CWebConst.DATABEAN_GET_VALUE));
		serviceFormBean.sendMessageString(FUW00921SFConst.E_EKNAME, X31CWebConst.DATABEAN_SET_VALUE, kaishaNmHira);

		if (!"1".equals(cxStartFlg))
		{
			// ●メールアドレス入力情報設定処理
			// メールアドレスリスト(個人/法人)の設定処理
			setMailInputInfo(serviceFormBean, keiyakushaInfoBean, keiyakuSbt, hyojiType, outputMap);
		}
		
		// ●その他引継ぎ項目の設定処理
		// 個人、法人の別 (契約種別)
		serviceFormBean.sendMessageString(FUW00921SFConst.KEI_SBT, X31CWebConst.DATABEAN_SET_VALUE, keiyakuSbt);
		// 新規、追加の別 (申込区分)
		String mkmKbn = webNewBean.sendMessageString(CommonInfoCFConst.MSKM_KBN_06, X31CWebConst.DATABEAN_GET_VALUE);
		serviceFormBean.sendMessageString(FUW00921SFConst.MKM_KBN, X31CWebConst.DATABEAN_SET_VALUE, mkmKbn);

		if (!"1".equals(cxStartFlg))
		{
			// 個人メールアドレス
			String pEmail = keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KOJIN_MLAD_09, X31CWebConst.DATABEAN_GET_VALUE);
			if (!"".equals(pEmail)) {
				serviceFormBean.sendMessageString(FUW00921SFConst.P_EMAIL, X31CWebConst.DATABEAN_SET_VALUE, pEmail);
			}
			// 法人メールアドレス
			String eEmail = keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.HOJIN_MLAD_09, X31CWebConst.DATABEAN_GET_VALUE);
			if (!"".equals(eEmail)) {
				serviceFormBean.sendMessageString(FUW00921SFConst.E_EMAIL, X31CWebConst.DATABEAN_SET_VALUE, eEmail);
			}
		}

		return true;
	}
	
	/**
	 * メールアドレスリスト初期化処理
	 * <br>
	 * @param mailListBeanArray メールアドレスリスト
	 * @param mailAdListFirstLabel プルダウン：メールアドレスリスト(最初)
	 * @return なし
	 */
	private void initMailList(X31SDataBeanAccessArray mailListBeanArray, String mailAdListFirstLabel)
	{
		// ●メールアドレスリスト再生成処理
		mailListBeanArray.clearArray();
		X31SDataBeanAccess mailListBean = mailListBeanArray.addDataBean();
		mailListBean.sendMessageLong(FUW00921SFConst.LIST_SIZE_06, X31CWebConst.DATABEAN_SET_VALUE, ARRAY_INDEX_ZERO, EMAIL_LIST_SIZE_INIT);
		mailListBean.sendMessageLong(FUW00921SFConst.SEL_INDEX_06, X31CWebConst.DATABEAN_SET_VALUE, ARRAY_INDEX_ZERO, EMAIL_SEL_INDEX_INIT);
		mailListBean.sendMessageString(FUW00921SFConst.TRUE_VALUE_06, X31CWebConst.DATABEAN_ADD_VALUE, EMAIL_TRUE_VALUE_INIT);
		mailListBean.sendMessageString(FUW00921SFConst.LABEL_VALUE_06, X31CWebConst.DATABEAN_ADD_VALUE, mailAdListFirstLabel);
	}
	
	/**
	 * メールアドレス入力設定処理
	 * <br>
	 * @param serviceFormBean サービスフォームBean
	 * @param keiyakushaInfoBean 契約者情報
	 * @param keiyakuSbt 契約種別(個人・法人)
	 * @param hyojiType 表示タイプ
	 * @return なし
	 */
	private void setMailInputInfo(X31SDataBeanAccess serviceFormBean, X31SDataBeanAccess keiyakushaInfoBean, String keiyakuSbt
			, int hyojiType, HashMap<Object, Object> outputMap)
	{
		// ●メールアドレス取得キー保持変数生成処理
		// サービスフォームBeanメールアドレスキー
		String serviceFormMladKey = null;
		// 共有フォームBeanメールアドレスキー
		String commonInfoCFMladKey = null;

		// ●メールアドレス取得キー取得判定処理
		// 共有フォームBean.ＷＥＢ新規情報.契約種別の判定処理
		if (JFUStrConst.KEI_SBT_KOJINCD.equals(keiyakuSbt))
		{
			// ●引数で設定された「契約種別」が「1:契約種別 個人」の場合
			serviceFormMladKey = FUW00921SFConst.P_EMAIL_LIST;
			commonInfoCFMladKey = CommonInfoCFConst.KOJIN_MLAD_09;
		}
		else
		{
			// ●引数で設定された「契約種別」が「2:契約種別 法人」の場合
			serviceFormMladKey = FUW00921SFConst.E_EMAIL_LIST;
			commonInfoCFMladKey = CommonInfoCFConst.HOJIN_MLAD_09;
		}

		// ●メールアドレスリスト件数取得処理
		// メールリスト件数取得
		int mailCount = setMailListSize(serviceFormBean, serviceFormMladKey);
		// メールオプション件数取得
		int optionMailCnt = getMailCnt(outputMap, FUSV032803SC, MAPKEY_EKK0361B501CBSMSG1LIST);
		// 連絡先メールアドレス件数取得
		int rrksMailCnt = getMailCnt(outputMap, FUSV032804SC, MAPKEY_ECK0201B503CBSMSG1LIST);
		
		//●メール入力方式切替取得設定処理
		// メール入力方式切替
		boolean switchMailTextOrPull = mailCount <= 1;

		if (!switchMailTextOrPull && optionMailCnt == 0)
		{
			switchMailTextOrPull = rrksMailCnt == 1;
		}
		
		// 追加申込で新しい場所に追加の場合、テキストボックスを出す。
		if (hyojiType == HTYPE_HOME_MSKMADD_NEWPLACE || hyojiType == HTYPE_MEZON_MSKMADD_NEWPLACE || hyojiType == HTYPE_MANSION_MSKMADD_NEWPLACE)
		{
			switchMailTextOrPull = true;
			// テキストボックスを空
			if (JFUStrConst.KEI_SBT_KOJINCD.equals(keiyakuSbt))
			{
				serviceFormBean.sendMessageString(FUW00921SFConst.P_EMAIL, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
			}
			else
			{
				serviceFormBean.sendMessageString(FUW00921SFConst.E_EMAIL, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
			}
		}
		
		// JSP フラグセット:画面生成時の テキストボックス/プルダウン 切り替えフラグをセット
		// true: テキストボックス / false: プルダウン
		serviceFormBean.sendMessageBoolean(FUW00921SFConst.SWITCH_MAIL_TEXT_OR_PULL, X31CWebConst.DATABEAN_SET_VALUE, switchMailTextOrPull);

		// ●メールアドレスリストプルダウン選択済み取得実行判定処理
		if (!switchMailTextOrPull)
		{
			// ●メールアドレスリストプルダウン選択済み取得処理
			// メールアドレス入力がプルダウンの場合

			// PULL DOWN セット: プルダウンから既存のメールアドレスに合致したインデックスを取得してセットする
			// （なければ 0 =選択してください）
			// 引当先プルダウンの選択済みインデックス値
			int selectedIndex = 0;

			X31SDataBeanAccessArray emailListBeanArray = serviceFormBean.getDataBeanArray(serviceFormMladKey);
			X31SDataBeanAccess emailListBean = emailListBeanArray.getDataBean(0);

			// メールアドレス
			String mlad = keiyakushaInfoBean.sendMessageString(commonInfoCFMladKey, X31CWebConst.DATABEAN_GET_VALUE);
			for (int i = 0; i < mailCount; i++)
			{
				String mailListOne = emailListBean.sendMessageString(FUW00921SFConst.TRUE_VALUE_06, X31CWebConst.DATABEAN_GET_VALUE, i);
				if (mlad.equals(mailListOne))
				{
					selectedIndex = i;
					break;
				}
			}
			// メールアドレスリスト 選択値
			emailListBean.sendMessageLong(FUW00921SFConst.SEL_INDEX_06, X31CWebConst.DATABEAN_SET_VALUE, 0, (long)selectedIndex);
		}
	}
	
	/**
	 * メールアドレスリスト項目数設定処理
	 * <br>
	 * @param serviceFormBean サービスフォームBean
	 * @param mailListKey メールアドレスリスト(個人/法人)取得キー
	 * @return メールアドレスリスト項目数
	 */
	private int setMailListSize(X31SDataBeanAccess serviceFormBean, String mailListKey)
	{
		// ●メールアドレスリスト項目数設定処理
		X31SDataBeanAccessArray mailListBeanArray = serviceFormBean.getDataBeanArray(mailListKey);
		X31SDataBeanAccess mailListBean = mailListBeanArray.getDataBean(0);
		int mailCount = (Integer)mailListBean.sendMessage(FUW00921SFConst.TRUE_VALUE_06, X31CWebConst.DATABEAN_GET_COUNT);
		mailListBean.sendMessageLong(FUW00921SFConst.LIST_SIZE_06, X31CWebConst.DATABEAN_SET_VALUE, 0, (long)mailCount);

		// ●メールアドレスリスト項目数設定処理結果返却処理
		return mailCount;
	}
	
	/**
	 * メール件数取得
	 * <br>
	 * @param outputMap
	 * @param scTitle
	 * @param scList
	 * @return mailCnt
	 */
	@SuppressWarnings("unchecked")
	private int getMailCnt(HashMap outputMap, String scTitle, String scList) {
		
		int mailCnt = 0;
		HashMap parentMap = null;
		if (outputMap.containsKey(scTitle))
		{
			parentMap = (HashMap)outputMap.get(scTitle);
		}
		
		ArrayList childList = null;
		if (parentMap.containsKey(scList))
		{
			childList = (ArrayList)parentMap.get(scList);
			for (int i = 0; i < childList.size(); i++)
			{
				HashMap childMap = (HashMap)childList.get(i);
				if (MAPKEY_ECK0201B503CBSMSG1LIST.equals(scList) 
						&& JFUStrConst.CD00871_1.equals(childMap.get("rrks_bunrui_cd")))
				{
					mailCnt = 1;
					break;
				}
				else if (MAPKEY_EKK0361B501CBSMSG1LIST.equals(scList))
				{
					mailCnt = mailCnt + 1;
				}
			}
		}
		
		return mailCnt;
	}
	
	/**
	 * メールアドレスプルダウン選択値取得処理
	 * <br>
	 * @param serviceFormBean サービスフォームBean
	 * @param mailListKey メールアドレスリスト(個人/法人)取得キー
	 * @return メールアドレスプルダウン選択値
	 */
	private String getMailPullDownChoiceValue(X31SDataBeanAccess serviceFormBean, String mailListKey)
	{
		// ●メールアドレスプルダウン選択値取得処理
		// メールがプルダウン形式の場合
		// 共有フォームBean[0].契約者情報[0].（個人／法人）メールアドレスから既存のメールアドレスを取得（画面戻り時に必要）
		X31SDataBeanAccessArray mailListBeanArray = serviceFormBean.getDataBeanArray(mailListKey);
		X31SDataBeanAccess mailListBean = mailListBeanArray.getDataBean(0);
		int selectedIndex = mailListBean.sendMessageLong(FUW00921SFConst.SEL_INDEX_06, X31CWebConst.DATABEAN_GET_VALUE, 0).intValue();

		// ●メールアドレスプルダウン選択値取得処理処理結果返却処理
		return mailListBean.sendMessageString(FUW00921SFConst.TRUE_VALUE_06, X31CWebConst.DATABEAN_GET_VALUE, selectedIndex);
	}
// ANK-3518-00-00 ADD END


	/**
	 * 住所検索ボタン押下処理
	 * <br/>
	 * @return 処理結果
	 */
	public boolean searchAdress()
	{
		// -------------------------------------------------
		// 使用フォームBeanの取得
		// -------------------------------------------------
		// 共有フォームBean
		X31SDataBeanAccess commonInfoBean = getCommonInfoBean();

		// -------------------------------------------------
		// 画面間引き継ぎ情報の設定
		// -------------------------------------------------
		JCCWebCommon.setScreenInfo(this, JFUScreenConst.SCREEN_ID_FUW09902, this.createAdSearchDataMap());

		// -------------------------------------------------
		// 遷移先画面ID、画面名の設定
		// -------------------------------------------------
		// 住所検索ポップアップ画面に遷移
		commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JFUScreenConst.SCREEN_ID_FUW09902);
		commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JFUScreenConst.SCREEN_NAME_FUW09902);

		return true;
	}

	/**
	 * 住所検索画面引き継ぎ情報データマップ生成処理
	 * 本メニュー画面から住所検索ポップアップ画面に引き渡す情報を生成します。
	 *
	 * @param button_id ボタンID
	 * @return dataMap 引き継ぎ情報データマップ
	 */
	private HashMap<String, Object> createAdSearchDataMap()
	{
		// -------------------------------------------------
		// 使用フォームBeanの取得
		// -------------------------------------------------
		// 2番号サービスお申し込みサービスフォームBean
		X31SDataBeanAccess serviceFormBean = getServiceFormBean();

		// -------------------------------------------------
		// 画面間引き継ぎ情報の生成
		// -------------------------------------------------
		HashMap<String, Object> dataMap = new HashMap<String, Object>();

		// 検索条件(画面入力値)を取得
		// 郵便番号(前)
		String pcd1 = serviceFormBean.sendMessageString(FUW00921SFConst.CONTRACTANTZIPCDFRONT, X31CWebConst.DATABEAN_GET_VALUE);
		// 郵便番号(後)
		String pcd2 = serviceFormBean.sendMessageString(FUW00921SFConst.CONTRACTANTZIPCDBACK, X31CWebConst.DATABEAN_GET_VALUE);

		// 画面間引き継ぎ情報に格納
		dataMap.put(MAP_KEY_PCD_1, pcd1);
		dataMap.put(MAP_KEY_PCD_2, pcd2);

		return dataMap;
	}
	/**
	 * FUSV0343_SMS送信
	 * 
	 * @return
	 * @throws Exception 
	 */
	public boolean sendSms() throws Exception
	{
		
		// サービスフォームBean取得
		X31SDataBeanAccess serviceFormBean = this.getServiceFormBean();
		
		// SMS送信回数
		String srtSmsSendCnt = serviceFormBean.sendMessageString(FUW00921SFConst.SMS_SEND_CNT, X31CWebConst.DATABEAN_GET_VALUE);
		if (JFUCommonUtil.isNull(srtSmsSendCnt))
		{
			srtSmsSendCnt = "0";
		}
		int intSmsSendCnt = 0;
		try {
			intSmsSendCnt = Integer.parseInt(srtSmsSendCnt) + 1;
		} catch (NumberFormatException e) {
		}
		serviceFormBean.sendMessageString(FUW00921SFConst.SMS_SEND_CNT, X31CWebConst.DATABEAN_SET_VALUE, String.valueOf(intSmsSendCnt));
		
		String mode = "1";
		if (intSmsSendCnt > 1)
		{
			mode = "2";
		}
		
		// 各Beanを配列に格納
		X31SDataBeanAccess[] beanArray = { serviceFormBean };

		// ユースケースIDを格納
		HashMap<String, String> paramMap = new HashMap<String, String>();
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, USECASE_ID_FUSV0343);

		// DBMapper呼び出し
		FUSV0343_FUSV0343OPDBMapper mapper = new FUSV0343_FUSV0343OPDBMapper();

		// ●上りマッピング
		HashMap<String, Object> dataMap = new HashMap<String, Object>();
		// SMS送信・キャンセルCC
		mapper.setFUSV034301CC(beanArray, dataMap, mode);

		// 検索結果格納用マップ
		HashMap<String, Object> outputMap = new HashMap<String, Object>();

		// ●サービスの呼び出し
		try
		{
			invokeService(paramMap, dataMap, outputMap);
		}
		catch (Exception e)
		{
			DEBUG_LOG.info("※サービス(FUSV0343)実行中にエラー発生※");
			// SMS未送信にする
			serviceFormBean.sendMessageString(FUW00921SFConst.SMS_SEND_FLG, X31CWebConst.DATABEAN_SET_VALUE, "0");
			// SMS送信結果（失敗）
			serviceFormBean.sendMessageString(FUW00921SFConst.SMS_SEND_RESULT, X31CWebConst.DATABEAN_SET_VALUE, "1");

			return true;
		}
		// ●下りマッピング
		mapper.getFUSV034301CC(serviceFormBean, outputMap, mode);

		// SMS送信済
		serviceFormBean.sendMessageString(FUW00921SFConst.SMS_SEND_FLG, X31CWebConst.DATABEAN_SET_VALUE, "1");

		return true;
	}

	/**
	 * FUSV0343_SMSキャンセル
	 * 
	 * @return
	 * @throws Exception 
	 */
	public boolean sendCancel() throws Exception
	{
		
		// サービスフォームBean取得
		X31SDataBeanAccess serviceFormBean = this.getServiceFormBean();
		
		// 各Beanを配列に格納
		X31SDataBeanAccess[] beanArray = { serviceFormBean };

		// ユースケースIDを格納
		HashMap<String, String> paramMap = new HashMap<String, String>();
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, USECASE_ID_FUSV0343);

		// DBMapper呼び出し
		FUSV0343_FUSV0343OPDBMapper mapper = new FUSV0343_FUSV0343OPDBMapper();

		// ●上りマッピング
		HashMap<String, Object> dataMap = new HashMap<String, Object>();
		// SMS送信・キャンセルCC
		mapper.setFUSV034301CC(beanArray, dataMap, "3");

		// 検索結果格納用マップ
		HashMap<String, Object> outputMap = new HashMap<String, Object>();

		// ●サービスの呼び出し
		try
		{
			invokeService(paramMap, dataMap, outputMap);
		}
		catch (JCCWebServiceException se)
		{
			DEBUG_LOG.info("※サービス(FUSV0343)実行中にエラー発生※");
		}
		// SMS未送信にする
		serviceFormBean.sendMessageString(FUW00921SFConst.SMS_SEND_FLG, X31CWebConst.DATABEAN_SET_VALUE, "0");
		// SMS送信結果を成功にする
		serviceFormBean.sendMessageString(FUW00921SFConst.SMS_SEND_RESULT, X31CWebConst.DATABEAN_SET_VALUE, "0");

		return true;
	}

	/**
	 * 解約後再申込時の初期、再表示用マッピング処理
	 * <br>
	 * @param webNewBean 共有フォームBean.ＷＥＢ新規情報
	 * @param serviceFormBean サービスフォームBean
	 * @param hyojiType 表示タイプ
	 * @return サービス処理結果(true:成功、false:失敗)
	 * @throws Exception 
	 */
	private boolean setMappingReadNew(X31SDataBeanAccess webNewBean, X31SDataBeanAccess serviceFormBean, int hyojiType) throws Exception
	{
		DEBUG_LOG.info("----- mappingReadAdd Start -----");

		X31SDataBeanAccessArray keiyakushaInfoBeanArray = webNewBean.getDataBeanArray(CommonInfoCFConst.KEIYAKUSHA_INFO);
		if (keiyakushaInfoBeanArray.getCount() <= 0)
		{
			keiyakushaInfoBeanArray.addDataBean();
		}
		X31SDataBeanAccess keiyakushaInfoBean = keiyakushaInfoBeanArray.getDataBean(0);

		// 住所情報が入力済の場合
		if (!JFUWebCommon.isNull(keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KSH_PCD1_09, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			return true;
		}

		// ●サービス呼出前の事前処理
		// ECK0011A010 お客様一意照会 を呼び出すために運用日付を用意
		serviceFormBean.sendMessageString(FUW00921SFConst.UNYO_YMD, X31CWebConst.DATABEAN_SET_VALUE, JCCWebCommon.getOpeDate(this, null));

		// ●サービス呼出処理
		// ユースケースID格納用マップを生成します。
		HashMap<String, String> paramMap = new HashMap<String, String>();
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, USECASE_ID_FUSV0328);

		// 設定値格納用マップを生成します。
		FUSV0328_FUSV0328OPDBMapper mapper = new FUSV0328_FUSV0328OPDBMapper();

		HashMap<String, Object> inputMap = new HashMap<String, Object>();
		X31SDataBeanAccess[] beans = { getServiceFormBean(), getCommonInfoBean() };

		// Web申込機能コードが再申込
		mapper.setFUSV032801SC_N(beans, inputMap, JPCModelConstant.FUNC_CD_2); // 個人名、性別、生年月日
		mapper.setFUSV032802SC_N(beans, inputMap, JPCModelConstant.FUNC_CD_2); // 法人名
		mapper.setFUSV032803SC_N(beans, inputMap, JPCModelConstant.FUNC_CD_1);
		mapper.setFUSV032804SC_N(beans, inputMap, JPCModelConstant.FUNC_CD_1);

		// 結果格納用マップを生成します。
		HashMap<Object, Object> outputMap = new HashMap<Object, Object>();

		try
		{
			// サービスの呼び出しを行う。
			invokeService(paramMap, inputMap, outputMap);
		}
		catch (JCCWebServiceException se)
		{
			throw se;
		}

		// ●サービス処理結果の取得
		// 下りマッピング
		mapper.getFUSV032801SC(beans, outputMap);
		mapper.getFUSV032802SC(beans, outputMap);

		// 契約種別
		String keiyakuSbt = webNewBean.sendMessageString(CommonInfoCFConst.KEI_SBT_06, X31CWebConst.DATABEAN_GET_VALUE);

		// ●お客様名・お客様カナ名取得設定処理

		// お客様名取得処理
		// お客様名を姓、名に分解します
		String okkNm = serviceFormBean.sendMessageString(FUW00921SFConst.OKK_NM, X31CWebConst.DATABEAN_GET_VALUE);
		String[] okkNmArray = okkNm.split(NAME_SPLIT_STR);

		String lastName = (okkNmArray.length >= 1) ? (okkNmArray[0]) : ("");
		String firstName = (okkNm.length() > lastName.length()+1) ? (okkNm.substring(lastName.length()+1, okkNm.length())) : (""); 

		// ●お客様ひらがな名取得処理
		// お客様カナ名をひらがなに変換して姓、名に分解します
		String okkNmKana = serviceFormBean.sendMessageString(FUW00921SFConst.OKK_NM_KANA, X31CWebConst.DATABEAN_GET_VALUE);
		String nameHira = JFUWebCommon.convFullKataToFullHiraV(okkNmKana);
		String[] okkNmHiraArray = nameHira.split(NAME_SPLIT_STR);

		String lastKname = (okkNmHiraArray.length >= 1) ? (okkNmHiraArray[0]) : ("");
		String firstKname = (nameHira.length() > lastKname.length()+1) ? (nameHira.substring(lastKname.length()+1, nameHira.length())) : ("");

		// ●お客様名・お客様カナ名設定処理
		keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KSHNM_SEI_09, X31CWebConst.DATABEAN_SET_VALUE, lastName); // 氏名(姓)
		keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KSHNM_NM_09, X31CWebConst.DATABEAN_SET_VALUE, firstName); // 氏名(名)
		keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KSHKN_SEI_09, X31CWebConst.DATABEAN_SET_VALUE, lastKname); // 氏名かな(姓)
		keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KSHKN_NM_09, X31CWebConst.DATABEAN_SET_VALUE, firstKname); // 氏名かな(名)

		// ●性別・性別表記設定処理
		keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.SEX_09, X31CWebConst.DATABEAN_SET_VALUE, serviceFormBean.sendMessageString(
				FUW00921SFConst.OKK_SEX_CD, X31CWebConst.DATABEAN_GET_VALUE)); // 性別

		// ●生年月日（年）・生年月日（月）・生年月日（日）設定処理
		// お客様生年月日を年、月、日に分解してセットします
		String yyyymmdd = serviceFormBean.sendMessageString(FUW00921SFConst.OKK_BIRTH, X31CWebConst.DATABEAN_GET_VALUE);
		String yyyy = (yyyymmdd.length() >= YYYYMMDD_LENGTH_YEAR) ? (yyyymmdd.substring(0, YYYYMMDD_LENGTH_YEAR)) : ("");
		String mm = (yyyymmdd.length() >= YYYYMMDD_LENGTH_MONTH) ? (yyyymmdd.substring(YYYYMMDD_LENGTH_YEAR, YYYYMMDD_LENGTH_MONTH)) : ("");
		String dd = (yyyymmdd.length() >= YYYYMMDD_LENGTH_DAY) ? (yyyymmdd.substring(YYYYMMDD_LENGTH_MONTH, YYYYMMDD_LENGTH_DAY)) : ("");

		keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.BIRTHD_YEAR_09, X31CWebConst.DATABEAN_SET_VALUE, yyyy); // 生年月日(年)
		keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.BIRTHD_MONTH_09, X31CWebConst.DATABEAN_SET_VALUE, mm); // 生年月日(月)
		keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.BIRTHD_DAY_09, X31CWebConst.DATABEAN_SET_VALUE, dd); // 生年月日(日)

		// ●法人名・法人名かな設定処理
		if (JFUStrConst.KEI_SBT_HOJINCD.equals(keiyakuSbt))
		{
			// 会社カナ名をひらがなに変換してセットします
			String kaishaNm = serviceFormBean.sendMessageString(FUW00921SFConst.KAISHA_NM, X31CWebConst.DATABEAN_GET_VALUE);
			String kaishaNmKana = serviceFormBean.sendMessageString(FUW00921SFConst.KAISHA_NM_KANA, X31CWebConst.DATABEAN_GET_VALUE);
			String kaishaNmHira = JFUWebCommon.convFullKataToFullHiraV(kaishaNmKana);
			// 法人情報取得
			keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.HOJINNM_09, X31CWebConst.DATABEAN_SET_VALUE, kaishaNm); // 法人名
			keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.HOJINKN_09, X31CWebConst.DATABEAN_SET_VALUE, kaishaNmHira); // 法人名かな
			keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.DHSNM_SEI_09, X31CWebConst.DATABEAN_SET_VALUE, lastName); // 代表者氏名(姓)
			keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.DHSNM_NM_09, X31CWebConst.DATABEAN_SET_VALUE, firstName); // 代表者氏名(名)
			keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.DHSKN_SEI_09, X31CWebConst.DATABEAN_SET_VALUE, lastKname); // 代表者氏名かな(姓)
			keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.DHSKN_NM_09, X31CWebConst.DATABEAN_SET_VALUE, firstKname); // 代表者氏名かな(名)
		}

		return true;
	}

	/**
	 * Webアクセス機能コードが再申込
	 * 
	 * @param commonInfoBean
	 * @return 再申込の場合、True
	 */
	private boolean isWebMskmFuncCd3(X31SDataBeanAccess webNewBean)
	{

		// ＷＥＢアクセス情報
		X31SDataBeanAccessArray array = webNewBean.getDataBeanArray(CommonInfoCFConst.WEB_ACCESS_INFO);
		if (array.getCount() == 0)
		{
			array.addDataBean();
		}
		X31SDataBeanAccess bean = array.getDataBean(0);

		// Webアクセス機能コードが再申込
		if (JPCModelConstant.FUNC_CD_3.equals(bean.sendMessageString(CommonInfoCFConst.WEB_MSKM_FUNC_CD_69, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			return true;
		}

		return false;
	}
}