From 0531316b080ca77616387c1f86c0399e6f2d2875 Mon Sep 17 00:00:00 2001 From: zwl <1051256694@qq.com> Date: 星期三, 08 二月 2023 10:29:00 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/controller/OutController.java | 20 ++++++++++++++++---- 1 files changed, 16 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/OutController.java b/src/main/java/com/zy/asrs/controller/OutController.java index 8cbcbed..0d2ba7d 100644 --- a/src/main/java/com/zy/asrs/controller/OutController.java +++ b/src/main/java/com/zy/asrs/controller/OutController.java @@ -14,11 +14,11 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; -import java.util.ArrayList; -import java.util.List; -import java.util.Optional; +import java.util.*; +import java.util.stream.Collectors; /** * Created by vincent on 2022/3/26 @@ -42,6 +42,14 @@ @Autowired private BasDevpService basDevpService; + + @PostMapping("/out/pakout/orderDetlIds/auth") + @ManagerAuth + public R pakoutOrderDetlIds(@RequestParam Long orderId) throws InterruptedException { + Thread.sleep(200); + return R.ok().add(orderDetlService.selectByOrderId(orderId).stream().map(OrderDetl::getId).distinct().collect(Collectors.toList())); + } + @PostMapping("/out/pakout/preview/auth") @ManagerAuth public R pakoutPreview(@RequestBody List<Long> ids) { @@ -50,10 +58,13 @@ } List<OrderDetl> orderDetls = orderDetlService.selectBatchIds(ids); List<LocDto> locDtos = new ArrayList<>(); + + Set<String> exist = new HashSet<>(); + for (OrderDetl orderDetl : orderDetls) { double issued = Optional.of(orderDetl.getAnfme() - orderDetl.getQty()).orElse(0.0D); if (issued <= 0.0D) { continue; } - List<LocDetl> locDetls = locDetlService.queryStock(orderDetl.getMatnr(), orderDetl.getBatch(), null); + List<LocDetl> locDetls = locDetlService.queryStock(orderDetl.getMatnr(), orderDetl.getBatch(), null, exist); for (LocDetl locDetl : locDetls) { if (issued > 0) { LocDto locDto = new LocDto(locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getMaktx(), locDetl.getBatch(), orderDetl.getOrderNo(), @@ -61,6 +72,7 @@ List<Integer> staNos = staDescService.queryOutStaNosByLocNo(locDetl.getLocNo(), issued >= locDetl.getAnfme() ? 101 : 103); locDto.setStaNos(staNos); locDtos.add(locDto); + exist.add(locDetl.getLocNo()); // 鍓╀綑寰呭嚭鏁伴噺閫掑噺 issued = issued - locDetl.getAnfme(); } else { -- Gitblit v1.9.1