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/mapper/StateMapper.java                   |   10 +++++++++-
 /dev/null                                                                                               |   16 ----------------
 smart-man-boot/src/main/resources/com/qianwen/smartman/modules/smis/mapper/WorkstationMapper.xml        |    1 +
 smart-man-boot/src/main/java/com/qianwen/smartman/modules/smis/service/impl/WorkstationServiceImpl.java |    5 ++---
 smart-man-boot/src/main/resources/application-dev.yml                                                   |    7 ++++---
 smart-man-boot/src/main/java/com/qianwen/smartman/modules/mdc/service/RealTimeDataService.java          |    3 ++-
 smart-man-boot/src/main/resources/application-test.yml                                                  |    2 +-
 smart-man-boot/src/main/resources/com/qianwen/smartman/modules/mdc/mapper/StateMapper.xml               |    4 ++--
 8 files changed, 21 insertions(+), 27 deletions(-)

diff --git a/smart-man-boot/src/main/java/com/qianwen/smartman/modules/mdc/mapper/StateMapper.java b/smart-man-boot/src/main/java/com/qianwen/smartman/modules/mdc/mapper/StateMapper.java
index 2a816a2..a519c79 100644
--- a/smart-man-boot/src/main/java/com/qianwen/smartman/modules/mdc/mapper/StateMapper.java
+++ b/smart-man-boot/src/main/java/com/qianwen/smartman/modules/mdc/mapper/StateMapper.java
@@ -14,10 +14,18 @@
      * 鏈�鍚庝竴涓笉鏄寚瀹氬�肩殑鏁版嵁
      * @param workstationId 宸ヤ綅id
      * @param value 鎸囧畾鍊�
+     * @param beforeTime 鍦ㄦ寚瀹氭椂闂翠箣鍓�
      * @return 鐘舵�佽褰�
      */
-    StateVO lastStateNotEqValue(@Param("workstationId")long workstationId, @Param("value")Integer value);
+    StateVO lastStateNotEqValueLtTime(@Param("workstationId")long workstationId, @Param("value")Integer value,@Param("beforeTime")long beforeTime);
 
+    /**
+     * 鏌ヨ澶т簬鎸囧畾鏃堕棿绗竴涓姸鎬佸��
+     * @param workstationId 宸ヤ綅id
+     * @param value 鎸囧畾鍊�
+     * @param time 鏃堕棿鎴�(澶т簬璇ユ椂闂寸殑鏁版嵁)
+     * @return 鐘舵�佹暟鎹璞�
+     */
     StateVO firstStateEqValueGtTime(@Param("workstationId")long workstationId, @Param("value")Integer value, @Param("time")Long time);
 
     StateVO firstStateEqValue(@Param("workstationId")long workstationId, @Param("value")Integer value);
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 7fafbc4..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
@@ -58,7 +58,8 @@
         	}*/
 			Integer val = Integer.parseInt(statusDTO.getV());
 
