From 6f01b51fc0770fda7787076caf0314be7a7f6656 Mon Sep 17 00:00:00 2001 From: Junjie <fallin.jie@qq.com> Date: 星期五, 27 六月 2025 10:58:21 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/utils/MatUtils.java | 38 ++++++++++++++++++++++++++++++++++++-- 1 files changed, 36 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/zy/asrs/utils/MatUtils.java b/src/main/java/com/zy/asrs/utils/MatUtils.java index ec305a1..b88aa94 100644 --- a/src/main/java/com/zy/asrs/utils/MatUtils.java +++ b/src/main/java/com/zy/asrs/utils/MatUtils.java @@ -7,6 +7,9 @@ import com.zy.asrs.service.MatService; import lombok.extern.slf4j.Slf4j; +import java.math.BigDecimal; +import java.math.RoundingMode; + /** * Created by vincent on 2022/4/23 */ @@ -45,8 +48,39 @@ } String[] split = origin.split("/"); //杈呭崟浣� - Double weight = (anfme / Double.parseDouble(split[1])) / Double.parseDouble(split[0]); - return weight; + + BigDecimal anfmeBigDecimal = BigDecimal.valueOf(anfme); + BigDecimal origin1 = new BigDecimal(split[1]); + BigDecimal origin0 = new BigDecimal(split[0]); + + BigDecimal divideResult1 = anfmeBigDecimal.divide(origin1, 9, RoundingMode.HALF_UP); + BigDecimal weightBigDecimal = divideResult1.divide(origin0, 9, RoundingMode.HALF_UP); + return weightBigDecimal.doubleValue(); + } + + public static Double calcAnfmeFromWeight(String matnr, Double weight) { + MatService matService = SpringUtils.getBean(MatService.class); + //鏇存柊杈呮枡 + Mat mat = matService.selectByMatnr(matnr); + if (mat == null) { + throw new CoolException("鐗╂枡淇℃伅涓嶅瓨鍦�"); + } + + //杞崲鍏崇郴 + String origin = mat.getOrigin(); + if (Cools.isEmpty(origin)) { + throw new CoolException("涓昏緟鏁伴噺杞崲鍏紡涓嶅瓨鍦�"); + } + String[] split = origin.split("/"); + //杈呭崟浣� + + BigDecimal weightBigDecimal = BigDecimal.valueOf(weight); + BigDecimal origin1 = new BigDecimal(split[1]); + BigDecimal origin0 = new BigDecimal(split[0]); + + BigDecimal multiplyResult1 = weightBigDecimal.multiply(origin1); + BigDecimal anfmeBigDecimal = multiplyResult1.multiply(origin0); + return anfmeBigDecimal.doubleValue(); } } -- Gitblit v1.9.1