⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cbmsapplet.java

📁 ARCGIS程序,可以实现查、缩放等功能
💻 JAVA
字号:
package com.csst.csep.cbms;

import java.applet.Applet;

import netscape.javascript.JSObject;

public class CBMSApplet extends Applet
{
//	private static final long serialVersionUID = 5680561216483903338L;
	
	/**
	 * 
	 */ 
	private static final long serialVersionUID = 4523307226179100942L;
	MsgDealCallback callback = new MsgDealCallback(this);
	XmlPacket m_AppletTreate = new XmlPacket(callback);
	String m_RecvXml;
	public static Applet applet = null;
	
	int SetAgentStatus = 1;          		//设置座席状态
	int AnswerCall = 2;                     //接听电话
	int CancelCall = 3;                   	//拒接电话
	int TransferCall = 4;                   //转接电话
	int ReplaceAnswerCall = 5;              //代接电话
	int OutCall = 6;                        //呼出电话
	int InviteMultiCall = 7;                //邀请加入多方通话
	int KickMultiCall = 8;                  //踢出多方通话
	int HangupCall = 9;                     //结束通话
	int MonitorCall = 10;                   //监听
	int InsertCall = 11;                    //强插
	int BreakCall = 12;                     //强拆
	int IncallNotify = 13;                  //电话通知消息
 
	int GetAgentPhoneNum = 15;             //查询座席电话号码
	
	/*
	 作者:吴晓彦  创建时间:2008.5.07
	 函数名:destroy
	 函数作用:applet 标准destroy方法重载,关闭客户端连接
	 函数类型:void
	 输入参数:无
	 输出参数:无
	 */
	public void destroy() 
	{
		m_AppletTreate.CloseClient();
	}

	/*
	 作者:吴晓彦  创建时间:2008.5.07
	 函数名:init
	 函数作用:applet 标准init方法重载,在此初始化客户端连接。
	 函数类型:void
	 输入参数:无
	 输出参数:无
	 */
	public void init() 
	{
		
	}

	public void initClient(String m_SubSys)
	{
		m_AppletTreate.initClient(m_SubSys,2500,callback,30);
	}
	/*
	  作者:吴晓彦 创建时间:2008.5.8
	  函数名:SendMessageA
	  函数作用:发送非阻塞消息
	  函数类型:int
	  输入参数:String Data               消息体(除开消息头和消息尾的内容)
	 		 String To                 要发送的系统名称
	 		 int id                    消息格式中的序列号
	 		 boolean base64code        是否采用base64编码
	 输出参数:响应消息格的序列号
	 */
	public int SendMessageA(String Data, String To,String id)
	{
		int SendId;
		
		if( id.equals("") || id == null  || id.trim().length() == 0 )
		{
			id = "0";
		}
		
		SendId =  m_AppletTreate.sendMessageA(Data,To,Integer.parseInt(id),true);
			
		return SendId;
	}
	
	/*
	 作者:吴晓彦  创建时间:2008.5.8
	 函数名:SendMessageS
	 函数作用:发送阻塞消息
	 函数类型:String
	 输入参数:String Data               消息体(除开消息头和消息尾的内容)
	 		String To                 要发送的系统名称
	 		int timeover              超时时间
	 		boolean base64code        是否采用base64编码
	 输出参数:响应消息的内容
	 */
	public String SendMessageS(String Data, String To,String timeover)
	{
		String m_Return = "";
		
		if( timeover.trim().length() == 0 || timeover.equals("") || timeover == null )
		{
			timeover = "20";
		}
		
		m_Return = m_AppletTreate.sendMessageS(Data,To,Integer.parseInt(timeover),true);
		
		return m_Return;
	}
	
