/*********************************************************************
* All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*   システム名      ：eo顧客基幹システム
*   モジュール名    ：FUW00139SFLogic
*   ソースファイル名：FUW00139SFLogic.java
*   作成者          ：富士通
*   日付            ：2011年10月14日
*＜機能概要＞
*   eo光電話提供条件画面ビューロジックです。
*＜修正履歴＞
*   バージョン  修正日       修正者      修正内容
*   v1.00.00    2011/10/14   FJ）北島    新規作成
*   v5.00.00    2013/04/11   FJ）藤原    提供条件変更対応
*
**********************************************************************/
package eo.web.webview.FUW00139SF;

import static com.fujitsu.futurity.web.x31.X31SWebLog.DEBUG_LOG;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;

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.JPCModelConstant;
import eo.web.webview.JCCWebBusinessLogic;
import eo.web.webview.CommonInfoCF.CommonInfoCFConst;
import eo.web.webview.common.JCCWebCommon;
import eo.web.webview.common.JFUScreenConst;
import eo.web.webview.common.JFUWebCommon;
import eo.web.webview.mapping.FUSV0171_FUSV0171OPDBMapper;

/**
 * FUW00139_eo光電話提供条件画面ビューロジック
 * <br>
 * @author 富士通
 */
@SuppressWarnings("serial")
public class FUW00139SFLogic extends JCCWebBusinessLogic
{

	////////////////////////////////////////////////////////////////////////////////
	//	定数
	////////////////////////////////////////////////////////////////////////////////

	/** サービスユースケースID：マンション割引キャンペーン一覧照会 */
	private static final String SVC_USECASE_ID_FUSV0171 = "FUSV0171";

	/** SCタイトル：マンション割引キャンペーン一覧照会 */
	private static final String SC_TITLE_FUSV017101SC = "FUSV017101SC";

	/** SCタイトル：マンション割引キャンペーン一覧照会 */
	private static final String SC_TITLE_FUSV017102SC = "FUSV017102SC";

	/** Mapキー：マンションキャンペーン一覧明細 */
	private static final String MAP_KEY_CBSMSGLIST = "EKK0841B506CBSMsg1List";

	/** Mapキー：キャンペーン受付開始日 */
	private static final String MAP_KEY_CAMPAIGN_MSKM_START = "campaign_mskm_start";

	/** Mapキー：キャンペーン受付終了日 */
	private static final String MAP_KEY_CAMPAIGN_MSKM_END = "campaign_mskm_end";

	/** Mapキー：キャンペーン開始日 */
	private static final String MAP_KEY_CAMPAIGN_SVC_START = "campaign_svc_start";

	/** Mapキー：キャンペーン終了日 */
	private static final String MAP_KEY_CAMPAIGN_SVC_END = "campaign_svc_end";

