/*********************************************************************
* All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*   システム名      ：eo顧客基幹システム
*   モジュール名    ：FUW00914SFLogic
*   ソースファイル名：FUW00914SFLogic.java
*   作成者          ：富士通
*   日付            ：2012年02月01日
*＜機能概要＞
*   eo光テレビ入力（量販・訪販）画面ビューロジックです。
*＜修正履歴＞
*   バージョン  修正日       修正者      修正内容
*   v1.00.00    2011/02/01   FJ）大戸    新規作成
*   v3.00.00    2012/04/17   FJ）大野    料金シミュレーション対応
*   v4.00.00	2012/11/22   FJ) 大塚    【IT2-2012-0001790】
*   v5.00.00	2013/06/26   FJ) 岡井    マンション対応(HDコース)
*	v8.00.00	2014/01/10	 FJ）大島   【ANK-1796-00-00】STB提供メニュー拡充(機器追加・価格改定)A
*   v10.00.00   2014/07/16   FJ) 清水   【ANK-2135-00-00】BSオプションチャンネル「スターチャンネル」とのセット割検討
*   v25.00.00   2016/03/30   FJ) 張本   【ANK-2530-00-00】ＴＶ新コースおよびＶＯＤ導入
*   v25.00.00   2016/07/19   FJ) 横山   【ANK-2530-12-00】eo光テレビ新規／サービス追加申込時のWEB申込断面内容の見直し
*   v32.00.00   2017/06/02   FJ) 美濃原 【ANK-3100-00-00】【eo基幹】フロント：スマートコンパクト受付対応
*   v39.00.00   2018/09/12   FJ) 岡井   【ANK-3488-00-00】4KSTB（ACASチップ）導入対応
*   v74.00.00   2025/01/08   FJ) 余野木 【ANK-4592-00-00】テレビ新コース（スカパー用）導入対応
**********************************************************************/
package eo.web.webview.FUW00914SF;

import java.util.HashMap;
import java.util.Map;

import com.fujitsu.futurity.web.x00.JCCBusinessException;
import com.fujitsu.futurity.web.x00.JCCWebServiceException;
import com.fujitsu.futurity.web.x31.X31CWebConst;
import com.fujitsu.futurity.web.x31.X31SDataBeanAccess;
import com.fujitsu.futurity.web.x31.X31SDataBeanAccessArray;

import eo.common.constant.JFUStrConst;
import eo.common.constant.JPCModelConstant;
import eo.common.constant.JZM0171Constant;
import eo.web.webview.JCCWebBusinessLogic;
import eo.web.webview.CommonInfoCF.CommonInfoCFConst;
import eo.web.webview.FUW00108SF.FUW00108SFConst;
import eo.web.webview.common.JCCWebCommon;
import eo.web.webview.common.JFUScreenConst;
import eo.web.webview.common.JFUWebCommon;
import eo.web.webview.mapping.FUSV0147_FUSV0147OPDBMapper;
import eo.web.webview.mapping.FUSV0176_FUSV0176OPDBMapper;

/**
 * FUW00914_eo光テレビ入力画面ビューロジック
 * <br>
 * @author 富士通
 */
@SuppressWarnings("serial")
public class FUW00914SFLogic extends JCCWebBusinessLogic
{
	////////////////////////////////////////////////////////////////////////////////
	//	定数
	////////////////////////////////////////////////////////////////////////////////

	/** サービスID("FUSV0176"(STB情報一覧取得(K-CAT))) */
	private static final String SVC_ID_FUSV0176 = "FUSV0176";

	/** "0"(選択なし) */
	private static final String SELECT_NO = "0";

	/** "1"(選択あり) */
	private static final String SELECT_YES = "1";

	/** テレビコース "1"(地デジ・BS) */
	private static final String CORSE_SELECT_CHIDEGI_BS = "1";

	/** テレビコース "3"(地デジ・BSコース　スターチャンネルセット) */
	private static final String CORSE_SELECT_CHIDEGI_BS_STAR = "3";

	/** ホームＫＣＮフラグ（0:ホームかつＫＣＮ以外) */
	private static final String HOME_KCN_FLG_ATHER = "0";

	/** 項目コード：機器(1台目) */
	private static final String KOUMOKU_CODE_KIKI_1 = "stb_hd1_kiki";

	/** 項目コード：機器(2台目) */
	private static final String KOUMOKU_CODE_KIKI_2 = "stb_hd2_kiki";

	/** 項目コード：機器(3台目) */
	private static final String KOUMOKU_CODE_KIKI_3 = "stb_hd3_kiki";

	/** 項目コード：機器(4台目) */
	private static final String KOUMOKU_CODE_KIKI_4 = "stb_hd4_kiki";

	/** 項目コード：機器(5台目) */
	private static final String KOUMOKU_CODE_KIKI_5 = "stb_hd5_kiki";

	/** 項目コード：機器共通 */
	private static final String KOUMOKU_CODE_KIKI_COMMON = "_kiki";

	/** プロパティファイル取得文字列 */
	private static final String QUERY_DISPTEXT_PATH = "DISPSETTING/COMMONSETTING/DISPTEXT[@groupid='TV_EO_COURSE_NM']";

	/** プロパティからの取得キー(ｅｏ光テレビサービス) */
	private static final String KEY_TV_EO_COURSE_NM = "TV_EO_COURSE_NM_";

	/** プロパティファイル取得クエリ [スマートコンパクト(テレビ)] */
	public static final String QUERY_DISPTEXT_PATH_SMART_COMPACT = "DISPSETTING/COMMONSETTING/DISPTEXT[@groupid='TV_SMART_COMPACT']";

	////////////////////////////////////////////////////////////////////////////////

	/**
	 * 初期表示処理
	 * <br>
	 * @return boolean true(固定)
	 * @throws Exception
	 */
	public boolean init() throws Exception
	{
		//----------------------------------------------
		// Bean取得
		//----------------------------------------------
		// 共有フォームBeanのアクセスクラスを取得
		X31SDataBeanAccess commonInfoBean = super.getCommonInfoBean();

		// サービスフォームBeanのデータBeanアクセスクラスを取得
		X31SDataBeanAccess bean = getServiceFormBean();

		// ■WEB新規
		X31SDataBeanAccess webnewBean = (commonInfoBean.getDataBeanArray(CommonInfoCFConst.WEB_NEW_INFO)).getDataBean(0);

		// ■リダイレクト情報
		X31SDataBeanAccess redirectInfoBean = (webnewBean.getDataBeanArray(CommonInfoCFConst.REDIRECT_INFO)).getDataBean(0);

		// ■その他情報
		X31SDataBeanAccess elseInfoBean = (webnewBean.getDataBeanArray(CommonInfoCFConst.ELSE_INFO)).getDataBean(0);

		// WEB新規 申込回線サービス 
		String mskmKsnSvc = webnewBean.sendMessageString(CommonInfoCFConst.MSKM_KSN_SVC_06, X31CWebConst.DATABEAN_GET_VALUE);

		// その他情報 サービス再選択フラグ 1:再選択
		String svcKeiyuFlg = elseInfoBean.sendMessageString(CommonInfoCFConst.SVC_RECHOICE_FLG_18, X31CWebConst.DATABEAN_GET_VALUE);

		// IT2-2012-1790 2012/11/26 Otsuka
		// リダイレクト情報 - 遷移パターン(1:エリア検索 2:料金シミュレーション 3:モバイル単独申込 5:マンション検索)
		String redTransferPtn = redirectInfoBean.sendMessageString(CommonInfoCFConst.NAVIGATOR_PTN_17, X31CWebConst.DATABEAN_GET_VALUE);

		//----------------------------------------------
		// サービス層呼び出し（eo光テレビ入力(初期表示)）
		//----------------------------------------------
		callInitSvc(commonInfoBean, bean);

		//----------------------------------------------
		// サービスフォームBean設定
		//----------------------------------------------
		// 共有フォームBeanに設定済みの値を、サービスフォームBeanに設定
		setTVInfoFromCFBean(bean, commonInfoBean);

		// 工期文言の表示制御
		// ホームタイプかつ共有フォームBean.リダイレクト情報.遷移パターンが"2"(料金シミュレーション)の場合かつ
		// その他情報 可能サービス確認経由フラグ 1:経由している以外の場合
		if (JFUStrConst.MSKM_KSN_SVC_HOME.equals(mskmKsnSvc) && JFUStrConst.NAVI_PTN_SIML.equals(redTransferPtn)
				&& !JFUStrConst.PSD_SVC_CFM_KEIYU_FLG_KEIYU.equals(svcKeiyuFlg))
		{
			// 工期文言の表示情報を設定
			setIntroMsgInfo(webnewBean);
		}

		// 運用日付の設定
		setFuOpedate(commonInfoBean, JFUWebCommon.getOpeDate(this, null));

		return true;
	}

