Merge remote-tracking branch 'origin/dev' into dev

This commit is contained in:
jiangzhe 2024-04-17 09:03:03 +08:00
commit cdc4f4eabb
17 changed files with 926 additions and 17 deletions

View File

@ -0,0 +1,106 @@
package org.dromara.scale.controller;
import cn.dev33.satoken.annotation.SaCheckPermission;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import lombok.RequiredArgsConstructor;
import org.dromara.common.core.domain.R;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.common.idempotent.annotation.RepeatSubmit;
import org.dromara.common.log.annotation.Log;
import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.web.core.BaseController;
import org.dromara.scale.domain.bo.SysInterveneRecordBo;
import org.dromara.scale.domain.vo.SysInterveneRecordVo;
import org.dromara.scale.service.ISysInterveneRecordService;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 干预记录
*
* @author cjw
* @date 2024-04-16
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/scale/intervene")
public class SysInterveneRecordController extends BaseController {
private final ISysInterveneRecordService sysInterveneRecordService;
/**
* 查询干预记录列表
*/
@SaCheckPermission("scale:intervene:list")
@GetMapping("/list")
public TableDataInfo<SysInterveneRecordVo> list(SysInterveneRecordBo bo, PageQuery pageQuery) {
return sysInterveneRecordService.queryPageList(bo, pageQuery);
}
/**
* 导出干预记录列表
*/
@SaCheckPermission("scale:intervene:export")
@Log(title = "干预记录", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(SysInterveneRecordBo bo, HttpServletResponse response) {
List<SysInterveneRecordVo> list = sysInterveneRecordService.queryList(bo);
ExcelUtil.exportExcel(list, "干预记录", SysInterveneRecordVo.class, response);
}
/**
* 获取干预记录详细信息
*
* @param interveneId 主键
*/
@SaCheckPermission("scale:intervene:query")
@GetMapping("/{interveneId}")
public R<SysInterveneRecordVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long interveneId) {
return R.ok(sysInterveneRecordService.queryById(interveneId));
}
/**
* 新增干预记录
*/
@SaCheckPermission("scale:intervene:add")
@Log(title = "干预记录", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody SysInterveneRecordBo bo) {
return toAjax(sysInterveneRecordService.insertByBo(bo));
}
/**
* 修改干预记录
*/
@SaCheckPermission("scale:intervene:edit")
@Log(title = "干预记录", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody SysInterveneRecordBo bo) {
return toAjax(sysInterveneRecordService.updateByBo(bo));
}
/**
* 删除干预记录
*
* @param interveneIds 主键串
*/
@SaCheckPermission("scale:intervene:remove")
@Log(title = "干预记录", businessType = BusinessType.DELETE)
@DeleteMapping("/{interveneIds}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] interveneIds) {
return toAjax(sysInterveneRecordService.deleteWithValidByIds(List.of(interveneIds), true));
}
}

View File

@ -0,0 +1,81 @@
package org.dromara.scale.controller;
import cn.dev33.satoken.annotation.SaCheckPermission;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.NotNull;
import lombok.RequiredArgsConstructor;
import org.dromara.common.core.domain.R;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.common.idempotent.annotation.RepeatSubmit;
import org.dromara.common.log.annotation.Log;
import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.web.core.BaseController;
import org.dromara.scale.domain.bo.SysWarnRecordBo;
import org.dromara.scale.domain.vo.SysWarnRecordVo;
import org.dromara.scale.service.ISysWarnRecordService;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 预警记录
*
* @author cjw
* @date 2024-04-16
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/sacle/warn")
public class SysWarnRecordController extends BaseController {
private final ISysWarnRecordService sysWarnRecordService;
/**
* 查询预警记录列表
*/
@SaCheckPermission("sacle:warn:list")
@GetMapping("/list")
public TableDataInfo<SysWarnRecordVo> list(SysWarnRecordBo bo, PageQuery pageQuery) {
return sysWarnRecordService.queryPageList(bo, pageQuery);
}
/**
* 导出预警记录列表
*/
@SaCheckPermission("sacle:warn:export")
@Log(title = "预警记录", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(SysWarnRecordBo bo, HttpServletResponse response) {
List<SysWarnRecordVo> list = sysWarnRecordService.queryList(bo);
ExcelUtil.exportExcel(list, "预警记录", SysWarnRecordVo.class, response);
}
/**
* 获取预警记录详细信息
*
* @param warnId 主键
*/
@SaCheckPermission("sacle:warn:query")
@GetMapping("/{warnId}")
public R<SysWarnRecordVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long warnId) {
return R.ok(sysWarnRecordService.queryById(warnId));
}
/**
* 修改预警记录
*/
@SaCheckPermission("sacle:warn:edit")
@Log(title = "预警记录", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody SysWarnRecordBo bo) {
return toAjax(sysWarnRecordService.updateByBo(bo));
}
}

