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