/*********************************************************************
* All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*   システム名      ：eo顧客基幹システム
*   モジュール名    ：FUW00144SFLogic
*   ソースファイル名：FUW00144SFLogic.java
*   作成者          ：富士通
*   日付            ：2011年07月21日
*＜機能概要＞
*   サービス申込リダイレクトのビューロジックです。
*＜修正履歴＞
*   バージョン  修正日       修正者      修正内容
*   v1.00.00    2011/07/21   FJ）薄出    新規作成
*   v3.00       2012/04/01   FJ）西川    【ANK-0037-01-00】紹介CP申込期間制限対応(暫定)
*   v3.00       2012/04/01   FJ）西川    【ANK-0235-00-00】eoモバイルWiMAX受付対応(W10055)
*   v3.00       2012/04/01   FJ）西川    【ANK-0236-00-00】eoモバイルWiMAX白ロム申込初回限定２カ月無料キャンペーン受付対応(W10060)
*   v3.00       2012/04/01   FJ）西川    【ANK-0244-00-00】UQ白ロムメンテナンス画面表示切替（W10081)
*   v3.00       2012/04/06   FJ）西川    【ANK-0222-00-00】マンション資料請求時の棟への導入チェック追加(W10040)
*   v3.00       2012/04/06   FJ）西川    【マンション課題対応一覧No.32】低価格マンション対応
*   v3.00       2012/04/17   FJ）西川     PASCO対応取込
*   v3.00       2012/04/20   FJ）西川     テスト試験ツール分離
*   v4.00       2012/07/20   FJ）文元    【案件番号：ANK-0024-01-00】はぴeの料金系画面連携
*   v4.01       2012/08/09   FJ）大塚    「案件番号：ANK-0329-00-00」フロント受付システム24時間365日稼動対応
*   v4.02       2012/08/27   FJ）大塚    「案件番号： ANK-0599-00-00」【UQ向けSODでMJアラーム発生】
*   v4.03       2012/09/26   FJ）大串    「案件番号： ANK-1197-00-00」【新規系申込画面の提供条件・利用規約の設置位置について】
*   v4.04       2012/10/20   FJ）齋藤    【IT1-2012-0001557】紹介用割引サービス登録障害対応
*   v4.05       2012/11/09   FJ）大塚    【IT1-2012-0001699】機器引当指定倉庫棚コード対応
*   v4.06       2012/11/21   FJ）大塚    【IT2-2012-0001754】WEB代理店画面遷移対応
*   v4.07       2012/11/26   FJ) 大塚    【IT2-2012-0001790】
*   v4.08       2012/12/11   FJ) 長沢    【TAI-2012-0000136-102】規約・約款確認画面の戻るボタン表示対応
*   v4.09       2013/01/28   FJ）佐々木  【PT強化2-No.98】画面表示時の不正対応
*   v4.10       2013/02/15   FJ）藤田    【ANK-1444-00-00】フロントＳでのKCN　eo光テレビ申込導線の閉鎖対応
*   v4.11       2013/02/16   FJ）藤田    【ANK-1445-00-00】サービス申込リダイレクト対応
*   v5.00       2013/02/22   FJ）矢野    【ANK-1444-00-00】量販支援サイトからの遷移アクションを対応
*   v5.00       2013/03/12   FJ）文元    【IT1-2013-0000452】クリアパスからのURL変更
*   v5.00       2013/04/10   FJ）大塚    【OT-2013-0000630】量販店支援サイト対応
*   v5.01       2013/04/15   FJ）大村    【ANK-1513-00-00】7.2M光ハイブリッドの受付終了対応
*   v5.02       2013/04/20   FJ）大塚    【No678】業務規制対応
*   v5.03       2013/04/30   FJ）藤田     文言変更対応(No.213)：エラーコード変更対応
*   v5.04       2013/05/15   FJ）大村    【ANK-1526-00-00】7.2Mルータ枯渇対応、【ANK-1527-00-00】21MUSB提供終了対応
*   v5.05       2013/05/22   FJ）岡井    【No753】業務規制：許可アクション、許可IPアドレス、エラーコード修正
*   v5.06       2013/06/10   FJ）知識    【ANK-1534-00-00】eoモバイル42Mエリア縮小対応
*   v5.07       2013/07/04   FJ）瀧澤    【ANK-1548-00-00】2ヶ月無料キャンペーン（紹介者コードをPASCOからの戻りで上書きしない様に修正）
*   v5.08       2013/07/11   FJ）中尾    【内部障害No820】マンション検索、マンション資料請求のマンション検索4自動遷移対応
*   v5.09.00    2013/10/18   FJ）谷本    【OM-2013-0003440】白ロム申込をデータ抽出項目設定からする対応
*   v8.00       2013/12/12   FJ）久瀬    【ANK-1584-00-00】MVNO(本体)
*   v8.00       2014/03/05   FJ）岡井    【ANK-1992-00-00】eoモバイル7.2M USBタイプの新規受付終了対応
*   v8.00       2014/03/05   FJ）畑中    【ANK-2018-00-00】eoモバイル7.2M USBタイプの新規受付終了対応
*   v10.00      2014/07/18   FJ）川瀬    【ANK-2137-00-00】提携住宅会社用WEB受付画面配置
*   v10.00      2014/08/13   FJ）模      【ANK-2205-00-00】ＷｉＭＡＸ新規販売終了対応
*   v10.00      2014/12/15   FJ）模      【ANK-2421-00-00】ＷｉＦｉスポットとＢＢモバイルポイントのサービス終了対応
*   v14.00      2015/04/14   FJ）谷本    【ANK-2508-00-00】Web受付画面へのタグの埋め込みについて
*   v14.00      2015/05/01   FJ) 張本    【ANK-2439-02-00】メール導線からの紹介CP対応
*   v15.00      2015/05/20   FJ）中西    【ANK-2480-00-00】新電力対応
*   v29.00.00   2017/02/23   FJ）謝      【ANK-3078-00-00】Amazon経由でのeo光申込（STEP3）
*   v34.00      2017/09/15   FJ) 張本    【ANK-3210-00-00】電気単独対応
*   v34.01      2017/12/11   FJ) 張本    【ANK-3210-18-00】価格コム（電気）対応
*   v40.00      2018/09/07   FJ）張本    【ANK-3412-00-00】５ギガ・１０ギガコース導入対応
*   v40.00      2019/02/04   FJ) 岡井    【ANK-3531-00-00】【eoフロント】ログイン画面のiDA対応
*   v48.00      2020/01/27   FJ) 張本    【ANK-3795-00-00】見込顧客システム構築対応
*   v49.00      2020/05/29   FJ) 美濃原  【ANK-3860-00-00】eフロント向けeoIDログアウト用Webページの作成
*   v53.00      2021/04/16   FJ) 張本    【ANK-4009-00-00】CX戦略WG方針対応
*   v53.00      2021/06/11   FJ) 西川    【ANK-4009-19-00】【CX戦略WG方針対応】FUIFE157のURL変更対応
*   v57.00      2022/04/07   FJ) 新谷    【ANK-4230-00-00】クレカ不正オーソリ対応
*   v62.00      2022/10/25   FJ）西川    【ANK-4141-00-00】eo：フロントOpenID化対応
*   v67.00      2023/07/03   FJ) 美濃原  【ANK-4415-00-00】口振請求及びWeb申込システム移行 STEP1
*                                                          新規系画面「fromClearpass」→「fromSMBCFS」変更
*                                                          注）変更系画面 FUW07701_支払方法変更受付、FUW00702_支払方法変更受付の機能については、既にCMP移管済。
*   v70.00      2024/02/05   FJ) 美濃原  【ANK-4551-00-00】202404CP対応
*   v67.00      2023/05/21   FJ) 張本    【ANK-4467-00-00】FRONTIERのマンション導線巻き取りに伴うAPI変更
*   v73.00      2025/02/06   FJ) 飯田    【ANK-4647-00-00】メゾン・マンション、価格コム・紹介キャンペーン導線のFRONTIERへのリダイレクト対応
**********************************************************************/
package eo.web.webview.FUW00144SF;

import static com.fujitsu.futurity.web.x31.X31SWebLog.DEBUG_LOG;

import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

import javax.crypto.BadPaddingException;
import javax.crypto.Cipher;
import javax.crypto.IllegalBlockSizeException;
import javax.crypto.NoSuchPaddingException;
import javax.crypto.spec.SecretKeySpec;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.xml.bind.DatatypeConverter;

import sun.misc.BASE64Decoder;

import com.fujitsu.futurity.common.JSYwebLog;
import com.fujitsu.futurity.web.x00.JCCBusinessException;
import com.fujitsu.futurity.web.x00.JCCWebServiceException;
import com.fujitsu.futurity.web.x31.X31BWebBusinessLogic;
import com.fujitsu.futurity.web.x31.X31CHashMap;
import com.fujitsu.futurity.web.x31.X31CWebConst;
import com.fujitsu.futurity.web.x31.X31SDataBeanAccess;
import com.fujitsu.futurity.web.x31.X31SDataBeanAccessArray;
import com.fujitsu.futurity.web.x33.HttpDispatchContext;
import com.fujitsu.futurity.web.x33.X33CUtil;
import com.fujitsu.futurity.web.x33.X33WSessionController;

import eo.common.constant.JFUStrConst;
import eo.common.constant.JPCModelConstant;
import eo.common.util.JCCFrameworkException;
import eo.common.util.JCCcomEncryptionUtil;
import eo.common.util.JFUCommonUtil;
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.JFUSocialAppleInterface;
import eo.web.webview.common.JFUSocialFacebookInterface;
import eo.web.webview.common.JFUSocialGoogleInterface;
import eo.web.webview.common.JFUSocialYahooInterface;
import eo.web.webview.common.JFUWebCommon;
import eo.web.webview.mapping.FUSV0178_FUSV0178OPDBMapper;
import eo.web.webview.mapping.FUSV0219_FUSV0219OPDBMapper;

/**
 *
 * <br>
 * @author 富士通
 */
@SuppressWarnings("serial")
public class FUW00144SFLogic extends JCCWebBusinessLogic
{

	// 定数の設定
	/** インターフェイス(FUIFE005)項目名:アクション */
	private static final String POST_ID_ACTION = "action";

	/** インターフェイス(FUIFE005)項目名:アクションフィルタ */
	private static final String POST_ID_ACTION_FILTERED = "actionfiltered";

	/** インターフェイス(FUIFE005)項目名:申込区分 */
	private static final String POST_ID_APPLICATION_CLASS = "application_class";

	/** インターフェイス(FUIFE005)項目名:入口画面ID */
	private static final String POST_ID_ENTRY_ID = "entryid";

	/** インターフェイス(FUIFE005)項目名:仮申込サービス */
	private static final String POST_ID_TENTATIVE_SERVICE = "tentative_service";

	/** インターフェイス(FUIFE005)項目名:郵便番号（上） */
	private static final String POST_ID_ZIP_CODE_1 = "zip_code1";

	/** インターフェイス(FUIFE005)項目名:郵便番号（下） */
	private static final String POST_ID_ZIP_CODE_2 = "zip_code2";

	/** インターフェイス(FUIFE005)項目名:リダイレクトURL */
	private static final String POST_ID_URL = "href"; // 呼び出し側で指定されてきたURLです

	/** インターフェイス(FUIFE005)項目名:紹介者コード */
	private static final String POST_ID_INTRODUCE = "intr_cd";

	/** インターフェイス(FUIFE157)項目名:電子署名入力画面起動受付 */
	private static final String POST_CUST_SIGNATURE = "cust_signature";

	/** インターフェイス(FUIFE208)項目名:フロンティア申込画面起動依頼 */
	private static final String FRONTIA_MSKM_NEW_HOME = "FRONTIA_MSKM_NEW_HOME";

	/** インターフェイス(FUIFE005)項目名:物件管理番号 */
	private static final String POST_BKN_KNRI_NO = "bkn_knri_no";

	/** インターフェイス(FUIFE005)項目名:ネット用回線使用契約番号 */
	private static final String POST_NET_KAISEN_USE_KEI_NO = "net_kaisen_use_kei_no";

	/** インターフェイス(FUIFE005)項目名:ネット用提供方式契約番号 */
	private static final String POST_NET_TK_HOSHIKI_KEI_NO = "net_tk_hoshiki_kei_no";
	//=============================================================================

	/** インターフェイス(from PASCO)項目名:セッションID */
	private static final String POST_ID_SES_ID = "sesid";

	/** インターフェイス(from PASCO)項目名:郵便番号 */
	private static final String POST_ID_ZIP = "zip";

	/** インターフェイス(from PASCO)項目名:都道府県 */
	private static final String POST_ID_ADD_1 = "add1";

	/** インターフェイス(from PASCO)項目名:市区町村・番地 */
	private static final String POST_ID_ADD_2 = "add2";

	/** インターフェイス(from PASCO)項目名:丁字名 */
	private static final String POST_ID_ADD_3 = "add3";

	/** インターフェイス(from PASCO)項目名:x座標 */
	private static final String POST_ID_X = "x";

	/** インターフェイス(from PASCO)項目名:y座標 */
	private static final String POST_ID_Y = "y";

	/** インターフェイス(from PASCO)項目名:住所コード */
	private static final String POST_ID_Z = "z";

	/** インターフェイス(from PASCO)項目名:x座標（平面直角座標第Y系） */
	private static final String POST_ID_X6 = "X6";

	/** インターフェイス(from PASCO)項目名:y座標（平面直角座標第Y系） */
	private static final String POST_ID_Y6 = "Y6";

	/** インターフェイス(from PASCO)項目名:経度 (新設) */
	private static final String POST_ID_LONGITUDE = "Longitude";

	/** インターフェイス(from PASCO)項目名:緯度 (新設) */
	private static final String POST_ID_LATITUDE = "Latitude";

	/** インターフェイス(from PASCO)項目名:HF凡例コード */
	private static final String POST_ID_INTRO_FTTH = "INTRO_FTTH";

	/** インターフェイス(from PASCO)項目名:光テレビ凡例コード */
	private static final String POST_ID_INTRO_EO_TV = "INTRO_eoTV";

	/** インターフェイス(from PASCO)項目名:10G申込可能フラグ */
	private static final String POST_ID_FLAG_10G = "FLAG_10G";

	/** インターフェイス(from PASCO)項目名:1G申込可能フラグ */
	private static final String POST_ID_FLAG_1G = "FLAG_1G";

	/** インターフェイス(from PASCO)項目名:100Mpre申込可能フラグ */
	private static final String POST_ID_FLAG_PRE = "FLAG_PRE";

	/** インターフェイス(from PASCO)項目名:100M申込可能フラグ */
	private static final String POST_ID_FLAG_HF = "FLAG_HF";

	/** インターフェイス(from PASCO)項目名:光テレビ申込可能フラグ */
	private static final String POST_ID_FLAG_TV = "FLAG_TV";

	/** インターフェイス(from PASCO)項目名:光電話申込可能フラグ */
	private static final String POST_ID_FLAG_TEL = "FLAG_TEL";

	/** インターフェイス(from PASCO)項目名:オフィス光申込可能フラグ */
	private static final String POST_ID_FLAG_OF = "FLAG_OF";

	/** インターフェイス(from PASCO)項目名:64エア申込可能フラグ */
	private static final String POST_ID_FLAG_64 = "FLAG_64";

	/** インターフェイス(from PASCO)項目名:メガエア申込可能フラグ */
	private static final String POST_ID_FLAG_MA = "FLAG_MA";

	/** インターフェイス(from PASCO)項目名:ホームタイプ申込指定フラグ */
	private static final String POST_ID_HF = "HF";

	/** インターフェイス(from PASCO)項目名:64エア申込指定フラグ */
	private static final String POST_ID_EO_64 = "eo64";

	/** インターフェイス(from PASCO)項目名:メガエア申込指定フラグ */
	private static final String POST_ID_MA = "MA";

	/** インターフェイス(from PASCO)項目名:光テレビ申込指定フラグ */
	private static final String POST_ID_TV = "TV";

	/** インターフェイス(from PASCO)項目名:光電話申込指定フラグ */
	private static final String POST_ID_TEL = "TEL";

	/** インターフェイス(from PASCO)項目名:光電話申込指定フラグ */
	private static final String POST_ID_ADRS = "adrs";

	//=============================================================================

	/** 画面ID名修飾子:遷移先指定画面IDの末尾に"0PJP"が必要で無い場合は空文字にしてください */
	private static final String NEED_0PJP = "0PJP";

	//=============================================================================

	/** 遷移先画面ID:サービス選択 */
	private static final String GAMEN_ID_SERV_SENTAKU = JFUScreenConst.SCREEN_ID_FUW00105 + NEED_0PJP;

	/** 遷移先画面ID:エリア検索 */
	private static final String GAMEN_ID_AREA_KENSAKU = JFUScreenConst.SCREEN_ID_FUW00101 + NEED_0PJP;

	/** 遷移先画面ID:エリア検索eo光(戸建て向け) */
	private static final String GAMEN_ID_AREA_KENSAKU_KODATE = "FUW00148" + NEED_0PJP;

	/** 遷移先画面ID:eoID認証 */
	private static final String GAMEN_ID_EO_ID_NINSHO = "FUW00127" + NEED_0PJP;

	/** 遷移先画面ID:eoID有無確認 */
	private static final String GAMEN_ID_EO_ID_UMU_KAKUNIN = "FUW00111" + NEED_0PJP;

	/** 遷移先画面ID:eoモバイル入力画面 */
	private static final String GAMEN_ID_EO_MOBILE_INPUT = JFUScreenConst.SCREEN_ID_FUW00123 + NEED_0PJP;

	/** 遷移先画面ID:マンション検索1(都道府県) */
	private static final String GAMEN_ID_MANS_KENSAKU_1_TODO = JFUScreenConst.SCREEN_ID_FUW00131 + NEED_0PJP;

	/** 遷移先画面ID:マンション検索4(検索結果) */
	private static final String GAMEN_ID_MANS_KENSAKU_4_KEKKA = "FUW00134" + NEED_0PJP;

	/** 遷移先画面ID:eo光電話提供条件 */
	private static final String GAMEN_ID_EOTEL_TKJK = "FUW00139" + NEED_0PJP;

	/** 遷移先画面ID:戸建て・マンション選択 */
	private static final String GAMEN_ID_KODATE_MANS_SENTAKU = "FUW00147" + NEED_0PJP;

	/** 遷移先画面ID:支払情報入力 */
	private static final String GAMEN_ID_SHIHARAI_INPUT = "FUW00115" + NEED_0PJP;

	/** 遷移先画面ID:可能サービス確認 */
	private static final String GAMEN_ID_KANO_SERV_KAKUNIN = JFUScreenConst.SCREEN_ID_FUW00104 + NEED_0PJP;

	/** 遷移先画面ID:規約・約款確認 */
	private static final String GAMEN_ID_KIYAKU_KAKUNIN = JFUScreenConst.SCREEN_ID_FUW00157 + NEED_0PJP;

	//【ANK-0024-01-00】add start --------------------------------------------------
	/** 遷移先画面ID:eoID認証結果(FUW01104)  */
	private static final String GAMEN_ID_EOID_CERTIFICATION = JFUScreenConst.SCREEN_ID_FUW01104 + NEED_0PJP;
	//【ANK-0024-01-00】add end ----------------------------------------------------

	//=============================================================================

	//【ANK-1584-01-00】add start --------------------------------------------------
	/** 遷移先画面ID:eo光サービス提供条件(FUW00162)  */
	private static final String GAMEN_ID_EOSVC_TK_JKN = JFUScreenConst.SCREEN_ID_FUW00162 + NEED_0PJP;
	//【ANK-1584-00-00】add end ----------------------------------------------------

	//=============================================================================

	/** 遷移先画面ID:リダイレクト(FUW00144)  */
	private static final String GAMEN_ID_EOSVC_REDIRECT = JFUScreenConst.SCREEN_ID_FUW00144 + NEED_0PJP;

	/** 遷移先画面ID:手続内容確認 */
	private static final String GAMEN_ID_KIYAKU_TTDK_NIY_KKNIN = JFUScreenConst.SCREEN_ID_FUW00103 + NEED_0PJP;

	/** 遷移先画面ID:電子署名入力(FUW09905)  */
	private static final String GAMEN_ID_CUST_SIGNATURE = JFUScreenConst.SCREEN_ID_FUW09905 + NEED_0PJP;

	/** 定数-KCN申込フラグ： K-CAT申込 */
	private static final String RED_KCN_MSKM_K_CAT = "0";

	/** 定数-KCN申込フラグ： KCN申込 */
	//	private static final String RED_KCN_MSKM_KCN = "1";
	/** 定数-モバイルコース： WiFi */
	private static final String MOBILE_COURSE_WIFI = "1";

	/** 定数-モバイルコース： 3G 未定 */
	//private static final String MOBILE_COURSE_3G_MITEI = "2";

	/** 定数-モバイルコース： 3G 7.2M */
	//private static final String MOBILE_COURSE_3G_7_2M = "3";

//【ANK-1526-00-00】7.2Mルータ枯渇対応、【ANK-1527-00-00】21MUSB提供終了対応 >>>
//	/** 定数-モバイルコース： 3G 21M */
//	private static final String MOBILE_COURSE_3G_21M = "4";
	//【ANK-1526-00-00】7.2Mルータ枯渇対応、【ANK-1527-00-00】21MUSB提供終了対応 <<<E

	/** 定数-モバイルコース： WiMAX */
	private static final String MOBILE_COURSE_WIMAX = "5";

	/** 定数-モバイルコース： 3G 7.2M 光ハイブリッド */
	//	private static final String MOBILE_COURSE_3G_7_2M_HB = "6";
	/** 定数-モバイルコース： 3G 21M 光ハイブリッド */
	//private static final String MOBILE_COURSE_3G_21M_HB = "7";

	/** プロパティファイル取得文字列 */
	/** ｅｏ光ネット（ホームタイプ） */
	private static final String QUERY_PATH_NET_HOME = "DISPSETTING/SETTING[@screenId='FUW00144']/DISPCTL[@groupid='action']";

	/** プロパティファイル取得文字列の置換文字列 */
	private static final String REPLACE_STR = "action";

	/** 属性名 */
	private static final String QUERY_ATTR_NAME = "id";

	/** プロパティファイル取得文字列 一般WEB既定値 */
	private static final String TRAT_USUAL = "trat_usual";

	/** プロパティファイル取得文字列 KCN */
	//	private static final String TRAT_KCN = "trat_kcn";
	/** プロパティファイル取得文字列 フルルKansai */
	private static final String TRAT_FRR = "trat_frr";

	/** プロパティファイル取得文字列 カカクコム */
	private static final String TRAT_KAKAKU = "trat_kakakucom";
	/** プロパティファイル取得文字列 カカクコム(電気) */
	private static final String TRAT_KAKAKU_ELEC = "trat_kakakucom_elec";

	//【ANK-0024-01-00】add start --------------------------------------------------
	/** URL画面ID取得時のパラメータ */
	private static final String GET_URLID_PRM = "action";
	//【ANK-0024-01-00】add end ----------------------------------------------------

	/** プロパティファイルID（キャンペーンコード） */
	private static final String PROP_ID_CMP_CD = "CMP_CD";

	/** プロパティファイルID（キャンペーン区分） */
	private static final String PROP_ID_CMP_DIV = "CMP_DIV";

	/** プロパティファイルID（申込区分） */
	private static final String PROP_ID_MSKM_DIV = "MSKM_DIV";

	/** キャンペーン区分（1：割引サービス） */
	private static final String CMP_DIV_1 = "1";

	/** キャンペーン区分（2：キャンペーン（汎用コード）） */
	private static final String CMP_DIV_2 = "2";

	/** ユースケースID（FUSV0178） */
	private static final String USECASE_ID_FUSV0178 = "FUSV0178";

	/** 取扱コード（KCN） */
	//	private static final String TRAT_CD_KCN = "19800000002";
	/** アクション（mnt_check） */
	private static final String ACTION_MNT_CHECK = "mnt_check";

	/** アクション（update） */
	private static final String ACTION_UPDATE = "update";

	/** アクション（search） */
	private static final String ACTION_SEARCH = "search";

	/** アクション（search_redirect） */
	private static final String ACTION_SEARCH_REDIRECT = "search_redirect";

	/** アクション（mansion_new） */
	private static final String ACTION_MANSION_NEW = "mansion_new";

	/** アクション（mansion_add） */
	private static final String ACTION_MANSION_ADD = "mansion_add";

	/** アクション（mansion_search） */
	private static final String ACTION_MANSION_SEARCH = "mansion_search";

	/** アクション（home_new） */
	private static final String ACTION_HOME_NEW = "home_new";

	/** アクション（home_add） */
	private static final String ACTION_HOME_ADD = "home_add";

	/** アクション（hometv_new） */
	private static final String ACTION_HOMETV_NEW = "hometv_new";

	/** アクション（hometv_add） */
	private static final String ACTION_HOMETV_ADD = "hometv_add";

	/** アクション（jx4NM3） */
	private static final String ACTION_JX4NM3 = "jx4NM3";

	/** アクション（FtQs7S） */
	private static final String ACTION_FTQS7S = "FtQs7S";

	/** アクション（iNtrHN） */
	private static final String ACTION_INTRHN = "iNtrHN";

	/** アクション（iNtrHa） */
	private static final String ACTION_INTRHA = "iNtrHa";

	/** アクション（cMstFN） */
	private static final String ACTION_CMSTFN = "cMstFN";

	/** アクション（cKAmt） */
	private static final String ACTION_CKAMT = "cKAmt";

	/** アクション（cHdcm） */
	private static final String ACTION_CHDCM = "cHdcm";

	/** アクション（su8pky） */
	private static final String ACTION_SU8PKY = "su8pky";

	/** アクション（50ua5） */
	private static final String ACTION_50UA5 = "50ua5";

	/** アクション（6u58a） */
	private static final String ACTION_6U58A = "6u58a";

	/** アクション（ss8y6） */
	private static final String ACTION_SS8Y6 = "ss8y6";

	/** アクション（XsgtN1） */
	private static final String ACTION_XSGTN1 = "XsgtN1";

	/** アクション（hy5PN4） */
	private static final String ACTION_HY5PN4 = "hy5PN4";

	/** アクション（qG2kan） */
	private static final String ACTION_QG2KAN = "qG2kan";

	// 【ANK-2421-00-00】ＷｉＦｉスポットとＢＢモバイルポイントのサービス終了対応 START
//	/** アクション（mobile） */
//	private static final String ACTION_MOBILE = "mobile";
//
//	/** アクション（mobile_new） */
//	private static final String ACTION_MOBILE_NEW = "mobile_new";
//
//	/** アクション（mobile_add） */
//	private static final String ACTION_MOBILE_ADD = "mobile_add";
	// 【ANK-2421-00-00】ＷｉＦｉスポットとＢＢモバイルポイントのサービス終了対応 END

	/** アクション（fromPasco） */
	private static final String ACTION_FROMPASCO = "fromPasco";

	/** アクション（toSimulate） */
	private static final String ACTION_TOSIMULATE = "toSimulate";

	// 【ANK-2421-00-00】ＷｉＦｉスポットとＢＢモバイルポイントのサービス終了対応 START
//	/** アクション（wifi_new） */
//	private static final String ACTION_WIFI_NEW = "wifi_new";
//
//	/** アクション（wifi_add） */
//	private static final String ACTION_WIFI_ADD = "wifi_add";
	// 【ANK-2421-00-00】ＷｉＦｉスポットとＢＢモバイルポイントのサービス終了対応 END

	/** アクション（3g72_new） */
	private static final String ACTION_3G72_NEW = "3g72_new";

	/** アクション（3g72_add） */
	private static final String ACTION_3G72_ADD = "3g72_add";

// 【ANK-1526-00-00】7.2Mルータ枯渇対応、【ANK-1527-00-00】21MUSB提供終了対応 >>>
//	/** アクション（3g21_new） */
//	private static final String ACTION_3G21_NEW = "3g21_new";

//	/** アクション（3g21_add） */
//	private static final String ACTION_3G21_ADD = "3g21_add";
	// 【ANK-1526-00-00】7.2Mルータ枯渇対応、【ANK-1527-00-00】21MUSB提供終了対応 <<<E

	/** アクション（3g_new） */
	private static final String ACTION_3G_NEW = "3g_new";

	/** アクション（3g_add） */
	private static final String ACTION_3G_ADD = "3g_add";

	/** アクション（wimax_new） */
	//private static final String ACTION_WIMAX_NEW = "wimax_new";

	/** アクション（wimax_add） */
	//private static final String ACTION_WIMAX_ADD = "wimax_add";

	/** アクション（WiwH） */
	private static final String ACTION_WIWH = "WiwH";

	/** アクション（redirectUq） */
	private static final String ACTION_REDIRECT_UQ = "redirectUq";

	/** アクション（kcn_new） */
	//	private static final String ACTION_KCN_NEW = "kcn_new";
	/** アクション（kcn_add） */
	//	private static final String ACTION_KCN_ADD = "kcn_add";
	//【ANK-1445-00-00】add start ----------------------------------------------------
	/** アクション（3g42_new） */
	//private static final String ACTION_3G42_NEW = "3g42_new";
	/** アクション（3g42_add） */
	//private static final String ACTION_3G42_ADD = "3g42_add";
	/** アクション（3g72Hybrid_new） */
	//private static final String ACTION_3G72HB_NEW = "3g72Hybrid_new";
	// ANK-1513-00-00 7.2M光ハイブリッドの受付終了対応 >>>
	//	/** アクション（3g72Hybrid_add） */
	//	private static final String ACTION_3G72HB_ADD = "3g72Hybrid_add";
	// ANK-1513-00-00 7.2M光ハイブリッドの受付終了対応 <<<E
	/** アクション（3g42Hybrid_new） */
	//private static final String ACTION_3G42HB_NEW = "3g42Hybrid_new";
	/** アクション（3g21Hybrid_add） */
	//private static final String ACTION_3G21HB_ADD = "3g21Hybrid_add";

	//【ANK-1445-00-00】add end ------------------------------------------------------

	/** アクション（home_search_agency） */
	private static final String ACTION_H_SEARCH = "home_search_agency";

	/** アクション（mansion_search_agency） */
	private static final String ACTION_M_SEARCH = "mansion_search_agency";

	//【ANK-0024-01-00】add start ----------------------------------------------------
	/** アクション（eoid_certification） */
	private static final String ACTION_EOID_CERTIFICATION = "eoid_certification";

	/** アクション（eoid_certification_clp） */
	private static final String ACTION_EOID_CERTIFICATION_CLP = "eoid_certification_clp";
	//【ANK-0024-01-00】add end ------------------------------------------------------

	//【ANK-1584-00-00】add start ----------------------------------------------------	
	/** アクション（frommineo） */
	private static final String ACTION_FROM_MINEO = "frommineo";
	//【ANK-1584-00-00】add end ------------------------------------------------------

	//【ANK-2137-00-00】add start ----------------------------------------------------	
	/** アクション（fromtkjcomp） */
	private static final String ACTION_FROMTKJCOMP = "fromtkjcomp";

	/** アクション（fromPascotkjcomp） */
	private static final String ACTION_FROMPASCOTKJCOMP = "fromPascotkjcomp";
	//【ANK-2137-00-00】add end ------------------------------------------------------

	/** アクション（to_kouza_furikae） */
	private static final String ACTION_TO_KOUZA_FURIKAE = "to_kouza_furikae";

	/** アクション（mtnprov） */
	private static final String ACTION_MTNPROV = "mtnprov";

	/** アクション（mtpprov） */
	private static final String ACTION_MTPPROV = "mtpprov";

	//【ANK-0024-01-00】add start ----------------------------------------------------
	/** eoID認証画面（FUW01103 ）関連のアクション */
	private static final String[] EOID_CERTIFICATION = { ACTION_EOID_CERTIFICATION, ACTION_EOID_CERTIFICATION_CLP };
	//【ANK-0024-01-00】add end ------------------------------------------------------

	//【ANK-1444-00-00】2013/02/15 T.Fujita Change Start
	// IT2-2012-0001754 Otsuka 2012/11/21 start
	/** 遷移パターンにエリア検索を設定するアクション群 */
	//	private static final String[] TRANSFER_PTN_AREA =
	//			{ "search", "search_redirect", "home_new", "home_add", "hometv_new", "hometv_add", "jx4NM3", "FtQs7S", "kcn_new", "kcn_add", "iNtrHN",
	//					"iNtrHa", "cMstFN", "cKAmt", "cHdcm", "su8pky", "50ua5", "6u58a", "ss8y6" };
// ANK-3078-00-00 MOD START
//	private static final String[] TRANSFER_PTN_AREA =
//			{ "search", "search_redirect", "home_new", "home_add", "hometv_new", "hometv_add", "jx4NM3", "FtQs7S", "iNtrHN", "iNtrHa", "cMstFN",
//					"cKAmt", "cHdcm", "su8pky", "50ua5", "6u58a", "ss8y6", "home_search_agency", "fromtkjcomp" };
	private static final String[] TRANSFER_PTN_AREA =
	{ "search", "search_redirect", "home_new", "home_add", "hometv_new", "hometv_add", "jx4NM3", "FtQs7S", "iNtrHN", "iNtrHa", "cMstFN",
			"cKAmt", "cHdcm", "su8pky", "50ua5", "6u58a", "ss8y6", "home_search_agency", "fromtkjcomp" , "amzn" };
// ANK-3078-00-00 MOD END

	//【ANK-1444-00-00】2013/02/15 T.Fujita Change End

	/** 遷移パターンにマンション検索を設定するアクション群 */
	private static final String[] TRANSFER_PTN_MANSION = { "XsgtN1", "qG2kan", "mansion_search_agency" };
	// IT2-2012-0001754 Otsuka 2012/11/21 end

	//【ANK-1445-00-00】2013/02/19 T.Fujita Change Start

	/** 遷移パターンにモバイル単独申込を設定するアクション群 */
	//	private static final String[] MOBILE_GROUP =
	//			{ "mobile", "mobile_new", "mobile_add", "wifi_new", "wifi_add", "3g_new", "3g_add", "3g72_new", "3g72_add", "3g21_new", "3g21_add",
	//				"wimax_new", "wimax_add", "WiwH" };
	/** 遷移パターンにモバイル単独申込を設定するアクション群 */
	//	private static final String[] MOBILE_GROUP =
	//			{ "mobile", "mobile_new", "mobile_add", "wifi_new", "wifi_add", "3g_new", "3g_add", "3g72_new", "3g72_add", "3g21_new", "3g21_add",
	//				"wimax_new", "wimax_add", "WiwH" ,"3g42_new", "3g42_add" , "3g72Hybrid_new", "3g72Hybrid_add", "3g42Hybrid_new", "3g42Hybrid_add"};
	/** 遷移パターンにモバイル単独申込を設定するアクション群 */
	//【ANK-1526-00-00】7.2Mルータ枯渇対応、【ANK-1527-00-00】21MUSB提供終了対応 >>>
	//	private static final String[] MOBILE_GROUP =
	//	{ "mobile", "mobile_new", "mobile_add", "wifi_new", "wifi_add", "3g_new", "3g_add", "3g72_new", "3g72_add", "3g21_new", "3g21_add",
	//			"wimax_new", "wimax_add", "WiwH", "3g72Hybrid_add", "3g42Hybrid_add" };
	// 【ANK-2205-00-00】ＷｉＭＡＸ新規販売終了対応 START
	//	private static final String[] MOBILE_GROUP =
	//	{ "mobile", "mobile_new", "mobile_add", "wifi_new", "wifi_add", "3g_new", "3g_add", "3g72_new", "3g72_add",
	//			"wimax_new", "wimax_add", "WiwH","redirectUq", "3g21Hybrid_add" };
	private static final String[] MOBILE_GROUP =
	{ "mobile", "mobile_new", "mobile_add", "wifi_new", "wifi_add", "WiwH", "redirectUq" };
	// 【ANK-2205-00-00】ＷｉＭＡＸ新規販売終了対応 END
	//【ANK-1526-00-00】7.2Mルータ枯渇対応、【ANK-1527-00-00】21MUSB提供終了対応 <<<E

	/** モバイル3G アクション群 */
	private static final String[] MOBILE_3G_GROUP = {"3g_new", "3g_add", "3g72_new", "3g72_add", "3g72Hybrid_new", "3g72Hybrid_add",
		"3g21_new", "3g21_add", "3g21Hybrid_new", "3g21Hybrid_add", "3g42_new", "3g42_add", "3g42Hybrid_new", "3g42Hybrid_add"};

	//【ANK-1445-00-00】2013/02/19 T.Fujita Change End

	/** 外部連携のキャンペーンコードを設定するアクション郡 */
	private static final String[] OUT_LINK_GROUP = { ACTION_CMSTFN, ACTION_QG2KAN, ACTION_JX4NM3, ACTION_XSGTN1 };

	/** 遷移パターンにmineoからの同時申込を設定するアクション */
	private static final String[] FROM_MINEO_GROUP = { "frommineo" };

	//=============================================================================
	// 2012.2.1 エリア検索からの遷移時の処理を追加 START --------
	/** エリア検索からの郵便番号（上） */
	private static final String POST_ID_AREA_ZIP1 = "zipFront";

	/** エリア検索からの郵便番号（下） */
	private static final String POST_ID_AREA_ZIP2 = "zipRear";

	/** 遷移元の画面ＩＤ取得名 */
	private static final String BF_SCREEN_ID = "screenId";
	// 2012.2.1 エリア検索からの遷移時の処理を追加 END   --------

	// 2012/3/6 エリア検索からの遷移時の処理を追加 START --------

	/** エリア検索からの処理区分 */
	private static final String MAP_KEY_TRAN_KBN = "tran_kbn";
	/** エリア検索からの郵便番号 */
	private static final String MAP_KEY_PCD = "pcd";
	/** エリア検索からの都道府県 */
	private static final String MAP_KEY_STATE = "state";
	/** エリア検索からの市町村・字・丁目 */
	private static final String MAP_KEY_CITY_AZA_CHO = "city_aza_cho";
	/** エリア検索からの丁字名 */
	private static final String MAP_KEY_CHO_AZA_NM = "cho_aza_nm";
	/** エリア検索からの番地・号 */
	private static final String MAP_KEY_BNCHIGO = "bnchigo";

	// 2012/3/6 エリア検索からの遷移時の処理を追加 END   --------

	//=============================================================================
	// ■設定ファイル内の mainteKbn が 1 の場合はメンテナンス画面へリダイレクトします(本来の画面機能？)

	/** FUDispDefinition取得キー:メンテナンス区分 */
	private static final String MAINTE_KBN = "mainteKbn";

	/** FUDispDefinition取得キー:メンテナンス画面URL */
	private static final String MAINTE_REDIRECT_URL = "mainte_redirect_url_001";

	/** FUDispDefinition取得キー:メンテナンス区分 */
	private static final String MAINTEKBN_MAINTE_SCREEN = "1";

	//=============================================================================

	//【ANK-0037-01-00】【ANK-0235-00-00】【ANK-0236-00-00】【ANK-0244-00-00】add start ----------------

	/** アクション（WiwH2） */
	private static final String ACTION_WIWH2 = "WiwH2";

	/** インターフェイス(FUIFE005)項目名:WiMAXMacアドレス */
	private static final String POST_ID_MAC_ADDRESS = "Mac-Address";

	/** インターフェイス(FUIFE005)項目名:UQ初回申込判別フラグ */
	private static final String POST_ID_UQ_FIRST_MKM_FLG = "RH";

	/** インターフェイス(FUIFE005)項目名:UQ初回申込判別フラグ */
	private static final String POST_ID_UQ_FIRST_MKM_FLG_RE = "r";

	/** インターフェイス(FUIFE005)項目名:WiMAXMacアドレス */
	private static final String POST_ID_MAC_ADDRESS_RE = "o";

	/** POST送信データ取得キー：WiMAXMacアドレス */
	private static final String POST_MAC_ADDRESS_KEY = "mac_address";

	/** POST送信データ取得キー：WiMAX（白ロム）用割引サービスコード */
	private static final String POST_WHITE_WRIB_KEY = "wimax_white_wrib_svc_cd";

	/** POST送信データ取得キー：URL置換フラグ */
	private static final String URL_CKAN_FLG = "url_ckan_flg";

	/** URL置換フラグ："1"(URL置換) */
	private static final String URL_CKAN_FLG_1 = "1";

	/** 共有フォームBeawnの設定パス：リダイレクト情報 */
	private static final String REDIRECT_PATH = CommonInfoCFConst.REDIRECT_INFO + "[0].";

	/** 共有フォームBeawnの設定パス：ｅｏモバイル */
	private static final String MOBILE_PATH = CommonInfoCFConst.EOMOBILE + "[0].";

	/** ＭＥＴＡタグ抑止フラグ："1"(抑止) */
	private static final String META_TAG_YOKSI_FLG_ON = "1";

	/** UQ初回申込判別フラグ（0：初回申込） */
	private static final String UQ_FIRST_APPLICATION_FLG = "0";

	/** OSID（FUIFE106_UQ白ロム用説明画面） */
	private static final String OSID_FUIFE106 = "OS002";

	/** ユースケースID（FUSV0219） */
	private static final String USECASE_ID_FUSV0219 = "FUSV0219";

	/** 業務規制コード：FUGKW0102【許可アクション、許可IPアドレスによるアクセス規制】 */
	private static final String WORK_KISEI_CD_IP = "FUGKW0102";

	/** 業務規制コード：FUGKW0007【UQ（ポータルアクセス制御サーバー）】 */
	private static final String WORK_KISEI_CD_UQ = "FUGKW0007";

	/** MACアドレス妥当性チェック文字列 */
	private static final String MAC_ADDRESS_CHK_STR = "[A-F0-9]{12}";

	/** テストモード："ON"(テストモード) */
	private static final String TEST_MODE_ON = "ON";

	//【ANK-0037-01-00】【ANK-0235-00-00】【ANK-0236-00-00】【ANK-0244-00-00】add end ------------------

	//【ANK-0222-00-00】add start ------------------------------------------------------------------

	/** アクション（mansion_search_request） */
	private static final String ACTION_MANSION_SEARCH_REQ = "mansion_search_request";

	//【ANK-0222-00-00】add end   -------------------------------------------------------------------
	//【マンション課題対応一覧No.32】add start ------------------------------------------------------

	/** アクション（mansion_lp_new） */
	private static final String ACTION_MANSION_LP_NEW = "mansion_lp_new";

	/** アクション（loginonly） */
	private static final String ACTION_LOGIN_ONLY = "loginonly";

	/** 遷移先画面ID:低価格マンション料金確認（ログイン） */
	private static final String GAMEN_ID_LP_MANS_LOGIN = JFUScreenConst.SCREEN_ID_FUW00141 + NEED_0PJP;

	//【マンション課題対応一覧No.32】add end   ------------------------------------------------------

	/** アクション（logoutonly） */
	private static final String ACTION_LOGOUT_ONLY = "logoutonly";

	//=============================================================================
	// PASCO対応取込 add start ----------------------------------------------------
	/** 共有フォームBeawnの設定パス：契約サービス情報 */
	private static final String KEIYAKU_SVC_PATH = CommonInfoCFConst.KEIYAKU_SVC_INFO + "[0].";

	/** [PASCOパラメータ]申込区分:新規 */
	private static final String APPL_CLASS_NEW = "01";

	/** [PASCOパラメータ]申込区分:追加 */
	private static final String APPL_CLASS_ADD = "03";

	/** [PASCOパラメータ]仮申込サービス:"03"(ホームタイプ) */
	private static final String KARI_SVC_HOME = "03";

	/** [PASCOパラメータ]仮申込サービス:"11"(光テレビ) */
	private static final String KARI_SVC_TV = "11";

	/** [PASCOパラメータ]遷移区分:エリア検索 */
	private static final String TRANS_DIV_AREA = "01";

	/** [PASCOパラメータ]遷移区分:料金シミュレーション */
	private static final String TRANS_DIV_SIML = "02";

	// ANK-1444-00-00 2013/02/22 start
	/** [PASCOパラメータ]遷移区分:量販店支援 */
	private static final String TRANS_DIV_SHIEN = "06";
	// ANK-1444-00-00 2013/02/22 end

	/** [PASCOパラメータ]遷移区分:提携住宅Web */
	private static final String TRANS_DIV_TKJ_COMP = "08";

	/** [PASCOパラメータ]インデックス(代理店フラグ):"0"(量販店申込でない) */
	private static final String AGENT_FLG_OFF = "0";

	// ANK-1444-00-00 2013/02/22 start
	/** [PASCOパラメータ]インデックス(代理店フラグ):"3"(量販店支援) */
	private static final String AGENT_FLG_SHIEN = "3";
	// ANK-1444-00-00 2013/02/22 end

	/** OSID（PASCO:FUIFE001_PASCO住所検索起動依頼） */
	private static final String OSID_FUIFE001 = "OS001";

	/** OSID（iDA認証ログイン画面） */
	private static final String OSID_IDA_LOGIN = "OS004";

//	/** OSID（FUIFE140_口座振替受付起動依頼）[CMPに移管済のため起動されないはず] */
//	private static final String OSID_FUIFE140 = "OS003";

	/** OSID（FUIFE180_ソーシャルID認証(Facebook)） */
	private static final String OSID_FUIFE180 = "OS006";

	/** OSID（FUIFE180_ソーシャルID認証(Google)） */
	private static final String OSID_FUIFE183 = "OS007";

	/** OSID（FUIFE180_ソーシャルID認証(Yahoo)） */
	private static final String OSID_FUIFE186 = "OS008";

	/** OSID（FUIFE180_ソーシャルID認証(Apple)） */
	private static final String OSID_FUIFE189 = "OS009";

	/** OSID（FUIFE209_口座振替入力画面起動依頼(SMBCFS)） */
	private static final String OSID_FUIFE209 = "OS003";

	/** 遷移フラグ："1"(遷移) */
	private static final String TRANS_FLG_ON = "1";

	/** 遷移フラグ："0"(遷移) */
	private static final String TRANS_FLG_OFF = "0";

	/** 遷移区分："1"(遷移) */
	private static final String TRANS_KBN_FIRST = "1";

	/** 遷移区分："2"(遷移) */
	private static final String TRANS_KBN_SECOND = "2";

	/** 遷移区分："3"(遷移) */
	private static final String TRANS_KBN_THIRD = "3";

	// PASCO対応取込 add end   ----------------------------------------------------

	/* 2012/12/11 TAI-2012-0000136-102(IT1-441) R.Nagasawa ADD-START */
	/** リダイレクト情報/選択可能サービス確認結果フラグ　1(選択不可サービスあり) */
	private static final String SELECT_SVC_RESULT_FLG_NG = "1";
	/** リダイレクト情報/選択可能サービス確認結果フラグ　0(全て選択可能) */
	private static final String SELECT_SVC_RESULT_FLG_OK = "0";
	/* 2012/12/11 TAI-2012-0000136-102(IT1-441) R.Nagasawa  ADD-END */

	// ANK-1444-00-00 2013/02/22 start
	private String redAction = "";
	// ANK-1444-00-00 2013/02/22 end

	// OT-2013-0000630 2013/04/08 Otsuka start
	/** アクション（番ポチェック） */
	private static final String ACTION_BMP = "eotelcheck";

	/** 遷移先画面ID:取扱店ログイン */
	private static final String GAMEN_ID_BMP_TODO = JFUScreenConst.SCREEN_ID_FUW00950 + NEED_0PJP;

	// OT-2013-0000630 2013/04/08 Otsuka end

	/** アプリケーションプロパティから共通暗号化キーを取得するキー (提携住宅) */
	private static final String TKJCOMP_ENCRYPTION_KEY = "TKJCOMP_ENCRYPTION_KEY";

	/** アプリケーションプロパティから共通暗号化キーを取得するキー (口座振替) */
	private static final String KOUZA_FURIKAE_ENCRYPTION_KEY = "KOUZA_FURIKAE_ENCRYPTION_KEY";

	/** アプリケーションプロパティから共通暗号化キーを取得するキー (口座振替：サービス追加) */
	private static final String KOUZA_FURIKAE_ENCRYPTION_KEY_3 = "KOUZA_FURIKAE_ENCRYPTION_KEY_3";

	/** ボディ情報から暗号化キーの値を取得するキー */
	private static final String BODY_KEY_CK = "CK";

	/** ボディ情報から提携住宅会社コードを取得するキー */
	private static final String BODY_KEY_TKJCOMP_CD = "tkjcomp_cd";

	/** ボディ情報から提携住宅会社名を取得するキー */
	private static final String BODY_KEY_TKJCOMP_NM = "tkjcomp_nm";

	/** ボディ情報から提携住宅会社支店・営業所名を取得するキー */
	private static final String BODY_KEY_TKJCOMP_SHITENOFC_NM = "tkjcomp_shitenofc_nm";

	/** ボディ情報から提携住宅会社担当者名を取得するキー */
	private static final String BODY_KEY_TKJCOMP_TNTSHA_NM = "tkjcomp_tntsha_nm";

	/** ボディ情報から提携住宅会社担当者職種を取得するキー */
	private static final String BODY_KEY_TKJCOMP_TNTSHA_SS_NM = "tkjcomp_tntsha_ss_nm";

	/** ボディ情報から提携住宅会社担当者電話番号を取得するキー */
	private static final String BODY_KEY_TKJCOMP_TNTSHA_TELNO = "tkjcomp_tntsha_telno";

	/** 遷移先画面ID:支払入力画面 */
	private static final String GAMEN_ID_SHIHARAI_NYURYOKU = JFUScreenConst.SCREEN_ID_FUW00115 + NEED_0PJP;

	/** アクション（fromClearpass）
	<br/>※【ANK-4415-00-00】口振請求及びWeb申込システム移行 STEP1
	<br/> 新規系「fromClearpass」→「fromSMBCFS」変更
	<br/> 注）変更系 FUW07701_支払方法変更受付、FUW00702_支払方法変更受付の機能についてはCMP移管済。 */
	private static final String ACTION_FROMCLEARPASS = "fromClearpass";
	/** ANK-2433-00-00_【ＮＯ．１６３２】ID登録証再発行業務の改善 2015/02/18 add start*/

	/** アクション（fromSMBCFS） */
	private static final String ACTION_FROMSMBCFS = JCCWebCommon.getApplicationConst("FU_ACT_PARAM_KFR");
	/** アクション（fromSMBCFS、パラメータ：fuw00115cancel） */
	private static final String ACTION_SMBCFS_CANCEL = JCCWebCommon.getApplicationConst("FU_ACT_PARAM_KFR_CANCEL");
	/** アクション SMBCFS 関連 fromSMBCFS フロント画面でのキャンセルを含む */
	private static final List<String> ACTION_FROMSMBCFS_REDIRECT = Arrays.asList(ACTION_FROMSMBCFS);

	/** アクション（reg_proof_redirect） */
	private static final String ACTION_REG_PROOF_REDIRECT = "reg_proof_redirect";

	/** アクション（reg_proof_pc_login） */
	private static final String ACTION_REG_PROOF_PC_LOGIN = "reg_proof_pc_login";

	/** アクション（reg_proof_sp_login） */
	private static final String ACTION_REG_PROOF_SP_LOGIN = "reg_proof_sp_login";

	/** 遷移先画面ID:ID登録証情報照会ログインリダイレクト */
	private static final String GAMEN_ID_ID_TRKS_LOGIN_REDIRECT = JFUScreenConst.SCREEN_ID_FUW11701 + NEED_0PJP;

	/** 遷移先画面ID:ID登録証情報照会ログイン（PC） */
	private static final String GAMEN_ID_ID_TRKS_LOGIN_PC = JFUScreenConst.SCREEN_ID_FUW11711 + NEED_0PJP;

	/** 遷移先画面ID:ID登録証情報照会ログイン（スマホ） */
	private static final String GAMEN_ID_ID_TRKS_LOGIN_SP = JFUScreenConst.SCREEN_ID_FUW11721 + NEED_0PJP;

	// 携帯向けは別定義
	/** ANK-2433-00-00_【ＮＯ．１６３２】ID登録証再発行業務の改善 2015/02/18 add end*/

	// ANK-2480-00-00_新電力対応 2015/05/20 add start
	/** アクション（electric_add） */
	private static final String ACTION_ELECTRIC_ADD = "electric_add";
	// ANK-2480-00-00_新電力対応 2015/05/20 add end

	/** アクション（From_MailKaknin） */
	private static final String ACTION_FROM_MAILKAKNIN = "from_mailkaknin";
	/** ポストキー：Webアクセス認証キー */
	private static final String POST_ID_KEY = "key";
	/** 遷移先画面ID:メール到達確認結果 */
	private static final String GAMEN_ID_ID_FROM_MAILKAKNIN = JFUScreenConst.SCREEN_ID_FUW00163 + NEED_0PJP;

// ANK-3078-00-00 ADD START
	/** アクション（amzn） */
	private static final String ACTION_AMZN = "amzn";
// ANK-3078-00-00 ADD END

	/** アクション（iDAログイン画面） */
	private static final String ACTION_SERVICE_ADD = "service_add";

	/** アクション（ソーシャルID認証） */
	private static final String ACTION_SOCIAL_LOGIN = "social_login";

	/** アクション（fromFacebook） */
	private static final String ACTION_FROMFACEBOOK = "fromFacebook";

	/** アクション（fromGoogle） */
	private static final String ACTION_FROMGOOGLE = "fromGoogle";

	/** アクション（fromYahoo） */
	private static final String ACTION_FROMYAHOO = "fromYahoo";

	/** アクション（fromApple） */
	private static final String ACTION_FROMAPPLE = "fromApple";

	/** アクション（cust_signature） */
	private static final String ACTION_CUST_SIGNATURE = "cust_signature";

	/** 事業者コード */
	private static final String BODY_KEY_SHOP_CD = "shop_cd";
	/** お客様番号 */
	private static final String BODY_KEY_CUSTMOER_NUMBER = "customer_number";
	/** 契約者カナ氏名 */
	private static final String BODY_KEY_NAME_KANA = "name_kana";
	/** クリアパス取扱年月日 */
	private static final String BODY_KEY_CLEARPASS_DATE = "clearpass_date";
	/** クリアパス取扱時刻 */
	private static final String BODY_KEY_CLEARPASS_TIME = "clearpass_time";
	/** クリアパス取扱番号 */
	private static final String BODY_KEY_CLEARPASS_NUMBER = "clearpass_number";
	/** 金融機関取扱年月日 */
	private static final String BODY_KEY_BANK_DATE = "bank_date";
	/** 金融機関取扱時刻 */
	private static final String BODY_KEY_BANK_TIME = "bank_time";
	/** 金融機関取扱番号 */
	private static final String BODY_KEY_BANK_NUMBER = "bank_number";
	/** 銀行コード */
	private static final String BODY_KEY_BANK_CD = "bank_cd";
	/** 支店コード */
	private static final String BODY_KEY_BRANCH_CD = "branch_cd";
	/** 預金種目 */
	private static final String BODY_KEY_DEPODIT_ITEM = "depodit_item";
	/** 口座番号 */
	private static final String BODY_KEY_ACCOUNT_NUMBER = "account_number";
	/** 口座名義人（カナ） */
	private static final String BODY_KEY_ACCOUNT_HOLDER = "account_holder";
	/** ステータス */
	private static final String BODY_KEY_STATUS = "status";
	/** 処理結果コード */
	private static final String BODY_KEY_RESULT_CD = "result_cd";
	/** メッセージ */
	private static final String BODY_KEY_MESSAGE = "message";
	/** 付加情報 */
	private static final String BODY_KEY_ADD_INFO = "add_info";
	/** 暗号化キー(口座振替) */
	private static final String BODY_KEY_CK_KOUZA = "CK";

	/** 暗号化方式 */
	private static final String ENCRYPT_FORMAT = "Blowfish"; // 
	/** 暗号化キーの暗号化に使用 */
    private static final String TRUE_KEY = "ENCRYPT_KEY";
	/** 暗号化キーの暗号化に使用 */
    private static final String ESS_COMMKEY = "ESS_COMMKEY";
	/** 1byteのデータから生成される文字数 */
	private static final int STRING_SIZE = 2; // 

	/** クリアパスステータス正常値 */
	private static final String CLEARPASS_STATUS_NORMAL = "2";
	/** クリアパスステータスエラー値 */
	private static final String CLEARPASS_STATUS_ERROR = "21";

	/** プロパティファイル取得文字列 契約者カナ氏名のEUCコード固定値 */
	private static final String KFR_EUC_KANASHIMEI = "kfr_euc_kanashimei";

	/** プロパティファイル取得文字列 契約者カナ氏名のEUCコード固定値フラグ */
	private static final String KFR_EUC_KANASHIMEI_FLG = "kfr_euc_kanashimei_flg";

	/** SYSID(Header情報からSYSIDを取得するKEYを取得するKEY) */
	private static final String HEADER_SYSID_KEY = "HEADER_SYSID_KEY";
	/** eoID */
	private static final String KEY_EOID = "eoid";

	/** iDAテストモード */
	private static final String IDA_TEST_MODE = "IDA_TEST_MODE";

	/** ソーシャルID種別：Google */
	private static final String SOCIAL_ID_SBT_GOOGLE = "1";
	/** ソーシャルID種別：Yahoo */
	private static final String SOCIAL_ID_SBT_YAHOO = "2";
	/** ソーシャルID種別：Facebook */
	private static final String SOCIAL_ID_SBT_FACEBOOK = "3";
	/** ソーシャルID種別：Apple */
	private static final String SOCIAL_ID_SBT_APPLE = "4";

	/** 上書可否区分(0：上書不可、1：上書許可) 上書不可 */
	private static final String KOUSHIN_KBN_FUKA = "0";

	/** リダイレクト区分(0：リダイレクトしない、1：リダイレクトする) リダイレクトする */
	private static final String REDIRECT_KBN_ON = "1";

	/** ショップ連絡先電話番号表示区分(0：表示しない、1：表示する) 表示しない */
	private static final String SHOP_PHON_HYOJI_KBN_0 = "0";
	
	/** ショップ連絡先メールアドレス表示区分(0：表示しない、1：表示する) 表示しない */
	private static final String SHOP_MAIL_HYOJI_KBN_0 = "0";
    /**
	 * <DL>
	 * <DT>サービス申込リダイレクト処理を行います
	 * </DL>
	 * <br>
	 * @return true/false
	 * @throws Exception	すべての例外
	 */
	@SuppressWarnings("unchecked")
	public boolean init() throws Exception
	{
		X31SDataBeanAccess common_info_bean = null;
		X31SDataBeanAccessArray web_new_bean_array = null;
		X31SDataBeanAccess web_new_bean = null;
		X31CHashMap posted_requests = null;

		DEBUG_LOG.info("----- init(redirect) Start -----");

		DEBUG_LOG.info("★セッションID：" + URLEncoder.encode(this.getSessionId(), "UTF-8"));
//		if (this.getSessionId() != null)
//		{
//			String sessionId = this.getSessionId();
//			DEBUG_LOG.info("★frameid：" + X33CUtil.GetLatestFrameId(sessionId, "FUW001440PJP"));
//			DEBUG_LOG.info("★rid：" + X33CUtil.GetLatestReqChkId(sessionId, "FUW001440PJP"));
//			DEBUG_LOG.info("★frameid：" + X33CUtil.GetLatestFrameId(sessionId, "FUW001340PJP"));
//			DEBUG_LOG.info("★rid：" + X33CUtil.GetLatestReqChkId(sessionId, "FUW001340PJP"));
//			Map wMap = getCookie();
//			DEBUG_LOG.info("★Cookie：" + wMap.toString());
//		}

		// ■共有フォームBeanを取得します
		common_info_bean = getCommonInfoBean();

		// ■共通ヘッダ、フッタに向けてフロント区分を設定します
		setFrontKbn(common_info_bean);

		// 共有フォームBeanの初期作成
		initWebNewBean(common_info_bean);

		// ■WEB新規情報を保持
		web_new_bean_array = common_info_bean.getDataBeanArray(CommonInfoCFConst.WEB_NEW_INFO);
		web_new_bean = web_new_bean_array.getDataBean(0);

		// ANK-1444-00-00 2013/02/22 start
		X31SDataBeanAccessArray redInfoArray = web_new_bean.getDataBeanArray(CommonInfoCFConst.REDIRECT_INFO);
		X31SDataBeanAccess redInfoBean = redInfoArray.getDataBean(0);
		redAction = redInfoBean.sendMessageString(CommonInfoCFConst.RED_ACTION_17, X31CWebConst.DATABEAN_GET_VALUE);
		// ANK-1444-00-00 2013/02/22 end

		// ■POSTされてきたパラメータを取得します
		posted_requests = this.getRequestParams();

		Object tmp_obj = null;
		String action = null;

		DEBUG_LOG.info("----- selectRedirection Start -----");

		tmp_obj = posted_requests.get(POST_ID_ACTION);
		action = (tmp_obj == null) ? (JFUStrConst.EMPTY) : (tmp_obj.toString().trim());

		DEBUG_LOG.info("----- action =  " + action + "  -----");
		if(action.compareTo(ACTION_FROMTKJCOMP) == 0)
		{
			// 提携住宅会社から遷移の場合のパラメータチェックを行います。
			tkjcompParamCheck(web_new_bean, common_info_bean, posted_requests);
		}
		
		if(action.compareTo(ACTION_FROMCLEARPASS) == 0)
		{
			// 口座振替受付から遷移の場合のパラメータ取得を行います。
			getDecodedKoufuriParams(web_new_bean, posted_requests);
		}
		if (ACTION_FROMSMBCFS_REDIRECT.contains(action))
		{
			// 口座振替受付[SMBCFS]から遷移の場合のパラメータ取得を行います。
			getDecodedKoufuriSmbcfsParams(web_new_bean, posted_requests);
		}
		

		// ■POSTされてきたパラメータをもとに、取扱店用取扱コードを設定します。
		this.setTritenCd(web_new_bean, posted_requests);

		//【ANK-0024-01-00】add start ----------------------------------------------------
		// ■パラメータのURL画面IDが、eoID認証画面（FUW01103）に遷移するIDの場合、画面IDをセットして処理を抜けます
		String urlId = (String)posted_requests.get(GET_URLID_PRM);
		for (int i = 0; i < EOID_CERTIFICATION.length; i++)
		{
			if (EOID_CERTIFICATION[i].equals(urlId))
			{
				if (isRedirectIdaNinsho(true))
				{
					redInfoBean.sendMessageString(CommonInfoCFConst.RED_INIT_ACTION_17, X31CWebConst.DATABEAN_SET_VALUE, urlId);
					JFUWebCommon.setDataBeanItemByPath(getServiceFormBean(), FUW00144SFConst.IDA_LOGIN_TRANS_FLG, TRANS_KBN_SECOND);
				}
				else
				{
					// リダイレクト先ＩＤに指定画面ＩＤをセット
					// ＷＥＢ新規情報.SYSIDに情報を保存
					String headerSysId = getSysId();
					setBeanValueString(web_new_bean, CommonInfoCFConst.SYSID_06, headerSysId);
					setRedirection(GAMEN_ID_EOID_CERTIFICATION);
				}
				return true;
			}
		}
		//【ANK-0024-01-00】add end ------------------------------------------------------

		//【eoID認証(営業支援)】
		if (action.compareTo(ACTION_LOGIN_ONLY) == 0)
		{
			// ■eフロント(営業支援) − eoID認証(営業支援)ログイン処理
			if (isRedirectIdaNinsho(false))
			{
				JFUWebCommon.setDataBeanItemByPath(getServiceFormBean(), FUW00144SFConst.IDA_LOGIN_TRANS_FLG, TRANS_KBN_FIRST);
			}
			else
			{
				redirectEssLoginOnly();
			}
			return true;
		}
		if (action.compareTo(ACTION_LOGOUT_ONLY) == 0)
		{
			// ■eフロント(営業支援) − eoID認証(営業支援)ログアウト処理
			// (1)eフロント → (2)IDAログアウト → 『フロント"非保護URL呼出" → (3)フロント（当PG） → (4)eフロント』
			JFUWebCommon.setDataBeanItemByPath(getServiceFormBean(), FUW00144SFConst.ESS_LOGOUT_TRANS_FLG, TRANS_KBN_FIRST);
			return true;
		}

		// ■アクションフィルタを確認し、アクションを上書きします
		overWriteAction(posted_requests);

		//【ANK-0235-00-00】【ANK-0236-00-00】【ANK-0244-00-00】add start ----------------

		outReqHeader(); //★INFO:テスト確認用(リクエストヘッダをログ出力)

		//【ANK-0329-00-00】add start
		// 業務規制情報の設定
		this.setWorkKiseiList();
		//【ANK-0329-00-00】add end

		// No678 2013/04/20 Otsuka Wi-Fiパラムの業務規制対応 start
		this.checkWorkKiseiWiFi(common_info_bean, posted_requests);
		// No678 2013/04/20 Otsuka Wi-Fiパラムの業務規制対応 end

		// アクションとIPアドレスによるアクセス制御(業務規制)
		doAccssCtrl(posted_requests);

		// UQからの遷移時処理
		if (isAfterUqActionExit(common_info_bean, web_new_bean, posted_requests))
		{
			return true; // 以降の処理は行わず終了
		}
		//【ANK-0235-00-00】【ANK-0236-00-00】【ANK-0244-00-00】add end   ------------------

		
		// ■リダイレクトパラメータを共有フォームBeanに設定
		setRedirectInfo(web_new_bean, posted_requests);

		// ■外部設定ファイルからキャンペーンコードを取得
		getCampaignCd(web_new_bean);

		// ■サービスの呼び出しを行います。 割引サービス情報取得(表示用キャンペーンコード)
		invokeServiceFusv0178();

		// ■DB取得結果からキャンペーン情報を取得
		getCampaignInfo(web_new_bean);

		// ■POST送信パラメタに合わせた引継ぎパラメータをセットします
		setKeepParameter(web_new_bean, posted_requests);

		// ■POSTデータ内容に合わせてリダイレクト先をセットします
		selectRedirection(web_new_bean, posted_requests);

		// ■設定ファイル内の mainteKbn が 1 の場合はメンテナンス画面へリダイレクトします
		mainteRedirection();

		// 申込受付実績登録部品実行
		JFUWebCommon.executeWebMskmUkJskAdd(this);

		///★INFO:テスト確認用
		com.fujitsu.futurity.common.JSYwebLog.println(com.fujitsu.futurity.common.JSYwebLog.DataBean_Dump, getClass(), dumpDatabean(), null, null,
				null);

		DEBUG_LOG.info("----- init(redirect) End -----");

		return true;
	}

	/**
	 * リダイレクトパラメータを共有フォームBeanに設定する
	 * <br>
	 * @param web_new_bean WEB新規情報
	 * @param posted_requests リダイレクトパラメータ
	 */
	@SuppressWarnings("unchecked")
	private void setRedirectInfo(X31SDataBeanAccess web_new_bean, X31CHashMap posted_requests)
	{

		// 共有フォームBeanにリファラーの設定を行う。
		String redirect_path = CommonInfoCFConst.REDIRECT_INFO + "[0].";

		// リダイレクト情報.アクション ← リダイレクトパラメータの"アクション"
		setBeanValueString(web_new_bean, redirect_path + CommonInfoCFConst.RED_ACTION_17, posted_requests.get(POST_ID_ACTION));

		// リダイレクト情報.初期アクション ← リダイレクトパラメータの"アクション"
		// 初期アクションがNULLの場合設定する
		X31SDataBeanAccessArray redInfoArray = web_new_bean.getDataBeanArray(CommonInfoCFConst.REDIRECT_INFO);
		X31SDataBeanAccess redInfoBean = redInfoArray.getDataBean(0);
		String redInitAction = redInfoBean.sendMessageString(CommonInfoCFConst.RED_INIT_ACTION_17, X31CWebConst.DATABEAN_GET_VALUE);
		if (JFUWebCommon.isNull(redInitAction))
		{
			setBeanValueString(web_new_bean, redirect_path + CommonInfoCFConst.RED_INIT_ACTION_17, posted_requests.get(POST_ID_ACTION));
		}

		/** 2012.2.1 エリア検索からの遷移時の処理を追加 START*/
		// リダイレクト情報.リダイレクト・郵便番号（上） ← リダイレクトパラメータの"郵便番号（上）"
		if (posted_requests.get(POST_ID_ZIP_CODE_1) != null && !"".equals(posted_requests.get(POST_ID_ZIP_CODE_1)))
		{ // 外部から
			setBeanValueString(web_new_bean, redirect_path + CommonInfoCFConst.RED_PCD1_17, posted_requests.get(POST_ID_ZIP_CODE_1));
		}
		else if (posted_requests.get(POST_ID_AREA_ZIP1) != null && !"".equals(posted_requests.get(POST_ID_AREA_ZIP1)))
		{ // FUW00101_エリア検索から
			setBeanValueString(web_new_bean, redirect_path + CommonInfoCFConst.RED_PCD1_17, posted_requests.get(POST_ID_AREA_ZIP1));
		}

		// リダイレクト情報.リダイレクト・郵便番号（下） ← リダイレクトパラメータの"郵便番号（下）"
		if (posted_requests.get(POST_ID_ZIP_CODE_2) != null && !"".equals(posted_requests.get(POST_ID_ZIP_CODE_2)))
		{ // 外部から
			setBeanValueString(web_new_bean, redirect_path + CommonInfoCFConst.RED_PCD2_17, posted_requests.get(POST_ID_ZIP_CODE_2));
		}
		else if (posted_requests.get(POST_ID_AREA_ZIP2) != null && !"".equals(posted_requests.get(POST_ID_AREA_ZIP2)))
		{ // FUW00101_エリア検索から
			setBeanValueString(web_new_bean, redirect_path + CommonInfoCFConst.RED_PCD2_17, posted_requests.get(POST_ID_AREA_ZIP2));
		}
		/** 2012.2.1 エリア検索からの遷移時の処理を追加 END */

		// リダイレクト情報.紹介者コード ← リダイレクトパラメータの"紹介者コード"
		if (posted_requests.get(POST_ID_INTRODUCE) != null && !"".equals(posted_requests.get(POST_ID_INTRODUCE)))
		{
			setBeanValueString(web_new_bean, redirect_path + CommonInfoCFConst.RED_INTRODUCE_17, posted_requests.get(POST_ID_INTRODUCE));
		}
	}

	/**
	 * <DL>
	 * <DT>共通ヘッダ、フッタに向けてフロント区分を設定します
	 * </DL>
	 * <br>
	 * @param i_common_info_bean
	 * @throws Exception
	 */
	private void setFrontKbn(X31SDataBeanAccess i_common_info_bean) throws Exception
	{
		String node_base = "";
		String node_path = "";

		node_base = CommonInfoCFConst.FRONT_COMMON_INFO + "[0].";
		node_path = node_base + CommonInfoCFConst.FU_KBN_05;
		setBeanValueString(i_common_info_bean, node_path, "N");
	}

	/**
	 * <DL>
	 * <DT>設定ファイル内の mainteKbn が 1 の場合はメンテナンス画面へリダイレクトします
	 * </DL>
	 * <p>
	 * @throws Exception
	 */
	private void mainteRedirection() throws Exception
	{
		X31SDataBeanAccess bean_access = null;
		String mainte_kbn = null;
		String mainte_redirect_url = null;

		// ====================================================================
		// @画面定義ファイルより mainteKbnを取得します =======================
		mainte_kbn = JFUWebCommon.getDispText(JFUScreenConst.SCREEN_ID_FUW00144, MAINTE_KBN);
		DEBUG_LOG.info("-- mainteKbn='" + mainte_kbn + "'");

		// mainte_kbn が 1 に設定されている => 遷移する
		if ((mainte_kbn != null) && (mainte_kbn.compareTo(MAINTEKBN_MAINTE_SCREEN) == 0))
		{
			// ====================================================================
			// A画面定義ファイルより メンテナンス画面の呼び出しURLを取得します ===
			mainte_redirect_url = JFUWebCommon.getDispLink(JFUScreenConst.SCREEN_ID_FUW00144, MAINTE_REDIRECT_URL);
			DEBUG_LOG.info("-- MAINTE URL='" + mainte_redirect_url + "'");

			// ====================================================================
			// B実効リダイレクトＵＲＬへ URLをセットします =======================
			//   (META タグによるリダイレクト)
			bean_access = getServiceFormBean();
			bean_access.sendMessageString(FUW00144SFConst.URL, X31CWebConst.DATABEAN_SET_VALUE, mainte_redirect_url);

		}
	}

	/**
	 * <DL>
	 * <DT>指定URLへリダイレクトします
	 * </DL>
	 * <p>
	 *
	 * @param i_target_url
	 *            遷移先のURL
	 */
	private void urlRedirection(String i_target_url)
	{
		X31SDataBeanAccess bean_access = null;

		bean_access = getServiceFormBean();
		bean_access.sendMessageString(FUW00144SFConst.URL, X31CWebConst.DATABEAN_SET_VALUE, i_target_url);
	}

	// PASCO対応取込 add start ----------------------------------------------------

	/**
	 * PASCOリダイレクト処理<br>
	 * PASCO遷移に必要な情報を共有フォームBeanに設定します。
	 * <br>
	 * @param i_web_new_bean	WEB新規情報
	 * @param i_pcd				リダイレクト情報の郵便番号
	 * @throws Exception		すべての例外
	 */
	@SuppressWarnings("unchecked")
	private void pascoRedirect(X31SDataBeanAccess i_web_new_bean, String i_pcd) throws Exception
	{
		// ----------------------------------------------------
		// エリア検索画面からの引継情報取得
		// ----------------------------------------------------
		HashMap paramMap = JCCWebCommon.getScreenInfo(this);
		String tranKbn = ""; // 処理区分
		String pcd = ""; // 郵便番号(処理区分:1の場合のみ値が設定される)
		String state = ""; // 都道府県(処理区分:2の場合のみ値が設定される)
		String cityAzaCho = ""; // 市町村・字・丁目(処理区分:2の場合のみ値が設定される)
		String choAzaNm = ""; // 町字名(処理区分:2の場合のみ値が設定される)
		String bnchigo = ""; // 番地・号(処理区分:2の場合のみ値が設定される)

		if (null != paramMap)
		{
			if (paramMap.containsKey(MAP_KEY_TRAN_KBN))
			{
				tranKbn = (String)paramMap.get(MAP_KEY_TRAN_KBN);
				pcd = (String)paramMap.get(MAP_KEY_PCD);
				state = (String)paramMap.get(MAP_KEY_STATE);
				cityAzaCho = (String)paramMap.get(MAP_KEY_CITY_AZA_CHO);
				choAzaNm = (String)paramMap.get(MAP_KEY_CHO_AZA_NM);
				bnchigo = (String)paramMap.get(MAP_KEY_BNCHIGO);
			}
		}

		// 処理区分が取得できない場合(エリア検索からの遷移でない場合)
		// リダイレクト情報.郵便番号（上）＋郵便番号（下）(リクエストパラメータの郵便番号)を設定
		if (0 == JFUWebCommon.getLength(tranKbn))
		{
			pcd = i_pcd;
		}

		// ----------------------------------------------------
		// 共有フォームBeanに設定
		// ----------------------------------------------------
		//  エリア検索からのパラメータが必要な連携項目を設定
		//  (※その他項目はredirectUqにて設定)
		// ----------------------------------------------------
		// PASCO情報Bean
		X31SDataBeanAccess pascoInfo = i_web_new_bean.getDataBeanArray(CommonInfoCFConst.PASCO_INFO).getDataBean(0);
		// ---------------------------------------------------------
		// 郵便番号(zip)  ← ＰＡＳＣＯ情報/0/郵便番号
		JFUWebCommon.setDataBeanItemByPath(pascoInfo, CommonInfoCFConst.PCD_07, pcd);
		// 都道府県(add1) ← ＰＡＳＣＯ情報/0/都道府県
		JFUWebCommon.setDataBeanItemByPath(pascoInfo, CommonInfoCFConst.STATE_07, state);
		// 市区町村・大字(add2) ← ＰＡＳＣＯ情報/0/市区町村・番地
		JFUWebCommon.setDataBeanItemByPath(pascoInfo, CommonInfoCFConst.BNCHI_07, cityAzaCho);
		// 町丁字名(add3) ← ＰＡＳＣＯ情報/0/丁字名
		JFUWebCommon.setDataBeanItemByPath(pascoInfo, CommonInfoCFConst.CHO_AZA_07, choAzaNm);
		// 番地・号(add4) ← ＰＡＳＣＯ情報/0/番地・号
		JFUWebCommon.setDataBeanItemByPath(pascoInfo, CommonInfoCFConst.BNCHIGO_07, bnchigo);
		// ---------------------------------------------------------

		// ＭＥＴＡタグ抑止フラグを設定(metaタグ["refresh"]の出力を抑止するためのフラグ)
		JFUWebCommon.setDataBeanItemByPath(getServiceFormBean(), FUW00144SFConst.META_TAG_YOKSI_FLG, META_TAG_YOKSI_FLG_ON);
		// ＰＡＳＣＯ遷移フラグ(JSPでPASCO遷移のためのbodyを出力するためのフラグ)
		JFUWebCommon.setDataBeanItemByPath(getServiceFormBean(), FUW00144SFConst.PASCO_TRANS_FLG, TRANS_FLG_ON);

	}

	// PASCO対応取込 add end   ----------------------------------------------------

	/**
	 * 口座振替受付リダイレクト処理
	 * <br>
	 */
	private void kouzaFurikaeRedirect()
	{
		// ＭＥＴＡタグ抑止フラグを設定(metaタグ["refresh"]の出力を抑止するためのフラグ)
		JFUWebCommon.setDataBeanItemByPath(getServiceFormBean(), FUW00144SFConst.META_TAG_YOKSI_FLG, META_TAG_YOKSI_FLG_ON);
		// 口座振替画面遷移フラグ(JSPで口座振替画面遷移のためのbodyを出力するためのフラグ)
		JFUWebCommon.setDataBeanItemByPath(getServiceFormBean(), FUW00144SFConst.KOUZAFURIKAE_TRANS_FLG, TRANS_KBN_FIRST);
		// ＰＡＳＣＯ遷移フラグ(JSPでPASCO遷移のためのbodyを出力するためのフラグ)
		JFUWebCommon.setDataBeanItemByPath(getServiceFormBean(), FUW00144SFConst.PASCO_TRANS_FLG, TRANS_FLG_OFF);
	}

	/**
	 * 口座振替受付からのリダイレクト処理<br>
	 * 口座振替受付画面からの遷移に必要な情報をサービスフォームBeanに設定します。
	 * <br>
	 * @throws Exception		すべての例外
	 */
	private void kouzaFurikaeReturnRedirect() throws Exception
	{
		// ＭＥＴＡタグ抑止フラグを設定(metaタグ["refresh"]の出力を抑止するためのフラグ)
		JFUWebCommon.setDataBeanItemByPath(getServiceFormBean(), FUW00144SFConst.META_TAG_YOKSI_FLG, META_TAG_YOKSI_FLG_ON);
		// 口座振替画面遷移フラグ(JSPで口座振替画面遷移のためのbodyを出力するためのフラグ)
		JFUWebCommon.setDataBeanItemByPath(getServiceFormBean(), FUW00144SFConst.KOUZAFURIKAE_TRANS_FLG, TRANS_KBN_SECOND);
		// ＰＡＳＣＯ遷移フラグ(JSPでPASCO遷移のためのbodyを出力するためのフラグ)
		JFUWebCommon.setDataBeanItemByPath(getServiceFormBean(), FUW00144SFConst.PASCO_TRANS_FLG, TRANS_FLG_OFF);
	}

	/**
	 * 口座振替受付からのリダイレクト処理(キャンセル時)<br>
	 * 口座振替受付画面からの遷移に必要な情報をサービスフォームBeanに設定します。
	 * <br>
	 * @throws Exception		すべての例外
	 */
	private void kouzaFurikaeCancelRedirect() throws Exception
	{
		// ビジネスログへの出力
		outputBusLog("----- 口座振替画面処理はキャンセルされました -----");

		X31SDataBeanAccess common_info_bean = null; // 共有フォームBean全体へのアクセサ
		X31SDataBeanAccess web_new_bean = null; // 共有フォームBeanのＷＥＢ新規以下へのアクセサ
		X31SDataBeanAccess payway_info_bean = null; // 共有フォームBeanの支払い方法情報以下へのアクセサ
		X31SDataBeanAccessArray bean_array = null; // 一時受け皿

		common_info_bean = getCommonInfoBean();

		// ■共有フォームBean.ＷＥＢ新規
		bean_array = common_info_bean.getDataBeanArray(CommonInfoCFConst.WEB_NEW_INFO);
		web_new_bean = getDataBeanZero(bean_array);
		// ■共有フォームBean.支払い方法情報
		bean_array = web_new_bean.getDataBeanArray(CommonInfoCFConst.PAYWAY_INFO);
		payway_info_bean = getDataBeanZero(bean_array);

		// ステータスをクリア
		payway_info_bean.sendMessageString(CommonInfoCFConst.STATUS_15, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
		//顧客番号をクリア
		payway_info_bean.sendMessageString(CommonInfoCFConst.SMBCFS_BILL_NO_15, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);

	}

	/**
	 * Beanの子要素の配列1番目を取得（子要素無い場合作成）
	 * @param i_bean_array Beanアクセサの配列
	 * @return 子要素配列１番目へのアクセサ
	 */
	private X31SDataBeanAccess getDataBeanZero(X31SDataBeanAccessArray i_bean_array)
	{
		if (i_bean_array.getCount() <= 0)
		{
			i_bean_array.addDataBean();
		}

		return i_bean_array.getDataBean(0);
	}

	/** 
	 * 暗号化処理を行います。
	 * @param  String key
	 * @param  String text
	 * @throws  IllegalBlockSizeException,InvalidKeyException,NoSuchAlgorithmException
	 *           UnsupportedEncodingException,BadPaddingException,NoSuchPaddingException
	 */
	public static String encrypt(String key, String text) throws IllegalBlockSizeException, InvalidKeyException, NoSuchAlgorithmException,
			UnsupportedEncodingException, BadPaddingException, NoSuchPaddingException
	{
		SecretKeySpec sksSpec = new SecretKeySpec(key.getBytes(), ENCRYPT_FORMAT);
		Cipher cipher = Cipher.getInstance(ENCRYPT_FORMAT);
		cipher.init(javax.crypto.Cipher.ENCRYPT_MODE, sksSpec);
		byte[] encrypted = cipher.doFinal(text.getBytes());
		return byteArrayToHexString(encrypted);
	}

	/** 
	 * EUC-JPで変換して暗号化処理を行います。
	 * @param  String key
	 * @param  String text
	 * @throws  IllegalBlockSizeException,InvalidKeyException,NoSuchAlgorithmException
	 *           UnsupportedEncodingException,BadPaddingException,NoSuchPaddingException
	 */
	public static String encrypt_euc(String key, String text) throws IllegalBlockSizeException, InvalidKeyException, NoSuchAlgorithmException,
			UnsupportedEncodingException, BadPaddingException, NoSuchPaddingException
	{
		SecretKeySpec sksSpec = new SecretKeySpec(key.getBytes(), ENCRYPT_FORMAT);
		Cipher cipher = Cipher.getInstance(ENCRYPT_FORMAT);
		cipher.init(javax.crypto.Cipher.ENCRYPT_MODE, sksSpec);
		byte[] encrypted = cipher.doFinal(text.getBytes("EUC_JP"));
		// 確認テスト用
		DEBUG_LOG.debug("text.getBytes(EUC_JP) = " + text.getBytes("EUC_JP"));
		return byteArrayToHexString(encrypted);
	}

    /** 
     * EUC-JPで変換して暗号化キーの暗号化処理を行います。
     * @param  String key
     * @param  String text
     * @throws  IllegalBlockSizeException,InvalidKeyException,NoSuchAlgorithmException
     *           UnsupportedEncodingException,BadPaddingException,NoSuchPaddingException
     */
    public static String encryptKey_euc(String key, String text)
    throws IllegalBlockSizeException,
    InvalidKeyException,
    NoSuchAlgorithmException,
    UnsupportedEncodingException,
    BadPaddingException,
    NoSuchPaddingException
    {
    	key = decrypt_euc(TRUE_KEY, key);

    	SecretKeySpec sksSpec = new SecretKeySpec(key.getBytes(), ENCRYPT_FORMAT);
        Cipher cipher = Cipher.getInstance(ENCRYPT_FORMAT);
        cipher.init(javax.crypto.Cipher.ENCRYPT_MODE, sksSpec);
        byte[] encrypted = cipher.doFinal(text.getBytes("EUC_JP"));
        return byteArrayToHexString(encrypted);
    }

	/**
	 * バイト配列を16進数の文字列に変換
	 * @param arg      バイト配列
	 * @return String  16進数に変換した文字列
	 */
	private static String byteArrayToHexString(byte[] arg)
	{
		StringBuffer byteArray = new StringBuffer();
		for (int i = 0; i < arg.length; i++)
		{
			// 暗号化されたバイト配列の要素を2進表現の文字列に変換
			String strByteCode = Integer.toHexString((int)arg[i]);
			// STRING_SIZEの桁数に整形
			if (strByteCode.length() >= STRING_SIZE)
			{
				strByteCode = strByteCode.substring(strByteCode.length() - STRING_SIZE, strByteCode.length());
			}
			else
			{
				while (strByteCode.length() < STRING_SIZE)
				{
					strByteCode = "0" + strByteCode;
				}
			}
			byteArray.append(strByteCode);
		}
		return byteArray.toString();
	}

	/**
	 * <DL>
	 * <DT>リダイレクト先ＩＤに指定画面ＩＤをセットします
	 * <DT>(ログ表記を共通化しているだけです)
	 * </DL>
	 * <p>
	 *
	 * @param i_target_gamen_id
	 *            遷移先の画面ID
	 */
	private void setRedirection(String i_target_gamen_id)
	{
		// Init から遷移する場合、↓の方法を使用します
		X31SDataBeanAccess commoninfoBean = getCommonInfoBean();
		String gamen_id = i_target_gamen_id.substring(0, 8);
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, gamen_id);

		this.setTransferPageId(i_target_gamen_id);
	}

	/**
	 * <DL>
	 * <DT>アクションフィルタを確認し、アクションを上書きします
	 * </DL>
	 * <p>
	 *
	 * @param i_posted_requests
	 *            key=value のコレクション
	 */
	@SuppressWarnings("unchecked")
	private void overWriteAction(X31CHashMap i_posted_requests)
	{
		Object tmp_obj = null;
		String action_filtered = null;

		tmp_obj = i_posted_requests.get(POST_ID_ACTION_FILTERED);
		action_filtered = (tmp_obj != null) ? (tmp_obj.toString().trim()) : ("");

		if (action_filtered.length() > 0)
		{
			// アクションフィルタが指定されている場合、既存のアクションより優先されます（上書きします）
			i_posted_requests.put(POST_ID_ACTION, action_filtered);
		}
	}

	/**
	 * <DL>
	 * <DT>アクション=メンテナンス中チェック の際に必要となるチェックです
	 * </DL>
	 * <br>
	 * @param i_posted_requests
	 * @return true/false
	 * @throws Exception
	 */
	@SuppressWarnings("unchecked")
	private boolean check4ActMntCheck(X31CHashMap i_posted_requests) throws Exception
	{
		Object tmp_obj = null;
		String url_string = null;
		X33WSessionController session_controller = null;
		HttpServletRequest request = null;
		String referer = null;
		boolean result = true;

		// リダイレクトURLが指定されており、かつリファラが
		// eonet.jp、eonet.ne.jp、k-opti.com のいずれかであれば true

		tmp_obj = i_posted_requests.get(POST_ID_URL);
		url_string = (tmp_obj != null) ? (tmp_obj.toString().trim()) : ("");
		if (url_string.length() <= 0)
		{
			DEBUG_LOG.info("check4ActMntCheck(): hrefの指定なし");
			result = false;
		}
		DEBUG_LOG.info("check4ActMntCheck(): hrefの指定あり=>" + url_string);

		session_controller = X33CUtil.getSession(this.getSessionId());
		request = session_controller.getServletRequest();
		referer = request.getHeader("referer");

		if ((referer == null) || (referer.trim().length() <= 0))
		{
			DEBUG_LOG.info("check4ActMntCheck(): refererを取得することができません");
			result = false;
		}
		else
		{
			DEBUG_LOG.info("check4ActMntCheck(): refererの取得に成功=>" + referer);

			// リファラーチェックの定義を取得
			Map<String, String> dispMap =
					JFUWebCommon.getDispItemsAsMap("DISPSETTING/SETTING[@screenId='FUW00144']/DISPCTL[@groupid='referer_check']", "id");

			// リファラーチェック結果
			boolean isRefererCheck = false;

			// リファラーチェック定義分ループ
			for (int cnt = 1; cnt <= dispMap.size(); cnt++)
			{

				// リファラーチェック定義取得
				String referer_check = dispMap.get(Integer.toString(cnt)).toString();

				// リファラーが、リファラーチェック定義に含まれている場合
				if (referer.indexOf(referer_check) > 0)
				{

					// リファラーチェックOK
					isRefererCheck = true;

					// ループを抜ける。
					break;
				}
			}

			// リファラーチェックがfalseの場合
			if (!isRefererCheck)
			{
				result = false;
			}

			/*
			if ((referer.indexOf("eonet.jp") <= 0) && (referer.indexOf("eonet.ne.jp") <= 0) && (referer.indexOf("k-opti.com") <= 0))
			{
				result = false;
			}
			*/
		}

		DEBUG_LOG.info("check4ActMntCheck(): チェック結果=>" + ((result) ? ("true") : ("false")));
		return result;
	}

	/**
	 * <DL>
	 * <DT>アクション=申込標準 の際に必要となる必須チェックです
	 * </DL>
	 * <p>
	 *
	 * @param i_posted_requests POSTされて来た値のハッシュ
	 * @return true/false
	 */
	@SuppressWarnings("unchecked")
	private boolean check4ActUpdate(X31CHashMap i_posted_requests)
	{
		Object tmp_obj_1 = null;
		Object tmp_obj_2 = null;
		Object tmp_obj_3 = null;
		String tmp_str_1 = null;
		String tmp_str_2 = null;
		String tmp_str_3 = null;
		boolean result = false;

		// 申込区分、入口画面ID、仮申込サービスが設定されている場合のみ true を返す

		tmp_obj_1 = i_posted_requests.get(POST_ID_APPLICATION_CLASS);
		tmp_obj_2 = i_posted_requests.get(POST_ID_ENTRY_ID);
		tmp_obj_3 = i_posted_requests.get(POST_ID_TENTATIVE_SERVICE);

		tmp_str_1 = (tmp_obj_1 != null) ? (tmp_obj_1.toString()) : ("");
		tmp_str_2 = (tmp_obj_2 != null) ? (tmp_obj_2.toString()) : ("");
		tmp_str_3 = (tmp_obj_3 != null) ? (tmp_obj_3.toString()) : ("");

		if ((tmp_str_1.length() > 0) && (tmp_str_2.length() > 0) && (tmp_str_3.length() > 0))
		{
			result = true;
		}

		return result;
	}

	/**
	 * <DL>
	 * <DT>アクション=ｅｏエリア検索/マンション検索 の際に必要となるチェックです
	 * <DT>POST されてきたデータの郵便番号が上下ともに何かしら設定されていれば true です(正当性Checkなし)
	 * </DL>
	 * <p>
	 *
	 * @param i_posted_requests
	 *            key=value のコレクション
	 * @return true/false
	 */
	@SuppressWarnings("unchecked")
	private boolean check4ActZipSearch(X31CHashMap i_posted_requests)
	{
		Object tmp_obj_1 = null;
		Object tmp_obj_2 = null;
		String zip_code_1 = null;
		String zip_code_2 = null;
		boolean result = false;

		tmp_obj_1 = i_posted_requests.get(POST_ID_ZIP_CODE_1);
		zip_code_1 = (tmp_obj_1 != null) ? (tmp_obj_1.toString().trim()) : ("");
		tmp_obj_2 = i_posted_requests.get(POST_ID_ZIP_CODE_2);
		zip_code_2 = (tmp_obj_2 != null) ? (tmp_obj_2.toString().trim()) : ("");

		// 2013/07/11 【内部障害No820】マンション検索、マンション資料請求のマンション検索4自動遷移対応 START
//		if ((zip_code_1.length() > 0) && (zip_code_2.length() > 0))
//		{
//			result = true;
//		}
		if (JFUWebCommon.isCheckZipCode(zip_code_1, zip_code_2))
		{
			result = true;
		}
		// 2013/07/11 【内部障害No820】マンション検索、マンション資料請求のマンション検索4自動遷移対応 END

		return result;
	}

	/**
	 * <DL>
	 * <DT>アクション=ｅｏエリア検索/マンション検索 の際に必要となるチェックです
	 * <DT>共有フォームBeanのリダイレクト.郵便番号上下に値があれば結合して返却します(正当性Checkなし)
	 * </DL>
	 * <p>
	 *
	 * @param i_web_new_bean ＷＥＢ新規へのアクセサ
	 *
	 * @return 結合された郵便番号
	 */
	private String getRedPostcode(X31SDataBeanAccess i_web_new_bean)
	{
		String post_code = "";

		// リダイレクト情報.郵便番号（上）の値
		String red_pcd1_path = CommonInfoCFConst.REDIRECT_INFO + "[0]." + CommonInfoCFConst.RED_PCD1_17;
		String red_pcd1_value = getValueFromBean(i_web_new_bean, red_pcd1_path);

		// リダイレクト情報.郵便番号（下）の値
		String red_pcd2_path = CommonInfoCFConst.REDIRECT_INFO + "[0]." + CommonInfoCFConst.RED_PCD2_17;
		String red_pcd2_value = getValueFromBean(i_web_new_bean, red_pcd2_path);

		if ((red_pcd1_value.length() > 0) && (red_pcd2_value.length() > 0))
		{
			post_code = red_pcd1_value + red_pcd2_value;
		}

		return post_code;
	}

	/**
	 * Beanの文字列項目にオブジェクト（文字列）を格納します
	 *
	 * <br>
	 * @param i_bean_accessor
	 * @param i_tree_path
	 * @param i_value
	 */
	private void setBeanValueString(X31SDataBeanAccess i_bean_accessor, String i_tree_path, Object i_value)
	{
		if (i_value == null)
		{
			// 値がNULLであれば格納先をクリアする
			clearValueAtBean(i_bean_accessor, i_tree_path);
		}
		else
		{
			// 値がNULLでなければ文字列として格納する
			setPairToBean(i_bean_accessor, i_tree_path, i_value.toString());
		}
	}

	/**
	 * 現在選択しているサービスが全て使用可能であるか調べます
	 *
	 * <br>
	 * @param i_web_new_bean
	 *            共有フォームBean[0].ＷＥＢ新規情報[0]へのアクセサ
	 * @param i_posted_requests POSTされてきたデータのハッシュ
	 * @return true/false(ひとつでも不可があるとfalse)
	 */
	@SuppressWarnings("unchecked")
	private boolean checkAllSelectedSrv(X31SDataBeanAccess i_web_new_bean, X31CHashMap i_posted_requests)
	{
		String base_srv = null;
		String path_net = null;
		String path_tel = null;
		String path_tv = null;
		boolean result = true;

		// 選択サービス（1:選択、0:未選択）
		base_srv = CommonInfoCFConst.KEIYAKU_SVC_INFO + "[0].";
		path_tel = base_srv + CommonInfoCFConst.SELECT_SVC_TEL_10;//.SELECT_SVC_TEL_17;
		path_tv = base_srv + CommonInfoCFConst.SELECT_SVC_TV_10;
		path_net = base_srv + CommonInfoCFConst.SELECT_SVC_NET_10;

		// --------------------------------------------------------------------
		// 光電話について -----------------------------------------------------
		if (getValueFromBean(i_web_new_bean, path_tel).compareTo(JFUStrConst.SELECT_SVC_TEL_CHOICE) == 0)
		{
			Object obj_tel = null;

			// 光電話申込可能フラグをチェック
			obj_tel = i_posted_requests.get(POST_ID_FLAG_TEL);
			if ((obj_tel == null) || (obj_tel.toString().compareTo(JFUStrConst.TEL_MSKM_PSB_FLG_MSKM_PSB) != 0))
			{
				result = false;
			}
		}
		// --------------------------------------------------------------------
		// 光テレビについて ---------------------------------------------------
		if (getValueFromBean(i_web_new_bean, path_tv).compareTo(JFUStrConst.SELECT_SVC_TV_CHOICE) == 0)
		{
			String base_tv = null;
			String path_tv_course = null;
			Object obj_tv = null;

			// 選択TVコース（1:K-CAT、2:KCN）
			base_tv = CommonInfoCFConst.EOTV + "[0].";
			path_tv_course = base_tv + CommonInfoCFConst.TV_COURSE_13;//18;

			// コースによって想定フラグ値が違う
			// テレビコース：K-CAT
			if (getValueFromBean(i_web_new_bean, path_tv_course).compareTo(JFUStrConst.TV_COURSE_KCAT) == 0)
			{
				obj_tv = i_posted_requests.get(POST_ID_FLAG_TV);
				if ((obj_tv == null) || (obj_tv.toString().compareTo(JFUStrConst.TV_MSKM_PSB_FLG_KCAT) != 0))
				{
					result = false;
				}
			}

			// テレビコース：KCN
			if (getValueFromBean(i_web_new_bean, path_tv_course).compareTo(JFUStrConst.TV_COURSE_KCN) == 0)
			{
				obj_tv = i_posted_requests.get(POST_ID_FLAG_TV);
				if ((obj_tv == null) || (obj_tv.toString().compareTo(JFUStrConst.TV_MSKM_PSB_FLG_KCN) != 0))
				{
					result = false;
				}
			}
		}
		// --------------------------------------------------------------------
		// 光ネットについて ---------------------------------------------------
		if (getValueFromBean(i_web_new_bean, path_net).compareTo("1") == 0)
		{
			String base_net = "";
			String path_net_course = "";
			Object obj_net = null;

			// 選択ネットコース（1: 100Mコース、2: 200Mコース、3: 1Gコース、5: 5Gコース、6: 10Gコース）
			base_net = CommonInfoCFConst.EONET + "[0].";
			path_net_course = base_net + CommonInfoCFConst.NET_COURSE_11;//.NET_COURSE_13;

			// コースによって想定フラグ値が違う
			if (getValueFromBean(i_web_new_bean, path_net_course).compareTo(JFUStrConst.NET_COURSE_100M) == 0)
			{
				// 100M
				obj_net = i_posted_requests.get(POST_ID_FLAG_HF);
				if ((obj_net == null) || (obj_net.toString().compareTo(JFUStrConst.MOBILE_100M_MSKM_PSB) != 0))
				{
					result = false;
				}
			}
			if (getValueFromBean(i_web_new_bean, path_net_course).compareTo(JFUStrConst.NET_COURSE_200M) == 0)
			{
				// 200M
				obj_net = i_posted_requests.get(POST_ID_FLAG_PRE);
				if ((obj_net == null) || (obj_net.toString().compareTo(JFUStrConst.MOBILE_200M_MSKM_PSB) != 0))
				{
					result = false;
				}
			}
			if (getValueFromBean(i_web_new_bean, path_net_course).compareTo(JFUStrConst.NET_COURSE_1G) == 0)
			{
				// 1G
				obj_net = i_posted_requests.get(POST_ID_FLAG_1G);
				if ((obj_net == null) || (obj_net.toString().compareTo(JFUStrConst.MOBILE_1G_MSKM_PSB) != 0))
				{
					result = false;
				}
			}
			// 【PT強化2-No.98】画面表示時の不正対応 ADD START
			if (getValueFromBean(i_web_new_bean, path_net_course).compareTo(JFUStrConst.NET_COURSE_100M_LIGHT) == 0)
			{
				// 100Mライト（100Mと同じ）
				obj_net = i_posted_requests.get(POST_ID_FLAG_HF);
				if ((obj_net == null) || (obj_net.toString().compareTo(JFUStrConst.MOBILE_100M_MSKM_PSB) != 0))
				{
					result = false;
				}
			}
			// 【PT強化2-No.98】画面表示時の不正対応 ADD END
			if (getValueFromBean(i_web_new_bean, path_net_course).compareTo(JFUStrConst.NET_COURSE_5G) == 0)
			{
				// 5G
				obj_net = i_posted_requests.get(POST_ID_FLAG_10G);
				if ((obj_net == null) || (obj_net.toString().compareTo(JFUStrConst.MOBILE_10G_MSKM_PSB) != 0))
				{
					result = false;
				}
			}
			if (getValueFromBean(i_web_new_bean, path_net_course).compareTo(JFUStrConst.NET_COURSE_10G) == 0)
			{
				// 10G
				obj_net = i_posted_requests.get(POST_ID_FLAG_10G);
				if ((obj_net == null) || (obj_net.toString().compareTo(JFUStrConst.MOBILE_10G_MSKM_PSB) != 0))
				{
					result = false;
				}
			}
		}
		return result;
	}

	/**
	 * POST送信パラメタに合わせた引継ぎパラメータをセットします
	 * @param i_web_new_bean 共有フォームBean[0].ＷＥＢ新規情報[0]へのアクセサ
	 * @param i_posted_requests key=value のコレクション
	 * @throws Exception
	 */
	private void setKeepParameter(X31SDataBeanAccess i_web_new_bean, X31CHashMap<String, Object> i_posted_requests) throws Exception
	{
		Object tmp_obj = null;
		String action = null;
		String node_base = null;
		String node_path = null;

		DEBUG_LOG.info("----- setKeepParameter Start -----");

		tmp_obj = i_posted_requests.get(POST_ID_ACTION);
		if ((tmp_obj == null) || ((tmp_obj.toString().trim()).length() <= 0))
		{

			// action の項目自体が無い場合
			DEBUG_LOG.info("-- none action parameter --");

		}
		else
		{

			// リファラーを取得する
			X33WSessionController session_controller = X33CUtil.getSession(this.getSessionId());
			HttpServletRequest request = session_controller.getServletRequest();
			String referer = request.getHeader("referer");

			// 共有フォームBeanにリファラーの設定を行う。
			String referer_path = CommonInfoCFConst.REDIRECT_INFO + "[0]." + CommonInfoCFConst.REFERER_17;
			setBeanValueString(i_web_new_bean, referer_path, referer);

			// アクションを取得する。
			action = tmp_obj.toString().trim();

			// 「ANK-2318-00-00」【口座振替WEB受付サービス導入にかかるシステム改修依頼】 2015.02.16 FJ)中西 start
			if (ACTION_FROMCLEARPASS.equals(action))
			{
				return;
			}
			// 「ANK-2318-00-00」【口座振替WEB受付サービス導入にかかるシステム改修依頼】 2015.02.16 FJ)中西 end

			// 口座振替[SMBCFS]
			if (ACTION_FROMSMBCFS_REDIRECT.contains(action))
			{
				return;
			}

			if (ACTION_SERVICE_ADD.equals(action))
			{
				// iDAログイン画面から遷移の場合、以下の処理は実行しない
				return;
			}

			// ソーシャルログインの場合
			if (ACTION_FROMFACEBOOK.equals(action) ||
					ACTION_FROMGOOGLE.equals(action) ||
					ACTION_FROMYAHOO.equals(action) ||
					ACTION_FROMAPPLE.equals(action))
			{
				return;
			}

			if (isIdaRenkei(action))
			{
				// iDAログイン画面から遷移の場合、SYSIDを連携する
				// ＷＥＢ新規情報.SYSID
				String headerSysId = getSysId();
				setBeanValueString(i_web_new_bean, CommonInfoCFConst.SYSID_06, headerSysId);
			}

			// ■                  ■
			// ■ 申込項目について ■
			// ■                  ■
			node_base = "";
			// ----------------------------------------------------------------
			// 申込項目 情報初期化 -----------------------------------------------
			node_path = node_base + CommonInfoCFConst.MSKM_KSN_SVC_06;
			clearValueAtBean(i_web_new_bean, node_path);
			node_path = node_base + CommonInfoCFConst.MSKM_MNS_TYPE_06;
			clearValueAtBean(i_web_new_bean, node_path);
			node_path = node_base + CommonInfoCFConst.MSKM_KBN_06;

			// 20120621 fromPASCOで遷移時、申込区分が2のところ、1になってしまうため、コメントアウト。
			//clearValueAtBean(i_web_new_bean, node_path);

			// ----------------------------------------------------------------
			// 申込項目 情報セット --------------------------------------------
			Pattern ptn_home = null;
			Pattern ptn_mansion = null;
			Pattern ptn_mobile = null;
			Pattern ptn_new = null;
			Pattern ptn_add = null;
			Pattern ptn_search = null; // IT2-2012-0001106 2012/06/28 h.iwamoto
			Pattern ptn_qg2kan = null; // 20120831 y.yamashita フルルKANSAI（マンション・メゾン）
			Pattern ptn_xsgtn1 = null; // 20120831 y.yamashita 価格COM（マンション・メゾン）

			Matcher mtr_home = null;
			Matcher mtr_mansion = null;
			Matcher mtr_mobile = null;
			Matcher mtr_new = null;
			Matcher mtr_add = null;
			Matcher mtr_search = null; // IT2-2012-0001106 2012/06/28 h.iwamoto
			Matcher mtr_qg2kan = null; // 20120831 y.yamashita フルルKANSAI（マンション・メゾン）
			Matcher mtr_xsgtn1 = null; // 20120831 y.yamashita 価格COM（マンション・メゾン）

			ptn_home = Pattern.compile("^(home|kcn).*$");
			ptn_mansion = Pattern.compile("^mansion.*$");
			ptn_mobile = Pattern.compile("^(mobile|wifi|3g|wimax|WiwH|redirectUq).*$");
			ptn_new = Pattern.compile("^.*_new$");
			ptn_add = Pattern.compile("^.*_add$");
			ptn_search = Pattern.compile("^.*_search$"); // IT2-2012-0001106 2012/06/28 h.iwamoto
			ptn_qg2kan = Pattern.compile("^(qG2kan).*$"); // 20120831 y.yamashita フルルKANSAI（マンション・メゾン）
			ptn_xsgtn1 = Pattern.compile("^(XsgtN1).*$"); // 20120831 y.yamashita 価格COM（マンション・メゾン）
			
			
			// ANK-2480-00-00_新電力対応 2015/05/20 add start
			Pattern ptn_electric = null;
			ptn_electric = Pattern.compile("^electric.*$");
			Matcher mtr_electric = null;
			mtr_electric = ptn_electric.matcher(action);
			// ANK-2480-00-00_新電力対応 2015/05/20 add end
			

			// 提携住宅会社から遷移してきた場合
			if(ACTION_FROMTKJCOMP.equals(action))
			{
				ptn_home = Pattern.compile("^fromtkjcomp.*$");
				ptn_new = Pattern.compile("^fromtkjcomp.*$");
			}

			mtr_home = ptn_home.matcher(action);
			mtr_mansion = ptn_mansion.matcher(action);
			mtr_mobile = ptn_mobile.matcher(action);
			mtr_new = ptn_new.matcher(action);
			mtr_add = ptn_add.matcher(action);
			mtr_search = ptn_search.matcher(action); // IT2-2012-0001106 2012/06/28 h.iwamoto
			mtr_qg2kan = ptn_qg2kan.matcher(action); // 20120831 y.yamashita フルルKANSAI（マンション・メゾン）
			mtr_xsgtn1 = ptn_xsgtn1.matcher(action); // 20120831 y.yamashita 価格COM（マンション・メゾン）

			// 申込回線サービス、申込マンションタイプ
			if (mtr_mobile.find())
			{
				setBeanValueString(i_web_new_bean, CommonInfoCFConst.MSKM_KSN_SVC_06, "3"); // 3:モバイル単独
			}
			else if (mtr_mansion.find())
			{
				setBeanValueString(i_web_new_bean, CommonInfoCFConst.MSKM_KSN_SVC_06, JFUStrConst.MSKM_KSN_SVC_MANSION); // 2:マンションタイプ
				setBeanValueString(i_web_new_bean, CommonInfoCFConst.MSKM_MNS_TYPE_06, JFUStrConst.MSKM_MNS_TYPE_MANSION); // 1:マンション

				// IT2-2012-1790 2012/11/26 Otsuka start

				// 2012/07/04 ナビゲーションパターンを設定
				setBeanValueString(i_web_new_bean, CommonInfoCFConst.REDIRECT_INFO + "[0]." + CommonInfoCFConst.NAVIGATOR_PTN_17,
						JFUStrConst.NAVI_PTN_MANSION); // 1:エリア検索

				// IT2-2012-1790 2012/11/26 Otsuka end
			}
			else if (mtr_home.find())
			{
				setBeanValueString(i_web_new_bean, CommonInfoCFConst.MSKM_KSN_SVC_06, JFUStrConst.MSKM_KSN_SVC_HOME); // 1:ホームタイプ
			}
			// 20120831 y.yamashita フルルKANSAI（マンション・メゾン）
			else if (mtr_qg2kan.find())
			{
				setBeanValueString(i_web_new_bean, CommonInfoCFConst.MSKM_KSN_SVC_06, JFUStrConst.MSKM_KSN_SVC_MANSION); // 2:マンションタイプ
			}
			// 20120831 y.yamashita 価格COM（マンション・メゾン）
			else if (mtr_xsgtn1.find())
			{
				setBeanValueString(i_web_new_bean, CommonInfoCFConst.MSKM_KSN_SVC_06, JFUStrConst.MSKM_KSN_SVC_MANSION); // 2:マンションタイプ
			}
			// ANK-2480-00-00_新電力対応 2015/05/20 add start
			else if (mtr_electric.find())
			{
				setBeanValueString(i_web_new_bean, CommonInfoCFConst.MSKM_KSN_SVC_06, JFUStrConst.MSKM_KSN_SVC_ELECTRIC); // 4:eo電気追加
			}
			// ANK-2480-00-00_新電力対応 2015/05/20 add end
			else
			{
				setBeanValueString(i_web_new_bean, CommonInfoCFConst.MSKM_KSN_SVC_06, "1"); // 0:未定
			}

			// 申込区分
			if (mtr_add.find() || action.matches(ACTION_INTRHA))
			{
				setBeanValueString(i_web_new_bean, CommonInfoCFConst.MSKM_KBN_06, JFUStrConst.MSKM_KBN_ADD); // 2:追加申込
			}
			else if (mtr_new.find() || action.matches(ACTION_INTRHN))
			{
				setBeanValueString(i_web_new_bean, CommonInfoCFConst.MSKM_KBN_06, JFUStrConst.MSKM_KBN_NEW); // 1:新規申込
			}
			// IT2-2012-0001106 2012/06/28 h.iwamoto
			else if (mtr_search.find() || action.matches(ACTION_INTRHN))
			{
				setBeanValueString(i_web_new_bean, CommonInfoCFConst.MSKM_KBN_06, JFUStrConst.MSKM_KBN_NEW); // 1:新規申込
			}
			// IT2-2012-0001106 2012/06/28 h.iwamoto
			// 2012/12/05 Otsuka
// ANK-3078-00-00 MOD START
//			else if (action.matches(ACTION_SEARCH) || action.matches(ACTION_SEARCH_REDIRECT))
			else if (action.matches(ACTION_SEARCH) || action.matches(ACTION_SEARCH_REDIRECT) || action.matches(ACTION_AMZN))
// ANK-3078-00-00 MOD END
			{
				setBeanValueString(i_web_new_bean, CommonInfoCFConst.MSKM_KBN_06, JFUStrConst.MSKM_KBN_NEW); // 1:新規申込
			}
			// 2012/12/05 Otsuka end

			// 20120621 fromPASCOで遷移時、申込区分が2のところ、1になってしまうため、コメントアウト。
			/*
			else
			{
				setBeanValueString(i_web_new_bean, CommonInfoCFConst.MSKM_KBN_06, "1"); // 0:未定
			}
			*/

			// 販売店区分
			// 住宅情報を取得する
			X31SDataBeanAccess jutakuInfoBean = getJutakuInfo(i_web_new_bean);
			String tkjcompCd = jutakuInfoBean.sendMessageString(CommonInfoCFConst.TKJCOMP_CD_59, X31CWebConst.DATABEAN_GET_VALUE);

			if(tkjcompCd != null && !JFUStrConst.EMPTY.equals(tkjcompCd))
			{
				setBeanValueString(i_web_new_bean, CommonInfoCFConst.HANBAI_TYPE_06, JFUStrConst.HNBAI_TYPE_TKJCOMP); // 3:提携住宅会社
			}
			else
			{
				setBeanValueString(i_web_new_bean, CommonInfoCFConst.HANBAI_TYPE_06, JFUStrConst.HNBAI_TYPE_CON); // 0:コンシューマ
			}
			// ANK-4551-00-00
			// 申込経路 ＜初期値設定＞ (ANK-4551-00-00)
			setBeanValueString(i_web_new_bean, CommonInfoCFConst.MSKM_ROUTE_06, JFUStrConst.EMPTY);

			// ■                   ■
			// ■ PASCO項目について ■
			// ■                   ■
			node_base = CommonInfoCFConst.PASCO_INFO + "[0].";

			// ----------------------------------------------------------------
			// PASCO 情報初期化 -----------------------------------------------
			if(!ACTION_FROMPASCOTKJCOMP.equals(action))
			{
				node_path = node_base + CommonInfoCFConst.PCD_07;
				clearValueAtBean(i_web_new_bean, node_path);
			}
			node_path = node_base + CommonInfoCFConst.STATE_07;
			clearValueAtBean(i_web_new_bean, node_path);
			node_path = node_base + CommonInfoCFConst.BNCHI_07;
			clearValueAtBean(i_web_new_bean, node_path);
			node_path = node_base + CommonInfoCFConst.CHO_AZA_07;
			clearValueAtBean(i_web_new_bean, node_path);
			node_path = node_base + CommonInfoCFConst.COORD_X_07;
			clearValueAtBean(i_web_new_bean, node_path);
			node_path = node_base + CommonInfoCFConst.COORD_Y_07;
			clearValueAtBean(i_web_new_bean, node_path);
			node_path = node_base + CommonInfoCFConst.ADDCD_07;
			clearValueAtBean(i_web_new_bean, node_path);
			node_path = node_base + CommonInfoCFConst.COORD6_X_07;
			clearValueAtBean(i_web_new_bean, node_path);
			node_path = node_base + CommonInfoCFConst.COORD6_Y_07;
			clearValueAtBean(i_web_new_bean, node_path);
			node_path = node_base + CommonInfoCFConst.HF_HCD_07;
			clearValueAtBean(i_web_new_bean, node_path);
			node_path = node_base + CommonInfoCFConst.TV_HCD_07;
			clearValueAtBean(i_web_new_bean, node_path);
			node_path = node_base + CommonInfoCFConst.MOBILE_10G_07;
			clearValueAtBean(i_web_new_bean, node_path);
			node_path = node_base + CommonInfoCFConst.MOBILE_1G_07;
			clearValueAtBean(i_web_new_bean, node_path);
			node_path = node_base + CommonInfoCFConst.MOBILE_200M_07;
			clearValueAtBean(i_web_new_bean, node_path);
			node_path = node_base + CommonInfoCFConst.MOBILE_100M_07;
			clearValueAtBean(i_web_new_bean, node_path);
			node_path = node_base + CommonInfoCFConst.TV_07;
			clearValueAtBean(i_web_new_bean, node_path);
			node_path = node_base + CommonInfoCFConst.TEL_07;
			clearValueAtBean(i_web_new_bean, node_path);

			// ANK-2137-00-00 add START
			node_path = node_base + CommonInfoCFConst.OFFICEEO_07;
			clearValueAtBean(i_web_new_bean, node_path);
			node_path = node_base + CommonInfoCFConst.EO64EA_07;
			clearValueAtBean(i_web_new_bean, node_path);
			node_path = node_base + CommonInfoCFConst.MEGAEA_07;
			clearValueAtBean(i_web_new_bean, node_path);
			node_path = node_base + CommonInfoCFConst.HT_RES_07;
			clearValueAtBean(i_web_new_bean, node_path);
			node_path = node_base + CommonInfoCFConst.EO64EA_RES_07;
			clearValueAtBean(i_web_new_bean, node_path);
			node_path = node_base + CommonInfoCFConst.MEGAEA_RES_07;
			clearValueAtBean(i_web_new_bean, node_path);
			node_path = node_base + CommonInfoCFConst.TV_RES_07;
			clearValueAtBean(i_web_new_bean, node_path);
			node_path = node_base + CommonInfoCFConst.TEL_RES_07;
			clearValueAtBean(i_web_new_bean, node_path);
			node_path = node_base + CommonInfoCFConst.ADRS_07;
			clearValueAtBean(i_web_new_bean, node_path);
			// ANK-2137-00-00 add END

			// ----------------------------------------------------------------
			// PASCO 情報引継ぎ  ----------------------------------------------
			if (action.compareTo(ACTION_FROMPASCO) == 0)
			{ // パスコからの遷移時
				Object obj_zip = null;
				Object obj_add1 = null;
				Object obj_add2 = null;
				Object obj_add3 = null;
				Object obj_x = null;
				Object obj_y = null;
				Object obj_z = null;
				Object obj_x6 = null;
				Object obj_y6 = null;
				Object obj_longitude = null;
				Object obj_latitude = null;
				Object obj_intro_ftth = null;
				Object obj_intro_eo_tv = null;
				Object obj_flag_10g = null;
				Object obj_flag_1g = null;
				Object obj_flag_pre = null;
				Object obj_flag_hf = null;
				Object obj_flag_tv = null;
				Object obj_flag_tel = null;
				// obj_flag_of, obj_flag_64, obj_flag_ma, obj_hf, obj_eo_64, obj_ma, obj_tv, obj_tel;

				obj_zip = i_posted_requests.get(POST_ID_ZIP); // 郵便番号
				obj_add1 = i_posted_requests.get(POST_ID_ADD_1); // 都道府県
				obj_add2 = i_posted_requests.get(POST_ID_ADD_2); // 市区町村・番地
				obj_add3 = i_posted_requests.get(POST_ID_ADD_3); // 丁字名
				obj_x = i_posted_requests.get(POST_ID_X); // x座標
				obj_y = i_posted_requests.get(POST_ID_Y); // y座標
				obj_z = i_posted_requests.get(POST_ID_Z); // 住所コード
				obj_x6 = i_posted_requests.get(POST_ID_X6); // x座標（平面直角座標第Y系）
				obj_y6 = i_posted_requests.get(POST_ID_Y6); // y座標（平面直角座標第Y系）
				obj_longitude = i_posted_requests.get(POST_ID_LONGITUDE); // 経度（新設）
				obj_latitude = i_posted_requests.get(POST_ID_LATITUDE); // 緯度（新設）
				obj_intro_ftth = i_posted_requests.get(POST_ID_INTRO_FTTH); // HF凡例コード
				obj_intro_eo_tv = i_posted_requests.get(POST_ID_INTRO_EO_TV); // 光テレビ凡例コード
				obj_flag_10g = i_posted_requests.get(POST_ID_FLAG_10G); // 10G申込可能フラグ
				obj_flag_1g = i_posted_requests.get(POST_ID_FLAG_1G); // 1G申込可能フラグ
				obj_flag_pre = i_posted_requests.get(POST_ID_FLAG_PRE); // 100Mpre申込可能フラグ
				obj_flag_hf = i_posted_requests.get(POST_ID_FLAG_HF); // 100M申込可能フラグ
				//obj_flag_of     = i_posted_requests.get(POST_ID_FLAG_OF);       // ビジネス光申込可能フラグ
				//obj_flag_64     = i_posted_requests.get(POST_ID_FLAG_64);       // 64エア申込可能フラグ
				//obj_flag_ma     = i_posted_requests.get(POST_ID_FLAG_MA);       // メガエア申込可能フラグ
				obj_flag_tv = i_posted_requests.get(POST_ID_FLAG_TV); // 光テレビ申込可能フラグ
				obj_flag_tel = i_posted_requests.get(POST_ID_FLAG_TEL); // 光電話申込可能フラグ
				//obj_hf          = i_posted_requests.get(POST_ID_HF);            // ホームタイプ申込指定フラグ
				//obj_eo_64       = i_posted_requests.get(POST_ID_EO_64);         // 64エア申込指定フラグ
				//obj_ma          = i_posted_requests.get(POST_ID_MA);            // メガエア申込指定フラグ
				//obj_tv          = i_posted_requests.get(POST_ID_TV);            // 光テレビ申込指定フラグ
				//obj_tel         = i_posted_requests.get(POST_ID_TEL);           // 光電話申込指定フラグ

				DEBUG_LOG.info("----- パスコからのパラメータを表示 -----");
				DEBUG_LOG.info("i_posted_requests=" + i_posted_requests.toString());
				DEBUG_LOG.info("obj_zip=" + obj_zip);
				DEBUG_LOG.info("obj_add1=" + obj_add1);
				DEBUG_LOG.info("obj_add2=" + obj_add2);
				DEBUG_LOG.info("obj_add3=" + obj_add3);
				DEBUG_LOG.info("obj_x=" + obj_x);
				DEBUG_LOG.info("obj_y=" + obj_y);
				DEBUG_LOG.info("obj_z=" + obj_z);
				DEBUG_LOG.info("obj_x6=" + obj_x6);
				DEBUG_LOG.info("obj_y6=" + obj_y6);
				DEBUG_LOG.info("obj_longitude=" + obj_longitude);
				DEBUG_LOG.info("obj_latitude=" + obj_latitude);
				DEBUG_LOG.info("obj_intro_ftth=" + obj_intro_ftth);
				DEBUG_LOG.info("obj_intro_eo_tv=" + obj_intro_eo_tv);

				DEBUG_LOG.info("obj_flag_10g=" + obj_flag_10g);
				DEBUG_LOG.info("obj_flag_1g=" + obj_flag_1g);
				DEBUG_LOG.info("obj_flag_pre=" + obj_flag_pre);
				DEBUG_LOG.info("obj_flag_hf=" + obj_flag_hf);
				DEBUG_LOG.info("obj_flag_tv=" + obj_flag_tv);
				DEBUG_LOG.info("obj_flag_tel=" + obj_flag_tel);

				node_path = node_base + CommonInfoCFConst.PCD_07;
				setBeanValueString(i_web_new_bean, node_path, obj_zip); // 郵便番号
				node_path = node_base + CommonInfoCFConst.STATE_07;
				setBeanValueString(i_web_new_bean, node_path, obj_add1); // 都道府県
				node_path = node_base + CommonInfoCFConst.BNCHI_07;
				setBeanValueString(i_web_new_bean, node_path, obj_add2); // 市区町村・番地
				node_path = node_base + CommonInfoCFConst.CHO_AZA_07;
				setBeanValueString(i_web_new_bean, node_path, obj_add3); // 丁字名
				node_path = node_base + CommonInfoCFConst.COORD_X_07;
				setBeanValueString(i_web_new_bean, node_path, obj_x); // x座標
				node_path = node_base + CommonInfoCFConst.COORD_Y_07;
				setBeanValueString(i_web_new_bean, node_path, obj_y); // y座標
				node_path = node_base + CommonInfoCFConst.ADDCD_07;
				setBeanValueString(i_web_new_bean, node_path, obj_z); // 住所コード
				node_path = node_base + CommonInfoCFConst.COORD6_X_07;
				setBeanValueString(i_web_new_bean, node_path, obj_x6); // x座標（平面直角座標 第Y系）
				node_path = node_base + CommonInfoCFConst.COORD6_Y_07;
				setBeanValueString(i_web_new_bean, node_path, obj_y6); // y座標（平面直角座標 第Y系）
				node_path = node_base + CommonInfoCFConst.LGTD_07;
				setBeanValueString(i_web_new_bean, node_path, obj_longitude); // 経度（新設）
				node_path = node_base + CommonInfoCFConst.LTTD_07;
				setBeanValueString(i_web_new_bean, node_path, obj_latitude); // 緯度（新設）
				node_path = node_base + CommonInfoCFConst.HF_HCD_07;
				setBeanValueString(i_web_new_bean, node_path, obj_intro_ftth); // HF凡例コード
				node_path = node_base + CommonInfoCFConst.TV_HCD_07;
				setBeanValueString(i_web_new_bean, node_path, obj_intro_eo_tv); // 光テレビ凡例コード
				node_path = node_base + CommonInfoCFConst.MOBILE_10G_07;
				setBeanValueString(i_web_new_bean, node_path, obj_flag_10g); // 10G申込可能フラグ
				node_path = node_base + CommonInfoCFConst.MOBILE_1G_07;
				setBeanValueString(i_web_new_bean, node_path, obj_flag_1g); // 1G申込可能フラグ
				node_path = node_base + CommonInfoCFConst.MOBILE_200M_07;
				setBeanValueString(i_web_new_bean, node_path, obj_flag_pre); // 200メガ申込可能フラグ
				node_path = node_base + CommonInfoCFConst.MOBILE_100M_07;
				setBeanValueString(i_web_new_bean, node_path, obj_flag_hf); // 100メガ申込可能フラグ
				node_path = node_base + CommonInfoCFConst.TV_07;
				setBeanValueString(i_web_new_bean, node_path, obj_flag_tv); // 光テレビ申込可能フラグ
				node_path = node_base + CommonInfoCFConst.TEL_07;
				setBeanValueString(i_web_new_bean, node_path, obj_flag_tel); // 光電話申込可能フラグ
			}
			// アクションが「fromPascoTkjcomp」(提携住宅会社のエリア外だった場合)
			else if(ACTION_FROMPASCOTKJCOMP.equals(action))
			{
				// パスコからの遷移時
				Object obj_x = null;
				Object obj_y = null;
				Object obj_z = null;
				Object obj_x6 = null;
				Object obj_y6 = null;
				Object obj_longitude = null;
				Object obj_latitude = null;
				Object obj_intro_ftth = null;
				Object obj_intro_eo_tv = null;
				Object obj_flag_10g = null;
				Object obj_flag_1g = null;
				Object obj_flag_pre = null;
				Object obj_flag_hf = null;
				Object obj_flag_tv = null;
				Object obj_flag_tel = null;
				Object obj_flag_of = null;
				Object obj_flag_64 = null;
				Object obj_flag_ma = null;
				Object obj_hf = null;
				Object obj_eo_64 = null;
				Object obj_ma = null;
				Object obj_tv = null;
				Object obj_tel = null;
				Object adrs = null;

				adrs = i_posted_requests.get(POST_ID_ADRS); // 住所
				obj_x = i_posted_requests.get(POST_ID_X); // x座標
				obj_y = i_posted_requests.get(POST_ID_Y); // y座標
				obj_z = i_posted_requests.get(POST_ID_Z); // 住所コード
				obj_x6 = i_posted_requests.get(POST_ID_X6); // x座標（平面直角座標第Y系）
				obj_y6 = i_posted_requests.get(POST_ID_Y6); // y座標（平面直角座標第Y系）
				obj_longitude = i_posted_requests.get(POST_ID_LONGITUDE); // 経度（新設）
				obj_latitude = i_posted_requests.get(POST_ID_LATITUDE); // 緯度（新設）
				obj_intro_ftth = i_posted_requests.get(POST_ID_INTRO_FTTH); // HF凡例コード
				obj_intro_eo_tv = i_posted_requests.get(POST_ID_INTRO_EO_TV); // 光テレビ凡例コード
				obj_flag_10g = i_posted_requests.get(POST_ID_FLAG_10G); // 10G申込可能フラグ
				obj_flag_1g = i_posted_requests.get(POST_ID_FLAG_1G); // 1G申込可能フラグ
				obj_flag_pre = i_posted_requests.get(POST_ID_FLAG_PRE); // 100Mpre申込可能フラグ
				obj_flag_hf = i_posted_requests.get(POST_ID_FLAG_HF); // 100M申込可能フラグ
				obj_flag_of     = i_posted_requests.get(POST_ID_FLAG_OF);       // ビジネス光申込可能フラグ
				obj_flag_64     = i_posted_requests.get(POST_ID_FLAG_64);       // 64エア申込可能フラグ
				obj_flag_ma     = i_posted_requests.get(POST_ID_FLAG_MA);       // メガエア申込可能フラグ
				obj_flag_tv = i_posted_requests.get(POST_ID_FLAG_TV); // 光テレビ申込可能フラグ
				obj_flag_tel = i_posted_requests.get(POST_ID_FLAG_TEL); // 光電話申込可能フラグ
				obj_hf          = i_posted_requests.get(POST_ID_HF);            // ホームタイプ申込指定フラグ
				obj_eo_64       = i_posted_requests.get(POST_ID_EO_64);         // 64エア申込指定フラグ
				obj_ma          = i_posted_requests.get(POST_ID_MA);            // メガエア申込指定フラグ
				obj_tv          = i_posted_requests.get(POST_ID_TV);            // 光テレビ申込指定フラグ
				obj_tel         = i_posted_requests.get(POST_ID_TEL);           // 光電話申込指定フラグ

				DEBUG_LOG.info("----- パスコからのパラメータを表示 -----");
				DEBUG_LOG.info("i_posted_requests=" + i_posted_requests.toString());
				DEBUG_LOG.info("adrs=" + adrs);
				DEBUG_LOG.info("obj_x=" + obj_x);
				DEBUG_LOG.info("obj_y=" + obj_y);
				DEBUG_LOG.info("obj_z=" + obj_z);
				DEBUG_LOG.info("obj_x6=" + obj_x6);
				DEBUG_LOG.info("obj_y6=" + obj_y6);
				DEBUG_LOG.info("obj_longitude=" + obj_longitude);
				DEBUG_LOG.info("obj_latitude=" + obj_latitude);
				DEBUG_LOG.info("obj_intro_ftth=" + obj_intro_ftth);
				DEBUG_LOG.info("obj_intro_eo_tv=" + obj_intro_eo_tv);
				DEBUG_LOG.info("obj_flag_10g=" + obj_flag_10g);
				DEBUG_LOG.info("obj_flag_1g=" + obj_flag_1g);
				DEBUG_LOG.info("obj_flag_pre=" + obj_flag_pre);
				DEBUG_LOG.info("obj_flag_hf=" + obj_flag_hf);
				DEBUG_LOG.info("obj_flag_of=" + obj_flag_of);
				DEBUG_LOG.info("obj_flag_64=" + obj_flag_64);
				DEBUG_LOG.info("obj_flag_ma=" + obj_flag_ma);
				DEBUG_LOG.info("obj_flag_tv=" + obj_flag_tv);
				DEBUG_LOG.info("obj_flag_tel=" + obj_flag_tel);
				DEBUG_LOG.info("obj_hf=" + obj_hf);
				DEBUG_LOG.info("obj_eo_64=" + obj_eo_64);
				DEBUG_LOG.info("obj_ma=" + obj_ma);
				DEBUG_LOG.info("obj_tv=" + obj_tv);
				DEBUG_LOG.info("obj_tel=" + obj_tel);

				node_path = node_base + CommonInfoCFConst.ADRS_07;
				setBeanValueString(i_web_new_bean, node_path, adrs); // 住所
				node_path = node_base + CommonInfoCFConst.COORD_X_07;
				setBeanValueString(i_web_new_bean, node_path, obj_x); // x座標
				node_path = node_base + CommonInfoCFConst.COORD_Y_07;
				setBeanValueString(i_web_new_bean, node_path, obj_y); // y座標
				node_path = node_base + CommonInfoCFConst.ADDCD_07;
				setBeanValueString(i_web_new_bean, node_path, obj_z); // 住所コード
				node_path = node_base + CommonInfoCFConst.COORD6_X_07;
				setBeanValueString(i_web_new_bean, node_path, obj_x6); // x座標（平面直角座標 第Y系）
				node_path = node_base + CommonInfoCFConst.COORD6_Y_07;
				setBeanValueString(i_web_new_bean, node_path, obj_y6); // y座標（平面直角座標 第Y系）
				node_path = node_base + CommonInfoCFConst.LGTD_07;
				setBeanValueString(i_web_new_bean, node_path, obj_longitude); // 経度（新設）
				node_path = node_base + CommonInfoCFConst.LTTD_07;
				setBeanValueString(i_web_new_bean, node_path, obj_latitude); // 緯度（新設）
				node_path = node_base + CommonInfoCFConst.HF_HCD_07;
				setBeanValueString(i_web_new_bean, node_path, obj_intro_ftth); // HF凡例コード
				node_path = node_base + CommonInfoCFConst.TV_HCD_07;
				setBeanValueString(i_web_new_bean, node_path, obj_intro_eo_tv); // 光テレビ凡例コード
				node_path = node_base + CommonInfoCFConst.MOBILE_10G_07;
				setBeanValueString(i_web_new_bean, node_path, obj_flag_10g); // 10G申込可能フラグ
				node_path = node_base + CommonInfoCFConst.MOBILE_1G_07;
				setBeanValueString(i_web_new_bean, node_path, obj_flag_1g); // 1G申込可能フラグ
				node_path = node_base + CommonInfoCFConst.MOBILE_200M_07;
				setBeanValueString(i_web_new_bean, node_path, obj_flag_pre); // 200メガ申込可能フラグ
				node_path = node_base + CommonInfoCFConst.MOBILE_100M_07;
				setBeanValueString(i_web_new_bean, node_path, obj_flag_hf); // 100メガ申込可能フラグ
				node_path = node_base + CommonInfoCFConst.OFFICEEO_07;
				setBeanValueString(i_web_new_bean, node_path, obj_flag_of); // オフィス光申込可能フラグ
				node_path = node_base + CommonInfoCFConst.EO64EA_07;
				setBeanValueString(i_web_new_bean, node_path, obj_flag_64); // 64エア申込可能フラグ
				node_path = node_base + CommonInfoCFConst.MEGAEA_07;
				setBeanValueString(i_web_new_bean, node_path, obj_flag_ma); // メガエア申込可能フラグ
				node_path = node_base + CommonInfoCFConst.TV_07;
				setBeanValueString(i_web_new_bean, node_path, obj_flag_tv); // 光テレビ申込可能フラグ
				node_path = node_base + CommonInfoCFConst.TEL_07;
				setBeanValueString(i_web_new_bean, node_path, obj_flag_tel); // 光電話申込可能フラグ
				node_path = node_base + CommonInfoCFConst.HT_RES_07;
				setBeanValueString(i_web_new_bean, node_path, obj_hf); // ホームタイプ申込指定フラグ
				node_path = node_base + CommonInfoCFConst.EO64EA_RES_07;
				setBeanValueString(i_web_new_bean, node_path, obj_eo_64); // 64エア申込指定フラグ
				node_path = node_base + CommonInfoCFConst.MEGAEA_RES_07;
				setBeanValueString(i_web_new_bean, node_path, obj_ma); // メガエア申込指定フラグ
				node_path = node_base + CommonInfoCFConst.TV_RES_07;
				setBeanValueString(i_web_new_bean, node_path, obj_tv); // 光テレビ申込指定フラグ
				node_path = node_base + CommonInfoCFConst.TEL_RES_07;
				setBeanValueString(i_web_new_bean, node_path, obj_tel); // 光電話申込指定フラグ

			}

			// ■                      ■
			// ■ 利用場所項目について ■ (ここには PASCO情報を格納する)
			// ■                      ■
			node_base = CommonInfoCFConst.RIYOBASHO_INFO + "[0].";

			// ----------------------------------------------------------------
			// 利用場所 情報初期化 --------------------------------------------
			node_path = node_base + CommonInfoCFConst.USEPLACE_PCD1_08;
			clearValueAtBean(i_web_new_bean, node_path);
			node_path = node_base + CommonInfoCFConst.USEPLACE_PCD2_08;
			clearValueAtBean(i_web_new_bean, node_path);
			node_path = node_base + CommonInfoCFConst.USEPLACE_STATE_08;
			clearValueAtBean(i_web_new_bean, node_path);
			node_path = node_base + CommonInfoCFConst.USEPLACE_CHO_BNCHI_08;
			clearValueAtBean(i_web_new_bean, node_path);
			node_path = node_base + CommonInfoCFConst.USEPLACE_AZA_08;
			clearValueAtBean(i_web_new_bean, node_path);
			node_path = node_base + CommonInfoCFConst.USEPLACE_TTM_08;
			clearValueAtBean(i_web_new_bean, node_path);
			node_path = node_base + CommonInfoCFConst.USEPLACE_RRM_08;
			clearValueAtBean(i_web_new_bean, node_path);
			node_path = node_base + CommonInfoCFConst.USEPLACE_TELNO1_08;
			clearValueAtBean(i_web_new_bean, node_path);
			node_path = node_base + CommonInfoCFConst.USEPLACE_TELNO2_08;
			clearValueAtBean(i_web_new_bean, node_path);
			node_path = node_base + CommonInfoCFConst.USEPLACE_TELNO3_08;
			clearValueAtBean(i_web_new_bean, node_path);

			// ----------------------------------------------------------------
			// 利用場所 情報引継ぎ  -------------------------------------------
			if (action.compareTo(ACTION_FROMPASCO) == 0)
			{ // パスコからの遷移時にセットします
				Object obj_zip = null;
				Object obj_add1 = null;
				Object obj_add2 = null;
				Object obj_add3 = null;
				;
				String zip7 = "";
				String zip3 = "";
				String zip4 = "";
				int index = 3;

				obj_zip = i_posted_requests.get(POST_ID_ZIP); // 郵便番号
				obj_add1 = i_posted_requests.get(POST_ID_ADD_1); // 都道府県
				obj_add2 = i_posted_requests.get(POST_ID_ADD_2); // 市区町村・番地
				obj_add3 = i_posted_requests.get(POST_ID_ADD_3); // 丁字名

				zip7 = ((obj_zip != null) ? (obj_zip.toString()) : (""));
				// 郵便番号上３桁
				index = zip7.length();
				if (index > 3)
				{
					index = 3;
				}
				zip3 = zip7.substring(0, index);
				// 郵便番号下４桁
				if (zip7.length() >= 4)
				{
					zip4 = zip7.substring(3);
				}

				node_path = node_base + CommonInfoCFConst.USEPLACE_PCD1_08;
				setBeanValueString(i_web_new_bean, node_path, zip3);
				node_path = node_base + CommonInfoCFConst.USEPLACE_PCD2_08;
				setBeanValueString(i_web_new_bean, node_path, zip4);
				node_path = node_base + CommonInfoCFConst.USEPLACE_STATE_08;
				setBeanValueString(i_web_new_bean, node_path, obj_add1);
				node_path = node_base + CommonInfoCFConst.USEPLACE_AZA_08;
				setBeanValueString(i_web_new_bean, node_path, obj_add2);
				node_path = node_base + CommonInfoCFConst.USEPLACE_CHO_BNCHI_08;
				setBeanValueString(i_web_new_bean, node_path, obj_add3);
			}

			// ■                          ■
			// ■ リダイレクト項目について ■
			// ■                          ■
			node_base = CommonInfoCFConst.REDIRECT_INFO + "[0].";

			// ◆アクション◆
			node_path = node_base + CommonInfoCFConst.RED_ACTION_17;
			setBeanValueString(i_web_new_bean, node_path, i_posted_requests.get(POST_ID_ACTION));

			// ◆KCN申込フラグ◆
			node_path = node_base + CommonInfoCFConst.RED_KCN_MSKM_17;
			if (action.compareTo(ACTION_CKAMT) == 0)
			{ // K-CAT申込1
				setBeanValueString(i_web_new_bean, node_path, RED_KCN_MSKM_K_CAT);
			}
			//【ANK-1444-00-00】2013/02/15 T.Fujita Delete Start
			//else if ((action.compareTo("kcn_new") == 0) || (action.compareTo("kcn_add") == 0))
			//{ // KCN申込
			//	setBeanValueString(i_web_new_bean, node_path, RED_KCN_MSKM_KCN);
			//}
			//【ANK-1444-00-00】2013/02/15 T.Fujita Delete End
			// 2012/05/19 KCN申込フラグクリア処理削除 STRAT
			//			else
			//			{ // その他
			//				clearValueAtBean(i_web_new_bean, node_path);
			//			}
			// 2012/05/19 KCN申込フラグクリア処理削除 END

			// -----2012/05/10 PASCOパラメータスタブ対応 h.iwamoto START-----
			//			if (action.compareTo(ACTION_FROMPASCO) == 0){
			//				// 遷移パターン：エリア検索(1)を設定する
			//				setBeanValueString(i_web_new_bean, CommonInfoCFConst.REDIRECT_INFO + "[0]." + CommonInfoCFConst.RED_TRANSFER_PTN_17,
			//						RED_TRANSFER_PTN_AREA_KENSAKU);
			//			}
			// -----2012/05/10 PASCOパラメータスタブ対応 h.iwamoto END-----

			// ◆郵便番号（上|下）◆
			/** 2012.2.1 エリア検索からの遷移時の処理を追加 START */
			node_path = node_base + CommonInfoCFConst.RED_PCD1_17;
			if (i_posted_requests.get(POST_ID_ZIP_CODE_1) != null && !"".equals(i_posted_requests.get(POST_ID_ZIP_CODE_1)))
			{
				setBeanValueString(i_web_new_bean, node_path, i_posted_requests.get(POST_ID_ZIP_CODE_1));
			}
			else if (i_posted_requests.get(POST_ID_AREA_ZIP1) != null && !"".equals(i_posted_requests.get(POST_ID_AREA_ZIP1)))
			{
				setBeanValueString(i_web_new_bean, node_path, i_posted_requests.get(POST_ID_AREA_ZIP1));
			}
			node_path = node_base + CommonInfoCFConst.RED_PCD2_17;
			if (i_posted_requests.get(POST_ID_ZIP_CODE_2) != null && !"".equals(i_posted_requests.get(POST_ID_ZIP_CODE_2)))
			{
				setBeanValueString(i_web_new_bean, node_path, i_posted_requests.get(POST_ID_ZIP_CODE_2));
			}
			else if (i_posted_requests.get(POST_ID_AREA_ZIP2) != null && !"".equals(i_posted_requests.get(POST_ID_AREA_ZIP2)))
			{
				setBeanValueString(i_web_new_bean, node_path, i_posted_requests.get(POST_ID_AREA_ZIP2));
			}
			/** 2012.2.1 エリア検索からの遷移時の処理を追加 END */

			// 紹介者コードの取得
			String intrCd =
					(String)(i_web_new_bean.getDataBeanArray(CommonInfoCFConst.REDIRECT_INFO)).getDataBean(0).sendMessageString(
							CommonInfoCFConst.RED_INTRODUCE_17, X31CWebConst.DATABEAN_GET_VALUE);
			if (JFUStrConst.EMPTY.equals(intrCd))
			{
				// 紹介者コードに値が未設定の場合のみ、設定を行う（既に値設定されていれば上書きを行わない）
				// ◆紹介者コード◆
				node_path = node_base + CommonInfoCFConst.RED_INTRODUCE_17;
				setBeanValueString(i_web_new_bean, node_path, i_posted_requests.get(POST_ID_INTRODUCE));
			}

			// ◆WiMAXROM◆
			node_path = node_base + CommonInfoCFConst.RED_WIMAXROM_17;
			clearValueAtBean(i_web_new_bean, node_path);
			if (action.compareTo(ACTION_WIWH) == 0 || action.compareTo(ACTION_REDIRECT_UQ) == 0 )
			{
				// UQ遷移の場合、白ロム
				setBeanValueString(i_web_new_bean, node_path, JFUStrConst.WIMAXROM_WHITE);
			}
			// 【ANK-2205-00-00】ＷｉＭＡＸ新規販売終了対応 START
//			else if (action.matches("wimax_(new|add)"))
//			{
//				// その他の場合、黒ロム
//				setBeanValueString(i_web_new_bean, node_path, JFUStrConst.WIMAXROM_BLACK);
//			}
			// 【ANK-2205-00-00】ＷｉＭＡＸ新規販売終了対応 END

			// ■                            ■
			// ■ 以下、特記事項項目について ■
			// ■                            ■
			// 遷移パターン

			// IT2-2012-1790 2012/11/26 Otsuka start 遷移パターン削除対応

			// IT2-2012-0001754 Otsuka 2012/11/21 start
			// -（エリア検索）
			if (isSameGroup(action, TRANSFER_PTN_AREA))
			{
				// ナビゲーションパターンを設定
				setBeanValueString(i_web_new_bean, CommonInfoCFConst.REDIRECT_INFO + "[0]." + CommonInfoCFConst.NAVIGATOR_PTN_17,
						JFUStrConst.NAVI_PTN_AREA);
			}

			// -（マンション検索）
			if (isSameGroup(action, TRANSFER_PTN_MANSION))
			{
				// ナビゲーションパターンを設定
				setBeanValueString(i_web_new_bean, CommonInfoCFConst.REDIRECT_INFO + "[0]." + CommonInfoCFConst.NAVIGATOR_PTN_17,
						JFUStrConst.NAVI_PTN_MANSION);
			}
			// IT2-2012-0001754 Otsuka 2012/11/21 end

			// -（モバイル単独申込）
			if (isSameGroup(action, MOBILE_GROUP))
			{
				// ナビゲーションパターンを設定
				setBeanValueString(i_web_new_bean, CommonInfoCFConst.REDIRECT_INFO + "[0]." + CommonInfoCFConst.NAVIGATOR_PTN_17,
						JFUStrConst.NAVI_PTN_MOBILE_SNGL);
			}

			// -（料金シミュレーション）
			if (action.compareTo(ACTION_TOSIMULATE) == 0)
			{ // 料金シミュレーション
				// ナビゲーションパターンを設定
				setBeanValueString(i_web_new_bean, CommonInfoCFConst.REDIRECT_INFO + "[0]." + CommonInfoCFConst.NAVIGATOR_PTN_17,
						JFUStrConst.NAVI_PTN_SIML);

				// ST1-2012-0000034 2012/03/26 s.oono START
				// 申込区分を新規、申込回線サービスをホームタイプとする
				setBeanValueString(i_web_new_bean, CommonInfoCFConst.MSKM_KBN_06, JFUStrConst.MSKM_KBN_NEW);
				setBeanValueString(i_web_new_bean, CommonInfoCFConst.MSKM_KSN_SVC_06, JFUStrConst.MSKM_KSN_SVC_HOME);
				// ST1-2012-0000034 2012/03/26 s.oono END
			}
			// IT2-2012-1790 2012/11/26 Otsuka end

			// モバイルコースについて

			// -（wifi）
			// 【ANK-2421-00-00】ＷｉＦｉスポットとＢＢモバイルポイントのサービス終了対応 START
//			if ((action.compareTo(ACTION_WIFI_NEW) == 0) // eoモバイルWi-Fiスポット新規申込
//					|| (action.compareTo(ACTION_WIFI_ADD) == 0))
//			{ // eoモバイルWi-Fiスポット追加申込
//				setBeanValueString(i_web_new_bean, CommonInfoCFConst.EOMOBILE + "[0]." + CommonInfoCFConst.MOBILE_COURSE_14, MOBILE_COURSE_WIFI);
//			}
			// 【ANK-2421-00-00】ＷｉＦｉスポットとＢＢモバイルポイントのサービス終了対応 END

			// -（3G 7.2M）
			if ((action.compareTo(ACTION_3G72_NEW) == 0) // eoモバイル3G7.2Mコース新規申込
					|| (action.compareTo(ACTION_3G72_ADD) == 0))
			{ 
				// eoモバイル3G7.2Mコース追加申込
				// 【ANK-1992-00-00】eoモバイル7.2M USBタイプの新規受付終了対応
				//setBeanValueString(i_web_new_bean, CommonInfoCFConst.EOMOBILE + "[0]." + CommonInfoCFConst.MOBILE_COURSE_14, MOBILE_COURSE_3G_7_2M);
			}

			// 【ANK-1526-00-00】7.2Mルータ枯渇対応、【ANK-1527-00-00】21MUSB提供終了対応 >>>
//			// -（3G 21M）
//			if ((action.compareTo(ACTION_3G21_NEW) == 0) // eoモバイル3G21Mコース新規申込
//					|| (action.compareTo(ACTION_3G21_ADD) == 0)) // eoモバイル3G21Mコース追加申込
//			{
//				setBeanValueString(i_web_new_bean, CommonInfoCFConst.EOMOBILE + "[0]." + CommonInfoCFConst.MOBILE_COURSE_14, MOBILE_COURSE_3G_21M);
//			}
			// 【ANK-1526-00-00】7.2Mルータ枯渇対応、【ANK-1527-00-00】21MUSB提供終了対応 <<<E

			// -（3G 未定）
			if ((action.compareTo(ACTION_3G_NEW) == 0) // eoモバイル3Gコース新規申込
					|| (action.compareTo(ACTION_3G_ADD) == 0)) // eoモバイル3Gコース追加申込
			{
				// 【ANK-2018-00-00】eoモバイル7.2M USBタイプの新規受付終了対応
				//setBeanValueString(i_web_new_bean, CommonInfoCFConst.EOMOBILE + "[0]." + CommonInfoCFConst.MOBILE_COURSE_14, MOBILE_COURSE_3G_MITEI);
			}

			// -（WiMax）
			// 【ANK-2205-00-00】ＷｉＭＡＸ新規販売終了対応 START
//			if ((action.compareTo(ACTION_WIMAX_NEW) == 0) // eoモバイルWiMAX新規申込
//					|| (action.compareTo(ACTION_WIMAX_ADD) == 0) // eoモバイルWiMAX追加申込
//					|| (action.compareTo(ACTION_WIWH) == 0) || (action.compareTo(ACTION_REDIRECT_UQ) == 0))
			if ((action.compareTo(ACTION_WIWH) == 0) || (action.compareTo(ACTION_REDIRECT_UQ) == 0))
			// 【ANK-2205-00-00】ＷｉＭＡＸ新規販売終了対応 END
			{ // eoモバイルWiMAX申込（UQ遷移）
				setBeanValueString(i_web_new_bean, CommonInfoCFConst.EOMOBILE + "[0]." + CommonInfoCFConst.MOBILE_COURSE_14, MOBILE_COURSE_WIMAX);
			}

			//【ANK-1445-00-00】add start
			// ANK-1513-00-00 7.2M光ハイブリッドの受付終了対応 >>>
			// -（3G 7.2M 光ハイブリッド）
			//			if (action.compareTo(ACTION_3G72HB_ADD) == 0) // eoモバイル 3G 7.2M 光ハイブリッド
			//			{
			//				setBeanValueString(i_web_new_bean, CommonInfoCFConst.EOMOBILE + "[0]." + CommonInfoCFConst.MOBILE_COURSE_14, MOBILE_COURSE_3G_7_2M_HB);
			//			}
			// ANK-1513-00-00 7.2M光ハイブリッドの受付終了対応 <<<E

			// -（モバイル 3G）
			if (isSameGroup(action, MOBILE_3G_GROUP))
			{
				// 3Gのアクションの場合、アクションを書き換える(update)
				setBeanValueString(i_web_new_bean, CommonInfoCFConst.REDIRECT_INFO + "[0]." + CommonInfoCFConst.RED_ACTION_17, ACTION_UPDATE);
			}
			//【ANK-1445-00-00】add end

			// ■                          ■
			// ■ お支払い方法項目について ■
			// ■                          ■
			// 取扱コード
			//【ANK-1444-00-00】2013/02/15 T.Fujita Delete Start
			//if ((action.compareTo(ACTION_KCN_NEW) == 0) // KCN新規申込
			//		|| (action.compareTo(ACTION_KCN_ADD) == 0)) // KCN追加申込
			//{
			// 2012.1.22 一時修正 Start ********************************************************************************************
			//setBeanValueString(i_web_new_bean, CommonInfoCFConst.PAYWAY_INFO + "[0]." + CommonInfoCFConst.TRAT_CD_15, TRAT_CD_KCN);
			//	setBeanValueString(i_web_new_bean, CommonInfoCFConst.REDIRECT_INFO + "[0]." + CommonInfoCFConst.NEW_TRAT_CD_WRIB_17, TRAT_CD_KCN);
			// 2012.1.22 一時修正 End **********************************************************************************************
			//}
			//【ANK-1444-00-00】2013/02/15 T.Fujita Delete End
		}
		// 20120831 ADD 外部連携キャンペーンコード対応
		if (isSameGroup(action, OUT_LINK_GROUP))
		{
			// プロパティから取得するキャンペーンコード
			String campainCd = "";

			// フルルKANSAI
			if (action.compareTo(ACTION_CMSTFN) == 0)
			{
				campainCd = JFUWebCommon.getDispText(JFUScreenConst.SCREEN_ID_FUW00144, ACTION_CMSTFN);
			}
			// フルルKANSAI（マンション・メゾン）
			else if (action.compareTo(ACTION_QG2KAN) == 0)
			{
				campainCd = JFUWebCommon.getDispText(JFUScreenConst.SCREEN_ID_FUW00144, ACTION_QG2KAN);
			}
			// 価格COM
			else if (action.compareTo(ACTION_JX4NM3) == 0)
			{
				campainCd = JFUWebCommon.getDispText(JFUScreenConst.SCREEN_ID_FUW00144, ACTION_JX4NM3);
			}
			// 価格COM（マンション・メゾン）
			else
			{
				campainCd = JFUWebCommon.getDispText(JFUScreenConst.SCREEN_ID_FUW00144, ACTION_XSGTN1);
			}

			// リダイレクト情報.表示用キャンペーンコードを設定
			setBeanValueString(i_web_new_bean, CommonInfoCFConst.REDIRECT_INFO + "[0]." + CommonInfoCFConst.DSP_CAMPAIGN_CD_17, campainCd);
		}
		// 20120831 END 外部連携キャンペーンコード対応
		
		//ANK-1584-00-00  frommineo
		if (isSameGroup(action, FROM_MINEO_GROUP))
		{
			// ナビゲーションパターンを設定
			setBeanValueString(i_web_new_bean, CommonInfoCFConst.REDIRECT_INFO + "[0]." + CommonInfoCFConst.NAVIGATOR_PTN_17,
					JFUStrConst.NAVI_PTN_AREA);
		}
		
		
		
		
		DEBUG_LOG.info("----- setKeepParameter End -----");
	}

	/**
	 * <DL>
	 * <DT>POST送信パラメタに合わせたリダイレクト先を選択します
	 * </DL>
	 * <p>
	 *
	 * @param i_web_new_bean
	 *            共有フォームBean[0].ＷＥＢ新規情報[0]へのアクセサ
	 * @param i_posted_requests
	 *            key=value のコレクション
	 * @throws Exception
	 */
	@SuppressWarnings("unchecked")
	private void selectRedirection(X31SDataBeanAccess i_web_new_bean, X31CHashMap i_posted_requests) throws Exception
	{
		Object tmp_obj = null;
		String action = null;

		DEBUG_LOG.info("----- selectRedirection Start -----");

		tmp_obj = i_posted_requests.get(POST_ID_ACTION);
		action = (tmp_obj == null) ? ("") : (tmp_obj.toString().trim());

		// 口座振替画面遷移フラグ(JSPで口座振替画面遷移のためのbodyを出力するためのフラグ)
		JFUWebCommon.setDataBeanItemByPath(getServiceFormBean(), FUW00144SFConst.KOUZAFURIKAE_TRANS_FLG, TRANS_FLG_OFF);
		// ソーシャル認証画面遷移フラグ(JSPでソーシャル認証画面遷移のためのbodyを出力するためのフラグ)
		JFUWebCommon.setDataBeanItemByPath(getServiceFormBean(), FUW00144SFConst.SOCIAL_LOGIN_TRANS_FLG, TRANS_FLG_OFF);

		/** エリア検索からの遷移時の処理を追加 START */
		// actionを取得出来ない時、遷移元を確認する。
		if (action == null || "".equals(action))
		{
			// 遷移元がエリア検索画面ならsearch_redirectを設定する。
			if (JFUScreenConst.SCREEN_ID_FUW00101.equals(i_posted_requests.get(BF_SCREEN_ID)))
			{
				action = ACTION_SEARCH_REDIRECT;
			}
			else if (JFUScreenConst.SCREEN_ID_FUW00115.equals(i_posted_requests.get(BF_SCREEN_ID)))
			{
				action = ACTION_TO_KOUZA_FURIKAE;
			}
			else if (JFUScreenConst.SCREEN_ID_FUW00129.equals(i_posted_requests.get(BF_SCREEN_ID)))
			{
				action = ACTION_SEARCH_REDIRECT;
			}
			else if (JFUScreenConst.SCREEN_ID_FUW00110.equals(i_posted_requests.get(BF_SCREEN_ID)))
			{
				action = ACTION_SOCIAL_LOGIN;
			}
		}
		/** エリア検索からの遷移時の処理を追加 END */

		if (action.length() <= 0)
		{
			// action の項目自体が無い場合
			DEBUG_LOG.info("-- none action parameter --");
			setRedirection(GAMEN_ID_KODATE_MANS_SENTAKU); // 戸建て・マンション選択
		}
		else
		{
			// ＵＩの表をそのままロジック化しています（解りやすさ優先）
			if (action.compareTo(ACTION_MNT_CHECK) == 0)
			{ // メンテナンス中チェック
				if (check4ActMntCheck(i_posted_requests))
				{
					// @リダイレクトURLの = 指定あり かつ、
					// リファラ(呼び元) が eonet.jp, eonet.ne.jp, k-opti.com のどれか
					// であれば指定URLへリダイレクトする
					urlRedirection(i_posted_requests.get(POST_ID_URL).toString());
				}
				else
				{
					// A@以外の場合
					setRedirection(GAMEN_ID_KODATE_MANS_SENTAKU); // その他と同じ扱い?
				}

			}
			else if (action.compareTo(ACTION_UPDATE) == 0)
			{ // 申込標準

				if (check4ActUpdate(i_posted_requests))
				{
					// @申込区分、入口画面ID、仮申込サービスが設定されていること
					setRedirection(GAMEN_ID_KODATE_MANS_SENTAKU);
				}
				else
				{
					// A@以外の場合でも遷移先は戸建て・マンション選択 とする
					setRedirection(GAMEN_ID_KODATE_MANS_SENTAKU);
				}
			}
			else if (action.compareTo(ACTION_SEARCH) == 0)
			{
				// エリア検索
				setRedirection(GAMEN_ID_AREA_KENSAKU_KODATE);
			}
			else if (action.compareTo(ACTION_SEARCH_REDIRECT) == 0)
			{
				// ｅｏエリア検索
				String pcd = getRedPostcode(i_web_new_bean);

				// 2012/3/6 PASCO設定パラメータ改修 START -----
				// 遷移元画面がエリア検索(FUW00101)ではない場合
				if (!JFUScreenConst.SCREEN_ID_FUW00101.equals(i_posted_requests.get(BF_SCREEN_ID)) &&
					!JFUScreenConst.SCREEN_ID_FUW00129.equals(i_posted_requests.get(BF_SCREEN_ID)))
				{
					if (pcd.length() > 0)
					{
						// @パラメータ郵便番号 1, 2 が設定されている場合 -> PASCO処理を実行する
						pascoRedirect(i_web_new_bean, pcd);
					}
					else
					{
						// A@以外の場合
						// setRedirection(GAMEN_ID_AREA_KENSAKU);

						// フロンティア画面へのリダイレクト設定
						setFrontierRedirect(this, FRONTIA_MSKM_NEW_HOME);
					}
				}
				else
				{
					// エリア検索画面から来た場合、PASCO処理を実行する
					pascoRedirect(i_web_new_bean, pcd);
				}
				// 2012/3/6 PASCO設定パラメータ改修 END   -----
			}
			else if (action.compareTo(ACTION_TO_KOUZA_FURIKAE) == 0)
			{
				// 口座振替受付(支払方法入力から遷移)
				kouzaFurikaeRedirect();
			}
			else if (action.compareTo(ACTION_MANSION_NEW) == 0)
			{ // マンション新規
				setRedirection(GAMEN_ID_MANS_KENSAKU_1_TODO);
			}
			else if (action.compareTo(ACTION_MANSION_ADD) == 0)
			{
				// マンション追加(eoID認証）
				// setRedirection(GAMEN_ID_EO_ID_NINSHO);
				JFUWebCommon.setDataBeanItemByPath(getServiceFormBean(), FUW00144SFConst.IDA_LOGIN_TRANS_FLG, TRANS_KBN_FIRST);
			}
			else if (action.compareTo(ACTION_MTNPROV) == 0)
			{
				// 検索パターンに"4"提供条件を設定する。
				setBeanValueString(i_web_new_bean, CommonInfoCFConst.MANSION_INFO + "[0]." + CommonInfoCFConst.SEARCH_PTN_16,
						JFUStrConst.MANSION_SEARCH_TKJK);

				// マンション検索→ eo光ネット提供条件へ遷移
				setRedirection(GAMEN_ID_MANS_KENSAKU_4_KEKKA);

				//マンション物件引継(リクエスト情報→マンション情報)
				setMansBukkenInfo(i_web_new_bean, i_posted_requests);
			}
			else if (action.compareTo(ACTION_MTPPROV) == 0)
			{
				// eo光電話提供条件へ遷移
				setRedirection(GAMEN_ID_EOTEL_TKJK);
			}

			//【ANK-0222-00-00】mod start ------------------------------------------------------
			//			else if (action.compareTo(ACTION_MANSION_SEARCH) == 0)

			// 2013/07/11 【内部障害No820】マンション検索、マンション資料請求のマンション検索4自動遷移対応 START
			else if ((action.compareTo(ACTION_MANSION_SEARCH) == 0) || (action.compareTo(ACTION_MANSION_SEARCH_REQ) == 0)
					|| action.compareTo(ACTION_M_SEARCH) == 0)
			// 2013/07/11 【内部障害No820】マンション検索、マンション資料請求のマンション検索4自動遷移対応 END

			//【ANK-0222-00-00】mod end   ------------------------------------------------------
			{ // マンション検索

				i_web_new_bean.sendMessageString(CommonInfoCFConst.MSKM_KBN_06,X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.MSKM_KBN_NEW);

				// IT2-2012-0001790 Otsuka 2012/12/06 start
				if (action.compareTo(ACTION_MANSION_SEARCH_REQ) == 0)
				{
					// 資料請求フラグに"1"を設定する。
					setBeanValueString(i_web_new_bean, CommonInfoCFConst.REDIRECT_INFO + "[0]." + CommonInfoCFConst.RED_PNF_SEIKY_17,
							JFUStrConst.PNF_SEIKY_ON);

					// 2013/07/11 【内部障害No820】マンション検索、マンション資料請求のマンション検索4自動遷移対応 START
//					// 検索パターンに"3"直接遷移を設定する。
//					setBeanValueString(i_web_new_bean, CommonInfoCFConst.MANSION_INFO + "[0]." + CommonInfoCFConst.SEARCH_PTN_16,
//							JFUStrConst.MANSION_SEARCH_DIRECT);
					// 2013/07/11 【内部障害No820】マンション検索、マンション資料請求のマンション検索4自動遷移対応 END

				}
				// IT2-2012-0001790 Otsuka 2012/12/06 end

				// 2013/07/11 【内部障害No820】マンション検索、マンション資料請求のマンション検索4自動遷移対応 START

//				if (check4ActZipSearch(i_posted_requests) && checkZipCode(i_posted_requests))
				if (check4ActZipSearch(i_posted_requests))
				{
				// 2013/07/11 【内部障害No820】マンション検索、マンション資料請求のマンション検索4自動遷移対応 END

					// 2013/07/11 【内部障害No820】マンション検索、マンション資料請求のマンション検索4自動遷移対応 START

					// アクションが販売店支援の場合
					if (action.compareTo(ACTION_M_SEARCH) == 0)
					{

						// 検索パターンに"1"郵便番号遷移を設定する。(FUW00134の「戻る」ボタンを非表示)
						setBeanValueString(i_web_new_bean, CommonInfoCFConst.MANSION_INFO + "[0]." + CommonInfoCFConst.SEARCH_PTN_16,
								JFUStrConst.MANSION_SEARCH_PCD);

					}
					else
					{

						// アクションが販売店支援以外(マンション検索/マンション検索(資料請求))の場合
						// 検索パターンに"3"直接遷移を設定する。(FUW00134の「戻る」ボタンを表示)
						setBeanValueString(i_web_new_bean, CommonInfoCFConst.MANSION_INFO + "[0]." + CommonInfoCFConst.SEARCH_PTN_16,
								JFUStrConst.MANSION_SEARCH_DIRECT);
					}

					// 2013/07/11 【内部障害No820】マンション検索、マンション資料請求のマンション検索4自動遷移対応 END

					// @パラメータ郵便番号 1, 2 が設定されているかつ該当住所が存在する場合
					setRedirection(GAMEN_ID_MANS_KENSAKU_4_KEKKA);

					// 郵便番号引継(リダイレクト情報→マンション情報)	//【ANK-0222-00-00】add
					setPcdToMansInfo(i_web_new_bean); //【ANK-0222-00-00】add
				}
				else
				{

					// 2013/07/11 【内部障害No820】マンション検索、マンション資料請求のマンション検索4自動遷移対応 START
					// 検索パターンに""(空文字)を設定する。
					setBeanValueString(i_web_new_bean, CommonInfoCFConst.MANSION_INFO + "[0]." + CommonInfoCFConst.SEARCH_PTN_16, "");
					// 2013/07/11 【内部障害No820】マンション検索、マンション資料請求のマンション検索4自動遷移対応 END

					// A@以外の場合
					setRedirection(GAMEN_ID_MANS_KENSAKU_1_TODO);
				}
			}
			else if (action.compareTo(ACTION_HOME_NEW) == 0)
			{ 
				// ホーム新規
				// setRedirection(GAMEN_ID_AREA_KENSAKU);
				setFrontierRedirect(this, FRONTIA_MSKM_NEW_HOME);
			}
			else if (action.compareTo(ACTION_HOME_ADD) == 0)
			{
				// ホーム追加(eoID認証）
				// /setRedirection(GAMEN_ID_EO_ID_NINSHO);
				JFUWebCommon.setDataBeanItemByPath(getServiceFormBean(), FUW00144SFConst.IDA_LOGIN_TRANS_FLG, TRANS_KBN_FIRST);
			}
			else if (action.compareTo(ACTION_HOMETV_NEW) == 0)
			{ 
				// eoTV新規
				// setRedirection(GAMEN_ID_AREA_KENSAKU);
				setFrontierRedirect(this, FRONTIA_MSKM_NEW_HOME);
			}
			else if (action.compareTo(ACTION_HOMETV_ADD) == 0)
			{
				// eoTV追加(eoID認証）
				// setRedirection(GAMEN_ID_EO_ID_NINSHO);
				JFUWebCommon.setDataBeanItemByPath(getServiceFormBean(), FUW00144SFConst.IDA_LOGIN_TRANS_FLG, TRANS_KBN_FIRST);
			}
			else if (action.compareTo(ACTION_JX4NM3) == 0)
			{ // 価格COM
				setRedirection(GAMEN_ID_EO_ID_UMU_KAKUNIN);
			}
			else if (action.compareTo(ACTION_FTQS7S) == 0)
			{ // ケイ・ウェーブ・ネット
				setRedirection(GAMEN_ID_EO_ID_UMU_KAKUNIN);
			}
			//【ANK-1444-00-00】2013/02/15 T.Fujita Delete Start
			//else if (action.compareTo(ACTION_KCN_NEW) == 0)
			//{ // KCN新規
			//	setRedirection(GAMEN_ID_AREA_KENSAKU);
			//}
			//else if (action.compareTo(ACTION_KCN_ADD) == 0)
			//{ // KCN追加(eoID認証）
			// 2012.3.1 UPDATE Start ***************
			//setRedirection(GAMEN_ID_AREA_KENSAKU);
			//	setRedirection(GAMEN_ID_EO_ID_NINSHO);
			// 2012.3.1 UPDATE end   ***************
			//}
			//【ANK-1444-00-00】2013/02/15 T.Fujita Delete End
			else if (action.compareTo(ACTION_INTRHN) == 0)
			{ // 紹介キャンペーン（新規申込）
				setRedirection(GAMEN_ID_KODATE_MANS_SENTAKU);
			}
			else if (action.compareTo(ACTION_INTRHA) == 0)
			{ // 紹介キャンペーン（追加申込）
				setRedirection(GAMEN_ID_KODATE_MANS_SENTAKU);
			}
			else if (action.compareTo(ACTION_CMSTFN) == 0)
			{ // フルルKANSAI
				setRedirection(GAMEN_ID_EO_ID_UMU_KAKUNIN);
			}
			else if (action.compareTo(ACTION_CKAMT) == 0)
			{ // ケイ・キャット
				setRedirection(GAMEN_ID_EO_ID_UMU_KAKUNIN);
			}
			else if (action.compareTo(ACTION_CHDCM) == 0)
			{ // 比較.com
				setRedirection(GAMEN_ID_EO_ID_UMU_KAKUNIN);
			}
			else if (action.compareTo(ACTION_SU8PKY) == 0)
			{ // プロバイダーナビ
				setRedirection(GAMEN_ID_EO_ID_UMU_KAKUNIN);
			}
			else if (action.compareTo(ACTION_50UA5) == 0)
			{ // ＥＣナビ（ＥＣナビ）
				setRedirection(GAMEN_ID_EO_ID_UMU_KAKUNIN);
			}
			else if (action.compareTo(ACTION_6U58A) == 0)
			{ // ＥＣナビ（光プレミアム）
				setRedirection(GAMEN_ID_EO_ID_UMU_KAKUNIN);
			}
			else if (action.compareTo(ACTION_SS8Y6) == 0)
			{ // ＥＣナビ（ＩＳＰ料金比較）
				setRedirection(GAMEN_ID_EO_ID_UMU_KAKUNIN);
			}
			else if (action.compareTo(ACTION_XSGTN1) == 0)
			{ // 価格COM（マンション・メゾン）
				setRedirection(GAMEN_ID_EO_ID_UMU_KAKUNIN);
			}
			else if (action.compareTo(ACTION_QG2KAN) == 0)
			{ // フルルKANSAI（マンション・メゾン）
				setRedirection(GAMEN_ID_EO_ID_UMU_KAKUNIN);
			}
			// 【ANK-2421-00-00】ＷｉＦｉスポットとＢＢモバイルポイントのサービス終了対応 START
//			else if (action.compareTo(ACTION_MOBILE) == 0)
//			{ // eoモバイル申込TOP
//				setRedirection(GAMEN_ID_EO_ID_UMU_KAKUNIN);
//			}
//			else if (action.compareTo(ACTION_MOBILE_NEW) == 0)
//			{ // eoモバイル新規申込
//				setRedirection(GAMEN_ID_EO_MOBILE_INPUT);
//			}
//			else if (action.compareTo(ACTION_MOBILE_ADD) == 0)
//			{ // eoモバイル追加申込
//				setRedirection(GAMEN_ID_EO_ID_NINSHO);
//			}
//			else if (action.compareTo(ACTION_WIFI_NEW) == 0)
//			{ // eoモバイルWi-Fiスポット新規申込
//				setRedirection(GAMEN_ID_EO_MOBILE_INPUT);
//			}
//			else if (action.compareTo(ACTION_WIFI_ADD) == 0)
//			{ // eoモバイルWi-Fiスポット追加申込
//				setRedirection(GAMEN_ID_EO_ID_NINSHO);
//			}
			// 【ANK-2421-00-00】ＷｉＦｉスポットとＢＢモバイルポイントのサービス終了対応 END
			else if (action.compareTo(ACTION_3G_NEW) == 0)
			{
				// eoモバイル3G追加申込
				// 【ANK-2018-00-00】eoモバイル7.2M USBタイプの新規受付終了対応
				// 戸建て・マンション選択画面に遷移させる
				setRedirection(GAMEN_ID_KODATE_MANS_SENTAKU);
			}
			else if (action.compareTo(ACTION_3G_ADD) == 0)
			{
				// eoモバイル3G追加申込
				// 【ANK-2018-00-00】eoモバイル7.2M USBタイプの新規受付終了対応
				// 戸建て・マンション選択画面に遷移させる
				setRedirection(GAMEN_ID_KODATE_MANS_SENTAKU);
			}
			else if (action.compareTo(ACTION_3G72_NEW) == 0)
			{
				// eoモバイル3G7.2Mコース新規申込
				// 【ANK-1992-00-00】eoモバイル7.2M USBタイプの新規受付終了対応
				// 戸建て・マンション選択画面に遷移させる
				setRedirection(GAMEN_ID_KODATE_MANS_SENTAKU);
			}
			else if (action.compareTo(ACTION_3G72_ADD) == 0)
			{
				// eoモバイル3G7.2Mコース追加申込
				// 【ANK-1992-00-00】eoモバイル7.2M USBタイプの新規受付終了対応
				// 戸建て・マンション選択画面に遷移させる
				setRedirection(GAMEN_ID_KODATE_MANS_SENTAKU);
			}

// 【ANK-1526-00-00】7.2Mルータ枯渇対応、【ANK-1527-00-00】21MUSB提供終了対応 >>>
//			else if (action.compareTo(ACTION_3G21_NEW) == 0)
//			{ // eoモバイル3G21Mコース新規申込
//				setRedirection(GAMEN_ID_EO_MOBILE_INPUT);
//			}
//			else if (action.compareTo(ACTION_3G21_ADD) == 0)
//			{ // eoモバイル3G21Mコース追加申込
//				setRedirection(GAMEN_ID_EO_ID_NINSHO);
//			}
// 【ANK-1526-00-00】7.2Mルータ枯渇対応、【ANK-1527-00-00】21MUSB提供終了対応 <<<E

// 【ANK-2205-00-00】ＷｉＭＡＸ新規販売終了対応 START
//			else if (action.compareTo(ACTION_WIMAX_NEW) == 0)
//			{ // eoモバイルWiMAX新規申込
//				setRedirection(GAMEN_ID_EO_MOBILE_INPUT);
//			}
//			else if (action.compareTo(ACTION_WIMAX_ADD) == 0)
//			{ // eoモバイルWiMAX追加申込
//				setRedirection(GAMEN_ID_EO_ID_NINSHO);
//			}
// 【ANK-2205-00-00】ＷｉＭＡＸ新規販売終了対応 END
			else if (action.compareTo(ACTION_WIWH) == 0||action.compareTo(ACTION_REDIRECT_UQ) == 0)
			{ // eoモバイルWiMAX申込（UQ遷移）
				setRedirection(GAMEN_ID_EO_ID_UMU_KAKUNIN);
			}
			else if (action.compareTo(ACTION_TOSIMULATE) == 0)
			{ // 料金シミュレーション
				setRedirection(GAMEN_ID_SERV_SENTAKU);
			}

			// ANK-1513-00-00 7.2M光ハイブリッドの受付終了対応 >>>
			//【ANK-1445-00-00】2013/02/19 T.Fujita Add Start
			//			else if (action.compareTo(ACTION_3G72HB_ADD) == 0)
			//			{ // 3G 7.2M 光ハイブリッド追加(eoID認証）
			//				setRedirection(GAMEN_ID_EO_ID_NINSHO);
			//			}
			// ANK-1513-00-00 7.2M光ハイブリッドの受付終了対応 <<<E
			//else if (action.compareTo(ACTION_3G21HB_ADD) == 0)
			//{ // 3G 21M 光ハイブリッド追加(eoID認証）
			//	setRedirection(GAMEN_ID_EO_ID_NINSHO);
			//}

			//else if (action.compareTo(ACTION_3G42_NEW) == 0)
			//{ // 3g42_new（戸建て・マンション選択）
			//	setRedirection(GAMEN_ID_KODATE_MANS_SENTAKU);
			//}
			//else if (action.compareTo(ACTION_3G42_ADD) == 0)
			//{ // 3g42_add（戸建て・マンション選択）
			//	setRedirection(GAMEN_ID_KODATE_MANS_SENTAKU);
			//}
			//else if (action.compareTo(ACTION_3G72HB_NEW) == 0)
			//{ // 3g72Hybrid_new（戸建て・マンション選択）
			//	setRedirection(GAMEN_ID_KODATE_MANS_SENTAKU);
			//}
			//else if (action.compareTo(ACTION_3G42HB_NEW) == 0)
			//{ // 3g42Hybrid_new（戸建て・マンション選択）
			//	setRedirection(GAMEN_ID_KODATE_MANS_SENTAKU);
			//}
			//【ANK-1445-00-00】2013/02/19 T.Fujita Add End

			else if (action.compareTo(ACTION_FROMPASCO) == 0)
			{ // パスコからの遷移時

				String pasco_session_id = null;
				String current_session_id = null;

				//=============================================================
				// PASCO対応取込 mod start ----------------------------------------------------
				//     セッションIDのチェックがコメント化されていたのを
				//     テストモード設定により制御するよう修正
				//-----------------------------------------------------------------------------
				// アプリケーションプロパティよりPASCOテストモード設定を取得
				String pasco_test_mode = JFUWebCommon.getApplicationConst(JFUStrConst.FU_N_PASCO_TEST_MODE);

				// テストモードが"ON"の場合、セッションＩＤチェックを行わない
				if (!TEST_MODE_ON.equals(pasco_test_mode))
				{
					// セッションID の正当性をチェックする =========
					tmp_obj = i_posted_requests.get(POST_ID_SES_ID);
					current_session_id = this.getSessionId();
					pasco_session_id = ((tmp_obj != null) ? (tmp_obj.toString()) : (""));

					if (current_session_id.compareTo(pasco_session_id) != 0)
					{
						// セッションIDが異なるため改変の可能性があるためアクセスエラーとして共通エラー画面に遷移
						throw new JCCBusinessException(JFUStrConst.ERROR_CODE_0009);
					}
				}
				// PASCO対応取込 mod end   ----------------------------------------------------

				// IT2-2012-1790 2012/11/26 Otsuka start
				if (getValueFromBean(i_web_new_bean, CommonInfoCFConst.REDIRECT_INFO + "[0]." + CommonInfoCFConst.NAVIGATOR_PTN_17).compareTo(
						JFUStrConst.NAVI_PTN_AREA) == 0)
				{
					// @遷移パターンがエリア検索のとき
					setRedirection(GAMEN_ID_SERV_SENTAKU);
				}
				else if (getValueFromBean(i_web_new_bean, CommonInfoCFConst.REDIRECT_INFO + "[0]." + CommonInfoCFConst.NAVIGATOR_PTN_17).compareTo(
						JFUStrConst.NAVI_PTN_SIML) == 0)
				// IT2-2012-1790 2012/11/26 Otsuka end
				{
					// A遷移パターンが料金シミュレーションのとき かつ、
					if (checkAllSelectedSrv(i_web_new_bean, i_posted_requests))
					{
						// A-A サービス選択画面で選択したサービスが全て提供可能の場合

						/* 2012/12/11 TAI-2012-0000136-102(IT1-441) R.Nagasawa ADD-START */
						// 選択可能サービス確認結果フラグ → 「0:すべて選択可能」を設定し、規約・約款確認画面へ遷移
						// （分岐条件を二重に記載しないよう、setKeepParameterではなく当メソッドで情報を設定）
						setBeanValueString(i_web_new_bean, CommonInfoCFConst.REDIRECT_INFO + "[0]." + CommonInfoCFConst.SELECT_SVC_RESULT_FLG_17,
								SELECT_SVC_RESULT_FLG_OK);
						/* 2012/12/11 TAI-2012-0000136-102(IT1-441) R.Nagasawa ADD-END */
						setRedirection(GAMEN_ID_KIYAKU_KAKUNIN);
					}
					else
					{
						// A-B A-A以外の場合
						/* 2012/12/11 TAI-2012-0000136-102(IT1-441) R.Nagasawa ADD-START */
						// 選択可能サービス確認結果フラグ → 「1:選択不可サービスあり」を設定し、可能サービス確認画面へ遷移
						// （分岐条件を二重に記載しないよう、setKeepParameterではなく当メソッドで情報を設定）
						setBeanValueString(i_web_new_bean, CommonInfoCFConst.REDIRECT_INFO + "[0]." + CommonInfoCFConst.SELECT_SVC_RESULT_FLG_17,
								SELECT_SVC_RESULT_FLG_NG);
						/* 2012/12/11 TAI-2012-0000136-102(IT1-441) R.Nagasawa ADD-END */
						setRedirection(GAMEN_ID_KANO_SERV_KAKUNIN);
					}
				}
				else
				{
					// B遷移パターンが@、A以外の場合
					setRedirection(GAMEN_ID_KODATE_MANS_SENTAKU);
				}
			}
			//【マンション課題対応一覧No.32】add start ------------------------------------------------------
			else if (action.compareTo(ACTION_MANSION_LP_NEW) == 0)
			{
				if (isRedirectIdaNinsho(false))
				{
					JFUWebCommon.setDataBeanItemByPath(getServiceFormBean(), FUW00144SFConst.IDA_LOGIN_TRANS_FLG, TRANS_KBN_FIRST);
				}
				else
				{
					// 低価格マンション料金確認（ログイン）
					setRedirection(GAMEN_ID_LP_MANS_LOGIN);
				}
			}
			//【マンション課題対応一覧No.32】add end   ------------------------------------------------------
			else if (action.compareTo(ACTION_H_SEARCH) == 0)
			{
				// 量販支援サイトエリア検索Ver
				setRedirection(GAMEN_ID_AREA_KENSAKU);
			}
// 2013/07/11 【内部障害No820】マンション検索、マンション資料請求のマンション検索4自動遷移対応 START
//			else if (action.compareTo(ACTION_M_SEARCH) == 0)
//			{
//				// 量販支援サイトマンション検索Ver
//				setRedirection(GAMEN_ID_MANS_KENSAKU_1_TODO);
//			}
// 2013/07/11 【内部障害No820】マンション検索、マンション資料請求のマンション検索4自動遷移対応 END
			// OT-2013-0000630 2013/04/08 Otsuka start
			else if (action.compareTo(ACTION_BMP) == 0)
			{
				// 量販支援サイトマンション番ポVer
				setRedirection(GAMEN_ID_BMP_TODO);
			}
			// OT-2013-0000630 2013/04/08 Otsuka end
			
			//ANK-1584-00-00 Kuse start
			else if (action.compareTo(ACTION_FROM_MINEO) == 0)
			{ // eo光サービス提供条件
				setRedirection(GAMEN_ID_EOSVC_TK_JKN);
			}
			//ANK-1584-00-00 Kuse end
			// ANK-2137-00-00 add START
			else if (action.compareTo(ACTION_FROMTKJCOMP) == 0)
			{ // エリア検索画面
				setRedirection(GAMEN_ID_AREA_KENSAKU);
			}

			// ANK-2137-00-00 add END
			// アクションが、提携住宅会社のエリア外だった場合
			else if(action.compareTo(ACTION_FROMPASCOTKJCOMP) == 0)
			{
				
			}
			else if (action.compareTo(ACTION_FROMCLEARPASS) == 0)
			{ 
				if ((i_posted_requests.get(BODY_KEY_SHOP_CD) == null) && (i_posted_requests.get(BODY_KEY_CK_KOUZA) == null)) {
					// 口座振替キャンセル時の対応
					kouzaFurikaeCancelRedirect();
				}
				kouzaFurikaeReturnRedirect();
				
			}
			else if (ACTION_FROMSMBCFS_REDIRECT.contains(action))
			{
				// 口座振替[SMBCFS]登録結果は返却させない。（FUW00115のキャンセルボタンと同様にする）
				if (i_posted_requests.get(ACTION_SMBCFS_CANCEL) != null)
				{
					// 口座振替キャンセル時の対応
					kouzaFurikaeCancelRedirect();
				}
				kouzaFurikaeReturnRedirect();
			}
			/** ANK-2433-00-00_【ＮＯ．１６３２】ID登録証再発行業務の改善 2015/02/18 add start*/
			else if (action.compareTo(ACTION_REG_PROOF_REDIRECT) == 0)
			{ // ID登録証情報照会ログインリダイレクト
				setRedirection(GAMEN_ID_ID_TRKS_LOGIN_REDIRECT);
			}
			else if (action.compareTo(ACTION_REG_PROOF_PC_LOGIN) == 0)
			{ // ID登録証情報照会ログインリダイレクト
				setRedirection(GAMEN_ID_ID_TRKS_LOGIN_PC);
			}
			else if (action.compareTo(ACTION_REG_PROOF_SP_LOGIN) == 0)
			{ // ID登録証情報照会ログインリダイレクト
				setRedirection(GAMEN_ID_ID_TRKS_LOGIN_SP);
			}
			/** ANK-2433-00-00_【ＮＯ．１６３２】ID登録証再発行業務の改善 2015/02/18 add end*/
			// ANK-2480-00-00_新電力対応 2015/05/20 add start
			else if (action.compareTo(ACTION_ELECTRIC_ADD) == 0)
			{
				// eo電気追加(eoID認証）
				// setRedirection(GAMEN_ID_EO_ID_NINSHO);
				JFUWebCommon.setDataBeanItemByPath(getServiceFormBean(), FUW00144SFConst.IDA_LOGIN_TRANS_FLG, TRANS_KBN_FIRST);
			}
			// ANK-2480-00-00_新電力対応 2015/05/20 add end
			else if (action.compareTo(ACTION_FROM_MAILKAKNIN) == 0)
			{
				// メール到達確認結果
				if (JFUWebCommon.isNull(i_posted_requests.get(POST_ID_KEY)))
				{
					// Webアクセス認証キーが設定されていない場合、アクセスエラー
					throw new JCCBusinessException(JFUStrConst.ERROR_CODE_0009);
				}
				else
				{
					setBeanValueString(i_web_new_bean, CommonInfoCFConst.REDIRECT_INFO + "[0]." + CommonInfoCFConst.WEB_ACCSS_NSKEY_17,
							i_posted_requests.get(POST_ID_KEY));
				}

				setRedirection(GAMEN_ID_ID_FROM_MAILKAKNIN);
			}
// ANK-3078-00-00 ADD START
			else if (action.compareTo(ACTION_AMZN) == 0)
			{
				// ｅｏエリア検索
				String pcd = getRedPostcode(i_web_new_bean);

				// 遷移元画面がエリア検索(FUW00101)ではない場合
				if (!JFUScreenConst.SCREEN_ID_FUW00101.equals(i_posted_requests.get(BF_SCREEN_ID)))
				{
					if (pcd.length() > 0)
					{
						// @パラメータ郵便番号 1, 2 が設定されている場合 -> PASCO処理を実行する
						pascoRedirect(i_web_new_bean, pcd);
					}
					else
					{
						// A@以外の場合
						setRedirection(GAMEN_ID_AREA_KENSAKU);
					}
				}
				else
				{
					// エリア検索画面から来た場合、PASCO処理を実行する
					pascoRedirect(i_web_new_bean, pcd);
				}
			}
			// 遷移先画面ID:電子署名入力(FUW09905)に遷移
			else if (action.compareTo(ACTION_CUST_SIGNATURE) == 0)
			{
				
				X31SDataBeanAccess commoninfoBean = getCommonInfoBean();
				commoninfoBean.sendMessageString(CommonInfoCFConst.BEFORE_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JFUScreenConst.SCREEN_ID_FUW00144);
				setRedirection(GAMEN_ID_CUST_SIGNATURE);
			}
// ANK-3078-00-00 ADD END
			// iDAログイン画面から遷移
			else if (action.compareTo(ACTION_SERVICE_ADD) == 0)
			{
				// 手続内容確認
				setRedirection(GAMEN_ID_KIYAKU_TTDK_NIY_KKNIN);
			}
			// ソーシャルID認証画面へ遷移
			else if (action.compareTo(ACTION_SOCIAL_LOGIN) == 0)
			{
				// ソーシャルID認証
				socialLoginRedirect(i_web_new_bean);
			}
			// facebook認証依頼から遷移
			else if (action.compareTo(ACTION_FROMFACEBOOK) == 0)
			{
				facebookRedirect(i_web_new_bean);
			}
			// Google認証依頼から遷移
			else if (action.compareTo(ACTION_FROMGOOGLE) == 0)
			{
				googleRedirect(i_web_new_bean);
			}
			// Yahoo認証依頼から遷移
			else if (action.compareTo(ACTION_FROMYAHOO) == 0)
			{
				yahooRedirect(i_web_new_bean);
			}
			// Apple認証依頼から遷移
			else if (action.compareTo(ACTION_FROMAPPLE) == 0)
			{
				appleRedirect(i_web_new_bean);
			}
			else
			{ // その他
				setRedirection(GAMEN_ID_KODATE_MANS_SENTAKU);
			}
		}
		
		
		DEBUG_LOG.info("----- selectRedirection End -----");
	}

	/**
	 * <DL>
	 * <DT>POST送信パラメタに common_bean 項目がある場合、共有フォームBeanの内容をセットします
	 * <DT>この関数では内容セットのみ行います
	 * </DL>
	 * <p>
	 *
	 * @param i_web_new_bean
	 *            共有フォームBean.ＷＥＢ新規へのアクセサ
	 * @param i_key
	 *           項目名
	 * @param i_value
	 *           格納値
	 */
	private void setPairToBean(X31SDataBeanAccess i_web_new_bean, String i_key, String i_value)
	{
		X31SDataBeanAccess bean_access = null;
		X31SDataBeanAccessArray bean_access_array = null;
		Pattern ptn1 = null;
		Pattern ptn2 = null;
		Matcher mtr1 = null;
		Matcher mtr2 = null;
		String column = "";
		int index = 0;

		//		DEBUG_LOG.debug("----- setPairToBean Start -----");
		//
		//		DEBUG_LOG.debug(String.format("key[%s]<=value[%s]", i_key, i_value));

		bean_access = i_web_new_bean;

		ptn1 = Pattern.compile("[^\\.=]+"); // 項目名切出用（配列添字含む）
		ptn2 = Pattern.compile("([^\\[\\]]+)\\[([0-9]+)\\]"); // 項目名と配列添字の分離
		mtr1 = ptn1.matcher(i_key);
		while (mtr1.find())
		{
			column = mtr1.group();
			mtr2 = ptn2.matcher(column);
			if (mtr2.find())
			{
				// 配列への対処
				column = mtr2.group(1); // 配列添字を除いた項目名
				index = Integer.parseInt(mtr2.group(2)); // 配列インデックス
				bean_access_array = bean_access.getDataBeanArray(column); // 配列項目取得

				//				DEBUG_LOG.debug(String.format("[%s].getCount = %d (%d)", column, bean_access_array.getCount(), index));

				while (bean_access_array.getCount() <= index)
				{
					//					DEBUG_LOG.debug(String.format("before [%s].getCount = %d (%d)", column, bean_access_array.getCount(), index));

					bean_access_array.addDataBean();
					//					DEBUG_LOG.debug(String.format("after [%s].getCount = %d (%d)", column, bean_access_array.getCount(), index));
				}
				bean_access = bean_access_array.getDataBean(index);
				//				DEBUG_LOG.debug(String.format("into [%s]...", column));
			}
			else
			{
				//				DEBUG_LOG.debug(String.format("before get [%s]=>%s", column, bean_access.sendMessageString(column, X31CWebConst.DATABEAN_GET_VALUE)));

				// 値の格納
				bean_access.sendMessageString(column, X31CWebConst.DATABEAN_SET_VALUE, i_value);
				//				DEBUG_LOG.debug(String.format("set [%s]<=%s", column, i_value));
				//				DEBUG_LOG.debug(String.format("get [%s]=>%s", column, bean_access.sendMessageString(column, X31CWebConst.DATABEAN_GET_VALUE)));
			}
		}

		//		DEBUG_LOG.debug("----- setPairToBean End -----");
	}

	/**
	 * <DL>
	 * <DT>Beanから任意項目の文字列を取得します 項目の指定には任意ノードからのパス表現を使用できます
	 * <DT> "top_node[index1].1st_node[index2].2nd_node[index3].item_name"
	 * </DL>
	 * <p>
	 *
	 * @param i_web_new_bean
	 *            共有フォームBean.ＷＥＢ新規へのアクセサ
	 * @param i_key
	 *           項目名
	 * @return  値（文字列）
	 */
	private String getValueFromBean(X31SDataBeanAccess i_web_new_bean, String i_key)
	{
		X31SDataBeanAccess bean_access = null;
		X31SDataBeanAccessArray bean_access_array = null;
		Pattern ptn1 = null;
		Pattern ptn2 = null;
		Matcher mtr1 = null;
		Matcher mtr2 = null;
		String column = "";
		String value = "";
		int index = 0;

		//		DEBUG_LOG.debug("----- getValueFromBean Start -----");

		bean_access = i_web_new_bean;

		ptn1 = Pattern.compile("[^\\.=]+"); // 項目名切出用（配列添字含む）
		ptn2 = Pattern.compile("([^\\[\\]]+)\\[([0-9]+)\\]"); // 項目名と配列添字の分離
		mtr1 = ptn1.matcher(i_key);
		while (mtr1.find())
		{
			column = mtr1.group();
			mtr2 = ptn2.matcher(column);
			if (mtr2.find())
			{
				// 配列への対処
				column = mtr2.group(1); // 配列添字を除いた項目名
				index = Integer.parseInt(mtr2.group(2)); // 配列インデックス
				bean_access_array = bean_access.getDataBeanArray(column); // 配列項目取得

				//				DEBUG_LOG.debug(String.format("[%s].getCount = %d (%d)", column, bean_access_array.getCount(), index));

				while (bean_access_array.getCount() <= index)
				{
					//					DEBUG_LOG.debug(String.format("before [%s].getCount = %d (%d)", column, bean_access_array.getCount(), index));

					bean_access_array.addDataBean();
					//					DEBUG_LOG.debug(String.format("after [%s].getCount = %d (%d)", column, bean_access_array.getCount(), index));
				}
				bean_access = bean_access_array.getDataBean(index);
				//				DEBUG_LOG.debug(String.format("into [%s]...", column));
			}
			else
			{
				//				DEBUG_LOG.debug(String.format("before get [%s]=>%s", column, bean_access.sendMessageString(column, X31CWebConst.DATABEAN_GET_VALUE)));

				// 値の格納
				value = bean_access.sendMessageString(column, X31CWebConst.DATABEAN_GET_VALUE);
				//				DEBUG_LOG.debug(String.format("get [%s]=>%s", column, value));
			}
		}

		//		DEBUG_LOG.debug("----- getValueFromBean End -----");
		return value;
	}

	/**
	 * <DL>
	 * <DT>Beanの任意項目をクリアします 項目の指定には任意ノードからのパス表現を使用できます
	 * <DT> "top_node[index1].1st_node[index2].2nd_node[index3].item_name"
	 * </DL>
	 * <p>
	 *
	 * @param i_web_new_bean
	 *            共有フォームBean.ＷＥＢ新規へのアクセサ
	 * @param i_key
	 *           項目名
	 */
	private void clearValueAtBean(X31SDataBeanAccess i_web_new_bean, String i_key)
	{
		X31SDataBeanAccess bean_access = null;
		X31SDataBeanAccessArray bean_access_array = null;
		Pattern ptn1 = null;
		Pattern ptn2 = null;
		Matcher mtr1 = null;
		Matcher mtr2 = null;
		String column = "";
		int index = 0;

		//		DEBUG_LOG.debug("----- clearValueAtBean Start -----");

		bean_access = i_web_new_bean;

		ptn1 = Pattern.compile("[^\\.=]+"); // 項目名切出用（配列添字含む）
		ptn2 = Pattern.compile("([^\\[\\]]+)\\[([0-9]+)\\]"); // 項目名と配列添字の分離
		mtr1 = ptn1.matcher(i_key);
		while (mtr1.find())
		{
			column = mtr1.group();
			mtr2 = ptn2.matcher(column);
			if (mtr2.find())
			{
				// 配列への対処
				column = mtr2.group(1); // 配列添字を除いた項目名
				index = Integer.parseInt(mtr2.group(2)); // 配列インデックス
				bean_access_array = bean_access.getDataBeanArray(column); // 配列項目取得

				//				DEBUG_LOG.debug(String.format("[%s].getCount = %d (%d)", column, bean_access_array.getCount(), index));

				while (bean_access_array.getCount() <= index)
				{
					//					DEBUG_LOG.debug(String.format("before [%s].getCount = %d (%d)", column, bean_access_array.getCount(), index));

					bean_access_array.addDataBean();
					//					DEBUG_LOG.debug(String.format("after [%s].getCount = %d (%d)", column, bean_access_array.getCount(), index));
				}
				bean_access = bean_access_array.getDataBean(index);
				//				DEBUG_LOG.debug(String.format("into [%s]...", column));
			}
			else
			{
				//				DEBUG_LOG.debug(String.format("before get [%s]=>%s", column, bean_access.sendMessageString(column, X31CWebConst.DATABEAN_GET_VALUE)));

				// 値の格納
				bean_access.sendMessageString(column, X31CWebConst.DATABEAN_SET_VALUE, "");
				//				DEBUG_LOG.debug(String.format("clear [%s]", column));
				//				DEBUG_LOG.debug(String.format("get [%s]=>%s", column, bean_access.sendMessageString(column, X31CWebConst.DATABEAN_GET_VALUE)));
			}
		}

		//		DEBUG_LOG.debug("----- clearValueAtBean End -----");
	}

	/**
	 * <DL>
	 * <DT>グループ判定関数
	 * ある文字列が指定した文字列配列の中のひとつと合致するか調べる
	 * </DL>
	 * <p>
	 * @param target  評価する文字列
	 * @param group   文字列配列
	 * @return result true/false
	 */
	private boolean isSameGroup(String target, String[] group)
	{
		boolean result = false;

		if (target == null)
		{
			return result;
		}

		for (int i = 0; i < group.length; i++)
		{
			if (target.compareTo(group[i]) == 0)
			{
				result = true;
				break;
			}
		}

		return result;
	}

	/**
	 * 共有フォームBeanの初期作成<br>
	 * 初回起動の場合のみ、共有フォームBeanのＷＥＢ新規情報配下の各リストを初期作成します
	 * <br>
	 * @param common_info_bean
	 */
	private void initWebNewBean(X31SDataBeanAccess common_info_bean)
	{
		X31SDataBeanAccess web_new_bean = common_info_bean.getDataBeanArray(CommonInfoCFConst.WEB_NEW_INFO).getDataBean(0);
		X31SDataBeanAccessArray mansion_info_bean_array = web_new_bean.getDataBeanArray(CommonInfoCFConst.MANSION_INFO);
		if (mansion_info_bean_array.getCount() != 0)
		{
			// ＷＥＢ新規情報配下のマンション情報の要素数が「0」でない場合、初期作成しない
			return;
		}
		web_new_bean.getDataBeanArray(CommonInfoCFConst.PASCO_INFO).addDataBean();
		web_new_bean.getDataBeanArray(CommonInfoCFConst.RIYOBASHO_INFO).addDataBean();
		web_new_bean.getDataBeanArray(CommonInfoCFConst.KEIYAKUSHA_INFO).addDataBean();
		web_new_bean.getDataBeanArray(CommonInfoCFConst.KEIYAKU_SVC_INFO).addDataBean();
		web_new_bean.getDataBeanArray(CommonInfoCFConst.EONET).addDataBean();
		web_new_bean.getDataBeanArray(CommonInfoCFConst.EOTEL).addDataBean();
		web_new_bean.getDataBeanArray(CommonInfoCFConst.EOTEL).addDataBean(); // Ver.3.00 add
		web_new_bean.getDataBeanArray(CommonInfoCFConst.EOTV).addDataBean();
		web_new_bean.getDataBeanArray(CommonInfoCFConst.EOMOBILE).addDataBean();
		web_new_bean.getDataBeanArray(CommonInfoCFConst.PAYWAY_INFO).addDataBean();
		web_new_bean.getDataBeanArray(CommonInfoCFConst.MANSION_INFO).addDataBean();
		web_new_bean.getDataBeanArray(CommonInfoCFConst.REDIRECT_INFO).addDataBean();
		web_new_bean.getDataBeanArray(CommonInfoCFConst.ELSE_INFO).addDataBean();
		web_new_bean.getDataBeanArray(CommonInfoCFConst.HANYO_CD_LIST).addDataBean();
		web_new_bean.getDataBeanArray(CommonInfoCFConst.AUTO_ADD_CP_LIST).addDataBean();	// ANK-4551-00-00
		web_new_bean.getDataBeanArray(CommonInfoCFConst.ENQUETE_RSLT_INFO).addDataBean();
		web_new_bean.getDataBeanArray(CommonInfoCFConst.EMAIL_SEND_INFO).addDataBean();
		web_new_bean.getDataBeanArray(CommonInfoCFConst.CONT_INFO).addDataBean();
		web_new_bean.getDataBeanArray(CommonInfoCFConst.WRISVC_AUTO_APLY_HKTG_INFO).addDataBean();
	}

	/**
	 * キャンペーンコードを取得し、サービスフォームBeanに設定します。
	 * <br>
	 * @param i_web_new_bean WEB新規情報
	 * @throws Exception
	 */
	private void getCampaignCd(X31SDataBeanAccess i_web_new_bean) throws Exception
	{
		// サービスフォームBeanを取得
		X31SDataBeanAccess serviceFormBean = getServiceFormBean();

		// リダイレクト情報.紹介者コード
		String red_action_path = CommonInfoCFConst.REDIRECT_INFO + "[0]." + CommonInfoCFConst.RED_ACTION_17;
		String red_action_value = getValueFromBean(i_web_new_bean, red_action_path);

		// 引数１を設定(action部分をリダイレクト情報のアクションに置換)
		String param1 = QUERY_PATH_NET_HOME.replace(REPLACE_STR, red_action_value);

		// プロパティファイルからキャンペーンコード、キャンペーン区分、申込区分を取得
		Map<String, String> campaignCdMap = JFUWebCommon.getDispItemsAsMap(param1, QUERY_ATTR_NAME);

		// プロパティファイルから値が取得できた場合
		if (campaignCdMap != null && campaignCdMap.size() > 0)
		{
			// データはキャンペーンコード、キャンペーン区分、申込区分で1組となっているため
			// 何組取得できたかを計算。
			int count = campaignCdMap.size() / 3;

			String cmpCd = "";
			String cmpDiv = "";
			String mskmDiv = "";

			// 取得した組数分処理を行う。
			for (int i = 1; i <= count; i++)
			{
				// i番目のキャンペーンコードを保持
				cmpCd = campaignCdMap.get(PROP_ID_CMP_CD + String.valueOf(i));
				// i番目のキャンペーン区分を保持
				cmpDiv = campaignCdMap.get(PROP_ID_CMP_DIV + String.valueOf(i));
				// i番目の申込区分を保持
				mskmDiv = campaignCdMap.get(PROP_ID_MSKM_DIV + String.valueOf(i));

				// キャンペーン区分が"1"、申込区分が"1"である場合、
				// 新規申込表示用割引コードにキャンペーンコードを設定
				if (CMP_DIV_1.equals(cmpDiv) && JFUStrConst.MSKM_KBN_NEW.equals(mskmDiv))
				{
					serviceFormBean.sendMessageString(FUW00144SFConst.NEW_DISP_WRIB_CD, SET_VALUE, cmpCd);
				}
				else if (CMP_DIV_1.equals(cmpDiv) && JFUStrConst.MSKM_KBN_ADD.equals(mskmDiv))
				{
					// キャンペーン区分が"1"、申込区分が"2"である場合、
					// 追加申込表示用割引コードにキャンペーンコードを設定
					serviceFormBean.sendMessageString(FUW00144SFConst.ADD_DISP_WRIB_CD, SET_VALUE, cmpCd);
				}
				else if (CMP_DIV_2.equals(cmpDiv) && JFUStrConst.MSKM_KBN_NEW.equals(mskmDiv))
				{
					// キャンペーン区分が"2"、申込区分が"1"である場合、
					// 新規申込表示用汎用コードにキャンペーンコードを設定
					serviceFormBean.sendMessageString(FUW00144SFConst.NEW_DISP_HANYO_CD, SET_VALUE, cmpCd);
				}
				else if (CMP_DIV_2.equals(cmpDiv) && JFUStrConst.MSKM_KBN_ADD.equals(mskmDiv))
				{
					// キャンペーン区分が"2"、申込区分が"2"である場合、
					// 追加申込表示用汎用コードにキャンペーンコードを設定
					serviceFormBean.sendMessageString(FUW00144SFConst.ADD_DISP_HANYO_CD, SET_VALUE, cmpCd);
				}
			}
		}

	}

	/**
	 * キャンペーン情報に設定します。
	 * <br>
	 * @param i_web_new_bean WEB新規情報
	 * @throws Exception
	 *
	 */
	private void getCampaignInfo(X31SDataBeanAccess i_web_new_bean) throws Exception
	{
		// サービスフォームBean
		X31SDataBeanAccess serviceBean = getServiceFormBean();

		// 新規申込表示用割引コード
		String newDispWribCd = serviceBean.sendMessageString(FUW00144SFConst.NEW_DISP_WRIB_CD, GET_VALUE);
		// 追加申込表示用割引コード
		String addDispWribCd = serviceBean.sendMessageString(FUW00144SFConst.ADD_DISP_WRIB_CD, GET_VALUE);
		// 新規申込表示用汎用コード
		String newDispHanyoCd = serviceBean.sendMessageString(FUW00144SFConst.NEW_DISP_HANYO_CD, GET_VALUE);
		// 追加申込表示用汎用コード
		String addDispHanyoCd = serviceBean.sendMessageString(FUW00144SFConst.ADD_DISP_HANYO_CD, GET_VALUE);

		// 運用日付
		String operateDate = JCCWebCommon.getOpeDate(this, null);

		// 新規申込表示用割引コードが設定されている場合、新規申込用割引サービス情報のチェック
		if (!"".equals(newDispWribCd))
		{
			X31SDataBeanAccessArray newWribSvcInfoArray = serviceBean.getDataBeanArray(FUW00144SFConst.NEW_WRIB_SVC_INFO);

			// 検索結果が0件の場合
			if (newWribSvcInfoArray.getCount() == 0)
			{
				// 業務共通例外クラスをスローし、共通エラー画面へ遷移する。
				throw new JCCBusinessException(JFUStrConst.ERROR_CODE_0002);
			}

			X31SDataBeanAccess subbean1 = newWribSvcInfoArray.getDataBean(0);

			// 割引サービス適用開始年月日
			String wribSvcTstaymd01 = subbean1.sendMessageString(FUW00144SFConst.WRIB_SVC_TSTAYMD_01, GET_VALUE);
			// 割引サービス適用終了年月日
			String wribSvcTendymd01 = subbean1.sendMessageString(FUW00144SFConst.WRIB_SVC_TENDYMD_01, GET_VALUE);

			// 割引サービス適用開始年月日が運用日付より未来日、または割引サービス適用終了年月日が運用日付より過去日の場合
			if (operateDate.compareTo(wribSvcTstaymd01) < 0 || operateDate.compareTo(wribSvcTendymd01) > 0)
			{
				// 業務共通例外クラスをスローし、共通エラー画面へ遷移する。
				throw new JCCBusinessException(JFUStrConst.ERROR_CODE_0002);
			}

			// 上記チェックがOKの場合、共有フォームBeanに設定する。
			// 新規申込用割引サービスコード
			String new_wrib_svc_cd_path = CommonInfoCFConst.REDIRECT_INFO + "[0]." + CommonInfoCFConst.NEW_WRIB_SVC_CD_17;
			setBeanValueString(i_web_new_bean, new_wrib_svc_cd_path, subbean1.sendMessageString(FUW00144SFConst.WRIB_SVC_CD_01, GET_VALUE));

			// EKK0841B508 変更対応 del start ------------------------------------------------------
			//			// 新規申込用取扱コード（割引）
			//			String new_trat_cd_wrib_path = CommonInfoCFConst.REDIRECT_INFO + "[0]." + CommonInfoCFConst.NEW_TRAT_CD_WRIB_17;
			//			setBeanValueString(i_web_new_bean, new_trat_cd_wrib_path, subbean1.sendMessageString(FUW00144SFConst.AGNT_CD_01, GET_VALUE));
			// EKK0841B508 変更対応 del end   ------------------------------------------------------
		}

		// 追加申込表示用割引コードが設定されている場合、追加申込用割引サービス情報のチェック
		if (!"".equals(addDispWribCd))
		{
			X31SDataBeanAccessArray addWribSvcInfoArray = serviceBean.getDataBeanArray(FUW00144SFConst.ADD_WRIB_SVC_INFO);

			// 検索結果が0件の場合
			if (addWribSvcInfoArray.getCount() == 0)
			{
				// 業務共通例外クラスをスローし、共通エラー画面へ遷移する。
				throw new JCCBusinessException(JFUStrConst.ERROR_CODE_0002);
			}

			X31SDataBeanAccess subbean2 = addWribSvcInfoArray.getDataBean(0);

			// 割引サービス適用開始年月日
			String wribSvcTstaymd02 = subbean2.sendMessageString(FUW00144SFConst.WRIB_SVC_TSTAYMD_02, GET_VALUE);
			// 割引サービス適用終了年月日
			String wribSvcTendymd02 = subbean2.sendMessageString(FUW00144SFConst.WRIB_SVC_TENDYMD_02, GET_VALUE);

			// 割引サービス適用開始年月日が運用日付より未来日、または割引サービス適用終了年月日が運用日付より過去日の場合
			if (operateDate.compareTo(wribSvcTstaymd02) < 0 || operateDate.compareTo(wribSvcTendymd02) > 0)
			{
				// 業務共通例外クラスをスローし、共通エラー画面へ遷移する。
				throw new JCCBusinessException(JFUStrConst.ERROR_CODE_0002);
			}

			// 上記チェックがOKの場合、共有フォームBeanに設定する。
			// 追加申込用割引サービスコード
			String add_wrib_svc_cd_path = CommonInfoCFConst.REDIRECT_INFO + "[0]." + CommonInfoCFConst.ADD_WRIB_SVC_CD_17;
			setBeanValueString(i_web_new_bean, add_wrib_svc_cd_path, subbean2.sendMessageString(FUW00144SFConst.WRIB_SVC_CD_02, GET_VALUE));

			// EKK0841B508 変更対応 del start ------------------------------------------------------
			//			// 新規申込用取扱コード（割引）
			//			String add_trat_cd_wrib_path = CommonInfoCFConst.REDIRECT_INFO + "[0]." + CommonInfoCFConst.ADD_TRAT_CD_WRIB_17;
			//			setBeanValueString(i_web_new_bean, add_trat_cd_wrib_path, subbean2.sendMessageString(FUW00144SFConst.AGNT_CD_02, GET_VALUE));
			// EKK0841B508 変更対応 del end   ------------------------------------------------------
		}

		// 新規申込表示用汎用コードが設定されている場合、新規申込用データ抽出項目情報のチェック
		if (!"".equals(newDispHanyoCd))
		{
			X31SDataBeanAccessArray newDchskmInfoArray = serviceBean.getDataBeanArray(FUW00144SFConst.NEW_DCHSKM_INFO);

			// 検索結果が0件の場合
			if (newDchskmInfoArray.getCount() == 0)
			{
				// 業務共通例外クラスをスローし、共通エラー画面へ遷移する。
				throw new JCCBusinessException(JFUStrConst.ERROR_CODE_0002);
			}

			X31SDataBeanAccess subbean3 = newDchskmInfoArray.getDataBean(0);

			// 割引サービス適用開始年月日
			String dchskmTstaymd03 = subbean3.sendMessageString(FUW00144SFConst.DCHSKM_TSTAYMD_03, GET_VALUE);
			// 割引サービス適用終了年月日
			String dchskmTendymd03 = subbean3.sendMessageString(FUW00144SFConst.DCHSKM_TENDYMD_03, GET_VALUE);

			// データ抽出項目適用開始年月日が運用日付より未来日、またはデータ抽出項目適用終了年月日が運用日付より過去日の場合
			if (operateDate.compareTo(dchskmTstaymd03) < 0 || operateDate.compareTo(dchskmTendymd03) > 0)
			{
				// 業務共通例外クラスをスローし、共通エラー画面へ遷移する。
				throw new JCCBusinessException(JFUStrConst.ERROR_CODE_0002);
			}

			// 上記チェックがOKの場合、共有フォームBeanに設定する。
			// 新規申込用データ抽出項目コード
			String new_dchskm_cd_path = CommonInfoCFConst.REDIRECT_INFO + "[0]." + CommonInfoCFConst.NEW_DCHSKM_CD_17;
			setBeanValueString(i_web_new_bean, new_dchskm_cd_path, subbean3.sendMessageString(FUW00144SFConst.DCHSKM_CD_03, GET_VALUE));

			// EKK1351B002 変更対応 del start ------------------------------------------------------
			//			// 新規申込用取扱コード（汎用）
			//			String new_trat_cd_wrib_path = CommonInfoCFConst.REDIRECT_INFO + "[0]." + CommonInfoCFConst.NEW_TRAT_CD_DCHSKM_17;
			//			setBeanValueString(i_web_new_bean, new_trat_cd_wrib_path, subbean3.sendMessageString(FUW00144SFConst.AGNT_CD_03, GET_VALUE));
			// EKK1351B002 変更対応 del end   ------------------------------------------------------
		}

		// 追加申込表示用汎用コードが設定されている場合、追加申込用データ抽出項目情報のチェック
		if (!"".equals(addDispHanyoCd))
		{
			X31SDataBeanAccessArray addDchskmInfoArray = serviceBean.getDataBeanArray(FUW00144SFConst.ADD_DCHSKM_INFO);

			// 検索結果が0件の場合
			if (addDchskmInfoArray.getCount() == 0)
			{
				// 業務共通例外クラスをスローし、共通エラー画面へ遷移する。
				throw new JCCBusinessException(JFUStrConst.ERROR_CODE_0002);
			}

			X31SDataBeanAccess subbean4 = addDchskmInfoArray.getDataBean(0);

			// 割引サービス適用開始年月日
			String dchskmTstaymd04 = subbean4.sendMessageString(FUW00144SFConst.DCHSKM_TSTAYMD_04, GET_VALUE);
			// 割引サービス適用終了年月日
			String dchskmTendymd04 = subbean4.sendMessageString(FUW00144SFConst.DCHSKM_TENDYMD_04, GET_VALUE);

			// データ抽出項目適用開始年月日が運用日付より未来日、またはデータ抽出項目適用終了年月日が運用日付より過去日の場合
			if (operateDate.compareTo(dchskmTstaymd04) < 0 || operateDate.compareTo(dchskmTendymd04) > 0)
			{
				// 業務共通例外クラスをスローし、共通エラー画面へ遷移する。
				throw new JCCBusinessException(JFUStrConst.ERROR_CODE_0002);
			}

			// 上記チェックがOKの場合、共有フォームBeanに設定する。
			// 追加申込用データ抽出項目コード
			String add_dchskm_cd_path = CommonInfoCFConst.REDIRECT_INFO + "[0]." + CommonInfoCFConst.ADD_DCHSKM_CD_17;
			setBeanValueString(i_web_new_bean, add_dchskm_cd_path, subbean4.sendMessageString(FUW00144SFConst.DCHSKM_CD_04, GET_VALUE));

			// EKK1351B002 変更対応 del start ------------------------------------------------------
			//			// 新規申込用取扱コード（汎用）
			//			String add_trat_cd_wrib_path = CommonInfoCFConst.REDIRECT_INFO + "[0]." + CommonInfoCFConst.ADD_TRAT_CD_DCHSKM_17;
			//			setBeanValueString(i_web_new_bean, add_trat_cd_wrib_path, subbean4.sendMessageString(FUW00144SFConst.AGNT_CD_04, GET_VALUE));
			// EKK1351B002 変更対応 del end   ------------------------------------------------------
		}
	}

	/**
	 * サービスの呼び出しを行います。
	 * 割引サービス情報取得(表示用キャンペーンコード)
	 */
	@SuppressWarnings("unchecked")
	private void invokeServiceFusv0178()
	{
		// 共有フォームBean
		X31SDataBeanAccess common_info_bean = getCommonInfoBean();
		// サービスフォームBean
		X31SDataBeanAccess serviceBean = getServiceFormBean();

		// サービスフォームBeanの基準日に運用日付を設定する。
		serviceBean.sendMessageString(FUW00144SFConst.STDARD_DAY, SET_VALUE, JCCWebCommon.getOpeDate(this, null));

		// サービスIDをparamにセット
		Map<String, String> paramMap = new HashMap<String, String>();
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, USECASE_ID_FUSV0178);

		// DataBean-BPマッピング
		FUSV0178_FUSV0178OPDBMapper mapper = new FUSV0178_FUSV0178OPDBMapper();

		HashMap inputMap = new HashMap();
		HashMap outputMap = new HashMap();

		X31SDataBeanAccess[] paramBean = { serviceBean };

		// 機能コード「1」を設定
		mapper.setFUSV017801SC(paramBean, inputMap, JPCModelConstant.FUNC_CD_1);
		mapper.setFUSV017802SC(paramBean, inputMap, JPCModelConstant.FUNC_CD_1);
		mapper.setFUSV017803SC(paramBean, inputMap, JPCModelConstant.FUNC_CD_1);
		mapper.setFUSV017804SC(paramBean, inputMap, JPCModelConstant.FUNC_CD_1);
		mapper.setFUSV017806SC(paramBean, inputMap, JPCModelConstant.FUNC_CD_1); //【ANK-0037-01-00】add
		mapper.setFUSV017807SC(paramBean, inputMap, JPCModelConstant.FUNC_CD_1, this); // IT1-2012-0001699

		X31SDataBeanAccess[] paramBean2 = { serviceBean, common_info_bean };
		mapper.setFUSV017805SC(paramBean2, inputMap, JPCModelConstant.FUNC_CD_1);

		// サービス呼び出し
		invokeService(paramMap, inputMap, outputMap);

		X31SDataBeanAccess[] paramBeanOut = { serviceBean, common_info_bean };

		// サービスからの戻りデータをBeanにセット
		mapper.getFUSV017801SC(paramBeanOut, outputMap);
		mapper.getFUSV017802SC(paramBeanOut, outputMap);
		mapper.getFUSV017803SC(paramBeanOut, outputMap);
		mapper.getFUSV017804SC(paramBeanOut, outputMap);
		mapper.getFUSV017805SC(paramBeanOut, outputMap);
		mapper.getFUSV017806SC(paramBeanOut, outputMap); //【ANK-0037-01-00】add
		mapper.getFUSV017807SC(paramBeanOut, outputMap); // IT1-2012-0001699
	}

	/**
	 * <DL>
	 * <DT>PASCOリダイレクト処理(他サイト連携)
	 * </DL>
	 * <p>
	 * @return true(固定)
	 */
	public boolean redirectPasco()
	{

		X31SDataBeanAccess common_info_bean = null;

		// 共有フォームBean
		common_info_bean = getCommonInfoBean();
		X31SDataBeanAccess beanNew = common_info_bean.getDataBeanArray(CommonInfoCFConst.WEB_NEW_INFO).getDataBean(0); //ＷＥＢ新規情報
		// サービスフォームBean
		X31SDataBeanAccess serviceBean = getServiceFormBean();

		// ----------------------------------------------------
		// 制御用の項目を取得
		// ----------------------------------------------------
		String tmp_path = "";

		// 申込区分  0:未定 1:新規 2:追加
		tmp_path = CommonInfoCFConst.MSKM_KBN_06;
		String mskm_kbn_value = getValueFromBean(beanNew, tmp_path);

		// リダイレクト情報.KCN申込フラグの値
		tmp_path = REDIRECT_PATH + CommonInfoCFConst.RED_KCN_MSKM_17;
		String red_kcn_mskm_value = getValueFromBean(beanNew, tmp_path);

		// IT2-2012-1790 2012/11/26 Otsuka
		// リダイレクト情報.ナビゲータパターンの値
		tmp_path = REDIRECT_PATH + CommonInfoCFConst.NAVIGATOR_PTN_17;
		String red_trans_div_value = getValueFromBean(beanNew, tmp_path);

		// ANK-1444-00-00 2013/02/22 start
		// リダイレクト情報.アクションの値
		String red_action_value = redAction;
		// ANK-1444-00-00 2013/02/22 end

		// 契約サービス情報.選択サービス（ネット）の値
		tmp_path = KEIYAKU_SVC_PATH + CommonInfoCFConst.SELECT_SVC_NET_10;
		String select_svc_net = getValueFromBean(beanNew, tmp_path);

		// 契約サービス情報.選択サービス（電話）の値
		tmp_path = KEIYAKU_SVC_PATH + CommonInfoCFConst.SELECT_SVC_TEL_10;
		String select_svc_tel = getValueFromBean(beanNew, tmp_path);

		// ----------------------------------------------------
		// 値の補正処理
		// ----------------------------------------------------
		// (申込区分) =========================================
		// 2013/03/28 home_search_agency遷移時は01:新規 start
		if (ACTION_H_SEARCH.equals(red_action_value)) // home_search_agency
		{
			mskm_kbn_value = APPL_CLASS_NEW; // 01：新規
			// 2013/03/28 home_search_agency遷移時は01:新規 end
		}
		else if (JFUStrConst.MSKM_KBN_NEW.equals(mskm_kbn_value)) // "1":新規申込
		{
			mskm_kbn_value = APPL_CLASS_NEW; // 01：新規
		}
		else if (JFUStrConst.MSKM_KBN_ADD.equals(mskm_kbn_value)) // "2":追加申込
		{
			mskm_kbn_value = APPL_CLASS_ADD; // 03：追加
		}

		// (仮申込サービス) ===================================
		String kari_svc = "";

		// @遷移パターンがエリア検索
		if (JFUStrConst.NAVI_PTN_AREA.equals(red_trans_div_value)) // IT2-2012-1790 2012/11/26 Otsuka
		{
			// KCN申込フラグが"1"(KCN申込)
			if (JFUStrConst.RED_KCN_MSKM_KCN.equals(red_kcn_mskm_value))
			{
				kari_svc = KARI_SVC_TV; // 11：光テレビ
			}
			// 上記以外
			else
			{
				kari_svc = KARI_SVC_HOME; // 03:ホームタイプ
			}

		}
		// A遷移パターンが料金シミュレーション
		else if (JFUStrConst.NAVI_PTN_SIML.equals(red_trans_div_value)) // IT2-2012-1790 2012/11/26 Otsuka
		{
			// 選択サービス（ネット） "1"(選択)、または選択サービス（電話） "1"(選択)の場合
			if ((JFUStrConst.SELECT_SVC_NET_CHOICE.equals(select_svc_net)) || (JFUStrConst.SELECT_SVC_TEL_CHOICE.equals(select_svc_tel)))
			{
				kari_svc = KARI_SVC_HOME; // 03:ホームタイプ
			}
			// 上記以外(すべて未選択はありえないため、TV単独)
			else
			{
				kari_svc = KARI_SVC_TV; // 11：光テレビ
			}
		}

		String hanbaiType = beanNew.sendMessageString(CommonInfoCFConst.HANBAI_TYPE_06, X31CWebConst.DATABEAN_GET_VALUE);

		// (遷移区分) ======================================
		// IT2-2012-1790 2012/11/26 Otsuka start
		if (JFUStrConst.NAVI_PTN_AREA.equals(red_trans_div_value)) // "1":エリア検索
		{
			// ANK-1444-00-00 2013/02/22 start
			if (ACTION_H_SEARCH.equals(red_action_value))
			{
				red_trans_div_value = TRANS_DIV_SHIEN; // 06：量販店支援
			}
			else if(JFUStrConst.HNBAI_TYPE_TKJCOMP.equals(hanbaiType))
			{
				red_trans_div_value = TRANS_DIV_TKJ_COMP; // 08：提携住宅Web
			}
			else
			{
				red_trans_div_value = TRANS_DIV_AREA; // 01：エリア検索
			}
			// ANK-1444-00-00 2013/02/22 end
		}
		else if (JFUStrConst.NAVI_PTN_SIML.equals(red_trans_div_value)) // "2":料金シミュレーション
		{
			red_trans_div_value = TRANS_DIV_SIML; // 02：料金シミュレーション
		}
		// IT2-2012-1790 2012/11/26 Otsuka end
		// ----------------------------------------------------
		// サービスフォームBeanに送信パラメータを設定
		// ----------------------------------------------------
		// セッションＩＤ	sesid
		serviceBean.sendMessageString(FUW00144SFConst.SESID, X31CWebConst.DATABEAN_SET_VALUE, this.getSessionId());
		// 申込区分			appl_class
		serviceBean.sendMessageString(FUW00144SFConst.RI_MOUSIKOMI_KBN, X31CWebConst.DATABEAN_SET_VALUE, mskm_kbn_value);
		// 仮申込サービス	s
		serviceBean.sendMessageString(FUW00144SFConst.KARI_SVC, X31CWebConst.DATABEAN_SET_VALUE, kari_svc);
		// 代理店フラグ		ind		※(WEB新規は"0"固定)
		// ANK-1444-00-00 2013/02/22 start
		if (ACTION_H_SEARCH.equals(red_action_value))
		{
			serviceBean.sendMessageString(FUW00144SFConst.AGENT_FLG, X31CWebConst.DATABEAN_SET_VALUE, AGENT_FLG_SHIEN);
		}
		else
		{
			serviceBean.sendMessageString(FUW00144SFConst.AGENT_FLG, X31CWebConst.DATABEAN_SET_VALUE, AGENT_FLG_OFF);
		}
		// ANK-1444-00-00 2013/02/22 end

		// ＫＣＮリンク		link
		serviceBean.sendMessageString(FUW00144SFConst.KCN_FLG, X31CWebConst.DATABEAN_SET_VALUE, red_kcn_mskm_value);
		// 遷移区分			trans_div
		serviceBean.sendMessageString(FUW00144SFConst.TRANS_DIV, X31CWebConst.DATABEAN_SET_VALUE, red_trans_div_value);

		// 遷移先画面ＩＤにPASCOのosidを指定して他サイト連携
		common_info_bean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, OSID_FUIFE001);

		return true;
	}

	/**
	 * <DL>
	 * <DT>口座振替[SMBCFS]リダイレクト処理(他サイト連携)
	 * </DL>
	 * <p>
	 * @return true(固定)
	 */
	public boolean redirectKouzaFurikae()
	{
		// 共有フォームBean取得
		X31SDataBeanAccess commonInfoBean = getCommonInfoBean();

		// 口座振替受付画面遷移に必要な情報をサービスフォームBeanに設定します。
		setKouzaFurikaeSmbcfsRedirectData(commonInfoBean);

		// 遷移先画面ＩＤに口座振替のosidを指定して他サイト連携
		commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, OSID_FUIFE209);

		// ビジネスログへの出力
		outputBusLog("----- 口座振替画面[SMBCFS]を起動します -----");
		return true;
	}

	/**
	 * 口座振替受付[SMBCFS]へのリダイレクト処理<br>
	 * 口座振替受付画面への遷移に必要な情報をサービスフォームBeanに設定します。
	 * <br>
	 * @param commonInfoBean
	 */
	private void setKouzaFurikaeSmbcfsRedirectData(X31SDataBeanAccess commonInfoBean)
	{

		//ＷＥＢ新規情報
		X31SDataBeanAccess webNewInfoBean = commonInfoBean.getDataBeanArray(CommonInfoCFConst.WEB_NEW_INFO).getDataBean(0);
		// 契約者情報
		X31SDataBeanAccessArray contract_info = webNewInfoBean.getDataBeanArray(CommonInfoCFConst.KEIYAKUSHA_INFO);
		if (contract_info.getCount() == 0)
		{
			contract_info.addDataBean();
		}
		X31SDataBeanAccess contract_infobean = contract_info.getDataBean(0);

		// 支払い方法情報
		X31SDataBeanAccessArray payway_info = webNewInfoBean.getDataBeanArray(CommonInfoCFConst.PAYWAY_INFO);
		if (payway_info.getCount() == 0)
		{
			payway_info.addDataBean();
		}
		X31SDataBeanAccess payway_info_bean = payway_info.getDataBean(0);

		String kshnm_sei = JFUStrConst.EMPTY;
		String kshnm_nm = JFUStrConst.EMPTY;
		String kiyksh_hiraganaSei = JFUStrConst.EMPTY;
		String kiyksh_hiraganaMei = JFUStrConst.EMPTY;
		// ＷＥＢ新規情報.契約種別
		String keiyaku_sbt = webNewInfoBean.sendMessageString(CommonInfoCFConst.KEI_SBT_06, X31CWebConst.DATABEAN_GET_VALUE);
		// ■申込区分により分岐
		if (JFUStrConst.KEI_SBT_KOJINCD.equals(keiyaku_sbt))
		{
			// 氏名（姓）、氏名（名）
			kshnm_sei = contract_infobean.sendMessageString(CommonInfoCFConst.KSHNM_SEI_09, X31CWebConst.DATABEAN_GET_VALUE);
			kshnm_nm = contract_infobean.sendMessageString(CommonInfoCFConst.KSHNM_NM_09, X31CWebConst.DATABEAN_GET_VALUE);
			// 契約者カナ氏名のひらがな(全角)→カタカナ(全角)への変換
			kiyksh_hiraganaSei = contract_infobean.sendMessageString(CommonInfoCFConst.KSHKN_SEI_09, X31CWebConst.DATABEAN_GET_VALUE);
			kiyksh_hiraganaMei = contract_infobean.sendMessageString(CommonInfoCFConst.KSHKN_NM_09, X31CWebConst.DATABEAN_GET_VALUE);
		}
		else
		{
			// 法人名
			kshnm_sei = contract_infobean.sendMessageString(CommonInfoCFConst.HOJINNM_09, X31CWebConst.DATABEAN_GET_VALUE);
			// 法人名かな
			kiyksh_hiraganaSei = contract_infobean.sendMessageString(CommonInfoCFConst.HOJINKN_09, X31CWebConst.DATABEAN_GET_VALUE);
		}

		//サービスフォームBeanの口座振替入力画面起動依頼（ＳＭＢＣＦＳ）を設定
		X31SDataBeanAccess kfrSmbcfsBean = getServiceFormBean().getDataBeanArray(FUW00144SFConst.KFR_SMBCFS_TRANS_INFO).getDataBean(0);

		// バージョン
		String version = getAplConst("FU_KFR_SMBCFS_VERSION");
		kfrSmbcfsBean.sendMessageString(FUW00144SFConst.VERSION_08, X31CWebConst.DATABEAN_SET_VALUE, version);
		// 決済手段区分
		String bill_method = getAplConst("FU_KFR_SMBCFS_BILL_METHOD");
		kfrSmbcfsBean.sendMessageString(FUW00144SFConst.BILL_METHOD_08, X31CWebConst.DATABEAN_SET_VALUE, bill_method);
		// 決済種類コード
		String kessai_id = getAplConst("FU_KFR_SMBCFS_KESSAI_ID");
		kfrSmbcfsBean.sendMessageString(FUW00144SFConst.KESSAI_ID_08, X31CWebConst.DATABEAN_SET_VALUE, kessai_id);
		// 契約コード
		String shop_cd = getAplConst("FU_KFR_SMBCFS_SHOP_CD");
		kfrSmbcfsBean.sendMessageString(FUW00144SFConst.SHOP_CD_08, X31CWebConst.DATABEAN_SET_VALUE, shop_cd);
		// 収納企業コード
		String syuno_co_cd = getAplConst("FU_KFR_SMBCFS_SYUNO_CO_CD");
		kfrSmbcfsBean.sendMessageString(FUW00144SFConst.SYUNO_CO_CD_08, X31CWebConst.DATABEAN_SET_VALUE, syuno_co_cd);
		// 拠点コード
		String kyoten_cd = getAplConst("FU_KFR_SMBCFS_KYOTEN_CD");
		kfrSmbcfsBean.sendMessageString(FUW00144SFConst.KYOTEN_CD_08, X31CWebConst.DATABEAN_SET_VALUE, kyoten_cd);
		// ショップパスワード
		String shop_pwd = getAplConst("FU_KFR_SMBCFS_SHOP_PWD");
		kfrSmbcfsBean.sendMessageString(FUW00144SFConst.SHOP_PWD_08, X31CWebConst.DATABEAN_SET_VALUE, shop_pwd);
		// 契約補助番号
		String shoporder_no = getAplConst("FU_KFR_SMBCFS_SHOPORDER_NO");
		kfrSmbcfsBean.sendMessageString(FUW00144SFConst.SHOPORDER_NO_08, X31CWebConst.DATABEAN_SET_VALUE, shoporder_no);

		// 上書可否区分
		kfrSmbcfsBean.sendMessageString(FUW00144SFConst.KOUSHIN_KBN_08, X31CWebConst.DATABEAN_SET_VALUE, KOUSHIN_KBN_FUKA);
		// 顧客番号 ※毎回採番	//お支払い方法画面でカウントする
		String bill_no = payway_info_bean.sendMessageString(CommonInfoCFConst.SMBCFS_BILL_NO_15, X31CWebConst.DATABEAN_GET_VALUE);
		kfrSmbcfsBean.sendMessageString(FUW00144SFConst.BILL_NO_08, X31CWebConst.DATABEAN_SET_VALUE, bill_no);
		// 顧客名（全角30文字）
		String kshnm = JFUStrConst.EMPTY;
		if (JFUCommonUtil.isNull(kshnm_nm))
		{
			kshnm = kshnm_sei;
		}
		else
		{
			kshnm = kshnm_sei + JFUStrConst.SPACE + kshnm_nm;
		}
		String bill_name = getMoji(kshnm, 30);
		kfrSmbcfsBean.sendMessageString(FUW00144SFConst.BILL_NAME_08, X31CWebConst.DATABEAN_SET_VALUE, bill_name);
		// 顧客カナ名（半角30 文字）
		String billKana = getKana(kiyksh_hiraganaSei, kiyksh_hiraganaMei);

		kfrSmbcfsBean.sendMessageString(FUW00144SFConst.BILL_KANA_08, X31CWebConst.DATABEAN_SET_VALUE, billKana);
		
		String returnUrl = JFUStrConst.EMPTY;
		if (isNewpUrl())
		{
			// サービス追加申込
			returnUrl = getAplConst("SMBCFS_RET_URL_SVC_ADD");
		}
		else
		{
			// 新規申込
			returnUrl = getAplConst("SMBCFS_RET_URL");
		}
		// 遷移先ＵＲＬ
		kfrSmbcfsBean.sendMessageString(FUW00144SFConst.SHOP_LINK_08, X31CWebConst.DATABEAN_SET_VALUE, returnUrl);
		// エラー時遷移先ＵＲＬ
		kfrSmbcfsBean.sendMessageString(FUW00144SFConst.SHOP_ERROR_LINK_08, X31CWebConst.DATABEAN_SET_VALUE, returnUrl);

		// リダイレクト区分
		kfrSmbcfsBean.sendMessageString(FUW00144SFConst.REDIRECT_KBN_08, X31CWebConst.DATABEAN_SET_VALUE, REDIRECT_KBN_ON);
		// リダイレクト秒数
		String redirect_sec = getAplConst("FU_KFR_SMBCFS_REDIRECT_SEC");
		kfrSmbcfsBean.sendMessageString(FUW00144SFConst.REDIRECT_SEC_08, X31CWebConst.DATABEAN_SET_VALUE, redirect_sec);

		// ショップ連絡先電話番号表示区分
		kfrSmbcfsBean.sendMessageString(FUW00144SFConst.SHOP_PHON_HYOJI_KBN_08, X31CWebConst.DATABEAN_SET_VALUE, SHOP_PHON_HYOJI_KBN_0);
		// ショップ連絡先メールアドレス表示区分
		kfrSmbcfsBean.sendMessageString(FUW00144SFConst.SHOP_MAIL_HYOJI_KBN_08, X31CWebConst.DATABEAN_SET_VALUE, SHOP_MAIL_HYOJI_KBN_0);

		// パラメータをログに出力(後で消す)
		DEBUG_LOG.debug("パラメータを出力 START");
		DEBUG_LOG.debug("version=" + version);
		DEBUG_LOG.debug("bill_method=" + bill_method);
		DEBUG_LOG.debug("bill_no=" + bill_no);
		DEBUG_LOG.debug("name_kana=" + billKana);
		DEBUG_LOG.debug("name_kana(byte)=" + billKana.getBytes());
		DEBUG_LOG.debug("name_kana(byte)(HEX)=" + DatatypeConverter.printHexBinary(billKana.getBytes()));
		try
		{
			DEBUG_LOG.debug("name_kana(byte)=" + billKana.getBytes("UTF-8"));
			DEBUG_LOG.debug("name_kana(byte)(UTF-8 HEX)=" + DatatypeConverter.printHexBinary(billKana.getBytes("UTF-8")));
			DEBUG_LOG.debug("name_kana(byte)=" + billKana.getBytes("SJIS"));
			DEBUG_LOG.debug("name_kana(byte)(SJIS HEX)=" + DatatypeConverter.printHexBinary(billKana.getBytes("SJIS")));
		}
		catch (Exception e)
		{
			DEBUG_LOG.debug("パラメータ変換エラー");

		}
		DEBUG_LOG.debug("パラメータを出力 END");

	}

	/**
	 * 全角ひらがなを半角カタカナに変換
	 * @param kiyksh_hiraganaSei
	 * @param kiyksh_hiraganaMei
	 * @return 半角カタカナ
	 */
	private String getKana(String kiyksh_hiraganaSei, String kiyksh_hiraganaMei)
	{
		kiyksh_hiraganaSei = chgStr(kiyksh_hiraganaSei);
		kiyksh_hiraganaMei = chgStr(kiyksh_hiraganaMei);
		// 全角ひらがな→半角カタカナ
		String kiyksh_katakanaSei = JFUCommonUtil.convertFullHiraToHankakuKt(kiyksh_hiraganaSei);
		String kiyksh_katakanaMei = JFUCommonUtil.convertFullHiraToHankakuKt(kiyksh_hiraganaMei);
		String name_kana = JFUStrConst.EMPTY;
		if (JFUCommonUtil.isNull(kiyksh_hiraganaMei))
		{
			name_kana = kiyksh_katakanaSei;
		}
		else
		{
			name_kana = kiyksh_katakanaSei + JFUStrConst.HALF_SPACE + kiyksh_katakanaMei;
		}
		name_kana = kiyksh_katakanaSei + JFUStrConst.HALF_SPACE + kiyksh_katakanaMei;
		// 契約者カナ氏名  30文字まで(31文字以降は切り取る)
		return getMoji(name_kana, 30);
	}

	/**
	 * 連携半角カナ文字変換
	 * 
	 * @param value カタカナ
	 * @return 変換
	 */
	private String chgStr(String value)
	{
//		value = value.replace("ー", "-");
		return value;
	}

	private String getMoji(String value, int keta)
	{
		if (!JFUCommonUtil.isNull(value) && value.length() > keta)
		{
			value = value.substring(0, keta);
		}
		return value;
	}

	/**
	 * 口座振替受付へのリダイレクト処理<br>
	 * 口座振替受付画面への遷移に必要な情報をサービスフォームBeanに設定します。(旧クリアパス：廃止）
	 * <br>
	 * @param commonInfoBean
	 */
	private void setKouzaFurikaeRedirectData(X31SDataBeanAccess commonInfoBean)
	{
		 //ＷＥＢ新規情報
		X31SDataBeanAccess webNewInfoBean = commonInfoBean.getDataBeanArray(CommonInfoCFConst.WEB_NEW_INFO).getDataBean(0);

		X31SDataBeanAccessArray contract_info = webNewInfoBean.getDataBeanArray(CommonInfoCFConst.KEIYAKUSHA_INFO); // 契約者情報
		if (contract_info.getCount() == 0)
		{
			contract_info.addDataBean();
		}
		X31SDataBeanAccess contract_infobean = contract_info.getDataBean(0);

		X31SDataBeanAccessArray payway_info = webNewInfoBean.getDataBeanArray(CommonInfoCFConst.PAYWAY_INFO); // 支払い方法情報
		if (payway_info.getCount() == 0)
		{
			payway_info.addDataBean();
		}
		X31SDataBeanAccess payway_info_bean = payway_info.getDataBean(0);

		// 申込区分（種別）
		String mskmKbn = webNewInfoBean.sendMessageString(CommonInfoCFConst.MSKM_KBN_06, X31CWebConst.DATABEAN_GET_VALUE);

		// アプリケーションプロパティから事業者コードとセキュリティキーを取得
		String shop_cd = JFUStrConst.EMPTY;
		String security_key = JFUStrConst.EMPTY;
		if(JFUStrConst.MSKM_KBN_ADD.equals(mskmKbn))
		{
			// サービス追加
			shop_cd = JFUWebCommon.getApplicationConst(JFUStrConst.FU_KFR_SHOP_CD_SVC_ADD);
			security_key = JFUWebCommon.getApplicationConst(JFUStrConst.FU_KFR_SVC_ADD_SECURITYKEY);
		}
		else
		{
			// サービス追加以外
			shop_cd = JFUWebCommon.getApplicationConst(JFUStrConst.FU_KFR_SHOP_CD_NEW);
			security_key = JFUWebCommon.getApplicationConst(JFUStrConst.FU_KFR_SECURITYKEY);
		}

		// 口座振替のお客様番号
		String customer_number = JFUWebCommon.getApplicationConst(JFUStrConst.FU_KFR_CUSTOMER_NUMBER);

		// 契約者カナ氏名のひらがな(全角)→カタカナ(全角)への変換
		String kiyksh_hiraganaSei =
				contract_infobean.sendMessageString(CommonInfoCFConst.KSHKN_SEI_09, X31CWebConst.DATABEAN_GET_VALUE);
		String kiyksh_hiraganaMei =
				contract_infobean.sendMessageString(CommonInfoCFConst.KSHKN_NM_09, X31CWebConst.DATABEAN_GET_VALUE);
		String kiyksh_katakanaSei = JFUWebCommon.convFullHiraToFullKata(kiyksh_hiraganaSei);
		String kiyksh_katakanaMei = JFUWebCommon.convFullHiraToFullKata(kiyksh_hiraganaMei);
		String name_kana = kiyksh_katakanaSei + JFUStrConst.SPACE + kiyksh_katakanaMei;
		// 契約者カナ氏名  30文字まで(31文字以降は切り取る
		if (!JFUCommonUtil.isNull(name_kana) && name_kana.length() > 30)
		{
			name_kana = name_kana.substring(0, 30);
		}
		String sysid = webNewInfoBean.sendMessageString(CommonInfoCFConst.SYSID_06, X31CWebConst.DATABEAN_GET_VALUE);
		// SYSIDを英数字を大文字に変換
		String sysidUpper = sysid.toUpperCase();
		// 現在の押下回数を取得
		String pushCnt = payway_info_bean.sendMessageString(CommonInfoCFConst.KFR_OUKA_COUNT_15, X31CWebConst.DATABEAN_GET_VALUE);
		if (JFUWebCommon.isNull(pushCnt))
		{
			pushCnt = "0";
		}
		// カウントアップ
		pushCnt = String.valueOf(Long.valueOf(pushCnt) + 1);
		// 現在の押下回数を設定
		payway_info_bean.sendMessageString(CommonInfoCFConst.KFR_OUKA_COUNT_15, X31CWebConst.DATABEAN_SET_VALUE, pushCnt);
		// トークン取得回数
		String tokenGetCnt = payway_info_bean.sendMessageString(CommonInfoCFConst.TOKEN_GET_CNT_15, X31CWebConst.DATABEAN_GET_VALUE);
		if (JFUWebCommon.isNull(tokenGetCnt))
		{
			tokenGetCnt = "0";
		}
		// 付加情報
		String add_info =
				sysidUpper + JFUStrConst.HALF_SPACE + JFUWebCommon.getApplicationConst(JFUStrConst.FU_KFR_SVKEI_NUMBER) + JFUStrConst.HALF_SPACE
						+ pushCnt + JFUStrConst.HALF_SPACE + this.getSessionId() + JFUStrConst.HALF_SPACE + tokenGetCnt;
		String ck = "";

		// 暗号化キー
		String randomKey = JFUCommonUtil.createRondomKey();

		// 確認テスト用変数
		String name_kana2 = "";
		String name_kana_sjis = "";
		String name_kana_euc = "";
		String decText =  "";
		String eo_hikari = "";
		String security_key_A = "";
		String name_kana_A = "";
		String add_info_A = "";
		

		// パラメータをログに出力(後で消す)
		DEBUG_LOG.debug("暗号化前パラメータを出力 START");
		DEBUG_LOG.debug("shop_cd=" + shop_cd);
		DEBUG_LOG.debug("security_key=" + security_key);
		DEBUG_LOG.debug("customer_number=" + customer_number);
		DEBUG_LOG.debug("name_kana=" + name_kana);
		DEBUG_LOG.debug("name_kana(byte)=" + name_kana.getBytes());
		DEBUG_LOG.debug("name_kana(byte)(HEX)=" + DatatypeConverter.printHexBinary(name_kana.getBytes()));
		try{
		DEBUG_LOG.debug("name_kana(byte)=" + name_kana.getBytes("UTF-8"));
		DEBUG_LOG.debug("name_kana(byte)(UTF-8 HEX)=" + DatatypeConverter.printHexBinary(name_kana.getBytes("UTF-8")));
		DEBUG_LOG.debug("name_kana(byte)=" + name_kana.getBytes("EUC_JP"));
		DEBUG_LOG.debug("name_kana(byte)(EUC_JP HEX)=" + DatatypeConverter.printHexBinary(name_kana.getBytes("EUC_JP")));
		DEBUG_LOG.debug("name_kana(byte)=" + name_kana.getBytes("SJIS"));
		DEBUG_LOG.debug("name_kana(byte)(SJIS HEX)=" + DatatypeConverter.printHexBinary(name_kana.getBytes("SJIS")));
		}catch(Exception e){
			DEBUG_LOG.debug("暗号化に失敗");
			
		}
		DEBUG_LOG.debug("add_info=" + add_info);
		DEBUG_LOG.debug("ck=" + randomKey);
		DEBUG_LOG.debug("暗号化前パラメータを出力 END");

		// 文字コード変換
		try
		{
			DEBUG_LOG.info("----- 文字コード変換  Start -----");
			shop_cd = new String(shop_cd.getBytes("EUC_JP"), "EUC_JP");
			security_key = new String(security_key.getBytes("EUC_JP"), "EUC_JP");
			customer_number = new String(customer_number.getBytes("EUC_JP"), "EUC_JP");

			// プロパティより契約者カナ氏名のEUCコード固定値フラグを取得する。
			String euc_flg = JFUWebCommon.getDispText(JFUScreenConst.SCREEN_ID_FUW00144, KFR_EUC_KANASHIMEI_FLG);
			if ("1".equals(euc_flg))
			{
				name_kana = JFUWebCommon.getDispText(JFUScreenConst.SCREEN_ID_FUW00144, KFR_EUC_KANASHIMEI);
				name_kana = new String(DatatypeConverter.parseHexBinary(name_kana));
			}
			else
			{
//				name_kana_sjis = new String(name_kana.getBytes("UTF-8"), "SJIS");
//				name_kana_euc = new String(name_kana_sjis.getBytes("SJIS"), "EUC_JP");
//				name_kana2 = new String(name_kana.getBytes("EUC_JP"));
//				name_kana = name_kana_euc;

//				name_kana_sjis = new String(name_kana.getBytes("SJIS"), "SJIS");
//				name_kana_euc = new String(name_kana_sjis.getBytes("EUC_JP"), "EUC_JP");
//				name_kana2 = new String(name_kana.getBytes("EUC_JP"), "EUC_JP");
//				name_kana = name_kana_euc;
				
//				byte[] srcStream = name_kana.getBytes("UTF-8");
//				name_kana_utf = new String(srcStream);
				byte[] destStream = name_kana.getBytes("SJIS");
				name_kana_sjis = new String(destStream,"SJIS");
				byte[] outStream = name_kana_sjis.getBytes("EUC_JP");
				name_kana_euc = new String(outStream,"EUC_JP");
				name_kana2 = new String(name_kana.getBytes("EUC_JP"));
				name_kana = name_kana_euc;
			}

			add_info = new String(add_info.getBytes("EUC_JP"), "EUC_JP");
			randomKey = new String(randomKey.getBytes("EUC_JP"), "EUC_JP");
			DEBUG_LOG.info("----- 文字コード変換  End -----");
		}
		catch (Exception e)
		{
			DEBUG_LOG.debug("※口座振替：EUC_JPへ文字コード変換処理でエラー");
			DEBUG_LOG.debug(e.toString());
		}
				
		// パラメータをログに出力(後で消す)
		DEBUG_LOG.debug("文字コード変換後パラメータを出力 START");
		DEBUG_LOG.debug("shop_cd=" + shop_cd);
		DEBUG_LOG.debug("security_key=" + security_key);
		DEBUG_LOG.debug("customer_number=" + customer_number);
		DEBUG_LOG.debug("name_kana=" + name_kana);
		DEBUG_LOG.debug("name_kana(byte)=" + name_kana.getBytes());
		DEBUG_LOG.debug("name_kana(byte)(HEX)=" + DatatypeConverter.printHexBinary(name_kana.getBytes()));
		DEBUG_LOG.debug("name_kana2=" + name_kana2);
		DEBUG_LOG.debug("name_kana2(byte)=" + name_kana2.getBytes());
		DEBUG_LOG.debug("name_kana2(byte)(HEX)=" + DatatypeConverter.printHexBinary(name_kana2.getBytes()));

		DEBUG_LOG.debug("name_kana_sjis=" + name_kana_sjis);
		DEBUG_LOG.debug("name_kana_sjis(byte)=" + name_kana_sjis.getBytes());
		DEBUG_LOG.debug("name_kana_sjis(byte)(HEX)=" + DatatypeConverter.printHexBinary(name_kana_sjis.getBytes()));
		DEBUG_LOG.debug("name_kana_euc=" + name_kana_euc);
		DEBUG_LOG.debug("name_kana_euc(byte)=" + name_kana_euc.getBytes());
		DEBUG_LOG.debug("name_kana_euc(byte)(HEX)=" + DatatypeConverter.printHexBinary(name_kana_euc.getBytes()));
		try{
			DEBUG_LOG.debug("name_kana(byte)=" + name_kana.getBytes("UTF-8"));
			DEBUG_LOG.debug("name_kana(byte)(UTF-8 HEX)=" + DatatypeConverter.printHexBinary(name_kana.getBytes("UTF-8")));
			DEBUG_LOG.debug("name_kana(byte)=" + name_kana.getBytes("EUC_JP"));
			DEBUG_LOG.debug("name_kana(byte)(EUC_JP HEX)=" + DatatypeConverter.printHexBinary(name_kana.getBytes("EUC_JP")));
			DEBUG_LOG.debug("name_kana(byte)=" + name_kana.getBytes("SJIS"));
			DEBUG_LOG.debug("name_kana(byte)(SJIS HEX)=" + DatatypeConverter.printHexBinary(name_kana.getBytes("SJIS")));

			DEBUG_LOG.debug("name_kana_euc(byte)=" + name_kana_euc.getBytes("EUC_JP"));
			DEBUG_LOG.debug("name_kana_euc(byte)(EUC_JP HEX)=" + DatatypeConverter.printHexBinary(name_kana_euc.getBytes("EUC_JP")));
			DEBUG_LOG.debug("name_kana_sjis(byte)=" + name_kana_sjis.getBytes("SJIS"));
			DEBUG_LOG.debug("name_kana_sjis(byte)(SJIS HEX)=" + DatatypeConverter.printHexBinary(name_kana_sjis.getBytes("SJIS")));
			}catch(Exception e){}
		
		DEBUG_LOG.debug("add_info=" + add_info);
		DEBUG_LOG.debug("ck=" + randomKey);
		DEBUG_LOG.debug("文字コード変換後パラメータを出力 END");

		// 暗号化
		try
		{
			// 共通暗号化キーをAPLConstから取得
			String comkey = JFUStrConst.EMPTY;
			if(JFUStrConst.MSKM_KBN_ADD.equals(mskmKbn))
			{
				// サービス追加
				comkey = JCCWebCommon.getApplicationConst(KOUZA_FURIKAE_ENCRYPTION_KEY_3);
			}
			else
			{
				// サービス追加以外
				comkey = JCCWebCommon.getApplicationConst(KOUZA_FURIKAE_ENCRYPTION_KEY);
			}

			// 共通暗号化キーで暗号化キーを暗号化
			ck = encryptKey_euc(comkey, randomKey);

			// パラメータの暗号化
			security_key = encrypt_euc(randomKey, security_key);
			name_kana = encrypt_euc(randomKey, name_kana);
			add_info = encrypt_euc(randomKey, add_info);
	
			security_key_A = encrypt_euc(randomKey, security_key);
			name_kana_A = encrypt_euc(randomKey, name_kana);
			add_info_A = encrypt_euc(randomKey, add_info);

			//確認テスト
			byte[] decTextByte = "イオ　ヒカリ".getBytes();
			decText = DatatypeConverter.printHexBinary(decTextByte);
			DEBUG_LOG.debug("暗号化前 イオヒカリの16進数 DatatypeConverter.printHexBinary(decTextByte)=" + decText);
			decText = new String(DatatypeConverter.parseHexBinary(decText));
			DEBUG_LOG.debug("暗号化前 イオヒカリの16進数 DatatypeConverter.parseHexBinary(decText)=" + decText);
			decText = encrypt(randomKey, decText);
			eo_hikari = "イオ　ヒカリ";
			eo_hikari = encrypt(randomKey, eo_hikari);
		}
		catch (Exception e)
		{
			DEBUG_LOG.debug("※口座振替：暗号化処理でエラー");
			DEBUG_LOG.debug(e.toString());
		}
		
		//サービスフォームBeanに値を設定
		X31SDataBeanAccess serviceFormBean = getServiceFormBean();
		serviceFormBean.sendMessageString(FUW00144SFConst.SHOP_CD, X31CWebConst.DATABEAN_SET_VALUE, shop_cd);
		serviceFormBean.sendMessageString(FUW00144SFConst.SECURITY_KEY, X31CWebConst.DATABEAN_SET_VALUE, security_key);
		serviceFormBean.sendMessageString(FUW00144SFConst.CUSTOMER_NUMBER, X31CWebConst.DATABEAN_SET_VALUE, customer_number);
		serviceFormBean.sendMessageString(FUW00144SFConst.NAME_KANA, X31CWebConst.DATABEAN_SET_VALUE, name_kana);
		serviceFormBean.sendMessageString(FUW00144SFConst.ADD_INFO, X31CWebConst.DATABEAN_SET_VALUE, add_info);
		serviceFormBean.sendMessageString(FUW00144SFConst.CK, X31CWebConst.DATABEAN_SET_VALUE, ck);
		
		// パラメータをログに出力(後で消す)
		DEBUG_LOG.debug("暗号化後パラメータを出力 START");
		DEBUG_LOG.debug("shop_cd=" + shop_cd);
		DEBUG_LOG.debug("security_key=" + security_key);
		DEBUG_LOG.debug("customer_number=" + customer_number);
		DEBUG_LOG.debug("name_kana=" + name_kana);

		//確認テスト
		DEBUG_LOG.debug("security_key_A=" + security_key_A);
		DEBUG_LOG.debug("name_kana_A=" + name_kana_A);
		DEBUG_LOG.debug("add_info_A=" + add_info_A);
		DEBUG_LOG.debug("暗号化後 イオヒカリの16進数 decText=" + decText);
		DEBUG_LOG.debug("暗号化後 イオヒカリ eo_hikari=" + eo_hikari);
		
		DEBUG_LOG.debug("add_info=" + add_info);
		DEBUG_LOG.debug("ck=" + ck);
		DEBUG_LOG.debug("暗号化後パラメータを出力 END");
	}

	//【ANK-0235-00-00】【ANK-0236-00-00】【ANK-0244-00-00】add start ------------------

	/**
	 * UQ白ロム申込説明画面へリダイレクトします。
	 * <br>
	 * @return boolean true(固定)
	 */
	public boolean redirectUq()
	{

		DEBUG_LOG.info("----- redirectUq(redirect) Start -----");

		// UQ白ロム申込説明画面へリダイレクト(他サイト連携)
		getCommonInfoBean().sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, OSID_FUIFE106);

		DEBUG_LOG.info("----- redirectUq(redirect) End -----");
		return true;
	}

	/**
	 * iDAログイン画面へリダイレクトします。
	 * <br>
	 * @return boolean true(固定)
	 */
	public boolean redirectIdaLogin()
	{
		DEBUG_LOG.info("----- redirectIdaLogin Start -----");

		// iDAログイン画面へリダイレクト(他サイト連携)
		JFUWebCommon.setDataBeanItemByPath(getServiceFormBean(), FUW00144SFConst.IDA_LOGIN_TRANS_FLG, TRANS_FLG_OFF);
		getCommonInfoBean().sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, OSID_IDA_LOGIN);

		DEBUG_LOG.info("----- redirectIdaLogin End -----");

		return true;
	}

	/**
	 * アクションとIPアドレスによるアクセス制御を行います。
	 * <br>
	 * @param posted_requests	リクエストパラメータ
	 * @throws Exception		アクセス制限チェック[共通部品]で発生する冷害
	 */
	@SuppressWarnings("unchecked")
	private void doAccssCtrl(X31CHashMap posted_requests) throws Exception
	{
		// 業務規制コード：FUGKW0102　【許可アクション、許可IPアドレスによるアクセス規制】
		if (JFUStrConst.REQUEST_RESTRICTION_FLG_ON.equals(getKiseiFlg(WORK_KISEI_CD_IP)))
		{
			// →規制フラグが"1"(規制中)の場合、アクセス制限チェック[共通部品]
			boolean isAcskkI = JFUWebCommon.isAcskkIpAction(super.getClientIPAddress(), (String)posted_requests.get(POST_ID_ACTION));
			DEBUG_LOG.debug("【isAcskkIpAction戻り値】：" + isAcskkI);

			// 制限チェック結果がfalse(アクセス制限)の場合、メンテナンス中エラー
			if (!isAcskkI)
			{
				DEBUG_LOG.info("業務規制【メンテナンス中エラー】アクションとIPアドレスによる制御");

				// 制限チェック結果がエラーの場合、メンテナンス中エラー
				//  "GKW0008"（アクションとIPアドレスによる制御）
				throw new JCCBusinessException(JFUStrConst.ERROR_CODE_GKW0102);
			}
		}
	}

	/**
	 * UQからの遷移時処理を行います。
	 * <br>
	 * @param common_info_bean	共有フォームBean
	 * @param web_new_bean		WEB新規情報
	 * @param posted_requests	リクエストパラメータ
	 * @return true:以降の処理は行わずinit処理を終了／false:後続処理を続行
	 * @throws Exception	すべての例外
	 */
	@SuppressWarnings("unchecked")
	private boolean isAfterUqActionExit(X31SDataBeanAccess common_info_bean, X31SDataBeanAccess web_new_bean, X31CHashMap posted_requests)
			throws Exception
	{
		// リクエストからアクションを取得
		String action = (String)posted_requests.get(POST_ID_ACTION);
		DEBUG_LOG.info("【アクション】" + action);

		// ----------------------------------------------------
		// アクション＝「WiwH」の場合
		// ----------------------------------------------------
		if (ACTION_WIWH.equals(action))
		{
			// リクエストパラメータからURL置換フラグを取得(httpsにURL置換後、JSPでPOSTしている)
			String url_ckan_flg = (String)posted_requests.get(URL_CKAN_FLG);
			DEBUG_LOG.debug("【URL置換フラグ】" + url_ckan_flg);

			// URL置換フラグが"1"でない場合
			if (!URL_CKAN_FLG_1.equals(url_ckan_flg))
			{
				// →UQからの初回アクセス 【UQ初回アクション処理】
				doWiwHFirstAct(common_info_bean, web_new_bean);

				DEBUG_LOG.info("----- init(redirect WiwH First) End -----");

				// 以降の処理は行わず終了
				// (いったん自画面JSPへ→メソッド「redirectUq」でeonet.jp UQ白ロム用説明画面へリダイレクト)
				return true;
			}
			// URL置換フラグが"1"の場合(自身のJSPでPOSTした値が取得できた場合)

			// →WiwH2でhttpsにURL置換後のリダイレクト
			// ----------------------------------------------------
			// 【UQ初回以外アクション処理】
			// ----------------------------------------------------
			doWiwHNotFirstAct(common_info_bean, web_new_bean, posted_requests);

			DEBUG_LOG.info("----- init(redirect WiwH) End [goto after WiwH action] -----");

			// →アクションを置換し「WiwH」の後続処理へ
			return false;
		}
		// ----------------------------------------------------
		// アクション＝「redirectUq」の場合
		// ----------------------------------------------------
		else if (ACTION_REDIRECT_UQ.equals(action))
		{
			// →UQからの初回アクセス 【UQ初回アクション処理】
			doRedirectUqFirstAct(common_info_bean, web_new_bean);

			DEBUG_LOG.info("----- init(redirect Uq First) End -----");

			// 以降の処理は行わず終了
			// (いったん自画面JSPへ→メソッド「redirectUq」でeonet.jp UQ白ロム用説明画面へリダイレクト)
			return true;
		}
		// ----------------------------------------------------
		// アクション＝「WiwH2」の場合
		// ----------------------------------------------------
		else if (ACTION_WIWH2.equals(action))
		{
			// → UQ白ロム申込説明画面(eonet.jp)からの遷移時 【アクション「WiwH2」処理】
			doWiwH2Act(common_info_bean, web_new_bean);

			DEBUG_LOG.info("----- init(redirect WiwH2) End -----");

			// 以降の処理は行わず終了
			// (httpsアクセスで再度自画面へリダイレクト)
			return true;
		}

		// 上記以外のアクションは、何も行わず後続処理へ
		return false;
	}

	/**
	 * アクション「WiwH2」処理
	 * <br>
	 * @param common_info_bean	共有フォームBean
	 * @param web_new_bean		WEB新規情報
	 */
	private void doWiwH2Act(X31SDataBeanAccess common_info_bean, X31SDataBeanAccess web_new_bean) throws Exception
	{
		DEBUG_LOG.info("■アクション＝「WiwH2」----- URL置換実行 -----");

		// 共有フォームBeanの取得
		X31SDataBeanAccess commonInfoBean = getCommonInfoBean();

		// サービスフォームBeanのデータBeanアクセスクラスを取得
		X31SDataBeanAccess bean = getServiceFormBean();

		// 業務規制リスト取得
		X31SDataBeanAccess workKiseiListBean = getWorkKiseiList(commonInfoBean);

		// フロント稼動対象規制フラグ(フロント２４時間３６５日稼動対象規制)

		if (JFUStrConst.CD01306_1.equals(workKiseiListBean.sendMessageString(CommonInfoCFConst.FRONT_KADO_TRGT_KISEI_FLG_48,
				X31CWebConst.DATABEAN_GET_VALUE)))
		{
			// 規制フラグが"1"(規制中)の場合
			DEBUG_LOG.info("業務規制【メンテナンス中エラー】フロント２４時間３６５日稼動対象規制");
			// メンテナンス中エラー "FUGKW0009"
			throw new JCCBusinessException(JFUStrConst.ERROR_CODE_GKW0009);
		}

		// ----------------------------------------------------
		// 取得パラメータチェック
		// ----------------------------------------------------
		// ｅｏモバイル.ＭＡＣアドレス (UQ初回アクション処理にてセッション(共有フォームBean)に格納したWiMAXMacアドレス)
		String encryptedMacAddress = getValueFromBean(web_new_bean, MOBILE_PATH + CommonInfoCFConst.MAC_ADDRESS_14);

		// WiMAXMacアドレス」が取得できない場合
		if (JFUWebCommon.isNull(encryptedMacAddress))
		{
			DEBUG_LOG.debug("【システムエラー】UQ初回アクション処理でセッション(共有フォームBean)に格納したWiMAXMacアドレスが取得できない");
			throw new JCCBusinessException(JFUStrConst.ERROR_CODE_0002); // システムエラー
		}

		// ----------------------------------------------------
		// WiMAXMacアドレス複号化
		// ----------------------------------------------------
		String macAddress = decryptMacAddress(encryptedMacAddress);

		// ----------------------------------------------------
		// MACアドレスチェック
		// ----------------------------------------------------

		// 割引サービス情報取得 (MACアドレスチェック)
		HashMap<String, Object> resultMap = getWribSvcInfo(bean, macAddress, false);

		// MACアドレス存在チェック
		this.chkMacAddress(resultMap);

		// ----------------------------------------------------
		// URL置換(http → https) ※STまではhttpのままの値
		// ----------------------------------------------------
		// アプリケーションプロパティからHTTPS接続変換用URL置換文字列を取得
		String https_url = JFUWebCommon.getApplicationConst(JFUStrConst.FU_N_HTTPS_URL_UQ);
		// サービスフォームBean.WiMAX白ロム用リダイレクトURLに編集後URLを設定
		JFUWebCommon.setDataBeanItemByPath(getServiceFormBean(), FUW00144SFConst.WIMAX_WHITE_REDIRECT_URL, https_url);
		// ＭＥＴＡタグ抑止フラグを設定(metaタグ["refresh"]の出力を抑止するためのフラグ)
		JFUWebCommon.setDataBeanItemByPath(getServiceFormBean(), FUW00144SFConst.META_TAG_YOKSI_FLG, META_TAG_YOKSI_FLG_ON);

		// ----------------------------------------------------
		// 遷移先画面ID(自画面)を指定し、処理を終了
		// ----------------------------------------------------
		// 遷移先画面ＩＤ
		common_info_bean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JFUScreenConst.SCREEN_ID_FUW00144);
		// 遷移先画面名
		common_info_bean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JFUScreenConst.SCREEN_NAME_FUW00144);
	}

	/**
	 * アクション「WiwH」初回処理【UQからの初回アクセス時処理】
	 * <br>
	 * @param common_info_bean	共有フォームBean
	 * @param web_new_bean		WEB新規情報
	 * @throws Exception		すべての例外
	 */
	private void doWiwHFirstAct(X31SDataBeanAccess common_info_bean, X31SDataBeanAccess web_new_bean) throws Exception
	{
		DEBUG_LOG.info("■アクション＝「WiwH」----- 【UQ初回アクション処理】 -----");

		// HTTPリクエスト取得
		HttpServletRequest request = X33CUtil.getSession(getSessionId()).getServletRequest();

		// 共有フォームBeanの取得
		X31SDataBeanAccess commonInfoBean = getCommonInfoBean();

		// 業務規制リスト取得
		X31SDataBeanAccess workKiseiListBean = getWorkKiseiList(commonInfoBean);

		// フロント稼動対象規制フラグ(フロント２４時間３６５日稼動対象規制)
		if (JFUStrConst.CD01306_1.equals(workKiseiListBean.sendMessageString(CommonInfoCFConst.FRONT_KADO_TRGT_KISEI_FLG_48,
				X31CWebConst.DATABEAN_GET_VALUE)))
		{
			// 規制フラグが"1"(規制中)の場合
			DEBUG_LOG.info("業務規制【メンテナンス中エラー】フロント２４時間３６５日稼動対象規制");
			// メンテナンス中エラー "FUGKW0009"
			throw new JCCBusinessException(JFUStrConst.ERROR_CODE_GKW0009);
		}

		// パラメータ取得
		// UQ初回申込判別フラグ
		String uq_first_mkm_flg = request.getParameter(POST_ID_UQ_FIRST_MKM_FLG);
		// WiMAXMacアドレス
		String paramEncryptedMacAddress = getParamMacAddress(request);

		DEBUG_LOG.debug("UQ初回申込判別フラグ:" + uq_first_mkm_flg);
		DEBUG_LOG.debug("WiMAXMacアドレス(パラメータ):" + paramEncryptedMacAddress);

		// ----------------------------------------------------
		// UQ白ロムメンテナンス規制チェック
		// ----------------------------------------------------
		// 業務規制コード：FUGKW0007　【UQ（ポータルアクセス制御サーバー）】
		if (JFUStrConst.REQUEST_RESTRICTION_FLG_ON.equals(getKiseiFlg(WORK_KISEI_CD_UQ)))
		{
			// 規制フラグが"1"(規制中)の場合
			DEBUG_LOG.info("業務規制【メンテナンス中エラー】UQ（ポータルアクセス制御サーバー）");
			// メンテナンス中エラー "FUGKW0007"（UQ）
			throw new JCCBusinessException(JFUStrConst.ERROR_CODE_GKW0007);
		}

		// ----------------------------------------------------
		// サービスフォームBean設定
		// ----------------------------------------------------
		// サービスフォームBeanのデータBeanアクセスクラスを取得
		X31SDataBeanAccess bean = getServiceFormBean();

		// ｅｏモバイル.UQ初回申込判別フラグ
		bean.sendMessageString(FUW00144SFConst.UQFIRSTMKMFLG, X31CWebConst.DATABEAN_SET_VALUE, uq_first_mkm_flg);

		// ｅｏモバイル.WiMAXMacアドレス
		bean.sendMessageString(FUW00144SFConst.MACADDRESS, X31CWebConst.DATABEAN_SET_VALUE, paramEncryptedMacAddress);

		// ----------------------------------------------------
		// UQ白ロム申込説明画面へリダイレクト
		// ----------------------------------------------------
		// ＭＥＴＡタグ抑止フラグを設定
		JFUWebCommon.setDataBeanItemByPath(getServiceFormBean(), FUW00144SFConst.META_TAG_YOKSI_FLG, META_TAG_YOKSI_FLG_ON);
		// UQ白ロム申込説明画面遷移フラグ(JSPで遷移のためのbodyを出力するためのフラグ)
		JFUWebCommon.setDataBeanItemByPath(getServiceFormBean(), FUW00144SFConst.UQ_WHITE_ROM_TRANS_FLG, TRANS_KBN_FIRST);

		// ----------------------------------------------------
		// 遷移先画面ID(自画面)を指定し、処理を終了
		// ----------------------------------------------------
		// 遷移先画面ＩＤ
		common_info_bean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JFUScreenConst.SCREEN_ID_FUW00144);
		// 遷移先画面名
		common_info_bean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JFUScreenConst.SCREEN_NAME_FUW00144);
	}

	/**
	 * アクション「redirectUq」【UQからの初回アクセス時処理】
	 * <br>
	 * @param common_info_bean	共有フォームBean
	 * @param web_new_bean		WEB新規情報
	 * @throws Exception		すべての例外
	 */
	private void doRedirectUqFirstAct(X31SDataBeanAccess common_info_bean, X31SDataBeanAccess web_new_bean) throws Exception
	{
		DEBUG_LOG.info("----- redirectUq(redirect) Start -----");

		// サービスフォームBeanのデータBeanアクセスクラスを取得
		X31SDataBeanAccess bean = getServiceFormBean();
		// HTTPリクエスト取得
		HttpServletRequest request = X33CUtil.getSession(getSessionId()).getServletRequest();

		// パラメータ取得
		// UQ初回申込判別フラグ
		String uq_first_mkm_flg = request.getParameter(POST_ID_UQ_FIRST_MKM_FLG_RE);
		//TEST用HTMLでPOSTしたWiMAXMacアドレスを取得
		String paramEncryptedMacAddress = request.getParameter(POST_ID_MAC_ADDRESS_RE);

		DEBUG_LOG.debug("UQ初回申込判別フラグ:" + uq_first_mkm_flg);
		DEBUG_LOG.debug("WiMAXMacアドレス(パラメータ):" + paramEncryptedMacAddress);

		// ----------------------------------------------------
		// WiMAXMacアドレス複号化
		// ----------------------------------------------------
		String macAddress = decryptMacAddress(paramEncryptedMacAddress);

		// 割引キャンペーンコード一覧照会明細（WiMAX白ロム）.割引サービスコード
		String wrib_svc_cd = "";
		// ----------------------------------------------------
		// WiMAX白ロム申込初回限定２カ月無料キャンペーン適用可否判定
		// ----------------------------------------------------
		// UQ初回申込判別フラグが"0"(初回申込)の場合
		if (UQ_FIRST_APPLICATION_FLG.equals(uq_first_mkm_flg))
		{
			// 割引サービス情報取得 (MACアドレスチェック)
			HashMap<String, Object> resultMap = getWribSvcInfo(bean, macAddress, true);

			// MACアドレス存在チェック
			this.chkMacAddress(resultMap);

			// 受付期間チェック (受付期間中の場合、取得した割引サービスコードが戻り値)
			wrib_svc_cd = chkUkPrd(bean, bean.getDataBeanArray(FUW00144SFConst.WRIB_CMP_WIMAX_WHITE_LIST), JFUStrConst.ERROR_CODE_0602);
		}

		// ----------------------------------------------------
		// 共有フォームBean設定
		// ----------------------------------------------------
		// ｅｏモバイル.ＭＡＣアドレス	※初回アクセスはhttp接続のため暗号化したまま格納
		setBeanValueString(web_new_bean, MOBILE_PATH + CommonInfoCFConst.MAC_ADDRESS_14, paramEncryptedMacAddress);

		// リダイレクト情報.WiMAX（白ロム）用割引サービスコード
		setBeanValueString(web_new_bean, REDIRECT_PATH + CommonInfoCFConst.WIMAX_WHITE_WRIB_SVC_CD_17, wrib_svc_cd);

		// ＭＥＴＡタグ抑止フラグを設定
		JFUWebCommon.setDataBeanItemByPath(getServiceFormBean(), FUW00144SFConst.META_TAG_YOKSI_FLG, META_TAG_YOKSI_FLG_ON);
		// UQ白ロム申込説明画面遷移フラグ(JSPで遷移のためのbodyを出力するためのフラグ)
		JFUWebCommon.setDataBeanItemByPath(getServiceFormBean(), FUW00144SFConst.UQ_WHITE_ROM_TRANS_FLG, TRANS_KBN_SECOND);

		// ----------------------------------------------------
		// 遷移先画面ID(自画面)を指定し、処理を終了
		// ----------------------------------------------------
		// 遷移先画面ＩＤ
		common_info_bean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JFUScreenConst.SCREEN_ID_FUW00144);
		// 遷移先画面名
		common_info_bean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JFUScreenConst.SCREEN_NAME_FUW00144);

		
		DEBUG_LOG.info("----- redirectUq(redirect) End -----");
	}

	/**
	 * アクション「WiwH」初回以外処理【UQからのアクセスが初回でない場合の処理】
	 * <br>
	 * @param common_info_bean	共有フォームBean
	 * @param web_new_bean		WEB新規情報
	 * @param posted_requests	リクエストパラメータ
	 * @throws Exception	すべての例外
	 */
	@SuppressWarnings("unchecked")
	private void doWiwHNotFirstAct(X31SDataBeanAccess common_info_bean, X31SDataBeanAccess web_new_bean, X31CHashMap posted_requests)
			throws Exception
	{
		DEBUG_LOG.info("■アクション＝「WiwH」----- 【UQ初回以外アクション処理】 -----");

		// サービスフォームBeanのデータBeanアクセスクラスを取得
		X31SDataBeanAccess bean = getServiceFormBean();

		// ----------------------------------------------------
		// パラメータ受け取り
		// ----------------------------------------------------
		//   初回アクセス時に共有フォームBeanに格納し「WiwH2」
		//   アクションでSession情報を自画面へPOST送信している
		// ----------------------------------------------------
		// WiMAXMacアドレス
		String postedEncryptedMacAddress = (String)posted_requests.get(POST_MAC_ADDRESS_KEY);
		// WiMAX（白ロム）用割引サービスコード
		String wimaxWhiteWribSvcCd = JFUWebCommon.nvl((String)posted_requests.get(POST_WHITE_WRIB_KEY), "");

		DEBUG_LOG.debug("(POST)WiMAXMacアドレス:" + postedEncryptedMacAddress);
		DEBUG_LOG.debug("(POST)WiMAX（白ロム）用割引サービスコード:" + wimaxWhiteWribSvcCd);

		// ----------------------------------------------------
		// WiMAXMacアドレス複号化
		// ----------------------------------------------------
		String macAddress = decryptMacAddress(postedEncryptedMacAddress);

		// ----------------------------------------------------
		// MACアドレスチェック
		// ----------------------------------------------------

		// 割引サービス情報取得 (MACアドレスチェック)
		HashMap<String, Object> resultMap = getWribSvcInfo(bean, macAddress, false);

		// MACアドレス存在チェック
		this.chkMacAddress(resultMap);

		// ----------------------------------------------------
		// 共有フォームBeanに格納
		// ----------------------------------------------------
		// ｅｏモバイル.ＭＡＣアドレス
		setBeanValueString(web_new_bean, MOBILE_PATH + CommonInfoCFConst.MAC_ADDRESS_14, macAddress);
		// リダイレクト情報.WiMAX（白ロム）用割引サービスコード
		setBeanValueString(web_new_bean, REDIRECT_PATH + CommonInfoCFConst.WIMAX_WHITE_WRIB_SVC_CD_17, wimaxWhiteWribSvcCd);

	}

	/**
	 * 規制フラグ取得
	 * <br>
	 * @param work_kisei_cd		業務規制コード
	 * @return	業務規制コードが一致する業務規制一覧照会明細から取得した規制フラグ(一致する明細が存在しない場合はnull)
	 */
	private String getKiseiFlg(String work_kisei_cd)
	{
		// 規制フラグ
		String kisei_flg = null;

		// 業務規制情報取得
		HashMap<String, Object> workKiseiInfoMap = JCCWebCommon.getBusinessControlMap(this);

		// 業務規制情報マップから、規制情報を取得
		HashMap<?, ?> workKiseiMap = (HashMap<?, ?>)workKiseiInfoMap.get(work_kisei_cd);

		if (!JFUWebCommon.isNull(workKiseiMap))
		{
			// 業務規制フラグの取得
			kisei_flg = (String)workKiseiMap.get(JFUStrConst.KISEI_FLG);
		}
		return kisei_flg;
	}

	/**
	 * 割引サービス情報取得
	 * <br>
	 * @param bean			サービスフォームBean
	 * @param macAddress	複号化したMACアドレス
	 * @param firstFlg 初回フラグ
	 */
	private HashMap<String, Object> getWribSvcInfo(X31SDataBeanAccess bean, String macAddress, Boolean firstFlg)
	{
		if (firstFlg)
		{
			// サービスインターフェイスパラメータの設定(FUSV021901SC)
			setParamFUSV021901SC(bean, macAddress);
		}
		// サービス呼出
		return callSvcFUSV0219(bean, macAddress, firstFlg);
	}

	/**
	 * サービスインターフェイスパラメータの設定(FUSV021901SC)
	 * <br>
	 * @param bean			サービスフォームBean
	 * @param macAddress	複号化したMACアドレスの上6桁
	 */
	private void setParamFUSV021901SC(X31SDataBeanAccess bean, String macAddress)
	{
		// 割引サービス適用条件値 ← 複号化したMACアドレスの上6桁
		JFUWebCommon.setDataBeanItemByPath(bean, FUW00144SFConst.WRSV_APLY_JKN_VALUE, macAddress.substring(0, 6));
		// 申込年月日時分 ← 運用日時の「時分」まで
		JFUWebCommon.setDataBeanItemByPath(bean, FUW00144SFConst.MSKM_YMDHM, getMskmYmdhm());
	}

	/**
	 * サービス呼出処理（FUSV0219_割引サービス情報取得(WiMAX白ロム)）
	 * <br>
	 * @param bean				サービスフォームBean
	 * @param commonInfoBean	共有フォームBean
	 * @param funcCd			機能コード
	 * @param firstFlg			初回フラグ true:初回,false:初回でない
	 */
	private HashMap<String, Object> callSvcFUSV0219(X31SDataBeanAccess bean, String macAddress, Boolean firstFlg)
	{
		// パラメータ作成
		X31SDataBeanAccess[] paramBean = { bean };

		// サービスIDをparamにセット
		Map<String, String> paramMap = new HashMap<String, String>();
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, USECASE_ID_FUSV0219);

		// 設定値格納用マップを生成。
		HashMap<String, Object> inputMap = new HashMap<String, Object>();
		// 検索結果格納用マップを生成。
		HashMap<String, Object> outputMap = new HashMap<String, Object>();

		// DataBean-BPマッピング
		FUSV0219_FUSV0219OPDBMapper mapper = new FUSV0219_FUSV0219OPDBMapper();

		// サービスの入力値設定

		if (firstFlg)
		{
			// 機能コード:"1"
			// EKK2311B503_割引キャンペーンコード一覧照会（WiMAX白ロム）
			mapper.setFUSV021901SC(paramBean, inputMap, JPCModelConstant.FUNC_CD_1);
			// EKK2391B501_データ抽出項目設定条件一覧照会（その他CP）
			mapper.setFUSV021903SC(paramBean, inputMap, JPCModelConstant.FUNC_CD_1);
		}

		// EKK0121B501_ＭＡＣアドレス使用状況一覧照会
		mapper.setFUSV021902SC(paramBean, inputMap, JPCModelConstant.FUNC_CD_1, macAddress, this);

		try
		{
			// サービス呼出
			invokeService(paramMap, inputMap, outputMap);
		}
		catch (JCCWebServiceException se)
		{
			DEBUG_LOG.debug("【システムエラー】FUSV0219_サービス呼出でJCCWebServiceException発生");
			// システムエラー
			throw new JCCBusinessException(JFUStrConst.ERROR_CODE_0002);
		}

		if (firstFlg)
		{
			// サービスの出力値設定
			mapper.getFUSV021901SC(paramBean, outputMap);
			// サービスの出力値設定
			mapper.getFUSV021903SC(paramBean, outputMap);
		}
		return outputMap;
	}

	/**
	 * 申込年月日時分取得
	 * <br>
	 * @return	申込年月日時分(yyyyMMddHHmm)
	 */
	private String getMskmYmdhm()
	{
		String mskm_ymdhm = "";

		// オンライン運用日時を取得
		String opeDateTime = JFUWebCommon.getOpeDateTime(this, null);
		// オンライン運用日時の時分までを返却
		mskm_ymdhm = opeDateTime.substring(0, 12);

		DEBUG_LOG.info("【オンライン運用日時】" + opeDateTime);
		DEBUG_LOG.info("【申込年月日時分】" + mskm_ymdhm);

		return mskm_ymdhm;
	}

	/**
	 * 受付期間チェック
	 * <br>
	 * @param bean			サービスフォームBean
	 * @param beanArray		割引キャンペーンコード一覧照会明細アクセサ
	 * @param errCd			共通エラー画面用エラーコード
	 * @return 受付期間中の場合、取得した割引キャンペーンコード／それ以外の場合、""(空文字)
	 */
	private String chkUkPrd(X31SDataBeanAccess bean, X31SDataBeanAccessArray beanArray, String errCd)
	{
		// (明細が取得できなかった場合は、受付期間チェックは行わない)
		if (0 == beanArray.getCount())
		{
			return "";
		}

		// 割引キャンペーンコード一覧照会明細
		X31SDataBeanAccess wribCmpBean = beanArray.getDataBean(0);

		// サービスフォームBean.申込年月日時分(オンライン運用日時の時分部分を設定している)
		String mskm_ymdhm = JFUWebCommon.getDataBeanItemByPath(bean, FUW00144SFConst.MSKM_YMDHM);
		// 取得明細.受付開始年月日時分
		String uk_sta_ymdhm = JFUWebCommon.getDataBeanItemByPath(wribCmpBean, FUW00144SFConst.UK_STA_YMDHM_06);
		// 取得明細.受付終了年月日時分
		String uk_end_ymdhm = JFUWebCommon.getDataBeanItemByPath(wribCmpBean, FUW00144SFConst.UK_END_YMDHM_06);

		if (uk_sta_ymdhm.compareTo(mskm_ymdhm) <= 0 && uk_end_ymdhm.compareTo(mskm_ymdhm) >= 0)
		{
			// 取得明細.受付開始年月日時分＜＝サービスフォームBean.申込年月日時分＜＝取得明細.受付終了年月日時分
			return JFUWebCommon.getDataBeanItemByPath(wribCmpBean, FUW00144SFConst.WRIB_SVC_CD_06);
		}

		// 受付期間中（※）でない場合はキャンペーン適用エラー
		throw new JCCBusinessException(errCd); // 0601：紹介CP or 0602：UQCP
	}

	/**
	 * MACアドレス存在チェック
	 * <br>
	 * @param resultMap
	 */
	private void chkMacAddress(HashMap<String, Object> resultMap)
	{
		HashMap<String, Object> parentMap = null;

		if (resultMap.containsKey("FUSV021902SC"))
		{
			parentMap = (HashMap)resultMap.get("FUSV021902SC");
		}
		if (parentMap != null)
		{
			int macCnt = ((ArrayList)parentMap.get("EKK0121B501CBSMsg1List")).size();

			// データが存在する場合、エラー
			if (macCnt > 0)
			{
				throw new JCCBusinessException(JFUStrConst.ERROR_CODE_0121);
			}
		}
	}

	/**
	 * WiMAXMacアドレス複号化処理
	 * <br>
	 * @param encryptedMacAddress	暗号化されたMacアドレス
	 * @return 複号化した値のMACアドレス部分
	 * @throws Exception	すべての例外
	 */
	private String decryptMacAddress(String encryptedMacAddress) throws Exception
	{
		// WiMAXMacアドレス複号化
		String decryptedMacAddress = JFUWebCommon.decryptBase64String(encryptedMacAddress);

		// →複号化に失敗した場合、共通エラー画面（システムエラー）に遷移
		//   (発生した例外をスローしているのでフレームワーク側でシステムエラーに処理される)

		// →複号化した値のMACアドレス部分取得
		//   (妥当性チェックも行う)
		String macAddress = getMacAddress(decryptedMacAddress);

		return macAddress;
	}

	/**
	 * MACアドレス取得
	 * <br>
	 * @param decryptedMacAddress	復号化されたMACアドレス
	 * @return	MACアドレス
	 */
	private String getMacAddress(String decryptedMacAddress)
	{
		// 分割
		String[] macAddressAry = (String[])decryptedMacAddress.split(JFUStrConst.COMMA);

		if (2 != macAddressAry.length)
		{
			DEBUG_LOG.info("getMacAddress【システムエラー】MACアドレス（UQサイト送信時）のフォーマットエラー");

			// 妥当性チェックエラーの場合、不正アクセスとし、共通エラー画面（システムエラー）に遷移
			throw new JCCBusinessException(JFUStrConst.ERROR_CODE_0002);
		}

		// カンマ以前の値（MACアドレス本体）を取得
		String macAddress = macAddressAry[0];

		if (!macAddress.matches(MAC_ADDRESS_CHK_STR))
		{
			DEBUG_LOG.info("getMacAddress【システムエラー】MACアドレスのフォーマットエラー");

			// 妥当性チェックエラーの場合、不正アクセスとし、共通エラー画面（システムエラー）に遷移
			throw new JCCBusinessException(JFUStrConst.ERROR_CODE_0002);
		}

		return macAddress;
	}

	/**
	 * パラメータMACアドレス取得
	 * <br>
	 * @param request		HTTPリクエスト
	 * @return 取得したWiMAXMacアドレス
	 * @throws Exception	すべての例外
	 */
	private String getParamMacAddress(HttpServletRequest request) throws Exception
	{
		String paramEncryptedMacAddress = null;

		// アプリケーションプロパティからUQ遷移 テストモード設定を取得
		String uqTestMode = JFUWebCommon.getApplicationConst(JFUStrConst.FU_N_UQ_TEST_MODE);

		// UQ遷移 テストモードの場合
		if (TEST_MODE_ON.equals(uqTestMode))
		{
			//TEST用HTMLでPOSTしたWiMAXMacアドレスを取得
			paramEncryptedMacAddress = request.getParameter(POST_ID_MAC_ADDRESS);
		}
		// 上記以外
		else
		{
			// リクエストヘッダからWiMAXMacアドレスを取得
			paramEncryptedMacAddress = request.getHeader(POST_ID_MAC_ADDRESS);
		}
		return paramEncryptedMacAddress;
	}

	/**
	 * リクエストヘッダをログに出力します。(INFO:テスト確認用メソッド)
	 * <br>
	 */
	@SuppressWarnings("unchecked")
	private void outReqHeader()
	{
		X33WSessionController sessionCtrl = X33CUtil.getSession(getSessionId());
		HttpServletRequest request = sessionCtrl.getServletRequest();
		java.util.Enumeration<String> enumH = request.getHeaderNames();

		while (enumH.hasMoreElements())
		{
			String name = enumH.nextElement();
			String tmpHeader = request.getHeader(name);
			DEBUG_LOG.debug("【リクエストヘッダ】" + name + "■" + tmpHeader);
		}
	}

	//【ANK-0235-00-00】【ANK-0236-00-00】【ANK-0244-00-00】add end   ------------------

	//【ANK-0222-00-00】add start ------------------------------------------------------

	/**
	 * 郵便番号引継(リダイレクト情報 → マンション情報)
	 * <br>
	 * @param i_web_new_bean	WEB新規情報
	 */
	private void setPcdToMansInfo(X31SDataBeanAccess i_web_new_bean)
	{
		// リダイレクト情報Bean
		X31SDataBeanAccess redInfo = i_web_new_bean.getDataBeanArray(CommonInfoCFConst.REDIRECT_INFO).getDataBean(0);
		// マンション情報Bean
		X31SDataBeanAccess mansInfo = i_web_new_bean.getDataBeanArray(CommonInfoCFConst.MANSION_INFO).getDataBean(0);

		// リダイレクト情報.リダイレクト・郵便番号（上） → マンション情報.検索・郵便番号（上）
		JFUWebCommon.setDataBeanItemByPath(mansInfo, CommonInfoCFConst.SEARCH_PCD1_16, JFUWebCommon.getDataBeanItemByPath(redInfo,
				CommonInfoCFConst.RED_PCD1_17));

		// リダイレクト情報.リダイレクト・郵便番号（下） → マンション情報.検索・郵便番号（下）
		JFUWebCommon.setDataBeanItemByPath(mansInfo, CommonInfoCFConst.SEARCH_PCD2_16, JFUWebCommon.getDataBeanItemByPath(redInfo,
				CommonInfoCFConst.RED_PCD2_17));
	}

	//【ANK-0222-00-00】add end   ------------------------------------------------------
	//【ANK-0329-00-00】add start ------------------------------------------------

	/**
	 *
	 * フロント業務リスト
	 * @param commonInfoBean
	 * @return workKiseiListBean
	 */

	private X31SDataBeanAccess getWorkKiseiList(X31SDataBeanAccess commonInfoBean)
	{
		// フロント業務リストを取得
		X31SDataBeanAccessArray array = commonInfoBean.getDataBeanArray(CommonInfoCFConst.FRONT_WORK_INFO);
		if (array.getCount() == 0)
		{
			array.addDataBean();
		}
		X31SDataBeanAccess frontWorkListBean = array.getDataBean(0);

		return frontWorkListBean;
	}

	/**
	 * 業務規制情報を設定する。
	 * @return boolean true:規制中  false:規制中でない
	 */
	private void setWorkKiseiList()
	{
		// 業務規制情報取得
		HashMap<String, Object> workKiseiInfoMap = JFUWebCommon.getBusinessControlMap(this);

		// 業務規制情報マップから、フロント２４時間３６５日稼動対象規制情報を取得
		HashMap<?, ?> workKiseiMap = (HashMap<?, ?>)workKiseiInfoMap.get(JFUStrConst.WORK_KISEI_FUGKW0009);

		// 業務規制フラグの取得
		String kiseiFlg = (String)workKiseiMap.get(JFUStrConst.KISEI_FLG);

		// 業務規制情報設定処理

		// 共有フォームBeanの取得
		X31SDataBeanAccess commonInfoBean = getCommonInfoBean();

		// 業務規制リスト取得
		X31SDataBeanAccess workKiseiListBean = getWorkKiseiList(commonInfoBean);

		// フロント稼動対象規制フラグを設定(フロント２４時間３６５日稼動対象規制)
		if (JFUStrConst.CD01306_1.equals(kiseiFlg))
		{
			workKiseiListBean.sendMessageString(CommonInfoCFConst.FRONT_KADO_TRGT_KISEI_FLG_48, X31CWebConst.DATABEAN_SET_VALUE,
					JFUStrConst.CD01306_1);
		}
		else
		{
			workKiseiListBean.sendMessageString(CommonInfoCFConst.FRONT_KADO_TRGT_KISEI_FLG_48, X31CWebConst.DATABEAN_SET_VALUE,
					JFUStrConst.CD01306_0);
		}
	}

	//【ANK-0329-00-00】add end ------------------------------------------------

	/**
	 * 取扱店用取扱コードを設定する。
	 * @param webNewInfobean WEB新規情報
	 * @param i_posted_requests パラメータ
	 */
	private void setTritenCd(X31SDataBeanAccess webNewInfobean, X31CHashMap i_posted_requests) throws Exception
	{
		Object tmp_obj = null;
		String action = null;

		tmp_obj = i_posted_requests.get(POST_ID_ACTION);
		action = (tmp_obj == null) ? ("") : (tmp_obj.toString().trim());

		// その他情報を取得する
		X31SDataBeanAccess elseInfoBean = getelseInfo(webNewInfobean);

		// プロパティより、一般WEB既定値を取得する。
		String trat_usual = JFUWebCommon.getDispText(JFUScreenConst.SCREEN_ID_FUW00144, TRAT_USUAL);
		String tratCd = "";

		String agntCd1 = elseInfoBean.sendMessageString(CommonInfoCFConst.TORITEN_TORIATSUKAI_CD_18, X31CWebConst.DATABEAN_GET_VALUE);

		// 取扱店用取扱コードに値が入っていなかった場合、処理を行う。
		if (agntCd1.length() == 0)
		{

			// actionを取得出来ない時、遷移元を確認する。
			if (action == null || "".equals(action))
			{
				// actionがない場合、一般WEB既定値を設定する。
				elseInfoBean.sendMessageString(CommonInfoCFConst.TORITEN_TORIATSUKAI_CD_18, X31CWebConst.DATABEAN_SET_VALUE, trat_usual);
			}
			else
			{
				if (action.length() <= 0)
				{
					// action の項目自体が無い場合、一般WEB既定値を設定する。
					DEBUG_LOG.info("-- none action parameter --");
					elseInfoBean.sendMessageString(CommonInfoCFConst.TORITEN_TORIATSUKAI_CD_18, X31CWebConst.DATABEAN_SET_VALUE, trat_usual);
				}
				else
				{
					// 価格.com（の場合
					if (action.equals(ACTION_JX4NM3) || action.equals(ACTION_XSGTN1))
					{
						// プロパティより価格.comの取扱コードを取得する。
						tratCd = JFUWebCommon.getDispText(JFUScreenConst.SCREEN_ID_FUW00144, TRAT_KAKAKU);

						// 取扱店用取扱コードに設定する。
						elseInfoBean.sendMessageString(CommonInfoCFConst.TORITEN_TORIATSUKAI_CD_18, X31CWebConst.DATABEAN_SET_VALUE, tratCd);

						// 取扱店用取扱コード２に一般WEB既定値を設定する。
						elseInfoBean.sendMessageString(CommonInfoCFConst.TORITEN_TORIATSUKAI_CD2_18, X31CWebConst.DATABEAN_SET_VALUE, trat_usual);
					}
					// 価格.com（電気）の場合
					else if (action.equals(ACTION_HY5PN4))
					{
						// プロパティより価格.comの取扱コードを取得する。
						tratCd = JFUWebCommon.getDispText(JFUScreenConst.SCREEN_ID_FUW00144, TRAT_KAKAKU_ELEC);

						// 取扱店用取扱コードに設定する。
						elseInfoBean.sendMessageString(CommonInfoCFConst.TORITEN_TORIATSUKAI_CD_18, X31CWebConst.DATABEAN_SET_VALUE, tratCd);

						// 取扱店用取扱コード２に一般WEB既定値を設定する。
						elseInfoBean.sendMessageString(CommonInfoCFConst.TORITEN_TORIATSUKAI_CD2_18, X31CWebConst.DATABEAN_SET_VALUE, trat_usual);
					}
					//【ANK-1444-00-00】2013/02/15 T.Fujita Delete Start
					// KCNの場合
					//else if (action.equals(ACTION_KCN_NEW) || action.equals(ACTION_KCN_ADD))
					//{
					// プロパティよりKCNの取扱コードを取得する。
					//	tratCd = JFUWebCommon.getDispText(JFUScreenConst.SCREEN_ID_FUW00144, TRAT_KCN);

					// 取扱店用取扱コードに設定する。
					//	elseInfoBean.sendMessageString(CommonInfoCFConst.TORITEN_TORIATSUKAI_CD_18, X31CWebConst.DATABEAN_SET_VALUE, tratCd);

					// 取扱店用取扱コード２に一般WEB既定値を設定する。
					//	elseInfoBean.sendMessageString(CommonInfoCFConst.TORITEN_TORIATSUKAI_CD2_18, X31CWebConst.DATABEAN_SET_VALUE, trat_usual);
					//}
					//【ANK-1444-00-00】2013/02/15 T.Fujita Delete End
					// フルルKANSAIの場合
					else if (action.equals(ACTION_CMSTFN) || action.equals(ACTION_QG2KAN))
					{
						// プロパティよりフルルKANSAIの取扱コードを取得する。
						tratCd = JFUWebCommon.getDispText(JFUScreenConst.SCREEN_ID_FUW00144, TRAT_FRR);

						// 取扱店用取扱コードに設定する。
						elseInfoBean.sendMessageString(CommonInfoCFConst.TORITEN_TORIATSUKAI_CD_18, X31CWebConst.DATABEAN_SET_VALUE, tratCd);

						// 取扱店用取扱コード２に一般WEB既定値を設定する。
						elseInfoBean.sendMessageString(CommonInfoCFConst.TORITEN_TORIATSUKAI_CD2_18, X31CWebConst.DATABEAN_SET_VALUE, trat_usual);
					}
					else
					{
						// 上記の条件に当てはまらなかった場合、取扱店用取扱コードに一般WEB既定値を設定する。
						elseInfoBean.sendMessageString(CommonInfoCFConst.TORITEN_TORIATSUKAI_CD_18, X31CWebConst.DATABEAN_SET_VALUE, trat_usual);
					}
				}
			}
		}
	}

	/**
	 * その他情報
	 * @param webNewInfoBean
	 * @return elseInfoBean
	 */
	private X31SDataBeanAccess getelseInfo(X31SDataBeanAccess webNewInfoBean)
	{
		X31SDataBeanAccessArray array = webNewInfoBean.getDataBeanArray(CommonInfoCFConst.ELSE_INFO);
		if (array.getCount() == 0)
		{
			array.addDataBean();
		}
		X31SDataBeanAccess elseInfoBean = array.getDataBean(0);

		return elseInfoBean;
	}

	/**
	 * 住宅情報
	 * @param webNewInfoBean
	 * @return jutakuInfoBean
	 */
	private static X31SDataBeanAccess getJutakuInfo(X31SDataBeanAccess webNewInfoBean)
	{
		X31SDataBeanAccessArray array = webNewInfoBean.getDataBeanArray(CommonInfoCFConst.JUTAKU_INFO);
		if (array.getCount() == 0)
		{
			array.addDataBean();
		}
		X31SDataBeanAccess jutakuInfoBean = array.getDataBean(0);

		return jutakuInfoBean;
	}

	/**
	 * 住宅情報
	 * @param webNewInfoBean
	 * @return jutakuInfoBean
	 */
	private static X31SDataBeanAccess getRedirectInfo(X31SDataBeanAccess webNewInfoBean)
	{
		X31SDataBeanAccessArray array = webNewInfoBean.getDataBeanArray(CommonInfoCFConst.REDIRECT_INFO);
		if (array.getCount() == 0)
		{
			array.addDataBean();
		}
		X31SDataBeanAccess redirectInfoBean = array.getDataBean(0);

		return redirectInfoBean;
	}

	// No678 2013/04/20 Otsuka Wi-Fiパラムの業務規制対応 start

	/**
	 * Wi-Fiの業務規制チェックを行います。
	 *
	 * @param commonInfoBean 共有フォームBean
	 * @param i_posted_requests key=value のコレクション
	 * @throws Exception
	 */

	@SuppressWarnings("unchecked")
	private void checkWorkKiseiWiFi(X31SDataBeanAccess commonInfoBean, X31CHashMap i_posted_requests) throws Exception
	{
		Object tmp_obj = null;
		String action = null;

		tmp_obj = i_posted_requests.get(POST_ID_ACTION);
		action = (tmp_obj == null) ? ("") : (tmp_obj.toString().trim());

		// 【ANK-2421-00-00】ＷｉＦｉスポットとＢＢモバイルポイントのサービス終了対応 START
		// eoモバイルWi-Fiスポット新規申込
//		if (action.compareTo(ACTION_WIFI_NEW) == 0)
//		{
//			// 業務規制リスト取得
//			X31SDataBeanAccess workKiseiListBean = getWorkKiseiList(commonInfoBean);
//
//			// フロント稼動対象規制フラグ(フロント２４時間３６５日稼動対象規制)
//
//			if (JFUStrConst.CD01306_1.equals(workKiseiListBean.sendMessageString(CommonInfoCFConst.FRONT_KADO_TRGT_KISEI_FLG_48,
//					X31CWebConst.DATABEAN_GET_VALUE)))
//			{
//				// 規制フラグが"1"(規制中)の場合
//				DEBUG_LOG.info("業務規制【メンテナンス中エラー】フロント２４時間３６５日稼動対象規制");
//				// メンテナンス中エラー "FUGKW0009"
//				throw new JCCBusinessException(JFUStrConst.ERROR_CODE_GKW0009);
//			}
//		}
		// 【ANK-2421-00-00】ＷｉＦｉスポットとＢＢモバイルポイントのサービス終了対応 END
	}
	// No678 2013/04/20 Otsuka Wi-Fiパラムの業務規制対応 end

	// ANK-2137-00-00_提携住宅会社用WEB受付画面配置 start

	/**
	 * 提携住宅会社から遷移の場合のパラメータチェックを行います。
	 *
	 * @param webNewInfobean
	 * @param common_info_bean 共有フォームBean
	 * @param posted_requests key=value のコレクション
	 * @throws Exception
	 */

	private void tkjcompParamCheck(X31SDataBeanAccess webNewInfobean, X31SDataBeanAccess common_info_bean, X31CHashMap posted_requests) throws Exception
	{

		// 共通暗号化キーをAPLConstから取得
		String comKey = (String)posted_requests.get(BODY_KEY_CK);
		// 共通暗号化キーのチェック
		if (JFUWebCommon.isNull(comKey))
		{
			// エラー処理
			setErrMsgAplVal(comKey);
		}

		// ●リクエストから必要パラメータを取得
		getRequestParams(webNewInfobean, posted_requests);

		
	}

	/**
	 * リクエスト情報から各値を取得します。
	 * 
	 * <br>
	 * @param webNewInfobean
	 * @param posted_requests
	 * @return リクエスト情報
	 */
	private void getRequestParams(X31SDataBeanAccess webNewInfobean, X31CHashMap posted_requests)
	{

		// ●Body情報を複合化
		// 暗号化キー取得
		String ck = (String)posted_requests.get(BODY_KEY_CK);
		// パラメータ値の復号化処理を行い、共有フォームビーンに詰める。
		getDecodedParams(webNewInfobean, posted_requests, ck);

	}

	/**
	 * パラメータ値の復号化処理を行います。
	 * <br>
	 * @param webNewInfobean
	 * @param posted_requests
	 * @param ck 暗号化キー（復号未）
	 * @return 各パラメータ値(複合)
	 */
	
	private void getDecodedParams(X31SDataBeanAccess webNewInfobean, X31CHashMap posted_requests, String ck)
	{
		// リダイレクト情報を取得する。
		X31SDataBeanAccess redirectInfoBean = getRedirectInfo(webNewInfobean);
		// 住宅情報を取得する
		X31SDataBeanAccess jutakuInfoBean = getJutakuInfo(webNewInfobean);

		// 共通暗号化キーをAPLConstから取得
		String comKey = JCCWebCommon.getApplicationConst(TKJCOMP_ENCRYPTION_KEY);
		// 共通暗号化キーのチェック
		if (JFUWebCommon.isNull(comKey))
		{
			// エラー処理
			setErrMsgAplVal(comKey);
		}

		// ●パラメータ(未復号)の取得
		// 提携住宅会社コード
		String encTkjcompCd = (String)posted_requests.get(BODY_KEY_TKJCOMP_CD);
		// 提携住宅会社名
		String encTkjcompNm = (String)posted_requests.get(BODY_KEY_TKJCOMP_NM);
		// 提携住宅会社支店・営業所名
		String encTkjcompShitenofcNm = (String)posted_requests.get(BODY_KEY_TKJCOMP_SHITENOFC_NM);
		// 提携住宅会社担当者名
		String encTkjcompTntshaNm = (String)posted_requests.get(BODY_KEY_TKJCOMP_TNTSHA_NM);
		// 提携住宅会社担当者職種
		String encTkjcompTntshaSsNm = (String)posted_requests.get(BODY_KEY_TKJCOMP_TNTSHA_SS_NM);
		// 提携住宅会社担当者電話番号
		String encTkjcompTntshaTelno = (String)posted_requests.get(BODY_KEY_TKJCOMP_TNTSHA_TELNO);
		// 提携住宅会社担当者名(複号化用)
		String encTkjcompTntshaNmHkg = JFUStrConst.EMPTY;
		// 提携住宅会社担当者電話番号(複号化用)
		String encTkjcompTntshaTelnoHkg = JFUStrConst.EMPTY;

		// 提携住宅会社担当者名は暗号化されてるため、暗号用の方に入れる
		jutakuInfoBean.sendMessageString(CommonInfoCFConst.TKJCOMP_TNTSHA_NM_ANGO_59, X31CWebConst.DATABEAN_SET_VALUE, encTkjcompTntshaNm);
		// 提携住宅会社担当者電話番号は暗号化されてるため、暗号用の方に入れる
		jutakuInfoBean.sendMessageString(CommonInfoCFConst.TKJCOMP_TNTSHA_TELNO_ANGO_59, X31CWebConst.DATABEAN_SET_VALUE, encTkjcompTntshaTelno);

		// 暗号キーを共有フォームビーンに設定する。
		redirectInfoBean.sendMessageString(CommonInfoCFConst.CK_17, X31CWebConst.DATABEAN_SET_VALUE, ck);

		try
		{
			// ●パラメータの復号化＆共有フォームビーンに格納
			encTkjcompTntshaNmHkg = JCCcomEncryptionUtil.decryptKey(ck, encTkjcompTntshaNm);
			encTkjcompTntshaTelnoHkg = JCCcomEncryptionUtil.decryptKey(ck, encTkjcompTntshaTelno);

			encTkjcompTntshaNmHkg = JCCcomEncryptionUtil.decrypt(comKey, encTkjcompTntshaNmHkg);
			encTkjcompTntshaTelnoHkg = JCCcomEncryptionUtil.decrypt(comKey, encTkjcompTntshaTelnoHkg);
		}
		catch (Exception e)
		{
			DEBUG_LOG.debug("※暗号化キーの複合化処理でエラー");
			DEBUG_LOG.debug(e.toString());
			throw new JCCBusinessException(JFUStrConst.ERROR_CODE_0002);
		}

		// 設定した提携住宅会社コード、提携住宅会社名、提携住宅会社担当者名にどれか一つでも値が設定されていない場合、アクセスエラー画面に遷移する。
		if (JFUWebCommon.isNull(encTkjcompCd) || JFUWebCommon.isNull(encTkjcompNm) || JFUWebCommon.isNull(encTkjcompTntshaNmHkg))
		{
			throw new JCCBusinessException(JFUStrConst.ERROR_CODE_0009);
		}

		// 複合化した2つを共有フォームビーンに格納
		jutakuInfoBean.sendMessageString(CommonInfoCFConst.TKJCOMP_TNTSHA_NM_59, X31CWebConst.DATABEAN_SET_VALUE, encTkjcompTntshaNmHkg);
		jutakuInfoBean.sendMessageString(CommonInfoCFConst.TKJCOMP_TNTSHA_TELNO_59, X31CWebConst.DATABEAN_SET_VALUE, encTkjcompTntshaTelnoHkg);

		// 複合化していない4つを共有フォームビーンに格納
		jutakuInfoBean.sendMessageString(CommonInfoCFConst.TKJCOMP_CD_59, X31CWebConst.DATABEAN_SET_VALUE, encTkjcompCd);
		jutakuInfoBean.sendMessageString(CommonInfoCFConst.TKJCOMP_NM_59, X31CWebConst.DATABEAN_SET_VALUE, encTkjcompNm);
		jutakuInfoBean.sendMessageString(CommonInfoCFConst.TKJCOMP_SHITENOFC_NM_59, X31CWebConst.DATABEAN_SET_VALUE, encTkjcompShitenofcNm);
		jutakuInfoBean.sendMessageString(CommonInfoCFConst.TKJCOMP_TNTSHA_SS_59, X31CWebConst.DATABEAN_SET_VALUE, encTkjcompTntshaSsNm);

	}


	/**
	 * 口座振替受付[SMBCFS]から遷移の場合のパラメータ取得を行い、共有フォームビーンに詰めます。
	 * <br>
	 * @param webNewInfobean
	 * @param posted_requests
	 * @return 各パラメータ値(復号)
	 */
	
	private void getDecodedKoufuriSmbcfsParams(X31SDataBeanAccess webNewInfobean, X31CHashMap posted_requests)
	{
		outputBusLog("----- 口座振替画面[SMBCFS]からの戻り値です -----");
	}

	/**
	 * 口座振替受付から遷移の場合のパラメータ取得を行い、共有フォームビーンに詰めます。
	 * <br>
	 * @param webNewInfobean
	 * @param posted_requests
	 * @return 各パラメータ値(復号)
	 */
	
	private void getDecodedKoufuriParams(X31SDataBeanAccess webNewInfobean, X31CHashMap posted_requests)
	{
		// 支払方法情報を取得する
		X31SDataBeanAccessArray array = webNewInfobean.getDataBeanArray(CommonInfoCFConst.PAYWAY_INFO);
		if (array.getCount() == 0)
		{
			array.addDataBean();
		}
		X31SDataBeanAccess payway_info_bean = array.getDataBean(0);

		// 申込区分（種別）
		String mskmKbn = webNewInfobean.sendMessageString(CommonInfoCFConst.MSKM_KBN_06, X31CWebConst.DATABEAN_GET_VALUE);

		// ●パラメータ(未復号)の取得
		// 事業者コード
		String shop_cd = (String)posted_requests.get(BODY_KEY_SHOP_CD);
		// お客様番号
		String customer_number = (String)posted_requests.get(BODY_KEY_CUSTMOER_NUMBER);
		// 契約者カナ氏名
		String name_kana = (String)posted_requests.get(BODY_KEY_NAME_KANA);
		// クリアパス取扱年月日
		String clearpass_date = (String)posted_requests.get(BODY_KEY_CLEARPASS_DATE);
		// クリアパス取扱時刻
		String clearpass_time = (String)posted_requests.get(BODY_KEY_CLEARPASS_TIME);
		// クリアパス取扱番号
		String clearpass_number = (String)posted_requests.get(BODY_KEY_CLEARPASS_NUMBER);
		// 金融機関取扱年月日
		String bank_date = (String)posted_requests.get(BODY_KEY_BANK_DATE);
		// 金融機関取扱時刻
		String bank_time = (String)posted_requests.get(BODY_KEY_BANK_TIME);
		// 金融機関取扱番号
		String bank_number = (String)posted_requests.get(BODY_KEY_BANK_NUMBER);
		// 銀行コード
		String bank_cd = (String)posted_requests.get(BODY_KEY_BANK_CD);
		// 支店コード
		String branch_cd = (String)posted_requests.get(BODY_KEY_BRANCH_CD);
		// 預金種目
		String depodit_item = (String)posted_requests.get(BODY_KEY_DEPODIT_ITEM);
		// 口座番号
		String account_number = (String)posted_requests.get(BODY_KEY_ACCOUNT_NUMBER);
		// 口座名義人（カナ）
		String account_holder = (String)posted_requests.get(BODY_KEY_ACCOUNT_HOLDER);
		// ステータス
		String status = (String)posted_requests.get(BODY_KEY_STATUS);
		// 処理結果コード
		String result_cd = (String)posted_requests.get(BODY_KEY_RESULT_CD);
		// メッセージ
		String message = (String)posted_requests.get(BODY_KEY_MESSAGE);
		// 付加情報
		String add_info = (String)posted_requests.get(BODY_KEY_ADD_INFO);
		// 暗号化キー取得
		String ck = (String)posted_requests.get(BODY_KEY_CK_KOUZA);
		
		// ビジネスログへの出力
		String sysid = webNewInfobean.sendMessageString(CommonInfoCFConst.SYSID_06, X31CWebConst.DATABEAN_GET_VALUE);
		outputBusLog("----- 口座振替画面からの戻り値です START -----");
		outputBusLog("sysid = " + sysid);
		outputBusLog("status = " + status);
		outputBusLog("----- 口座振替画面からの戻り値です END -----");

		// パラメータをログに出力
		DEBUG_LOG.debug("復号化前パラメータを出力 START");
		DEBUG_LOG.debug("ck = " + ck);
		DEBUG_LOG.debug("shop_cd=" + shop_cd);
		DEBUG_LOG.debug("customer_number=" + customer_number);
		DEBUG_LOG.debug("name_kana=" + name_kana);
		DEBUG_LOG.debug("clearpass_date=" + clearpass_date);
		DEBUG_LOG.debug("clearpass_time=" + clearpass_time);
		DEBUG_LOG.debug("clearpass_number=" + clearpass_number);
		DEBUG_LOG.debug("bank_date=" + bank_date);
		DEBUG_LOG.debug("bank_time=" + bank_time);
		DEBUG_LOG.debug("bank_number=" + bank_number);
		DEBUG_LOG.debug("bank_cd=" + bank_cd);
		DEBUG_LOG.debug("branch_cd=" + branch_cd);
		DEBUG_LOG.debug("depodit_item=" + depodit_item);
		DEBUG_LOG.debug("account_number=" + account_number);
		DEBUG_LOG.debug("account_holder=" + account_holder);
		DEBUG_LOG.debug("status=" + status);
		DEBUG_LOG.debug("result_cd=" + result_cd);
		DEBUG_LOG.debug("message=" + message);
		DEBUG_LOG.debug("add_info=" + add_info);
		try{
			DEBUG_LOG.debug("name_kana(byte)(UTF-8)=" + name_kana.getBytes("UTF-8"));
			DEBUG_LOG.debug("name_kana(byte)(UTF-8 HEX)=" + DatatypeConverter.printHexBinary(name_kana.getBytes("UTF-8")));
			DEBUG_LOG.debug("name_kana(byte)(EUC_JP)=" + name_kana.getBytes("EUC_JP"));
			DEBUG_LOG.debug("name_kana(byte)(EUC_JP HEX)=" + DatatypeConverter.printHexBinary(name_kana.getBytes("EUC_JP")));
			DEBUG_LOG.debug("name_kana(byte)(SJIS)=" + name_kana.getBytes("SJIS"));
			DEBUG_LOG.debug("name_kana(byte)(SJIS HEX)=" + DatatypeConverter.printHexBinary(name_kana.getBytes("SJIS")));

			DEBUG_LOG.debug("account_holder(byte)(UTF-8)=" + account_holder.getBytes("UTF-8"));
			DEBUG_LOG.debug("account_holder(byte)(UTF-8 HEX)=" + DatatypeConverter.printHexBinary(account_holder.getBytes("UTF-8")));
			DEBUG_LOG.debug("account_holder(byte)(EUC_JP)=" + account_holder.getBytes("EUC_JP"));
			DEBUG_LOG.debug("account_holder(byte)(EUC_JP HEX)=" + DatatypeConverter.printHexBinary(account_holder.getBytes("EUC_JP")));
			DEBUG_LOG.debug("account_holder(byte)(SJIS)=" + account_holder.getBytes("SJIS"));
			DEBUG_LOG.debug("account_holder(byte)(SJIS HEX)=" + DatatypeConverter.printHexBinary(account_holder.getBytes("SJIS")));
			
			DEBUG_LOG.debug("message(byte)(UTF-8)=" + message.getBytes("UTF-8"));
			DEBUG_LOG.debug("message(byte)(UTF-8 HEX)=" + DatatypeConverter.printHexBinary(message.getBytes("UTF-8")));
			DEBUG_LOG.debug("message(byte)(EUC_JP)=" + message.getBytes("EUC_JP"));
			DEBUG_LOG.debug("message(byte)(EUC_JP HEX)=" + DatatypeConverter.printHexBinary(message.getBytes("EUC_JP")));
			DEBUG_LOG.debug("message(byte)(SJIS)=" + message.getBytes("SJIS"));
			DEBUG_LOG.debug("message(byte)(SJIS HEX)=" + DatatypeConverter.printHexBinary(message.getBytes("SJIS")));

			}catch(Exception e){}
		DEBUG_LOG.debug("復号化前パラメータを出力 END");

		// 各取得パラメータの設定値チェック(文字コード変換前と、文字コード変換後にもう一度チェック)
		boolean errorFlg = false;
		if (CLEARPASS_STATUS_NORMAL.equals(status))
		{
			if (JFUWebCommon.isNull(ck) == true) errorFlg = true;
			if (JFUWebCommon.isNull(shop_cd) == true) errorFlg = true;
			if (JFUWebCommon.isNull(customer_number) == true) errorFlg = true;
			if (JFUWebCommon.isNull(name_kana) == true) errorFlg = true;
			if (JFUWebCommon.isNull(clearpass_date) == true) errorFlg = true;
			if (JFUWebCommon.isNull(clearpass_time) == true) errorFlg = true;
			if (JFUWebCommon.isNull(clearpass_number) == true) errorFlg = true;
			if (JFUWebCommon.isNull(bank_date) == true) errorFlg = true;
			if (JFUWebCommon.isNull(bank_time) == true) errorFlg = true;
			if (JFUWebCommon.isNull(bank_number) == true) errorFlg = true;
			if (JFUWebCommon.isNull(bank_cd) == true) errorFlg = true;
			if (JFUWebCommon.isNull(branch_cd) == true) errorFlg = true;
			if (JFUWebCommon.isNull(depodit_item) == true) errorFlg = true;
			if (JFUWebCommon.isNull(account_number) == true) errorFlg = true;
			if (JFUWebCommon.isNull(account_holder) == true) errorFlg = true;
			if (JFUWebCommon.isNull(result_cd) == true) errorFlg = true;
			if (JFUWebCommon.isNull(message) == true) errorFlg = true;
			if (JFUWebCommon.isNull(add_info) == true) errorFlg = true;
		}
		else
		{
			errorFlg = true;
		}
		// 各取得パラメータのエラーチェック判定
		if (errorFlg)
		{
			payway_info_bean.sendMessageString(CommonInfoCFConst.STATUS_15, X31CWebConst.DATABEAN_SET_VALUE, CLEARPASS_STATUS_ERROR);
			// パラメータのエラー時は以降の処理をしない
			return;
		}

		// 共通暗号化キーをAPLConstから取得
		String comKey = JFUStrConst.EMPTY;
		if(JFUStrConst.MSKM_KBN_ADD.equals(mskmKbn))
		{
			// サービス追加
			comKey = JCCWebCommon.getApplicationConst(KOUZA_FURIKAE_ENCRYPTION_KEY_3);
		}
		else
		{
			// サービス追加以外
			comKey = JCCWebCommon.getApplicationConst(KOUZA_FURIKAE_ENCRYPTION_KEY);
		}

		// 共通暗号化キーのチェック
		if (JFUWebCommon.isNull(comKey))
		{
			// エラー処理
			setErrMsgAplVal(comKey);
		}

		try
		{
			ck = JCCcomEncryptionUtil.decrypt(comKey, ck);

			// ●パラメータの復号化
			DEBUG_LOG.debug("name_kana = " + name_kana);
			name_kana = decrypt_euc(ck, name_kana);
			DEBUG_LOG.debug("name_kana = " + name_kana);
			DEBUG_LOG.debug("bank_cd = " + bank_cd);
			bank_cd = JCCcomEncryptionUtil.decryptKey(ck, bank_cd);
			DEBUG_LOG.debug("bank_cd = " + bank_cd);
			DEBUG_LOG.debug("branch_cd = " + branch_cd);
			branch_cd = JCCcomEncryptionUtil.decryptKey(ck, branch_cd);
			DEBUG_LOG.debug("branch_cd = " + branch_cd);
			DEBUG_LOG.debug("depodit_item = " + depodit_item);
			depodit_item = JCCcomEncryptionUtil.decryptKey(ck, depodit_item);
			DEBUG_LOG.debug("depodit_item = " + depodit_item);
			DEBUG_LOG.debug("account_number = " + account_number);
			account_number = JCCcomEncryptionUtil.decryptKey(ck, account_number);
			DEBUG_LOG.debug("account_number = " + account_number);
			DEBUG_LOG.debug("account_holder = " + account_holder);
			account_holder = decrypt_euc(ck, account_holder);
			DEBUG_LOG.debug("account_holder = " + account_holder);
			DEBUG_LOG.debug("add_info = " + add_info);
			add_info = JCCcomEncryptionUtil.decryptKey(ck, add_info);
			DEBUG_LOG.debug("add_info = " + add_info);
		}
		catch (Exception e)
		{
			DEBUG_LOG.debug("※口座振替：暗号化パラメータの復号化処理でエラー");
			DEBUG_LOG.debug(e.toString());

			// エラーフラグON
			errorFlg = true;
		}

		// パラメータをログに出力
		DEBUG_LOG.debug("復号化後・文字コード変換前パラメータを出力 START");
		try{
			DEBUG_LOG.debug("name_kana(byte)(UTF-8)=" + name_kana.getBytes("UTF-8"));
			DEBUG_LOG.debug("name_kana(byte)(UTF-8 HEX)=" + DatatypeConverter.printHexBinary(name_kana.getBytes("UTF-8")));
			DEBUG_LOG.debug("name_kana(byte)(EUC_JP)=" + name_kana.getBytes("EUC_JP"));
			DEBUG_LOG.debug("name_kana(byte)(EUC_JP HEX)=" + DatatypeConverter.printHexBinary(name_kana.getBytes("EUC_JP")));
			DEBUG_LOG.debug("name_kana(byte)(SJIS)=" + name_kana.getBytes("SJIS"));
			DEBUG_LOG.debug("name_kana(byte)(SJIS HEX)=" + DatatypeConverter.printHexBinary(name_kana.getBytes("SJIS")));

			DEBUG_LOG.debug("account_holder(byte)(UTF-8)=" + account_holder.getBytes("UTF-8"));
			DEBUG_LOG.debug("account_holder(byte)(UTF-8 HEX)=" + DatatypeConverter.printHexBinary(account_holder.getBytes("UTF-8")));
			DEBUG_LOG.debug("account_holder(byte)(EUC_JP)=" + account_holder.getBytes("EUC_JP"));
			DEBUG_LOG.debug("account_holder(byte)(EUC_JP HEX)=" + DatatypeConverter.printHexBinary(account_holder.getBytes("EUC_JP")));
			DEBUG_LOG.debug("account_holder(byte)(SJIS)=" + account_holder.getBytes("SJIS"));
			DEBUG_LOG.debug("account_holder(byte)(SJIS HEX)=" + DatatypeConverter.printHexBinary(account_holder.getBytes("SJIS")));
			
			DEBUG_LOG.debug("message(byte)(UTF-8)=" + message.getBytes("UTF-8"));
			DEBUG_LOG.debug("message(byte)(UTF-8 HEX)=" + DatatypeConverter.printHexBinary(message.getBytes("UTF-8")));
			DEBUG_LOG.debug("message(byte)(EUC_JP)=" + message.getBytes("EUC_JP"));
			DEBUG_LOG.debug("message(byte)(EUC_JP HEX)=" + DatatypeConverter.printHexBinary(message.getBytes("EUC_JP")));
			DEBUG_LOG.debug("message(byte)(SJIS)=" + message.getBytes("SJIS"));
			DEBUG_LOG.debug("message(byte)(SJIS HEX)=" + DatatypeConverter.printHexBinary(message.getBytes("SJIS")));

			}catch(Exception e){}
		DEBUG_LOG.debug("復号化後・文字コード変換前パラメータを出力 END");

		// 文字コード変換
		try
		{
			// 事業者コード
			shop_cd = new String(shop_cd.getBytes("UTF8"), "UTF8");
			// お客様番号
			customer_number = new String(customer_number.getBytes("UTF8"), "UTF8");
			// 契約者カナ氏名
			name_kana = new String(name_kana.getBytes("SJIS"), "SJIS");
			DEBUG_LOG.debug("name_kana(byte)(UTF-8 HEX)=" + DatatypeConverter.printHexBinary(name_kana.getBytes("UTF-8")));
			name_kana = new String(name_kana.getBytes("UTF8"), "UTF8");
			// クリアパス取扱年月日
			clearpass_date = new String(clearpass_date.getBytes("UTF8"), "UTF8");
			// クリアパス取扱時刻
			clearpass_time = new String(clearpass_time.getBytes("UTF8"), "UTF8");
			// クリアパス取扱番号
			clearpass_number = new String(clearpass_number.getBytes("UTF8"), "UTF8");
			// 金融機関取扱年月日
			bank_date = new String(bank_date.getBytes("UTF8"), "UTF8");
			// 金融機関取扱時刻
			bank_time = new String(bank_time.getBytes("UTF8"), "UTF8");
			// 金融機関取扱番号
			bank_number = new String(bank_number.getBytes("UTF8"), "UTF8");
			// 銀行コード
			bank_cd = new String(bank_cd.getBytes("UTF8"), "UTF8");
			// 支店コード
			branch_cd = new String(branch_cd.getBytes("UTF8"), "UTF8");
			// 預金種目
			depodit_item = new String(depodit_item.getBytes("UTF8"), "UTF8");
			// 口座番号
			account_number = new String(account_number.getBytes("UTF8"), "UTF8");
			// 口座名義人（カナ）
			account_holder = new String(account_holder.getBytes("SJIS"), "SJIS");
			DEBUG_LOG.debug("account_holder(byte)(UTF-8 HEX)=" + DatatypeConverter.printHexBinary(account_holder.getBytes("UTF-8")));
			account_holder = new String(account_holder.getBytes("UTF8"), "UTF8");
			// ステータス
			status = new String(status.getBytes("UTF8"), "UTF8");
			// 処理結果コード
			result_cd = new String(result_cd.getBytes("UTF8"), "UTF8");
			// メッセージ
			message = new String(message.getBytes("SJIS"), "SJIS");
			DEBUG_LOG.debug("message(byte)(UTF-8 HEX)=" + DatatypeConverter.printHexBinary(message.getBytes("UTF-8")));
			message = new String(message.getBytes("UTF8"), "UTF8");
			// 付加情報
			add_info = new String(add_info.getBytes("UTF8"), "UTF8");
		}
		catch (Exception e)
		{
			DEBUG_LOG.debug("※口座振替：UTF8へ文字コード変換処理でエラー");
			DEBUG_LOG.debug(e.toString());

			// エラーフラグON
			errorFlg = true;
		}

		// パラメータをログに出力
		DEBUG_LOG.debug("復号化・文字コード変換後パラメータを出力 START");
		DEBUG_LOG.debug("ck = " + ck);
		DEBUG_LOG.debug("shop_cd=" + shop_cd);
		DEBUG_LOG.debug("customer_number=" + customer_number);
		DEBUG_LOG.debug("name_kana=" + name_kana);
		DEBUG_LOG.debug("clearpass_date=" + clearpass_date);
		DEBUG_LOG.debug("clearpass_time=" + clearpass_time);
		DEBUG_LOG.debug("clearpass_number=" + clearpass_number);
		DEBUG_LOG.debug("bank_date=" + bank_date);
		DEBUG_LOG.debug("bank_time=" + bank_time);
		DEBUG_LOG.debug("bank_number=" + bank_number);
		DEBUG_LOG.debug("bank_cd=" + bank_cd);
		DEBUG_LOG.debug("branch_cd=" + branch_cd);
		DEBUG_LOG.debug("depodit_item=" + depodit_item);
		DEBUG_LOG.debug("account_number=" + account_number);
		DEBUG_LOG.debug("account_holder=" + account_holder);
		DEBUG_LOG.debug("status=" + status);
		DEBUG_LOG.debug("result_cd=" + result_cd);
		DEBUG_LOG.debug("message=" + message);
		DEBUG_LOG.debug("add_info=" + add_info);
		try{
		DEBUG_LOG.debug("name_kana(byte)(UTF-8)=" + name_kana.getBytes("UTF-8"));
		DEBUG_LOG.debug("name_kana(byte)(UTF-8 HEX)=" + DatatypeConverter.printHexBinary(name_kana.getBytes("UTF-8")));
		DEBUG_LOG.debug("name_kana(byte)(EUC_JP)=" + name_kana.getBytes("EUC_JP"));
		DEBUG_LOG.debug("name_kana(byte)(EUC_JP HEX)=" + DatatypeConverter.printHexBinary(name_kana.getBytes("EUC_JP")));
		DEBUG_LOG.debug("name_kana(byte)(SJIS)=" + name_kana.getBytes("SJIS"));
		DEBUG_LOG.debug("name_kana(byte)(SJIS HEX)=" + DatatypeConverter.printHexBinary(name_kana.getBytes("SJIS")));

		DEBUG_LOG.debug("account_holder(byte)(UTF-8)=" + account_holder.getBytes("UTF-8"));
		DEBUG_LOG.debug("account_holder(byte)(UTF-8 HEX)=" + DatatypeConverter.printHexBinary(account_holder.getBytes("UTF-8")));
		DEBUG_LOG.debug("account_holder(byte)(EUC_JP)=" + account_holder.getBytes("EUC_JP"));
		DEBUG_LOG.debug("account_holder(byte)(EUC_JP HEX)=" + DatatypeConverter.printHexBinary(account_holder.getBytes("EUC_JP")));
		DEBUG_LOG.debug("account_holder(byte)(SJIS)=" + account_holder.getBytes("SJIS"));
		DEBUG_LOG.debug("account_holder(byte)(SJIS HEX)=" + DatatypeConverter.printHexBinary(account_holder.getBytes("SJIS")));
		
		DEBUG_LOG.debug("message(byte)(UTF-8)=" + message.getBytes("UTF-8"));
		DEBUG_LOG.debug("message(byte)(UTF-8 HEX)=" + DatatypeConverter.printHexBinary(message.getBytes("UTF-8")));
		DEBUG_LOG.debug("message(byte)(EUC_JP)=" + message.getBytes("EUC_JP"));
		DEBUG_LOG.debug("message(byte)(EUC_JP HEX)=" + DatatypeConverter.printHexBinary(message.getBytes("EUC_JP")));
		DEBUG_LOG.debug("message(byte)(SJIS)=" + message.getBytes("SJIS"));
		DEBUG_LOG.debug("message(byte)(SJIS HEX)=" + DatatypeConverter.printHexBinary(message.getBytes("SJIS")));

		}catch(Exception e){}
		DEBUG_LOG.debug("復号化・文字コード変換後パラメータを出力 END");

		// 各取得パラメータのエラーチェック判定（パラメータをログに出力後）
		if (errorFlg)
		{
			payway_info_bean.sendMessageString(CommonInfoCFConst.STATUS_15, X31CWebConst.DATABEAN_SET_VALUE, CLEARPASS_STATUS_ERROR);
			// パラメータのエラー時は以降の処理をしない
			return;
		}

		// 付加情報
		String[] add_info_array = add_info.split(JFUStrConst.HALF_SPACE);
		// 付加情報から押下回数を取り出す
		String pushCnt = add_info_array[2];
		// 付加情報からセッションIDを取り出す
		String sessionId = add_info_array[3];
		// 口座振替受付から遷移の場合のセッションIDをチェック
		chkSessionFromClearPass(sessionId);

		// 口座名義のカタカナ(半角)→カタカナ(全角)への変換
		String kanaName = JFUCommonUtil.convertToZenkaku(account_holder);

		outputBusLog("----- FUW00144SFLogic_getDecodedKoufuriParams 復号化・文字コード変換後パラメータ START -----");
		outputBusLog("bank_cd = " + bank_cd);
		outputBusLog("branch_cd = " + branch_cd);
		outputBusLog("----- FUW00144SFLogic_getDecodedKoufuriParams 復号化・文字コード変換後パラメータ END -----");

		// POSTパラメータ値を共有フォームビーンに詰める。
		payway_info_bean.sendMessageString(CommonInfoCFConst.BANK_CD_15, X31CWebConst.DATABEAN_SET_VALUE, bank_cd);
		payway_info_bean.sendMessageString(CommonInfoCFConst.BRANCH_CD_15, X31CWebConst.DATABEAN_SET_VALUE, branch_cd);
		payway_info_bean.sendMessageString(CommonInfoCFConst.DEPODIT_ITEM_15, X31CWebConst.DATABEAN_SET_VALUE, depodit_item);
		payway_info_bean.sendMessageString(CommonInfoCFConst.ACCOUNT_NUMBER_15, X31CWebConst.DATABEAN_SET_VALUE, account_number);
		payway_info_bean.sendMessageString(CommonInfoCFConst.ACCOUNT_HOLDER_15, X31CWebConst.DATABEAN_SET_VALUE, kanaName);
		payway_info_bean.sendMessageString(CommonInfoCFConst.STATUS_15, X31CWebConst.DATABEAN_SET_VALUE, status);
		payway_info_bean.sendMessageString(CommonInfoCFConst.KFR_OUKA_COUNT_15, X31CWebConst.DATABEAN_SET_VALUE, pushCnt);

		// 口座振替フラグを「口座振替する」に設定
		payway_info_bean.sendMessageString(CommonInfoCFConst.KOUFURI_FLG_15, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.KOUFURI_YES);
		int pushCount = Integer.valueOf(pushCnt).intValue();
		if (pushCount >= 3)
		{
			// 口座振替フラグを「口座振替不可」に設定
			payway_info_bean.sendMessageString(CommonInfoCFConst.KOUFURI_FLG_15, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.KOUFURI_FUKA);
		}

		// 各取得パラメータの設定値チェック(文字コード変換後にもう一度チェック)
		if (CLEARPASS_STATUS_NORMAL.equals(status))
		{
			if (JFUWebCommon.isNull(shop_cd) == true) errorFlg = true;
			if (JFUWebCommon.isNull(customer_number) == true) errorFlg = true;
			if (JFUWebCommon.isNull(name_kana) == true) errorFlg = true;
			if (JFUWebCommon.isNull(clearpass_date) == true) errorFlg = true;
			if (JFUWebCommon.isNull(clearpass_time) == true) errorFlg = true;
			if (JFUWebCommon.isNull(clearpass_number) == true) errorFlg = true;
			if (JFUWebCommon.isNull(bank_date) == true) errorFlg = true;
			if (JFUWebCommon.isNull(bank_time) == true) errorFlg = true;
			if (JFUWebCommon.isNull(bank_number) == true) errorFlg = true;
			if (JFUWebCommon.isNull(bank_cd) == true) errorFlg = true;
			if (JFUWebCommon.isNull(branch_cd) == true) errorFlg = true;
			if (JFUWebCommon.isNull(depodit_item) == true) errorFlg = true;
			if (JFUWebCommon.isNull(account_number) == true) errorFlg = true;
			if (JFUWebCommon.isNull(kanaName) == true) errorFlg = true;
			if (JFUWebCommon.isNull(result_cd) == true) errorFlg = true;
			if (JFUWebCommon.isNull(message) == true) errorFlg = true;
			if (JFUWebCommon.isNull(add_info) == true) errorFlg = true;
		}
		else
		{
			errorFlg = true;
		}
		// 各取得パラメータのエラーチェック判定
		if (errorFlg)
		{
			payway_info_bean.sendMessageString(CommonInfoCFConst.STATUS_15, X31CWebConst.DATABEAN_SET_VALUE, CLEARPASS_STATUS_ERROR);
		}

	}

    /** 
     * EUC-JPで変換して複合化処理を行います。
     * @param  String key
     * @param  String text
     * @throws  IllegalBlockSizeException,InvalidKeyException,NoSuchAlgorithmException
     *           UnsupportedEncodingException,BadPaddingException,NoSuchPaddingException
     */
    public static String decrypt_euc(String key, String encrypted)
    throws IllegalBlockSizeException,
    InvalidKeyException,
    NoSuchAlgorithmException,
    UnsupportedEncodingException,
    BadPaddingException,
    NoSuchPaddingException
    {
        SecretKeySpec sksSpec = new SecretKeySpec(key.getBytes(), ENCRYPT_FORMAT);
        Cipher cipher = Cipher.getInstance(ENCRYPT_FORMAT);
        cipher.init(javax.crypto.Cipher.DECRYPT_MODE, sksSpec);
        byte[] decrypted = cipher.doFinal(hexStringToByteArray(encrypted));
        return new String(decrypted, "EUC_JP");
    }

    /**
     * 16進数の文字列をバイト配列に変換
     * @param arg      16進数の文字列
     * @return byte[]  バイト配列
     */
    private static byte[] hexStringToByteArray(String arg) {
        byte[] byteArray = new byte[arg.length() / STRING_SIZE];
        int j = 0;
        for(int i = 0; i < arg.length() / STRING_SIZE; i++) {
            // 文字列を1byteづつ取得
            byteArray[i] = Integer.valueOf(arg.substring(j, j + STRING_SIZE), 16).byteValue();
            j += STRING_SIZE;
        }
        return byteArray;
    }

	/**
	 * 口座振替受付から遷移の場合のセッションチェックを行います。
	 * <br>
	 * @param webNewInfobean
	 * @param sessionId
	 */

	private void chkSessionFromClearPass(String koufuri_sessionId)
	{
		// アプリケーションプロパティより口座振替テストモード設定を取得
		String koufuri_test_mode = JFUWebCommon.getApplicationConst(JFUStrConst.FU_N_KOUFURI_TEST_MODE);

		// テストモードが"ON"の場合、セッションＩＤチェックを行わない
		if (!TEST_MODE_ON.equals(koufuri_test_mode))
		{
			// セッションID の正当性をチェックする =========
			String current_session_id = this.getSessionId();

			if (current_session_id.compareTo(koufuri_sessionId) != 0)
			{
				// セッションIDが異なるため改変の可能性があるためアクセスエラーとして共通エラー画面に遷移
				throw new JCCBusinessException(JFUStrConst.ERROR_CODE_0009);
			}
		}
	}

	/**
	 * アプリケーションプロパティのエラー処理です。
	 * 
	 * <br>
	 * @param key キー
	 */
	private static void setErrMsgAplVal(String key)
	{
		DEBUG_LOG.debug("※アプリケーションプロパティに指定されたキーが存在しません。KEY：" + key);
		throw new JCCBusinessException(JFUStrConst.ERROR_CODE_0009);
	}

	// ANK-2137-00-00_提携住宅会社用WEB受付画面配置 end

	/**
	 * ビジネスログへの出力処理
	 *
	 * @param msg ログ情報
	 */
	private void outputBusLog(String msg)
	{
		JSYwebLog.println(JSYwebLog.EXECUTION, getClass(), msg, "CS0003I", null, null);
	}

	/**
	 * 保護URLの呼出か判定する。<br>
	 * 
	 * <br>
	 * @return true：保護URL、false：非保護URL
	 */
	private boolean isNewpUrl()
	{
		X33WSessionController sc = X33CUtil.getSession(this.getSessionId());
		HttpServletRequest req = sc.getServletRequest();

		String requestUri = JFUCommonUtil.nvl(req.getRequestURI(), JFUStrConst.EMPTY);
		// リファラー（ログ出力用）
		String referer = JFUCommonUtil.nvl(req.getHeader("referer"), JFUStrConst.EMPTY);

		DEBUG_LOG.debug("※※※ RequestURI=[" + requestUri + "] referer=[" + referer + "] ※※※");

		if (requestUri.contains(JFUStrConst.URL_NEW_P))
		{
			return true;
		}
		return false;
	}

	/**
	 * iDAの認証結果からsysidを取得する。
	 * 
	 * <br>
	 * @return sysid
	 */
	private String getSysId()
	{
		X33WSessionController sc = X33CUtil.getSession(this.getSessionId());
		HttpServletRequest req = sc.getServletRequest();

		// Header情報からSYSIDを取得するKEYを取得
		String headerSysIdKey = JCCWebCommon.getApplicationConst(HEADER_SYSID_KEY);
		if (null == headerSysIdKey || "".equals(headerSysIdKey))
		{
			throw new JCCFrameworkException("Header情報のSYSID取得用KEYが、アプリケーションプロパティファイルに設定されていません。");
		}

		String headerSysId = JFUCommonUtil.nvl(req.getHeader(headerSysIdKey), JFUStrConst.EMPTY);

		// iDAテストモードをAPLConstから取得する
		String iDATestMode = JCCWebCommon.getApplicationConst(IDA_TEST_MODE);
		// iDAテストモードがONの場合、SYSIDをリクエストから取得する
		if (JFUStrConst.ON.equals(iDATestMode))
		{
			// スタブの場合は、パラメータからSYSIDの取得
			headerSysId = JFUCommonUtil.nvl(req.getParameter(headerSysIdKey), JFUStrConst.EMPTY);
			DEBUG_LOG.debug("テストモード パラメータ headerSysId = " + headerSysId);
		}

		DEBUG_LOG.debug("※ headerSysId=[" + headerSysId + "]");
		return headerSysId;
	}

	/**
	 * iDAログイン画面を呼び出すか判定する。<br>
	 * 
	 * <br>
	 * @param prtctChgFlg true：非保護URLを保護URLに変更する、false：変更しない
	 * @return true：iDAログイン画面に遷移、false：eoID認証結果画面に遷移
	 */
	private boolean isRedirectIdaNinsho(boolean prtctChgFlg)
	{
		if (isNewpUrl())
		{
			// ●保護URL(new_p)の場合

			if (JFUStrConst.EMPTY.equals(getSysId()))
			{
				// sysidが取得できない場合(エラー)

				return true;
			}
			else
			{
				// sysidが取得できた場合
			}
		}
		else
		{
			// ●非保護URLの場合

			if(prtctChgFlg){
				// 保護URL(new_p)へリダイレクト処理

				return true;
			}
		}

		// eoID認証結果画面に遷移
		return false;
	}

	/**
	 * iDA連携のアクションか判定する。
	 * 
	 * <br>
	 * @param action アクション名
	 * @return true：iDA連携、false：その他
	 */
	private boolean isIdaRenkei(String action)
	{
		if (isNewpUrl() && ACTION_MANSION_LP_NEW.equals(action))
		{
			// 保護URLで、アクションが「mansion_lp_new」低価格マンション
			return true;
		}
		return false;

	}

	/**
	 * <DL>
	 * <DT>eoID認証(営業支援)リダイレクト処理(他サイト連携)
	 * </DL>
	 * <p>
	 */
	private void redirectEssLoginOnly()
	{

		// 暗号化キー
		String randomKey = JFUCommonUtil.createRondomKey();
		String eoid = getEoID();
		String ck = "";

		// 暗号化
		try
		{
			if(!JFUWebCommon.isNull(eoid))
			{
				// 共通暗号化キーをAPLConstから取得
				String comkey = JCCWebCommon.getApplicationConst(ESS_COMMKEY);
		
				// 共通暗号化キーで暗号化キーを暗号化
				ck = encryptKey_euc(comkey, randomKey);
		
				// パラメータの暗号化
				eoid = encrypt_euc(randomKey, eoid);
			}

		}
		catch (Exception e)
		{
			DEBUG_LOG.debug("※eoID認証(営業支援)：暗号化処理でエラー");
			DEBUG_LOG.debug(e.toString());
		}

		//サービスフォームBeanに値を設定
		X31SDataBeanAccess serviceFormBean = getServiceFormBean();
		serviceFormBean.sendMessageString(FUW00144SFConst.ESS_LOGIN_TRANS_FLG, X31CWebConst.DATABEAN_SET_VALUE, TRANS_FLG_ON);
		serviceFormBean.sendMessageString(FUW00144SFConst.EOID, X31CWebConst.DATABEAN_SET_VALUE, eoid);
		serviceFormBean.sendMessageString(FUW00144SFConst.CK, X31CWebConst.DATABEAN_SET_VALUE, ck);
		serviceFormBean.sendMessageString(FUW00144SFConst.IDA_LOGIN_TRANS_FLG, TRANS_FLG_OFF);

	}

	/**
	 * iDAの認証結果からeoIDを取得する。
	 * 
	 * <br>
	 * @return eoid
	 */
	private String getEoID()
	{
		X33WSessionController sc = X33CUtil.getSession(this.getSessionId());
		HttpServletRequest req = sc.getServletRequest();

		String headerEoId = JFUCommonUtil.nvl(req.getHeader(KEY_EOID), JFUStrConst.EMPTY);

		// iDAテストモードをAPLConstから取得する
		String iDATestMode = JCCWebCommon.getApplicationConst(IDA_TEST_MODE);
		// iDAテストモードがONの場合、SYSIDをリクエストから取得する
		if (JFUStrConst.ON.equals(iDATestMode))
		{
			// スタブの場合は、パラメータからSYSIDの取得
			headerEoId = JFUCommonUtil.nvl(req.getParameter(KEY_EOID), JFUStrConst.EMPTY);
			DEBUG_LOG.debug("テストモード パラメータ headerEoId = " + headerEoId);
		}

		DEBUG_LOG.debug("※ headerEoId=[" + headerEoId + "]");
		return headerEoId;
	}

	/**
	 * ソーシャルID認証リダイレクト処理
	 * <br>
	 */
	private void socialLoginRedirect(X31SDataBeanAccess web_new_bean)
	{
		// ＭＥＴＡタグ抑止フラグを設定(metaタグ["refresh"]の出力を抑止するためのフラグ)
		JFUWebCommon.setDataBeanItemByPath(getServiceFormBean(), FUW00144SFConst.META_TAG_YOKSI_FLG, META_TAG_YOKSI_FLG_ON);
		// ソーシャルID認証画面遷移フラグ(JSPでソーシャルID認証画面遷移のためのbodyを出力するためのフラグ)
		JFUWebCommon.setDataBeanItemByPath(getServiceFormBean(), FUW00144SFConst.SOCIAL_LOGIN_TRANS_FLG, TRANS_KBN_FIRST);
	}

	/**
	 * <DL>
	 * <DT>ソーシャルID認証リダイレクト処理(他サイト連携)
	 * </DL>
	 * <p>
	 * @return 正常:true、以上:false
	 */
	public boolean redirectSocialLogin()
	{
		// 共有フォームBean取得
		X31SDataBeanAccess commonInfoBean = getCommonInfoBean();
		// WEB新規情報Bean
		X31SDataBeanAccess webNewBean = commonInfoBean.getDataBeanArray(CommonInfoCFConst.WEB_NEW_INFO).getDataBean(0);
		// 契約者情報Bean
		X31SDataBeanAccess keishaInfo = webNewBean.getDataBeanArray(CommonInfoCFConst.KEIYAKUSHA_INFO).getDataBean(0);

		String socialIdSbt = keishaInfo.sendMessageString(CommonInfoCFConst.INTERFACE_SOCIAL_ID_SBT_09, X31CWebConst.DATABEAN_GET_VALUE);

		// ソーシャルID認証画面遷移に必要な情報をサービスフォームBeanに設定します。
		try
		{
			setSocialLoginRedirectData(socialIdSbt);
		}
		catch (UnsupportedEncodingException e)
		{
			// TODO 自動生成された catch ブロック
			e.printStackTrace();
		}

		// google
		if(SOCIAL_ID_SBT_GOOGLE.equals(socialIdSbt))
		{
			// 遷移先画面ＩＤにソーシャルID認証のosidを指定して他サイト連携
			commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, OSID_FUIFE183);
		}
		// Yahoo
		else if(SOCIAL_ID_SBT_YAHOO.equals(socialIdSbt))
		{
			// 遷移先画面ＩＤにソーシャルID認証のosidを指定して他サイト連携
			commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, OSID_FUIFE186);
		}
		// Facebook
		else if(SOCIAL_ID_SBT_FACEBOOK.equals(socialIdSbt))
		{
			// 遷移先画面ＩＤにソーシャルID認証のosidを指定して他サイト連携
			commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, OSID_FUIFE180);
		}
		// Apple
		else if(SOCIAL_ID_SBT_APPLE.equals(socialIdSbt))
		{
			// 遷移先画面ＩＤにソーシャルID認証のosidを指定して他サイト連携
			commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, OSID_FUIFE189);
		}
		else
		{
			outputBusLog("----- ソーシャル画面起動に失敗しました -----");
			return false;
		}

		// ビジネスログへの出力
		outputBusLog("----- ソーシャルID認証画面を起動します -----");
		return true;
	}

	/**
	 * ソーシャルID認証へのリダイレクト処理<br>
	 * ソーシャルID認証画面への遷移に必要な情報をサービスフォームBeanに設定します。
	 * <br>
	 * @param commonInfoBean
	 * @throws UnsupportedEncodingException 
	 */
	private void setSocialLoginRedirectData(String socialIdSbt) throws UnsupportedEncodingException
	{

		// google
		if (SOCIAL_ID_SBT_GOOGLE.equals(socialIdSbt))
		{
			String clientId = JCCWebCommon.getApplicationConst(JFUSocialGoogleInterface.KEY_API_GOOGLE_CLIENT_ID);
			String redirectUri = JCCWebCommon.getApplicationConst(JFUSocialGoogleInterface.KEY_API_GOOGLE_REDIRECT_URI);
			String reponseType = JCCWebCommon.getApplicationConst(JFUSocialGoogleInterface.KEY_API_GOOGLE_RESPONSE_TYPE);
			String scope = JCCWebCommon.getApplicationConst(JFUSocialGoogleInterface.KEY_API_GOOGLE_SCOPE);
			String accessType = JCCWebCommon.getApplicationConst(JFUSocialGoogleInterface.KEY_API_GOOGLE_ACCESS_TYPE);
			String display = JCCWebCommon.getApplicationConst(JFUSocialGoogleInterface.KEY_API_GOOGLE_DISPLAY);

			// サービスフォームBean
			X31SDataBeanAccess serviceFormBean = getServiceFormBean();
			// ソーシャルＩＤ認証連携情報
			X31SDataBeanAccess socialLoginBean = serviceFormBean.getDataBeanArray(FUW00144SFConst.SOCIAL_LOGIN_TRANS_INFO).getDataBean(0);

			// サービスフォームBeanに値を設定
			socialLoginBean.sendMessageString(FUW00144SFConst.CLIENT_ID_07, X31CWebConst.DATABEAN_SET_VALUE, clientId);
			socialLoginBean.sendMessageString(FUW00144SFConst.REDIRECT_URI_07, X31CWebConst.DATABEAN_SET_VALUE, redirectUri);
			socialLoginBean.sendMessageString(FUW00144SFConst.RESPONSE_TYPE_07, X31CWebConst.DATABEAN_SET_VALUE, reponseType);
			socialLoginBean.sendMessageString(FUW00144SFConst.SCOPE_07, X31CWebConst.DATABEAN_SET_VALUE, scope);
			socialLoginBean.sendMessageString(FUW00144SFConst.STATE_07, X31CWebConst.DATABEAN_SET_VALUE, getSessionId());
			socialLoginBean.sendMessageString(FUW00144SFConst.NONCE_07, X31CWebConst.DATABEAN_SET_VALUE, createRondomKey64());
			socialLoginBean.sendMessageString(FUW00144SFConst.ACCESS_TYPE_07, X31CWebConst.DATABEAN_SET_VALUE, accessType);
			socialLoginBean.sendMessageString(FUW00144SFConst.DISPLAY_07, X31CWebConst.DATABEAN_SET_VALUE, display);
			socialLoginBean.sendMessageString(FUW00144SFConst.HD_07, X31CWebConst.DATABEAN_SET_VALUE, "");
			socialLoginBean.sendMessageString(FUW00144SFConst.INCLUDE_GRANTED_SCOPES_07, X31CWebConst.DATABEAN_SET_VALUE, "");
			socialLoginBean.sendMessageString(FUW00144SFConst.LOGIN_HINT_07, X31CWebConst.DATABEAN_SET_VALUE, "");
			socialLoginBean.sendMessageString(FUW00144SFConst.PROMPT_07, X31CWebConst.DATABEAN_SET_VALUE, "");
		}
		// Yahoo
		if (SOCIAL_ID_SBT_YAHOO.equals(socialIdSbt))
		{
			String clientId = JCCWebCommon.getApplicationConst(JFUSocialYahooInterface.KEY_API_YAHOO_CLIENT_ID);
			String redirectUri = JCCWebCommon.getApplicationConst(JFUSocialYahooInterface.KEY_API_YAHOO_REDIRECT_URI);
			String reponseType = JCCWebCommon.getApplicationConst(JFUSocialYahooInterface.KEY_API_YAHOO_RESPONSE_TYPE);
			String bail = JCCWebCommon.getApplicationConst(JFUSocialYahooInterface.KEY_API_YAHOO_BAIL);
			String scope = JCCWebCommon.getApplicationConst(JFUSocialYahooInterface.KEY_API_YAHOO_SCOPE);
			String accessType = JCCWebCommon.getApplicationConst(JFUSocialYahooInterface.KEY_API_YAHOO_ACCESS_TYPE);
			String display = JCCWebCommon.getApplicationConst(JFUSocialYahooInterface.KEY_API_YAHOO_DISPLAY);
			String prompt = JCCWebCommon.getApplicationConst(JFUSocialYahooInterface.KEY_API_YAHOO_PROMPT);
			String maxAge = JCCWebCommon.getApplicationConst(JFUSocialYahooInterface.KEY_API_YAHOO_MAX_AGE);

			// サービスフォームBean
			X31SDataBeanAccess serviceFormBean = getServiceFormBean();
			// ソーシャルＩＤ認証連携情報
			X31SDataBeanAccess socialLoginBean = serviceFormBean.getDataBeanArray(FUW00144SFConst.SOCIAL_LOGIN_TRANS_INFO).getDataBean(0);

			// サービスフォームBeanに値を設定
			socialLoginBean.sendMessageString(FUW00144SFConst.CLIENT_ID_07, X31CWebConst.DATABEAN_SET_VALUE, clientId);
			socialLoginBean.sendMessageString(FUW00144SFConst.REDIRECT_URI_07, X31CWebConst.DATABEAN_SET_VALUE, redirectUri);
			socialLoginBean.sendMessageString(FUW00144SFConst.RESPONSE_TYPE_07, X31CWebConst.DATABEAN_SET_VALUE, reponseType);
			socialLoginBean.sendMessageString(FUW00144SFConst.BAIL_07, X31CWebConst.DATABEAN_SET_VALUE, bail);
			socialLoginBean.sendMessageString(FUW00144SFConst.SCOPE_07, X31CWebConst.DATABEAN_SET_VALUE, scope);
			socialLoginBean.sendMessageString(FUW00144SFConst.STATE_07, X31CWebConst.DATABEAN_SET_VALUE, getSessionId());
			socialLoginBean.sendMessageString(FUW00144SFConst.NONCE_07, X31CWebConst.DATABEAN_SET_VALUE, createRondomKey64());
			socialLoginBean.sendMessageString(FUW00144SFConst.ACCESS_TYPE_07, X31CWebConst.DATABEAN_SET_VALUE, accessType);
			socialLoginBean.sendMessageString(FUW00144SFConst.DISPLAY_07, X31CWebConst.DATABEAN_SET_VALUE, display);
			socialLoginBean.sendMessageString(FUW00144SFConst.PROMPT_07, X31CWebConst.DATABEAN_SET_VALUE, prompt);
			socialLoginBean.sendMessageString(FUW00144SFConst.MAX_AGE_07, X31CWebConst.DATABEAN_SET_VALUE, maxAge);
		}
		// Facebook
		if (SOCIAL_ID_SBT_FACEBOOK.equals(socialIdSbt))
		{
			String clientId = JCCWebCommon.getApplicationConst(JFUSocialFacebookInterface.KEY_API_FACEBOOK_CLIENT_ID);
			String redirectUri = JCCWebCommon.getApplicationConst(JFUSocialFacebookInterface.KEY_API_FACEBOOK_REDIRECT_URI);
			String reponseType = JCCWebCommon.getApplicationConst(JFUSocialFacebookInterface.KEY_API_FACEBOOK_RESPONSE_TYPE);
			String scope = JCCWebCommon.getApplicationConst(JFUSocialFacebookInterface.KEY_API_FACEBOOK_SCOPE);

			// サービスフォームBean
			X31SDataBeanAccess serviceFormBean = getServiceFormBean();
			// ソーシャルＩＤ認証連携情報
			X31SDataBeanAccess socialLoginBean = serviceFormBean.getDataBeanArray(FUW00144SFConst.SOCIAL_LOGIN_TRANS_INFO).getDataBean(0);

			// サービスフォームBeanに値を設定
			socialLoginBean.sendMessageString(FUW00144SFConst.CLIENT_ID_07, X31CWebConst.DATABEAN_SET_VALUE, clientId);
			socialLoginBean.sendMessageString(FUW00144SFConst.REDIRECT_URI_07, X31CWebConst.DATABEAN_SET_VALUE, redirectUri);
			socialLoginBean.sendMessageString(FUW00144SFConst.RESPONSE_TYPE_07, X31CWebConst.DATABEAN_SET_VALUE, reponseType);
			socialLoginBean.sendMessageString(FUW00144SFConst.SCOPE_07, X31CWebConst.DATABEAN_SET_VALUE, scope);
			socialLoginBean.sendMessageString(FUW00144SFConst.STATE_07, X31CWebConst.DATABEAN_SET_VALUE, getSessionId());
		}
		// Apple
		if (SOCIAL_ID_SBT_APPLE.equals(socialIdSbt))
		{
			String clientId = JCCWebCommon.getApplicationConst(JFUSocialAppleInterface.KEY_API_APPLE_CLIENT_ID);
			String redirectUri = JCCWebCommon.getApplicationConst(JFUSocialAppleInterface.KEY_API_APPLE_REDIRECT_URI);
			String reponseType = JCCWebCommon.getApplicationConst(JFUSocialAppleInterface.KEY_API_APPLE_RESPONSE_TYPE);
			String reponseMode = JCCWebCommon.getApplicationConst(JFUSocialAppleInterface.KEY_API_APPLE_RESPONSE_MODE);
			String scope = JCCWebCommon.getApplicationConst(JFUSocialAppleInterface.KEY_API_APPLE_SCOPE);

			// サービスフォームBean
			X31SDataBeanAccess serviceFormBean = getServiceFormBean();
			// ソーシャルＩＤ認証連携情報
			X31SDataBeanAccess socialLoginBean = serviceFormBean.getDataBeanArray(FUW00144SFConst.SOCIAL_LOGIN_TRANS_INFO).getDataBean(0);

			// サービスフォームBeanに値を設定
			socialLoginBean.sendMessageString(FUW00144SFConst.CLIENT_ID_07, X31CWebConst.DATABEAN_SET_VALUE, clientId);
			socialLoginBean.sendMessageString(FUW00144SFConst.REDIRECT_URI_07, X31CWebConst.DATABEAN_SET_VALUE, redirectUri);
			socialLoginBean.sendMessageString(FUW00144SFConst.RESPONSE_TYPE_07, X31CWebConst.DATABEAN_SET_VALUE, reponseType);
			socialLoginBean.sendMessageString(FUW00144SFConst.RESPONSE_MODE_07, X31CWebConst.DATABEAN_SET_VALUE, reponseMode);
			socialLoginBean.sendMessageString(FUW00144SFConst.SCOPE_07, X31CWebConst.DATABEAN_SET_VALUE, scope);
			socialLoginBean.sendMessageString(FUW00144SFConst.STATE_07, X31CWebConst.DATABEAN_SET_VALUE, getSessionId());
			socialLoginBean.sendMessageString(FUW00144SFConst.NONCE_07, X31CWebConst.DATABEAN_SET_VALUE, createRondomKey64());
		}

	}

	/**
	 * faceBookリダイレクト処理<br>
	 * faceBookから取得した情報を共有フォームBeanに設定します。
	 * <br>
	 * @param web_new_bean	WEB新規情報
	 * @throws Exception		すべての例外
	 */
	private void facebookRedirect(X31SDataBeanAccess web_new_bean) throws Exception
	{

		// 認可コード
		String code = (String)getRequestParams().get(JFUSocialFacebookInterface.CODE);

		// ●外部API呼出処理
		// 外部API「ソーシャルIDアクセストークン取得(Facebook)(FUIFE181)」の呼び出しを行う。
		HashMap<String, Object> result = JFUWebCommon.getSocialIdTokenReqRsltFB(code);

		// アクセストークン取得
		String accessToken = (String)result.get(JFUSocialFacebookInterface.ACCESS_TOKEN);

		// ●外部API呼出処理
		// 外部API「ソーシャルIDユーザ情報取得(Facebook)(FUIFE182)」の呼び出しを行う。
		result = JFUWebCommon.getSocialIdUserInfoReqRsltFB(accessToken);

		// ----------------------------------------------------
		// 共有フォームBeanに設定
		// ----------------------------------------------------
		// 契約者情報Bean
		X31SDataBeanAccess keishaInfo = web_new_bean.getDataBeanArray(CommonInfoCFConst.KEIYAKUSHA_INFO).getDataBean(0);
		// ---------------------------------------------------------
		// 契約者情報/0/ソーシャルＩＤ ← ユーザー識別ID
		JFUWebCommon.setDataBeanItemByPath(keishaInfo, CommonInfoCFConst.SOCIAL_ID_09, (String)result.get(JFUSocialFacebookInterface.ID));
		// 契約者情報/0/氏名（姓） ← 姓
		JFUWebCommon.setDataBeanItemByPath(keishaInfo, CommonInfoCFConst.KSHNM_SEI_09, (String)result.get(JFUSocialFacebookInterface.LAST_NAME));
		// 契約者情報/0/氏名（名） ← 名
		JFUWebCommon.setDataBeanItemByPath(keishaInfo, CommonInfoCFConst.KSHNM_NM_09, (String)result.get(JFUSocialFacebookInterface.FIRST_NAME));
		// 契約者情報/0/個人メールアドレス ← メールアドレス
		JFUWebCommon.setDataBeanItemByPath(keishaInfo, CommonInfoCFConst.KOJIN_MLAD_09, (String)result.get(JFUSocialFacebookInterface.EMAIL));
		// 契約者情報/0/代表者氏名（姓） ← 姓
		JFUWebCommon.setDataBeanItemByPath(keishaInfo, CommonInfoCFConst.DHSNM_SEI_09, (String)result.get(JFUSocialFacebookInterface.LAST_NAME));
		// 契約者情報/0/代表者氏名（名） ← 名
		JFUWebCommon.setDataBeanItemByPath(keishaInfo, CommonInfoCFConst.DHSNM_NM_09, (String)result.get(JFUSocialFacebookInterface.FIRST_NAME));
		// 契約者情報/0/性別 ← 性別
		String gender = (String)result.get(JFUSocialFacebookInterface.USER_GENDER);
		if (JFUSocialFacebookInterface.GENDER_MALE.equals(gender))
		{
			JFUWebCommon.setDataBeanItemByPath(keishaInfo, CommonInfoCFConst.SEX_09, JFUStrConst.CD00245_1);
		}
		else if (JFUSocialFacebookInterface.GENDER_FEMALE.equals(gender))
		{
			JFUWebCommon.setDataBeanItemByPath(keishaInfo, CommonInfoCFConst.SEX_09, JFUStrConst.CD00245_2);
		}
		// 契約者情報/0/生年月日 ← 生年月日
		String birthday = (String)result.get(JFUSocialFacebookInterface.USER_BIRTHDAY);
		if (birthday != null && birthday.length() == 10)
		{
			JFUWebCommon.setDataBeanItemByPath(keishaInfo, CommonInfoCFConst.BIRTHD_DAY_09, birthday.substring(0, 2));
			JFUWebCommon.setDataBeanItemByPath(keishaInfo, CommonInfoCFConst.BIRTHD_MONTH_09, birthday.substring(3, 5));
			JFUWebCommon.setDataBeanItemByPath(keishaInfo, CommonInfoCFConst.BIRTHD_YEAR_09, birthday.substring(6, 10));
		}

		// ソーシャルID種別 ← Facebook
		JFUWebCommon.setDataBeanItemByPath(keishaInfo, CommonInfoCFConst.SOCIAL_ID_SBT_09, keishaInfo.sendMessageString(
				CommonInfoCFConst.INTERFACE_SOCIAL_ID_SBT_09, X31CWebConst.DATABEAN_GET_VALUE));
		// ---------------------------------------------------------

		// ソーシャルID認証画面遷移フラグ(JSPでソーシャルID認証画面遷移のためのbodyを出力するためのフラグ)
		JFUWebCommon.setDataBeanItemByPath(getServiceFormBean(), FUW00144SFConst.SOCIAL_LOGIN_TRANS_FLG, TRANS_KBN_SECOND);
		// ＭＥＴＡタグ抑止フラグを設定(metaタグ["refresh"]の出力を抑止するためのフラグ)
		JFUWebCommon.setDataBeanItemByPath(getServiceFormBean(), FUW00144SFConst.META_TAG_YOKSI_FLG, META_TAG_YOKSI_FLG_ON);

	}

	/**
	 * Googleリダイレクト処理<br>
	 * Googleから取得した情報を共有フォームBeanに設定します。
	 * <br>
	 * @param web_new_bean	WEB新規情報
	 * @throws Exception		すべての例外
	 */
	private void googleRedirect(X31SDataBeanAccess web_new_bean) throws Exception
	{

		// 認可コード
		String code = (String)getRequestParams().get(JFUSocialGoogleInterface.CODE);

		// ●外部API呼出処理
		// 外部API「ソーシャルIDアクセストークン取得(Google)(FUIFE184)」の呼び出しを行う。
		HashMap<String, Object> result = JFUWebCommon.getSocialIdTokenReqRsltGG(code);

		// アクセストークン取得
		String accessToken = (String)result.get(JFUSocialGoogleInterface.ACCESS_TOKEN);

		// ●外部API呼出処理
		// 外部API「ソーシャルIDユーザ情報取得(Google)(FUIFE185)」の呼び出しを行う。
		result = JFUWebCommon.getSocialIdUserInfoReqRsltGG(accessToken);

		// ----------------------------------------------------
		// 共有フォームBeanに設定
		// ----------------------------------------------------
		// 契約者情報Bean
		X31SDataBeanAccess keishaInfo = web_new_bean.getDataBeanArray(CommonInfoCFConst.KEIYAKUSHA_INFO).getDataBean(0);
		// ---------------------------------------------------------
		// 契約者情報/0/ソーシャルＩＤ ← ユーザー識別ID
		JFUWebCommon.setDataBeanItemByPath(keishaInfo, CommonInfoCFConst.SOCIAL_ID_09, (String)result.get(JFUSocialGoogleInterface.ID));
		// 契約者情報/0/氏名（姓） ← 姓
		JFUWebCommon.setDataBeanItemByPath(keishaInfo, CommonInfoCFConst.KSHNM_SEI_09, (String)result.get(JFUSocialGoogleInterface.FAMILY_NAME));
		// 契約者情報/0/氏名（名） ← 名
		JFUWebCommon.setDataBeanItemByPath(keishaInfo, CommonInfoCFConst.KSHNM_NM_09, (String)result.get(JFUSocialGoogleInterface.GIVEN_NAME));
		// 契約者情報/0/個人メールアドレス ← メールアドレス
		JFUWebCommon.setDataBeanItemByPath(keishaInfo, CommonInfoCFConst.KOJIN_MLAD_09, (String)result.get(JFUSocialGoogleInterface.EMAIL));
		// 契約者情報/0/代表者氏名（姓） ← 姓
		JFUWebCommon.setDataBeanItemByPath(keishaInfo, CommonInfoCFConst.DHSNM_SEI_09, (String)result.get(JFUSocialGoogleInterface.FAMILY_NAME));
		// 契約者情報/0/代表者氏名（名） ← 名
		JFUWebCommon.setDataBeanItemByPath(keishaInfo, CommonInfoCFConst.DHSNM_NM_09, (String)result.get(JFUSocialGoogleInterface.GIVEN_NAME));

		// ソーシャルID種別 ← Google
		JFUWebCommon.setDataBeanItemByPath(keishaInfo, CommonInfoCFConst.SOCIAL_ID_SBT_09, keishaInfo.sendMessageString(
				CommonInfoCFConst.INTERFACE_SOCIAL_ID_SBT_09, X31CWebConst.DATABEAN_GET_VALUE));
		// ---------------------------------------------------------

		// ソーシャルID認証画面遷移フラグ(JSPでソーシャルID認証画面遷移のためのbodyを出力するためのフラグ)
		JFUWebCommon.setDataBeanItemByPath(getServiceFormBean(), FUW00144SFConst.SOCIAL_LOGIN_TRANS_FLG, TRANS_KBN_SECOND);
		// ＭＥＴＡタグ抑止フラグを設定(metaタグ["refresh"]の出力を抑止するためのフラグ)
		JFUWebCommon.setDataBeanItemByPath(getServiceFormBean(), FUW00144SFConst.META_TAG_YOKSI_FLG, META_TAG_YOKSI_FLG_ON);

	}

	/**
	 * Yahooリダイレクト処理<br>
	 * Yahooから取得した情報を共有フォームBeanに設定します。
	 * <br>
	 * @param web_new_bean	WEB新規情報
	 * @throws Exception		すべての例外
	 */
	private void yahooRedirect(X31SDataBeanAccess web_new_bean) throws Exception
	{

		// 認可コード
		String code = (String)getRequestParams().get(JFUSocialYahooInterface.CODE);

		// ●外部API呼出処理
		// 外部API「ソーシャルIDアクセストークン取得(Yahoo)(FUIFE187)」の呼び出しを行う。
		HashMap<String, Object> result = JFUWebCommon.getSocialIdTokenReqRsltYH(code);

		// アクセストークン取得
		String accessToken = (String)result.get(JFUSocialYahooInterface.ACCESS_TOKEN);

		// ●外部API呼出処理
		// 外部API「ソーシャルIDユーザ情報取得(Yahoo)(FUIFE188)」の呼び出しを行う。
		result = JFUWebCommon.getSocialIdUserInfoReqRsltYH(accessToken);

		// ----------------------------------------------------
		// 共有フォームBeanに設定
		// ----------------------------------------------------
		// 契約者情報Bean
		X31SDataBeanAccess keishaInfo = web_new_bean.getDataBeanArray(CommonInfoCFConst.KEIYAKUSHA_INFO).getDataBean(0);
		// ---------------------------------------------------------
		// 契約者情報/0/ソーシャルＩＤ ← ユーザー識別ID
		JFUWebCommon.setDataBeanItemByPath(keishaInfo, CommonInfoCFConst.SOCIAL_ID_09, (String)result.get(JFUSocialYahooInterface.SUB));
		// 契約者情報/0/氏名（姓） ← 姓
		JFUWebCommon.setDataBeanItemByPath(keishaInfo, CommonInfoCFConst.KSHNM_SEI_09, (String)result.get(JFUSocialYahooInterface.FAMILY_NAME));
		// 契約者情報/0/氏名（名） ← 名
		JFUWebCommon.setDataBeanItemByPath(keishaInfo, CommonInfoCFConst.KSHNM_NM_09, (String)result.get(JFUSocialYahooInterface.GIVEN_NAME));
		// 契約者情報/0/個人メールアドレス ← メールアドレス
		JFUWebCommon.setDataBeanItemByPath(keishaInfo, CommonInfoCFConst.KOJIN_MLAD_09, (String)result.get(JFUSocialYahooInterface.EMAIL));
		// 契約者情報/0/代表者氏名（姓） ← 姓
		JFUWebCommon.setDataBeanItemByPath(keishaInfo, CommonInfoCFConst.DHSNM_SEI_09, (String)result.get(JFUSocialYahooInterface.FAMILY_NAME));
		// 契約者情報/0/代表者氏名（名） ← 名
		JFUWebCommon.setDataBeanItemByPath(keishaInfo, CommonInfoCFConst.DHSNM_NM_09, (String)result.get(JFUSocialYahooInterface.GIVEN_NAME));
		// 契約者情報/0/性別 ← 性別
		String gender = (String)result.get(JFUSocialYahooInterface.GENDER);
		if (JFUSocialYahooInterface.GENDER_MALE.equals(gender))
		{
			JFUWebCommon.setDataBeanItemByPath(keishaInfo, CommonInfoCFConst.SEX_09, JFUStrConst.CD00245_1);
		}
		else if (JFUSocialYahooInterface.GENDER_FEMALE.equals(gender))
		{
			JFUWebCommon.setDataBeanItemByPath(keishaInfo, CommonInfoCFConst.SEX_09, JFUStrConst.CD00245_2);
		}

		// ソーシャルID種別 ← Yahoo
		JFUWebCommon.setDataBeanItemByPath(keishaInfo, CommonInfoCFConst.SOCIAL_ID_SBT_09, keishaInfo.sendMessageString(
				CommonInfoCFConst.INTERFACE_SOCIAL_ID_SBT_09, X31CWebConst.DATABEAN_GET_VALUE));
		// ---------------------------------------------------------

		// ソーシャルID認証画面遷移フラグ(JSPでソーシャルID認証画面遷移のためのbodyを出力するためのフラグ)
		JFUWebCommon.setDataBeanItemByPath(getServiceFormBean(), FUW00144SFConst.SOCIAL_LOGIN_TRANS_FLG, TRANS_KBN_SECOND);
		// ＭＥＴＡタグ抑止フラグを設定(metaタグ["refresh"]の出力を抑止するためのフラグ)
		JFUWebCommon.setDataBeanItemByPath(getServiceFormBean(), FUW00144SFConst.META_TAG_YOKSI_FLG, META_TAG_YOKSI_FLG_ON);

	}

	/**
	 * Appleリダイレクト処理<br>
	 * Appleから取得した情報を共有フォームBeanに設定します。
	 * <br>
	 * @param web_new_bean	WEB新規情報
	 * @throws Exception		すべての例外
	 */
	private void appleRedirect(X31SDataBeanAccess web_new_bean) throws Exception
	{
		String state = (String)getRequestParams().get(JFUSocialAppleInterface.STATE);
		String code = (String)getRequestParams().get(JFUSocialAppleInterface.CODE);
		String id_token = (String)getRequestParams().get(JFUSocialAppleInterface.ID_TOKEN);
		// id_tokenを"."で分割
		String[] spritIdToken = id_token.split(Pattern.quote("."));
		String payload = JFUStrConst.EMPTY;
		if (spritIdToken.length > 2)
		{
			byte[] decodeBase64 = new BASE64Decoder().decodeBuffer(spritIdToken[1]);
			payload = new String(decodeBase64);
		}
		
//		// ユーザー
//		Object user = getRequestParams().get(JFUSocialAppleInterface.USER);
//		// 名前
//		Object name = JFUSocialAppleInterface.getJsonValue(user, JFUSocialAppleInterface.NAME);
//		// 姓
//		String lastName = (String)JFUSocialAppleInterface.getJsonValue(name, JFUSocialAppleInterface.LAST_NAME);
//		// 名
//		String firstName = (String)JFUSocialAppleInterface.getJsonValue(name, JFUSocialAppleInterface.FIRST_NAME);
//		// メールアドレス
//		String email = (String)JFUSocialAppleInterface.getJsonValue(user, JFUSocialAppleInterface.EMAIL);
//		// IDトークン
//		Object id_token = getRequestParams().get(JFUSocialAppleInterface.ID_TOKEN);
		// ユーザー識別子
		String sub = (String)JFUSocialAppleInterface.getJsonValue(payload, JFUSocialAppleInterface.SUB);
		// メールアドレス
		String email = (String)JFUSocialAppleInterface.getJsonValue(payload, JFUSocialAppleInterface.EMAIL);

		// ----------------------------------------------------
		// 共有フォームBeanに設定
		// ----------------------------------------------------
		// 契約者情報Bean
		X31SDataBeanAccess keishaInfo = web_new_bean.getDataBeanArray(CommonInfoCFConst.KEIYAKUSHA_INFO).getDataBean(0);
		// ---------------------------------------------------------
		// 契約者情報/0/ソーシャルＩＤ ← ユーザー識別子
		JFUWebCommon.setDataBeanItemByPath(keishaInfo, CommonInfoCFConst.SOCIAL_ID_09, sub);
//		// 契約者情報/0/氏名（姓） ← 姓
//		JFUWebCommon.setDataBeanItemByPath(keishaInfo, CommonInfoCFConst.KSHNM_SEI_09, lastName);
//		// 契約者情報/0/氏名（名） ← 名
//		JFUWebCommon.setDataBeanItemByPath(keishaInfo, CommonInfoCFConst.KSHNM_NM_09, firstName);
		// 契約者情報/0/個人メールアドレス ← メールアドレス
		JFUWebCommon.setDataBeanItemByPath(keishaInfo, CommonInfoCFConst.KOJIN_MLAD_09, email);
//		// 契約者情報/0/代表者氏名（姓） ← 姓
//		JFUWebCommon.setDataBeanItemByPath(keishaInfo, CommonInfoCFConst.DHSNM_SEI_09, lastName);
//		// 契約者情報/0/代表者氏名（名） ← 名
//		JFUWebCommon.setDataBeanItemByPath(keishaInfo, CommonInfoCFConst.DHSNM_NM_09, firstName);

		// ソーシャルID種別 ← Apple
		JFUWebCommon.setDataBeanItemByPath(keishaInfo, CommonInfoCFConst.SOCIAL_ID_SBT_09, keishaInfo.sendMessageString(
				CommonInfoCFConst.INTERFACE_SOCIAL_ID_SBT_09, X31CWebConst.DATABEAN_GET_VALUE));
		// ---------------------------------------------------------

		// ソーシャルID認証画面遷移フラグ(JSPでソーシャルID認証画面遷移のためのbodyを出力するためのフラグ)
		JFUWebCommon.setDataBeanItemByPath(getServiceFormBean(), FUW00144SFConst.SOCIAL_LOGIN_TRANS_FLG, TRANS_KBN_SECOND);
		// ＭＥＴＡタグ抑止フラグを設定(metaタグ["refresh"]の出力を抑止するためのフラグ)
		JFUWebCommon.setDataBeanItemByPath(getServiceFormBean(), FUW00144SFConst.META_TAG_YOKSI_FLG, META_TAG_YOKSI_FLG_ON);

	}

	/**
	* ランダムな英数字の文字列を返却する。(64文字)
	* 
	* <br>
	* @return ランダムな英数字の文字列
	*/
	private static String createRondomKey64()
	{
		StringBuffer sb = new StringBuffer();

		while (sb.length() < 64)
		{
			sb.append(JFUCommonUtil.createRondomKey());
		}
		return sb.substring(0, 64);
	}

	/**
	 * フロンティア画面へのリダイレクト設定
	 * 
	 * @param bl セッション
	 * @param urlKey フロンティア画面のURL
	 */
	private static void setFrontierRedirect(X31BWebBusinessLogic bl, String urlKey)
	{
		// HttpServletResponseオブジェクトの取得
		String sessionId = bl.getSession().getViewParamId().getSessionID();
		X33WSessionController sc = X33CUtil.getSession(sessionId);
		String frontiaMskmNewHome = JCCWebCommon.getApplicationConst(urlKey);
		HttpServletResponse res = ((HttpDispatchContext)sc.getContext()).getServletResponse();
		res.setStatus(HttpServletResponse.SC_MOVED_TEMPORARILY);
		res.setHeader("Location", frontiaMskmNewHome);
	}

	/**
	 * APLConstから値を取得（null→空文字置換）
	 * @param key キー項目
	 * @return 値
	 */
	private String getAplConst(String key)
	{
		String val = JFUWebCommon.nvl(JFUWebCommon.getApplicationConst(key), JFUStrConst.EMPTY);
		return val;
	}

//	/**
//	 * Cookieの取得処理です。
//	 * 
//	 * @return map クッキー情報
//	 */
//	private Map getCookie()
//	{
//		Map<String, String> cookieMap = new HashMap<String, String>();
//		
//		// Requestオブジェクトの取得
//		X33WSessionController sc = X33CUtil.getSession(this.getSessionId());
//		HttpServletRequest request = sc.getServletRequest();
//
//		Cookie[] cookies = request.getCookies();
//		if (null == cookies || cookies.length == 0)
//		{
//			return cookieMap;
//		}
//		for (Cookie cookie : cookies)
//		{
//			if (cookie != null)
//			{
//				cookieMap.put(cookie.getName(), cookie.getValue());
//				DEBUG_LOG.info("----- ★★★Cookie★★★ -----" + cookie.getName() + ":" + cookie.getValue());
//			}
//		}
//		return cookieMap;
//	}

	/**
	 * 物件情報引継(リクエスト情報 → マンション情報)
	 * 
	 * @param i_web_new_bean	WEB新規情報
	 * @param i_posted_requests key=value のコレクション
	 */
	private void setMansBukkenInfo(X31SDataBeanAccess i_web_new_bean, X31CHashMap i_posted_requests) throws Exception
	{
		setBeanValueString(i_web_new_bean, CommonInfoCFConst.MANSION_INFO + "[0]." + CommonInfoCFConst.SEARCH_BKN_KNRI_NO_16,
				(String)i_posted_requests.get(POST_BKN_KNRI_NO));
		setBeanValueString(i_web_new_bean, CommonInfoCFConst.MANSION_INFO + "[0]." + CommonInfoCFConst.SEARCH_NET_KAISEN_USE_KEI_NO_16,
				(String)i_posted_requests.get(POST_NET_KAISEN_USE_KEI_NO));
		setBeanValueString(i_web_new_bean, CommonInfoCFConst.MANSION_INFO + "[0]." + CommonInfoCFConst.SEARCH_NET_TK_HOSHIKI_KEI_NO_16,
				(String)i_posted_requests.get(POST_NET_TK_HOSHIKI_KEI_NO));

	}
}
