From ed42667ad21a93337fc910b657703e9ece378481 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期一, 17 三月 2025 08:00:04 +0800
Subject: [PATCH] Merge branch 'devlop' of http://47.97.1.152:5880/r/wms-master into devlop

---
 rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java |   34 +++++++++++++++++++++++++++++++++-
 1 files changed, 33 insertions(+), 1 deletions(-)

diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java
index 527cf7b..494d4d6 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java
@@ -156,6 +156,7 @@
             throw new CoolException("搴撳尯鏍囪瘑涓嶈兘涓虹┖锛侊紒");
         }
 
+
         WarehouseAreas areasItem = warehouseAreasService.getOne(new LambdaQueryWrapper<WarehouseAreas>().eq(WarehouseAreas::getId, params.getWhAreaId()));
         if (Objects.isNull(areasItem)) {
             throw new CoolException("鏁版嵁閿欒锛氬綋鍓嶅簱鍖轰笉瀛樺湪锛侊紒");
@@ -164,12 +165,43 @@
         List<Fields> fields = fieldsMapper.selectList(new LambdaQueryWrapper<Fields>().eq(Fields::getFlagEnable, 1).eq(Fields::getStatus, 1));
 
         List<ReceiptDetlsDto> receipts = params.getReceipts();
-        List<WarehouseAreasItem> allOrders =   new ArrayList<>();
+        List<WarehouseAreasItem> allOrders = new ArrayList<>();
+
+        double receiptQty = receipts.stream().mapToDouble(ReceiptDetlsDto::getReceiptQty).sum();
+
+        String asnCode = receipts.stream().findFirst().get().getAsnCode();
+
+        AsnOrder asnOrder = asnOrderMapper.selectOne(new LambdaQueryWrapper<AsnOrder>().eq(AsnOrder::getCode, asnCode));
+        asnOrder.setQty(receiptQty);
+
+        if (asnOrderMapper.updateById(asnOrder) < 1) {
+            throw new CoolException("宸叉敹璐ф暟閲忎慨鏀瑰け璐ワ紒锛�");
+        }
+
         receipts.forEach(dto -> {
             Matnr matnr = matnrMapper.selectById(dto.getMatnrId());
             if (Objects.isNull(matnr)) {
                 throw new CoolException("鏁版嵁閿欒锛氬綋鍓嶇墿鏂欎笉瀛樺湪锛侊紒");
             }
+            if (Objects.isNull(dto.getReceiptQty())) {
+                throw new CoolException("鏀惰揣鏁版嵁涓嶈兘涓虹┖锛侊紒");
+            }
+            if (dto.getReceiptQty() < dto.getPurQty()) {
+                throw new CoolException("鏀惰揣鏁伴噺涓嶈兘澶т簬閲囪喘鏁伴噺锛侊紒");
+            }
+
+            AsnOrderItem orderItem = asnOrderItemMapper.selectOne(new LambdaQueryWrapper<AsnOrderItem>()
+                    .eq(AsnOrderItem::getAsnCode, asnCode)
+                    .eq(AsnOrderItem::getMatnrId, dto.getMatnrId()));
+            if (Objects.isNull(orderItem)) {
+                throw new CoolException("閫氱煡鍗曟槑缁嗕笉瀛樺湪锛侊紒");
+            }
+            orderItem.setQty(dto.getReceiptQty());
+
+            if (asnOrderItemMapper.updateById(orderItem) < 1) {
+                throw new CoolException("閫氱煡鍗曟槑缁嗘暟閲忎慨鏀瑰け璐ワ紒锛�");
+            }
+
             WarehouseAreasItem item = new WarehouseAreasItem();
             item.setBarcode(dto.getBarcode())
                     .setAreaName(areasItem.getName())

--
Gitblit v1.9.1