liurunyu
2024-07-18 18f9dc6d0f15cad4a74e68fcf87b1a9aa83b5e66
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
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
package com.dy.rtuMw.server.rtuData.p206V1_0_0;
 
import com.dy.common.mw.protocol.Data;
import com.dy.common.mw.protocol.p206V1_0_0.DataV1_0_1;
import com.dy.common.mw.protocol.p206V1_0_0.upVos.*;
import com.dy.common.util.DateTime;
import com.dy.pipIrrGlobal.pojoRm.RmCommandHistory;
import com.dy.rtuMw.server.rtuData.TaskSurpport;
import com.dy.rtuMw.server.rtuData.dbSv.DbSv;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
 
/**
 * @Author liurunyu
 * @Date 2024/4/2 13:45
 * @LastEditTime 2024/4/2 13:45
 * @Description 处理命令响应上报
 */
public class TkRtuDealCommandResponse  extends TaskSurpport {
 
    private static final Logger log = LogManager.getLogger(TkRtuDealCommandResponse.class.getName()) ;
 
    //类ID,一定与Tree.xml配置文件中配置一致
    public static final String taskId = "TkRtuDealCommandResponse" ;
 
    /**
     * 执行节点任务:处理命令响应上报
     * @param data 需要处理的数据
     */
    @Override
    public void execute(Object data) {
        Data d = (Data) data;
        Object subD = d.getSubData();
        if (subD != null) {
            DataV1_0_1 dV1_0_1 = (DataV1_0_1) subD;
            if (dV1_0_1 != null && dV1_0_1.subData != null) {
                Object[] objs = this.getTaskResults(TkPreGenObjs.taskId) ;
                DbSv sv = (DbSv)objs[0] ;
                //PrController controller = (PrController)objs[1] ;
                try{
                    RmCommandHistory po = sv.getCommandLog(d.commandId) ;
                    if(po != null){
                        po = this.updateCommandLogPo(po, d.code, dV1_0_1, dV1_0_1.subData) ;
                        sv.updateCommandLog(po);
                    }else{
                        log.error("未得到命令日志(" + d.getCommandId() + ")");
                    }
                }catch (Exception e){
                    log.error("保存控制器自报数据时发生异常", e);
                }
            }
        }
    }
 
    public RmCommandHistory updateCommandLogPo(RmCommandHistory po, String code, DataV1_0_1 dV1_0_1, Object obj) throws Exception{
        po.setResult((byte)1);
        po.setResultTime(DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dV1_0_1.dt)) ;
        if(obj instanceof DataCd97Vo){
            DataCd97Vo vo = (DataCd97Vo)obj ;
            po.setResultText(vo.comLog());
        }else if(obj instanceof DataCd98Vo){
            DataCd98Vo vo = (DataCd98Vo)obj ;
            po.setResultText(vo.comLog());
        }else if(obj instanceof DataCd92Vo){
            DataCd92Vo vo = (DataCd92Vo)obj ;
            po.setResultText(vo.comLog());
        }else if(obj instanceof DataCd93Vo){
            DataCd93Vo vo = (DataCd93Vo)obj ;
            po.setResultText(vo.comLog());
        }else if(obj instanceof DataCd3AAnd6AVo){
            DataCd3AAnd6AVo vo = (DataCd3AAnd6AVo)obj ;
            po.setResultText(vo.comLog(code));
        }else if(obj instanceof DataCd3BAnd6BVo){
            DataCd3BAnd6BVo vo = (DataCd3BAnd6BVo)obj ;
            po.setResultText(vo.comLog(code));
        }else if(obj instanceof DataCd3BAnd6BVo){
            DataCd3CAnd65Vo vo = (DataCd3CAnd65Vo)obj ;
            po.setResultText(vo.comLog(code));
        }else if(obj instanceof DataCd3DVo){
            DataCd3DVo vo = (DataCd3DVo)obj ;
            po.setResultText(vo.comLog());
        }else if(obj instanceof DataCd3EVo){
            DataCd3EVo vo = (DataCd3EVo)obj ;
            po.setResultText(vo.comLog());
        }else if(obj instanceof DataCd5EVo){
            DataCd5EVo vo = (DataCd5EVo)obj ;
            po.setResultText(vo.comLog());
        }else if(obj instanceof DataCd6CVo){
            DataCd6CVo vo = (DataCd6CVo)obj ;
            po.setResultText(vo.comLog());
        }else if(obj instanceof DataCd10Vo){
            DataCd10Vo vo = (DataCd10Vo)obj ;
            po.setResultText(vo.comLog());
        }else if(obj instanceof DataCd21Vo){
            DataCd21Vo vo = (DataCd21Vo)obj ;
            po.setResultText(vo.comLog());
        }else if(obj instanceof DataCd36Vo){
            DataCd36Vo vo = (DataCd36Vo)obj ;
            po.setResultText(vo.comLog());
        }else if(obj instanceof DataCd37And67Vo){
            DataCd37And67Vo vo = (DataCd37And67Vo)obj ;
            po.setResultText(vo.comLog(code));
        }else if(obj instanceof DataCd38And68Vo){
            DataCd38And68Vo vo = (DataCd38And68Vo)obj ;
            po.setResultText(vo.comLog(code));
        }else if(obj instanceof DataCd39And69Vo){
            DataCd39And69Vo vo = (DataCd39And69Vo)obj ;
            po.setResultText(vo.comLog(code));
        }else if(obj instanceof DataCd51Vo){
            DataCd51Vo vo = (DataCd51Vo)obj ;
            po.setResultText(vo.comLog());
        }else if(obj instanceof DataCd66Vo){
            DataCd66Vo vo = (DataCd66Vo)obj ;
            po.setResultText(vo.comLog());
        }else if(obj instanceof DataCd71Vo){
            DataCd71Vo vo = (DataCd71Vo)obj ;
            po.setResultText(vo.comLog());
        }else if(obj instanceof DataCd99Vo){
            DataCd99Vo vo = (DataCd99Vo)obj ;
            po.setResultText(vo.comLog());
        }else if(obj instanceof DataCdA0Vo){
            DataCdA0Vo vo = (DataCdA0Vo)obj ;
            po.setResultText(vo.comLog());
        }
        return po ;
    }
 
}