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
package com.dy.aceMw.server.rtuData.p206V1_0_0;
 
import com.dy.aceMw.server.rtuData.TaskSurpport;
import com.dy.common.mw.protocol.Data;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
 
public class TkPreGenObjs extends TaskSurpport {
    
    private static final Logger log = LogManager.getLogger(TkPreGenObjs.class.getName()) ;
 
    //类ID,一定与Tree.xml配置文件中配置一致
    public static final String taskId = "TkPreGenObjs" ;
 
    /**
     * 执行节点任务
     * @param data 需要处理的数据
     */
    @Override
    public void execute(Object data) {
        Data d = (Data)data ;
        String rtuAddr = d.getRtuAddr() ;
        log.info("RTU" + rtuAddr + "数据到此,还未实现处理:" + data.toString());
        //得到本地RTU 数据,以备后面节点应用
        /*
        BuziInterface baseBusi = BuziGeter.getBaseBusi() ;
        BuziInterface orgBusi = null ;
        SyRtu nbRtu = null ;
        SyRtuTramp rtuTramp = null ;
        if(baseBusi != null){
            nbRtu = DbSyBuzi.getRtu(baseBusi, imei) ;
            if(nbRtu != null){
                //数据库中查询到NB产品(RTU实体)
                if(nbRtu.orgTag != null && !nbRtu.orgTag.trim().equals("")){
                    orgBusi = BuziGeter.getBusi(nbRtu.orgTag) ;
                    if(orgBusi == null){
                        log.error("严重错误,未能得到标签为" + nbRtu.orgTag + "的供水机构数据库业务Busi");
                    }else{
                        BaMeter meter = DbOrgBuzi.getMeterByImeiAndNo(orgBusi, imei, rtuAddr) ;
                        //可能未查询到meter,即仍是流浪者RTU,但仍要后续处理:(1)、仍能识别出流浪者RTU,(2)、仍要记录其上报数据
                        if(meter != null){
                            String protocol = d.getProtocol() ;
                            if(protocol != null){
                                protocol = protocol.trim();
                                if(!protocol.equals("")){
                                    if(meter.protocol == null 
                                            || meter.protocol.trim().equals("")
                                            || !meter.protocol.trim().equals(protocol)){
                                        //需要更新协议名称
                                        DbOrgBuzi.updateMeter4Protocol(orgBusi, meter.id, protocol);
                                    }
                                }
                            }
                        }
                        this.taskResult = new Object[]{baseBusi, orgBusi, nbRtu, null, meter} ;    
                        this.toNextTasks(data);
                    }
                }else{
                    //NB产品(RTU实体)未分配给具体的供水机构
                    //流浪者RTU
                    rtuTramp = DbSyBuzi.getSyRtuTramp(baseBusi, imei, rtuAddr) ;
                    if(rtuTramp == null){
                        rtuTramp = new SyRtuTramp(imei, rtuAddr) ; 
                    }
                    this.taskResult = new Object[]{baseBusi, orgBusi, nbRtu, rtuTramp, null} ;
                    this.toNextOneTask(data, TkDealRtuTramp.taskId);
                }
            }else{
                //数据库中未查询到NB产品(RTU实体)
                //流浪者RTU
                rtuTramp = DbSyBuzi.getSyRtuTramp(baseBusi, imei, rtuAddr) ;
                if(rtuTramp == null){
                    rtuTramp = new SyRtuTramp(imei, rtuAddr) ; 
                }
                this.taskResult = new Object[]{baseBusi, orgBusi, nbRtu, rtuTramp, null} ;
                this.toNextOneTask(data, TkDealRtuTramp.taskId);
            }
        }else{
            log.error("严重错误,未能得到BaseBusi对象");
        }
        */
    }
}