/*******************************************************************************
* All Rights reserved,Copyright (c) K-Opticom
********************************************************************************
*ƒƒvƒƒOƒ‰ƒ€“à—e„
* ƒVƒXƒeƒ€–¼        FeoŒÚ‹qŠîŠ²ƒVƒXƒeƒ€
* ƒ‚ƒWƒ…[ƒ‹–¼      FJCRAddEomesMessageCC
* ƒ\[ƒXƒtƒ@ƒCƒ‹–¼  FJCRAddEomesMessageCC.java
* ì¬ŽÒ            F•xŽm’Ê
* “ú•t              F2012”N04ŒŽ12“ú
*ƒ‹@”\ŠT—v„
* eoMessengerƒƒbƒZ[ƒW“o˜^ƒRƒ‚ƒ“ƒRƒ“ƒ|[ƒlƒ“ƒg•”•i
*ƒC³—š—ð„
* ƒo[ƒWƒ‡ƒ“    C³“ú      C³ŽÒ      C³“à—e
* ‚–1.00.00
*
********************************************************************************/

package com.fujitsu.futurity.bp.custom.common;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;

import com.fujitsu.futurity.bp.x21.bpm.ServiceComponentRequestInvoker;
import com.fujitsu.futurity.bp.x21.bpm.db.SessionHandle;
import com.fujitsu.futurity.bp.x21.bpm.exception.RequestParameterException;
import com.fujitsu.futurity.bp.x21.bpm.parameter.IRequestParameterReadWrite;
import com.fujitsu.futurity.bp.x21.cc.AbstractCommonComponent;
import com.fujitsu.futurity.bp.x21.cc.exception.SCCallException;
import com.fujitsu.futurity.common.JCMConstants;
import com.fujitsu.futurity.common.x01.sc.SCControlMapKeys;
import com.fujitsu.futurity.mapping.bp.common.TemplateErrorUtil;
import com.fujitsu.futurity.model.base.CAANMsg;
import com.fujitsu.futurity.model.common.JCMAPLConstMgr;

import eo.common.util.JCRUtilCommon;
import eo.ejb.cbs.cbsmsg.ECR0271D010CBSMsg;
import eo.ejb.cbs.cbsmsg.ECR0271D010CBSMsg1List;
import eo.ejb.cbs.cbsmsg.ECR0291A010CBSMsg;
import eo.ejb.cbs.cbsmsg.ECR0291A010CBSMsg1List;

/**
 * eoMessengerƒƒbƒZ[ƒW“o˜^ƒRƒ‚ƒ“ƒRƒ“ƒ|[ƒlƒ“ƒg•”•i.<br>
 * 
 * @author user
 *
 */
public class JCRAddEomesMessageCC extends AbstractCommonComponent
{
	/**
	 * ƒeƒ“ƒvƒŒ[ƒgIDieoMessengerƒƒOƒCƒ“ŽÀÑˆêˆÓÆ‰ïj
	 */
	private static final String TEMPLATE_ID_ECR0291A010 = "ECR0291A010";
	
	/**
	 * ƒeƒ“ƒvƒŒ[ƒgIDieoMessengerƒƒbƒZ[ƒW“o˜^j
	 */
	private static final String TEMPLATE_ID_ECR0271D010 = "ECR0271D010";
	
	/**
	 * ƒ}ƒbƒvCCID
	 */
	private static final String MAP_CC_ID = "ADDEOMESMESSAGECC";
	
	/**
	 * eoMessangerƒƒbƒZ[ƒW“o˜^ƒ`ƒFƒbƒNˆ—.<br>
	 * 
	 * @param handle ƒZƒbƒVƒ‡ƒ“ƒnƒ“ƒhƒ‹
	 * @param param ƒŠƒNƒGƒXƒgƒpƒ‰ƒ[ƒ^
	 * @param fixedText ƒT[ƒrƒXƒƒbƒZ[ƒW
	 * @return HashMap<String, Object>
	 * @throws RequestParameterException RequestParameterException
	 */
	public HashMap<String, Object> getInvokeCBS(SessionHandle handle
			, IRequestParameterReadWrite param, String fixedText) throws RequestParameterException 
	{
		// eoMessengerƒƒOƒCƒ“ŽÀÑˆêˆÓÆ‰ïˆ——pƒƒbƒZ[ƒWÝ’èˆ—
		HashMap<String, Object> paramMap = editInMsg1iShokai(param);
		
		return paramMap;
	}

	/**
	 * eoMessangerƒƒbƒZ[ƒW“o˜^ˆ—.<br>
	 * 
	 * @param handle ƒZƒbƒVƒ‡ƒ“ƒnƒ“ƒhƒ‹
	 * @param param ƒŠƒNƒGƒXƒgƒpƒ‰ƒ[ƒ^
	 * @param fixedText ƒT[ƒrƒXƒƒbƒZ[ƒW
	 * @return ƒŠƒNƒGƒXƒgƒpƒ‰ƒ[ƒ^
	 * @throws Exception Exception
	 */
	public IRequestParameterReadWrite addEomesMessage(SessionHandle handle, 
			IRequestParameterReadWrite param, String fixedText) throws Exception
	{
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		
		/* žã‚èƒ}ƒbƒsƒ“ƒOˆ— */
		// ã‚èƒ}ƒbƒsƒ“ƒO‚Ìˆ—Œ‹‰Ê‚ðŽæ“¾‚·‚é‚½‚ß‚Ìƒ}ƒbƒv‚ð¶¬
		// ƒŠƒNƒGƒXƒgƒpƒ‰ƒ[ƒ^‚ðˆø”‚Éã‚èƒ}ƒbƒsƒ“ƒOˆ—ƒƒ\ƒbƒh‚ðŽÀs
		HashMap<String, Object> paramMapShokai = editInMsg1iShokai(param);

		/* ž‚r‚bŒÄoŽÀs */
		// SCŒÄ‚Ño‚µ•”•i‚ÌƒCƒ“ƒXƒ^ƒ“ƒX¶¬iˆø”‚É‚ÍƒƒO‚Éo—Í‚·‚éƒNƒ‰ƒX–¼‚ð“n‚·B‹ó•¶Žš‚ðÝ’è‚µ‚½ê‡‚ÍƒƒO‚Éo—Í‚³‚ê‚È‚¢B
		Map<?, ?> resultShokai = scCall.run(paramMapShokai, handle);
		
		/* ž‰º‚èƒ}ƒbƒsƒ“ƒOˆ— */
		editOutMsg1iShokai(resultShokai, param);

		// ì‹Æ—Ìˆæ‚©‚ç“o˜^ƒ†[ƒU[ƒŠƒXƒg‚ðŽæ“¾
		Map<Object, Object> workAreaMap = param.getMappingWorkArea();
		Map<String, Object> workMap = (HashMap<String, Object>)workAreaMap.get("WORK");
		ArrayList<HashMap<String, Object>> addUserList = (ArrayList<HashMap<String, Object>>)workMap.get("AddUserList");
		
		// “o˜^ƒ†[ƒU[ƒŠƒXƒg‚ª‹ó‚Å‚È‚¢ê‡
		if(!addUserList.isEmpty())
		{
			/* žã‚èƒ}ƒbƒsƒ“ƒOˆ— */
			// ã‚èƒ}ƒbƒsƒ“ƒO‚Ìˆ—Œ‹‰Ê‚ðŽæ“¾‚·‚é‚½‚ß‚Ìƒ}ƒbƒv‚ð¶¬
			// ƒŠƒNƒGƒXƒgƒpƒ‰ƒ[ƒ^‚ðˆø”‚Éã‚èƒ}ƒbƒsƒ“ƒOˆ—ƒƒ\ƒbƒh‚ðŽÀs
			HashMap<String, Object> paramMapAdd = editInMsgToroku(param);
			
			/* ž‚r‚bŒÄoŽÀs */
			// SCŒÄ‚Ño‚µ•”•i‚ÌƒCƒ“ƒXƒ^ƒ“ƒX¶¬iˆø”‚É‚ÍƒƒO‚Éo—Í‚·‚éƒNƒ‰ƒX–¼‚ð“n‚·B‹ó•¶Žš‚ðÝ’è‚µ‚½ê‡‚ÍƒƒO‚Éo—Í‚³‚ê‚È‚¢B
			Map<?, ?> resultAdd = scCall.run(paramMapAdd, handle);
	
			/* ž‰º‚èƒ}ƒbƒsƒ“ƒOˆ— */
			editOutMsgToroku(resultAdd, param);
		}

		return param;
	}