View File

@ -0,0 +1,47 @@
package org.dromara.scale.domain;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.io.Serial;
import java.util.Date;
/**
* 干预记录对象 sys_intervene_record
*
* @author cjw
* @date 2024-04-16
*/
@Data
@TableName("sys_intervene_record")
public class SysInterveneRecord {
@Serial
private static final long serialVersionUID = 1L;
/**
* 干预记录id
*/
@TableId(value = "intervene_id")
private Long interveneId;
/**
* 预警记录id
*/
private Long warnId;
/**
* 诊断
*/
private String diagnose;
/**
* 诊断附件
*/
private Long annex;
private Date createTime;
}

View File

@ -0,0 +1,55 @@
package org.dromara.scale.domain;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.io.Serial;
import java.util.Date;
/**
* 预警记录对象 sys_warn_record
*
* @author cjw
* @date 2024-04-16
*/
@Data
@TableName("sys_warn_record")
public class SysWarnRecord {
@Serial
private static final long serialVersionUID = 1L;
/**
*
*/
@TableId(value = "warn_id")
private Long warnId;
/**
* td_scale_publish表主键
*/
private Long batchNo;
/**
* 测评人id
*/
private Long userId;
/**
* 状态 0 未处理1 分配咨询师2 咨询师拒绝干预3 干预中 4 干预结束
*/
private Integer status;
/**
* 补充说明
*/
private String note;
/**
* 预警时间
*/
private Date warnTime;
}

View File

@ -0,0 +1,53 @@
package org.dromara.scale.domain.bo;
import org.dromara.scale.domain.SysInterveneRecord;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
/**
* 干预记录业务对象 sys_intervene_record
*
* @author cjw
* @date 2024-04-16
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = SysInterveneRecord.class, reverseConvertGenerate = false)
public class SysInterveneRecordBo extends BaseEntity {
/**
* 干预记录id
*/
//@NotNull(message = "干预记录id不能为空", groups = { EditGroup.class })
private Long interveneId;
/**
* 预警记录id
*/
@NotNull(message = "预警记录id不能为空", groups = { AddGroup.class, EditGroup.class })
private Long warnId;
/**
* 诊断
*/
@NotBlank(message = "诊断不能为空", groups = { AddGroup.class, EditGroup.class })
private String diagnose;
/**
* 诊断附件
*/
//@NotNull(message = "诊断附件不能为空", groups = { AddGroup.class, EditGroup.class })
private Long annex;
/**
* 状态是暂存还是完成
*/
private Integer status;
}

View File

@ -0,0 +1,62 @@
package org.dromara.scale.domain.bo;
import org.dromara.scale.domain.SysWarnRecord;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
/**
* 预警记录业务对象 sys_warn_record
*
* @author cjw
* @date 2024-04-16
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = SysWarnRecord.class, reverseConvertGenerate = false)
public class SysWarnRecordBo extends BaseEntity {
/**
*
*/
@NotNull(message = "不能为空", groups = { EditGroup.class })
private Long warnId;
/**
* td_scale_publish表主键
*/
@NotNull(message = "td_scale_publish表主键不能为空", groups = { AddGroup.class, EditGroup.class })
private Long batchNo;
/**
* 测评人id
*/
@NotNull(message = "测评人id不能为空", groups = { AddGroup.class, EditGroup.class })
private Long userId;
/**
* 状态 0 未处理1 分配咨询师2 咨询师拒绝干预3 干预中 4 干预结束
*/
@NotNull(message = "状态 0 未处理1 分配咨询师2 咨询师拒绝干预3 干预中 4 干预结束不能为空", groups = { AddGroup.class, EditGroup.class })
private Integer status;
/**
* 补充说明
*/
@NotBlank(message = "补充说明不能为空", groups = { AddGroup.class, EditGroup.class })
private String note;
/**
* 预警时间
*/
@NotNull(message = "预警时间不能为空", groups = { AddGroup.class, EditGroup.class })
private Date warnTime;
}

