From 17080b28dc3fb0df12a5a4da76e10dd9203e5725 Mon Sep 17 00:00:00 2001 From: pang.jiabao <pang_jiabao@163.com> Date: 星期三, 08 十月 2025 11:07:48 +0800 Subject: [PATCH] 订单功能完善 --- src/main/java/com/zy/asrs/controller/OutController.java | 27 ++++++++++++++++++++++++++- 1 files changed, 26 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 0d2ba7d..ef24fc4 100644 --- a/src/main/java/com/zy/asrs/controller/OutController.java +++ b/src/main/java/com/zy/asrs/controller/OutController.java @@ -7,6 +7,7 @@ import com.zy.asrs.entity.BasDevp; import com.zy.asrs.entity.LocDetl; import com.zy.asrs.entity.OrderDetl; +import com.zy.asrs.mapper.LocDetlMapper; import com.zy.asrs.service.*; import com.zy.common.model.LocDto; import com.zy.common.model.TaskDto; @@ -17,6 +18,7 @@ import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; +import javax.annotation.Resource; import java.util.*; import java.util.stream.Collectors; @@ -42,6 +44,9 @@ @Autowired private BasDevpService basDevpService; + @Resource + private LocDetlMapper locDetlMapper; + @PostMapping("/out/pakout/orderDetlIds/auth") @ManagerAuth @@ -62,7 +67,7 @@ Set<String> exist = new HashSet<>(); for (OrderDetl orderDetl : orderDetls) { - double issued = Optional.of(orderDetl.getAnfme() - orderDetl.getQty()).orElse(0.0D); + double issued = Optional.of(orderDetl.getAnfme() - orderDetl.getWorkQty()).orElse(0.0D); if (issued <= 0.0D) { continue; } List<LocDetl> locDetls = locDetlService.queryStock(orderDetl.getMatnr(), orderDetl.getBatch(), null, exist); for (LocDetl locDetl : locDetls) { @@ -71,6 +76,22 @@ issued >= locDetl.getAnfme() ? locDetl.getAnfme() : issued); 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 { + break; + } + } + List<LocDetl> locDetls2 = locDetlMapper.queryStockByManLoc(orderDetl.getMatnr(), orderDetl.getBatch(), null, exist); + for (LocDetl locDetl : locDetls2) { + if (issued > 0) { + 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); +// locDto.setStaNos(staNos); + locDto.setLocNo("骞冲簱" + locDetl.getLocNo()); locDtos.add(locDto); exist.add(locDetl.getLocNo()); // 鍓╀綑寰呭嚭鏁伴噺閫掑噺 @@ -94,6 +115,10 @@ if (Cools.isEmpty(locDtos)) { return R.parse(BaseRes.PARAM); } + locDtos = locDtos.stream().filter(locDto -> locDto.getLocNo() != null && !locDto.getLocNo().startsWith("骞冲簱")).collect(Collectors.toList()); + if (Cools.isEmpty(locDtos)) { + return R.parse("骞冲簱搴撳瓨/搴撳瓨涓嶈冻"); + } boolean lack = true; for (LocDto locDto : locDtos) { if (!locDto.isLack()) { -- Gitblit v1.9.1