From d3cb0e841e6585aa84a45f18bb30965db8d1a6aa Mon Sep 17 00:00:00 2001 From: whycq <913841844@qq.com> Date: 星期三, 08 一月 2025 15:48:40 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/controller/OutController.java | 14 +++++++++++++- 1 files changed, 13 insertions(+), 1 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/OutController.java b/src/main/java/com/zy/asrs/controller/OutController.java index a7004eb..eabc3e3 100644 --- a/src/main/java/com/zy/asrs/controller/OutController.java +++ b/src/main/java/com/zy/asrs/controller/OutController.java @@ -61,18 +61,30 @@ Set<String> exist = new HashSet<>(); + Set<String> exist2 = new HashSet<>(); + for (OrderDetl orderDetl : orderDetls) { List<LocDetl> locDetls = new ArrayList<>(); double issued = Optional.of(orderDetl.getAnfme() - orderDetl.getWorkQty()).orElse(0.0D); if (issued <= 0.0D) { continue; } + locDetls = locDetlService.queryStock(orderDetl.getMatnr(), orderDetl.getBatch(), null, exist2); //if (Cools.isEmpty(orderDetl.getBomCode())) { // locDetls = locDetlService.queryStock(orderDetl.getMatnr(), orderDetl.getBatch(), null, exist); //} else { // locDetls = locDetlService.queryStockByBomcode(orderDetl.getMatnr(), orderDetl.getBatch(), orderDetl.getBomCode(),null, exist); //} - locDetls = locDetlService.queryStockByBomcode(orderDetl.getMatnr(), orderDetl.getBatch(), orderDetl.getBomCode(),null, exist); +// locDetls = locDetlService.queryStockByBomcode(orderDetl.getMatnr(), orderDetl.getBatch(), orderDetl.getBomCode(),null, exist); for (LocDetl locDetl : locDetls) { + if (exist2.contains(locDetl.getLocNo())) { + for (LocDto locDto : locDtos) { + if(Cools.isEmpty(locDto.getLocNo())) { continue; } + if (locDto.getLocNo().equals(locDetl.getLocNo())) { + locDetl.setAnfme(locDetl.getAnfme() - locDto.getAnfme()); + } + } + } if (issued > 0) { + if (locDetl.getAnfme() <= 0) break; LocDto locDto = new LocDto(locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getMaktx(), locDetl.getBatch(), orderDetl.getOrderNo(), issued >= locDetl.getAnfme() ? locDetl.getAnfme() : issued); List<Integer> staNos = staDescService.queryOutStaNosByLocNo(locDetl.getLocNo(), issued >= locDetl.getAnfme() ? 101 : 103); -- Gitblit v1.9.1