From 2b21366205c895a61897726fcd1aa432fdc477c8 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期三, 18 六月 2025 09:54:51 +0800
Subject: [PATCH] 生成波次优化

---
 rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OutStockServiceImpl.java |   21 +++++++--------------
 1 files changed, 7 insertions(+), 14 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 46d5648..0ed6f59 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
@@ -10,11 +10,8 @@
 import com.vincent.rsf.server.common.constant.Constants;
 import com.vincent.rsf.server.manager.controller.dto.ExistDto;
 import com.vincent.rsf.server.manager.controller.dto.OrderOutItemDto;
-import com.vincent.rsf.server.manager.controller.params.LocToTaskParams;
-import com.vincent.rsf.server.manager.controller.params.OrderOutTaskParam;
-import com.vincent.rsf.server.manager.controller.params.OutStockToTaskParams;
+import com.vincent.rsf.server.manager.controller.params.*;
 import com.vincent.rsf.server.manager.enums.*;
-import com.vincent.rsf.server.manager.controller.params.AsnOrderAndItemsParams;
 import com.vincent.rsf.server.manager.entity.*;
 import com.vincent.rsf.server.manager.mapper.AsnOrderMapper;
 import com.vincent.rsf.server.manager.service.*;
@@ -32,7 +29,6 @@
 import java.math.BigDecimal;
 import java.util.*;
 import java.util.stream.Collectors;
-import java.util.stream.Stream;
 
 import com.vincent.rsf.server.manager.enums.WaveRuleType;
 
@@ -275,11 +271,11 @@
      */
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public R generateWaves(List<Long> ids) {
-        if (Objects.isNull(ids) || ids.isEmpty()) {
+    public R generateWaves(GenWaveParams params) {
+        if (Objects.isNull(params.getIds()) || params.getIds().isEmpty()) {
             throw new CoolException("鍙傛暟涓嶈兘涓虹┖锛侊紒");
         }
-        List<AsnOrder> orders = this.list(new LambdaQueryWrapper<AsnOrder>().in(AsnOrder::getId, ids));
+        List<AsnOrder> orders = this.list(new LambdaQueryWrapper<AsnOrder>().in(AsnOrder::getId, params.getIds()));
         if (orders.isEmpty()) {
             throw new CoolException("褰撳墠鍗曟嵁鐘舵�佷笉鑳芥墽琛屾尝娆$敓鎴愭搷浣滐紒锛�");
         }
@@ -288,10 +284,10 @@
         Double anfme = Math.round((sum - workQty) * 10000) / 10000.0;
         Wave wave = new Wave();
         String ruleCode = SerialRuleUtils.generateRuleCode(SerialRuleCode.SYS_WAVE_TYPE, null);
-        if (Objects.isNull(ruleCode) || StringUtils.isBlank(ruleCode)) {
+        if (StringUtils.isBlank(ruleCode)) {
             throw new CoolException("缂栫爜瑙勫垯閿欒锛氳瑕佹煡鐪嬨�孲YS_WAVE_TYPE銆嶆槸鍚﹁缃垚鍔燂紒锛�");
         }
-        wave.setOrderNum(ids.size())
+        wave.setOrderNum(params.getIds().size())
                 .setType(Short.parseShort("1"))
                 .setCode(ruleCode)
                 .setExceStatus(WaveExceStatus.WAVE_EXCE_STATUS_INIT.val)
@@ -316,22 +312,19 @@
         if (!waveService.saveOrUpdate(wave)) {
             throw new CoolException("涓诲崟淇敼澶辫触锛侊紒");
         }
-
         for (int i = 0; i < orderItems.size(); i++) {
             orderItems.get(i).setWorkQty(orderItems.get(i).getAnfme());
         }
-
         if (!asnOrderItemService.saveOrUpdateBatch(orderItems)) {
             throw new CoolException("鍑哄簱鍗曟墽琛屾暟閲忎慨鏀瑰け璐ワ紒锛�");
         }
-
         for (AsnOrder order : orders) {
             Double wkQty = Math.round((order.getWorkQty() + order.getAnfme()) * 10000) / 10000.0;
             if (!this.update(new LambdaUpdateWrapper<AsnOrder>()
                     .set(AsnOrder::getWaveId, wave.getId())
                     .set(AsnOrder::getWorkQty, wkQty)
                     .set(AsnOrder::getExceStatus, AsnExceStatus.OUT_STOCK_STATUS_TASK_WAVE.val)
-                    .in(AsnOrder::getId, ids))) {
+                    .in(AsnOrder::getId, params.getIds()))) {
                 throw new CoolException("鎵ц鐘舵�佷慨鏀逛慨鏀瑰け璐ワ紒锛�");
             }
         }

--
Gitblit v1.9.1