From 7209a1531fe254fafddf6c71d9e2649fcd685784 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E8=96=AA=E5=90=8D?= <942005050@qq.com> Date: Mon, 25 Dec 2023 08:30:09 +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=20=E6=8C=89=E5=8D=95=E4=BB=B6=20?= =?UTF-8?q?=E8=BF=94=E5=9B=9E=E6=9C=80=E5=90=8E=E4=B8=80=E6=9D=A1=E5=BA=93?= =?UTF-8?q?=E5=AD=98=E4=BD=99=E9=A2=9Dqty=E4=B8=BA=E9=9C=80=E6=B1=82?= =?UTF-8?q?=E6=89=80=E5=89=A9=E6=95=B0=E9=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/win/module/wms/util/JobUtils.java | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) 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 54bce0d8..5a22e0c4 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 @@ -976,6 +976,25 @@ public class JobUtils { if (balanceDOListJob == null || balanceDOListJob.size() == 0) { throw new UtilException("物品代码:" + itemCode + " 没有找到推荐的库存"); } + // 发料类型为按单件时 返回 库存余额数量 为需求数量 + // 发料包装类型——按 包装 返回 当前库存余额数量 + if (jsonObjectOffShelf.get("IssueStorageType") != null && jsonObjectOffShelf.get("IssueStorageType").equals("PACKAGE")) { + } + // 发料包装类型——按 容器 + if (jsonObjectOffShelf.get("IssueStorageType") != null && jsonObjectOffShelf.get("IssueStorageType").equals("CONTAINER")) { + } + // 发料包装类型——按 单件 返回 库存余额数量 为需求数量 + if (jsonObjectOffShelf.get("IssueStorageType") != null && jsonObjectOffShelf.get("IssueStorageType").equals("SINGLE")) { + BigDecimal residueQty = qty; + for(int i = 0; i< balanceDOListJob.size(); i++) { + // 最后一条数据 存储qty为需求qty所剩数量 + if ( i == (balanceDOListJob.size()-1)) { + balanceDOListJob.get(i).setQty(residueQty); + } + // qty 减掉库存余额qty数量 求最后所剩 + residueQty = residueQty.subtract(balanceDOListJob.get(i).getQty()); + } + } // 合并 相同【物品】和【批次】和【库位】的 数量求和 List balanceDOListRs = new ArrayList<>(); Map map = new HashMap<>();