From 4fbecb66b748dae5387c15dca282378b04362161 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E8=96=AA=E5=90=8D?= <942005050@qq.com> Date: Fri, 22 Dec 2023 15:57:51 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A0=B9=E6=8D=AE=E6=89=B9=E6=AC=A1=E7=AD=96?= =?UTF-8?q?=E7=95=A5/=E4=B8=8B=E6=9E=B6=E7=AD=96=E7=95=A5=20=E8=BF=94?= =?UTF-8?q?=E5=9B=9E=20=E5=BA=93=E5=AD=98=E4=BD=99=E9=A2=9DDO=20=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/win/module/wms/util/JobUtils.java | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/util/JobUtils.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/util/JobUtils.java index c4434f5c..c84cbd64 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/util/JobUtils.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/util/JobUtils.java @@ -835,7 +835,7 @@ public class JobUtils { throw exception(BALANCE_QTY_NOT_EXISTS); } // 根据库存类型 过滤 查询的库位 - if (locationList != null && !locationList.isEmpty()) { + if (locationList != null && locationList.size() > 0) { queryWrapper.in("location_code", locationList); } // 根据下架策略 作为查询库存余额条件 @@ -975,7 +975,18 @@ public class JobUtils { if (balanceDOListJob == null || balanceDOListJob.size() == 0) { throw new UtilException("物品代码:" + itemCode + " 没有找到推荐的库存"); } - return balanceDOListJob; + // 合并 相同【物品】和【批次】和【库位】的 数量求和 + List balanceDOListRs = new ArrayList<>(); + Map map = new HashMap<>(); + for(BalanceDO balanceDOItem:balanceDOListJob ) { + BalanceDO ba = map.get(balanceDOItem.getItemCode()+"|"+balanceDOItem.getBatch()+"|"+balanceDOItem.getLocationCode()); + if (ba != null) balanceDOItem.setQty(balanceDOItem.getQty().add(ba.getQty())); + map.put(balanceDOItem.getItemCode()+"|"+balanceDOItem.getBatch()+"|"+balanceDOItem.getLocationCode(),balanceDOItem); + } + for (Map.Entry entry : map.entrySet()) { + balanceDOListRs.add((BalanceDO) entry.getValue()); + } + return balanceDOListRs; } /**