/*
|
package com.shlanbao.tzsc.data.webservice.server.impl;
|
|
import java.util.concurrent.ExecutorService;
|
import java.util.concurrent.Executors;
|
|
import javax.jws.WebService;
|
|
import org.apache.log4j.Logger;
|
import org.dom4j.Document;
|
import org.dom4j.DocumentHelper;
|
|
import com.shlanbao.tzsc.base.interceptor.ParsingXmlDataInterceptor;
|
import com.shlanbao.tzsc.base.interceptor.WorkOrderStatChangeInterceptor;
|
import com.shlanbao.tzsc.data.webservice.client.SendMessageClient;
|
|
@WebService
|
public class WctWebServiceIpml implements WctWebServiceI{
|
protected Logger log = Logger.getLogger(this.getClass());
|
//使用线程池处理消息
|
private static ExecutorService cachedThreadPool = Executors.newCachedThreadPool();
|
|
*/
|
/**
|
* wct向PMs发送设备实时数据
|
*//*
|
|
@Override
|
public String WCTSendEqpRealTimeData(String strXml) {
|
pmsDataReceive("WCTSendEqpRealTimeData",strXml);
|
return null;
|
}
|
|
|
*/
|
/**
|
* 接收WCT工单状态信号,反馈MES
|
*//*
|
|
@Override
|
public String WCTSendOrderStatusChanges(String strXml) {
|
pmsDataReceive("WCTSendOrderStatusChanges",strXml);
|
return null;
|
}
|
|
*/
|
/**
|
* 接收WCT维修请求
|
* *//*
|
|
@Override
|
public String WCTSendEqpRequestRecord(String strXml, String method) {
|
try {
|
if("DASSendEquipmentFault".equals(method)){//DASSendEquipmentFault
|
SendMessageClient.SendMsgToFullDetail(strXml);
|
ParsingXmlDataInterceptor.getInstance().addLog(true,"维修呼叫(请求)", 1, strXml);
|
}else if("DASSendEquipmentRepairRecord".equals(method)){
|
SendMessageClient.SendMsgToFullDetail(strXml);
|
ParsingXmlDataInterceptor.getInstance().addLog(true,"故障维修呼叫记录(反馈)", 1, strXml);
|
}else if("DASSendEquipmentWorkOrderResult".equals(method)){
|
SendMessageClient.SendMsgToFullDetail(strXml);
|
ParsingXmlDataInterceptor.getInstance().addLog(true,"设备保养记录(反馈)", 1, strXml);
|
}
|
} catch (Exception e) {
|
ParsingXmlDataInterceptor.getInstance().addLog(true,"维修呼叫(请求)", 0, strXml);
|
log.error("WCT向PMS发送维修工单请求异常!!!!"+e.getMessage());
|
}
|
return null;
|
}
|
|
//线程处理webService信息
|
public String pmsDataReceive(String type,String str) {
|
str=str.trim();//去除字符串两边空格
|
Document doc=null;
|
//XML空判断
|
if("".equals(str)){return "ERROR:数据异常..."+type+str;}
|
//将xml字符串转换成document
|
try {
|
doc=DocumentHelper.parseText(str);
|
} catch (Exception e) {
|
ParsingXmlDataInterceptor.getInstance().addLog(false,"WCT发送来的XML字符串转换Document对象异常!请检查XML数据格式是否规范",0,str,e.getMessage());
|
System.out.println("ERROR:XML字符串转换Document对象异常..."+str);
|
e.printStackTrace();
|
}
|
//线程处理
|
final Document fdoc=doc;
|
final String ftype=type;
|
final String fstr=str;
|
cachedThreadPool.execute(new Runnable() {
|
public void run() {
|
if("WCTSendEqpRealTimeData".equals(ftype)){
|
//WCT向pms发送设备实时数据
|
ParsingXmlDataInterceptor.getInstance().alalyWCTSendEqpRealTimeData(ftype,fstr,fdoc);
|
}else if("WCTSendOrderStatusChanges".equals(ftype)){
|
//WCT向pms发送工单状态变化信息(自动换工单或手动换牌时触发)
|
ParsingXmlDataInterceptor.getInstance().alalyWCTSendOrderStatusChange(ftype,fstr,fdoc);
|
}
|
}
|
});
|
return "";
|
}
|
|
|
|
}
|
*/
|