package com.dy.aceMw.server.rtuData.p206V1_0_0; import com.dy.aceMw.server.rtuData.TaskSurpport; import com.dy.aceMw.server.rtuData.dbSv.RtuSv; import com.dy.common.mw.protocol.Data; import com.dy.common.springUtil.SpringContextUtil; 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()); RtuSv sv = (RtuSv)SpringContextUtil.getBean(RtuSv.class) ; sv.save(d) ; //得到本地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对象"); } */ } }