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