| | |
| | | |
| | | import java.text.ParseException; |
| | | import java.util.Date; |
| | | import java.util.HashMap; |
| | | import java.util.Map; |
| | | |
| | | public class TkPreGenObjs extends TaskSurpport { |
| | | |
| | | private static final Map<String, Boolean> onceUpDataRtus = new HashMap<>(); |
| | | |
| | | private static final Logger log = LogManager.getLogger(TkPreGenObjs.class.getName()) ; |
| | | |
| | |
| | | public void execute(Object data) throws ParseException { |
| | | Data d = (Data)data ; |
| | | String rtuAddr = d.getRtuAddr() ;//TkRtuData里判断了rtuAddr为空 |
| | | if(d.subData != null && d.subData instanceof DataV1_0_1){ |
| | | DataV1_0_1 dataV1_0_1 = (DataV1_0_1)d.subData ; |
| | | if(dataV1_0_1.subData != null && dataV1_0_1.subData instanceof DataCd02Vo){ |
| | | //过滤掉心跳数据 |
| | | if(onceUpDataRtus.containsKey(rtuAddr)){ |
| | | return ; |
| | | } |
| | | } |
| | | } |
| | | if(!onceUpDataRtus.containsKey(rtuAddr)){ |
| | | onceUpDataRtus.put(rtuAddr, true) ; |
| | | } |
| | | |
| | | DbSv sv = (DbSv)SpringContextUtil.getBean(DbSv.class) ; |
| | | if(sv != null){ |
| | | PrController controller = sv.getControllersByRtuAddrAndIntakeNotNull(rtuAddr) ; |
| | |
| | | } |
| | | }else{ |
| | | if(d.subData != null && d.subData instanceof DataV1_0_1){ |
| | | DataV1_0_1 d1 = (DataV1_0_1)d.subData ; |
| | | clientVo = this.getClient(sv, d1); |
| | | clientVo = this.getClient(sv, (DataV1_0_1)d.subData); |
| | | } |
| | | } |
| | | //不论是否为流浪控制器(RTU实体),都要进行下步工作,记录其上报的一些数据,当绑定控制器后,数据自动有了归属 |