feat(device): 增加设备故障记录功能并完善监控逻辑
- 在 DeviceSsjMapper.xml 中添加 ipAddress 和 port 字段映射 - 调整 SQL 查询语句字段顺序以适配新增字段 - MonitoringThread.java 引入 BasFaultRecord 相关类及工具类 - 初始化 basFaultRecordService 和 mydoJobService 服务实例 - 实现设备状态异常检测逻辑,并创建或更新故障记录 - 新增 BasFaultRecord 实体类用于存储设备故障信息 - 创建 BasFaultRecordController 控制器提供 RESTful 接口 - 添加 BasFaultRecordMapper 接口定义数据库操作方法 - 编写 BasFaultRecordMapper.xml 配置文件实现 CRUD 操作 - 实现 BasFaultRecordServiceImpl 业务逻辑处理层 - 定义 IBasFaultRecordService 接口规范服务行为
This commit is contained in:
@@ -0,0 +1,104 @@
|
||||
package com.ruoyi.bas.fault.controller;
|
||||
|
||||
import java.util.List;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.PutMapping;
|
||||
import org.springframework.web.bind.annotation.DeleteMapping;
|
||||
import org.springframework.web.bind.annotation.PathVariable;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
import com.ruoyi.common.annotation.Log;
|
||||
import com.ruoyi.common.core.controller.BaseController;
|
||||
import com.ruoyi.common.core.domain.AjaxResult;
|
||||
import com.ruoyi.common.enums.BusinessType;
|
||||
import com.ruoyi.bas.fault.domain.BasFaultRecord;
|
||||
import com.ruoyi.bas.fault.service.IBasFaultRecordService;
|
||||
import com.ruoyi.common.utils.poi.ExcelUtil;
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
|
||||
/**
|
||||
* 设备故障记录Controller
|
||||
*
|
||||
* @author ruoyi
|
||||
* @date 2025-12-11
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/bas/faultRecord")
|
||||
public class BasFaultRecordController extends BaseController
|
||||
{
|
||||
@Autowired
|
||||
private IBasFaultRecordService basFaultRecordService;
|
||||
|
||||
/**
|
||||
* 查询设备故障记录列表
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('bas:faultRecord:list')")
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo list(BasFaultRecord basFaultRecord)
|
||||
{
|
||||
startPage();
|
||||
List<BasFaultRecord> list = basFaultRecordService.selectBasFaultRecordList(basFaultRecord);
|
||||
return getDataTable(list);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出设备故障记录列表
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('bas:faultRecord:export')")
|
||||
@Log(title = "设备故障记录", businessType = BusinessType.EXPORT)
|
||||
@PostMapping("/export")
|
||||
public void export(HttpServletResponse response, BasFaultRecord basFaultRecord)
|
||||
{
|
||||
List<BasFaultRecord> list = basFaultRecordService.selectBasFaultRecordList(basFaultRecord);
|
||||
ExcelUtil<BasFaultRecord> util = new ExcelUtil<BasFaultRecord>(BasFaultRecord.class);
|
||||
util.exportExcel(response, list, "设备故障记录数据");
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取设备故障记录详细信息
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('bas:faultRecord:query')")
|
||||
@GetMapping(value = "/{id}")
|
||||
public AjaxResult getInfo(@PathVariable("id") String id)
|
||||
{
|
||||
return success(basFaultRecordService.selectBasFaultRecordById(id));
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增设备故障记录
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('bas:faultRecord:add')")
|
||||
@Log(title = "设备故障记录", businessType = BusinessType.INSERT)
|
||||
@PostMapping
|
||||
public AjaxResult add(@RequestBody BasFaultRecord basFaultRecord)
|
||||
{
|
||||
return toAjax(basFaultRecordService.insertBasFaultRecord(basFaultRecord));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改设备故障记录
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('bas:faultRecord:edit')")
|
||||
@Log(title = "设备故障记录", businessType = BusinessType.UPDATE)
|
||||
@PutMapping
|
||||
public AjaxResult edit(@RequestBody BasFaultRecord basFaultRecord)
|
||||
{
|
||||
return toAjax(basFaultRecordService.updateBasFaultRecord(basFaultRecord));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除设备故障记录
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('bas:faultRecord:remove')")
|
||||
@Log(title = "设备故障记录", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{ids}")
|
||||
public AjaxResult remove(@PathVariable String[] ids)
|
||||
{
|
||||
return toAjax(basFaultRecordService.deleteBasFaultRecordByIds(ids));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,172 @@
|
||||
package com.ruoyi.bas.fault.domain;
|
||||
|
||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||
import org.apache.commons.lang3.builder.ToStringStyle;
|
||||
import com.ruoyi.common.annotation.Excel;
|
||||
import com.ruoyi.common.core.domain.BaseEntity;
|
||||
|
||||
/**
|
||||
* 设备故障记录对象 bas_fault_record
|
||||
*
|
||||
* @author ruoyi
|
||||
* @date 2025-12-11
|
||||
*/
|
||||
public class BasFaultRecord extends BaseEntity
|
||||
{
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/** id 主键 */
|
||||
private String id;
|
||||
|
||||
/** 设备id */
|
||||
@Excel(name = "设备id")
|
||||
private String deviceId;
|
||||
|
||||
/** 设备名称 */
|
||||
@Excel(name = "设备名称")
|
||||
private String deviceName;
|
||||
|
||||
/** 设备类型 */
|
||||
@Excel(name = "设备类型")
|
||||
private String deviceType;
|
||||
|
||||
/** 任务号 */
|
||||
@Excel(name = "任务号")
|
||||
private String taskNo;
|
||||
|
||||
/** 作业id */
|
||||
@Excel(name = "作业id ")
|
||||
private String jobId;
|
||||
|
||||
/** 报警信息 */
|
||||
@Excel(name = "报警信息")
|
||||
private String fault;
|
||||
|
||||
/** 报警开始时间 */
|
||||
@Excel(name = "报警开始时间")
|
||||
private String startTime;
|
||||
|
||||
/** 报警结束时间 */
|
||||
@Excel(name = "报警结束时间")
|
||||
private String finishTime;
|
||||
|
||||
/** 仓库 */
|
||||
@Excel(name = "仓库")
|
||||
private String warehouseId;
|
||||
|
||||
public void setId(String id)
|
||||
{
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public String getId()
|
||||
{
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setDeviceId(String deviceId)
|
||||
{
|
||||
this.deviceId = deviceId;
|
||||
}
|
||||
|
||||
public String getDeviceId()
|
||||
{
|
||||
return deviceId;
|
||||
}
|
||||
|
||||
public void setDeviceName(String deviceName)
|
||||
{
|
||||
this.deviceName = deviceName;
|
||||
}
|
||||
|
||||
public String getDeviceName()
|
||||
{
|
||||
return deviceName;
|
||||
}
|
||||
|
||||
public void setDeviceType(String deviceType)
|
||||
{
|
||||
this.deviceType = deviceType;
|
||||
}
|
||||
|
||||
public String getDeviceType()
|
||||
{
|
||||
return deviceType;
|
||||
}
|
||||
|
||||
public void setTaskNo(String taskNo)
|
||||
{
|
||||
this.taskNo = taskNo;
|
||||
}
|
||||
|
||||
public String getTaskNo()
|
||||
{
|
||||
return taskNo;
|
||||
}
|
||||
|
||||
public void setJobId(String jobId)
|
||||
{
|
||||
this.jobId = jobId;
|
||||
}
|
||||
|
||||
public String getJobId()
|
||||
{
|
||||
return jobId;
|
||||
}
|
||||
|
||||
public void setFault(String fault)
|
||||
{
|
||||
this.fault = fault;
|
||||
}
|
||||
|
||||
public String getFault()
|
||||
{
|
||||
return fault;
|
||||
}
|
||||
|
||||
public void setStartTime(String startTime)
|
||||
{
|
||||
this.startTime = startTime;
|
||||
}
|
||||
|
||||
public String getStartTime()
|
||||
{
|
||||
return startTime;
|
||||
}
|
||||
|
||||
public void setFinishTime(String finishTime)
|
||||
{
|
||||
this.finishTime = finishTime;
|
||||
}
|
||||
|
||||
public String getFinishTime()
|
||||
{
|
||||
return finishTime;
|
||||
}
|
||||
|
||||
public void setWarehouseId(String warehouseId)
|
||||
{
|
||||
this.warehouseId = warehouseId;
|
||||
}
|
||||
|
||||
public String getWarehouseId()
|
||||
{
|
||||
return warehouseId;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
|
||||
.append("id", getId())
|
||||
.append("deviceId", getDeviceId())
|
||||
.append("deviceName", getDeviceName())
|
||||
.append("deviceType", getDeviceType())
|
||||
.append("taskNo", getTaskNo())
|
||||
.append("jobId", getJobId())
|
||||
.append("fault", getFault())
|
||||
.append("startTime", getStartTime())
|
||||
.append("finishTime", getFinishTime())
|
||||
.append("warehouseId", getWarehouseId())
|
||||
.toString();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,61 @@
|
||||
package com.ruoyi.bas.fault.mapper;
|
||||
|
||||
import java.util.List;
|
||||
import com.ruoyi.bas.fault.domain.BasFaultRecord;
|
||||
|
||||
/**
|
||||
* 设备故障记录Mapper接口
|
||||
*
|
||||
* @author ruoyi
|
||||
* @date 2025-12-11
|
||||
*/
|
||||
public interface BasFaultRecordMapper
|
||||
{
|
||||
/**
|
||||
* 查询设备故障记录
|
||||
*
|
||||
* @param id 设备故障记录主键
|
||||
* @return 设备故障记录
|
||||
*/
|
||||
public BasFaultRecord selectBasFaultRecordById(String id);
|
||||
|
||||
/**
|
||||
* 查询设备故障记录列表
|
||||
*
|
||||
* @param basFaultRecord 设备故障记录
|
||||
* @return 设备故障记录集合
|
||||
*/
|
||||
public List<BasFaultRecord> selectBasFaultRecordList(BasFaultRecord basFaultRecord);
|
||||
|
||||
/**
|
||||
* 新增设备故障记录
|
||||
*
|
||||
* @param basFaultRecord 设备故障记录
|
||||
* @return 结果
|
||||
*/
|
||||
public int insertBasFaultRecord(BasFaultRecord basFaultRecord);
|
||||
|
||||
/**
|
||||
* 修改设备故障记录
|
||||
*
|
||||
* @param basFaultRecord 设备故障记录
|
||||
* @return 结果
|
||||
*/
|
||||
public int updateBasFaultRecord(BasFaultRecord basFaultRecord);
|
||||
|
||||
/**
|
||||
* 删除设备故障记录
|
||||
*
|
||||
* @param id 设备故障记录主键
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteBasFaultRecordById(String id);
|
||||
|
||||
/**
|
||||
* 批量删除设备故障记录
|
||||
*
|
||||
* @param ids 需要删除的数据主键集合
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteBasFaultRecordByIds(String[] ids);
|
||||
}
|
||||
@@ -0,0 +1,61 @@
|
||||
package com.ruoyi.bas.fault.service;
|
||||
|
||||
import java.util.List;
|
||||
import com.ruoyi.bas.fault.domain.BasFaultRecord;
|
||||
|
||||
/**
|
||||
* 设备故障记录Service接口
|
||||
*
|
||||
* @author ruoyi
|
||||
* @date 2025-12-11
|
||||
*/
|
||||
public interface IBasFaultRecordService
|
||||
{
|
||||
/**
|
||||
* 查询设备故障记录
|
||||
*
|
||||
* @param id 设备故障记录主键
|
||||
* @return 设备故障记录
|
||||
*/
|
||||
public BasFaultRecord selectBasFaultRecordById(String id);
|
||||
|
||||
/**
|
||||
* 查询设备故障记录列表
|
||||
*
|
||||
* @param basFaultRecord 设备故障记录
|
||||
* @return 设备故障记录集合
|
||||
*/
|
||||
public List<BasFaultRecord> selectBasFaultRecordList(BasFaultRecord basFaultRecord);
|
||||
|
||||
/**
|
||||
* 新增设备故障记录
|
||||
*
|
||||
* @param basFaultRecord 设备故障记录
|
||||
* @return 结果
|
||||
*/
|
||||
public int insertBasFaultRecord(BasFaultRecord basFaultRecord);
|
||||
|
||||
/**
|
||||
* 修改设备故障记录
|
||||
*
|
||||
* @param basFaultRecord 设备故障记录
|
||||
* @return 结果
|
||||
*/
|
||||
public int updateBasFaultRecord(BasFaultRecord basFaultRecord);
|
||||
|
||||
/**
|
||||
* 批量删除设备故障记录
|
||||
*
|
||||
* @param ids 需要删除的设备故障记录主键集合
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteBasFaultRecordByIds(String[] ids);
|
||||
|
||||
/**
|
||||
* 删除设备故障记录信息
|
||||
*
|
||||
* @param id 设备故障记录主键
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteBasFaultRecordById(String id);
|
||||
}
|
||||
@@ -0,0 +1,93 @@
|
||||
package com.ruoyi.bas.fault.service.impl;
|
||||
|
||||
import java.util.List;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import com.ruoyi.bas.fault.mapper.BasFaultRecordMapper;
|
||||
import com.ruoyi.bas.fault.domain.BasFaultRecord;
|
||||
import com.ruoyi.bas.fault.service.IBasFaultRecordService;
|
||||
|
||||
/**
|
||||
* 设备故障记录Service业务层处理
|
||||
*
|
||||
* @author ruoyi
|
||||
* @date 2025-12-11
|
||||
*/
|
||||
@Service
|
||||
public class BasFaultRecordServiceImpl implements IBasFaultRecordService
|
||||
{
|
||||
@Autowired
|
||||
private BasFaultRecordMapper basFaultRecordMapper;
|
||||
|
||||
/**
|
||||
* 查询设备故障记录
|
||||
*
|
||||
* @param id 设备故障记录主键
|
||||
* @return 设备故障记录
|
||||
*/
|
||||
@Override
|
||||
public BasFaultRecord selectBasFaultRecordById(String id)
|
||||
{
|
||||
return basFaultRecordMapper.selectBasFaultRecordById(id);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询设备故障记录列表
|
||||
*
|
||||
* @param basFaultRecord 设备故障记录
|
||||
* @return 设备故障记录
|
||||
*/
|
||||
@Override
|
||||
public List<BasFaultRecord> selectBasFaultRecordList(BasFaultRecord basFaultRecord)
|
||||
{
|
||||
return basFaultRecordMapper.selectBasFaultRecordList(basFaultRecord);
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增设备故障记录
|
||||
*
|
||||
* @param basFaultRecord 设备故障记录
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int insertBasFaultRecord(BasFaultRecord basFaultRecord)
|
||||
{
|
||||
return basFaultRecordMapper.insertBasFaultRecord(basFaultRecord);
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改设备故障记录
|
||||
*
|
||||
* @param basFaultRecord 设备故障记录
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int updateBasFaultRecord(BasFaultRecord basFaultRecord)
|
||||
{
|
||||
return basFaultRecordMapper.updateBasFaultRecord(basFaultRecord);
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除设备故障记录
|
||||
*
|
||||
* @param ids 需要删除的设备故障记录主键
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int deleteBasFaultRecordByIds(String[] ids)
|
||||
{
|
||||
return basFaultRecordMapper.deleteBasFaultRecordByIds(ids);
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除设备故障记录信息
|
||||
*
|
||||
* @param id 设备故障记录主键
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int deleteBasFaultRecordById(String id)
|
||||
{
|
||||
return basFaultRecordMapper.deleteBasFaultRecordById(id);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user