	/**
	 * ƒT[ƒrƒXƒRƒ“ƒ|[ƒlƒ“ƒgŽÀsŒã‚ÉAIRequestParameterReadWrite‚ÉƒGƒ‰[î•ñ‚ðƒ}ƒbƒsƒ“ƒO‚·‚é
	 * @param param ƒŠƒNƒGƒXƒgƒpƒ‰ƒ[ƒ^
	 * @param templates ƒeƒ“ƒvƒŒ[ƒg
	 * @param returnCode ƒŠƒ^[ƒ“ƒR[ƒh
	 * @return IRequestParameterReadWrite
	 * @throws RequestParameterException RequestParameterException
	 */
	public IRequestParameterReadWrite editErrorInfo(IRequestParameterReadWrite param
			, CAANMsg[] templates, int returnCode) throws RequestParameterException
	{
		if (templates == null || templates.length == 0)
		{
			return param;
		}

		CAANMsg template = templates[0];
		if (ECR0291A010CBSMsg.class.getName().equals(template.getSchemaName()))
		{
			return editErrorInfo1iShokai(param, templates, returnCode);
		}
		else if(ECR0271D010CBSMsg.class.getName().equals(template.getSchemaName()))
		{
			return editErrorInfoToroku(param, templates, returnCode);
		}

		return param;
	}
	
	/**
	 * eoMessengerƒƒOƒCƒ“ŽÀÑˆêˆÓÆ‰ïˆ——pƒƒbƒZ[ƒWÝ’èˆ—.<br>
	 * @param param ƒŠƒNƒGƒXƒgƒpƒ‰ƒ[ƒ^
	 * @return HashMap<String, Object>
	 * @throws RequestParameterException
	 */
	@SuppressWarnings("unchecked")
	private HashMap<String, Object> editInMsg1iShokai(IRequestParameterReadWrite param) throws RequestParameterException
	{
		HashMap<String, Object> paramMap = new HashMap<String, Object>();

		/* SCƒCƒ“ƒvƒbƒg‹¤’Êƒf[ƒ^ */
		// **********************************************
		// yŽæ“¾Œ³F“d•¶ƒwƒbƒ_(ƒwƒbƒ_)z
		// **********************************************
		// “d•¶ID
		paramMap.put(JCMConstants.TRANZACTION_ID_KEY, param.getTelegramID());
		// ƒ†[ƒXƒP[ƒXID
		paramMap.put(JCMConstants.USECASE_ID_KEY, param.getUsecaseID());
		// ƒIƒyƒŒ[ƒVƒ‡ƒ“ID
		paramMap.put(JCMConstants.OPERATION_ID_KEY, param.getOperationID());
		// ƒT[ƒrƒXŒÄ‚Ño‚µ‹æ•ª
		paramMap.put(JCMConstants.CALL_TYPE_KEY, param.getCallType());

		// **********************************************
		// yŽæ“¾Œ³Fƒ†[ƒUƒGƒŠƒA(ƒRƒ“ƒgƒ[ƒ‹ƒ}ƒbƒv)z
		// **********************************************
		// ˆË—ŠæƒzƒXƒg–¼
		paramMap.put(JCMConstants.CLIENT_HOST_NAME_KEY, param.getControlMapData(SCControlMapKeys.REQ_HOSTNAME));
		// ˆË—ŠŒ³IPƒAƒhƒŒƒX
		paramMap.put(JCMConstants.CLIENT_IP_ADDRESS_KEY, param.getControlMapData(SCControlMapKeys.REQ_HOSTIP));
		// ˆË—ŠŒ³‰æ–ÊID
		paramMap.put(JCMConstants.INVOKE_GAMEN_ID_KEY, param.getControlMapData(SCControlMapKeys.REQ_VIEWID));
		// ƒIƒyƒŒ[ƒ^ID
		paramMap.put(JCMConstants.OPERATOR_ID_KEY, param.getControlMapData(SCControlMapKeys.OPERATOR_ID));

		ArrayList<CAANMsg> lstTemplate = new ArrayList<CAANMsg>();

		// ƒIƒyƒŒ[ƒ^ID
		Object operatorId = param.getControlMapData(SCControlMapKeys.OPERATOR_ID);
		// ‰^—p“ú•t
		Object operateDate = param.getControlMapData(SCControlMapKeys.OPE_DATE);
		// ‰^—p“úŽž
		Object operateDateTime = param.getControlMapData(SCControlMapKeys.OPE_TIME);

		/* ƒ†[ƒUƒf[ƒ^î•ñ */
		HashMap<String, Object> inMap = (HashMap<String, Object>)param.getData(MAP_CC_ID);
		if (inMap == null)
		{
			inMap = new HashMap<String, Object>();
			param.setData(MAP_CC_ID, inMap);
		}

		// ŽóMƒ†[ƒU[ƒŠƒXƒg
		ArrayList<HashMap<String, Object>> rcvUserList = (ArrayList<HashMap<String, Object>>)inMap.get("RcvUserList");
		if (rcvUserList == null)
		{
			rcvUserList = new ArrayList<HashMap<String, Object>>();
			inMap.put("RcvUserList", rcvUserList);
		}

		for (int i = 0; i < rcvUserList.size(); i++)
		{
			HashMap rcvUserMap = rcvUserList.get(i);
			if (rcvUserMap == null)
			{
				rcvUserMap = new HashMap<String, Object>();
				rcvUserList.set(i, rcvUserMap);
			}

			CAANMsg template = new CAANMsg(ECR0291A010CBSMsg.class.getName());

			// ƒeƒ“ƒvƒŒ[ƒgID
			template.set(ECR0291A010CBSMsg.TEMPLATEID, TEMPLATE_ID_ECR0291A010);

			// ƒIƒyƒŒ[ƒ^ID
			template.set(JCMConstants.OPERATOR_ID_KEY, operatorId);

			// ‰^—p“ú•t
			template.set(JCMConstants.OPERATE_DATE_KEY, operateDate);

			// ‰^—p“úŽž
			template.set(JCMConstants.OPERATE_DATETIME_KEY, operateDateTime);

			// ‹@”\ƒR[ƒh
			template.set(ECR0291A010CBSMsg.FUNC_CODE, inMap.get(JCMConstants.FUNC_CODE_KEY));

			// eoMessengerƒƒbƒZ[ƒW“o˜^ƒ}ƒbƒv.‚j‚d‚xQƒƒOƒCƒ“ƒ†[ƒU[ID¨ ‚j‚d‚xQƒƒOƒCƒ“ƒ†[ƒU[ID
			if (JCRUtilCommon.isNull(rcvUserMap.get("key_eomes_login_user_id")))
			{
				template.setNull(ECR0291A010CBSMsg.KEY_EOMES_LOGIN_USER_ID);
			}
			else
			{
				template.set(ECR0291A010CBSMsg.KEY_EOMES_LOGIN_USER_ID, (String)rcvUserMap.get("key_eomes_login_user_id"));
			}
			
			// eoMessengerƒƒbƒZ[ƒW“o˜^ƒ}ƒbƒv.‚j‚d‚xQeoMessenger‹Æ–±ŒÂ•ÊÝ’è‘gDƒR[ƒh ¨ ‚j‚d‚xQeoMessenger‹Æ–±ŒÂ•ÊÝ’è‘gDƒR[ƒh
			if (JCRUtilCommon.isNull(rcvUserMap.get("key_eomes_login_wkkbt_org_cd")))
			{
				template.setNull(ECR0291A010CBSMsg.KEY_EOMES_LOGIN_WKKBT_ORG_CD);
			}
			else
			{
				template.set(ECR0291A010CBSMsg.KEY_EOMES_LOGIN_WKKBT_ORG_CD, (String)rcvUserMap.get("key_eomes_login_wkkbt_org_cd"));
			}

			// eoMessengerƒƒbƒZ[ƒW“o˜^ƒ}ƒbƒv.‚j‚d‚xQeoMessenger‹Æ–±ŒÂ•ÊÝ’è—§êƒR[ƒh¨ ‚j‚d‚xQeoMessenger‹Æ–±ŒÂ•ÊÝ’è—§êƒR[ƒh
			if (JCRUtilCommon.isNull(rcvUserMap.get("key_eomes_login_wkkbt_pst_cd")))
			{
				template.setNull(ECR0291A010CBSMsg.KEY_EOMES_LOGIN_WKKBT_PST_CD);
			}
			else
			{
				template.set(ECR0291A010CBSMsg.KEY_EOMES_LOGIN_WKKBT_PST_CD, (String)rcvUserMap.get("key_eomes_login_wkkbt_pst_cd"));
			}

			lstTemplate.add(template);
		}
		
		if (lstTemplate.size() == 0)
		{
			return null;
		}

		CAANMsg[] templates = lstTemplate.toArray(new CAANMsg[lstTemplate.size()]);

		paramMap.put(JCMConstants.TEMPLATE_LIST_KEY, templates);
		return paramMap;
	}
	
