From f2833c7f3e01c997e94a66bd5dd9be738b5c6cc7 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期四, 26 六月 2025 13:31:08 +0800
Subject: [PATCH] 波次任务下发功能优化

---
 rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OutStockItemServiceImpl.java |   26 +++++++++++++-------------
 1 files changed, 13 insertions(+), 13 deletions(-)

diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OutStockItemServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OutStockItemServiceImpl.java
index 963e330..686c267 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OutStockItemServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OutStockItemServiceImpl.java
@@ -10,6 +10,8 @@
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.vincent.rsf.framework.common.R;
 import com.vincent.rsf.framework.exception.CoolException;
+import com.vincent.rsf.server.manager.entity.excel.OutStockTemplate;
+import com.vincent.rsf.server.manager.enums.AsnExceStatus;
 import com.vincent.rsf.server.manager.enums.OrderType;
 import com.vincent.rsf.server.manager.enums.OrderWorkType;
 import com.vincent.rsf.server.common.domain.BaseParam;
@@ -98,19 +100,16 @@
     @Override
     @Transactional(rollbackFor = Exception.class)
     public R excelImport(MultipartFile file, HashMap<String, Object> hashMap, Long loginUserId) throws Exception {
-        ExcelImportResult result = ExcelImportUtil.importExcelMore(file.getInputStream(), AsnOrderTemplate.class, ExcelUtil.getDefaultImportParams());
-        if (result.getList().isEmpty()) {
-            throw new CoolException("鐗╂枡瀵煎叆澶辫触锛侊紒");
-        }
+        ExcelImportResult result = ExcelImportUtil.importExcelMore(file.getInputStream(), OutStockTemplate.class, ExcelUtil.getDefaultImportParams());
         if (result.getList().isEmpty()) {
             throw new CoolException("琛ㄦ牸鍐呭涓嶈兘涓虹┖锛侊紒");
         }
-        List<AsnOrderTemplate> resultList = result.getList();
-        Map<String, List<AsnOrderTemplate>> listMap = resultList.stream().collect(Collectors.groupingBy(AsnOrderTemplate::getCode));
+        List<OutStockTemplate> resultList = result.getList();
+        Map<String, List<OutStockTemplate>> listMap = resultList.stream().collect(Collectors.groupingBy(OutStockTemplate::getCode));
         for (String key : listMap.keySet()) {
-            AsnOrderTemplate template = listMap.get(key).stream().findFirst().get();
+            OutStockTemplate template = listMap.get(key).stream().findFirst().get();
             AsnOrder asnOrder = outStockService.getOne(new LambdaQueryWrapper<AsnOrder>().eq(AsnOrder::getCode, template.getCode()));
-            if (Objects.isNull(asnOrder)) {
+            if (!Objects.isNull(asnOrder)) {
                 continue;
             }
             AsnOrder order = new AsnOrder();
@@ -125,10 +124,10 @@
                 throw new CoolException("鍗曟嵁淇濆瓨澶辫触锛侊紒");
             }
             List<AsnOrderItem> items = new ArrayList<>();
-            for (AsnOrderTemplate orderTemplate : listMap.get(key)) {
+            for (OutStockTemplate orderTemplate : listMap.get(key)) {
                 AsnOrderItem orderItem = new AsnOrderItem();
                 Matnr matnr = null;
-                if (!Objects.isNull(orderTemplate.getMatnrCode()) || StringUtils.isNotBlank(orderTemplate.getMatnrCode())) {
+                if (StringUtils.isNotBlank(orderTemplate.getMatnrCode())) {
                     matnr = matnrService.getOne(new LambdaQueryWrapper<Matnr>()
                             .eq(Matnr::getCode, orderTemplate.getMatnrCode()));
                 }
@@ -150,9 +149,10 @@
                 }
             }
             if (!items.isEmpty()) {
-                double qty = items.stream().mapToDouble(AsnOrderItem::getQty).sum();
-                double purQty = items.stream().mapToDouble(AsnOrderItem::getPurQty).sum();
-                if (!outStockService.update(new LambdaUpdateWrapper<AsnOrder>().set(AsnOrder::getQty, qty).set(AsnOrder::getAnfme, purQty).eq(AsnOrder::getId, order.getId()))) {
+                double purQty = items.stream().mapToDouble(AsnOrderItem::getAnfme).sum();
+                if (!outStockService.update(new LambdaUpdateWrapper<AsnOrder>()
+                                .set(AsnOrder::getExceStatus, AsnExceStatus.OUT_STOCK_STATUS_TASK_INIT.val)
+                        .set(AsnOrder::getAnfme, purQty).eq(AsnOrder::getId, order.getId()))) {
                     throw new CoolException("鍗曟嵁鏁伴噺淇敼澶辫触锛侊紒");
                 }
             }

--
Gitblit v1.9.1