From 477ccd20acbafc1ec65134f1592b3cf835a9a585 Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期一, 18 五月 2026 17:12:55 +0800
Subject: [PATCH] feat: 新增保养部位与保养内容

---
 src/main/resources/mapper/device/DeviceMaintenanceMapper.xml |    5 ++
 src/main/java/com/ruoyi/device/dto/DeviceMaintenanceDto.java |    5 ++
 doc/fix_maintenance_tables.sql                               |   52 ++++++++++++++++++++++++++
 src/main/java/com/ruoyi/device/pojo/DeviceMaintenance.java   |    5 ++
 src/main/java/com/ruoyi/device/pojo/MaintenanceTask.java     |    4 ++
 5 files changed, 69 insertions(+), 2 deletions(-)

diff --git a/doc/fix_maintenance_tables.sql b/doc/fix_maintenance_tables.sql
new file mode 100644
index 0000000..d79ae38
--- /dev/null
+++ b/doc/fix_maintenance_tables.sql
@@ -0,0 +1,52 @@
+-- ============================================================
+-- 璁惧淇濆吇妯″潡鏁版嵁搴撲慨澶嶈剼鏈�
+-- 淇淇濆吇閮ㄤ綅鍜屼繚鍏婚」鐩瓧娈电己澶遍棶棰�
+-- 鍒涘缓鏃堕棿: 2026-05-18
+-- ============================================================
+
+-- ============================================================
+-- 闂璇存槑锛�
+-- 1. maintenance_task 琛ㄧ己灏� maintenance_location (淇濆吇閮ㄤ綅) 瀛楁
+-- 2. device_maintenance 琛ㄧ己灏� maintenance_items (淇濆吇椤圭洰) 瀛楁
+-- ============================================================
+
+
+-- ----------------------------
+-- 淇 1: 鍦� maintenance_task 琛ㄦ坊鍔� maintenance_location (淇濆吇閮ㄤ綅) 瀛楁
+-- ----------------------------
+-- 鍏堟鏌ュ瓧娈垫槸鍚﹀瓨鍦紝涓嶅瓨鍦ㄥ垯娣诲姞
+SET @col_exists = (SELECT COUNT(*) FROM INFORMATION_SCHEMA.COLUMNS
+                   WHERE TABLE_SCHEMA = DATABASE()
+                   AND TABLE_NAME = 'maintenance_task'
+                   AND COLUMN_NAME = 'maintenance_location');
+SET @sql = IF(@col_exists = 0,
+    'ALTER TABLE `maintenance_task` ADD COLUMN `maintenance_location` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT ''淇濆吇閮ㄤ綅''',
+    'SELECT ''maintenance_location column already exists'' AS result');
+PREPARE stmt FROM @sql;
+EXECUTE stmt;
+DEALLOCATE PREPARE stmt;
+
+
+-- ----------------------------
+-- 淇 2: 鍦� device_maintenance 琛ㄦ坊鍔� maintenance_items (淇濆吇椤圭洰) 瀛楁
+-- ----------------------------
+-- 鍏堟鏌ュ瓧娈垫槸鍚﹀瓨鍦紝涓嶅瓨鍦ㄥ垯娣诲姞
+SET @col_exists = (SELECT COUNT(*) FROM INFORMATION_SCHEMA.COLUMNS
+                   WHERE TABLE_SCHEMA = DATABASE()
+                   AND TABLE_NAME = 'device_maintenance'
+                   AND COLUMN_NAME = 'maintenance_items');
+SET @sql = IF(@col_exists = 0,
+    'ALTER TABLE `device_maintenance` ADD COLUMN `maintenance_items` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT ''淇濆吇椤圭洰''',
+    'SELECT ''maintenance_items column already exists'' AS result');
+PREPARE stmt FROM @sql;
+EXECUTE stmt;
+DEALLOCATE PREPARE stmt;
+
+
+-- ============================================================
+-- 楠岃瘉鎵ц锛氭煡璇㈣〃缁撴瀯纭瀛楁宸叉坊鍔�
+-- ============================================================
+-- SELECT COLUMN_NAME, DATA_TYPE, COLUMN_COMMENT
+-- FROM INFORMATION_SCHEMA.COLUMNS
+-- WHERE TABLE_NAME IN ('maintenance_task', 'device_maintenance')
+-- AND COLUMN_NAME IN ('maintenance_location', 'maintenance_items');
diff --git a/src/main/java/com/ruoyi/device/dto/DeviceMaintenanceDto.java b/src/main/java/com/ruoyi/device/dto/DeviceMaintenanceDto.java
index 64f4011..8629f1d 100644
--- a/src/main/java/com/ruoyi/device/dto/DeviceMaintenanceDto.java
+++ b/src/main/java/com/ruoyi/device/dto/DeviceMaintenanceDto.java
@@ -23,9 +23,12 @@
     @ApiModelProperty("瑙勬牸鍨嬪彿")
     private String deviceModel;
 
