优化预警统计;预警根据配置新增;预警记录中严重度取场次中最高等级;
This commit is contained in:
parent
ba3562027c
commit
110d28c64f
|
@ -28,7 +28,7 @@ public class StatisticController extends BaseController {
|
|||
private final IStatisticService statisticService;
|
||||
|
||||
/**
|
||||
* 获取完成情况统计
|
||||
* 获取完成情况统计-整体
|
||||
*/
|
||||
@GetMapping("/complete/all")
|
||||
public R<List<StatisticNumVo>> getComplete(BaseQueryBo query) {
|
||||
|
@ -36,7 +36,7 @@ public class StatisticController extends BaseController {
|
|||
}
|
||||
|
||||
/**
|
||||
* 获取完成情况统计
|
||||
* 获取完成情况统计-班级
|
||||
*/
|
||||
@GetMapping("/complete/class")
|
||||
public R<List<StatisticNumVo>> getComplete4Class(BaseQueryBo query) {
|
||||
|
@ -44,22 +44,23 @@ public class StatisticController extends BaseController {
|
|||
}
|
||||
|
||||
/**
|
||||
* 获取预警情况统计
|
||||
* 获取预警情况统计-整体
|
||||
*/
|
||||
@GetMapping("/warn/all")
|
||||
public R<StatisticWarnVo> getWarn(BaseQueryBo query) {
|
||||
public R<List<StatisticWarnVo>> getWarn(BaseQueryBo query) {
|
||||
return R.ok(statisticService.getWarn4All(query));
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取预警情况统计
|
||||
* 获取预警情况统计-班级
|
||||
*/
|
||||
@GetMapping("/warn/class")
|
||||
public R<List<StatisticWarnVo>> getWarn4Class(BaseQueryBo query) {
|
||||
return R.ok(statisticService.getWarn4Class(query));
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取预警情况统计
|
||||
* 获取预警情况统计-整体
|
||||
*/
|
||||
@GetMapping("/factor/all")
|
||||
public R<List<StatisticNumVo>> getFactor(BaseQueryBo query) {
|
||||
|
@ -67,7 +68,7 @@ public class StatisticController extends BaseController {
|
|||
}
|
||||
|
||||
/**
|
||||
* 获取预警情况统计
|
||||
* 获取预警情况统计-班级
|
||||
*/
|
||||
@GetMapping("/factor/class")
|
||||
public R<List<StatisticNumVo>> getFactor4Class(BaseQueryBo query) {
|
||||
|
|
|
@ -36,7 +36,7 @@ public class SysEvaluationConclusionController extends BaseController {
|
|||
/**
|
||||
* 获取量测结果列表
|
||||
*/
|
||||
@SaCheckPermission("scale:evaluationConclusion:query")
|
||||
@SaCheckPermission("evaluation:conclusion:query")
|
||||
@GetMapping("/list")
|
||||
public R<List<SysEvaluationConclusionVo>> getList(SysEvaluationConclusionBo bo) {
|
||||
return R.ok(sysEvaluationConclusionService.queryList(bo));
|
||||
|
@ -45,7 +45,7 @@ public class SysEvaluationConclusionController extends BaseController {
|
|||
/**
|
||||
* 导出量测结果列表
|
||||
*/
|
||||
@SaCheckPermission("scale:evaluationConclusion:export")
|
||||
@SaCheckPermission("evaluation:conclusion:export")
|
||||
@Log(title = "量测结果", businessType = BusinessType.EXPORT)
|
||||
@PostMapping("/export")
|
||||
public void export(SysEvaluationConclusionBo bo, HttpServletResponse response) {
|
||||
|
|
|
@ -45,7 +45,7 @@ public class SysInterveneRecordController extends BaseController {
|
|||
/**
|
||||
* 导出干预记录列表
|
||||
*/
|
||||
@SaCheckPermission("scale:intervene:export")
|
||||
@SaCheckPermission("intervene:record:export")
|
||||
@Log(title = "干预记录", businessType = BusinessType.EXPORT)
|
||||
@PostMapping("/export")
|
||||
public void export(SysInterveneRecordBo bo, HttpServletResponse response) {
|
||||
|
@ -58,7 +58,7 @@ public class SysInterveneRecordController extends BaseController {
|
|||
*
|
||||
* @param interveneId 主键
|
||||
*/
|
||||
@SaCheckPermission("scale:intervene:query")
|
||||
@SaCheckPermission("intervene:record:query")
|
||||
@GetMapping("/{interveneId}")
|
||||
public R<SysInterveneRecordVo> getInfo(@NotNull(message = "主键不能为空") @PathVariable Long interveneId) {
|
||||
return R.ok(sysInterveneRecordService.queryById(interveneId));
|
||||
|
@ -67,7 +67,7 @@ public class SysInterveneRecordController extends BaseController {
|
|||
/**
|
||||
* 新增干预记录
|
||||
*/
|
||||
@SaCheckPermission("scale:intervene:add")
|
||||
@SaCheckPermission("intervene:record:add")
|
||||
@Log(title = "干预记录", businessType = BusinessType.INSERT)
|
||||
@RepeatSubmit()
|
||||
@PostMapping()
|
||||
|
|
|
@ -40,7 +40,7 @@ public class SysWarnController extends BaseController {
|
|||
/**
|
||||
* 查询预警记录列表
|
||||
*/
|
||||
@SaCheckPermission("scale:warn:list")
|
||||
@SaCheckPermission("warn:record:list")
|
||||
@GetMapping("/pageList")
|
||||
public TableDataInfo<SysWarnRecordVo> list(SysWarnRecordBo bo, PageQuery pageQuery) {
|
||||
return sysWarnRecordService.queryPageList(bo, pageQuery);
|
||||
|
@ -49,7 +49,7 @@ public class SysWarnController extends BaseController {
|
|||
/**
|
||||
* 导出预警记录列表
|
||||
*/
|
||||
@SaCheckPermission("scale:warn:export")
|
||||
@SaCheckPermission("warn:record:export")
|
||||
@Log(title = "预警记录", businessType = BusinessType.EXPORT)
|
||||
@PostMapping("/export")
|
||||
public void export(SysWarnRecordBo bo, HttpServletResponse response) {
|
||||
|
@ -62,7 +62,7 @@ public class SysWarnController extends BaseController {
|
|||
*
|
||||
* @param warnId 主键
|
||||
*/
|
||||
@SaCheckPermission("scale:warn:query")
|
||||
@SaCheckPermission("warn:record:query")
|
||||
@GetMapping("/{warnId}")
|
||||
public R<SysWarnRecordVo> getInfo(@NotNull(message = "主键不能为空")
|
||||
@PathVariable Long warnId) {
|
||||
|
@ -72,7 +72,7 @@ public class SysWarnController extends BaseController {
|
|||
/**
|
||||
* 修改预警记录
|
||||
*/
|
||||
@SaCheckPermission("scale:warn:edit")
|
||||
@SaCheckPermission("warn:record:edit")
|
||||
@Log(title = "预警记录", businessType = BusinessType.UPDATE)
|
||||
@RepeatSubmit()
|
||||
@PutMapping()
|
||||
|
@ -86,17 +86,17 @@ public class SysWarnController extends BaseController {
|
|||
* @param warnId
|
||||
* @return
|
||||
*/
|
||||
@SaCheckPermission("scale:warn:query")
|
||||
@SaCheckPermission("warn:record:query")
|
||||
@GetMapping("/evaluation/record")
|
||||
public R<List<SysEvaluationRecordVo>> getEvaluationRecordList(@NotNull(message = "主键不能为空") Long warnId) {
|
||||
return R.ok(sysWarnRecordService.queryConclusionListByWarnId(warnId));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改预警记录
|
||||
* 修改预警配置
|
||||
*/
|
||||
@SaCheckPermission("scale:warn:edit")
|
||||
@Log(title = "预警记录", businessType = BusinessType.UPDATE)
|
||||
@SaCheckPermission("warn:config:edit")
|
||||
@Log(title = "预警配置", businessType = BusinessType.UPDATE)
|
||||
@RepeatSubmit()
|
||||
@PutMapping("/config/{ids}")
|
||||
public R<Void> config(@NotEmpty(message = "主键不能为空")
|
||||
|
|
|
@ -41,6 +41,11 @@ public class SysWarnRecord {
|
|||
*/
|
||||
private String note;
|
||||
|
||||
/**
|
||||
* 严重度
|
||||
*/
|
||||
private Integer situation;
|
||||
|
||||
/**
|
||||
* 预警时间
|
||||
*/
|
||||
|
|
|
@ -7,7 +7,7 @@ import java.io.Serial;
|
|||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* <p>统计完成<p>
|
||||
* <p>基础统计类<p>
|
||||
*
|
||||
* @author cjw
|
||||
* @version V1.0.0
|
||||
|
|
|
@ -28,5 +28,7 @@ public interface SysWarnRecordMapper extends BaseMapperPlus<SysWarnRecord, SysWa
|
|||
|
||||
int updateConfigByIds(String ids);
|
||||
|
||||
List<Integer> selectUseConfig();
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -14,7 +14,7 @@ public interface IStatisticService {
|
|||
List<StatisticNumVo> getComplete4Class(BaseQueryBo query);
|
||||
|
||||
|
||||
StatisticWarnVo getWarn4All(BaseQueryBo query);
|
||||
List<StatisticWarnVo> getWarn4All(BaseQueryBo query);
|
||||
|
||||
List<StatisticWarnVo> getWarn4Class(BaseQueryBo query);
|
||||
|
||||
|
|
|
@ -35,7 +35,7 @@ public class StatisticServiceImpl implements IStatisticService {
|
|||
List<StatisticNumVo> statisticNumVos = statisticMapper.selectCompleteAvaluation(batchNo, scaleId);
|
||||
Map<String, List<StatisticNumVo>> collect = statisticNumVos.stream()
|
||||
.collect(Collectors.groupingBy(StatisticNumVo::getParentName));
|
||||
return processData(collect);
|
||||
return processCompleteData(collect);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -45,10 +45,10 @@ public class StatisticServiceImpl implements IStatisticService {
|
|||
List<StatisticNumVo> statisticNumVos = statisticMapper.selectCompleteAvaluation(batchNo, scaleId);
|
||||
Map<String, List<StatisticNumVo>> collect = statisticNumVos.stream()
|
||||
.collect(Collectors.groupingBy(StatisticNumVo::getDeptName));
|
||||
return processData(collect);
|
||||
return processCompleteData(collect);
|
||||
}
|
||||
|
||||
private List<StatisticNumVo> processData(Map<String, List<StatisticNumVo>> collect) {
|
||||
private List<StatisticNumVo> processCompleteData(Map<String, List<StatisticNumVo>> collect) {
|
||||
Set<String> keys = collect.keySet();
|
||||
List<StatisticNumVo> data = new ArrayList<>();
|
||||
for (String key : keys) {
|
||||
|
@ -65,31 +65,45 @@ public class StatisticServiceImpl implements IStatisticService {
|
|||
}
|
||||
|
||||
@Override
|
||||
public StatisticWarnVo getWarn4All(BaseQueryBo query) {
|
||||
public List<StatisticWarnVo> getWarn4All(BaseQueryBo query) {
|
||||
Long batchNo = query.getBatchNo();
|
||||
Long scaleId = query.getScaleId();
|
||||
List<StatisticWarnVo> list = statisticMapper.selectStatisticWarn(batchNo, scaleId);
|
||||
int noneNum = list.stream().mapToInt(StatisticWarnVo::getNoneNum).sum();
|
||||
int lowNum = list.stream().mapToInt(StatisticWarnVo::getLowNum).sum();
|
||||
int middleNum = list.stream().mapToInt(StatisticWarnVo::getMiddleNum).sum();
|
||||
int highNum = list.stream().mapToInt(StatisticWarnVo::getHighNum).sum();
|
||||
int majorNum = list.stream().mapToInt(StatisticWarnVo::getMajorNum).sum();
|
||||
|
||||
StatisticWarnVo data = new StatisticWarnVo();
|
||||
//data.setDeptName(deptName);
|
||||
data.setNoneNum(noneNum);
|
||||
data.setLowNum(lowNum);
|
||||
data.setMiddleNum(middleNum);
|
||||
data.setHighNum(highNum);
|
||||
data.setMajorNum(majorNum);
|
||||
return data;
|
||||
List<StatisticWarnVo> statisticWarnVos = statisticMapper.selectStatisticWarn(batchNo, scaleId);
|
||||
Map<String, List<StatisticWarnVo>> collect = statisticWarnVos.stream()
|
||||
.collect(Collectors.groupingBy(StatisticWarnVo::getParentName));
|
||||
return processWarnData(collect);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<StatisticWarnVo> getWarn4Class(BaseQueryBo query) {
|
||||
Long batchNo = query.getBatchNo();
|
||||
Long scaleId = query.getScaleId();
|
||||
return statisticMapper.selectStatisticWarn(batchNo, scaleId);
|
||||
List<StatisticWarnVo> statisticWarnVos = statisticMapper.selectStatisticWarn(batchNo, scaleId);
|
||||
Map<String, List<StatisticWarnVo>> collect = statisticWarnVos.stream()
|
||||
.collect(Collectors.groupingBy(StatisticWarnVo::getDeptName));
|
||||
return processWarnData(collect);
|
||||
}
|
||||
|
||||
private List<StatisticWarnVo> processWarnData(Map<String, List<StatisticWarnVo>> collect) {
|
||||
Set<String> keys = collect.keySet();
|
||||
List<StatisticWarnVo> data = new ArrayList<>();
|
||||
for (String key : keys) {
|
||||
List<StatisticWarnVo> list = collect.get(key);
|
||||
int noneNum = list.stream().mapToInt(StatisticWarnVo::getNoneNum).sum();
|
||||
int lowNum = list.stream().mapToInt(StatisticWarnVo::getLowNum).sum();
|
||||
int middleNum = list.stream().mapToInt(StatisticWarnVo::getMiddleNum).sum();
|
||||
int highNum = list.stream().mapToInt(StatisticWarnVo::getHighNum).sum();
|
||||
int majorNum = list.stream().mapToInt(StatisticWarnVo::getMajorNum).sum();
|
||||
StatisticWarnVo one = new StatisticWarnVo();
|
||||
one.setName(key);
|
||||
one.setNoneNum(noneNum);
|
||||
one.setLowNum(lowNum);
|
||||
one.setMiddleNum(middleNum);
|
||||
one.setHighNum(highNum);
|
||||
one.setMajorNum(majorNum);
|
||||
data.add(one);
|
||||
}
|
||||
return data;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -69,14 +69,21 @@ public class SysWarnRecordServiceImpl implements ISysWarnRecordService {
|
|||
*/
|
||||
@Override
|
||||
public Boolean insertByBo(SysWarnRecord add) {
|
||||
validEntityBeforeSave(add);
|
||||
SysWarnRecord sysWarnRecord = baseMapper.selectOne(new LambdaQueryWrapper<SysWarnRecord>()
|
||||
//validEntityBeforeSave(add);
|
||||
SysWarnRecord warnRecord = baseMapper.selectOne(new LambdaQueryWrapper<SysWarnRecord>()
|
||||
.eq(SysWarnRecord::getBatchNo, add.getBatchNo())
|
||||
.eq(SysWarnRecord::getUserId, add.getUserId()));
|
||||
//保证同一个batch只有一条数据;
|
||||
if (sysWarnRecord == null) {
|
||||
if (warnRecord == null) {
|
||||
return baseMapper.insert(add) > 0;
|
||||
} else {
|
||||
//取最高严重等级
|
||||
if (add.getSituation() > warnRecord.getSituation()) {
|
||||
SysWarnRecord update = new SysWarnRecord();
|
||||
update.setWarnId(warnRecord.getWarnId());
|
||||
update.setSituation(add.getSituation());
|
||||
return baseMapper.updateById(update) > 0;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -22,7 +22,6 @@ import org.dromara.scale.service.ISysScaleFactorService;
|
|||
import org.dromara.scale.service.ISysWarnRecordService;
|
||||
import org.dromara.scale.service.IWebService;
|
||||
import org.dromara.system.domain.SysOss;
|
||||
import org.dromara.system.mapper.SysDeptMapper;
|
||||
import org.dromara.system.mapper.SysOssMapper;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
@ -64,9 +63,9 @@ public class WebServiceImpl implements IWebService {
|
|||
|
||||
private final SysEvaluationAnswerMapper evaluationAnswerMapper;
|
||||
|
||||
private final SysOssMapper ossMapper;
|
||||
private final SysWarnRecordMapper warnMapper;
|
||||
|
||||
private final SysDeptMapper deptMapper;
|
||||
private final SysOssMapper ossMapper;
|
||||
private final MathContext mathContext = new MathContext(2);
|
||||
|
||||
|
||||
|
@ -178,11 +177,13 @@ public class WebServiceImpl implements IWebService {
|
|||
riskLevel = ec.getSituation();
|
||||
}
|
||||
}
|
||||
if (riskLevel.equals(SituationEnum.HIGH.getValue()) || riskLevel.equals(SituationEnum.MAJOR.getValue())) {
|
||||
List<Integer> used = warnMapper.selectUseConfig();
|
||||
if (used.contains(riskLevel)) {
|
||||
SysWarnRecord wre = new SysWarnRecord();
|
||||
wre.setBatchNo(scalePublishVo.getBatchNo());
|
||||
wre.setUserId(getLoginUser().getUserId());
|
||||
wre.setWarnTime(new Date());
|
||||
wre.setSituation(riskLevel);
|
||||
warnRecordService.insertByBo(wre);
|
||||
}
|
||||
//不允许查看考核结果
|
||||
|
|
|
@ -3,9 +3,8 @@
|
|||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="org.dromara.scale.mapper.SysWarnRecordMapper">
|
||||
|
||||
<select id="selectPageWarnList" resultType="org.dromara.scale.domain.vo.SysWarnRecordVo">
|
||||
select wr.*, sp.session_name, u.nick_name,u.intervene_status
|
||||
select wr.*, sp.session_name, u.nick_name, u.intervene_status
|
||||
from sys_warn_record wr
|
||||
left join sys_scale_publish sp on sp.batch_no = wr.batch_no
|
||||
left join sys_user u on u.user_id = wr.user_id
|
||||
|
@ -25,7 +24,13 @@
|
|||
update sys_warn_config
|
||||
set status = 0;
|
||||
update sys_warn_config
|
||||
set status=1
|
||||
set status = 1
|
||||
where find_in_set(id, #{ids})
|
||||
</update>
|
||||
|
||||
<select id="selectUseConfig" resultType="java.lang.Integer">
|
||||
select *
|
||||
from sys_warn_config
|
||||
where status = 1
|
||||
</select>
|
||||
</mapper>
|
||||
|
|
Loading…
Reference in New Issue