View File

@ -0,0 +1,56 @@
package org.dromara.scale.domain.vo;
import org.dromara.scale.domain.SysInterveneRecord;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
/**
* 干预记录视图对象 sys_intervene_record
*
* @author cjw
* @date 2024-04-16
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = SysInterveneRecord.class)
public class SysInterveneRecordVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 干预记录id
*/
@ExcelProperty(value = "干预记录id")
private Long interveneId;
/**
* 预警记录id
*/
@ExcelProperty(value = "预警记录id")
private Long warnId;
/**
* 诊断
*/
@ExcelProperty(value = "诊断")
private String diagnose;
/**
* 诊断附件
*/
@ExcelProperty(value = "诊断附件")
private Long annex;
}

View File

@ -0,0 +1,70 @@
package org.dromara.scale.domain.vo;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.dromara.scale.domain.SysWarnRecord;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
/**
* 预警记录视图对象 sys_warn_record
*
* @author cjw
* @date 2024-04-16
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = SysWarnRecord.class)
public class SysWarnRecordVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
*
*/
@ExcelProperty(value = "")
private Long warnId;
/**
* td_scale_publish表主键
*/
@ExcelProperty(value = "td_scale_publish表主键")
private Long batchNo;
/**
* 测评人id
*/
@ExcelProperty(value = "测评人id")
private Long userId;
/**
* 状态 0 未处理1 分配咨询师2 咨询师拒绝干预3 干预中 4 干预结束
*/
@ExcelProperty(value = "状态 0 未处理1 分配咨询师2 咨询师拒绝干预3 干预中 4 干预结束")
private Integer status;
/**
* 补充说明
*/
@ExcelProperty(value = "补充说明")
private String note;
/**
* 预警时间
*/
@ExcelProperty(value = "预警时间")
private Date warnTime;
}

View File

@ -0,0 +1,17 @@
package org.dromara.scale.mapper;
import org.apache.ibatis.annotations.Mapper;
import org.dromara.scale.domain.SysInterveneRecord;
import org.dromara.scale.domain.vo.SysInterveneRecordVo;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
/**
* 干预记录Mapper接口
*
* @author cjw
* @date 2024-04-16
*/
@Mapper
public interface SysInterveneRecordMapper extends BaseMapperPlus<SysInterveneRecord, SysInterveneRecordVo> {
}

View File

@ -0,0 +1,17 @@
package org.dromara.scale.mapper;
import org.apache.ibatis.annotations.Mapper;
import org.dromara.scale.domain.SysWarnRecord;
import org.dromara.scale.domain.vo.SysWarnRecordVo;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
/**
* 预警记录Mapper接口
*
* @author cjw
* @date 2024-04-16
*/
@Mapper
public interface SysWarnRecordMapper extends BaseMapperPlus<SysWarnRecord, SysWarnRecordVo> {
}

View File

@ -0,0 +1,49 @@
package org.dromara.scale.service;
import org.dromara.scale.domain.SysInterveneRecord;
import org.dromara.scale.domain.vo.SysInterveneRecordVo;
import org.dromara.scale.domain.bo.SysInterveneRecordBo;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import java.util.Collection;
import java.util.List;
/**
* 干预记录Service接口
*
* @author cjw
* @date 2024-04-16
*/
public interface ISysInterveneRecordService {
/**
* 查询干预记录
*/
SysInterveneRecordVo queryById(Long interveneId);
/**
* 查询干预记录列表
*/
TableDataInfo<SysInterveneRecordVo> queryPageList(SysInterveneRecordBo bo, PageQuery pageQuery);
/**
* 查询干预记录列表
*/
List<SysInterveneRecordVo> queryList(SysInterveneRecordBo bo);
/**
* 新增干预记录
*/
Boolean insertByBo(SysInterveneRecordBo bo);
/**
* 修改干预记录
*/
Boolean updateByBo(SysInterveneRecordBo bo);
/**
* 校验并批量删除干预记录信息
*/
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
}

