From cc79183af9dda2e2e983ad9915d41f9c3fe2ed11 Mon Sep 17 00:00:00 2001 From: LSH Date: 星期六, 15 七月 2023 15:29:57 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/controller/OutController.java | 17 ++++++++++++++--- 1 files changed, 14 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/OutController.java b/src/main/java/com/zy/asrs/controller/OutController.java index 689e721..978209e 100644 --- a/src/main/java/com/zy/asrs/controller/OutController.java +++ b/src/main/java/com/zy/asrs/controller/OutController.java @@ -16,6 +16,7 @@ import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; +import java.math.BigDecimal; import java.util.*; import java.util.stream.Collectors; @@ -61,11 +62,19 @@ } List<OrderDetl> orderDetls = orderDetlService.selectBatchIds(ids); List<LocDto> locDtos = new ArrayList<>(); + for (OrderDetl o: orderDetls) { + if (o.getAnfme().equals(o.getWorkQty())){ + return R.error("鍑哄簱鐨勬槑缁嗕腑鏈夊凡鍑哄簱鐗╂枡"); + } + } Set<String> exist = new HashSet<>(); for (OrderDetl orderDetl : orderDetls) { - double issued = Optional.of(orderDetl.getAnfme() - orderDetl.getQty()).orElse(0.0D); + BigDecimal a1 = new BigDecimal(orderDetl.getAnfme()); + BigDecimal b1 = new BigDecimal(orderDetl.getQty()); + Double c1 = a1.subtract(b1).doubleValue(); + double issued = Optional.of( c1 ).orElse(0.0D); if (issued <= 0.0D) { continue; } List<LocDetl> locDetls = locDetlService.queryStock2(orderDetl.getMatnr(), orderDetl.getBatch(), orderDetl.getOwner()); for (LocDetl locDetl : locDetls) { @@ -81,8 +90,10 @@ locDto.setManu(locDetl.getManu()); locDtos.add(locDto); exist.add(locDetl.getLocNo()); + BigDecimal iss=new BigDecimal(Double.toString(issued)); + BigDecimal an=new BigDecimal(Double.toString(locDetl.getAnfme())); // 鍓╀綑寰呭嚭鏁伴噺閫掑噺 - issued = issued - locDetl.getAnfme(); + issued=iss.subtract(an).doubleValue(); } else { break; } @@ -261,7 +272,7 @@ manPakOut.setMatnr(locDto.getMatnr()); manPakOut.setMaktx(locDto.getMaktx()); manPakOut.setDocNum(locDto.getOrderNo()); - manPakOut.setCount(0); + manPakOut.setCount(0.0); manPakOut.setStatus(0); manPakOut.setCreateTime(new Date()); manPakOut.setBatch(locDto.getBatch()); -- Gitblit v1.9.1