	/**
	 * eoMessengerƒƒbƒZ[ƒW“o˜^ˆ——pƒƒbƒZ[ƒWÝ’èˆ—.<br>
	 * @param param ƒŠƒNƒGƒXƒgƒpƒ‰ƒ[ƒ^
	 * @return HashMap<String, Object>
	 * @throws RequestParameterException
	 */
	@SuppressWarnings("unchecked")
	private HashMap<String, Object> editInMsgToroku(IRequestParameterReadWrite param) throws RequestParameterException
	{
		HashMap<String, Object> paramMap = new HashMap<String, Object>();

		/* SCƒCƒ“ƒvƒbƒg‹¤’Êƒf[ƒ^ */
		// **********************************************
		// yŽæ“¾Œ³F“d•¶ƒwƒbƒ_(ƒwƒbƒ_)z
		// **********************************************
		// “d•¶ID
		paramMap.put(JCMConstants.TRANZACTION_ID_KEY, param.getTelegramID());
		// ƒ†[ƒXƒP[ƒXID
		paramMap.put(JCMConstants.USECASE_ID_KEY, param.getUsecaseID());
		// ƒIƒyƒŒ[ƒVƒ‡ƒ“ID
		paramMap.put(JCMConstants.OPERATION_ID_KEY, param.getOperationID());
		// ƒT[ƒrƒXŒÄ‚Ño‚µ‹æ•ª
		paramMap.put(JCMConstants.CALL_TYPE_KEY, param.getCallType());

		// **********************************************
		// yŽæ“¾Œ³Fƒ†[ƒUƒGƒŠƒA(ƒRƒ“ƒgƒ[ƒ‹ƒ}ƒbƒv)z
		// **********************************************
		// ˆË—ŠæƒzƒXƒg–¼
		paramMap.put(JCMConstants.CLIENT_HOST_NAME_KEY, param.getControlMapData(SCControlMapKeys.REQ_HOSTNAME));
		// ˆË—ŠŒ³IPƒAƒhƒŒƒX
		paramMap.put(JCMConstants.CLIENT_IP_ADDRESS_KEY, param.getControlMapData(SCControlMapKeys.REQ_HOSTIP));
		// ˆË—ŠŒ³‰æ–ÊID
		paramMap.put(JCMConstants.INVOKE_GAMEN_ID_KEY, param.getControlMapData(SCControlMapKeys.REQ_VIEWID));
		// ƒIƒyƒŒ[ƒ^ID
		paramMap.put(JCMConstants.OPERATOR_ID_KEY, param.getControlMapData(SCControlMapKeys.OPERATOR_ID));

		// ƒIƒyƒŒ[ƒ^ID
		Object operatorId = param.getControlMapData(SCControlMapKeys.OPERATOR_ID);
		// ‰^—p“ú•t
		Object operateDate = param.getControlMapData(SCControlMapKeys.OPE_DATE);
		// ‰^—p“úŽž
		Object operateDateTime = param.getControlMapData(SCControlMapKeys.OPE_TIME);

		/* ƒ†[ƒUƒf[ƒ^î•ñ */
		HashMap<String, Object> inMap = (HashMap<String, Object>)param.getData(MAP_CC_ID);
		if (inMap == null)
		{
			inMap = new HashMap<String, Object>();
			param.setData(MAP_CC_ID, inMap);
		}

		CAANMsg template = new CAANMsg(ECR0271D010CBSMsg.class.getName());
		CAANMsg[] templateArray = null;

		// ƒeƒ“ƒvƒŒ[ƒgID
		template.set(ECR0271D010CBSMsg.TEMPLATEID, TEMPLATE_ID_ECR0271D010);

		// ƒIƒyƒŒ[ƒ^ID
		template.set(JCMConstants.OPERATOR_ID_KEY, operatorId);

		// ‰^—p“ú•t
		template.set(JCMConstants.OPERATE_DATE_KEY, operateDate);

		// ‰^—p“úŽž
		template.set(JCMConstants.OPERATE_DATETIME_KEY, operateDateTime);

		// ‹@”\ƒR[ƒh
		template.set(ECR0271D010CBSMsg.FUNC_CODE, inMap.get(JCMConstants.FUNC_CODE_KEY));

		// ì‹Æ€–Ú—Ìˆæ
		Map<Object, Object> workAreaMap = param.getMappingWorkArea();

		// ì‹Æ€–Úî•ñ
		Map<String, Object> workMap = (HashMap<String, Object>)workAreaMap.get("WORK");

		// eoMessengerƒƒbƒZ[ƒW“o˜^ƒ}ƒbƒv.eoMessenger‘—Mƒ†[ƒU[ID¨ eoMessenger‘—Mƒ†[ƒU[ID
		if (JCRUtilCommon.isNull(inMap.get("eomes_send_user_id")))
		{
			template.setNull(ECR0271D010CBSMsg.EOMES_SEND_USER_ID);
		}
		else
		{
			template.set(ECR0271D010CBSMsg.EOMES_SEND_USER_ID, (String)inMap.get("eomes_send_user_id"));
		}
		
		// eoMessengerƒƒbƒZ[ƒW“o˜^ƒ}ƒbƒv.eoMes‘—Mƒ†[ƒU[‹Æ–±ŒÂ•ÊÝ’è‘gDƒR[ƒh ¨ eoMes‘—Mƒ†[ƒU[‹Æ–±ŒÂ•ÊÝ’è‘gDƒR[ƒh
		if (JCRUtilCommon.isNull(inMap.get("eomes_snd_usr_wkkbt_org_cd")))
		{
			template.setNull(ECR0271D010CBSMsg.EOMES_SND_USR_WKKBT_ORG_CD);
		}
		else
		{
			template.set(ECR0271D010CBSMsg.EOMES_SND_USR_WKKBT_ORG_CD, (String)inMap.get("eomes_snd_usr_wkkbt_org_cd"));
		}

		// eoMessengerƒƒbƒZ[ƒW“o˜^ƒ}ƒbƒv.eoMes‘—Mƒ†[ƒU[‹Æ–±ŒÂ•ÊÝ’è—§êƒR[ƒh¨ eoMes‘—Mƒ†[ƒU[‹Æ–±ŒÂ•ÊÝ’è—§êƒR[ƒh
		if (JCRUtilCommon.isNull(inMap.get("eomes_snd_usr_wkkbt_pst_cd")))
		{
			template.setNull(ECR0271D010CBSMsg.EOMES_SND_USR_WKKBT_PST_CD);
		}
		else
		{
			template.set(ECR0271D010CBSMsg.EOMES_SND_USR_WKKBT_PST_CD, (String)inMap.get("eomes_snd_usr_wkkbt_pst_cd"));
		}

		// eoMessengerƒƒbƒZ[ƒW“o˜^ƒ}ƒbƒv.eoMessengerƒƒbƒZ[ƒW“à—e ¨ eoMessengerƒƒbƒZ[ƒW“à—e
		if (JCRUtilCommon.isNull(inMap.get("eomes_send_msg_nyo")))
		{
			template.setNull(ECR0271D010CBSMsg.EOMES_SEND_MSG_NYO);
		}
		else
		{
			template.set(ECR0271D010CBSMsg.EOMES_SEND_MSG_NYO, (String)inMap.get("eomes_send_msg_nyo"));
		}

		// eoMessengerƒƒbƒZ[ƒW“o˜^ƒ}ƒbƒv.eoMessenger‘—M”NŒŽ“úŽž•ª•b ¨ eoMessenger‘—M”NŒŽ“úŽž•ª•b
		if (JCRUtilCommon.isNull(inMap.get("eomes_send_dtm")))
		{
			template.setNull(ECR0271D010CBSMsg.EOMES_SEND_DTM);
		}
		else
		{
			template.set(ECR0271D010CBSMsg.EOMES_SEND_DTM, (String)inMap.get("eomes_send_dtm"));
		}

		// “o˜^ƒ†[ƒU[ƒŠƒXƒg
		ArrayList<HashMap<String, Object>> addUserList = (ArrayList<HashMap<String, Object>>)workMap.get("AddUserList");

		templateArray = template.getCAANMsgList(ECR0271D010CBSMsg.ECR0271D010CBSMSG1LIST);
		if (templateArray == null)
		{
			templateArray = new CAANMsg[addUserList.size()];
		}

		for (int i = 0; i < addUserList.size(); i++)
		{
			HashMap<String, Object> addUserMap = addUserList.get(i);
			if (addUserMap == null)
			{
				addUserMap = new HashMap<String, Object>();
				addUserList.set(i, addUserMap);
			}

			CAANMsg childTemplate = templateArray[i];
			if (childTemplate == null)
			{
				childTemplate = new CAANMsg(ECR0271D010CBSMsg1List.class.getName());
			}

			// “o˜^ƒ†[ƒU[ƒŠƒXƒg.eoMessengerŽóMƒ†[ƒU[ID ¨ eoMessengerŽóMƒ†[ƒU[ID
			if (JCRUtilCommon.isNull(addUserMap.get("eomes_rcv_user_id")))
			{
				childTemplate.setNull(ECR0271D010CBSMsg1List.EOMES_RCV_USER_ID);
			}
			else
			{
				childTemplate.set(ECR0271D010CBSMsg1List.EOMES_RCV_USER_ID, (String)addUserMap.get("eomes_rcv_user_id"));
			}
			
			// “o˜^ƒ†[ƒU[ƒŠƒXƒg.eoMesŽóMƒ†[ƒU[‹Æ–±ŒÂ•ÊÝ’è‘gDƒR[ƒh ¨ eoMesŽóMƒ†[ƒU[‹Æ–±ŒÂ•ÊÝ’è‘gDƒR[ƒh
			if (JCRUtilCommon.isNull(addUserMap.get("eomes_rcv_usr_wkkbt_org_cd")))
			{
				childTemplate.setNull(ECR0271D010CBSMsg1List.EOMES_RCV_USR_WKKBT_ORG_CD);
			}
			else
			{
				childTemplate.set(ECR0271D010CBSMsg1List.EOMES_RCV_USR_WKKBT_ORG_CD, (String)addUserMap.get("eomes_rcv_usr_wkkbt_org_cd"));
			}

			// “o˜^ƒ†[ƒU[ƒŠƒXƒg.eoMesŽóMƒ†[ƒU[‹Æ–±ŒÂ•ÊÝ’è—§êƒR[ƒh ¨ eoMesŽóMƒ†[ƒU[‹Æ–±ŒÂ•ÊÝ’è—§êƒR[ƒh
			if (JCRUtilCommon.isNull(addUserMap.get("eomes_rcv_usr_wkkbt_pst_cd")))
			{
				childTemplate.setNull(ECR0271D010CBSMsg1List.EOMES_RCV_USR_WKKBT_PST_CD);
			}
			else
			{
				childTemplate.set(ECR0271D010CBSMsg1List.EOMES_RCV_USR_WKKBT_PST_CD, (String)addUserMap.get("eomes_rcv_usr_wkkbt_pst_cd"));
			}

			templateArray[i] = childTemplate;
		}
		template.set(ECR0271D010CBSMsg.ECR0271D010CBSMSG1LIST, templateArray);
		
		CAANMsg[] templates = new CAANMsg[1];
		templates[0] = template;
		paramMap.put(JCMConstants.TEMPLATE_LIST_KEY, templates);

		return paramMap;
	}