	/**
	 * 次へボタン押下処理
	 * 
	 * @return boolean true(固定)
	 * @throws Exception
	 */
	public boolean next() throws Exception
	{
		//----------------------------------------------
		// Bean取得
		//----------------------------------------------
		// 共有フォームBeanのアクセスクラスを取得
		X31SDataBeanAccess commonInfoBean = super.getCommonInfoBean();

		// サービスフォームBeanのデータBeanアクセスクラスを取得
		X31SDataBeanAccess bean = getServiceFormBean();

		//----------------------------------------------
		// 次画面遷移共通処理
		//----------------------------------------------
		execNextScreenSeniCmnTran(bean, commonInfoBean);

		//----------------------------------------------
		// 共有フォームBean設定
		//----------------------------------------------
		// 引継情報の設定
		setHktgiInfoToCFBean(bean, commonInfoBean);

		//===================================================================================
		// 遷移先設定
		//===================================================================================
		// ■WEB新規
		X31SDataBeanAccess webnewBean = commonInfoBean.getDataBeanArray(CommonInfoCFConst.WEB_NEW_INFO).getDataBean(0);
		// ■WEB新規 -ｅｏモバイル
		X31SDataBeanAccess eoMobile = webnewBean.getDataBeanArray(CommonInfoCFConst.EOMOBILE).getDataBean(0);
		// モバイルコース
		String mobileCourse = eoMobile.sendMessageString(CommonInfoCFConst.MOBILE_COURSE_14, X31CWebConst.DATABEAN_GET_VALUE);
		if (JFUStrConst.EMPTY.equals(mobileCourse))
		{
			mobileCourse = SELECT_NO;
		}

		// モバイルコースが"0"(選択なし)の場合
		if (SELECT_NO.equals(mobileCourse))
		{
			// 遷移先画面ＩＤ
			commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JFUScreenConst.SCREEN_ID_FUW00926);

			// 遷移先画面名
			commonInfoBean
					.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JFUScreenConst.SCREEN_NAME_FUW00926);

