Administrator
2024-07-16 ee711d38f66222915bc81332c98af677fa5cd96c
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkPreGenObjs.java
@@ -20,8 +20,12 @@
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()) ;
@@ -36,6 +40,19 @@
   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) ;
@@ -53,8 +70,7 @@
            }
         }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实体),都要进行下步工作,记录其上报的一些数据,当绑定控制器后,数据自动有了归属