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/controller/OutStockController.java |   21 +++++++++++++++++----
 1 files changed, 17 insertions(+), 4 deletions(-)

diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/OutStockController.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/OutStockController.java
index b1fa27e..3baa8f2 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/OutStockController.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/OutStockController.java
@@ -22,6 +22,7 @@
 import com.vincent.rsf.server.common.domain.KeyValVo;
 import com.vincent.rsf.server.common.domain.PageParam;
 import com.vincent.rsf.server.common.utils.ExcelUtil;
+import com.vincent.rsf.server.common.utils.OptimisticLockUtils;
 import com.vincent.rsf.server.manager.controller.params.AsnOrderAndItemsParams;
 import com.vincent.rsf.server.manager.entity.excel.AsnOrderTemplate;
 import com.vincent.rsf.server.manager.enums.AsnExceStatus;
@@ -39,7 +40,7 @@
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
 
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletResponse;
 import java.util.*;
 
 @RestController
@@ -58,8 +59,8 @@
         BaseParam baseParam = buildParam(map, BaseParam.class);
         PageParam<WkOrder, BaseParam> pageParam = new PageParam<>(baseParam, WkOrder.class);
         QueryWrapper<WkOrder> queryWrapper = pageParam.buildWrapper(true);
-        List<String> list = Arrays.asList(OrderType.ORDER_OUT.type);
-        queryWrapper.in("type", list);
+//        List<String> list = Arrays.asList(OrderType.ORDER_OUT.type);
+//        queryWrapper.in("type", list);
         return R.ok().add(outStockService.page(pageParam, queryWrapper));
     }
 
@@ -119,6 +120,7 @@
     @PostMapping("/outStock/update")
     @ApiOperation("鏇存柊")
     public R update(@RequestBody WkOrder wkOrder) {
+        OptimisticLockUtils.requireVersion("鍑哄簱鍗�", wkOrder.getVersion());
         wkOrder.setType(OrderType.ORDER_OUT.type)
                 .setUpdateBy(getLoginUserId())
                 .setUpdateTime(new Date());
@@ -200,7 +202,7 @@
         }
         List<AsnOrderTemplate> orderTemplates = new ArrayList<>();
         for (WkOrder order : orders) {
-            List<WkOrderItem> orderItems = outStockItemService.list(new LambdaQueryWrapper<WkOrderItem>().eq(WkOrderItem::getAsnId, order.getId()));
+            List<WkOrderItem> orderItems = outStockItemService.list(new LambdaQueryWrapper<WkOrderItem>().eq(WkOrderItem::getOrderId, order.getId()));
             for (WkOrderItem item : orderItems) {
                 if (Objects.isNull(item)) {
                     continue;
@@ -256,6 +258,17 @@
         return outStockService.saveOutStock(params, getLoginUserId());
     }
 
+    @GetMapping("/outStock/complete/{id}")
+    @ApiOperation("瀹屾垚鍑哄簱鍗�")
+    @PreAuthorize("hasAuthority('manager:outStock:update')")
+    public R complete(@PathVariable Long id) {
+        if (Objects.isNull(id)) {
+            return R.error("鍙傛暟涓嶈兘涓虹┖锛侊紒");
+        }
+        return outStockService.completeOutOrderById(id);
+    }
+
+
     @ApiOperation("鍗曟嵁淇℃伅淇敼")
     @PostMapping("/outStock/items/update")
     @PreAuthorize("hasAuthority('manager:outStock:update')")

--
Gitblit v1.9.1