feat(ems): 新增设备隐患记录和安全环保制度文档模块前后端
- 添加设备隐患记录实体类、业务对象和视图对象 - 实现设备隐患记录的增删改查接口及业务逻辑 - 添加安全环保制度文档实体类、业务对象和视图对象 - 实现安全环保制度文档的增删改查接口及业务逻辑 - 配置MyBatis映射文件和Mapper接口- 添加定时任务用于生成模拟报警记录 - 实现Excel导出功能及相关数据转换逻辑
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
package com.klp.ems.service;
|
||||
|
||||
import com.klp.ems.domain.EmsHazardRecord;
|
||||
import com.klp.ems.domain.vo.EmsHazardRecordVo;
|
||||
import com.klp.ems.domain.bo.EmsHazardRecordBo;
|
||||
import com.klp.common.core.page.TableDataInfo;
|
||||
import com.klp.common.core.domain.PageQuery;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 设备隐患记录Service接口
|
||||
*
|
||||
* @author Joshi
|
||||
* @date 2025-10-13
|
||||
*/
|
||||
public interface IEmsHazardRecordService {
|
||||
|
||||
/**
|
||||
* 查询设备隐患记录
|
||||
*/
|
||||
EmsHazardRecordVo queryById(Long hazardId);
|
||||
|
||||
/**
|
||||
* 查询设备隐患记录列表
|
||||
*/
|
||||
TableDataInfo<EmsHazardRecordVo> queryPageList(EmsHazardRecordBo bo, PageQuery pageQuery);
|
||||
|
||||
/**
|
||||
* 查询设备隐患记录列表
|
||||
*/
|
||||
List<EmsHazardRecordVo> queryList(EmsHazardRecordBo bo);
|
||||
|
||||
/**
|
||||
* 新增设备隐患记录
|
||||
*/
|
||||
Boolean insertByBo(EmsHazardRecordBo bo);
|
||||
|
||||
/**
|
||||
* 修改设备隐患记录
|
||||
*/
|
||||
Boolean updateByBo(EmsHazardRecordBo bo);
|
||||
|
||||
/**
|
||||
* 校验并批量删除设备隐患记录信息
|
||||
*/
|
||||
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
||||
}
|
||||
@@ -0,0 +1,49 @@
|
||||
package com.klp.ems.service;
|
||||
|
||||
import com.klp.ems.domain.EmsSafetyEnvDoc;
|
||||
import com.klp.ems.domain.vo.EmsSafetyEnvDocVo;
|
||||
import com.klp.ems.domain.bo.EmsSafetyEnvDocBo;
|
||||
import com.klp.common.core.page.TableDataInfo;
|
||||
import com.klp.common.core.domain.PageQuery;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 安全环保制度文档Service接口
|
||||
*
|
||||
* @author Joshi
|
||||
* @date 2025-10-13
|
||||
*/
|
||||
public interface IEmsSafetyEnvDocService {
|
||||
|
||||
/**
|
||||
* 查询安全环保制度文档
|
||||
*/
|
||||
EmsSafetyEnvDocVo queryById(Long docId);
|
||||
|
||||
/**
|
||||
* 查询安全环保制度文档列表
|
||||
*/
|
||||
TableDataInfo<EmsSafetyEnvDocVo> queryPageList(EmsSafetyEnvDocBo bo, PageQuery pageQuery);
|
||||
|
||||
/**
|
||||
* 查询安全环保制度文档列表
|
||||
*/
|
||||
List<EmsSafetyEnvDocVo> queryList(EmsSafetyEnvDocBo bo);
|
||||
|
||||
/**
|
||||
* 新增安全环保制度文档
|
||||
*/
|
||||
Boolean insertByBo(EmsSafetyEnvDocBo bo);
|
||||
|
||||
/**
|
||||
* 修改安全环保制度文档
|
||||
*/
|
||||
Boolean updateByBo(EmsSafetyEnvDocBo bo);
|
||||
|
||||
/**
|
||||
* 校验并批量删除安全环保制度文档信息
|
||||
*/
|
||||
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
||||
}
|
||||
@@ -0,0 +1,140 @@
|
||||
package com.klp.ems.service.impl;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import com.klp.common.core.page.TableDataInfo;
|
||||
import com.klp.common.core.domain.PageQuery;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.klp.common.utils.StringUtils;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
import com.klp.ems.domain.bo.EmsHazardRecordBo;
|
||||
import com.klp.ems.domain.vo.EmsHazardRecordVo;
|
||||
import com.klp.ems.domain.EmsHazardRecord;
|
||||
import com.klp.ems.mapper.EmsHazardRecordMapper;
|
||||
import com.klp.ems.service.IEmsHazardRecordService;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Collection;
|
||||
|
||||
/**
|
||||
* 设备隐患记录Service业务层处理
|
||||
*
|
||||
* @author Joshi
|
||||
* @date 2025-10-13
|
||||
*/
|
||||
@RequiredArgsConstructor
|
||||
@Service
|
||||
public class EmsHazardRecordServiceImpl implements IEmsHazardRecordService {
|
||||
|
||||
private final EmsHazardRecordMapper baseMapper;
|
||||
|
||||
/**
|
||||
* 查询设备隐患记录
|
||||
*/
|
||||
@Override
|
||||
public EmsHazardRecordVo queryById(Long hazardId){
|
||||
return baseMapper.selectVoById(hazardId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询设备隐患记录列表
|
||||
*/
|
||||
@Override
|
||||
public TableDataInfo<EmsHazardRecordVo> queryPageList(EmsHazardRecordBo bo, PageQuery pageQuery) {
|
||||
QueryWrapper<EmsHazardRecord> qw = buildQueryWrapperPlus(bo);
|
||||
Page<EmsHazardRecordVo> result = baseMapper.selectVoPagePlus(pageQuery.build(), qw);
|
||||
return TableDataInfo.build(result);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询设备隐患记录列表
|
||||
*/
|
||||
@Override
|
||||
public List<EmsHazardRecordVo> queryList(EmsHazardRecordBo bo) {
|
||||
LambdaQueryWrapper<EmsHazardRecord> lqw = buildQueryWrapper(bo);
|
||||
return baseMapper.selectVoList(lqw);
|
||||
}
|
||||
|
||||
private LambdaQueryWrapper<EmsHazardRecord> buildQueryWrapper(EmsHazardRecordBo bo) {
|
||||
Map<String, Object> params = bo.getParams();
|
||||
LambdaQueryWrapper<EmsHazardRecord> lqw = Wrappers.lambdaQuery();
|
||||
lqw.eq(bo.getDeviceId() != null, EmsHazardRecord::getDeviceId, bo.getDeviceId());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getHazardType()), EmsHazardRecord::getHazardType, bo.getHazardType());
|
||||
lqw.eq(bo.getHazardLevel() != null, EmsHazardRecord::getHazardLevel, bo.getHazardLevel());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getHazardDesc()), EmsHazardRecord::getHazardDesc, bo.getHazardDesc());
|
||||
lqw.eq(bo.getDiscoveryTime() != null, EmsHazardRecord::getDiscoveryTime, bo.getDiscoveryTime());
|
||||
lqw.eq(bo.getInputTime() != null, EmsHazardRecord::getInputTime, bo.getInputTime());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getInputUser()), EmsHazardRecord::getInputUser, bo.getInputUser());
|
||||
lqw.eq(bo.getStatus() != null, EmsHazardRecord::getStatus, bo.getStatus());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getRectifyUser()), EmsHazardRecord::getRectifyUser, bo.getRectifyUser());
|
||||
lqw.eq(bo.getRectifyTime() != null, EmsHazardRecord::getRectifyTime, bo.getRectifyTime());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getRectifyDesc()), EmsHazardRecord::getRectifyDesc, bo.getRectifyDesc());
|
||||
return lqw;
|
||||
}
|
||||
|
||||
// 表别名 h 的联表分页查询条件
|
||||
private QueryWrapper<EmsHazardRecord> buildQueryWrapperPlus(EmsHazardRecordBo bo) {
|
||||
QueryWrapper<EmsHazardRecord> qw = Wrappers.query();
|
||||
qw.eq(bo.getDeviceId() != null, "h.device_id", bo.getDeviceId());
|
||||
qw.eq(StringUtils.isNotBlank(bo.getHazardType()), "h.hazard_type", bo.getHazardType());
|
||||
qw.eq(bo.getHazardLevel() != null, "h.hazard_level", bo.getHazardLevel());
|
||||
qw.eq(StringUtils.isNotBlank(bo.getHazardDesc()), "h.hazard_desc", bo.getHazardDesc());
|
||||
qw.eq(bo.getDiscoveryTime() != null, "h.discovery_time", bo.getDiscoveryTime());
|
||||
qw.eq(bo.getInputTime() != null, "h.input_time", bo.getInputTime());
|
||||
qw.eq(StringUtils.isNotBlank(bo.getInputUser()), "h.input_user", bo.getInputUser());
|
||||
qw.eq(bo.getStatus() != null, "h.status", bo.getStatus());
|
||||
qw.eq(StringUtils.isNotBlank(bo.getRectifyUser()), "h.rectify_user", bo.getRectifyUser());
|
||||
qw.eq(bo.getRectifyTime() != null, "h.rectify_time", bo.getRectifyTime());
|
||||
qw.eq(StringUtils.isNotBlank(bo.getRectifyDesc()), "h.rectify_desc", bo.getRectifyDesc());
|
||||
//逻辑删除
|
||||
qw.eq("h.del_flag", 0);
|
||||
// 这里不用写 join,SQL 在 xml 中定义
|
||||
return qw;
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增设备隐患记录
|
||||
*/
|
||||
@Override
|
||||
public Boolean insertByBo(EmsHazardRecordBo bo) {
|
||||
EmsHazardRecord add = BeanUtil.toBean(bo, EmsHazardRecord.class);
|
||||
validEntityBeforeSave(add);
|
||||
boolean flag = baseMapper.insert(add) > 0;
|
||||
if (flag) {
|
||||
bo.setHazardId(add.getHazardId());
|
||||
}
|
||||
return flag;
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改设备隐患记录
|
||||
*/
|
||||
@Override
|
||||
public Boolean updateByBo(EmsHazardRecordBo bo) {
|
||||
EmsHazardRecord update = BeanUtil.toBean(bo, EmsHazardRecord.class);
|
||||
validEntityBeforeSave(update);
|
||||
return baseMapper.updateById(update) > 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存前的数据校验
|
||||
*/
|
||||
private void validEntityBeforeSave(EmsHazardRecord entity){
|
||||
//TODO 做一些数据校验,如唯一约束
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除设备隐患记录
|
||||
*/
|
||||
@Override
|
||||
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
||||
if(isValid){
|
||||
//TODO 做一些业务上的校验,判断是否需要校验
|
||||
}
|
||||
return baseMapper.deleteBatchIds(ids) > 0;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,115 @@
|
||||
package com.klp.ems.service.impl;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import com.klp.common.core.page.TableDataInfo;
|
||||
import com.klp.common.core.domain.PageQuery;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.klp.common.utils.StringUtils;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
import com.klp.ems.domain.bo.EmsSafetyEnvDocBo;
|
||||
import com.klp.ems.domain.vo.EmsSafetyEnvDocVo;
|
||||
import com.klp.ems.domain.EmsSafetyEnvDoc;
|
||||
import com.klp.ems.mapper.EmsSafetyEnvDocMapper;
|
||||
import com.klp.ems.service.IEmsSafetyEnvDocService;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Collection;
|
||||
|
||||
/**
|
||||
* 安全环保制度文档Service业务层处理
|
||||
*
|
||||
* @author Joshi
|
||||
* @date 2025-10-13
|
||||
*/
|
||||
@RequiredArgsConstructor
|
||||
@Service
|
||||
public class EmsSafetyEnvDocServiceImpl implements IEmsSafetyEnvDocService {
|
||||
|
||||
private final EmsSafetyEnvDocMapper baseMapper;
|
||||
|
||||
/**
|
||||
* 查询安全环保制度文档
|
||||
*/
|
||||
@Override
|
||||
public EmsSafetyEnvDocVo queryById(Long docId){
|
||||
return baseMapper.selectVoById(docId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询安全环保制度文档列表
|
||||
*/
|
||||
@Override
|
||||
public TableDataInfo<EmsSafetyEnvDocVo> queryPageList(EmsSafetyEnvDocBo bo, PageQuery pageQuery) {
|
||||
LambdaQueryWrapper<EmsSafetyEnvDoc> lqw = buildQueryWrapper(bo);
|
||||
Page<EmsSafetyEnvDocVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
||||
return TableDataInfo.build(result);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询安全环保制度文档列表
|
||||
*/
|
||||
@Override
|
||||
public List<EmsSafetyEnvDocVo> queryList(EmsSafetyEnvDocBo bo) {
|
||||
LambdaQueryWrapper<EmsSafetyEnvDoc> lqw = buildQueryWrapper(bo);
|
||||
return baseMapper.selectVoList(lqw);
|
||||
}
|
||||
|
||||
private LambdaQueryWrapper<EmsSafetyEnvDoc> buildQueryWrapper(EmsSafetyEnvDocBo bo) {
|
||||
Map<String, Object> params = bo.getParams();
|
||||
LambdaQueryWrapper<EmsSafetyEnvDoc> lqw = Wrappers.lambdaQuery();
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getDocNo()), EmsSafetyEnvDoc::getDocNo, bo.getDocNo());
|
||||
lqw.like(StringUtils.isNotBlank(bo.getDocName()), EmsSafetyEnvDoc::getDocName, bo.getDocName());
|
||||
lqw.eq(bo.getDocCategory() != null, EmsSafetyEnvDoc::getDocCategory, bo.getDocCategory());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getDocType()), EmsSafetyEnvDoc::getDocType, bo.getDocType());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getAccessory()), EmsSafetyEnvDoc::getAccessory, bo.getAccessory());
|
||||
lqw.eq(bo.getPublishStatus() != null, EmsSafetyEnvDoc::getPublishStatus, bo.getPublishStatus());
|
||||
lqw.eq(bo.getPublishTime() != null, EmsSafetyEnvDoc::getPublishTime, bo.getPublishTime());
|
||||
return lqw;
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增安全环保制度文档
|
||||
*/
|
||||
@Override
|
||||
public Boolean insertByBo(EmsSafetyEnvDocBo bo) {
|
||||
EmsSafetyEnvDoc add = BeanUtil.toBean(bo, EmsSafetyEnvDoc.class);
|
||||
validEntityBeforeSave(add);
|
||||
boolean flag = baseMapper.insert(add) > 0;
|
||||
if (flag) {
|
||||
bo.setDocId(add.getDocId());
|
||||
}
|
||||
return flag;
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改安全环保制度文档
|
||||
*/
|
||||
@Override
|
||||
public Boolean updateByBo(EmsSafetyEnvDocBo bo) {
|
||||
EmsSafetyEnvDoc update = BeanUtil.toBean(bo, EmsSafetyEnvDoc.class);
|
||||
validEntityBeforeSave(update);
|
||||
return baseMapper.updateById(update) > 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存前的数据校验
|
||||
*/
|
||||
private void validEntityBeforeSave(EmsSafetyEnvDoc entity){
|
||||
//TODO 做一些数据校验,如唯一约束
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除安全环保制度文档
|
||||
*/
|
||||
@Override
|
||||
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
||||
if(isValid){
|
||||
//TODO 做一些业务上的校验,判断是否需要校验
|
||||
}
|
||||
return baseMapper.deleteBatchIds(ids) > 0;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user