-			StateVO diffStatusVO = stateMapper.lastStateNotEqValue(workstationId,val);
+			//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());
diff --git a/smart-man-boot/src/main/java/com/qianwen/smartman/modules/smis/service/impl/WorkstationServiceImpl.java b/smart-man-boot/src/main/java/com/qianwen/smartman/modules/smis/service/impl/WorkstationServiceImpl.java
index 9709d9e..3977438 100644
--- a/smart-man-boot/src/main/java/com/qianwen/smartman/modules/smis/service/impl/WorkstationServiceImpl.java
+++ b/smart-man-boot/src/main/java/com/qianwen/smartman/modules/smis/service/impl/WorkstationServiceImpl.java
@@ -605,7 +605,7 @@
     @Override 
     public IPage<WorkstationRealTimeStatusVO> getRealTimeStatus(WorkstationRealTimeStatusDTO dto, Query query) {
         List<String> workStationGroupIdList = dto.getWorkStationGroupIdList();
-        if (workStationGroupIdList.size() == 1) {
+        if (workStationGroupIdList !=null && workStationGroupIdList.size() == 1) {
             List<String> workStationGroupIdByParentList = getCommonGroupIds(workStationGroupIdList, new ArrayList<>()).stream().map(item -> {
                 return String.valueOf(item.getId());
             }).collect(Collectors.toList());
@@ -673,7 +673,7 @@
 
     @Override 
     public IPage<Workstation> listWorkStationOnShiftIndex(List<String> ids, LocalDate localDate, Query query, Integer shift, Integer type) {
-        return ((WorkstationMapper) this.baseMapper).listWorkStationOnShiftIndex(Condition.getPage(query), Integer.valueOf(localDate.getYear()), DateUtil.formatDate(localDate), shift, type, ids);
+        return this.baseMapper.listWorkStationOnShiftIndex(Condition.getPage(query), localDate.getYear(), DateUtil.formatDate(localDate), shift, type, ids);
     }
 
     @Override 
@@ -1202,7 +1202,6 @@
             if (Func.isEmpty(i.getMachineId())) {
                 filter = false;
             }
-
             List<RealTimeStatusVO> properties = realTimePropertiesMap.get(i.getId());
             if (Func.isNotEmpty(deviceStatus)) {
                 if (Func.isEmpty(properties)) {
diff --git a/smart-man-boot/src/main/resources/application-dev.yml b/smart-man-boot/src/main/resources/application-dev.yml
index 9da94b4..b7fd5d6 100644
--- a/smart-man-boot/src/main/resources/application-dev.yml
+++ b/smart-man-boot/src/main/resources/application-dev.yml
@@ -1,14 +1,15 @@
 # redis
 redis:
-  host: 120.46.212.231
+  host: localhost
   port: 6379
-  password: Kknd_1234
+  password: root
   database: 2
   ssl: false
 # database config
 datasource:
   type: mysql
-  url: 120.46.212.231
+  #url: 120.46.212.231
+  url: localhost
   port: 3306
   database: smartman
   username: qwmdc
diff --git a/smart-man-boot/src/main/resources/application-test.yml b/smart-man-boot/src/main/resources/application-test.yml
index a92d39f..5e16784 100644
--- a/smart-man-boot/src/main/resources/application-test.yml
+++ b/smart-man-boot/src/main/resources/application-test.yml
@@ -3,7 +3,7 @@
   host: 120.46.212.231
   port: 6379
   password: root
-  database: 11
+  database: 2
   ssl: false
 # database config
 datasource:
diff --git a/smart-man-boot/src/main/resources/com/qianwen/smartman/modules/mdc/mapper/StateMapper.xml b/smart-man-boot/src/main/resources/com/qianwen/smartman/modules/mdc/mapper/StateMapper.xml
index 6cb7a4d..2cb2583 100644
--- a/smart-man-boot/src/main/resources/com/qianwen/smartman/modules/mdc/mapper/StateMapper.xml
+++ b/smart-man-boot/src/main/resources/com/qianwen/smartman/modules/mdc/mapper/StateMapper.xml
@@ -26,8 +26,8 @@
     <sql id="all_columns">
         workstation_id,value_collect,calendar_code,factory_year,factory_month,factory_date,factory_week,shift_index,shift_time_type,wcs,rps,is_fix_point,is_sync,is_plan,feedback_point_type,feedback_id,is_deleted,employee_id
     </sql>
-    <select id="lastStateNotEqValue" resultMap="voResultMap">
-        select <include refid="all_columns" /> from root.f2.state_${workstationId} where is_fix_point=false and is_deleted=false and wcs &lt;&gt;#{value} and wcs &gt; 0 order by time desc limit 1 align by device
+    <select id="lastStateNotEqValueLtTime" resultMap="voResultMap">
+        select <include refid="all_columns" /> from root.f2.state_${workstationId} where is_fix_point=false and is_deleted=false and wcs &lt;&gt;#{value} and wcs &gt; 0 and time &lt; #{beforeTime} order by time desc limit 1 align by device
     </select>
 
     <select id="firstStateEqValueGtTime" resultMap="voResultMap">
diff --git a/smart-man-boot/src/main/resources/com/qianwen/smartman/modules/smis/mapper/WorkstationMapper.xml b/smart-man-boot/src/main/resources/com/qianwen/smartman/modules/smis/mapper/WorkstationMapper.xml
index 14721f4..b541274 100644
--- a/smart-man-boot/src/main/resources/com/qianwen/smartman/modules/smis/mapper/WorkstationMapper.xml
+++ b/smart-man-boot/src/main/resources/com/qianwen/smartman/modules/smis/mapper/WorkstationMapper.xml
@@ -139,6 +139,7 @@
         WHERE w.is_deleted = 0
         AND pc.is_deleted = 0
         AND pdc.is_deleted = 0
+
         AND w.type = #{type}
         <if test="ids != null and ids.size() > 0">
             AND w.id IN
diff --git a/smart-man-boot/src/main/resources/rebel.xml b/smart-man-boot/src/main/resources/rebel.xml
deleted file mode 100644
index 9476de1..0000000
--- a/smart-man-boot/src/main/resources/rebel.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-  This is the JRebel configuration file. It maps the running application to your IDE workspace, enabling JRebel reloading for this project.
-  Refer to https://manuals.jrebel.com/jrebel/standalone/config.html for more information.
--->
-<application generated-by="intellij" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.zeroturnaround.com" xsi:schemaLocation="http://www.zeroturnaround.com http://update.zeroturnaround.com/jrebel/rebel-2_3.xsd">
-
-	<id>smart-man-boot</id>
-
-	<classpath>
-		<dir name="D:/yangys/搴嗗畨浜屾湡/src/qasmart/smart-man-boot/target/classes">
-		</dir>
-	</classpath>
-
-</application>

--
Gitblit v1.9.3