From 4c64c91e39784bf68b0a1b3c6ab302a24249b829 Mon Sep 17 00:00:00 2001
From: wangqian <1406304305@qq.com>
Date: Sat, 6 Dec 2025 14:39:07 +0800
Subject: [PATCH] 人机材导入修改
---
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/costfee/vo/MechanicalCostImport.java | 66 ++++++++++++++++++++++++++++++++++++++++++++++--------------------
urbanops-module-garden/src/main/resources/mapper/mechanicalcost/MechanicalCostMapper.xml | 14 ++++++++++++++
urbanops-module-gloabl/src/main/resources/mapper/mechanicalcost/MechanicalCostMapper.xml | 14 --------------
3 files changed, 60 insertions(+), 34 deletions(-)
create mode 100644 urbanops-module-garden/src/main/resources/mapper/mechanicalcost/MechanicalCostMapper.xml
delete mode 100644 urbanops-module-gloabl/src/main/resources/mapper/mechanicalcost/MechanicalCostMapper.xml
diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/costfee/vo/MechanicalCostImport.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/costfee/vo/MechanicalCostImport.java
index 9646367..6a12bfd 100644
--- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/costfee/vo/MechanicalCostImport.java
+++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/costfee/vo/MechanicalCostImport.java
@@ -86,12 +86,10 @@ public class MechanicalCostImport {
private Long serviceLife;
/** 状态(0正常 1停用) */
- @ExcelProperty(index = 10)
- @NotNull(message = "当前状态不能为空")
- @Min(value = 0, message = "状态只能为0(在用)或1(报废)")
- @Max(value = 1, message = "状态只能为0(在用)或1(报废)")
private Long status;
+ @ExcelProperty(index = 10)
+ @NotNull(message = "当前状态不能为空")
private String statusTxt;
/** 归属公司 */
@@ -110,27 +108,55 @@ public class MechanicalCostImport {
private String remark;
- // 设置status时自动更新statusTxt
+ /**
+ * 1. 修改 statusTxt(文本状态)时,自动同步 status(数字状态)
+ * 支持 Excel 导入的文本值:“在用”“正常”→0;“报废”“停用”→1;其他→默认未知状态
+ */
+ public void setStatusTxt(String statusTxt) {
+ this.statusTxt = statusTxt; // 先赋值文本状态
+ this.status = parseStatusFromTxt(statusTxt); // 同步数字状态
+ }
+
+ /**
+ * 2. 修改 status(数字状态)时,自动同步 statusTxt(文本状态)
+ * 保持双向联动:改数字→更文本,改文本→更数字
+ */
public void setStatus(Long status) {
- this.status = status;
- updateStatusTxt();
+ this.status = status; // 先赋值数字状态
+ this.statusTxt = parseTxtFromStatus(status); // 同步文本状态
}
- private void updateStatusTxt() {
- if (status == null) {
- statusTxt = null;
- return;
+ /**
+ * 辅助方法:将状态文本转为数字状态
+ */
+ private Long parseStatusFromTxt(String statusTxt) {
+ if (statusTxt == null || statusTxt.trim().isEmpty()) {
+ this.statusTxt = "未知状态"; // 空文本兜底
+ return null;
}
+ String trimmedTxt = statusTxt.trim();
+ // 支持多文本映射(兼容 Excel 中可能的不同写法)
+ return switch (trimmedTxt) {
+ case "在用", "正常", "0" -> 0L;
+ case "报废", "停用", "1" -> 1L;
+ default -> {
+ this.statusTxt = "未知状态"; // 非法文本兜底
+ yield null; // 非法状态返回 null,后续可做校验
+ }
+ };
+ }
- switch (status.intValue()) {
- case 0:
- statusTxt = "在用";
- break;
- case 1:
- statusTxt = "报废";
- break;
- default:
- statusTxt = "未知状态";
+ /**
+ * 辅助方法:将数字状态转为文本状态
+ */
+ private String parseTxtFromStatus(Long status) {
+ if (status == null) {
+ return "未知状态";
}
+ return switch (status.intValue()) {
+ case 0 -> "在用";
+ case 1 -> "报废";
+ default -> "未知状态";
+ };
}
}
diff --git a/urbanops-module-garden/src/main/resources/mapper/mechanicalcost/MechanicalCostMapper.xml b/urbanops-module-garden/src/main/resources/mapper/mechanicalcost/MechanicalCostMapper.xml
new file mode 100644
index 0000000..5a02843
--- /dev/null
+++ b/urbanops-module-garden/src/main/resources/mapper/mechanicalcost/MechanicalCostMapper.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
diff --git a/urbanops-module-gloabl/src/main/resources/mapper/mechanicalcost/MechanicalCostMapper.xml b/urbanops-module-gloabl/src/main/resources/mapper/mechanicalcost/MechanicalCostMapper.xml
deleted file mode 100644
index d2abe01..0000000
--- a/urbanops-module-gloabl/src/main/resources/mapper/mechanicalcost/MechanicalCostMapper.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
-
-
-
--
libgit2 0.21.4