View File

@ -0,0 +1,44 @@
package org.dromara.scale.service;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.scale.domain.SysWarnRecord;
import org.dromara.scale.domain.bo.SysWarnRecordBo;
import org.dromara.scale.domain.vo.SysWarnRecordVo;
import java.util.List;
/**
* 预警记录Service接口
*
* @author cjw
* @date 2024-04-16
*/
public interface ISysWarnRecordService {
/**
* 查询预警记录
*/
SysWarnRecordVo queryById(Long warnId);
/**
* 查询预警记录列表
*/
TableDataInfo<SysWarnRecordVo> queryPageList(SysWarnRecordBo bo, PageQuery pageQuery);
/**
* 查询预警记录列表
*/
List<SysWarnRecordVo> queryList(SysWarnRecordBo bo);
/**
* 新增预警记录
*/
Boolean insertByBo(SysWarnRecord add);
/**
* 修改预警记录
*/
Boolean updateByBo(SysWarnRecordBo bo);
}

View File

@ -0,0 +1,125 @@
package org.dromara.scale.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.RequiredArgsConstructor;
import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.scale.domain.SysInterveneRecord;
import org.dromara.scale.domain.SysWarnRecord;
import org.dromara.scale.domain.bo.SysInterveneRecordBo;
import org.dromara.scale.domain.vo.SysInterveneRecordVo;
import org.dromara.scale.mapper.SysInterveneRecordMapper;
import org.dromara.scale.mapper.SysWarnRecordMapper;
import org.dromara.scale.service.ISysInterveneRecordService;
import org.springframework.stereotype.Service;
import java.util.Collection;
import java.util.Date;
import java.util.List;
import java.util.Map;
/**
* 干预记录Service业务层处理
*
* @author cjw
* @date 2024-04-16
*/
@RequiredArgsConstructor
@Service
public class SysInterveneRecordServiceImpl implements ISysInterveneRecordService {
private final SysInterveneRecordMapper baseMapper;
private final SysWarnRecordMapper warnMapper;
/**
* 查询干预记录
*/
@Override
public SysInterveneRecordVo queryById(Long interveneId) {
return baseMapper.selectVoById(interveneId);
}
/**
* 查询干预记录列表
*/
@Override
public TableDataInfo<SysInterveneRecordVo> queryPageList(SysInterveneRecordBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<SysInterveneRecord> lqw = buildQueryWrapper(bo);
Page<SysInterveneRecordVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
/**
* 查询干预记录列表
*/
@Override
public List<SysInterveneRecordVo> queryList(SysInterveneRecordBo bo) {
LambdaQueryWrapper<SysInterveneRecord> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private LambdaQueryWrapper<SysInterveneRecord> buildQueryWrapper(SysInterveneRecordBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<SysInterveneRecord> lqw = Wrappers.lambdaQuery();
lqw.eq(bo.getWarnId() != null, SysInterveneRecord::getWarnId, bo.getWarnId());
lqw.eq(StringUtils.isNotBlank(bo.getDiagnose()), SysInterveneRecord::getDiagnose, bo.getDiagnose());
lqw.eq(bo.getAnnex() != null, SysInterveneRecord::getAnnex, bo.getAnnex());
return lqw;
}
/**
* 新增干预记录
*/
@Override
public Boolean insertByBo(SysInterveneRecordBo bo) {
SysInterveneRecord add = MapstructUtils.convert(bo, SysInterveneRecord.class);
add.setCreateTime(new Date());
validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
bo.setInterveneId(add.getInterveneId());
}
Integer status = bo.getStatus();
if (status.equals(1)) {
SysWarnRecord warnRecord = new SysWarnRecord();
warnRecord.setWarnId(add.getWarnId());
warnRecord.setStatus(4);
warnMapper.updateById(warnRecord);
}
return flag;
}
/**
* 修改干预记录
*/
@Override
public Boolean updateByBo(SysInterveneRecordBo bo) {
SysInterveneRecord update = MapstructUtils.convert(bo, SysInterveneRecord.class);
validEntityBeforeSave(update);
return baseMapper.updateById(update) > 0;
}
/**
* 保存前的数据校验
*/
private void validEntityBeforeSave(SysInterveneRecord entity) {
//TODO 做一些数据校验,如唯一约束
}
/**
* 批量删除干预记录
*/
@Override
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
if (isValid) {
//TODO 做一些业务上的校验,判断是否需要校验
}
return baseMapper.deleteBatchIds(ids) > 0;
}
}