	/**
	 * eoMessengerƒƒOƒCƒ“ŽÀÑˆêˆÓÆ‰ïˆ——pƒƒbƒZ[ƒWÝ’èˆ—.<br>
	 * 
	 * @param msgList ƒƒbƒZ[ƒWƒŠƒXƒg
	 * @param param ƒŠƒNƒGƒXƒgƒpƒ‰ƒ[ƒ^
	 * @return IRequestParameterReadWrite
	 * @throws Exception
	 */
	@SuppressWarnings("unchecked")
	private IRequestParameterReadWrite editOutMsg1iShokai(Map<?, ?> msgList, IRequestParameterReadWrite param) throws Exception
	{
		// SC‚©‚ç‚Ì–ß‚è’l‚©‚çCAANMsg‚ðŽæ“¾‚·‚éB
		CAANMsg[] templates = (CAANMsg[])msgList.get(JCMConstants.TEMPLATE_LIST_KEY);

		// ƒŠƒ^[ƒ“ƒR[ƒhŽæ“¾
		Object return_code = msgList.get(JCMConstants.RET_CD_INT_KEY);
		
		/* ‹Æ–±ƒf[ƒ^Ý’è */
		HashMap<String, Object> dataMap = (HashMap<String, Object>)param.getData(MAP_CC_ID);
		if (dataMap == null)
		{
			dataMap = new HashMap<String, Object>();
			param.setData(MAP_CC_ID, dataMap);
		}

		// ì‹Æ€–Ú—Ìˆæ
		Map<Object, Object> workAreaMap = param.getMappingWorkArea();
		if (workAreaMap == null)
		{
			workAreaMap = new HashMap<Object, Object>();
			param.setMappingWorkArea(workAreaMap);
		}

		// ì‹Æ€–Úî•ñ
		Map<String, Object> workMap = (HashMap<String, Object>)workAreaMap.get("WORK");
		if (workMap == null)
		{
			workMap = new HashMap<String, Object>();
			workAreaMap.put("WORK", workMap);
		}

		// ƒƒOƒAƒEƒgƒ†[ƒU[ƒŠƒXƒg
		ArrayList<HashMap<String, Object>> logoutUserList = (ArrayList<HashMap<String, Object>>)dataMap.get("LogoutUserList");
		if (logoutUserList == null)
		{
			logoutUserList = new ArrayList<HashMap<String, Object>>();
			dataMap.put("LogoutUserList", logoutUserList);
		}

		// “o˜^ƒ†[ƒU[ƒŠƒXƒg
		ArrayList<HashMap<String, Object>> addUserList = (ArrayList<HashMap<String, Object>>)workMap.get("AddUserList");
		if (addUserList == null)
		{
			addUserList = new ArrayList<HashMap<String, Object>>();
			workMap.put("AddUserList", addUserList);
		}

		int idx = 0;
		int cntOut = 0;
		int cntIn = 0;
		String kijun_dtm = (String)dataMap.get("key_kijun_dtm");
		while (idx < templates.length)
		{
			CAANMsg childTemplate = templates[idx];
			CAANMsg[] childArray = childTemplate.getCAANMsgList(ECR0291A010CBSMsg.ECR0291A010CBSMSG1LIST);
			CAANMsg parentTemplate = childArray[0];
			String teiki_dtm = parentTemplate.getString(ECR0291A010CBSMsg1List.EOMES_TEIKI_UPD_DTM);

			// ‚j‚d‚xQŠî€“úŽž > eoMessenger’èŠúXV”NŒŽ“úŽž•ª•b‚Ìê‡
			if (kijun_dtm.compareTo(teiki_dtm) > 0 || !childTemplate.isNull(ECR0291A010CBSMsg.SEARCH_ERR_FLG))
			{
				if (cntOut >= logoutUserList.size())
				{
					logoutUserList.add(new HashMap<String, Object>());
				}
				HashMap<String, Object> logoutUserMap = logoutUserList.get(cntOut);

				// eoMessengerƒƒbƒZ[ƒW“o˜^ƒ}ƒbƒv.eoMessengerƒƒOƒCƒ“ƒ†[ƒU[ID © eoMessengerƒƒOƒCƒ“ƒ†[ƒU[ID
				if (parentTemplate.isNull(ECR0291A010CBSMsg1List.EOMES_LOGIN_USER_ID))
				{
					logoutUserMap.put("eomes_login_user_id", "");
				}
				else
				{
					logoutUserMap.put("eomes_login_user_id", parentTemplate.getString(ECR0291A010CBSMsg1List.EOMES_LOGIN_USER_ID));
				}

				// eoMessengerƒƒbƒZ[ƒW“o˜^ƒ}ƒbƒv.eoMessengerƒƒOƒCƒ“ƒ†[ƒU[–¼ © eoMessengerƒƒOƒCƒ“ƒ†[ƒU[–¼
				if (parentTemplate.isNull(ECR0291A010CBSMsg1List.EOMES_LOGIN_USER_NM))
				{
					logoutUserMap.put("eomes_login_user_nm", "");
				}
				else
				{
					logoutUserMap.put("eomes_login_user_nm", parentTemplate.getString(ECR0291A010CBSMsg1List.EOMES_LOGIN_USER_NM));
				}

				// eoMessengerƒƒbƒZ[ƒW“o˜^ƒ}ƒbƒv.eoMessenger‹Æ–±ŒÂ•ÊÝ’è‘gDƒR[ƒh © eoMessenger‹Æ–±ŒÂ•ÊÝ’è‘gDƒR[ƒh
				if (parentTemplate.isNull(ECR0291A010CBSMsg1List.EOMES_LOGIN_WKKBT_ORG_CD))
				{
					logoutUserMap.put("eomes_login_wkkbt_org_cd", "");
				}
				else
				{
					logoutUserMap.put("eomes_login_wkkbt_org_cd", parentTemplate.getString(ECR0291A010CBSMsg1List.EOMES_LOGIN_WKKBT_ORG_CD));
				}

				// eoMessengerƒƒbƒZ[ƒW“o˜^ƒ}ƒbƒv.‹Æ–±ŒÂ•ÊÝ’è‘gD–¼ © ‹Æ–±ŒÂ•ÊÝ’è‘gD–¼
				if (parentTemplate.isNull(ECR0291A010CBSMsg1List.WKKBT_ORG_CD_NM))
				{
					logoutUserMap.put("wkkbt_org_cd_nm", "");
				}
				else
				{
					logoutUserMap.put("wkkbt_org_cd_nm", parentTemplate.getString(ECR0291A010CBSMsg1List.WKKBT_ORG_CD_NM));
				}

				// eoMessengerƒƒbƒZ[ƒW“o˜^ƒ}ƒbƒv.eoMessenger‹Æ–±ŒÂ•ÊÝ’è—§êƒR[ƒh © eoMessenger‹Æ–±ŒÂ•ÊÝ’è—§êƒR[ƒh
				if (parentTemplate.isNull(ECR0291A010CBSMsg1List.EOMES_LOGIN_WKKBT_PST_CD))
				{
					logoutUserMap.put("eomes_login_wkkbt_pst_cd", "");
				}
				else
				{
					logoutUserMap.put("eomes_login_wkkbt_pst_cd", parentTemplate.getString(ECR0291A010CBSMsg1List.EOMES_LOGIN_WKKBT_PST_CD));
				}

				// eoMessengerƒƒbƒZ[ƒW“o˜^ƒ}ƒbƒv.‹Æ–±ŒÂ•ÊÝ’è—§ê–¼ © ‹Æ–±ŒÂ•ÊÝ’è—§ê–¼
				if (parentTemplate.isNull(ECR0291A010CBSMsg1List.WKKBT_POSITION_NM))
				{
					logoutUserMap.put("wkkbt_position_nm", "");
				}
				else
				{
					logoutUserMap.put("wkkbt_position_nm", parentTemplate.getString(ECR0291A010CBSMsg1List.WKKBT_POSITION_NM));
				}
				cntOut++;
			}
			else
			{
				if (cntIn >= addUserList.size())
				{
					addUserList.add(new HashMap<String, Object>());
				}
				HashMap<String, Object> addUserMap = addUserList.get(cntIn);

				// “o˜^ƒ†[ƒU[ƒŠƒXƒg.eoMessengerƒƒOƒCƒ“ƒ†[ƒU[ID © eoMessengerƒƒOƒCƒ“ƒ†[ƒU[ID
				if (parentTemplate.isNull(ECR0291A010CBSMsg1List.EOMES_LOGIN_USER_ID))
				{
					addUserMap.put("eomes_rcv_user_id", "");
				}
				else
				{
					addUserMap.put("eomes_rcv_user_id", parentTemplate.getString(ECR0291A010CBSMsg1List.EOMES_LOGIN_USER_ID));
				}

				// “o˜^ƒ†[ƒU[ƒŠƒXƒg.eoMessenger‹Æ–±ŒÂ•ÊÝ’è‘gDƒR[ƒh © eoMessenger‹Æ–±ŒÂ•ÊÝ’è‘gDƒR[ƒh
				if (parentTemplate.isNull(ECR0291A010CBSMsg1List.EOMES_LOGIN_WKKBT_ORG_CD))
				{
					addUserMap.put("eomes_rcv_usr_wkkbt_org_cd", "");
				}
				else
				{
					addUserMap.put("eomes_rcv_usr_wkkbt_org_cd", parentTemplate.getString(ECR0291A010CBSMsg1List.EOMES_LOGIN_WKKBT_ORG_CD));
				}

				// “o˜^ƒ†[ƒU[ƒŠƒXƒg.eoMessenger‹Æ–±ŒÂ•ÊÝ’è—§êƒR[ƒh © eoMessenger‹Æ–±ŒÂ•ÊÝ’è—§êƒR[ƒh
				if (parentTemplate.isNull(ECR0291A010CBSMsg1List.EOMES_LOGIN_WKKBT_PST_CD))
				{
					addUserMap.put("eomes_rcv_usr_wkkbt_pst_cd", "");
				}
				else
				{
					addUserMap.put("eomes_rcv_usr_wkkbt_pst_cd", parentTemplate.getString(ECR0291A010CBSMsg1List.EOMES_LOGIN_WKKBT_PST_CD));
				}
				
				// ŽóMƒ†[ƒU[ƒŠƒXƒgƒCƒ“ƒfƒbƒNƒX
				addUserMap.put("rcv_user_list_idx", idx);
				cntIn++;
			}
			idx++;
		}

		// ƒGƒ‰[î•ñ‚ÌÝ’è
		editErrorInfo(param, templates, (Integer)return_code);

		//ƒGƒ‰[î•ñ‚Ìƒ}ƒbƒv‚ðŽæ“¾
		ArrayList<Object> errList = (ArrayList<Object>)param.getControlMapData(SCControlMapKeys.ERROR_INFO);
		if (errList == null)
		{
			errList = new ArrayList<Object>();
		}

		// ƒRƒ“ƒgƒ[ƒ‹ƒ}ƒbƒv‚ÉÝ’è
		param.setControlMapData(SCControlMapKeys.ERROR_INFO, TemplateErrorUtil.getErrorInfo(msgList, errList));

		/* žˆ—Œ‹‰Ê‚Ì”»’è */
		//Žæ“¾‚µ‚½ƒŠƒ^[ƒ“ƒR[ƒhAƒXƒe[ƒ^ƒX‚Ì“à—e‚ðŒ©‚ÄˆÙí‚©‚Ç‚¤‚©‚Ì”»’f‚ð‚·‚éB
		String rtnCode = msgList.get(JCMConstants.RET_CD_INT_KEY).toString();
		String status = (String)param.getControlMapData(SCControlMapKeys.RETURN_CODE);

		// ˆÙí‚Ìê‡ASCCallException‚ð¶¬‚µ‚ÄƒXƒ[‚·‚é
		if(!("0".equals(rtnCode) && 0 == Integer.parseInt(status))) 
		{
			SCCallException scCallEx = new SCCallException("INVALID_RETURN_MESSAGE", rtnCode, Integer.parseInt(status));
			throw scCallEx;
		}

		return param;
	}
	
