|
|
@ -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<BalanceDO> balanceDOListRs = new ArrayList<>(); |
|
|
|
Map<String,BalanceDO> map = new HashMap<>(); |
|
|
|