From 77c5a466bac023b91e2d59fb22014c3035bd7aeb Mon Sep 17 00:00:00 2001
From: zhangnaisong <2434969829@qq.com>
Date: 星期六, 06 七月 2024 11:50:53 +0800
Subject: [PATCH] 电磁锁挂接电子围栏修改提交

---
 ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdTankWallLockServiceImpl.java |    8 ++++++++
 ard-work/src/main/resources/mapper/sy/ArdTankWallLockMapper.xml                  |    9 +++++++++
 ard-work/src/main/resources/mapper/sy/ArdTankWallMapper.xml                      |    2 +-
 ard-work/src/main/java/com/ruoyi/sy/mapper/ArdTankWallLockMapper.java            |    3 +++
 4 files changed, 21 insertions(+), 1 deletions(-)

diff --git a/ard-work/src/main/java/com/ruoyi/sy/mapper/ArdTankWallLockMapper.java b/ard-work/src/main/java/com/ruoyi/sy/mapper/ArdTankWallLockMapper.java
index 3aa9cdf..e103c21 100644
--- a/ard-work/src/main/java/com/ruoyi/sy/mapper/ArdTankWallLockMapper.java
+++ b/ard-work/src/main/java/com/ruoyi/sy/mapper/ArdTankWallLockMapper.java
@@ -2,6 +2,7 @@
 
 import java.util.List;
 import com.ruoyi.sy.domain.ArdTankWallLock;
+import org.apache.ibatis.annotations.Param;
 
 /**
  * 鐢靛瓙鍥存爮鐢电閿丮apper鎺ュ彛
@@ -64,4 +65,6 @@
     public int deleteArdTankWallLockByWallId(String wallId);
 
     public int updateArdTankWallLockByWallIdAndLockId(ArdTankWallLock ardTankWallLock);
+
+    public int deleteArdTankWallLockByLockIdAndOtherIds(@Param("lockId")String lockId,@Param("idList")List<String> idList);
 }
diff --git a/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdTankWallLockServiceImpl.java b/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdTankWallLockServiceImpl.java
index 4bee365..0f41760 100644
--- a/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdTankWallLockServiceImpl.java
+++ b/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdTankWallLockServiceImpl.java
@@ -99,6 +99,7 @@
         String id = (String) para.get("id");//閿佷富閿�
         List<Map<String,String>> tankWallLockList = (List<Map<String, String>>) para.get("tankWallLockList");
         //List<ArdTankWallLock> tankWallLocks = new ArrayList();
+        List<String> idList = new ArrayList();//瀛樻斁鏂板鍜屼慨鏀圭殑涓棿琛ㄤ富閿�
         int result = 0;
         for(Map<String,String> map : tankWallLockList){
             ArdTankWallLock ardTankWallLock = new ArdTankWallLock();
@@ -108,12 +109,19 @@
             if(ardTankWallLockList.size() != 0){
                 ardTankWallLock.setProcessType(map.get("processType"));
                 result = result + ardTankWallLockMapper.updateArdTankWallLockByWallIdAndLockId(ardTankWallLock);
+                for(ArdTankWallLock ardTankWallLockOld : ardTankWallLockList){//闇�瑕佷慨鏀圭殑涓婚敭
+                    idList.add(ardTankWallLockOld.getId());
+                }
             }else{
                 ardTankWallLock.setProcessType(map.get("processType"));
                 ardTankWallLock.setId(IdUtils.simpleUUID());
                 result = result + ardTankWallLockMapper.insertArdTankWallLock(ardTankWallLock);
+                idList.add(ardTankWallLock.getId());//鏂板鐨勪富閿�
             }
         }
+        if(!idList.isEmpty()){//鍒ゆ柇鏄惁鏈夐渶瑕佸垹闄ょ殑鏁版嵁涓婚敭
+            result = result + ardTankWallLockMapper.deleteArdTankWallLockByLockIdAndOtherIds(id,idList);
+        }
         return result;
     }
 
diff --git a/ard-work/src/main/resources/mapper/sy/ArdTankWallLockMapper.xml b/ard-work/src/main/resources/mapper/sy/ArdTankWallLockMapper.xml
index 1de0fbe..eefcc7c 100644
--- a/ard-work/src/main/resources/mapper/sy/ArdTankWallLockMapper.xml
+++ b/ard-work/src/main/resources/mapper/sy/ArdTankWallLockMapper.xml
@@ -81,4 +81,13 @@
         </trim>
         where wall_id = #{wallId} and lock_id = #{lockId}
     </update>
+
+    <delete id="deleteArdTankWallLockByLockIdAndOtherIds" >
+        delete from ard_tank_wall_lock atwl
+        where atwl.lock_id = #{lockId}
+        and atwl.id not in
+        <foreach item="mid" collection="idList" open="(" separator="," close=")">
+            #{mid}
+        </foreach>
+    </delete>
 </mapper>
\ No newline at end of file
diff --git a/ard-work/src/main/resources/mapper/sy/ArdTankWallMapper.xml b/ard-work/src/main/resources/mapper/sy/ArdTankWallMapper.xml
index 1ae019e..7d5e3d7 100644
--- a/ard-work/src/main/resources/mapper/sy/ArdTankWallMapper.xml
+++ b/ard-work/src/main/resources/mapper/sy/ArdTankWallMapper.xml
@@ -67,7 +67,7 @@
     </select>
 
     <select id="getArdTankWallByLockId" resultType="java.util.Map" parameterType="java.lang.String">
-        select atw.id,atw.wall_name as "wallName",atw.wall_poi as "wallPoi",
+        select atw.id as "wallId",atw.wall_name as "wallName",atw.wall_poi as "wallPoi",
         atwl.process_type as "processType",case process_type when '-1' then '鍏冲姩浣�'
         when '0' then '鏃犲姩浣�' when '1' then '寮�鍔ㄤ綔' end as process
         from ard_tank_wall_lock atwl

--
Gitblit v1.9.3