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,99 @@
package com.klp.ems.controller;
import java.util.List;
import java.util.Arrays;
import lombok.RequiredArgsConstructor;
import javax.servlet.http.HttpServletResponse;
import javax.validation.constraints.*;
import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated;
import com.klp.common.annotation.RepeatSubmit;
import com.klp.common.annotation.Log;
import com.klp.common.core.controller.BaseController;
import com.klp.common.core.domain.PageQuery;
import com.klp.common.core.domain.R;
import com.klp.common.core.validate.AddGroup;
import com.klp.common.core.validate.EditGroup;
import com.klp.common.enums.BusinessType;
import com.klp.common.utils.poi.ExcelUtil;
import com.klp.ems.domain.vo.EmsHazardRecordVo;
import com.klp.ems.domain.bo.EmsHazardRecordBo;
import com.klp.ems.service.IEmsHazardRecordService;
import com.klp.common.core.page.TableDataInfo;
/**
* 设备隐患记录
*
* @author Joshi
* @date 2025-10-13
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/ems/hazardRecord")
public class EmsHazardRecordController extends BaseController {
private final IEmsHazardRecordService iEmsHazardRecordService;
/**
* 查询设备隐患记录列表
*/
@GetMapping("/list")
public TableDataInfo<EmsHazardRecordVo> list(EmsHazardRecordBo bo, PageQuery pageQuery) {
return iEmsHazardRecordService.queryPageList(bo, pageQuery);
}
/**
* 导出设备隐患记录列表
*/
@Log(title = "设备隐患记录", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(EmsHazardRecordBo bo, HttpServletResponse response) {
List<EmsHazardRecordVo> list = iEmsHazardRecordService.queryList(bo);
ExcelUtil.exportExcel(list, "设备隐患记录", EmsHazardRecordVo.class, response);
}
/**
* 获取设备隐患记录详细信息
*
* @param hazardId 主键
*/
@GetMapping("/{hazardId}")
public R<EmsHazardRecordVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long hazardId) {
return R.ok(iEmsHazardRecordService.queryById(hazardId));
}
/**
* 新增设备隐患记录
*/
@Log(title = "设备隐患记录", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody EmsHazardRecordBo bo) {
return toAjax(iEmsHazardRecordService.insertByBo(bo));
}
/**
* 修改设备隐患记录
*/
@Log(title = "设备隐患记录", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody EmsHazardRecordBo bo) {
return toAjax(iEmsHazardRecordService.updateByBo(bo));
}
/**
* 删除设备隐患记录
*
* @param hazardIds 主键串
*/
@Log(title = "设备隐患记录", businessType = BusinessType.DELETE)
@DeleteMapping("/{hazardIds}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] hazardIds) {
return toAjax(iEmsHazardRecordService.deleteWithValidByIds(Arrays.asList(hazardIds), true));
}
}

View File

@@ -0,0 +1,99 @@
package com.klp.ems.controller;
import java.util.List;
import java.util.Arrays;
import lombok.RequiredArgsConstructor;
import javax.servlet.http.HttpServletResponse;
import javax.validation.constraints.*;
import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated;
import com.klp.common.annotation.RepeatSubmit;
import com.klp.common.annotation.Log;
import com.klp.common.core.controller.BaseController;
import com.klp.common.core.domain.PageQuery;
import com.klp.common.core.domain.R;
import com.klp.common.core.validate.AddGroup;
import com.klp.common.core.validate.EditGroup;
import com.klp.common.enums.BusinessType;
import com.klp.common.utils.poi.ExcelUtil;
import com.klp.ems.domain.vo.EmsSafetyEnvDocVo;
import com.klp.ems.domain.bo.EmsSafetyEnvDocBo;
import com.klp.ems.service.IEmsSafetyEnvDocService;
import com.klp.common.core.page.TableDataInfo;
/**
* 安全环保制度文档
*
* @author Joshi
* @date 2025-10-13
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/ems/safetyEnvDoc")
public class EmsSafetyEnvDocController extends BaseController {
private final IEmsSafetyEnvDocService iEmsSafetyEnvDocService;
/**
* 查询安全环保制度文档列表
*/
@GetMapping("/list")
public TableDataInfo<EmsSafetyEnvDocVo> list(EmsSafetyEnvDocBo bo, PageQuery pageQuery) {
return iEmsSafetyEnvDocService.queryPageList(bo, pageQuery);
}
/**
* 导出安全环保制度文档列表
*/
@Log(title = "安全环保制度文档", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(EmsSafetyEnvDocBo bo, HttpServletResponse response) {
List<EmsSafetyEnvDocVo> list = iEmsSafetyEnvDocService.queryList(bo);
ExcelUtil.exportExcel(list, "安全环保制度文档", EmsSafetyEnvDocVo.class, response);
}
/**
* 获取安全环保制度文档详细信息
*
* @param docId 主键
*/
@GetMapping("/{docId}")
public R<EmsSafetyEnvDocVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long docId) {
return R.ok(iEmsSafetyEnvDocService.queryById(docId));
}
/**
* 新增安全环保制度文档
*/
@Log(title = "安全环保制度文档", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody EmsSafetyEnvDocBo bo) {
return toAjax(iEmsSafetyEnvDocService.insertByBo(bo));
}
/**
* 修改安全环保制度文档
*/
@Log(title = "安全环保制度文档", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody EmsSafetyEnvDocBo bo) {
return toAjax(iEmsSafetyEnvDocService.updateByBo(bo));
}
/**
* 删除安全环保制度文档
*
* @param docIds 主键串
*/
@Log(title = "安全环保制度文档", businessType = BusinessType.DELETE)
@DeleteMapping("/{docIds}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] docIds) {
return toAjax(iEmsSafetyEnvDocService.deleteWithValidByIds(Arrays.asList(docIds), true));
}
}