/*********************************************************************
*	All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名		：eo顧客基幹システム
*	モジュール名	：FUSV0379_FUSV0379OPDBMapper
*	ソースファイル名：FUSV0379_FUSV0379OPDBMapper.java
*	作成者			：FJ
*	日付			：2024年10月31日
*＜機能概要＞
*	BP（SMS送信連携（eoID・eoIDパスワード））へのＤ−Ｂマッピングクラスです。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v72.00.00	2024/10/31	FJ			新規作成
**********************************************************************/
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.CommonInfoCF.CommonInfoCFConst;
import eo.web.webview.FUW00921SF.FUW00921SFConst;
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 FUSV0379_FUSV0379OPDBMapper {
	
	/** SMS送信・キャンセルの共通コンポーネント用キー項目 */
	private static final String IN_KEY_SKBT_KEY = "key_skbt_key";
	private static final String IN_KEY_KANRI_NO = "key_kanri_no";
	private static final String IN_KEY_ONET_KEY_NINSHO_FLG = "key_onet_key_ninsho_flg";
	private static final String IN_KEY_TELNO = "key_telno";
	private static final String IN_MESSAGE = "message";
	private static final String OUT_SMS_RESULT = "sms_result";
	private static final String IN_KEY_SYSID = "key_sysid";
	private static final String IN_KEY_MSKM_NO = "key_mskm_no";
	/** FUDispDefinition用キー */
	private static final String SHK_EOID_SMS_TEXT = "SHK_EOID_SMS_TEXT";
	/** APLConst用キー */
	private static final String EOAPP_REDIRECT_URL = "EOAPP_REDIRECT_URL";

	/**
	 * コンストラクタ
	 */
	public FUSV0379_FUSV0379OPDBMapper(){
	}
	

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：サービスフォームBean
	 * @param outputMap
	 * @param func_code　機能コード
	 * @throws Exception 
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV037901CC(X31SDataBeanAccess[] bean, HashMap outputMap) throws Exception
	{
		
		if(bean == null)
		{
			return null;
		}
		
		X31SDataBeanAccess commonInfoBean = bean[1];
		// ＷＥＢ新規情報
		X31SDataBeanAccess webNewInfoBean = JFUWebCommon.getDataBeanTypeByPath(commonInfoBean, JFUWebCommon.WEB_NEW_INFO);
		// 契約サービス情報取得
		X31SDataBeanAccess keiyakuSvcInfoBean = JFUWebCommon.getDataBeanTypeByPath(commonInfoBean, JFUWebCommon.KEIYAKU_SVC_INFO);
		
		HashMap<String, Object> parentMap = new HashMap<String, Object>();
		String skbt_key = bean[0].sendMessageString(FUW00932SFConst.SKBT_KEY, X31CWebConst.DATABEAN_GET_VALUE);
		String kanri_no = bean[0].sendMessageString(FUW00932SFConst.KANRI_NO, X31CWebConst.DATABEAN_GET_VALUE);
		String onet_key_ninsho_flg = bean[0].sendMessageString(FUW00932SFConst.ONET_KEY_NINSHO_FLG, 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, SHK_EOID_SMS_TEXT);
		String eoapp_redirect_url = JCCWebCommon.getApplicationConst(EOAPP_REDIRECT_URL);
		String sysid = webNewInfoBean.sendMessageString(CommonInfoCFConst.SYSID_06, X31CWebConst.DATABEAN_GET_VALUE);
		String mskm_no = keiyakuSvcInfoBean.sendMessageString(CommonInfoCFConst.TTDKI_NO_10, X31CWebConst.DATABEAN_GET_VALUE);
		
		parentMap.put(IN_KEY_SKBT_KEY, skbt_key);
		parentMap.put(IN_KEY_KANRI_NO, kanri_no);
		parentMap.put(IN_KEY_ONET_KEY_NINSHO_FLG, onet_key_ninsho_flg);
		parentMap.put(IN_KEY_TELNO, telno);
		parentMap.put(IN_MESSAGE, smsText);
		parentMap.put(EOAPP_REDIRECT_URL, eoapp_redirect_url);
		parentMap.put(IN_KEY_SYSID, sysid);
		parentMap.put(IN_KEY_MSKM_NO, mskm_no);
		
		outputMap.put("FUSV037901CC", parentMap);
						
		return outputMap;
	}
	
	/**
	 * 下りマッピングをする
	 * 
	 * @param bean [0]：サービスフォームBean
	 * @param outputMap
	 * @return
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess getFUSV037901CC(X31SDataBeanAccess bean, HashMap outputMap)
	{
		HashMap retMap = (HashMap)outputMap.get("FUSV037901CC");
		
		String sms_result = (String)retMap.get(OUT_SMS_RESULT);
		
		bean.sendMessageString(FUW00921SFConst.SMS_SEND_RESULT, X31CWebConst.DATABEAN_SET_VALUE, sms_result);
		
		return bean;
	}
}