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/schedules/PakinSchedules.java |   10 +++++++---
 1 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/PakinSchedules.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/PakinSchedules.java
index 3a13341..43b263f 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/PakinSchedules.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/PakinSchedules.java
@@ -15,6 +15,7 @@
 
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Objects;
 import java.util.stream.Collectors;
 
 @Component
@@ -79,9 +80,12 @@
                 }
                 Double sum1 = waitPakinItems.stream().mapToDouble(WaitPakinItem::getAnfme).sum();
                 if (sum.compareTo(sum1) == 0) {
-                    if (!asnOrderService.update(new LambdaUpdateWrapper<WkOrder>()
-                            .eq(WkOrder::getCode, item)
-                            .set(WkOrder::getExceStatus, AsnExceStatus.ASN_EXCE_STATUS_TASK_DONE.val))) {
+                    WkOrder wkOrder = asnOrderService.getOne(new LambdaQueryWrapper<WkOrder>().eq(WkOrder::getCode, item), false);
+                    if (Objects.isNull(wkOrder)) {
+                        throw new CoolException("鍗曟嵁涓嶅瓨鍦紒锛�");
+                    }
+                    wkOrder.setExceStatus(AsnExceStatus.ASN_EXCE_STATUS_TASK_DONE.val);
+                    if (!asnOrderService.updateById(wkOrder)) {
                         throw new CoolException("鍗曟嵁淇敼澶辫触锛侊紒");
                     }
                 }

--
Gitblit v1.9.1