feat(ems): 新增设备隐患记录和安全环保制度文档模块前后端

- 添加设备隐患记录实体类、业务对象和视图对象
- 实现设备隐患记录的增删改查接口及业务逻辑
- 添加安全环保制度文档实体类、业务对象和视图对象
- 实现安全环保制度文档的增删改查接口及业务逻辑
- 配置MyBatis映射文件和Mapper接口- 添加定时任务用于生成模拟报警记录
- 实现Excel导出功能及相关数据转换逻辑
This commit is contained in:
2025-10-13 11:39:55 +08:00
parent 0a366b054c
commit a63387e069
22 changed files with 2312 additions and 0 deletions

View File

@@ -0,0 +1,83 @@
package com.klp.ems.domain;
import com.baomidou.mybatisplus.annotation.*;
import com.klp.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
/**
* 设备隐患记录对象 ems_hazard_record
*
* @author Joshi
* @date 2025-10-13
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("ems_hazard_record")
public class EmsHazardRecord extends BaseEntity {
private static final long serialVersionUID=1L;
/**
*
*/
@TableId(value = "hazard_id")
private Long hazardId;
/**
* 关联的设备ID
*/
private Long deviceId;
/**
* 隐患类型
*/
private String hazardType;
/**
* 隐患级别1=一般 2=较大 3=重大)
*/
private Long hazardLevel;
/**
* 隐患描述
*/
private String hazardDesc;
/**
* 发现时间
*/
private Date discoveryTime;
/**
* 录入时间
*/
private Date inputTime;
/**
* 录入人
*/
private String inputUser;
/**
* 处理状态0=未处理 1=处理中 2=已整改 3=已关闭)
*/
private Long status;
/**
* 整改人
*/
private String rectifyUser;
/**
* 整改时间
*/
private Date rectifyTime;
/**
* 整改说明
*/
private String rectifyDesc;
/**
* 删除标志0=存在 2=删除)
*/
@TableLogic
private String delFlag;
/**
* 备注
*/
private String remark;
}

View File

@@ -0,0 +1,72 @@
package com.klp.ems.domain;
import com.baomidou.mybatisplus.annotation.*;
import com.klp.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
/**
* 安全环保制度文档对象 ems_safety_env_doc
*
* @author Joshi
* @date 2025-10-13
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("ems_safety_env_doc")
public class EmsSafetyEnvDoc extends BaseEntity {
private static final long serialVersionUID=1L;
/**
* 文档ID主键
*/
@TableId(value = "doc_id")
private Long docId;
/**
* 文档编号(唯一)
*/
private String docNo;
/**
* 文档名称
*/
private String docName;
/**
* 文档分类1=安全 2=环保)
*/
private Long docCategory;
/**
* 文档类型(如:制度、规范、手册等)
*/
private String docType;
/**
* 附件
*/
private String accessory;
/**
* 文档版本
*/
@Version
private String version;
/**
* 发布状态0=草稿 1=已发布)
*/
private Long publishStatus;
/**
* 发布日期
*/
private Date publishTime;
/**
* 备注
*/
private String remark;
/**
* 删除标志0=正常1=已删除)
*/
@TableLogic
private Integer delFlag;
}

View File

@@ -0,0 +1,88 @@
package com.klp.ems.domain.bo;
import com.klp.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.*;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
/**
* 设备隐患记录业务对象 ems_hazard_record
*
* @author Joshi
* @date 2025-10-13
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class EmsHazardRecordBo extends BaseEntity {
/**
*
*/
private Long hazardId;
/**
* 关联的设备ID
*/
private Long deviceId;
/**
* 隐患类型
*/
private String hazardType;
/**
* 隐患级别1=一般 2=较大 3=重大)
*/
private Long hazardLevel;
/**
* 隐患描述
*/
private String hazardDesc;
/**
* 发现时间
*/
private Date discoveryTime;
/**
* 录入时间
*/
private Date inputTime;
/**
* 录入人
*/
private String inputUser;
/**
* 处理状态0=未处理 1=处理中 2=已整改 3=已关闭)
*/
private Long status;
/**
* 整改人
*/
private String rectifyUser;
/**
* 整改时间
*/
private Date rectifyTime;
/**
* 整改说明
*/
private String rectifyDesc;
/**
* 备注
*/
private String remark;
}

View File

