From 3913b2929bc224d03d6c994f7b772251f1bbb113 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期五, 27 六月 2025 10:47:23 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/utils/MatUtils.java               |   25 +++++++++++++++++++++++++
 src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java |    3 ++-
 2 files changed, 27 insertions(+), 1 deletions(-)

diff --git a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
index 310351b..59f1e23 100644
--- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -625,7 +625,8 @@
         int i = 0;
         for (LocDetl locDetl : locDetls) {
             // 淇敼搴撳瓨
-            locDetlService.updateAnfme(locDetl.getAnfme(), locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getBatch(), locDetl.getBrand(),
+            Double anfme = MatUtils.calcAnfmeFromWeight(locDetl.getMatnr(), locDetl.getAnfme());
+            locDetlService.updateAnfme(anfme, locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getBatch(), locDetl.getBrand(),
                     locDetl.getStandby1(), locDetl.getStandby2(), locDetl.getStandby3(), locDetl.getBoxType1(), locDetl.getBoxType2(), locDetl.getBoxType3());
             i++;
         }
diff --git a/src/main/java/com/zy/asrs/utils/MatUtils.java b/src/main/java/com/zy/asrs/utils/MatUtils.java
index 4496c75..b88aa94 100644
--- a/src/main/java/com/zy/asrs/utils/MatUtils.java
+++ b/src/main/java/com/zy/asrs/utils/MatUtils.java
@@ -58,4 +58,29 @@
         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