yuan
2026-06-26 0ac445694a8ffc0e26e54d788d889b3797edf7a0
src/main/java/com/ruoyi/device/service/impl/DeviceMaintenanceServiceImpl.java
@@ -13,6 +13,7 @@
import com.ruoyi.device.service.DeviceMaintenanceFileService;
import com.ruoyi.device.service.IDeviceMaintenanceService;
import com.ruoyi.framework.web.domain.AjaxResult;
import com.ruoyi.measuringinstrumentledger.service.SparePartsRequisitionRecordService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -32,6 +33,9 @@
    @Autowired
    private DeviceMaintenanceFileService deviceMaintenanceFileService;
    @Autowired
    private SparePartsRequisitionRecordService sparePartsRequisitionRecordService;
    @Override
    public IPage<DeviceMaintenanceDto> queryPage(Page page, DeviceMaintenanceDto deviceMaintenanceDto) {
@@ -63,8 +67,33 @@
    }
    @Override
    @Transactional(rollbackFor = Exception.class)
    public AjaxResult updateDeviceDeviceMaintenance(DeviceMaintenance deviceMaintenance) {
        DeviceMaintenance existing = this.getById(deviceMaintenance.getId());
        if (existing == null) {
            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) {
                    return AjaxResult.error("关联临时文件失败: " + e.getMessage());
                }
            }
        }
        if (this.updateById(deviceMaintenance)) {
            if (deviceMaintenance.getSparePartsUseList() != null && !deviceMaintenance.getSparePartsUseList().isEmpty()) {
                sparePartsRequisitionRecordService.processSparePartsUse(
                        existing.getDeviceLedgerId(),
                        existing.getDeviceName(),
                        existing.getId(),
                        1,
                        "保养",
                        deviceMaintenance.getSparePartsUseList());
            }
            return AjaxResult.success();
        }
        return AjaxResult.error();