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