zhuguifei
2026-03-10 58402bd5e762361363a0f7d7907153c77dbb819f
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
/*
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 "";
    }
 
 
    
}
*/