/*********************************************************************
* All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*   システム名      ：料金管理
*   モジュール名    ：はぴｅポイントｷｬｯｼｭﾊﾞｯｸ内訳情報画面
*   ソースファイル名：ACW01104SFLogic.java
*   作成者          ：富士通
*   日付            ：2012年08月23日
*＜機能概要＞
*  はぴｅポイントｷｬｯｼｭﾊﾞｯｸ内訳情報照会を行う画面です。
*＜修正履歴＞
*   バージョン  修正日       修正者      修正内容
*   v4.00.00    2012/08/23   FJ）富士通    新規作成
*
**********************************************************************/
package eo.web.webview.ACW01104SF;

import java.util.ArrayList;
import java.util.HashMap;

import com.fujitsu.futurity.web.x31.X31CWebConst;
import com.fujitsu.futurity.web.x31.X31SDataBeanAccess;

import eo.common.constant.JPCModelConstant;
import eo.web.webview.JCCWebBusinessLogic;
import eo.web.webview.CommonInfoCF.CommonInfoCFConst;
import eo.web.webview.common.JACScreenConst;
import eo.web.webview.common.JACWebCommon;
import eo.web.webview.common.JCCWebCommon;
import eo.web.webview.mapping.ACSV0032_ACSV0032OPDBMapper;

/**
 * はぴｅポイントｷｬｯｼｭﾊﾞｯｸ内訳情報画面用ビューロジック
 * 
 * @author FJ
 * @since 2012-08-23
 */
@SuppressWarnings("serial")
public class ACW01104SFLogic extends JCCWebBusinessLogic
{
	/** はぴｅポイントキャッシュバック内訳情報取得・サービスID */
	private static final String SERVICE_ID_ACSV0032 = "ACSV0032";

	/**
	 * 初期表示処理<br>
	 * <br>
	 * はぴeポイントキャッシュバック内訳情報取得サービスを呼び出し、
	 * はぴｅポイントｷｬｯｼｭﾊﾞｯｸ内訳情報画面の初期表示を行います。
	 * 
	 * @return boolean
	 * @throws Exception Exception
	 */
	public boolean init() throws Exception
	{
		// サービスフォームBeanの内容の取得
		X31SDataBeanAccess bean = getServiceFormBean();

		// 共有フォームBeanの内容を取得
		X31SDataBeanAccess commoninfoBean = getCommonInfoBean();

		// -------------------------------------------------- //
		// 引継情報の取得
		// -------------------------------------------------- //
		JCCWebCommon.getScreenInfo( this, JACScreenConst.SCREEN_ID_ACW01104);

		// -------------------------------------------------- //
		// はぴeポイントキャッシュバック内訳情報取得サービス呼び出し
		// -------------------------------------------------- //
		// サービスフォームBeanのアクセサを配列化する
		X31SDataBeanAccess[] paramBeans = {bean};

		// ユースケースID格納用マップを生成。
		HashMap<String, Object> paramMap = new HashMap<String, Object>();
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, SERVICE_ID_ACSV0032);

		// サービスに渡すMapを生成する
		HashMap<String, Object> inDataMap = new HashMap<String, Object>();
		ACSV0032_ACSV0032OPDBMapper mapper = new ACSV0032_ACSV0032OPDBMapper();

		mapper.setACSV003201SC(paramBeans, inDataMap, JPCModelConstant.FUNC_CD_1);	// EAC0101B010 : はぴeポイント引当内訳一覧照会

		// 結果格納用マップを生成。
		HashMap<String, Object> outputMap = new HashMap<String, Object>();

		// サービスの呼び出し
		invokeService(paramMap, inDataMap, outputMap);

		// -------------------------------------------------- //
		// サービス処理結果の設定
		// -------------------------------------------------- //
		// 下りマッピング
		mapper.getACSV003201SC(paramBeans, outputMap);

		// キャッシュバック審査結果理由コードよりエラーメッセージを編集する
		String errCode = bean.sendMessageString(ACW01104SFConst.HKSI_RSN_CD, X31CWebConst.DATABEAN_GET_VALUE);

		String ret = "";
		ArrayList<String> retList = JACWebCommon.getPrcMsg(errCode);

		for (String msg : retList)
		{
			ret += msg + "<br>";
		}
		bean.sendMessageString(ACW01104SFConst.ERR_RSN, X31CWebConst.DATABEAN_SET_VALUE, ret);

		// -------------------------------------------------- //
		// 共有フォームBeanの設定
		// -------------------------------------------------- //
		// 遷移先画面IDを共有フォームBeanに設定
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JACScreenConst.SCREEN_ID_ACW01104);
		// 遷移先画面名を共有フォームBeanに設定
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JACScreenConst.SCREEN_NAME_ACW01104);

		return true;
	}

}
