From 93cecfaf0fae080ebd0212adea714726290d0d4a Mon Sep 17 00:00:00 2001
From: zhangnaisong <2434969829@qq.com>
Date: 星期四, 01 八月 2024 20:36:54 +0800
Subject: [PATCH] 电磁锁串口协议发送加入线程排队提交

---
 ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdTankWallLockServiceImpl.java |   16 ++++++++++++++++
 1 files changed, 16 insertions(+), 0 deletions(-)

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..603ad0f 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
@@ -98,7 +98,16 @@
     public int insertWallLock(Map<String, Object> para) {
         String id = (String) para.get("id");//閿佷富閿�
         List<Map<String,String>> tankWallLockList = (List<Map<String, String>>) para.get("tankWallLockList");
+        if(tankWallLockList.size() == 0){//鏁扮粍涓虹┖锛屽仛鍒犻櫎鎿嶄綔
+            List<ArdTankWallLock> ardTankWallLockList = ardTankWallLockMapper.selectArdTankWallLockByLockId(id);//鏌ヨ涔嬪墠鎸傛帴鐨勭數瀛愬洿鏍�
+            if(ardTankWallLockList.size() == 0){//鑻ユ病鏈夋寕鎺ワ紝涓嶅仛鎿嶄綔
+                return 1;
+            }
+            int result = ardTankWallLockMapper.deleteArdTankWallLockByLockId(id);
+            return result;
+        }
         //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 +117,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;
     }
 

--
Gitblit v1.9.3