From 8e944cfabb253fc2556588e308e282586043f7b0 Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期二, 18 十一月 2025 22:09:56 +0800
Subject: [PATCH] 即时消息时间出现负数的问题修改
---
smart-man-boot/src/main/java/com/qianwen/smartman/modules/mdc/service/RealTimeDataService.java | 30 ++++++++++++++++++++++++++----
1 files changed, 26 insertions(+), 4 deletions(-)
diff --git a/smart-man-boot/src/main/java/com/qianwen/smartman/modules/mdc/service/RealTimeDataService.java b/smart-man-boot/src/main/java/com/qianwen/smartman/modules/mdc/service/RealTimeDataService.java
index 1e0e5c0..80d774f 100644
--- a/smart-man-boot/src/main/java/com/qianwen/smartman/modules/mdc/service/RealTimeDataService.java
+++ b/smart-man-boot/src/main/java/com/qianwen/smartman/modules/mdc/service/RealTimeDataService.java
@@ -2,13 +2,16 @@
import java.util.Map;
+import com.qianwen.smartman.modules.mdc.mapper.StateMapper;
+import com.qianwen.smartman.modules.mdc.vo.StateVO;
+import com.qianwen.smartman.modules.mdc.vo.StatusRecordVO;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.alibaba.fastjson.JSONObject;
-import com.qianwen.smartman.modules.cps.message.dto.TelemetryDataResponseDTO;
+import com.qianwen.smartman.modules.smis.message.dto.TelemetryDataResponseDTO;
import com.qianwen.smartman.modules.mdc.dto.ProcessParameterVO;
import com.qianwen.smartman.modules.mdc.mapper.SuperProcessParameterMapper;
@@ -18,6 +21,9 @@
private static final Logger log = LoggerFactory.getLogger(RealTimeDataService.class);
@Autowired
private SuperProcessParameterMapper processParamMapper;
+
+ @Autowired
+ private StateMapper stateMapper;
public final String statusDpName = "DeviceStatus";
/**
@@ -34,10 +40,13 @@
statusJson.put("t", statusDTO.getT());
statusJson.put("v", statusDTO.getV());
+ //瀛樺湪闂锛孌eviceStatus,DeviceStatus_n浼氬嚑涔庡悓鏃惰繃鏉�
long preT = statusDTO.getT();
//鏈�鍚庝竴鏉′笉鍚屽��(v)鐨勬暟鎹�
+
+ /*
ProcessParameterVO diffStatusVO = processParamMapper.lastParameterNotEqValue(workstationId, statusDpName, statusDTO.getV());
-
+
ProcessParameterVO tempStatusVO;
if(diffStatusVO != null) {
tempStatusVO = processParamMapper.firstParameterEqValueGtTime(workstationId, statusDpName, statusDTO.getV(), diffStatusVO.getTime().getTime());
@@ -46,9 +55,22 @@
}
if(tempStatusVO != null) {
preT = tempStatusVO.getTime().getTime();
- }
+ }*/
+ Integer val = Integer.parseInt(statusDTO.getV());
+
+ //StateVO diffStatusVO = stateMapper.lastStateNotEqValue(workstationId,val);
+ StateVO diffStatusVO = stateMapper.lastStateNotEqValueLtTime(workstationId,val,statusDTO.getT());
+ StateVO tempStatusVO;
+ if(diffStatusVO != null) {
+ tempStatusVO = stateMapper.firstStateEqValueGtTime(workstationId, val, diffStatusVO.getTime());
+ }else {
+ tempStatusVO = stateMapper.firstStateEqValue(workstationId, val);
+ }
+ if(tempStatusVO != null) {
+ preT = tempStatusVO.getTime();
+ }
statusJson.put("preT", preT);
-
+ //statusJson.put("t", System.currentTimeMillis());//鏃堕棿鏀逛负褰撳墠)
map.put(statusDpName, statusJson);//瑕嗙洊鍘熸潵鐨凞eviceStatus
}
}
--
Gitblit v1.9.3