-    @ApiModelProperty("璁惧淇濆吇浣嶇疆")
+    @ApiModelProperty("淇濆吇閮ㄤ綅")
     private String maintenanceLocation;
 
+    @ApiModelProperty("淇濆吇椤圭洰")
+    private String maintenanceItems;
+
     @ApiModelProperty("璁″垝淇濆吇鏃ユ湡")
     private String maintenancePlanTimeReq;
 
diff --git a/src/main/java/com/ruoyi/device/pojo/DeviceMaintenance.java b/src/main/java/com/ruoyi/device/pojo/DeviceMaintenance.java
index 18f3e45..1d5b951 100644
--- a/src/main/java/com/ruoyi/device/pojo/DeviceMaintenance.java
+++ b/src/main/java/com/ruoyi/device/pojo/DeviceMaintenance.java
@@ -91,6 +91,9 @@
     @TableField(fill = FieldFill.INSERT)
     private Long tenantId;
 
-    @ApiModelProperty("璁惧淇濆吇浣嶇疆")
+    @ApiModelProperty("淇濆吇閮ㄤ綅")
     private String maintenanceLocation;
+
+    @ApiModelProperty("淇濆吇椤圭洰")
+    private String maintenanceItems;
 }
diff --git a/src/main/java/com/ruoyi/device/pojo/MaintenanceTask.java b/src/main/java/com/ruoyi/device/pojo/MaintenanceTask.java
index b74e8d7..0c1ff1e 100644
--- a/src/main/java/com/ruoyi/device/pojo/MaintenanceTask.java
+++ b/src/main/java/com/ruoyi/device/pojo/MaintenanceTask.java
@@ -80,6 +80,10 @@
     @Excel(name = "淇濆吇椤圭洰")
     private String maintenanceItems;
 
+    @ApiModelProperty(value = "淇濆吇閮ㄤ綅")
+    @Excel(name = "淇濆吇鍐呭")
+    private String maintenanceLocation;
+
     @ApiModelProperty(value = "褰曞叆鏃ユ湡")
     @Excel(name = "褰曞叆鏃ユ湡", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
     @JsonFormat(pattern = "yyyy-MM-dd")
diff --git a/src/main/resources/mapper/device/DeviceMaintenanceMapper.xml b/src/main/resources/mapper/device/DeviceMaintenanceMapper.xml
index 61a8781..a0aaa2c 100644
--- a/src/main/resources/mapper/device/DeviceMaintenanceMapper.xml
+++ b/src/main/resources/mapper/device/DeviceMaintenanceMapper.xml
@@ -20,6 +20,7 @@
         dm.maintenance_actually_name,
         dm.maintenance_person,
         dm.maintenance_location,
+        dm.maintenance_items,
         dl.device_name,
         dl.device_model,
         su.nick_name as create_user_name
@@ -42,6 +43,9 @@
             </if>
             <if test="deviceMaintenanceDto.maintenanceLocation != null and deviceMaintenanceDto.maintenanceLocation != ''">
                 and dm.maintenance_location like concat('%',#{deviceMaintenanceDto.maintenanceLocation},'%')
+            </if>
+            <if test="deviceMaintenanceDto.maintenanceItems != null and deviceMaintenanceDto.maintenanceItems != ''">
+                and dm.maintenance_items like concat('%',#{deviceMaintenanceDto.maintenanceItems},'%')
             </if>
             <if test="deviceMaintenanceDto.maintenancePlanTime != null">
                 and dm.maintenance_plan_time like concat('%',#{deviceMaintenanceDto.maintenancePlanTime},'%')
@@ -70,6 +74,7 @@
                dm.maintenance_actually_name,
                dm.maintenance_person,
                dm.maintenance_location,
+               dm.maintenance_items,
                dl.device_name,
                dl.device_model,
                su.user_name as create_user_name

--
Gitblit v1.9.3