From 2f8e173048d22c5b40612c3538b9c1aa5a5397f6 Mon Sep 17 00:00:00 2001
From: zhou zhou <3272660260@qq.com>
Date: 星期五, 27 三月 2026 13:38:05 +0800
Subject: [PATCH] #乐观锁

---
 rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderServiceImpl.java |   48 +++++++++++++++++++++++++++++++-----------------
 1 files changed, 31 insertions(+), 17 deletions(-)

diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderServiceImpl.java
index ee6b2e7..ab223ec 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderServiceImpl.java
@@ -7,7 +7,6 @@
 import com.vincent.rsf.framework.common.R;
 import com.vincent.rsf.framework.exception.CoolException;
 import com.vincent.rsf.server.api.entity.dto.PoItemsDto;
-import com.vincent.rsf.server.api.service.ReceiveMsgService;
 import com.vincent.rsf.server.api.service.ReportMsgService;
 import com.vincent.rsf.server.common.utils.DateUtils;
 import com.vincent.rsf.server.manager.controller.dto.DashboardDto;
@@ -18,6 +17,7 @@
 import com.vincent.rsf.server.manager.entity.*;
 import com.vincent.rsf.server.manager.enums.*;
 import com.vincent.rsf.server.manager.mapper.AsnOrderMapper;
+import com.vincent.rsf.server.manager.mapper.TaskMapper;
 import com.vincent.rsf.server.manager.service.*;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.vincent.rsf.server.system.constant.SerialRuleCode;
@@ -29,7 +29,7 @@
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
-import javax.annotation.Resource;
+import jakarta.annotation.Resource;
 import java.text.DateFormat;
 import java.text.ParsePosition;
 import java.text.SimpleDateFormat;
@@ -46,8 +46,6 @@
 @Service("asnOrderService")
 public class AsnOrderServiceImpl extends ServiceImpl<AsnOrderMapper, WkOrder> implements AsnOrderService {
 
-    @Autowired
-    private ReceiveMsgService receiveMsgService;
     @Autowired
     private ReportMsgService reportMsgService;
 
@@ -66,9 +64,7 @@
     @Autowired
     private PurchaseItemService purchaseItemService;
     @Autowired
-    private AsnOrderService asnOrderService;
-    @Autowired
-    private TaskService taskService;
+    private TaskMapper taskMapper;
 
     @Override
     public boolean notifyInspect(List<WkOrder> orders) {
@@ -207,14 +203,32 @@
         if (Objects.isNull(order)) {
             throw new CoolException("淇敼鍙傛暟涓嶈兘涓虹┖锛侊紒");
         }
-        return this.update(new LambdaUpdateWrapper<WkOrder>()
-                .in(WkOrder::getId, params.getIds())
-                .set(!Objects.isNull(order.getRleStatus()), WkOrder::getRleStatus, order.getRleStatus())
-                .set(!Objects.isNull(order.getNtyStatus()), WkOrder::getNtyStatus, order.getNtyStatus())
-                .set(!Objects.isNull(order.getStatus()), WkOrder::getStatus, order.getStatus())
-                .set(!Objects.isNull(order.getWkType()), WkOrder::getWkType, order.getWkType())
-                .set(!Objects.isNull(order.getExceStatus()), WkOrder::getExceStatus, order.getExceStatus())
-                .set(WkOrder::getUpdateBy, userId));
+        List<WkOrder> orders = this.listByIds(params.getIds());
+        if (orders.isEmpty()) {
+            return false;
+        }
+        for (WkOrder current : orders) {
+            if (!Objects.isNull(order.getRleStatus())) {
+                current.setRleStatus(order.getRleStatus());
+            }
+            if (!Objects.isNull(order.getNtyStatus())) {
+                current.setNtyStatus(order.getNtyStatus());
+            }
+            if (!Objects.isNull(order.getStatus())) {
+                current.setStatus(order.getStatus());
+            }
+            if (!Objects.isNull(order.getWkType())) {
+                current.setWkType(order.getWkType());
+            }
+            if (!Objects.isNull(order.getExceStatus())) {
+                current.setExceStatus(order.getExceStatus());
+            }
+            current.setUpdateBy(userId);
+            if (!this.updateById(current)) {
+                throw new CoolException("鎵归噺淇敼澶辫触锛侊紒");
+            }
+        }
+        return true;
     }
 
     /**
@@ -426,9 +440,9 @@
         dto.setOutAnf(outTrand.getAnfme()).setTaskOut(outTrand.getRealAnfme()).setTotalOut(outTrand.getAnfme() + outTrand.getRealAnfme());
 
         //鑾峰彇鎵ц涓换鍔℃暟閲�
-        List<Task> tasks = taskService.list(new LambdaQueryWrapper<>());
+        List<Task> tasks = taskMapper.selectList(new LambdaQueryWrapper<>());
         if (!tasks.isEmpty()) {
-            outTrand.setTaskQty(tasks.size());
+            dto.setTaskQty(tasks.size());
         }
         return R.ok().add(dto);
     }

--
Gitblit v1.9.1