From 8b1bfaac66ddcfcf4633db2b379fefffadc743ec Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期一, 18 五月 2026 17:42:34 +0800
Subject: [PATCH] feat: 设备保养附件

---
 src/main/java/com/ruoyi/device/service/impl/DeviceMaintenanceServiceImpl.java |   25 ++++++++++++++++++++++---
 src/main/java/com/ruoyi/device/pojo/DeviceMaintenance.java                    |    5 +++++
 2 files changed, 27 insertions(+), 3 deletions(-)

diff --git a/src/main/java/com/ruoyi/device/pojo/DeviceMaintenance.java b/src/main/java/com/ruoyi/device/pojo/DeviceMaintenance.java
index 1d5b951..57148c7 100644
--- a/src/main/java/com/ruoyi/device/pojo/DeviceMaintenance.java
+++ b/src/main/java/com/ruoyi/device/pojo/DeviceMaintenance.java
@@ -10,6 +10,7 @@
 import org.springframework.format.annotation.DateTimeFormat;
 
 import java.time.LocalDateTime;
+import java.util.List;
 
 @Data
 @TableName("device_maintenance")
@@ -96,4 +97,8 @@
 
     @ApiModelProperty("淇濆吇椤圭洰")
     private String maintenanceItems;
+
+    @ApiModelProperty("涓存椂鏂囦欢ID鍒楄〃")
+    @TableField(exist = false)
+    private List<String> tempFileIds;
 }
diff --git a/src/main/java/com/ruoyi/device/service/impl/DeviceMaintenanceServiceImpl.java b/src/main/java/com/ruoyi/device/service/impl/DeviceMaintenanceServiceImpl.java
index 23cc5cb..f527b11 100644
--- a/src/main/java/com/ruoyi/device/service/impl/DeviceMaintenanceServiceImpl.java
+++ b/src/main/java/com/ruoyi/device/service/impl/DeviceMaintenanceServiceImpl.java
@@ -10,10 +10,12 @@
 import com.ruoyi.device.execl.DeviceMaintenanceExeclDto;
 import com.ruoyi.device.mapper.DeviceMaintenanceMapper;
 import com.ruoyi.device.pojo.DeviceMaintenance;
+import com.ruoyi.device.service.DeviceMaintenanceFileService;
 import com.ruoyi.device.service.IDeviceMaintenanceService;
 import com.ruoyi.framework.web.domain.AjaxResult;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 import javax.servlet.http.HttpServletResponse;
 import java.util.ArrayList;
@@ -28,6 +30,9 @@
     @Autowired
     private DeviceMaintenanceMapper deviceMaintenanceMapper;
 
+    @Autowired
+    private DeviceMaintenanceFileService deviceMaintenanceFileService;
+
     @Override
     public IPage<DeviceMaintenanceDto> queryPage(Page page, DeviceMaintenanceDto deviceMaintenanceDto) {
 
@@ -35,12 +40,26 @@
     }
 
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public AjaxResult saveDeviceRepair(DeviceMaintenance deviceMaintenance) {
+        // 鍏堜繚瀛樿澶囦繚鍏昏褰�
         boolean save = this.save(deviceMaintenance);
-        if (save) {
-            return AjaxResult.success(deviceMaintenance);
+        if (!save) {
+            return AjaxResult.error("淇濆瓨澶辫触");
         }
-        return AjaxResult.error();
+
+        // 澶勭悊涓存椂鏂囦欢鍏宠仈
+        if (deviceMaintenance.getTempFileIds() != null && !deviceMaintenance.getTempFileIds().isEmpty()) {
+            for (String tempId : deviceMaintenance.getTempFileIds()) {
+                try {
+                    deviceMaintenanceFileService.bindFromTemp(tempId, deviceMaintenance.getId().intValue(), null);
+                } catch (Exception e) {
+                    throw new RuntimeException("鍏宠仈涓存椂鏂囦欢澶辫触: " + e.getMessage());
+                }
+            }
+        }
+
+        return AjaxResult.success(deviceMaintenance);
     }
 
     @Override

--
Gitblit v1.9.3