From b71ca6faa130dbd9baed68d1402365ccc63e79c2 Mon Sep 17 00:00:00 2001
From: 1 <1@123>
Date: 星期三, 15 四月 2026 16:38:26 +0800
Subject: [PATCH] lsh#

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

diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WaveServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WaveServiceImpl.java
index 218fa07..2629327 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WaveServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WaveServiceImpl.java
@@ -66,8 +66,9 @@
         if (Objects.isNull(itemParams) || itemParams.isEmpty()) {
             throw new CoolException("鍙傛暟涓嶈兘涓虹┖锛侊紒");
         }
-        String waveId = map.get("wave").toString();
-        Wave waves = this.getById(Long.parseLong(waveId));
+//        Wave waveId = (Wave) map.get("wave");
+        Wave wave = JSON.parseObject(JSON.toJSONString(map.get("wave")), Wave.class);
+        Wave waves = this.getById(wave.getId());
         if (Objects.isNull(waves)) {
             throw new CoolException("娉㈡鏁版嵁涓嶅瓨鍦紒锛�");
         }
@@ -390,13 +391,18 @@
     private List<WaveItem> getLocs(List<WaveItem> waveItems) throws Exception {
         //TODO  鏍规嵁鐗╂枡缂栫爜锛屾壒娆★紝鍔ㄦ�佸瓧娈� 鏌ヨ绗﹀悎鐨勫簱浣嶏紝鍐嶆牴鎹簱浣嶄腑鐗╂枡鐨勬暟閲忛�夋嫨鏈�閫傚悎鐨勫簱浣�
         waveItems.forEach(waveItem -> {
-            List<LocItem> locItems = locItemService.list(new QueryWrapper<LocItem>()
+            LambdaQueryWrapper<LocItem> locItemLambdaQueryWrapper = new QueryWrapper<LocItem>()
                     .select("id", "loc_id", "loc_code", "order_id", "SUM(anfme) anfme", "SUM(qty) qty", "SUM(work_qty) work_qty", "splr_batch", "fields_index", "matnr_code")
                     .lambda()
                     .eq(LocItem::getMatnrCode, waveItem.getMatnrCode())
                     .eq(LocItem::getSplrBatch, waveItem.getSplrBatch())
-                    .eq(StringUtils.isNotBlank(waveItem.getFieldsIndex()), LocItem::getFieldsIndex, waveItem.getFieldsIndex())
-                    .groupBy(LocItem::getMatnrCode, LocItem::getSplrBatch, LocItem::getFieldsIndex, LocItem::getId));
+                    .eq(StringUtils.isNotBlank(waveItem.getFieldsIndex()), LocItem::getFieldsIndex, waveItem.getFieldsIndex());
+            Wave wave = this.getById(waveItem.getWaveId());
+            if (!Cools.isEmpty(wave.getLocCode())) {
+                locItemLambdaQueryWrapper.eq(LocItem::getLocCode, wave.getLocCode());
+            }
+            locItemLambdaQueryWrapper.groupBy(LocItem::getMatnrCode, LocItem::getSplrBatch, LocItem::getFieldsIndex, LocItem::getId);
+            List<LocItem> locItems = locItemService.list(locItemLambdaQueryWrapper);
             List<Double> doubles1 = locItems.stream().map(LocItem::getAnfme).collect(Collectors.toList());
             double[] doubles = doubles1.stream().mapToDouble(Double::doubleValue).toArray();
 

--
Gitblit v1.9.1