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