@@ -0,0 +1,68 @@
package com.klp.ems.domain.bo;
import com.klp.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.*;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
/**
* 安全环保制度文档业务对象 ems_safety_env_doc
*
* @author Joshi
* @date 2025-10-13
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class EmsSafetyEnvDocBo extends BaseEntity {
/**
* 文档ID主键
*/
private Long docId;
/**
* 文档编号(唯一)
*/
private String docNo;
/**
* 文档名称
*/
private String docName;
/**
* 文档分类1=安全 2=环保)
*/
private Long docCategory;
/**
* 文档类型(如:制度、规范、手册等)
*/
private String docType;
/**
* 附件
*/
private String accessory;
/**
* 发布状态0=草稿 1=已发布)
*/
private Long publishStatus;
/**
* 发布日期
*/
private Date publishTime;
/**
* 备注
*/
private String remark;
}

View File

@@ -0,0 +1,113 @@
package com.klp.ems.domain.vo;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.klp.common.annotation.ExcelDictFormat;
import com.klp.common.convert.ExcelDictConvert;
import lombok.Data;
/**
* 设备隐患记录视图对象 ems_hazard_record
*
* @author Joshi
* @date 2025-10-13
*/
@Data
@ExcelIgnoreUnannotated
public class EmsHazardRecordVo {
private static final long serialVersionUID = 1L;
/**
*
*/
@ExcelProperty(value = "")
private Long hazardId;
/**
* 关联的设备ID
*/
@ExcelProperty(value = "关联的设备ID")
private Long deviceId;
/**
* 设备名称
*/
@ExcelProperty(value = "设备名称")
private String deviceName;
/**
* 隐患类型
*/
@ExcelProperty(value = "隐患类型", converter = ExcelDictConvert.class)
@ExcelDictFormat(dictType = "hazard_type")
private String hazardType;
/**
* 隐患级别1=一般 2=较大 3=重大)
*/
@ExcelProperty(value = "隐患级别", converter = ExcelDictConvert.class)
@ExcelDictFormat(dictType = "hazard_level")
private Long hazardLevel;
/**
* 隐患描述
*/
@ExcelProperty(value = "隐患描述")
private String hazardDesc;
/**
* 发现时间
*/
@ExcelProperty(value = "发现时间")
private Date discoveryTime;
/**
* 录入时间
*/
@ExcelProperty(value = "录入时间")
private Date inputTime;
/**
* 录入人
*/
@ExcelProperty(value = "录入人")
private String inputUser;
/**
* 处理状态0=未处理 1=处理中 2=已整改 3=已关闭)
*/
@ExcelProperty(value = "处理状态", converter = ExcelDictConvert.class)
@ExcelDictFormat(dictType = "hazard_status")
private Long status;
/**
* 整改人
*/
@ExcelProperty(value = "整改人")
private String rectifyUser;
/**
* 整改时间
*/
@ExcelProperty(value = "整改时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date rectifyTime;
/**
* 整改说明
*/
@ExcelProperty(value = "整改说明")
private String rectifyDesc;
/**
* 备注
*/
@ExcelProperty(value = "备注")
private String remark;
}

View File

@@ -0,0 +1,84 @@
package com.klp.ems.domain.vo;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.klp.common.annotation.ExcelDictFormat;
import com.klp.common.convert.ExcelDictConvert;
import lombok.Data;
/**
* 安全环保制度文档视图对象 ems_safety_env_doc
*
* @author Joshi
* @date 2025-10-13
*/
@Data
@ExcelIgnoreUnannotated
public class EmsSafetyEnvDocVo {
private static final long serialVersionUID = 1L;
/**
* 文档ID主键
*/
@ExcelProperty(value = "文档ID", converter = ExcelDictConvert.class)
@ExcelDictFormat(readConverterExp = "主=键")
private Long docId;
/**
* 文档编号(唯一)
*/
@ExcelProperty(value = "文档编号", converter = ExcelDictConvert.class)
@ExcelDictFormat(readConverterExp = "唯=一")
private String docNo;
/**
* 文档名称
*/
@ExcelProperty(value = "文档名称")
private String docName;
/**
* 文档分类1=安全 2=环保)
*/
@ExcelProperty(value = "文档分类", converter = ExcelDictConvert.class)
@ExcelDictFormat(dictType = "doc_category")
private Long docCategory;
/**
* 文档类型(如:制度、规范、手册等)
*/
@ExcelProperty(value = "文档类型", converter = ExcelDictConvert.class)
@ExcelDictFormat(dictType = "doc_type")
private String docType;
/**
* 附件
*/
@ExcelProperty(value = "附件")
private String accessory;
/**
* 发布状态0=草稿 1=已发布)
*/
@ExcelProperty(value = "发布状态", converter = ExcelDictConvert.class)
@ExcelDictFormat(dictType = "publish_status")
private Long publishStatus;
/**
* 发布日期
*/
@ExcelProperty(value = "发布日期")
private Date publishTime;
/**
* 备注
*/
@ExcelProperty(value = "备注")
private String remark;
}