View File

@ -0,0 +1,106 @@
package org.dromara.scale.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.RequiredArgsConstructor;
import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.scale.domain.SysWarnRecord;
import org.dromara.scale.domain.bo.SysWarnRecordBo;
import org.dromara.scale.domain.vo.SysWarnRecordVo;
import org.dromara.scale.mapper.SysWarnRecordMapper;
import org.dromara.scale.service.ISysWarnRecordService;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;
/**
* 预警记录Service业务层处理
*
* @author cjw
* @date 2024-04-16
*/
@RequiredArgsConstructor
@Service
public class SysWarnRecordServiceImpl implements ISysWarnRecordService {
private final SysWarnRecordMapper baseMapper;
/**
* 查询预警记录
*/
@Override
public SysWarnRecordVo queryById(Long warnId) {
return baseMapper.selectVoById(warnId);
}
/**
* 查询预警记录列表
*/
@Override
public TableDataInfo<SysWarnRecordVo> queryPageList(SysWarnRecordBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<SysWarnRecord> lqw = buildQueryWrapper(bo);
Page<SysWarnRecordVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
/**
* 查询预警记录列表
*/
@Override
public List<SysWarnRecordVo> queryList(SysWarnRecordBo bo) {
LambdaQueryWrapper<SysWarnRecord> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private LambdaQueryWrapper<SysWarnRecord> buildQueryWrapper(SysWarnRecordBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<SysWarnRecord> lqw = Wrappers.lambdaQuery();
lqw.eq(bo.getBatchNo() != null, SysWarnRecord::getBatchNo, bo.getBatchNo());
lqw.eq(bo.getUserId() != null, SysWarnRecord::getUserId, bo.getUserId());
lqw.eq(bo.getStatus() != null, SysWarnRecord::getStatus, bo.getStatus());
lqw.eq(StringUtils.isNotBlank(bo.getNote()), SysWarnRecord::getNote, bo.getNote());
lqw.eq(bo.getWarnTime() != null, SysWarnRecord::getWarnTime, bo.getWarnTime());
return lqw;
}
/**
* 新增预警记录
*/
@Override
public Boolean insertByBo(SysWarnRecord add) {
validEntityBeforeSave(add);
SysWarnRecord sysWarnRecord = baseMapper.selectOne(new LambdaQueryWrapper<SysWarnRecord>()
.eq(SysWarnRecord::getBatchNo, add.getBatchNo())
.eq(SysWarnRecord::getUserId, add.getUserId()));
//保证同一个batch只有一条数据
if (sysWarnRecord == null) {
return baseMapper.insert(add) > 0;
} else {
return true;
}
}
/**
* 修改预警记录
*/
@Override
public Boolean updateByBo(SysWarnRecordBo bo) {
SysWarnRecord update = MapstructUtils.convert(bo, SysWarnRecord.class);
validEntityBeforeSave(update);
return baseMapper.updateById(update) > 0;
}
/**
* 保存前的数据校验
*/
private void validEntityBeforeSave(SysWarnRecord entity) {
//TODO 做一些数据校验,如唯一约束
}
}

View File

@ -21,7 +21,7 @@ import org.dromara.scale.domain.vo.*;
import org.dromara.scale.mapper.*;
import org.dromara.scale.service.ISysScaleAnswerService;
import org.dromara.scale.service.ISysScaleFactorService;
import org.dromara.scale.service.ISysScaleQuestionService;
import org.dromara.scale.service.ISysWarnRecordService;
import org.dromara.scale.service.IWebService;
import org.dromara.system.domain.SysOss;
import org.dromara.system.domain.vo.SysDeptVo;
@ -53,10 +53,10 @@ public class WebServiceImpl implements IWebService {
private final ISysScaleFactorService scaleFactorService;
private final ISysScaleQuestionService scaleQuestionService;
private final ISysScaleAnswerService scaleAnswerService;
private final ISysWarnRecordService warnRecordService;
private final SysScaleMapper scaleMapper;
private final SysScalePublishMapper publishMapper;
@ -134,7 +134,7 @@ public class WebServiceImpl implements IWebService {
add.setUserId(loginUser.getUserId());
add.setDeptId(loginUser.getDeptId());
add.setCreateTime(new Date());
//validEntityBeforeSave(add);
validEntityBeforeSave(add);
boolean flag = recordMapper.insert(add) > 0;
if (flag) {
bo.setRecordId(add.getRecordId());
@ -152,7 +152,7 @@ public class WebServiceImpl implements IWebService {
int keySize = answerMapByQuestion.keySet().size();
List<SysEvaluationAnswerBo> answerList = bo.getAnswerList();
if (ArrayUtil.isEmpty(answerList)) {
throw new ServiceException("请先填写,再提交");
throw new ServiceException("请先填写答案,再提交");
}
int answerSize = answerList.size();
if (keySize != answerSize) {
@ -172,25 +172,21 @@ public class WebServiceImpl implements IWebService {
evaluationConclusionMapper.insertBatch(conclusionAdd);
Integer riskLevel = -1;
String riskName = "";
//选择风险等级最高
for (SysEvaluationConclusionVo ec : list) {
if (ec.getSituation() > riskLevel) {
riskLevel = ec.getSituation();
riskName = ec.getSituationName();
}
}
//判断风险等级是否为"高风险、重大风险"若是则形成预警记录
// if(riskName.equals("高风险") || riskName.equals("重大风险")){
// WarnRecordEval wre = new WarnRecordEval();
// wre.setId(idWorker.nextId());
// wre.setErId(evalRecord.getId());
// wre.setRiskLevel(riskName);
// wre.setUserId(evalRecord.getEvalUid());
// wre.setScaleId(evalRecord.getScaleId());
// wre.setTenantNo(sysUser.getTenantNo());
// warnRecordDAO.evalWarn(wre);
// }
if (riskLevel.equals(SituationEnum.HIGH.getValue()) || riskLevel.equals(SituationEnum.MAJOR.getValue())) {
SysWarnRecord wre = new SysWarnRecord();
wre.setBatchNo(scalePublishVo.getBatchNo());
wre.setUserId(getLoginUser().getUserId());
wre.setStatus(0);
wre.setWarnTime(new Date());
warnRecordService.insertByBo(wre);
}
//不允许查看考核结果
if (!allowQueryResult) {
return null;
@ -209,6 +205,17 @@ public class WebServiceImpl implements IWebService {
}};
}
private void validEntityBeforeSave(SysEvaluationRecord entity) {
//TODO 做一些数据校验,如唯一约束
List<SysEvaluationRecordVo> recordList = recordMapper.selectVoList(new LambdaQueryWrapper<SysEvaluationRecord>()
.eq(SysEvaluationRecord::getBatchNo, entity.getBatchNo())
.eq(SysEvaluationRecord::getUserId, entity.getUserId())
.eq(SysEvaluationRecord::getScaleId, entity.getScaleId()));
if (!ArrayUtil.isEmpty(recordList)) {
throw new ServiceException("本场次中你已做过此量表");
}
}
private List<SysEvaluationConclusionVo> calculateEvaluationResult(Long scaleId, List<SysEvaluationAnswerBo> answerList) {
Long recordId = answerList.get(0).getRecordId();
Map<Long, List<String>> questionMapByFactor = scaleFactorService.getQuestionMapByFactor(scaleId);

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.dromara.scale.mapper.SysInterveneRecordMapper">
</mapper>

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.dromara.scale.mapper.SysWarnRecordMapper">
</mapper>