/*********************************************************************
* All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*   システム名      ：eo顧客基幹システム
*   モジュール名    ：KKW01606SFLogic
*   ソースファイル名：KKW01606SFLogic.java
*   作成者          ：富士通
*   日付            ：2022年04月21日
*＜機能概要＞
*   クレジット情報入力画面（ルミーズ） Viewロジックです。
*＜修正履歴＞
*   バージョン  修正日       修正者      修正内容
*   v58.00.00   2022/04/21   FJ）謝      【ANK-3846-00-00】【クレカ】クリアパス→ペイジェント移行
*
**********************************************************************/

package eo.web.webview.KKW01606SF;

import java.util.HashMap;

import com.fujitsu.futurity.web.x31.X31CWebConst;
import com.fujitsu.futurity.web.x31.X31SDataBeanAccess;

import eo.common.util.JKKCommonUtil;
import eo.web.webview.JCCWebBusinessLogic;
import eo.web.webview.CommonInfoCF.CommonInfoCFConst;
import eo.web.webview.common.JCCWebCommon;
import eo.web.webview.common.JKKScreenConst;

public class KKW01606SFLogic extends JCCWebBusinessLogic
{
	
	/**
	 * クレジット情報入力画面（ルミーズ） 初期表示処理。
	 * <BR>
	 * @return boolean
	 * @throws Exception 
	 */
	public boolean actionInit() throws Exception
	{
		// 画面情報を取得する
		HashMap<String, Object> parameterMap = JCCWebCommon.getScreenInfo(this);
		
		// サービスフォームBeanのアクセスクラス取得
		X31SDataBeanAccess serviceBean = super.getServiceFormBean();
		
		// 共有フォームBeanのアクセスクラスを取得
		X31SDataBeanAccess  commonBean = super.getCommonInfoBean();
		
		if (parameterMap != null)
		{
			// 遷移元よりマーチャントＩＤを取得
			String merchantId = (String)parameterMap.get("merchant_id");
			
			if (!JKKCommonUtil.isNull(merchantId))
			{
				// マーチャントＩＤ
				serviceBean.sendMessageString(KKW01606SFConst.MERCHANT_ID, X31CWebConst.DATABEAN_SET_VALUE, merchantId);
			}
		}
		
		// トークン
		serviceBean.sendMessage(KKW01606SFConst.TOKEN, X31CWebConst.DATABEAN_CLEAR);
		// 暗号化カード情報
		serviceBean.sendMessage(KKW01606SFConst.MASKED_CARD_INFO, X31CWebConst.DATABEAN_CLEAR);
		// カードブランド
		serviceBean.sendMessage(KKW01606SFConst.CARD_BRAND, X31CWebConst.DATABEAN_CLEAR);
		// カード番号
		serviceBean.sendMessage(KKW01606SFConst.CARD_NO, X31CWebConst.DATABEAN_CLEAR);
		// 有効期限
		serviceBean.sendMessage(KKW01606SFConst.YK_KIGEN, X31CWebConst.DATABEAN_CLEAR);
		// トークン有効日時
		serviceBean.sendMessage(KKW01606SFConst.TOKEN_YK_DATE, X31CWebConst.DATABEAN_CLEAR);
		
		commonBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_ID_KKW01606);
		commonBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_NAME_KKW01606);
		
		return true;
	}
	
	/**
	 * 入力中止ボタン押下処理。
	 * <BR>
	 * @return boolean
	 * @throws Exception 
	 */
	public boolean actionInputStp() throws Exception
	{
		// 初期表示処理を呼び出す
		actionInit();
		
		return true;
	}
	
	/**
	 * クリアボタン押下処理。
	 * <BR>
	 * @return boolean
	 * @throws Exception 
	 */
	public boolean actionClear() throws Exception
	{
		// 初期表示処理を呼び出す
		actionInit();
		
		return true;
	}
	
	/**
	 * 反映ボタン押下処理。
	 * <BR>
	 * @return boolean
	 * @throws Exception 
	 */
	public boolean actionHanei() throws Exception
	{
		// サービスフォームBeanのアクセスクラス取得
		X31SDataBeanAccess serviceBean = super.getServiceFormBean();
		
		// 共有フォームBeanのアクセスクラスを取得
		X31SDataBeanAccess commonBean = super.getCommonInfoBean();

		// セッションへ詰め込むHashMap生成
		HashMap<String,Object> paramMap = new HashMap<String,Object>();
		
		// トークン
		paramMap.put("ret_token", serviceBean.sendMessageString(KKW01606SFConst.TOKEN, X31CWebConst.DATABEAN_GET_VALUE));
		// カードブランド
		paramMap.put("ret_card_brand", serviceBean.sendMessageString(KKW01606SFConst.CARD_BRAND, X31CWebConst.DATABEAN_GET_VALUE));
		// カード番号
		paramMap.put("ret_card_no", serviceBean.sendMessageString(KKW01606SFConst.CARD_NO, X31CWebConst.DATABEAN_GET_VALUE));
		// 有効期限
		paramMap.put("ret_yk_kigen", serviceBean.sendMessageString(KKW01606SFConst.YK_KIGEN, X31CWebConst.DATABEAN_GET_VALUE));
		
		// 呼出し元画面IDを取得
		String parentScreenId = JCCWebCommon.getScreenId(this);
		
		// 呼出し元画面に渡す情報のセット
		JCCWebCommon.setScreenInfo(this, parentScreenId, paramMap);
		
		// モーダル用反映画面へ画面遷移
		commonBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, "CCW00105");
		commonBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, "モーダル用反映画面");
		
		return true;
	}
}
