From 3f9bda7361b9a9a9c908c54afaeb4a41d3727a25 Mon Sep 17 00:00:00 2001 From: lsh <1> Date: 星期四, 03 八月 2023 00:43:56 +0800 Subject: [PATCH] #平库库位转移BUG修复 --- src/main/java/com/zy/asrs/controller/OutController.java | 20 ++++++++++++-------- 1 files changed, 12 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/OutController.java b/src/main/java/com/zy/asrs/controller/OutController.java index 978209e..8e00eac 100644 --- a/src/main/java/com/zy/asrs/controller/OutController.java +++ b/src/main/java/com/zy/asrs/controller/OutController.java @@ -71,17 +71,21 @@ Set<String> exist = new HashSet<>(); for (OrderDetl orderDetl : orderDetls) { - BigDecimal a1 = new BigDecimal(orderDetl.getAnfme()); - BigDecimal b1 = new BigDecimal(orderDetl.getQty()); - Double c1 = a1.subtract(b1).doubleValue(); + BigDecimal a1 = new BigDecimal(orderDetl.getAnfme()).setScale(2,BigDecimal.ROUND_DOWN); + BigDecimal b1 = new BigDecimal(orderDetl.getQty()).setScale(2,BigDecimal.ROUND_DOWN); + Double c1 = a1.subtract(b1).setScale(2,BigDecimal.ROUND_DOWN).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) { if (issued > 0) { + boolean sign = false; + if (issued > locDetl.getAnfme() || locDetl.getAnfme().equals(issued)){ + sign=true; + } LocDto locDto = new LocDto(locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getMaktx(), locDetl.getBatch(), orderDetl.getOrderNo(), - issued >= locDetl.getAnfme() ? locDetl.getAnfme() : issued,locDetl.getOwner(),locDetl.getPayment()); - List<Integer> staNos = staDescService.queryOutStaNosByLocNo(locDetl.getLocNo(), issued >= locDetl.getAnfme() ? 101 : 103); + sign ? locDetl.getAnfme() : issued,locDetl.getOwner(),locDetl.getPayment()); + List<Integer> staNos = staDescService.queryOutStaNosByLocNo(locDetl.getLocNo(), sign? 101 : 103); // LocDto locDto = new LocDto(locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getMaktx(), locDetl.getBatch(), orderDetl.getOrderNo(), // locDetl.getAnfme(), issued < locDetl.getAnfme()? issued : locDetl.getAnfme()); // //閫熻吘鍙湁鍏ㄦ澘锛屾墍浠ュ彧鑳�101鍏ㄦ澘鍑哄簱 @@ -90,10 +94,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())); + BigDecimal iss=new BigDecimal(Double.toString(issued)).setScale(2,BigDecimal.ROUND_DOWN); + BigDecimal an=new BigDecimal(Double.toString(locDetl.getAnfme())).setScale(2,BigDecimal.ROUND_DOWN); // 鍓╀綑寰呭嚭鏁伴噺閫掑噺 - issued=iss.subtract(an).doubleValue(); + issued=iss.subtract(an).setScale(2,BigDecimal.ROUND_DOWN).doubleValue(); } else { break; } -- Gitblit v1.9.1