From 9c092f52ad5c6c2c3b23fcfa511362bc71c6f96d Mon Sep 17 00:00:00 2001
From: zhangnaisong <2434969829@qq.com>
Date: 星期二, 30 七月 2024 11:12:59 +0800
Subject: [PATCH] 电磁锁概要修改提交

---
 ard-work/src/main/resources/mapper/sy/ArdTankLockMapper.xml                  |   31 +++++++++++++++++++------------
 ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdTankLockServiceImpl.java |    3 +++
 2 files changed, 22 insertions(+), 12 deletions(-)

diff --git a/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdTankLockServiceImpl.java b/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdTankLockServiceImpl.java
index a134e0c..1d55048 100644
--- a/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdTankLockServiceImpl.java
+++ b/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdTankLockServiceImpl.java
@@ -107,6 +107,7 @@
             ardTankLock.setImgPositionLeft(map.get("imgPositionLeft"));
             ardTankLock.setCarId(carId);
             ardTankLock.setEnable(map.get("enable"));
+            ardTankLock.setRestartState(map.get("restartState"));
             ardTankLocks.add(ardTankLock);
         }
         return ardTankLockMapper.insertArdTankLocks(ardTankLocks);
@@ -346,6 +347,7 @@
                 ardTankLock.setImgPositionLeft((String) map.get("imgPositionLeft"));
                 ardTankLock.setCarId((String) map.get("carId"));
                 ardTankLock.setEnable((String) map.get("enable"));
+                ardTankLock.setRestartState((String) map.get("restartState"));
                 result = result + ardTankLockMapper.updateArdTankLock(ardTankLock);
             }else{//鏃犱富閿紝鍋氭柊澧炴搷浣�
                 ArdTankLock ardTankLock = new ArdTankLock();
@@ -355,6 +357,7 @@
                 ardTankLock.setImgPositionTop((String) map.get("imgPositionTop"));
                 ardTankLock.setImgPositionLeft((String) map.get("imgPositionLeft"));
                 ardTankLock.setCarId(carId);
+                ardTankLock.setRestartState((String) map.get("restartState"));
                 ardTankLock.setEnable((String) map.get("enable"));
                 ardTankLocks.add(ardTankLock);
             }
diff --git a/ard-work/src/main/resources/mapper/sy/ArdTankLockMapper.xml b/ard-work/src/main/resources/mapper/sy/ArdTankLockMapper.xml
index 30b16ed..c8af3b5 100644
--- a/ard-work/src/main/resources/mapper/sy/ArdTankLockMapper.xml
+++ b/ard-work/src/main/resources/mapper/sy/ArdTankLockMapper.xml
@@ -155,22 +155,29 @@
     </insert>
 
     <select id="getLockByCarId" resultMap="ArdTankLockWithStateResult" parameterType="java.lang.String">
-        select atl.id,atl.lock_num,atl.lock_name,atl.img_position_top,
+        select t.id,t.lock_num,t.lock_name,t.img_position_top,t.img_position_left,
+        t.car_id,t.enable,t.restart_state,t.online_time,t.sid,t.lock_id,t.slock_num,
+        t.lock_state,t.lock_position_state,t.lock_shell_state,t.srestart_state,
+        t.batter_voltage,t.power_voltage,t.upload_time,t.unique_mark,
+        t.lock_state_mark from (select atl.id,atl.lock_num,atl.lock_name,atl.img_position_top,
         atl.img_position_left,atl.car_id,atl.enable,atl.restart_state,
-        atl.online_time,atls.id as sid,atls.lock_id,atls.lock_num as slock_num,
-        atls.lock_state,atls.lock_position_state,atls.lock_shell_state,
-        atls.restart_state as srestart_state,atls.batter_voltage,
-        atls.power_voltage,atls.upload_time,atls.unique_mark,
+        coalesce(atl.online_time,'') as online_time,coalesce(atls.id,'') as sid,
+        coalesce(atls.lock_id,'') as lock_id,coalesce(atls.lock_num,'') as slock_num,
+        coalesce(atls.lock_state,'') as lock_state,coalesce(atls.lock_position_state,'') as lock_position_state,
+        coalesce(atls.lock_shell_state,'') as lock_shell_state,coalesce(atls.restart_state,'') as srestart_state,
+        coalesce(atls.batter_voltage,'') as batter_voltage,coalesce(atls.power_voltage,'') as power_voltage,
+        coalesce(atls.upload_time,'') as upload_time,coalesce(atls.unique_mark,'') as unique_mark,
         case atls.lock_state
-        when '鍏抽攣鐘舵��' then false
-        when '寮傚父鐘舵��' then false
-        when '鍔ㄤ綔鐘舵��' then false
-        when '寮�閿佺姸鎬�' then true
-        end as lock_state_mark
+          when '鍏抽攣鐘舵��' then false
+          when '寮傚父鐘舵��' then false
+          when '鍔ㄤ綔鐘舵��' then false
+          when '寮�閿佺姸鎬�' then true
+          else false
+          end as lock_state_mark,
+        rank() over(partition by atls.lock_num order by atls.upload_time desc,atl.lock_num) rn
         from ard_tank_lock atl
         left join ard_tank_lock_state atls on atl."id" = atls.lock_id
-        where car_id = #{carId} order by atls.upload_time desc,atl.lock_num
-        limit 1
+        where car_id = #{carId} order by atls.upload_time desc,atl.lock_num)t where t.rn = 1
     </select>
 
     <delete id="deleteLockByCarId" parameterType="java.lang.String">

--
Gitblit v1.9.3