/*******************************************************************************
*	All Rights reserved,Copyright (c) K-Opticom
********************************************************************************
*＜プログラム内容＞
*	システム名		：eo顧客基幹システム構築
*	モジュール名	：JESC0051D010TPMA
*	ソースファイル名：JESC0051D010TPMA.java
*	作成者			：EK909581
*	日付			：2011年8月29日
*＜機能概要＞
*	電話サービスオーダ受付の主処理独自部品です。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	ｖ1.00.00
*
********************************************************************************/
package eo.ejb.cbs.mainproc;

import com.fujitsu.futurity.model.base.CAANMsg;
import com.fujitsu.futurity.model.ejb.common.fw.AgentDispatchContext;
import com.fujitsu.futurity.model.ejb.common.fw.TemplateMainHandler;

import eo.common.constant.JSCStrConstant;
import eo.ejb.cbm.cbmmsg.SC0051CBMMsg;
import eo.ejb.cbs.cbsmsg.ESC0051D010CBSMsg;

/**
 * <p>
 * 電話サービスオーダ受付の緊急通報オーダチェック部品 <p>
 * </p>
 * @author 富士通
 */ 
public class JESC0051D010TPMA implements TemplateMainHandler
{

	/**
	 * コンストラクタ
	 */
	public JESC0051D010TPMA()
	{
		
	}
	
	/**
	 * <p>
	 * 電話サービスオーダ受付処理時に緊急通報オーダであれば、FUNC_CODEの変更を行います。
	 * </p>
	 * @param inMsg 処理対象のメッセージキャリア
	 * @param inContext Agentから渡されたAgentDispatchContext
	 */
	public static void invoke(CAANMsg inMsg, AgentDispatchContext inContext)
	{
		boolean funcFlag = false;

		//要求種別コードが（'02'）電話サービスオーダコードが緊急通報オーダ
		if(JSCStrConstant.YOKYU_SBT_NEW.equals(inMsg.getObject(ESC0051D010CBSMsg.YOKYU_SBT_CD)) && 
			JSCStrConstant.TEL_SERVICE_ORD_EMERG.equals(inMsg.getObject(ESC0051D010CBSMsg.TEL_SVC_ORDER_CD)))
		{
			funcFlag = true;
		}
		//要求種別コードが（'04'）電話サービスオーダコードが緊急通報オーダ
		if(JSCStrConstant.YOKYU_SBT_CHG.equals(inMsg.getObject(ESC0051D010CBSMsg.YOKYU_SBT_CD)) && 
			JSCStrConstant.TEL_SERVICE_ORD_EMERG.equals(inMsg.getObject(ESC0051D010CBSMsg.TEL_SVC_ORDER_CD)))
		{
			funcFlag = true;
		}
		//要求種別コードが（'08'）電話サービスオーダコードが緊急通報オーダ
		if(JSCStrConstant.YOKYU_SBT_DEL.equals(inMsg.getObject(ESC0051D010CBSMsg.YOKYU_SBT_CD)) && 
			JSCStrConstant.TEL_SERVICE_ORD_EMERG.equals(inMsg.getObject(ESC0051D010CBSMsg.TEL_SVC_ORDER_CD)))
		{
			funcFlag = true;
		}
		if(true == funcFlag)
		{
			if("1".equals(inMsg.getObject(SC0051CBMMsg.FUNC_CODE)))
			{
				inMsg.set(ESC0051D010CBSMsg.FUNC_CODE, "3");
			}
			else if("2".equals(inMsg.getObject(SC0051CBMMsg.FUNC_CODE)))
			{
				inMsg.set(ESC0051D010CBSMsg.FUNC_CODE, "4");
			}
		}
	}
}
