From 05c0643b9337d8129876bdf9398b387c81b5f5f2 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期五, 13 六月 2025 12:39:08 +0800
Subject: [PATCH] 根据DO单添加出库单明细功能优化

---
 rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/OutStockController.java |   22 +++++++++++++++++++---
 1 files changed, 19 insertions(+), 3 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 e140809..d2d32ce 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
@@ -8,8 +8,10 @@
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.vincent.rsf.framework.common.Cools;
 import com.vincent.rsf.framework.common.R;
+import com.vincent.rsf.framework.exception.CoolException;
 import com.vincent.rsf.server.manager.controller.params.OrderOutTaskParam;
 import com.vincent.rsf.server.manager.controller.params.OutStockToTaskParams;
+import com.vincent.rsf.server.manager.entity.DeliveryItem;
 import com.vincent.rsf.server.manager.entity.excel.OutStockTemplate;
 import com.vincent.rsf.server.manager.enums.OrderType;
 import com.vincent.rsf.server.manager.enums.OrderWorkType;
@@ -43,7 +45,6 @@
 @RestController
 @Api(tags = "鍑哄簱鍗曟嵁")
 public class OutStockController extends BaseController {
-
     Logger logger = LoggerFactory.getLogger(OutStockController.class);
 
     @Autowired
@@ -166,6 +167,21 @@
         return outStockService.cancelOutOrder(id);
     }
 
+    @PreAuthorize("hasAuthority('manager:outStock:update')")
+    @ApiOperation("鍒犻櫎宸茬敓鎴愭槑缁�")
+    @GetMapping("/outStock/items/cancel/{ids}")
+    public R cancel(@PathVariable Long[] ids) {
+        List<Long> list = Arrays.asList(ids);
+        if (list.isEmpty()) {
+            return R.error("鍙傛暟涓嶈兘涓虹┖锛侊紒");
+        }
+        List<AsnOrderItem> orderItems = outStockItemService.list(new LambdaQueryWrapper<AsnOrderItem>().in(AsnOrderItem::getId, list));
+        if (orderItems.isEmpty()) {
+            throw new CoolException("鍗曟嵁鏄庣粏涓嶅瓨鍦紒锛�");
+        }
+        return outStockService.cancelOutOrderByItems(orderItems);
+    }
+
 
     @PreAuthorize("hasAuthority('manager:outStock:list')")
     @PostMapping("/outStock/export")
@@ -216,8 +232,8 @@
         if (Objects.isNull(params.get("ids"))) {
             return R.error("鍙傛暟涓嶈兘涓虹┖锛侊紒");
         }
-        List<Long> ids = (List<Long>) params.get("ids");
-        return outStockService.genOutStock(ids, getLoginUserId());
+        List<DeliveryItem> items = JSON.parseArray(JSONObject.toJSONString(params.get("ids")), DeliveryItem.class);
+        return outStockService.genOutStock(items, getLoginUserId());
     }
 
     @PreAuthorize("hasAuthority('manager:outStock:update')")

--
Gitblit v1.9.1