From 6554bbd0dcbf5a83c9f043b8d193ddbc6a887345 Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期五, 24 四月 2026 10:35:59 +0800
Subject: [PATCH] feat:只有吨和公斤转换

---
 src/main/java/com/ruoyi/stock/service/impl/StockOutRecordServiceImpl.java |   49 ++++++++++++-------------------------------------
 1 files changed, 12 insertions(+), 37 deletions(-)

diff --git a/src/main/java/com/ruoyi/stock/service/impl/StockOutRecordServiceImpl.java b/src/main/java/com/ruoyi/stock/service/impl/StockOutRecordServiceImpl.java
index 6e28436..4dcfd59 100644
--- a/src/main/java/com/ruoyi/stock/service/impl/StockOutRecordServiceImpl.java
+++ b/src/main/java/com/ruoyi/stock/service/impl/StockOutRecordServiceImpl.java
@@ -246,47 +246,22 @@
             throw new BaseException("鏁伴噺涓嶈兘涓虹┖");
         }
 
-        // 濡傛灉婧愬崟浣嶄负绌猴紝鐩存帴杩斿洖鍘熷��
-        if (sourceUnit == null || sourceUnit.isEmpty()) {
+        // 婧愬崟浣嶆垨鐩爣鍗曚綅涓虹┖锛屾垨鍗曚綅鐩稿悓锛屾垨浠讳竴鍗曚綅涓嶆槸鍚�/鍏枻锛屽垯涓嶈浆鎹�
+        if (sourceUnit == null || sourceUnit.isEmpty()
+                || targetUnit == null || targetUnit.isEmpty()
+                || sourceUnit.equals(targetUnit)
+                || (!"鍚�".equals(sourceUnit) && !"鍏枻".equals(sourceUnit) && !"鍚�".equals(targetUnit) && !"鍏枻".equals(targetUnit))) {
             return quantity;
         }
 
-        // 濡傛灉婧愬崟浣嶅拰鐩爣鍗曚綅鐩稿悓锛岀洿鎺ヨ繑鍥�
-        if (sourceUnit.equals(targetUnit)) {
-            return quantity;
+        // 鍚� <-> 鍏枻 杞崲
+        if ("鍚�".equals(targetUnit) && "鍏枻".equals(sourceUnit)) {
+            // 鍏枻杞惃锛氶櫎浠�1000锛屼繚鐣�2浣嶅皬鏁�
+            return quantity.divide(BigDecimal.valueOf(1000), 2, RoundingMode.HALF_UP);
+        } else if ("鍏枻".equals(targetUnit) && "鍚�".equals(sourceUnit)) {
+            // 鍚ㄨ浆鍏枻锛氫箻浠�1000
+            return quantity.multiply(BigDecimal.valueOf(1000));
         }
-
-        // 鍗曚綅杞崲
-        if ("鍚�".equals(targetUnit)) {
-            // 鐩爣鍗曚綅鏄惃锛岄渶瑕佸皢婧愬崟浣嶈浆鎹负鍚�
-            if ("鍏枻".equals(sourceUnit)) {
-                // 鍏枻杞惃锛氶櫎浠�1000
-                return quantity.divide(BigDecimal.valueOf(1000), 2, RoundingMode.HALF_UP);
-            } else if ("鍏�".equals(sourceUnit)) {
-                // 鍏嬭浆鍚細闄や互1000000
-                return quantity.divide(BigDecimal.valueOf(1000000), 2, RoundingMode.HALF_UP);
-            }
-        } else if ("鍏枻".equals(targetUnit)) {
-            // 鐩爣鍗曚綅鏄叕鏂�
-            if ("鍚�".equals(sourceUnit)) {
-                // 鍚ㄨ浆鍏枻锛氫箻浠�1000
-                return quantity.multiply(BigDecimal.valueOf(1000));
-            } else if ("鍏�".equals(sourceUnit)) {
-                // 鍏嬭浆鍏枻锛氶櫎浠�1000
-                return quantity.divide(BigDecimal.valueOf(1000), 2, RoundingMode.HALF_UP);
-            }
-        } else if ("鍏�".equals(targetUnit)) {
-            // 鐩爣鍗曚綅鏄厠
-            if ("鍚�".equals(sourceUnit)) {
-                // 鍚ㄨ浆鍏嬶細涔樹互1000000
-                return quantity.multiply(BigDecimal.valueOf(1000000));
-            } else if ("鍏枻".equals(sourceUnit)) {
-                // 鍏枻杞厠锛氫箻浠�1000
-                return quantity.multiply(BigDecimal.valueOf(1000));
-            }
-        }
-
-        // 鏃犳硶杞崲鏃惰繑鍥炲師鍊�
         return quantity;
     }
 

--
Gitblit v1.9.3