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对象");
|
}
|
*/
|
}
|
}
|