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