	/**
	 * eoMessengerƒƒbƒZ[ƒW“o˜^ˆ——pƒƒbƒZ[ƒWÝ’èˆ—.<br>
	 * 
	 * @param msgList ƒƒbƒZ[ƒWƒŠƒXƒg
	 * @param param ƒŠƒNƒGƒXƒgƒpƒ‰ƒ[ƒ^
	 * @return IRequestParameterReadWrite
	 * @throws Exception
	 */
	@SuppressWarnings("unchecked")
	private IRequestParameterReadWrite editOutMsgToroku(Map<?, ?> msgList, IRequestParameterReadWrite param) throws Exception
	{
		// SC‚©‚ç‚Ì–ß‚è’l‚©‚çCAANMsg‚ðŽæ“¾‚·‚éB
		CAANMsg[] templates = (CAANMsg[])msgList.get(JCMConstants.TEMPLATE_LIST_KEY);

		// ƒŠƒ^[ƒ“ƒR[ƒhŽæ“¾
		Object return_code = msgList.get(JCMConstants.RET_CD_INT_KEY);
		
		/* ‹Æ–±ƒf[ƒ^Ý’è */
		HashMap<String, Object> dataMap = (HashMap<String, Object>)param.getData(MAP_CC_ID);
		if (dataMap == null)
		{
			dataMap = new HashMap<String, Object>();
			param.setData(MAP_CC_ID, dataMap);
		}

		int idx = 0;
		while (idx < templates.length)
		{
			CAANMsg parentTemplate = templates[idx];

			// eoMessengerƒƒbƒZ[ƒW“o˜^ƒ}ƒbƒv.eoMessengerƒƒbƒZ[ƒW”Ô† © eoMessengerƒƒbƒZ[ƒW”Ô†
			if (parentTemplate.isNull(ECR0271D010CBSMsg.EOMES_MSG_NO))
			{
				dataMap.put("eomes_msg_no", "");
			}
			else
			{
				dataMap.put("eomes_msg_no", parentTemplate.getString(ECR0271D010CBSMsg.EOMES_MSG_NO));
			}

			// eoMessengerƒƒbƒZ[ƒW“o˜^ƒ}ƒbƒv.“o˜^”NŒŽ“úŽž•ª•b © “o˜^”NŒŽ“úŽž•ª•b
			if (parentTemplate.isNull(ECR0271D010CBSMsg.ADD_DTM))
			{
				dataMap.put("add_dtm", "");
			}
			else
			{
				dataMap.put("add_dtm", parentTemplate.getString(ECR0271D010CBSMsg.ADD_DTM));
			}

			// eoMessengerƒƒbƒZ[ƒW“o˜^ƒ}ƒbƒv.“o˜^ƒIƒyƒŒ[ƒ^ƒAƒJƒEƒ“ƒg © “o˜^ƒIƒyƒŒ[ƒ^ƒAƒJƒEƒ“ƒg
			if (parentTemplate.isNull(ECR0271D010CBSMsg.ADD_OPEACNT))
			{
				dataMap.put("add_opeacnt", "");
			}
			else
			{
				dataMap.put("add_opeacnt", parentTemplate.getString(ECR0271D010CBSMsg.ADD_OPEACNT));
			}

			// eoMessengerƒƒbƒZ[ƒW“o˜^ƒ}ƒbƒv.XV”NŒŽ“úŽž•ª•b © XV”NŒŽ“úŽž•ª•b
			if (parentTemplate.isNull(ECR0271D010CBSMsg.UPD_DTM))
			{
				dataMap.put("upd_dtm", "");
			}
			else
			{
				dataMap.put("upd_dtm", parentTemplate.getString(ECR0271D010CBSMsg.UPD_DTM));
			}

			// eoMessengerƒƒbƒZ[ƒW“o˜^ƒ}ƒbƒv.XVƒIƒyƒŒ[ƒ^ƒAƒJƒEƒ“ƒg © XVƒIƒyƒŒ[ƒ^ƒAƒJƒEƒ“ƒg
			if (parentTemplate.isNull(ECR0271D010CBSMsg.UPD_OPEACNT))
			{
				dataMap.put("upd_opeacnt", "");
			}
			else
			{
				dataMap.put("upd_opeacnt", parentTemplate.getString(ECR0271D010CBSMsg.UPD_OPEACNT));
			}

			// eoMessengerƒƒbƒZ[ƒW“o˜^ƒ}ƒbƒv.–³Œøƒtƒ‰ƒO © –³Œøƒtƒ‰ƒO
			if (parentTemplate.isNull(ECR0271D010CBSMsg.MK_FLG))
			{
				dataMap.put("mk_flg", "");
			}
			else
			{
				dataMap.put("mk_flg", parentTemplate.getString(ECR0271D010CBSMsg.MK_FLG));
			}

			idx++;
		}

		// ƒGƒ‰[î•ñ‚ÌÝ’è
		editErrorInfo(param, templates, (Integer)return_code);

		//ƒGƒ‰[î•ñ‚Ìƒ}ƒbƒv‚ðŽæ“¾
		ArrayList<Object> errList = (ArrayList<Object>)param.getControlMapData(SCControlMapKeys.ERROR_INFO);
		if (errList == null)
		{
			errList = new ArrayList<Object>();
		}

		// ƒRƒ“ƒgƒ[ƒ‹ƒ}ƒbƒv‚ÉÝ’è
		param.setControlMapData(SCControlMapKeys.ERROR_INFO, TemplateErrorUtil.getErrorInfo(msgList, errList));

		/* žˆ—Œ‹‰Ê‚Ì”»’è */
		//Žæ“¾‚µ‚½ƒŠƒ^[ƒ“ƒR[ƒhAƒXƒe[ƒ^ƒX‚Ì“à—e‚ðŒ©‚ÄˆÙí‚©‚Ç‚¤‚©‚Ì”»’f‚ð‚·‚éB
		String rtnCode = msgList.get(JCMConstants.RET_CD_INT_KEY).toString();
		String status = (String)param.getControlMapData(SCControlMapKeys.RETURN_CODE);

		// ˆÙí‚Ìê‡ASCCallException‚ð¶¬‚µ‚ÄƒXƒ[‚·‚é
		if(!("0".equals(rtnCode) && 0 == Integer.parseInt(status))) 
		{
			SCCallException scCallEx = new SCCallException("INVALID_RETURN_MESSAGE", rtnCode, Integer.parseInt(status));
			throw scCallEx;
		}

		return param;
	}
	