	/**
	 * 初期表示処理
	 * <br>
	 * @return boolean true(固定)
	 * @throws Exception
	 */
	public boolean init() throws Exception
	{
		// 画面情報を取得し、サービスフォームBeanに設定
		JCCWebCommon.getScreenInfo(this);

		//----------------------------------------------
		// Bean取得
		//----------------------------------------------
		// 共有フォームBeanのアクセスクラスを取得
		X31SDataBeanAccess commonInfoBean = super.getCommonInfoBean();

		// サービスフォームBeanのデータBeanアクセスクラスを取得
		X31SDataBeanAccess serviceFormBean = getServiceFormBean();

		// ＷＥＢ新規情報取得
		X31SDataBeanAccessArray webNewInfo = commonInfoBean.getDataBeanArray(CommonInfoCFConst.WEB_NEW_INFO);
		X31SDataBeanAccess webNewInfoBean = webNewInfo.getDataBean(0);

		// マンション情報取得
		X31SDataBeanAccessArray mansionInfo = webNewInfoBean.getDataBeanArray(CommonInfoCFConst.MANSION_INFO);
		X31SDataBeanAccess mansionInfoBean = mansionInfo.getDataBean(0);

		//		// サービス検索条件格納用マップ
		//		HashMap<String, HashMap<String, String>> inputMap = new HashMap<String, HashMap<String, String>>();
		//		// サービス処理結果格納用マップ
		//		HashMap<String, HashMap<String, ArrayList<HashMap<String, String>>>> outputMap =
		//				new HashMap<String, HashMap<String, ArrayList<HashMap<String, String>>>>();
		//
		//		// サービスパラメータ生成
		//		Map<String, String> paramMap = new HashMap<String, String>();
		//		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, SVC_USECASE_ID_FUSV0171);
		//
		//		// 上りマッピング用に、検索条件をサービスフォームBeanにセット
		//		// 割引サービスコード（マンション初期費用無料キャンペーン用）
		//		serviceFormBean.sendMessageString(FUW00139SFConst.KEY_WRIB_SVC_CD_SYOKI, X31CWebConst.DATABEAN_SET_VALUE, JFUWebCommon.getDispText(
		//				JFUScreenConst.SCREEN_ID_FUW00139, "001"));
		//
		//		// 割引サービスコード（マンション月額無料キャンペーン用）
		//		serviceFormBean.sendMessageString(FUW00139SFConst.KEY_WRIB_SVC_CD_MONTH, X31CWebConst.DATABEAN_SET_VALUE, JFUWebCommon.getDispText(
		//				JFUScreenConst.SCREEN_ID_FUW00139, "002"));
		//
		//		// マンションオーナーＩＤ 
		//		serviceFormBean.sendMessageString(FUW00139SFConst.KEY_MANSION_OWNR_ID, X31CWebConst.DATABEAN_SET_VALUE, mansionInfoBean.sendMessageString(
		//				CommonInfoCFConst.MANSION_OWNR_ID_16, X31CWebConst.DATABEAN_GET_VALUE));
		//
		//		// 回線使用契約番号
		//		serviceFormBean.sendMessageString(FUW00139SFConst.KEY_KAISEN_USE_KEI_NO, X31CWebConst.DATABEAN_SET_VALUE, mansionInfoBean.sendMessageString(
		//				CommonInfoCFConst.KAISEN_USE_KEI_NO_16, X31CWebConst.DATABEAN_GET_VALUE));
		//
		//		// 提供方式契約番号
		//		serviceFormBean.sendMessageString(FUW00139SFConst.KEY_TK_HOSHIKI_KEI_NO, X31CWebConst.DATABEAN_SET_VALUE, mansionInfoBean.sendMessageString(
		//				CommonInfoCFConst.TK_HOSHIKI_KEI_NO_16, X31CWebConst.DATABEAN_GET_VALUE));
		//
		//		// DataBean-BPマッピングクラス生成
		//		FUSV0171_FUSV0171OPDBMapper mapper = new FUSV0171_FUSV0171OPDBMapper();
		//		// 上り/下りマッピング用パラメータ生成
		//		X31SDataBeanAccess[] serviceFormBeanArray = new X31SDataBeanAccess[] { serviceFormBean };
		//
		//		// マンション割引キャンペーン一覧照会SC上りマッピング
		//		mapper.setFUSV017101SC(serviceFormBeanArray, inputMap, JPCModelConstant.FUNC_CD_1);
		//		mapper.setFUSV017102SC(serviceFormBeanArray, inputMap, JPCModelConstant.FUNC_CD_1);
		//
		//		// マンション割引キャンペーン一覧照会サービス呼び出し
		//		invokeService(paramMap, inputMap, outputMap);
		//
		//		// サービスからの情報を画面表示用に編集する
		//		HashMap<String, ArrayList<HashMap<String, String>>> fusv017101SCMap = outputMap.get(SC_TITLE_FUSV017101SC);
		//		HashMap<String, ArrayList<HashMap<String, String>>> fusv017102SCMap = outputMap.get(SC_TITLE_FUSV017102SC);
		//
		//		// サービス検索結果：マンションキャンペーン一覧
		//		ArrayList<HashMap<String, String>> cbsMsgList1 = fusv017101SCMap.get(MAP_KEY_CBSMSGLIST);
		//
		//		// マンションキャンペーン情報が取得できた場合、ご利用パケット編集処理を行う TODO
		//		if (cbsMsgList1.size() != 0)
		//		{
		//			// eoモバイル合計情報からご利用パケット数合計とご利用バイト数合計を取得する
		//			HashMap<String, String> cbsMsg = cbsMsgList1.get(0);
		//
		//			// 初期費用無料キャンペーン受付開始日
		//			serviceFormBean.sendMessageString(FUW00139SFConst.SYOKI_CAMPAIGN_MSKM_START, X31CWebConst.DATABEAN_SET_VALUE, cbsMsg
		//					.get(MAP_KEY_CAMPAIGN_MSKM_START));
		//			// 初期費用無料キャンペーン受付終了日
		//			serviceFormBean.sendMessageString(FUW00139SFConst.SYOKI_CAMPAIGN_MSKM_END, X31CWebConst.DATABEAN_SET_VALUE, cbsMsg
		//					.get(MAP_KEY_CAMPAIGN_MSKM_END));
		//
		//		}
		//
		//		// サービス検索結果：eoモバイル合計一覧
		//		ArrayList<HashMap<String, String>> cbsMsgList2 = fusv017102SCMap.get(MAP_KEY_CBSMSGLIST);
		//
		//		if (cbsMsgList2.size() != 0)
		//		{
		//			// eoモバイル合計情報からご利用パケット数合計とご利用バイト数合計を取得する
		//			HashMap<String, String> cbsMsg = cbsMsgList2.get(0);
		//
		//			// 月額費用無料キャンペーン受付終了日
		//			serviceFormBean.sendMessageString(FUW00139SFConst.MONTH_CAMPAIGN_MSKM_END, X31CWebConst.DATABEAN_SET_VALUE, cbsMsg
		//					.get(MAP_KEY_CAMPAIGN_SVC_START));
		//			// 初期費用無料キャンペーン受付開始日
		//			serviceFormBean.sendMessageString(FUW00139SFConst.MONTH_CAMPAIGN_SVC_START, X31CWebConst.DATABEAN_SET_VALUE, cbsMsg
		//					.get(MAP_KEY_CAMPAIGN_SVC_END));
		//
		//		}
		// 運用日付取得
		String opeDate = JFUWebCommon.getOpeDate(this, null);
		// 運用日付の設定
		setFuOpedate(commonInfoBean, opeDate);
		// 2013/04/08【料金のマスタ取得対応】Fujiwara Mod Start
		// 初期費用無料キャンペーン受付開始日
		serviceFormBean.sendMessageString(FUW00139SFConst.SYOKI_CAMPAIGN_MSKM_START, X31CWebConst.DATABEAN_SET_VALUE,
				JFUWebCommon.getDispTextExtra(JFUScreenConst.SCREEN_ID_FUW00139, "CMP_STA", opeDate));
		// 初期費用無料キャンペーン受付終了日
		serviceFormBean.sendMessageString(FUW00139SFConst.SYOKI_CAMPAIGN_MSKM_END, X31CWebConst.DATABEAN_SET_VALUE,
				JFUWebCommon.getDispTextExtra(JFUScreenConst.SCREEN_ID_FUW00139, "CMP_END", opeDate));
		// 月額費用無料キャンペーン受付終了日
		serviceFormBean.sendMessageString(FUW00139SFConst.MONTH_CAMPAIGN_MSKM_END, X31CWebConst.DATABEAN_SET_VALUE, 
				JFUWebCommon.getDispTextExtra(JFUScreenConst.SCREEN_ID_FUW00139, "CMP_END", opeDate));
		// 初期費用無料キャンペーン受付開始日
		serviceFormBean.sendMessageString(FUW00139SFConst.MONTH_CAMPAIGN_SVC_START, X31CWebConst.DATABEAN_SET_VALUE,
				JFUWebCommon.getDispTextExtra(JFUScreenConst.SCREEN_ID_FUW00139, "CMP_SVC_STA", opeDate));
		// 2013/04/08【料金のマスタ取得対応】Fujiwara Mod End

		// 申込受付実績登録部品実行
		JFUWebCommon.executeWebMskmUkJskAdd(this);

		return true;
	}
// ANK-3715-00-00 ADD START
	/**
	 * 運用日付(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);

	}
// ANK-3715-00-00 ADD END
}
