/*********************************************************************
* All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*   システム名      ：eo顧客基幹システム
*   モジュール名    ：メール到達確認結果画面
*   ソースファイル名：FUW00163SFLogic.java
*   作成者          ：富士通
*   日付            ：2016年09月26日
*＜機能概要＞
*   メール到達確認結果画面処理用部品です。
*＜修正履歴＞
*   バージョン  修正日       修正者      修正内容
*   v27.00      2019/09/26   FJ)岡井     【ANK-2987-00-00】メールリーチ率向上
*
**********************************************************************/
package eo.web.webview.FUW00163SF;

import java.util.HashMap;

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 eo.common.constant.JFUStrConst;
import eo.common.constant.JPCModelConstant;
import eo.web.webview.JCCWebBusinessLogic;
import eo.web.webview.CommonInfoCF.CommonInfoCFConst;
import eo.web.webview.common.JFUScreenConst;
import eo.web.webview.mapping.FUSV0299_FUSV0299OPDBMapper;

/**
 *  メール到達確認結果画面のビューロジッククラスです。<p>
 * <BR>
 * @author 富士通
 */
@SuppressWarnings("serial")
public class FUW00163SFLogic extends JCCWebBusinessLogic
{

	// ■サービスID
	/** サービスID：FUSV0299 */
	private static final String USECASE_ID_FUSV0299 = "FUSV0299";

	/**
	 * 初期表示処理
	 * 
	 * <br>
	 * @author 富士通
	 * @return true固定
	 * @throws Exception 
	 */
	public boolean init() throws Exception
	{
		// ●共有フォームBean
		X31SDataBeanAccess commonInfoBean = getCommonInfoBean();
		// ●サービスフォームBean取得
		X31SDataBeanAccess bean = super.getServiceFormBean();

		// データBeanリスト
		X31SDataBeanAccess[] beanArray = { commonInfoBean, bean };

		// ユースケースIDを設定
		HashMap<String, String> paramMap = new HashMap<String, String>();
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, USECASE_ID_FUSV0299);

		FUSV0299_FUSV0299OPDBMapper mapper = new FUSV0299_FUSV0299OPDBMapper();
		// データ格納用マップ
		HashMap<String, Object> dataMap = new HashMap<String, Object>();
		// 検索結果格納用マップ
		HashMap<Object, Object> outputMap = new HashMap<Object, Object>();

		// ●上りマッピング
		// オプトインメール情報チェック登録CC
		mapper.setFUSV029901CC(beanArray, dataMap, JPCModelConstant.FUNC_CD_1);

		// ●サービス実行
		try
		{
			invokeService(paramMap, dataMap, outputMap);
		}
		catch (JCCWebServiceException se)
		{
			// エラーの場合はシステムエラー画面に遷移
			throw new JCCBusinessException(JFUStrConst.ERROR_CODE_0002);
		}

		// ●下りマッピング
		// オプトインメール情報チェック登録CC
		mapper.getFUSV029901CC(beanArray, outputMap);

		// ●遷移先を設定
		commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JFUScreenConst.SCREEN_ID_FUW00163);
		commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JFUScreenConst.SCREEN_NAME_FUW00163);

		return true;
	}
}
