From 77b8a87b6f2d39c38db276e42e030362b9df4000 Mon Sep 17 00:00:00 2001 From: zjj <3272660260@qq.com> Date: 星期四, 14 九月 2023 13:00:13 +0800 Subject: [PATCH] #上架时判断小数给price字段插入1,不是小数插入2,订单出库优先出小数 --- 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..1134cc2 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_HALF_UP); + BigDecimal b1 = new BigDecimal(orderDetl.getQty()).setScale(2,BigDecimal.ROUND_HALF_UP); + Double c1 = a1.subtract(b1).setScale(2,BigDecimal.ROUND_HALF_UP).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_HALF_UP); + BigDecimal an=new BigDecimal(Double.toString(locDetl.getAnfme())).setScale(2,BigDecimal.ROUND_HALF_UP); // 鍓╀綑寰呭嚭鏁伴噺閫掑噺 - issued=iss.subtract(an).doubleValue(); + issued=iss.subtract(an).setScale(2,BigDecimal.ROUND_HALF_UP).doubleValue(); } else { break; } -- Gitblit v1.9.1