			// モバイルコースが"0"(選択なし)以外の場合
		}
		else
		{
			// 遷移先画面ＩＤ
			commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JFUScreenConst.SCREEN_ID_FUW00915);

			// 遷移先画面名
			commonInfoBean
					.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JFUScreenConst.SCREEN_NAME_FUW00915);
		}

		return true;
	}

	/**
	 * 戻るボタン押下処理
	 * 
	 * @return boolean true(固定)
	 * @throws Exception
	 */
	public boolean back() throws Exception
	{
		//----------------------------------------------
		// Bean取得
		//----------------------------------------------
		// 共有フォームBeanのアクセスクラスを取得
		X31SDataBeanAccess commonInfoBean = super.getCommonInfoBean();

		//----------------------------------------------
		// 共有フォームBean設定
		//----------------------------------------------
		//===================================================================================
		// 初期化
		//===================================================================================

		// ■WEB新規
		X31SDataBeanAccess webnewBean = commonInfoBean.getDataBeanArray(CommonInfoCFConst.WEB_NEW_INFO).getDataBean(0);
		// 画面遷移モード	"0"(通常遷移)
		webnewBean.sendMessageString(CommonInfoCFConst.SCREEN_MODE_06, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.SCREEN_MODE_DEF);

		// 共通クリア処理
		JFUWebCommon.comClear(this);

		//===================================================================================
		// 遷移先設定
		//===================================================================================
		// ■WEB新規 - 契約サービス情報
		X31SDataBeanAccess keiyakuSvcInfo = webnewBean.getDataBeanArray(CommonInfoCFConst.KEIYAKU_SVC_INFO).getDataBean(0);

		// 選択サービス（電話）
		String selectSvcTel = keiyakuSvcInfo.sendMessageString(CommonInfoCFConst.SELECT_SVC_TEL_10, X31CWebConst.DATABEAN_GET_VALUE);
		// 選択サービス（ネット）
		String selectSvcNet = keiyakuSvcInfo.sendMessageString(CommonInfoCFConst.SELECT_SVC_NET_10, X31CWebConst.DATABEAN_GET_VALUE);

		////////////////////////////////////////////////////////////////
		// 共有フォームBeanの選択サービス（電話）が"1"(選択)の場合
		////////////////////////////////////////////////////////////////
		if (SELECT_YES.equals(selectSvcTel))
		{

			// 遷移先画面ＩＤ
			commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JFUScreenConst.SCREEN_ID_FUW00913);

			// 遷移先画面名
			commonInfoBean
					.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JFUScreenConst.SCREEN_NAME_FUW00913);

			////////////////////////////////////////////////////////////////
			// 共有フォームBeanの選択サービス（ネット）が"1"(選択)の場合
			////////////////////////////////////////////////////////////////
		}
		else if (SELECT_YES.equals(selectSvcNet))
		{

			// 遷移先画面ＩＤ
			commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JFUScreenConst.SCREEN_ID_FUW00912);

			// 遷移先画面名
			commonInfoBean
					.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JFUScreenConst.SCREEN_NAME_FUW00912);

			////////////////////////////////////////////////////////////////
			// 上記以外の場合
			////////////////////////////////////////////////////////////////
		}
		else
		{
			// 遷移先画面ＩＤ
			commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JFUScreenConst.SCREEN_ID_FUW00911);

			// 遷移先画面名
			commonInfoBean
					.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JFUScreenConst.SCREEN_NAME_FUW00911);

		}

		return true;
	}

	/**
	 * 確認画面へ戻るボタン押下処理
	 * 
	 * @return boolean true(固定)
	 * @throws Exception
	 */
	public boolean backKakunin() throws Exception
	{
		//----------------------------------------------
		// Bean取得
		//----------------------------------------------
		// 共有フォームBeanのアクセスクラスを取得
		X31SDataBeanAccess commonInfoBean = super.getCommonInfoBean();

		// サービスフォームBeanのデータBeanアクセスクラスを取得
		X31SDataBeanAccess bean = getServiceFormBean();

		//----------------------------------------------
		// 次画面遷移共通処理
		//----------------------------------------------
		execNextScreenSeniCmnTran(bean, commonInfoBean);

		//----------------------------------------------
		// 共有フォームBean設定
		//----------------------------------------------
		// 引継情報の設定
		setHktgiInfoToCFBean(bean, commonInfoBean);

		// 遷移先画面ＩＤ
		commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JFUScreenConst.SCREEN_ID_FUW00926);

		// 遷移先画面名
		commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JFUScreenConst.SCREEN_NAME_FUW00926);

		return true;
	}

	/**
	 * 料金シミュレーションを呼び出します。
	 * 
	 * @return true
	 * @throws Exception
	 */
	public boolean ryokin() throws Exception
	{
		// サービスフォームBeanのデータBeanアクセスクラスを取得
		X31SDataBeanAccess bean = getServiceFormBean();

		// 機器選択イベントの場合は、値をコード値に変更
		if (isKikiEvent(bean))
		{
			changeKoumokuValue(bean);
		}

		//----------------------------------------------
		// 料金シミュレーション共通部品呼出
		//----------------------------------------------
		JFUWebCommon.ryokin(this);

		return true;
	}

	/**
	 * サービス層呼び出し（eo光テレビ入力(初期表示)）
	 * <br>
	 * @param commonInfoBean	共有フォームBean
	 * @param serviceFormBean	サービスフォームBean
	 * @throws Exception 
	 */
	private void callInitSvc(X31SDataBeanAccess commonInfoBean, X31SDataBeanAccess serviceFormBean) throws Exception
	{
		//----------------------------------------------
		// サービスインターフェイスパラメータの設定
		//----------------------------------------------
		// コード種別
		serviceFormBean.sendMessageString(FUW00914SFConst.CODE_SBT, X31CWebConst.DATABEAN_SET_VALUE, JZM0171Constant.CD00561);
		// 基準日
		serviceFormBean.sendMessageString(FUW00914SFConst.STDARDYMD, X31CWebConst.DATABEAN_SET_VALUE, JCCWebCommon.getOpeDate(this, null));

		// ■WEB新規
		X31SDataBeanAccess webnewBean = commonInfoBean.getDataBeanArray(CommonInfoCFConst.WEB_NEW_INFO).getDataBean(0);
		// ■WEB新規 - マンション情報
		X31SDataBeanAccess mansionInfoBean = webnewBean.getDataBeanArray(CommonInfoCFConst.MANSION_INFO).getDataBean(0);

		// 申込回線サービス
		String mskmKsnSvc = webnewBean.sendMessageString(CommonInfoCFConst.MSKM_KSN_SVC_06, X31CWebConst.DATABEAN_GET_VALUE);
		// 申込マンションタイプ
		String mskmMnsType = webnewBean.sendMessageString(CommonInfoCFConst.MSKM_MNS_TYPE_06, X31CWebConst.DATABEAN_GET_VALUE);
		// 提供方式契約番号
		String tkHoshikiKeiNo = mansionInfoBean.sendMessageString(CommonInfoCFConst.TV_TK_HOSHIKI_KEI_NO_16, X31CWebConst.DATABEAN_GET_VALUE);

		// マンションの場合、ＶＯＮＵ４Ｋ−ＳＴＢ登録可否を判定する。
		if (JFUStrConst.MSKM_KSN_SVC_MANSION.equals(mskmKsnSvc) && JFUStrConst.MSKM_MNS_TYPE_MANSION.equals(mskmMnsType))
		{
			// 判定結果を設定
			serviceFormBean.sendMessageString(FUW00914SFConst.HOYU_VONU_4KSTB_KH, X31CWebConst.DATABEAN_SET_VALUE,
					JFUWebCommon.vOnu4KStbChk(this, tkHoshikiKeiNo, null, true));
		}
		else
		{
			// ホーム・メゾンは無条件で「1：可」とする
			serviceFormBean.sendMessageString(FUW00914SFConst.HOYU_VONU_4KSTB_KH, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.CD00003_1);
		}

		// パラメータ作成
		X31SDataBeanAccess[] paramBean = { serviceFormBean };

		// サービスIDをparamにセット
		Map<String, String> paramMap = new HashMap<String, String>();

		//----------------------------------------------
		// サービスインターフェイスパラメータの設定
		//----------------------------------------------

		// STB情報一覧取得(K-CAT)サービスの呼び出しを行う。
		callSvcFUSV0176(paramMap, paramBean);
	}

	/**
	 * サービス層呼び出し(STB情報一覧取得(K-CAT)）
	 * <br>
	 * @param paramMap		paramMap
	 * @param paramBean		paramBean
	 * @throws Exception 
	 */
	private void callSvcFUSV0176(Map<String, String> paramMap, X31SDataBeanAccess[] paramBean) throws Exception
	{

		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, SVC_ID_FUSV0176);

		// 設定値格納用マップを生成。
		HashMap<String, Object> inputMap = new HashMap<String, Object>();
		// 検索結果格納用マップを生成。
		HashMap<String, Object> outputMap = new HashMap<String, Object>();

		// DataBean-BPマッピング
		FUSV0176_FUSV0176OPDBMapper mapper = new FUSV0176_FUSV0176OPDBMapper();

		// サービスの入力値設定
		// 機能コード:"1"
		mapper.setFUSV017601SC(paramBean, inputMap, JPCModelConstant.FUNC_CD_1);

		try
		{
			// サービス呼出 
			invokeService(paramMap, inputMap, outputMap);

		}
		catch (JCCWebServiceException jwse)
		{
			throw new JCCBusinessException(JFUStrConst.ERROR_CODE_0002);
		}

		// サービスの出力値設定
		mapper.getFUSV017601SC(paramBean, outputMap, this);
	}

	/**
	 * (項目)値変更
	 * <br>
	 * @param bean	サービスフォームBean
	 */
	private void changeKoumokuValue(X31SDataBeanAccess bean)
	{
		
		// 料金シミュレーション性能改善対応　項目コード、項目値の配列化に伴う対応
		// 項目コードの要素数を取得
		Integer koumokuCodeCount = (Integer) bean.sendMessage(FUW00914SFConst.KOUMOKU_CODE, X31CWebConst.DATABEAN_GET_COUNT);
		
		// 連携項目が取得できない場合
		if (koumokuCodeCount == null)
		{
			return;
		}
		
		// 連携項目数が0の場合
		if (koumokuCodeCount < 1)
		{
			return;
		}
		
		// 連携項目数分ループする。
		for (int i = 0; i < koumokuCodeCount; i++)
		{
		
			// 項目コード
			String koumokuCode = bean.sendMessageString(FUW00914SFConst.KOUMOKU_CODE, X31CWebConst.DATABEAN_GET_VALUE, i);
			X31SDataBeanAccess kikiListBean = null; // チューナー機器Bean
	
			if (KOUMOKU_CODE_KIKI_1.equals(koumokuCode))
			{
				// 機器(1台目)
				kikiListBean = bean.getDataBeanArray(FUW00914SFConst.TV_TUNER_KIKI_1_LIST).getDataBean(0);
				// "値"を選択値に設定
				kikiListBean.sendMessageString(FUW00914SFConst.TUNER_SELECT_01, X31CWebConst.DATABEAN_SET_VALUE, bean.sendMessageString(
						FUW00914SFConst.KOUMOKU_VALUE, X31CWebConst.DATABEAN_GET_VALUE, i));
				// 選択機器コード値を値に設定する
				bean.sendMessageString(FUW00914SFConst.KOUMOKU_VALUE, X31CWebConst.DATABEAN_SET_VALUE, i, getSelectKikiCd(bean, 1));
			}
			if (KOUMOKU_CODE_KIKI_2.equals(koumokuCode))
			{
				// 機器(2台目)
				kikiListBean = bean.getDataBeanArray(FUW00914SFConst.TV_TUNER_KIKI_2_LIST).getDataBean(0);
				// "値"を選択値に設定
				kikiListBean.sendMessageString(FUW00914SFConst.TUNER_SELECT_01, X31CWebConst.DATABEAN_SET_VALUE, bean.sendMessageString(
						FUW00914SFConst.KOUMOKU_VALUE, X31CWebConst.DATABEAN_GET_VALUE, i));
				// 選択機器コード値を値に設定する
				bean.sendMessageString(FUW00914SFConst.KOUMOKU_VALUE, X31CWebConst.DATABEAN_SET_VALUE, i, getSelectKikiCd(bean, 2));
			}
			if (KOUMOKU_CODE_KIKI_3.equals(koumokuCode))
			{
				// 機器(3台目)
				kikiListBean = bean.getDataBeanArray(FUW00914SFConst.TV_TUNER_KIKI_3_LIST).getDataBean(0);
				// "値"を選択値に設定
				kikiListBean.sendMessageString(FUW00914SFConst.TUNER_SELECT_01, X31CWebConst.DATABEAN_SET_VALUE, bean.sendMessageString(
						FUW00914SFConst.KOUMOKU_VALUE, X31CWebConst.DATABEAN_GET_VALUE, i));
				// 選択機器コード値を値に設定する
				bean.sendMessageString(FUW00914SFConst.KOUMOKU_VALUE, X31CWebConst.DATABEAN_SET_VALUE, i, getSelectKikiCd(bean, 3));
			}
			if (KOUMOKU_CODE_KIKI_4.equals(koumokuCode))
			{
				// 機器(4台目)
				kikiListBean = bean.getDataBeanArray(FUW00914SFConst.TV_TUNER_KIKI_4_LIST).getDataBean(0);
				// "値"を選択値に設定
				kikiListBean.sendMessageString(FUW00914SFConst.TUNER_SELECT_01, X31CWebConst.DATABEAN_SET_VALUE, bean.sendMessageString(
						FUW00914SFConst.KOUMOKU_VALUE, X31CWebConst.DATABEAN_GET_VALUE, i));
				// 選択機器コード値を値に設定する
				bean.sendMessageString(FUW00914SFConst.KOUMOKU_VALUE, X31CWebConst.DATABEAN_SET_VALUE, i, getSelectKikiCd(bean, 4));
			}
			if (KOUMOKU_CODE_KIKI_5.equals(koumokuCode))
			{
				// 機器(5台目)
				kikiListBean = bean.getDataBeanArray(FUW00914SFConst.TV_TUNER_KIKI_5_LIST).getDataBean(0);
				// "値"を選択値に設定
				kikiListBean.sendMessageString(FUW00914SFConst.TUNER_SELECT_01, X31CWebConst.DATABEAN_SET_VALUE, bean.sendMessageString(
						FUW00914SFConst.KOUMOKU_VALUE, X31CWebConst.DATABEAN_GET_VALUE, i));
				// 選択機器コード値を値に設定する
				bean.sendMessageString(FUW00914SFConst.KOUMOKU_VALUE, X31CWebConst.DATABEAN_SET_VALUE, i, getSelectKikiCd(bean, 5));
			}
		}
	}

	/**
	 * 機器イベント判定
	 * <br>
	 * @param bean		サービスフォームBean
	 * @return boolean true:機器イベントである、false:機器イベントでない
	 */
	private boolean isKikiEvent(X31SDataBeanAccess bean)
	{
		
		// 料金シミュレーション性能改善対応
		// 項目コードの要素数を取得
		Integer koumokuCodeCount = (Integer) bean.sendMessage(FUW00108SFConst.KOUMOKU_CODE, X31CWebConst.DATABEAN_GET_COUNT);
		
		// 連携項目が取得できない場合
		if (koumokuCodeCount == null)
		{
			return false;
		}
		
		// 連携項目数が0の場合
		if (koumokuCodeCount < 1)
		{
			return false;
		}
		
		boolean ret = false;
		
		// 連携項目数分ループする。
		for (int i = 0; i < koumokuCodeCount; i++)
		{
			// 項目コード
			String koumokuCode = bean.sendMessageString(FUW00914SFConst.KOUMOKU_CODE, X31CWebConst.DATABEAN_GET_VALUE, i);
	
			int iKikiidx = koumokuCode.indexOf(KOUMOKU_CODE_KIKI_COMMON);
	
			if (0 < iKikiidx)
			{
				// 項目コードに"kiki"が含まれている場合、機器選択コンボボックス選択イベント
				ret = true;
				break;
			}
		}
		return ret;
	}

	/**
	 * 次画面遷移共通処理<br>
	 * 「次へ」「確認画面へ戻る」の共通処理を実行します。
	 * <br>
	 * @param bean				サービスフォームBean
	 * @param commonInfoBean	共有フォームBean
	 * @throws Exception
	 */
	private void execNextScreenSeniCmnTran(X31SDataBeanAccess bean, X31SDataBeanAccess commonInfoBean) throws Exception
	{
		//----------------------------------------------
		// サービスインターフェイスパラメータの設定
		//----------------------------------------------
		setSvcIFParamForFUSV0147(bean, commonInfoBean);

		//----------------------------------------------
		// サービス呼出処理（eo光テレビ入力チェック）
		//----------------------------------------------
		callSvcFUSV0147(bean, commonInfoBean);
	}

	/**
	 * サービスインターフェイスパラメータの設定（eo光テレビ入力チェック用）
	 * <br>
	 * @param bean				サービスフォームBean
	 * @param commonInfoBean	共有フォームBean
	 * @throws Exception
	 */
	private void setSvcIFParamForFUSV0147(X31SDataBeanAccess bean, X31SDataBeanAccess commonInfoBean) throws Exception
	{
		//----------------------------------------------
		// サービスインターフェイスパラメータの設定
		//----------------------------------------------

		// テレビコース(サービスフォームBean)
		String corseSelect = bean.sendMessageString(FUW00914SFConst.CORSE_SELECT, X31CWebConst.DATABEAN_GET_VALUE);

		// == サービスコード "03"(テレビサービス)固定 =====
		bean.sendMessageString(FUW00914SFConst.SVC_CD, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.CD00130_03);

		// プロパティより会員種別情報取得
		Map map = JFUWebCommon.getDispItemsAsMap("DISPSETTING/SETTING[@screenId='FUW00914']/DISPTEXT[@groupid='course_btns_k-cat']", "id");

		if (map.isEmpty() == false)
		{
			for (int cnt = 1; cnt <= map.size(); cnt++)
			{
				String[] btns = map.get(Integer.toString(cnt)).toString().split(",");

				if (bean.sendMessageString(FUW00914SFConst.CORSE_SELECT, X31CWebConst.DATABEAN_GET_VALUE).equals(btns[5]))
				{
					String[] prcs = btns[6].split("\\|");

					// == 料金グループコード =====
					bean.sendMessageString(FUW00914SFConst.PRC_GRP_CD, X31CWebConst.DATABEAN_SET_VALUE, JFUWebCommon.getDispText(
							JFUScreenConst.SCREEN_ID_FUW00914, prcs[0]));

					// == 料金コースコード =====
					bean.sendMessageString(FUW00914SFConst.PCRS_CD, X31CWebConst.DATABEAN_SET_VALUE, JFUWebCommon.getDispText(
							JFUScreenConst.SCREEN_ID_FUW00914, prcs[1]));

					// == 料金プランコード =====
					bean.sendMessageString(FUW00914SFConst.PPLAN_CD, X31CWebConst.DATABEAN_SET_VALUE, JFUWebCommon.getDispText(
							JFUScreenConst.SCREEN_ID_FUW00914, prcs[2]));
				}
			}
		}

		// == 異動区分 =====
		//    ""00001""(新規契約)
		bean.sendMessageString(FUW00914SFConst.IDO_DIV, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.CD00576_00001);

		// == 機器提供種別コード "02"(レンタル)固定 =====
		bean.sendMessageString(FUW00914SFConst.KKTK_SBT_CD, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.CD00212_02);

		// == 機器提供サービスコード "C009"(STB)固定 =====
		bean.sendMessageString(FUW00914SFConst.KKTK_SVC_CD, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.KK0771_KKTK_SVC_CD_C009);

		// == ホームＫＣＮフラグ =====
		bean.sendMessageString(FUW00914SFConst.HOME_KCN_FLG, X31CWebConst.DATABEAN_SET_VALUE, HOME_KCN_FLG_ATHER);

		// == チューナー台数
		String strStbCnt = null;

// ANK-4592-00-00 MOD START
		// テレビコースが(地デジ・BS)もしくは、(地デジ・BSコース　スターチャンネルセット)の場合、またはCSプレミアムまたはCSベーシックの場合、チューナー選択なし
		if (CORSE_SELECT_CHIDEGI_BS.equals(corseSelect) || CORSE_SELECT_CHIDEGI_BS_STAR.equals(corseSelect)
				|| JFUStrConst.EO_TV_COURSE_CS_PRE.equals(corseSelect) || JFUStrConst.EO_TV_COURSE_CS_BAS.equals(corseSelect))
// ANK-4592-00-00 MOD END
		{
			// (エリアを非表示にしていると最新のチェック状態ではなく
			//  前のチェック状態が残ったままリクエストが飛んでくるため初期化）
			bean.sendMessage(FUW00914SFConst.STB_CNT, X31CWebConst.DATABEAN_CLEAR);
		}

		strStbCnt = bean.sendMessageString(FUW00914SFConst.STB_CNT, X31CWebConst.DATABEAN_GET_VALUE);

		int stbCnt = 0;
		if ((strStbCnt != null) && (strStbCnt.length() > 0))
		{
			stbCnt = Integer.valueOf(strStbCnt).intValue();
		}

		// テレビチューナー種類
		String sbtHD = null;

		if (0 < stbCnt)
		{
			// == 料金コースコード（機器）1 =====
			// 機器選択されたチューナーコードの頭3桁
			bean.sendMessageString(FUW00914SFConst.PCRS_CD_KIKI1, X31CWebConst.DATABEAN_SET_VALUE, getPcrsCdKiki(bean, 1));

			// == 料金プランコード（機器）1 =====
			// 機器選択されたチューナーコードの4桁目以降
			bean.sendMessageString(FUW00914SFConst.PPLAN_CD_KIKI1, X31CWebConst.DATABEAN_SET_VALUE, getPplanCdKiki(bean, 1));

			// テレビチューナー種類を取得
			sbtHD = bean.sendMessageString(FUW00914SFConst.STB_HD1, X31CWebConst.DATABEAN_GET_VALUE);

			// == 料金コースコード（サービス契約内訳）1 =====
			bean.sendMessageString(FUW00914SFConst.PCRS_CD_SVC_KEI_UCWK1, X31CWebConst.DATABEAN_SET_VALUE, getPcrsCdSvcKeiUcwk(sbtHD));
			// == 料金プランコード（サービス契約内訳）1 =====
			bean.sendMessageString(FUW00914SFConst.PPLAN_CD_SVC_KEI_UCWK1, X31CWebConst.DATABEAN_SET_VALUE, getPplanCdSvcKeiUcwk(sbtHD));
		}

		if (1 < stbCnt)
		{
			// == 料金コースコード（機器）2 =====
			// 機器選択されたチューナーコードの頭3桁
			bean.sendMessageString(FUW00914SFConst.PCRS_CD_KIKI2, X31CWebConst.DATABEAN_SET_VALUE, getPcrsCdKiki(bean, 2));

			// == 料金プランコード（機器）2 =====
			// 機器選択されたチューナーコードの4桁目以降
			bean.sendMessageString(FUW00914SFConst.PPLAN_CD_KIKI2, X31CWebConst.DATABEAN_SET_VALUE, getPplanCdKiki(bean, 2));

			// テレビチューナー種類を取得
			sbtHD = bean.sendMessageString(FUW00914SFConst.STB_HD2, X31CWebConst.DATABEAN_GET_VALUE);

			// == 料金コースコード（サービス契約内訳）2 =====
			bean.sendMessageString(FUW00914SFConst.PCRS_CD_SVC_KEI_UCWK2, X31CWebConst.DATABEAN_SET_VALUE, getPcrsCdSvcKeiUcwk(sbtHD));
			// == 料金プランコード（サービス契約内訳）2 =====
			bean.sendMessageString(FUW00914SFConst.PPLAN_CD_SVC_KEI_UCWK2, X31CWebConst.DATABEAN_SET_VALUE, getPplanCdSvcKeiUcwk(sbtHD));
		}

		if (2 < stbCnt)
		{
			// == 料金コースコード（機器）3 =====
			// 機器選択されたチューナーコードの頭3桁
			bean.sendMessageString(FUW00914SFConst.PCRS_CD_KIKI3, X31CWebConst.DATABEAN_SET_VALUE, getPcrsCdKiki(bean, 3));

			// == 料金プランコード（機器）3 =====
			// 機器選択されたチューナーコードの4桁目以降
			bean.sendMessageString(FUW00914SFConst.PPLAN_CD_KIKI3, X31CWebConst.DATABEAN_SET_VALUE, getPplanCdKiki(bean, 3));

			// テレビチューナー種類を取得
			sbtHD = bean.sendMessageString(FUW00914SFConst.STB_HD3, X31CWebConst.DATABEAN_GET_VALUE);

			// == 料金コースコード（サービス契約内訳）3 =====
			bean.sendMessageString(FUW00914SFConst.PCRS_CD_SVC_KEI_UCWK3, X31CWebConst.DATABEAN_SET_VALUE, getPcrsCdSvcKeiUcwk(sbtHD));
			// == 料金プランコード（サービス契約内訳）3 =====
			bean.sendMessageString(FUW00914SFConst.PPLAN_CD_SVC_KEI_UCWK3, X31CWebConst.DATABEAN_SET_VALUE, getPplanCdSvcKeiUcwk(sbtHD));
		}

		if (3 < stbCnt)
		{
			// == 料金コースコード（機器）4 =====
			// 機器選択されたチューナーコードの頭3桁
			bean.sendMessageString(FUW00914SFConst.PCRS_CD_KIKI4, X31CWebConst.DATABEAN_SET_VALUE, getPcrsCdKiki(bean, 4));

			// == 料金プランコード（機器）4 =====
			// 機器選択されたチューナーコードの4桁目以降
			bean.sendMessageString(FUW00914SFConst.PPLAN_CD_KIKI4, X31CWebConst.DATABEAN_SET_VALUE, getPplanCdKiki(bean, 4));

			// テレビチューナー種類を取得
			sbtHD = bean.sendMessageString(FUW00914SFConst.STB_HD4, X31CWebConst.DATABEAN_GET_VALUE);

			// == 料金コースコード（サービス契約内訳）4 =====
			bean.sendMessageString(FUW00914SFConst.PCRS_CD_SVC_KEI_UCWK4, X31CWebConst.DATABEAN_SET_VALUE, getPcrsCdSvcKeiUcwk(sbtHD));
			// == 料金プランコード（サービス契約内訳）4 =====
			bean.sendMessageString(FUW00914SFConst.PPLAN_CD_SVC_KEI_UCWK4, X31CWebConst.DATABEAN_SET_VALUE, getPplanCdSvcKeiUcwk(sbtHD));
		}

		if (4 < stbCnt)
		{
			// == 料金コースコード（機器）5 =====
			// 機器選択されたチューナーコードの頭3桁
			bean.sendMessageString(FUW00914SFConst.PCRS_CD_KIKI5, X31CWebConst.DATABEAN_SET_VALUE, getPcrsCdKiki(bean, 5));

			// == 料金プランコード（機器）5 =====
			// 機器選択されたチューナーコードの4桁目以降
			bean.sendMessageString(FUW00914SFConst.PPLAN_CD_KIKI5, X31CWebConst.DATABEAN_SET_VALUE, getPplanCdKiki(bean, 5));

			// テレビチューナー種類を取得
			sbtHD = bean.sendMessageString(FUW00914SFConst.STB_HD5, X31CWebConst.DATABEAN_GET_VALUE);

			// == 料金コースコード（サービス契約内訳）5 =====
			bean.sendMessageString(FUW00914SFConst.PCRS_CD_SVC_KEI_UCWK5, X31CWebConst.DATABEAN_SET_VALUE, getPcrsCdSvcKeiUcwk(sbtHD));
			// == 料金プランコード（サービス契約内訳）5 =====
			bean.sendMessageString(FUW00914SFConst.PPLAN_CD_SVC_KEI_UCWK5, X31CWebConst.DATABEAN_SET_VALUE, getPplanCdSvcKeiUcwk(sbtHD));
		}

	}

	/**
	 * サービス呼出処理（eo光テレビ入力チェック）
	 * <br>
	 * @param bean				サービスフォームBean
	 * @param commonInfoBean	共有フォームBean
	 */
	private void callSvcFUSV0147(X31SDataBeanAccess bean, X31SDataBeanAccess commonInfoBean)
	{
		//----------------------------------------------
		// サービス呼出処理（eo光テレビ入力チェック）

		// パラメータ作成
		X31SDataBeanAccess[] paramBean = { commonInfoBean, bean };

		// サービスIDをparamにセット
		Map<String, String> paramMap = new HashMap<String, String>();
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, "FUSV0147");

		// 設定値格納用マップを生成。
		HashMap<String, Object> inputMap = new HashMap<String, Object>();
		// 検索結果格納用マップを生成。
		HashMap<String, Object> outputMap = new HashMap<String, Object>();

		// DataBean-BPマッピング
		FUSV0147_FUSV0147OPDBMapper mapper = new FUSV0147_FUSV0147OPDBMapper();

		// サービスの入力値設定
		// 機能コード:"2"(チェックのみ)
		mapper.setFUSV014701SC(paramBean, inputMap, JPCModelConstant.FUNC_CD_2);
		mapper.setFUSV014702SC(paramBean, inputMap, JPCModelConstant.FUNC_CD_2);
		mapper.setFUSV014703SC(paramBean, inputMap, JPCModelConstant.FUNC_CD_2);
		mapper.setFUSV014704SC(paramBean, inputMap, JPCModelConstant.FUNC_CD_2);
		mapper.setFUSV014705SC(paramBean, inputMap, JPCModelConstant.FUNC_CD_2);
		mapper.setFUSV014706SC(paramBean, inputMap, JPCModelConstant.FUNC_CD_2);
		mapper.setFUSV014707SC(paramBean, inputMap, JPCModelConstant.FUNC_CD_2);
		mapper.setFUSV014708SC(paramBean, inputMap, JPCModelConstant.FUNC_CD_2);
		mapper.setFUSV014709SC(paramBean, inputMap, JPCModelConstant.FUNC_CD_2);
		mapper.setFUSV014710SC(paramBean, inputMap, JPCModelConstant.FUNC_CD_2);
		mapper.setFUSV014711SC(paramBean, inputMap, JPCModelConstant.FUNC_CD_2);

		try
		{
			// サービス呼出 
			invokeService(paramMap, inputMap, outputMap);
		}
		catch (JCCWebServiceException jwse)
		{
			throw new JCCBusinessException(JFUStrConst.ERROR_CODE_0002);
		}
	}

	/**
	 * ｅｏ光テレビ情報設定<br>
	 * 共有フォームBeanのｅｏ光テレビ情報からサービスフォームBeanに値を設定します。
	 * <br>
	 * @param bean				サービスフォームBean
	 * @param commonInfoBean	共有フォームBean
	 * @throws Exception
	 */
	private void setTVInfoFromCFBean(X31SDataBeanAccess bean, X31SDataBeanAccess commonInfoBean) throws Exception
	{
		////////////////////////////////////////////////////////////////////////////////////////////
		// ■WEB新規 - ｅｏ光テレビ
		////////////////////////////////////////////////////////////////////////////////////////////
		X31SDataBeanAccess webnewBean = commonInfoBean.getDataBeanArray(CommonInfoCFConst.WEB_NEW_INFO).getDataBean(0);
		// ｅｏ光テレビ情報
		X31SDataBeanAccess eotv = webnewBean.getDataBeanArray(CommonInfoCFConst.EOTV).getDataBean(0);

		// 申込マンションタイプ
		String mskmMansType = webnewBean.sendMessageString(CommonInfoCFConst.MSKM_MNS_TYPE_06, X31CWebConst.DATABEAN_GET_VALUE);
		// マンションタイプの場合、HDコース情報を共有フォームBeanに設定
		if(JFUStrConst.MSKM_MNS_TYPE_MANSION.equals(mskmMansType))
		{
			eotv.sendMessageString(CommonInfoCFConst.EO_TV_COURSE_13, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EO_TV_COURSE_BASIC);
		}

		// テレビコース（ｅｏ光テレビ入力）
		bean.sendMessageString(FUW00914SFConst.CORSE_SELECT, X31CWebConst.DATABEAN_SET_VALUE, eotv.sendMessageString(
				CommonInfoCFConst.EO_TV_COURSE_13, X31CWebConst.DATABEAN_GET_VALUE));
		
		// テレビチューナー台数
		bean.sendMessageString(FUW00914SFConst.STB_CNT, X31CWebConst.DATABEAN_SET_VALUE, eotv.sendMessageString(CommonInfoCFConst.STB_CNT_13,
				X31CWebConst.DATABEAN_GET_VALUE));
		// テレビチューナー・種類（１）
		bean.sendMessageString(FUW00914SFConst.STB_HD1, X31CWebConst.DATABEAN_SET_VALUE, eotv.sendMessageString(CommonInfoCFConst.STB_HD1_13,
				X31CWebConst.DATABEAN_GET_VALUE));
		// テレビチューナー・種類（２）
		bean.sendMessageString(FUW00914SFConst.STB_HD2, X31CWebConst.DATABEAN_SET_VALUE, eotv.sendMessageString(CommonInfoCFConst.STB_HD2_13,
				X31CWebConst.DATABEAN_GET_VALUE));
		// テレビチューナー・種類（３）
		bean.sendMessageString(FUW00914SFConst.STB_HD3, X31CWebConst.DATABEAN_SET_VALUE, eotv.sendMessageString(CommonInfoCFConst.STB_HD3_13,
				X31CWebConst.DATABEAN_GET_VALUE));
		// テレビチューナー・種類（４）
		bean.sendMessageString(FUW00914SFConst.STB_HD4, X31CWebConst.DATABEAN_SET_VALUE, eotv.sendMessageString(CommonInfoCFConst.STB_HD4_13,
				X31CWebConst.DATABEAN_GET_VALUE));
		// テレビチューナー・種類（５）
		bean.sendMessageString(FUW00914SFConst.STB_HD5, X31CWebConst.DATABEAN_SET_VALUE, eotv.sendMessageString(CommonInfoCFConst.STB_HD5_13,
				X31CWebConst.DATABEAN_GET_VALUE));

		// テレビチューナー・機器（１）-（５）
		// 「チューナー選択値」を設定する
		setTunerSelectVal(bean, eotv);
		////////////////////////////////////////////////////////////////////////////////////////////

		// プロパティより会員種別情報取得
		Map map = JFUWebCommon.getDispItemsAsMap("DISPSETTING/SETTING[@screenId='FUW00914']/DISPTEXT[@groupid='course_btns_k-cat']", "id");

		if (map.isEmpty() == false)
		{
			for (int cnt = 1; cnt <= map.size(); cnt++)
			{
				String[] btns = map.get(Integer.toString(cnt)).toString().split(",");

				if ("1".equals(btns[0]))
				{

					X31SDataBeanAccess btnsBean = bean.getDataBeanArray(FUW00914SFConst.BTNS).addDataBean(); // チューナー機器Bean
					// チューナー選択値を設定
					btnsBean.sendMessageString(FUW00914SFConst.BTN_ID_02, X31CWebConst.DATABEAN_SET_VALUE, btns[1]);
					btnsBean.sendMessageString(FUW00914SFConst.BTN_CLASS_02, X31CWebConst.DATABEAN_SET_VALUE, btns[2]);
					btnsBean.sendMessageString(FUW00914SFConst.BTN_TITLE_02, X31CWebConst.DATABEAN_SET_VALUE, btns[3]);
					btnsBean.sendMessageString(FUW00914SFConst.RDO_ID_02, X31CWebConst.DATABEAN_SET_VALUE, btns[4]);
					btnsBean.sendMessageString(FUW00914SFConst.RDO_VALUE_02, X31CWebConst.DATABEAN_SET_VALUE, btns[5]);
				}
			}
		}
	}

	/**
	 * テレビチューナー機器選択値設定
	 * <br>
	 * @param bean			サービスフォームBean
	 * @param eotv			共有フォームBeanのｅｏ光テレビBean
	 */
	private void setTunerSelectVal(X31SDataBeanAccess bean, X31SDataBeanAccess eotv)
	{
		X31SDataBeanAccess kikiListBean = null; // チューナー機器Bean
		String codeValue = null; // コード
		int stbCnt = 0; // チューナー台数

		// テレビチューナー台数を取得
		String strStbCnt = bean.sendMessageString(FUW00914SFConst.STB_CNT, X31CWebConst.DATABEAN_GET_VALUE);

		if ((strStbCnt != null) && (strStbCnt.length() > 0))
		{
			stbCnt = Integer.valueOf(strStbCnt);
		}
		else
		{
			// チューナー未選択時は処理なし
			return;
		}

		if (stbCnt > 0)
		{
			// テレビチューナー・機器（１） ===========================================================
			kikiListBean = bean.getDataBeanArray(FUW00914SFConst.TV_TUNER_KIKI_1_LIST).getDataBean(0);

			// 共有フォームBeanからコードを取得
			codeValue = eotv.sendMessageString(CommonInfoCFConst.STB_HD1_KIKI_13, X31CWebConst.DATABEAN_GET_VALUE);
			// チューナー選択値を設定
			kikiListBean.sendMessageString(FUW00914SFConst.TUNER_SELECT_01, X31CWebConst.DATABEAN_SET_VALUE, getSelectKikiIndex(kikiListBean,
					codeValue));
		}
		if (stbCnt > 1)
		{
			// テレビチューナー・機器（２）===========================================================
			kikiListBean = bean.getDataBeanArray(FUW00914SFConst.TV_TUNER_KIKI_2_LIST).getDataBean(0);

			codeValue = eotv.sendMessageString(CommonInfoCFConst.STB_HD2_KIKI_13, X31CWebConst.DATABEAN_GET_VALUE);

			kikiListBean.sendMessageString(FUW00914SFConst.TUNER_SELECT_01, X31CWebConst.DATABEAN_SET_VALUE, getSelectKikiIndex(kikiListBean,
					codeValue));
		}
		if (stbCnt > 2)
		{
			// テレビチューナー・機器（３）===========================================================
			kikiListBean = bean.getDataBeanArray(FUW00914SFConst.TV_TUNER_KIKI_3_LIST).getDataBean(0);

			codeValue = eotv.sendMessageString(CommonInfoCFConst.STB_HD3_KIKI_13, X31CWebConst.DATABEAN_GET_VALUE);

			kikiListBean.sendMessageString(FUW00914SFConst.TUNER_SELECT_01, X31CWebConst.DATABEAN_SET_VALUE, getSelectKikiIndex(kikiListBean,
					codeValue));
		}
		if (stbCnt > 3)
		{
			// テレビチューナー・機器（４）===========================================================
			kikiListBean = bean.getDataBeanArray(FUW00914SFConst.TV_TUNER_KIKI_4_LIST).getDataBean(0);

			codeValue = eotv.sendMessageString(CommonInfoCFConst.STB_HD4_KIKI_13, X31CWebConst.DATABEAN_GET_VALUE);

			kikiListBean.sendMessageString(FUW00914SFConst.TUNER_SELECT_01, X31CWebConst.DATABEAN_SET_VALUE, getSelectKikiIndex(kikiListBean,
					codeValue));
		}
		if (stbCnt > 4)
		{
			// テレビチューナー・機器（５）===========================================================
			kikiListBean = bean.getDataBeanArray(FUW00914SFConst.TV_TUNER_KIKI_5_LIST).getDataBean(0);

			codeValue = eotv.sendMessageString(CommonInfoCFConst.STB_HD5_KIKI_13, X31CWebConst.DATABEAN_GET_VALUE);

			kikiListBean.sendMessageString(FUW00914SFConst.TUNER_SELECT_01, X31CWebConst.DATABEAN_SET_VALUE, getSelectKikiIndex(kikiListBean,
					codeValue));
		}

	}

	/**
	 * チューナー選択値取得
	 * <br>
	 * @param kikiListBean	チューナー機器Bean
	 * @param codeValue		コード
	 * @return コード値が一致するBeanのインデックス
	 */
	private String getSelectKikiIndex(X31SDataBeanAccess kikiListBean, String codeValue)
	{
		String index = null; // 選択値

		// チューナーコードリスト要素数を取得
		int kikiCnt = (Integer)kikiListBean.sendMessage(FUW00914SFConst.TUNER_CODE_LIST_01, X31CWebConst.DATABEAN_GET_COUNT);
		for (int i = 0; i < kikiCnt; i++)
		{
			// コード値が一致する要素を検索する
			if (codeValue.equals(kikiListBean.sendMessageString(FUW00914SFConst.TUNER_CODE_LIST_01, X31CWebConst.DATABEAN_GET_VALUE, i)))
			{
				index = String.valueOf(i);
				break;
			}
		}

		// 選択値(インデックス)を返却
		return index;
	}

	/**
	 * 引継情報設定<br>
	 * 引継情報を共有フォームBeanに設定します。
	 * <br>
	 * @param bean				サービスフォームBean
	 * @param commonInfoBean	共有フォームBean
	 * @throws Exception 
	 */
	private void setHktgiInfoToCFBean(X31SDataBeanAccess bean, X31SDataBeanAccess commonInfoBean) throws Exception
	{
		////////////////////////////////////////////////////////////////////////////////////////////
		// ■WEB新規
		X31SDataBeanAccess webnewBean = commonInfoBean.getDataBeanArray(CommonInfoCFConst.WEB_NEW_INFO).getDataBean(0);
		// 画面遷移モード	"0"(通常遷移)
		webnewBean.sendMessageString(CommonInfoCFConst.SCREEN_MODE_06, X31CWebConst.DATABEAN_SET_VALUE, "0");
		////////////////////////////////////////////////////////////////////////////////////////////

		////////////////////////////////////////////////////////////////////////////////////////////
		// ■WEB新規 - ｅｏ光テレビ
		////////////////////////////////////////////////////////////////////////////////////////////
		X31SDataBeanAccess eotv = webnewBean.getDataBeanArray(CommonInfoCFConst.EOTV).getDataBean(0);

		// ｅｏ光テレビ初期化
		initEoTVInfo(eotv);

		// テレビコース（ｅｏ光テレビ入力）
		String corseSelect = bean.sendMessageString(FUW00914SFConst.CORSE_SELECT, X31CWebConst.DATABEAN_GET_VALUE);
		eotv.sendMessageString(CommonInfoCFConst.EO_TV_COURSE_13, X31CWebConst.DATABEAN_SET_VALUE, corseSelect);
		
// ANK-4592-00-00 MOD START
		/* 2016/07/19 ANK-2530-12-00 add start */
		// テレビコースが(地デジ・BSコース　スターチャンネルセット)
		// またはスマートプレミアム・スマートベーシック・スマートコンパクトの場合は、テレビ．コース選択（表示）を設定する。
		if (CORSE_SELECT_CHIDEGI_BS_STAR.equals(corseSelect) || JFUStrConst.EO_TV_COURSE_BASIC.equals(corseSelect)
				|| JFUStrConst.EO_TV_COURSE_CS_PRE.equals(corseSelect) || JFUStrConst.EO_TV_COURSE_CS_BAS.equals(corseSelect))
// ANK-4592-00-00 MOD END
		/* 2016/07/19 ANK-2530-12-00 add end */
		{
			// プロパティを取得
			Map<String, String> fuDispDefinitionMap = JFUWebCommon.getDispItemsAsMap(QUERY_DISPTEXT_PATH, JFUStrConst.QUERY_ATTR_NAME);
			String courseSelectName = fuDispDefinitionMap.get(joinString(KEY_TV_EO_COURSE_NM, corseSelect));
			eotv.sendMessageString(CommonInfoCFConst.MSKM_SVC_CHOICE_NM_CFM_SCREEN_13, X31CWebConst.DATABEAN_SET_VALUE, courseSelectName);
		}
		else
		{
			eotv.sendMessageString(CommonInfoCFConst.MSKM_SVC_CHOICE_NM_CFM_SCREEN_13, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
		}
		// テレビコースが(地デジ・BS)の場合は、以降処理なし
		if (CORSE_SELECT_CHIDEGI_BS.equals(corseSelect)
				|| CORSE_SELECT_CHIDEGI_BS_STAR.equals(corseSelect))
		{

			// 機器情報の値をクリア
			eotv.getDataBeanArray(CommonInfoCFConst.KIKI_INFO_TV).clearArray();
			eotv.sendMessageString(CommonInfoCFConst.GUIDEMG_CNT_13, X31CWebConst.DATABEAN_SET_VALUE, "");

			return;
		}
// ANK-4592-00-00 ADD START
		// テレビコースが(CSプレミアム)(CSベーシック)の場合は、以降処理なし
		if (JFUStrConst.EO_TV_COURSE_CS_PRE.equals(corseSelect)
				|| JFUStrConst.EO_TV_COURSE_CS_BAS.equals(corseSelect))
		{

			// 機器情報の値をクリア
			eotv.getDataBeanArray(CommonInfoCFConst.KIKI_INFO_TV).clearArray();

			return;
		}
// ANK-4592-00-00 ADD END

		// テレビチューナー台数を取得
		String strStbCnt = bean.sendMessageString(FUW00914SFConst.STB_CNT, X31CWebConst.DATABEAN_GET_VALUE);
		// テレビチューナー台数
		eotv.sendMessageString(CommonInfoCFConst.STB_CNT_13, X31CWebConst.DATABEAN_SET_VALUE, strStbCnt);

		int stbCnt = 0; // チューナー台数

		if ((strStbCnt != null) && (strStbCnt.length() > 0))
		{
			stbCnt = Integer.valueOf(strStbCnt);
		}
		else
		{
			// チューナー未選択時は以降、処理なし
			return;
		}

		if (stbCnt > 0)
		{
			// テレビチューナー・種類（１）
			eotv.sendMessageString(CommonInfoCFConst.STB_HD1_13, X31CWebConst.DATABEAN_SET_VALUE, bean.sendMessageString(FUW00914SFConst.STB_HD1,
					X31CWebConst.DATABEAN_GET_VALUE));
			// テレビチューナー・機器（１）
			eotv.sendMessageString(CommonInfoCFConst.STB_HD1_KIKI_13, X31CWebConst.DATABEAN_SET_VALUE, getSelectKikiCd(bean, 1));
			// テレビチューナー・名称（１）
			eotv.sendMessageString(CommonInfoCFConst.STB_HD1_NM_13, X31CWebConst.DATABEAN_SET_VALUE, getSelectKikiName(bean, 1));
		}
		if (stbCnt > 1)
		{
			// テレビチューナー・種類（２）
			eotv.sendMessageString(CommonInfoCFConst.STB_HD2_13, X31CWebConst.DATABEAN_SET_VALUE, bean.sendMessageString(FUW00914SFConst.STB_HD2,
					X31CWebConst.DATABEAN_GET_VALUE));
			// テレビチューナー・機器（２）
			eotv.sendMessageString(CommonInfoCFConst.STB_HD2_KIKI_13, X31CWebConst.DATABEAN_SET_VALUE, getSelectKikiCd(bean, 2));
			// テレビチューナー・名称（２）
			eotv.sendMessageString(CommonInfoCFConst.STB_HD2_NM_13, X31CWebConst.DATABEAN_SET_VALUE, getSelectKikiName(bean, 2));
		}
		if (stbCnt > 2)
		{
			// テレビチューナー・種類（３）
			eotv.sendMessageString(CommonInfoCFConst.STB_HD3_13, X31CWebConst.DATABEAN_SET_VALUE, bean.sendMessageString(FUW00914SFConst.STB_HD3,
					X31CWebConst.DATABEAN_GET_VALUE));
			// テレビチューナー・機器（３）
			eotv.sendMessageString(CommonInfoCFConst.STB_HD3_KIKI_13, X31CWebConst.DATABEAN_SET_VALUE, getSelectKikiCd(bean, 3));
			// テレビチューナー・名称（３）
			eotv.sendMessageString(CommonInfoCFConst.STB_HD3_NM_13, X31CWebConst.DATABEAN_SET_VALUE, getSelectKikiName(bean, 3));
		}
		if (stbCnt > 3)
		{
			// テレビチューナー・種類（４）
			eotv.sendMessageString(CommonInfoCFConst.STB_HD4_13, X31CWebConst.DATABEAN_SET_VALUE, bean.sendMessageString(FUW00914SFConst.STB_HD4,
					X31CWebConst.DATABEAN_GET_VALUE));
			// テレビチューナー・機器（４）
			eotv.sendMessageString(CommonInfoCFConst.STB_HD4_KIKI_13, X31CWebConst.DATABEAN_SET_VALUE, getSelectKikiCd(bean, 4));
			// テレビチューナー・名称（４）
			eotv.sendMessageString(CommonInfoCFConst.STB_HD4_NM_13, X31CWebConst.DATABEAN_SET_VALUE, getSelectKikiName(bean, 4));
		}
		if (stbCnt > 4)
		{
			// テレビチューナー・種類（５）
			eotv.sendMessageString(CommonInfoCFConst.STB_HD5_13, X31CWebConst.DATABEAN_SET_VALUE, bean.sendMessageString(FUW00914SFConst.STB_HD5,
					X31CWebConst.DATABEAN_GET_VALUE));
			// テレビチューナー・機器（５）
			eotv.sendMessageString(CommonInfoCFConst.STB_HD5_KIKI_13, X31CWebConst.DATABEAN_SET_VALUE, getSelectKikiCd(bean, 5));
			// テレビチューナー・名称（５）
			eotv.sendMessageString(CommonInfoCFConst.STB_HD5_NM_13, X31CWebConst.DATABEAN_SET_VALUE, getSelectKikiName(bean, 5));
		}
	}

	/**
	 * ｅｏ光テレビ 初期化
	 * <br>
	 * @param eotv	ｅｏ光テレビBean
	 */
	private void initEoTVInfo(X31SDataBeanAccess eotv)
	{
		// テレビコース（ｅｏ光テレビ入力）
		eotv.sendMessageString(CommonInfoCFConst.EO_TV_COURSE_13, X31CWebConst.DATABEAN_SET_VALUE, "");
		// テレビ．コース選択（表示）
		eotv.sendMessageString(CommonInfoCFConst.MSKM_SVC_CHOICE_NM_CFM_SCREEN_13, X31CWebConst.DATABEAN_SET_VALUE, "");
		// テレビチューナー台数
		eotv.sendMessageString(CommonInfoCFConst.STB_CNT_13, X31CWebConst.DATABEAN_SET_VALUE, "");
		// テレビチューナー・種類（１）
		eotv.sendMessageString(CommonInfoCFConst.STB_HD1_13, X31CWebConst.DATABEAN_SET_VALUE, "");
		// テレビチューナー・機器（１）
		eotv.sendMessageString(CommonInfoCFConst.STB_HD1_KIKI_13, X31CWebConst.DATABEAN_SET_VALUE, "");
		// テレビチューナー・名称（１）
		eotv.sendMessageString(CommonInfoCFConst.STB_HD1_NM_13, X31CWebConst.DATABEAN_SET_VALUE, "");
		//テレビチューナー・種類（２）
		eotv.sendMessageString(CommonInfoCFConst.STB_HD2_13, X31CWebConst.DATABEAN_SET_VALUE, "");
		//テレビチューナー・機器（２）
		eotv.sendMessageString(CommonInfoCFConst.STB_HD2_KIKI_13, X31CWebConst.DATABEAN_SET_VALUE, "");
		// テレビチューナー・名称（２）
		eotv.sendMessageString(CommonInfoCFConst.STB_HD2_NM_13, X31CWebConst.DATABEAN_SET_VALUE, "");
		//テレビチューナー・種類（３）
		eotv.sendMessageString(CommonInfoCFConst.STB_HD3_13, X31CWebConst.DATABEAN_SET_VALUE, "");
		//テレビチューナー・機器（３）
		eotv.sendMessageString(CommonInfoCFConst.STB_HD3_KIKI_13, X31CWebConst.DATABEAN_SET_VALUE, "");
		// テレビチューナー・名称（３）
		eotv.sendMessageString(CommonInfoCFConst.STB_HD3_NM_13, X31CWebConst.DATABEAN_SET_VALUE, "");
		//テレビチューナー・種類（４）
		eotv.sendMessageString(CommonInfoCFConst.STB_HD4_13, X31CWebConst.DATABEAN_SET_VALUE, "");
		//テレビチューナー・機器（４）
		eotv.sendMessageString(CommonInfoCFConst.STB_HD4_KIKI_13, X31CWebConst.DATABEAN_SET_VALUE, "");
		// テレビチューナー・名称（４）
		eotv.sendMessageString(CommonInfoCFConst.STB_HD4_NM_13, X31CWebConst.DATABEAN_SET_VALUE, "");
		//テレビチューナー・種類（５）
		eotv.sendMessageString(CommonInfoCFConst.STB_HD5_13, X31CWebConst.DATABEAN_SET_VALUE, "");
		//テレビチューナー・機器（５）
		eotv.sendMessageString(CommonInfoCFConst.STB_HD5_KIKI_13, X31CWebConst.DATABEAN_SET_VALUE, "");
		// テレビチューナー・名称（５）
		eotv.sendMessageString(CommonInfoCFConst.STB_HD5_NM_13, X31CWebConst.DATABEAN_SET_VALUE, "");
	}

	/**
	 * 選択機器コード値取得
	 * <br>
	 * @param bean			サービスフォームBean
	 * @param kikiNo		選択機器番号（1 - 5）
	 * @return				選択された機器のコード値
	 */
	private String getSelectKikiCd(X31SDataBeanAccess bean, int kikiNo)
	{
		return getSelectKikiValue(bean, kikiNo, FUW00914SFConst.TUNER_CODE_LIST_01);
	}

	/**
	 * 選択機器名称取得
	 * <br>
	 * @param bean			サービスフォームBean
	 * @param kikiNo		選択機器番号（1 - 5）
	 * @return				選択された機器のコード値
	 */
	private String getSelectKikiName(X31SDataBeanAccess bean, int kikiNo)
	{
		return getSelectKikiValue(bean, kikiNo, FUW00914SFConst.TUNER_NAME_LIST_01);
	}

	/**
	 * 選択機器値取得
	 * <br>
	 * @param bean			サービスフォームBean
	 * @param kikiNo		選択機器番号（1 - 5）
	 * @param id			項目ID
	 * @return				選択された機器のコード値
	 */
	private String getSelectKikiValue(X31SDataBeanAccess bean, int kikiNo, String id)
	{

		X31SDataBeanAccess kikiListBean = null; // チューナー機器Bean

		// (1)
		if (kikiNo == 1)
		{
			kikiListBean = bean.getDataBeanArray(FUW00914SFConst.TV_TUNER_KIKI_1_LIST).getDataBean(0);

			// (2)
		}
		else if (kikiNo == 2)
		{
			kikiListBean = bean.getDataBeanArray(FUW00914SFConst.TV_TUNER_KIKI_2_LIST).getDataBean(0);

			// (3)
		}
		else if (kikiNo == 3)
		{
			kikiListBean = bean.getDataBeanArray(FUW00914SFConst.TV_TUNER_KIKI_3_LIST).getDataBean(0);

			// (4)
		}
		else if (kikiNo == 4)
		{
			kikiListBean = bean.getDataBeanArray(FUW00914SFConst.TV_TUNER_KIKI_4_LIST).getDataBean(0);

			// (5)
		}
		else if (kikiNo == 5)
		{
			kikiListBean = bean.getDataBeanArray(FUW00914SFConst.TV_TUNER_KIKI_5_LIST).getDataBean(0);
		}

		// チューナー選択値取得
		Integer index = Integer.valueOf(kikiListBean.sendMessageString(FUW00914SFConst.TUNER_SELECT_01, X31CWebConst.DATABEAN_GET_VALUE));
		// チューナー選択値返却
		return kikiListBean.sendMessageString(id, X31CWebConst.DATABEAN_GET_VALUE, index);

	}

	/**
	 * 料金コースコード機器 取得
	 * <br>
	 * @param bean			サービスフォームBean
	 * @param kikiNo		選択機器番号（1 - 5）
	 * @return	機器選択されたチューナーコードの頭3桁
	 */
	private String getPcrsCdKiki(X31SDataBeanAccess bean, int kikiNo)
	{
		// 選択された機器のチューナーコードを取得
		String selTunerKikiCd = getSelectKikiCd(bean, kikiNo);
		// 機器選択されたチューナーコードの頭3桁
		return selTunerKikiCd.substring(0, 3);
	}

	/**
	 * 料金プランコード機器 取得
	 * <br>
	 * @param bean			サービスフォームBean
	 * @param kikiNo		選択機器番号（1 - 5）
	 * @return	機器選択されたチューナーコードの4桁目以降
	 */
	private String getPplanCdKiki(X31SDataBeanAccess bean, int kikiNo)
	{
		// 選択された機器のチューナーコードを取得
		String selTunerKikiCd = getSelectKikiCd(bean, kikiNo);
		// 機器選択されたチューナーコードの4桁目以降
		return selTunerKikiCd.substring(3);
	}

	/**
	 * 料金コースコード（サービス契約内訳）取得
	 * <br>
	 * @param sbtHD			テレビチューナー種類（3:スマートコンパクト/4:スマートベーシック/5:スマートプレミアム）
	 * @return				料金コースコード（サービス契約内訳）
	 */
	private String getPcrsCdSvcKeiUcwk(String sbtHD)
	{
		// 1:ベーシックHD
		if (JFUStrConst.STB_HD_BASIC.equals(sbtHD))
		{
			return JFUStrConst.CD00134_A40; //"A40"(ベーシックコース)
		}
		// 2:プレミアムHD
		else if (JFUStrConst.STB_HD_PREMIUM.equals(sbtHD))
		{
			return JFUStrConst.CD00134_A41; //"A41"(プレミアムコース)
		}
		// 3:スマートコンパクト
		else if (JFUStrConst.STB_SM_COMPACT.equals(sbtHD))
		{
			return JFUStrConst.CD00134_A85; //"A85"(スマートコンパクトコース)
		}
		// 4:スマートベーシック
		else if (JFUStrConst.STB_SM_BASIC.equals(sbtHD))
		{
			return JFUStrConst.CD00134_A86; //"A86"(スマートベーシックコース)
		}
		// 5:スマートプレミアム
		else
		{
			return JFUStrConst.CD00134_A87; //"A87"(スマートプレミアムコース)
		}
	}

	/**
	 * 料金プランコード（サービス契約内訳）取得
	 * <br>
	 * @param sbtHD			テレビチューナー種類（3:スマートコンパクト/4:スマートベーシック/5:スマートプレミアム）
	 * @return				料金プランコード（サービス契約内訳）
	 */
	private String getPplanCdSvcKeiUcwk(String sbtHD)
	{
		// 1:ベーシックHD
		if (JFUStrConst.STB_HD_BASIC.equals(sbtHD))
		{
			return JFUStrConst.CD00565_PA4001; //"PA4001"(ベーシックコース 定額プラン)
		}
		// 2:プレミアムHD
		else if (JFUStrConst.STB_HD_PREMIUM.equals(sbtHD))
		{
			return JFUStrConst.CD00565_PA4101; //"PA4101"(プレミアムコース 定額プラン)
		}
		// 3:スマートコンパクト
		else if (JFUStrConst.STB_SM_COMPACT.equals(sbtHD))
		{
			return JFUStrConst.CD00565_PA8501; //"PA8501"(スマートコンパクトコース 定額プラン)
		}
		// 4:スマートベーシック
		else if (JFUStrConst.STB_SM_BASIC.equals(sbtHD))
		{
			return JFUStrConst.CD00565_PA8601; //"PA8601"(スマートベーシックコース 定額プラン)
		}
		// 5:スマートプレミアム
		else
		{
			return JFUStrConst.CD00565_PA8701; //"PA8701"(スマートプレミアムコース 定額プラン)
		}
	}

	/**
	 * 工期文言の表示情報を設定します。
	 * <br>
	 * @param ws  WEB新規情報
	 * @throws Exception 例外
	 */
	private void setIntroMsgInfo(X31SDataBeanAccess webnewBean) throws Exception
	{
		// ＰＡＳＣＯ情報を取得
		X31SDataBeanAccessArray beanArray5 = webnewBean.getDataBeanArray(CommonInfoCFConst.PASCO_INFO);
		if (beanArray5.getCount() == 0)
		{
			beanArray5.addDataBean();
		}
		X31SDataBeanAccess subbean5 = beanArray5.getDataBean(0);

		// ＰＡＳＣＯ情報 - 光テレビ凡例コード
		String pascoHfHcdTv = "";
		if (subbean5 != null)
		{
			// ＰＡＳＣＯ情報 - 光テレビ凡例コード(9,41,42,51,52,800)を保持
			pascoHfHcdTv = subbean5.sendMessageString(CommonInfoCFConst.TV_HCD_07, X31CWebConst.DATABEAN_GET_VALUE);
		}

		// 光テレビ凡例コードに対応する文言をFUDispDefinition.xmlから取得して、WEB新規情報.工数文言(テレビ)に設定
		Map<String, String> introMsgTvMap = JFUWebCommon.getDispItemsAsMap(JFUStrConst.QUERY_DISPTEXT_PATH_INTRO_MSG_TV, JFUStrConst.QUERY_ATTR_NAME);
		String introMsgTv = introMsgTvMap.get(pascoHfHcdTv);
		webnewBean.sendMessageString(CommonInfoCFConst.INTRO_MSG_TV_06, X31CWebConst.DATABEAN_SET_VALUE, introMsgTv);
	}

	/**
	 * 運用日付(OPEDATE)の設定です。
	 *
	 * 共通フォームBean.フロント共有情報.フロント運用日付に運用日付(OPEDATE)を設定。
	 *
	 * @param commonInfoBean 共通フォームBean
	 * @param opeDate 運用日付(OPEDATE)
	 */
	private void setFuOpedate(X31SDataBeanAccess commonInfoBean, String opeDate)
	{
		//=====================================================================
		// 運用日付の設定
		//=====================================================================
		// 共通フォームBean.フロント共有情報
		X31SDataBeanAccess frontInfo = commonInfoBean.getDataBeanArray(CommonInfoCFConst.FRONT_COMMON_INFO).getDataBean(0);
		// フロント共有情報.フロント運用日付を設定します。
		frontInfo.sendMessageString(CommonInfoCFConst.FU_OPEDATE_05, X31CWebConst.DATABEAN_SET_VALUE, opeDate);

	}

	/**
	 * 引数として渡された文字列を結合して返却する。 
	 * <br>
	 * @param strArray
	 * @return 結合後文字列
	 */
	private String joinString(String... strArray)
	{
		StringBuffer sb = new StringBuffer();
		for (String str : strArray)
		{
			sb.append(str);
		}
		return sb.toString();
	}
}
