From 1aa6e5963e5c4eca765924e9b2b094e6e2c525b3 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期二, 10 六月 2025 15:38:33 +0800
Subject: [PATCH] 添加出库单据任务取消功能

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

diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OutStockServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OutStockServiceImpl.java
index def395e..5e2785c 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OutStockServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OutStockServiceImpl.java
@@ -450,7 +450,22 @@
             if (!Objects.isNull(loc)) {
                 List<LocItem> locItems = new ArrayList<>();
                 LocItem locItem = locItemService.getById(param.getId());
-                locItem.setOutQty(param.getOutQty()).setBatch(param.getBatch());
+
+                AsnOrderItem orderItem = outStockItemService.getOne(new LambdaQueryWrapper<AsnOrderItem>()
+                        .eq(AsnOrderItem::getAsnId, outId)
+                        .eq(StringUtils.isNotBlank(locItem.getBatch()), AsnOrderItem::getSplrBatch, locItem.getBatch())
+                        .eq(StringUtils.isNotBlank(locItem.getFieldsIndex()), AsnOrderItem::getFieldsIndex, locItem.getFieldsIndex())
+                        .eq(AsnOrderItem::getMatnrId, locItem.getMatnrId()));
+
+                if (Objects.isNull(orderItem)) {
+                    throw new CoolException("鍗曟嵁鏄庣粏涓嶅瓨鍦紒锛�");
+                }
+
+                locItem.setOutQty(param.getOutQty())
+                        .setBatch(param.getBatch())
+                        .setSourceId(outId)
+                        .setSourceCode(orderItem.getAsnCode())
+                        .setSource(orderItem.getId());
                 locItems.add(locItem);
 
                 LocToTaskParams taskParams = new LocToTaskParams();
@@ -467,15 +482,6 @@
                     throw new CoolException(e.getMessage());
                 }
 
-                AsnOrderItem orderItem = outStockItemService.getOne(new LambdaQueryWrapper<AsnOrderItem>()
-                        .eq(AsnOrderItem::getAsnId, outId)
-                        .eq(StringUtils.isNotBlank(locItem.getBatch()), AsnOrderItem::getSplrBatch, locItem.getBatch())
-                        .eq(StringUtils.isNotBlank(locItem.getFieldsIndex()), AsnOrderItem::getFieldsIndex, locItem.getFieldsIndex())
-                        .eq(AsnOrderItem::getMatnrId, locItem.getMatnrId()));
-
-                if (Objects.isNull(orderItem)) {
-                    throw new CoolException("鍗曟嵁鏄庣粏涓嶅瓨鍦紒锛�");
-                }
 
                 Double workQty = Math.round((orderItem.getWorkQty() + locItem.getOutQty()) * 10000) / 10000.0;
 
@@ -495,7 +501,7 @@
         }
         Double workQty = Math.round((outOrder.getWorkQty() + sum) * 10000) / 10000.0;
 
-        outOrder.setWorkQty(workQty).setExceStatus( AsnExceStatus.OUT_STOCK_STATUS_TASK_CREATE.val);
+        outOrder.setWorkQty(workQty).setExceStatus(AsnExceStatus.OUT_STOCK_STATUS_TASK_CREATE.val);
 
         if (!outStockService.updateById(outOrder)) {
             throw new CoolException("鍑哄簱鍗曠姸鎬佷慨鏀瑰け璐ワ紒锛�");

--
Gitblit v1.9.1