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 +++++++++++++------
 src/main/java/com/ruoyi/device/execl/DeviceLedgerExeclDto.java           |   19 ++++++++-----------
 2 files changed, 21 insertions(+), 17 deletions(-)

diff --git a/src/main/java/com/ruoyi/device/execl/DeviceLedgerExeclDto.java b/src/main/java/com/ruoyi/device/execl/DeviceLedgerExeclDto.java
index 83b3b9a..4efcb5b 100644
--- a/src/main/java/com/ruoyi/device/execl/DeviceLedgerExeclDto.java
+++ b/src/main/java/com/ruoyi/device/execl/DeviceLedgerExeclDto.java
@@ -29,7 +29,7 @@
     @Schema(description = "璁″垝杩愯鏃堕棿")
     @JsonFormat(pattern = "yyyy-MM-dd")
     @DateTimeFormat(pattern = "yyyy-MM-dd")
-    @Excel(name = "璁″垝杩愯鏃堕棿",sort = 10,dateFormat = "yyyy-MM-dd")
+    @Excel(name = "璁″垝杩愯鏃堕棿",sort = 9,dateFormat = "yyyy-MM-dd")
     private Date planRuntimeTime;
 
     /**
@@ -51,46 +51,43 @@
     private String unit;
 
     /**
-     * 鏁伴噺
+     * 鏁伴噺锛堜笉鍦ㄥ鍏ユā鏉�/瀵煎嚭涓睍绀猴紝瀵煎叆鏃舵寜 1 鍙板鐞嗭級
      */
-    @Excel(name = "鏁伴噺",sort = 5, type = Excel.Type.EXPORT)
     private BigDecimal number = BigDecimal.ONE;
 
     /**
      * 鍚◣鍗曚环
      */
-    @Excel(name = "鍚◣鍗曚环",sort = 6)
+    @Excel(name = "鍚◣鍗曚环",sort = 5)
     private BigDecimal taxIncludingPriceUnit;
 
     /**
-     * 鍚◣鎬讳环
+     * 鍚◣鎬讳环锛堜笉鍦ㄥ鍏ユā鏉�/瀵煎嚭涓睍绀猴紝瀵煎叆鏃舵寜 鍚◣鍗曚环 脳 鏁伴噺 璁$畻锛�
      */
-    @Excel(name = "鍚◣鎬讳环",sort = 7, type = Excel.Type.EXPORT)
     private BigDecimal taxIncludingPriceTotal;
 
     /**
      * 绋庣巼
      */
-    @Excel(name = "绋庣巼",sort = 8)
+    @Excel(name = "绋庣巼",sort = 6)
     private BigDecimal taxRate;
 
     /**
-     * 涓嶅惈绋庢�讳环
+     * 涓嶅惈绋庢�讳环锛堜笉鍦ㄥ鍏ユā鏉�/瀵煎嚭涓睍绀猴紝鎸夌◣鐜囨姌绠楋級
      */
-    @Excel(name = "涓嶅惈绋庢�讳环",sort = 9, type = Excel.Type.EXPORT)
     private BigDecimal unTaxIncludingPriceTotal;
 
 
     /**
      * 鏄惁鍚敤 1-鍚敤 0-鍋滅敤
      */
-    @Excel(name = "鍚敤鐘舵��", sort = 9, readConverterExp = "1=鍚敤,0=鍋滅敤")
+    @Excel(name = "鍚敤鐘舵��", sort = 7, readConverterExp = "1=鍚敤,0=鍋滅敤")
     private Integer isEnabled;
 
     /**
      * 褰曞叆浜�
      */
-    @Excel(name = "褰曞叆浜�",sort = 9)
+    @Excel(name = "褰曞叆浜�",sort = 8)
     private String createUser;
 
 
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