	/*
	 作者:吴晓彦  创建时间:2008.5.07
	 函数名:SendMsg
	 函数作用:发送CBMS消息
	 函数类型:String
		 输入参数:String m_Type     要发送的消息类型
		 							SetAgentStatus = 1;          		//设置座席状态<br>
									AnswerCall = 2;                     //接听电话<br>
									CancelCall = 3;                   	//拒接电话<br>
									TransferCall = 4;                   //转接电话<br>
									ReplaceAnswerCall = 5;              //代接电话<br>
									OutCall = 6;                        //呼出电话<br>
									InviteMultiCall = 7;                //邀请加入多方通话<br>
									KickMultiCall = 8;                  //踢出多方通话<br>
									HangupCall = 9;                     //结束通话<br>
									MonitorCall = 10;                   //监听<br>
									InsertCall = 11;                    //强插<br>
									BreakCall = 12;                     //强拆<br>
									IncallNotify = 13;                  //电话通知消息<br>
	        String id            消息的序列号
	        String m_Agent       座席编号
	        String m_Phone       呼出的电话号码
	        String m_CallId      表示会议的编号
	        String m_Status      座席状态 0:空闲状态
	        						    1:离开状态
	        						    2:示忙
	        String m_Address     电话安装地点
	        String m_Mastername  机主姓名
	 输出参数:响应的消息内容或是响应的消息序列号
	 */
	public String SendMsg(String m_Type,String id,String m_Agent,String m_Phone,
			String m_CallId,String m_Status,String m_Address,String m_Mastername)
	{
		int    iType;
		int    iReturn;
		
		iReturn = -1;
		
		if( m_Type.trim().length() == 0 || m_Type.equals("") || m_Type == null )
		{
			m_Type = "0";
		}
		
		if( m_Agent.trim().length() == 0 || m_Type.equals("") || m_Type == null )
		{
			m_Agent = null;
		}
		
		if( id.equals("") || id == null  || id.trim().length() == 0 )
		{
			id = "0";
		}
		
		if( m_Phone.trim().length() == 0 || m_Phone.equals("") || m_Phone == null ) 
		{
			m_Phone = null;
		}
		
		if( m_CallId.trim().length() == 0 || m_CallId.equals("") || m_CallId == null )
		{
			m_CallId = null;
		}
		

		if( m_Address.trim().length() == 0 || m_Address.equals("") || m_Address == null )
		{
			m_Address = null;
		}
		
		if( m_Mastername.trim().length() == 0 || m_Mastername.equals("") || m_Mastername == null )
		{
			m_Mastername = null;
		}
		
		if( m_Status.trim().length() == 0 || m_Status.equals("") || m_Status == null )
		{
			m_Status = null;
		}
		
		
		iType = Integer.parseInt(m_Type);
		
		switch(iType)
		{
			//设置座席状态
			case 1:
				iReturn = m_AppletTreate.SetAgentStatus(id,m_Status);
				break;
	        //接听电话
			case 2:
				iReturn = m_AppletTreate.AnswerCall(id);
				break;
	        //拒接电话
			case 3:
				iReturn = m_AppletTreate.CancelCall(id);
				break;
			//转接电话
			case 4:
				m_RecvXml = m_AppletTreate.TransferCall(60,m_Agent);
				return m_RecvXml;
            //代接电话
			case 5:
				m_RecvXml = m_AppletTreate.ReplaceAnswerCall(60,m_Agent);
				break;
            //呼出电话
			case 6:
				iReturn = m_AppletTreate.OutCall(id,m_Phone);
				break;
            //邀请加入多方通话	
			case 7:
				iReturn = m_AppletTreate.InviteMultiCall(id,m_CallId,m_Agent);
				break;
            //踢出多方通话
			case 8:
				iReturn = m_AppletTreate.KickMultiCall(id,m_CallId,m_Agent);
				break;
            //结束通话
			case 9:
				iReturn = m_AppletTreate.HangupCall(id);
				break;
            //监听
			case 10:
				iReturn = m_AppletTreate.MonitorCall(id,m_Agent,m_Status);
				break;
            //强插
			case 11:
				iReturn = m_AppletTreate.InsertCall(id,m_Agent);
				break;
            //强拆
			case 12:
				iReturn = m_AppletTreate.BreakCall(id,m_Agent);
				break;
            //电话通知消息
			case 13:
				iReturn = m_AppletTreate.IncallNotify(id,m_Phone,m_Address,m_Mastername);
				break;
			case 15:
				iReturn = m_AppletTreate.QueryAgentPhoneNum();
				break;
		    //结束通话
			default:
				break;
		}
		
		if( iReturn != -1 )
		{ 
			m_RecvXml = String.valueOf(iReturn); 
		}
		
		return m_RecvXml;
	}

	/*
	public void start() {
		m_AppletTreate.SetAgentStatus("0","1");
		m_AppletTreate.TransferCall(60,"111");
	}
	*/
	
	/*
	 作者:吴晓彦  创建时间:2008.5.07
	 函数名:RecvMsg
	 函数作用:接收并解析除邀请加入多方通话响应消息外的所有消息
	 函数类型:void
	 输入参数:无 
	 输出参数:将消息类型和状态存入变量Arguments中
	 */
	public void RecvMsg(String arguments[])
	{
	
		try
		{
			JSObject win = JSObject.getWindow(this);
			win.call("RecvMsg", arguments);
		}
		catch(Exception e)
		{
			e.printStackTrace();
		}
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -