/*********************************************************************
*	All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名		：eo顧客基幹システム
*	モジュール名	：FUSV0343_FUSV0343OPDBMapper
*	ソースファイル名：FUSV0343_FUSV0343OPDBMapper.java
*	作成者			：FJ
*	日付			：2021年04月01日
*＜機能概要＞
*	BP（SMS送信・キャンセル）へのＤ−Ｂマッピングクラスです。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v53.00.00	2021/04/01	FJ			新規作成
*	v72.00.00	2024/10/08	FJ)飯田		ANK-4598-00-00
**********************************************************************/
package eo.web.webview.mapping;

import java.util.HashMap;

import com.fujitsu.futurity.web.x31.X31CWebConst;
import com.fujitsu.futurity.web.x31.X31SDataBeanAccess;

import eo.web.webview.FUW00932SF.FUW00932SFConst;
import eo.web.webview.common.JCCWebCommon;
import eo.web.webview.common.JFUScreenConst;
import eo.web.webview.common.JFUWebCommon;

/**
 * DataBean-BPマッピングをする。
 * 
 */
public class FUSV0343_FUSV0343OPDBMapper {
	
	/** SMS送信・キャンセルの共通コンポーネント用キー項目 */
	private static final String IN_KEY_SKBT_KEY = "key_skbt_key";
	private static final String IN_KEY_TELNO = "key_telno";
	private static final String IN_KEY_MODE = "key_mode";
	private static final String IN_MESSAGE = "message";
	//private static final String IN_IDA_REDIRECT_URL = "ida_redirect_url";
	private static final String IN_ONEKEY_KIGEN_MIN = "oneKey_kigen_min";
	private static final String OUT_KANRI_NO = "kanri_no";
	private static final String OUT_SKBT_KEY = "skbt_key";
	private static final String OUT_ONETIME_KEY = "onetime_key";
	private static final String OUT_ONETIME_KEY_SEND_TIME = "onetime_key_send_time";
	private static final String OUT_ONET_KEY_YK_KIGEN = "onet_key_yk_kigen";
	private static final String OUT_SMS_RESULT = "sms_result";
	/** FUDispDefinition用キー */
	private static final String OTK_SMS_TEXT = "OTK_SMS_TEXT";
	private static final String ONEKEY_KIGEN_MIN = "ONEKEY_KIGEN_MIN";
	///** APLConst用キー */
	//private static final String IDA_REDIRECT_URL = "IDA_REDIRECT_URL";

	/**
	 * コンストラクタ
	 */
	public FUSV0343_FUSV0343OPDBMapper(){
	}
	

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：サービスフォームBean
	 * @param outputMap
	 * @param func_code　機能コード
	 * @throws Exception 
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV034301CC(X31SDataBeanAccess[] bean, HashMap outputMap, String mode) throws Exception {
		
		if(bean == null){
			return null;
		}
		
		HashMap<String, Object> parentMap = new HashMap<String, Object>();
		String skbt_key = bean[0].sendMessageString(FUW00932SFConst.SKBT_KEY, X31CWebConst.DATABEAN_GET_VALUE);
		String telno = bean[0].sendMessageString(FUW00932SFConst.P_TEL_AREA, X31CWebConst.DATABEAN_GET_VALUE)
						+ bean[0].sendMessageString(FUW00932SFConst.P_TEL_LOCAL, X31CWebConst.DATABEAN_GET_VALUE)
						+ bean[0].sendMessageString(FUW00932SFConst.P_TEL_SUBSCRIBER, X31CWebConst.DATABEAN_GET_VALUE);
		String smsText = JFUWebCommon.getDispText(JFUScreenConst.SCREEN_ID_FUW00932, OTK_SMS_TEXT);
		//String ida_redirect_url = JCCWebCommon.getApplicationConst(IDA_REDIRECT_URL);
		String onekey_kigen_min = JFUWebCommon.getDispText(JFUScreenConst.SCREEN_ID_FUW00932, ONEKEY_KIGEN_MIN);
		
		// ＫＥＹ＿モード
		parentMap.put(IN_KEY_MODE, mode);
		if ("1".equals(mode))
		{
			parentMap.put(IN_KEY_TELNO, telno);
			parentMap.put(IN_MESSAGE, smsText);
			//parentMap.put(IN_IDA_REDIRECT_URL, ida_redirect_url);
			parentMap.put(IN_ONEKEY_KIGEN_MIN, onekey_kigen_min);
		} else if ("2".equals(mode))
		{
			parentMap.put(IN_KEY_TELNO, telno);
			parentMap.put(IN_KEY_SKBT_KEY, skbt_key);
			parentMap.put(IN_MESSAGE, smsText);
			//parentMap.put(IN_IDA_REDIRECT_URL, ida_redirect_url);
			parentMap.put(IN_ONEKEY_KIGEN_MIN, onekey_kigen_min);
		} else if ("3".equals(mode))
		{
			parentMap.put(IN_KEY_SKBT_KEY, skbt_key);
		}
		
		outputMap.put("FUSV034301CC", parentMap);
						
		return outputMap;
	}
	
	/**
	 * 下りマッピングをする
	 * 
	 * @param bean [0]：サービスフォームBean
	 * @param outputMap
	 * @return
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess getFUSV034301CC(X31SDataBeanAccess bean, HashMap outputMap, String mode)
	{
		HashMap retMap = (HashMap)outputMap.get("FUSV034301CC");
		
		String kanri_no = (String)retMap.get(OUT_KANRI_NO);
		String skbt_key = (String)retMap.get(OUT_SKBT_KEY);
		String onetime_key = (String)retMap.get(OUT_ONETIME_KEY);
		String onetime_key_send_time = (String)retMap.get(OUT_ONETIME_KEY_SEND_TIME);
		String sms_result = (String)retMap.get(OUT_SMS_RESULT);
		String onet_key_yk_kigen = (String)retMap.get(OUT_ONET_KEY_YK_KIGEN);

		bean.sendMessageString(FUW00932SFConst.SMS_SEND_RESULT, X31CWebConst.DATABEAN_SET_VALUE, sms_result);
		if ("1".equals(mode) || "2".equals(mode))
		{
			bean.sendMessageString(FUW00932SFConst.KANRI_NO, X31CWebConst.DATABEAN_SET_VALUE, kanri_no);
			bean.sendMessageString(FUW00932SFConst.SKBT_KEY, X31CWebConst.DATABEAN_SET_VALUE, skbt_key);
			bean.sendMessageString(FUW00932SFConst.ONETIME_KEY, X31CWebConst.DATABEAN_SET_VALUE, onetime_key);
			bean.sendMessageString(FUW00932SFConst.ONETIME_KEY_SEND_TIME, X31CWebConst.DATABEAN_SET_VALUE, onetime_key_send_time);
			bean.sendMessageString(FUW00932SFConst.ONET_KEY_YK_KIGEN, X31CWebConst.DATABEAN_SET_VALUE, onet_key_yk_kigen);
			bean.sendMessageString(FUW00932SFConst.HAKKOU_ONETIME_KEY, X31CWebConst.DATABEAN_SET_VALUE, onetime_key);
		}
		
		return bean;
	}
}