From be69901c0ad8ffacaf5b948ccca11b350a9d11c5 Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期三, 20 八月 2025 10:44:20 +0800
Subject: [PATCH] 修改bug
---
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/pSdV1/TkPreGenObjs4ManureSdV1.java | 25 ++++++++++++++++++-------
1 files changed, 18 insertions(+), 7 deletions(-)
diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/pSdV1/TkPreGenObjs4ManureSdV1.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/pSdV1/TkPreGenObjs4ManureSdV1.java
index 28ddede..b6f269c 100644
--- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/pSdV1/TkPreGenObjs4ManureSdV1.java
+++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/pSdV1/TkPreGenObjs4ManureSdV1.java
@@ -43,27 +43,38 @@
ManureVo lastVo = lastUpManureData.get(msg.deviceId + nowVo.no) ;
Long now = System.currentTimeMillis() ;
if(lastVo != null && nowVo.stateIsChanged(lastVo)){
- //鐘舵�佹湁鍙樺寲
- this.deal(data, msg, nowVo, now);
+ //鐘舵�佹湁鍙樺寲锛屾渶鏂版暟鎹強鍘嗗彶鏁版嵁閮借瀛樺偍
+ this.deal(data, msg, nowVo, now, false);
}else{
//鐘舵�佹棤鍙樺寲
Long lastAt = dealDataAtDateTime.get(msg.deviceId + nowVo.no);
- if(lastAt == null || ((now - lastAt) >= ServerProperties.mqttAcceptDataMinInterval)){
- //瓒呰繃鏈�灏忔椂闂撮棿闅�
- this.deal(data, msg, nowVo, now);
+ if(lastAt == null || ((now - lastAt) >= ServerProperties.acceptManureDataMinInterval)){
+ //瓒呰繃鏈�灏忔椂闂撮棿闅旓紝 鏈�鏂版暟鎹強鍘嗗彶鏁版嵁閮借瀛樺偍
+ this.deal(data, msg, nowVo, now, false);
+ }else{
+ //鏈秴杩囨渶灏忔椂闂撮棿闅旓紝 鏈�鏂版暟鎹瀛樺偍锛屼互澶囧鎴风鍙婃椂鏌ョ湅鐘舵��
+ this.deal(data, msg, nowVo, now, true);
}
}
lastUpManureData.put(msg.deviceId + nowVo.no, nowVo);
+
+ if(msg.commandId != null && !msg.commandId.equals("")){
+ this.toNextOneTask(data, TkFindComResponseSdV1.taskId);
+ }
}
}
- private void deal(Object data, MqttSubMsg msg, ManureVo stVo, Long now){
+ private void deal(Object data, MqttSubMsg msg, ManureVo stVo, Long now, boolean dealOnlyLast){
dealDataAtDateTime.put(msg.deviceId + stVo.no, now);
DbSv sv = SpringContextUtil.getBean(DbSv.class) ;
if(sv != null){
PrStManure stPo = sv.getStManureByFBoxIdAndNo(msg.deviceId, stVo.no) ;
if(stPo != null){
this.taskResult = new Object[]{sv, stPo} ;
- this.toNextTasks(data);
+ if(dealOnlyLast){
+ this.toNextOneTask(data, TkDealManureLastSdV1.taskId);
+ }else{
+ this.toNextOneTask(data, TkDealManureSdV1.taskId);
+ }
}
}else{
log.error("涓ラ噸閿欒锛屾湭鑳藉緱鍒癉bSv瀵硅薄");
--
Gitblit v1.8.0