From e6c576bb57aa314e62154bbfc852012280d15aff Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期五, 30 十月 2026 11:47:55 +0800
Subject: [PATCH] fix(device): 设备台账导入模板与导出格式统一为模板字段

---
 src/main/java/com/ruoyi/device/service/impl/DeviceLedgerServiceImpl.java |   19 +++++++++++++------
 1 files changed, 13 insertions(+), 6 deletions(-)

diff --git a/src/main/java/com/ruoyi/device/service/impl/DeviceLedgerServiceImpl.java b/src/main/java/com/ruoyi/device/service/impl/DeviceLedgerServiceImpl.java
index bce327f..ff2f308 100644
--- a/src/main/java/com/ruoyi/device/service/impl/DeviceLedgerServiceImpl.java
+++ b/src/main/java/com/ruoyi/device/service/impl/DeviceLedgerServiceImpl.java
@@ -190,13 +190,20 @@
             deviceLedger.setCreateUser(SecurityUtils.getUserId().intValue());
         }
         BeanUtils.copyProperties(c, deviceLedger);
-        // 閫氳繃鍚◣鍗曚环銆佹暟閲忋�佺◣鐜囪绠楀惈绋庢�讳环锛屼笉鍚◣鎬讳环
-        deviceLedger.setTaxIncludingPriceTotal(c.getTaxIncludingPriceUnit());
-        deviceLedger.setNumber(BigDecimal.ONE);
+        // 鏁伴噺锛欵xcel 鏈~鏃舵寜 1 鍙板鐞�
+        if (deviceLedger.getNumber() == null) {
+            deviceLedger.setNumber(BigDecimal.ONE);
+        }
+        // 鍚◣鎬讳环锛欵xcel 鏈~鏃舵寜 鍚◣鍗曚环 脳 鏁伴噺 璁$畻
+        if (deviceLedger.getTaxIncludingPriceTotal() == null && deviceLedger.getTaxIncludingPriceUnit() != null) {
+            deviceLedger.setTaxIncludingPriceTotal(deviceLedger.getTaxIncludingPriceUnit().multiply(deviceLedger.getNumber()));
+        }
         deviceLedger.setPlanRuntimeTime(DateUtils.toLocalDate(c.getPlanRuntimeTime()));
-        // 璁$畻涓嶅惈绋庢�讳环锛屽鐞嗙┖鍊兼儏鍐�
-        if (deviceLedger.getTaxIncludingPriceTotal() != null && c.getTaxRate() != null) {
-            deviceLedger.setUnTaxIncludingPriceTotal(deviceLedger.getTaxIncludingPriceTotal().divide(BigDecimal.ONE.add(c.getTaxRate()), 2, RoundingMode.HALF_UP));
+        // 涓嶅惈绋庢�讳环锛氬惈绋庢�讳环涓庣◣鐜囬兘鏈夊�兼椂鎸夌◣鐜囨姌绠楋紝绋庣巼鎸夌櫨鍒嗘暟瀛樺偍锛�13 琛ㄧず 13%锛夛紝涓庡彴璐︾幇鏈夋暟鎹彛寰勪竴鑷�
+        if (deviceLedger.getTaxIncludingPriceTotal() != null && deviceLedger.getTaxRate() != null) {
+            BigDecimal rate = deviceLedger.getTaxRate().divide(new BigDecimal(100), 4, RoundingMode.HALF_UP);
+            deviceLedger.setUnTaxIncludingPriceTotal(deviceLedger.getTaxIncludingPriceTotal()
+                    .divide(BigDecimal.ONE.add(rate), 2, RoundingMode.HALF_UP));
         }
         return deviceLedger;
     }

--
Gitblit v1.9.3