diff --git a/src/main/java/com/wms/controller/KateWorkQueryController.java b/src/main/java/com/wms/controller/KateWorkQueryController.java index ea16f89..2b4b722 100644 --- a/src/main/java/com/wms/controller/KateWorkQueryController.java +++ b/src/main/java/com/wms/controller/KateWorkQueryController.java @@ -616,10 +616,14 @@ public class KateWorkQueryController { } // 计算需要多少个看板 BigDecimal needKanbanQuantity = targetNum.subtract(remainNum).divide(pullGoods.getQuantityPerKanban(), 0, RoundingMode.CEILING); - if (remainNum.add(needKanbanQuantity.multiply(pullGoods.getQuantityPerKanban())).compareTo(maxNum) > 0) { + while (remainNum.add(needKanbanQuantity.multiply(pullGoods.getQuantityPerKanban())).compareTo(maxNum) > 0) { // 超过最大容量 needKanbanQuantity = needKanbanQuantity.subtract(BigDecimal.ONE); } + if (needKanbanQuantity.compareTo(BigDecimal.ZERO) <= 0) { + // 不要补看板 + continue; + } // 看板表中当前物料的所有看板 List kanbanList = kanbanService.list(new LambdaQueryWrapper() .eq(Kanban::getGoodsId, pullGoods.getGoodsId()) @@ -643,8 +647,10 @@ public class KateWorkQueryController { needKanbanQuantity = needKanbanQuantity.subtract(BigDecimal.ONE); } } - // 更新看板表 - kanbanService.updateBatchById(dealKanbanList); + if (!dealKanbanList.isEmpty()) { + // 更新看板表 + kanbanService.updateBatchById(dealKanbanList); + } logger.info("生成CLC看板需求成功。"); response.setCode(ResponseCode.OK.getCode());