	/**
	 * ƒT[ƒrƒXƒRƒ“ƒ|[ƒlƒ“ƒgŽÀsŒã‚ÉAIRequestParameterReadWrite‚ÉƒGƒ‰[î•ñ‚ðƒ}ƒbƒsƒ“ƒO‚·‚é
	 * @param param ƒŠƒNƒGƒXƒgƒpƒ‰ƒ[ƒ^
	 * @param templates ƒeƒ“ƒvƒŒ[ƒg
	 * @param returnCode ƒŠƒ^[ƒ“ƒR[ƒh
	 * @return IRequestParameterReadWrite
	 * @throws RequestParameterException RequestParameterException
	 */
	@SuppressWarnings("unchecked")
	public IRequestParameterReadWrite editErrorInfo1iShokai(IRequestParameterReadWrite param
			, CAANMsg[] templates, int returnCode) throws RequestParameterException
	{
		/* ƒ†[ƒUƒf[ƒ^î•ñ */
		HashMap<String, Object> inMap = (HashMap<String, Object>)param.getData(MAP_CC_ID);
		if (inMap == null)
		{
			inMap = new HashMap<String, Object>();
			param.setData(MAP_CC_ID, inMap);
		}

		// ŽóMƒ†[ƒU[ƒŠƒXƒg
		ArrayList<HashMap<String, Object>> rcvUserList = (ArrayList<HashMap<String, Object>>)inMap.get("RcvUserList");
		if (rcvUserList == null)
		{
			rcvUserList = new ArrayList<HashMap<String, Object>>();
		}

		int idx = 0;
		while (idx < templates.length)
		{
			if (idx >= rcvUserList.size())
			{
				rcvUserList.add(new HashMap<String, Object>());
			}
			HashMap<String, Object> rcvUserMap = rcvUserList.get(idx);

			CAANMsg template = templates[idx];
			int templateStatus = template.getInt(ECR0291A010CBSMsg.STATUS);
			if (returnCode != 0)
			{
				templateStatus = 9000;
			}
			if (JCMAPLConstMgr.getString("RETURN_MESSAGE_" + String.format("%1$04d", templateStatus)) == null)
			{
				templateStatus = 0;
			}

			int bpStatus = 0;
			Object obj = param.getControlMapData(SCControlMapKeys.RETURN_CODE);
			if (obj == null)
			{
				bpStatus = -1;
			}
			else
			{
				bpStatus = Integer.parseInt((String)param.getControlMapData(SCControlMapKeys.RETURN_CODE));
			}

			if (templateStatus > bpStatus)
			{
				// BP‚ÉƒT[ƒrƒXƒRƒ“ƒ|[ƒlƒ“ƒg‚ÌƒXƒe[ƒ^ƒX‚ðÝ’è‚·‚éB
				String formatStatus = String.format("%1$04d", templateStatus);
				String message = JCMAPLConstMgr.getString("RETURN_MESSAGE_" + formatStatus);
				param.setControlMapData(SCControlMapKeys.RETURN_CODE, formatStatus);
				param.setControlMapData(SCControlMapKeys.RETURN_MESSAGE, message);
			}

			// eoMessengerƒƒbƒZ[ƒW“o˜^ƒ}ƒbƒv.‚j‚d‚xQƒƒOƒCƒ“ƒ†[ƒU[ID © ‚j‚d‚xQƒƒOƒCƒ“ƒ†[ƒU[ID ‚ÌƒGƒ‰[î•ñ•Ô‹p
			if (!template.isNull(ECR0291A010CBSMsg.KEY_EOMES_LOGIN_USER_ID_ERR))
			{
				if (!rcvUserMap.containsKey("key_eomes_login_user_id_err"))
				{
					rcvUserMap.put("key_eomes_login_user_id_err", template.getString(ECR0291A010CBSMsg.KEY_EOMES_LOGIN_USER_ID_ERR));
				}
			}

			// eoMessengerƒƒbƒZ[ƒW“o˜^ƒ}ƒbƒv.‚j‚d‚xQeoMessenger‹Æ–±ŒÂ•ÊÝ’è‘gDƒR[ƒh © ‚j‚d‚xQeoMessenger‹Æ–±ŒÂ•ÊÝ’è‘gDƒR[ƒh ‚ÌƒGƒ‰[î•ñ•Ô‹p
			if (!template.isNull(ECR0291A010CBSMsg.KEY_EOMES_LOGIN_WKKBT_ORG_CD_ERR))
			{
				if (!rcvUserMap.containsKey("key_eomes_login_wkkbt_org_cd_err"))
				{
					rcvUserMap.put("key_eomes_login_wkkbt_org_cd_err", template.getString(ECR0291A010CBSMsg.KEY_EOMES_LOGIN_WKKBT_ORG_CD_ERR));
				}
			}

			// eoMessengerƒƒbƒZ[ƒW“o˜^ƒ}ƒbƒv.‚j‚d‚xQeoMessenger‹Æ–±ŒÂ•ÊÝ’è—§êƒR[ƒh © ‚j‚d‚xQeoMessenger‹Æ–±ŒÂ•ÊÝ’è—§êƒR[ƒh ‚ÌƒGƒ‰[î•ñ•Ô‹p
			if (!template.isNull(ECR0291A010CBSMsg.KEY_EOMES_LOGIN_WKKBT_PST_CD_ERR))
			{
				if (!rcvUserMap.containsKey("key_eomes_login_wkkbt_pst_cd_err"))
				{
					rcvUserMap.put("key_eomes_login_wkkbt_pst_cd_err", template.getString(ECR0291A010CBSMsg.KEY_EOMES_LOGIN_WKKBT_PST_CD_ERR));
				}
			}

			idx++;
		}
	
		return param;
	}

	/**
	 * ƒT[ƒrƒXƒRƒ“ƒ|[ƒlƒ“ƒgŽÀsŒã‚ÉAIRequestParameterReadWrite‚ÉƒGƒ‰[î•ñ‚ðƒ}ƒbƒsƒ“ƒO‚·‚é
	 * @param param ƒŠƒNƒGƒXƒgƒpƒ‰ƒ[ƒ^
	 * @param templates ƒeƒ“ƒvƒŒ[ƒg
	 * @param returnCode ƒŠƒ^[ƒ“ƒR[ƒh
	 * @return IRequestParameterReadWrite
	 * @throws RequestParameterException RequestParameterException
	 */
	@SuppressWarnings("unchecked")
	public IRequestParameterReadWrite editErrorInfoToroku(IRequestParameterReadWrite param
			, CAANMsg[] templates, int returnCode) throws RequestParameterException
	{
		/* ƒ†[ƒUƒf[ƒ^î•ñ */
		HashMap<String, Object> inMap = (HashMap<String, Object>)param.getData(MAP_CC_ID);
		if (inMap == null)
		{
			inMap = new HashMap<String, Object>();
			param.setData(MAP_CC_ID, inMap);
		}

		// ŽóMƒ†[ƒU[ƒŠƒXƒg
		ArrayList<HashMap<String, Object>> rcvUserList = (ArrayList<HashMap<String, Object>>)inMap.get("RcvUserList");
		if (rcvUserList == null)
		{
			rcvUserList = new ArrayList<HashMap<String, Object>>();
		}

		// “o˜^ƒ†[ƒU[ƒŠƒXƒg
		Map<Object, Object> workAreaMap = param.getMappingWorkArea();
		Map<String, Object> workMap = (HashMap<String, Object>)workAreaMap.get("WORK");
		ArrayList<HashMap<String, Object>> addUserList = (ArrayList<HashMap<String, Object>>)workMap.get("AddUserList");

		int idx = 0;
		while (idx < templates.length)
		{
			CAANMsg template = templates[idx];
			int templateStatus = template.getInt(ECR0271D010CBSMsg.STATUS);
			if (returnCode != 0)
			{
				templateStatus = 9000;
			}
			if (JCMAPLConstMgr.getString("RETURN_MESSAGE_" + String.format("%1$04d", templateStatus)) == null)
			{
				templateStatus = 0;
			}

			int bpStatus = 0;
			Object obj = param.getControlMapData(SCControlMapKeys.RETURN_CODE);
			if (obj == null)
			{
				bpStatus = -1;
			}
			else
			{
				bpStatus = Integer.parseInt((String)param.getControlMapData(SCControlMapKeys.RETURN_CODE));
			}

			if (templateStatus > bpStatus)
			{
				// BP‚ÉƒT[ƒrƒXƒRƒ“ƒ|[ƒlƒ“ƒg‚ÌƒXƒe[ƒ^ƒX‚ðÝ’è‚·‚éB
				String formatStatus = String.format("%1$04d", templateStatus);
				String message = JCMAPLConstMgr.getString("RETURN_MESSAGE_" + formatStatus);
				param.setControlMapData(SCControlMapKeys.RETURN_CODE, formatStatus);
				param.setControlMapData(SCControlMapKeys.RETURN_MESSAGE, message);
			}

			// eoMessengerƒƒbƒZ[ƒW“o˜^ƒ}ƒbƒv.eoMessenger‘—Mƒ†[ƒU[ID © eoMessenger‘—Mƒ†[ƒU[ID ‚ÌƒGƒ‰[î•ñ•Ô‹p
			if (!template.isNull(ECR0271D010CBSMsg.EOMES_SEND_USER_ID_ERR))
			{
				if (!inMap.containsKey("eomes_send_user_id_err"))
				{
					inMap.put("eomes_send_user_id_err", template.getString(ECR0271D010CBSMsg.EOMES_SEND_USER_ID_ERR));
				}
			}

			// eoMessengerƒƒbƒZ[ƒW“o˜^ƒ}ƒbƒv.eoMes‘—Mƒ†[ƒU[‹Æ–±ŒÂ•ÊÝ’è‘gDƒR[ƒh © eoMes‘—Mƒ†[ƒU[‹Æ–±ŒÂ•ÊÝ’è‘gDƒR[ƒh ‚ÌƒGƒ‰[î•ñ•Ô‹p
			if (!template.isNull(ECR0271D010CBSMsg.EOMES_SND_USR_WKKBT_ORG_CD_ERR))
			{
				if (!inMap.containsKey("eomes_snd_usr_wkkbt_org_cd_err"))
				{
					inMap.put("eomes_snd_usr_wkkbt_org_cd_err", template.getString(ECR0271D010CBSMsg.EOMES_SND_USR_WKKBT_ORG_CD_ERR));
				}
			}

			// eoMessengerƒƒbƒZ[ƒW“o˜^ƒ}ƒbƒv.eoMes‘—Mƒ†[ƒU[‹Æ–±ŒÂ•ÊÝ’è—§êƒR[ƒh © eoMes‘—Mƒ†[ƒU[‹Æ–±ŒÂ•ÊÝ’è—§êƒR[ƒh ‚ÌƒGƒ‰[î•ñ•Ô‹p
			if (!template.isNull(ECR0271D010CBSMsg.EOMES_SND_USR_WKKBT_PST_CD_ERR))
			{
				if (!inMap.containsKey("eomes_snd_usr_wkkbt_pst_cd_err"))
				{
					inMap.put("eomes_snd_usr_wkkbt_pst_cd_err", template.getString(ECR0271D010CBSMsg.EOMES_SND_USR_WKKBT_PST_CD_ERR));
				}
			}

			// eoMessengerƒƒbƒZ[ƒW“o˜^ƒ}ƒbƒv.eoMessengerƒƒbƒZ[ƒW“à—e © eoMessengerƒƒbƒZ[ƒW“à—e ‚ÌƒGƒ‰[î•ñ•Ô‹p
			if (!template.isNull(ECR0271D010CBSMsg.EOMES_SEND_MSG_NYO_ERR))
			{
				if (!inMap.containsKey("eomes_send_msg_nyo_err"))
				{
					inMap.put("eomes_send_msg_nyo_err", template.getString(ECR0271D010CBSMsg.EOMES_SEND_MSG_NYO_ERR));
				}
			}

			// eoMessengerƒƒbƒZ[ƒW“o˜^ƒ}ƒbƒv.eoMessenger‘—M”NŒŽ“úŽž•ª•b © eoMessenger‘—M”NŒŽ“úŽž•ª•b ‚ÌƒGƒ‰[î•ñ•Ô‹p
			if (!template.isNull(ECR0271D010CBSMsg.EOMES_SEND_DTM_ERR))
			{
				if (!inMap.containsKey("eomes_send_dtm_err"))
				{
					inMap.put("eomes_send_dtm_err", template.getString(ECR0271D010CBSMsg.EOMES_SEND_DTM_ERR));
				}
			}

			CAANMsg[] templateArray = template.getCAANMsgList(ECR0271D010CBSMsg.ECR0271D010CBSMSG1LIST);

			for (int i = 0; i < templateArray.length; i++)
			{
				CAANMsg parentTemplate = templateArray[i];

				HashMap<String, Object> addUserMap = addUserList.get(i);
				int addUserIdx = (Integer)addUserMap.get("rcv_user_list_idx");
				HashMap<String, Object> rcvUserMap = rcvUserList.get(addUserIdx);

				// eoMessengerƒƒbƒZ[ƒW“o˜^ƒ}ƒbƒv.‚j‚d‚xQƒƒOƒCƒ“ƒ†[ƒU[ID © eoMessengerŽóMƒ†[ƒU[ID ‚ÌƒGƒ‰[î•ñ•Ô‹p
				if (!parentTemplate.isNull(ECR0271D010CBSMsg1List.EOMES_RCV_USER_ID_ERR))
				{
					if (!rcvUserMap.containsKey("key_eomes_login_user_id_err"))
					{
						rcvUserMap.put("key_eomes_login_user_id_err", parentTemplate.getString(ECR0271D010CBSMsg1List.EOMES_RCV_USER_ID_ERR));
					}
				}

				// eoMessengerƒƒbƒZ[ƒW“o˜^ƒ}ƒbƒv.‚j‚d‚xQeoMessenger‹Æ–±ŒÂ•ÊÝ’è‘gDƒR[ƒh © eoMesŽóMƒ†[ƒU[‹Æ–±ŒÂ•ÊÝ’è‘gDƒR[ƒh ‚ÌƒGƒ‰[î•ñ•Ô‹p
				if (!parentTemplate.isNull(ECR0271D010CBSMsg1List.EOMES_RCV_USR_WKKBT_ORG_CD_ERR))
				{
					if (!rcvUserMap.containsKey("key_eomes_login_wkkbt_org_cd_err"))
					{
						rcvUserMap.put("key_eomes_login_wkkbt_org_cd_err", parentTemplate.getString(ECR0271D010CBSMsg1List.EOMES_RCV_USR_WKKBT_ORG_CD_ERR));
					}
				}

				// eoMessengerƒƒbƒZ[ƒW“o˜^ƒ}ƒbƒv.‚j‚d‚xQeoMessenger‹Æ–±ŒÂ•ÊÝ’è—§êƒR[ƒh © eoMesŽóMƒ†[ƒU[‹Æ–±ŒÂ•ÊÝ’è—§êƒR[ƒh ‚ÌƒGƒ‰[î•ñ•Ô‹p
				if (!parentTemplate.isNull(ECR0271D010CBSMsg1List.EOMES_RCV_USR_WKKBT_PST_CD_ERR))
				{
					if (!rcvUserMap.containsKey("key_eomes_login_wkkbt_pst_cd_err"))
					{
						rcvUserMap.put("key_eomes_login_wkkbt_pst_cd_err", parentTemplate.getString(ECR0271D010CBSMsg1List.EOMES_RCV_USR_WKKBT_PST_CD_ERR));
					}
				}
			}
			template.set(ECR0271D010CBSMsg.ECR0271D010CBSMSG1LIST, templateArray);

			idx++;
		}

		return param;
	}
}
