From 110d28c64fc8473602c2eed583f0a37f1d1cc707 Mon Sep 17 00:00:00 2001 From: cjw Date: Tue, 23 Apr 2024 15:43:52 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E9=A2=84=E8=AD=A6=E7=BB=9F?= =?UTF-8?q?=E8=AE=A1=EF=BC=9B=E9=A2=84=E8=AD=A6=E6=A0=B9=E6=8D=AE=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=E6=96=B0=E5=A2=9E=EF=BC=9B=E9=A2=84=E8=AD=A6=E8=AE=B0?= =?UTF-8?q?=E5=BD=95=E4=B8=AD=E4=B8=A5=E9=87=8D=E5=BA=A6=E5=8F=96=E5=9C=BA?= =?UTF-8?q?=E6=AC=A1=E4=B8=AD=E6=9C=80=E9=AB=98=E7=AD=89=E7=BA=A7=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../scale/controller/StatisticController.java | 15 +++--- .../SysEvaluationConclusionController.java | 4 +- .../SysInterveneRecordController.java | 6 +-- .../scale/controller/SysWarnController.java | 16 +++--- .../dromara/scale/domain/SysWarnRecord.java | 7 ++- .../scale/domain/vo/StatisticNumVo.java | 2 +- .../scale/mapper/SysWarnRecordMapper.java | 2 + .../scale/service/IStatisticService.java | 2 +- .../service/impl/StatisticServiceImpl.java | 54 ++++++++++++------- .../impl/SysWarnRecordServiceImpl.java | 13 +++-- .../scale/service/impl/WebServiceImpl.java | 9 ++-- .../mapper/scale/SysWarnRecordMapper.xml | 17 +++--- 12 files changed, 91 insertions(+), 56 deletions(-) diff --git a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/controller/StatisticController.java b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/controller/StatisticController.java index 2e174c6..e0ceb44 100644 --- a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/controller/StatisticController.java +++ b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/controller/StatisticController.java @@ -28,7 +28,7 @@ public class StatisticController extends BaseController { private final IStatisticService statisticService; /** - * 获取完成情况统计 + * 获取完成情况统计-整体 */ @GetMapping("/complete/all") public R> getComplete(BaseQueryBo query) { @@ -36,7 +36,7 @@ public class StatisticController extends BaseController { } /** - * 获取完成情况统计 + * 获取完成情况统计-班级 */ @GetMapping("/complete/class") public R> getComplete4Class(BaseQueryBo query) { @@ -44,22 +44,23 @@ public class StatisticController extends BaseController { } /** - * 获取预警情况统计 + * 获取预警情况统计-整体 */ @GetMapping("/warn/all") - public R getWarn(BaseQueryBo query) { + public R> getWarn(BaseQueryBo query) { return R.ok(statisticService.getWarn4All(query)); } /** - * 获取预警情况统计 + * 获取预警情况统计-班级 */ @GetMapping("/warn/class") public R> getWarn4Class(BaseQueryBo query) { return R.ok(statisticService.getWarn4Class(query)); } + /** - * 获取预警情况统计 + * 获取预警情况统计-整体 */ @GetMapping("/factor/all") public R> getFactor(BaseQueryBo query) { @@ -67,7 +68,7 @@ public class StatisticController extends BaseController { } /** - * 获取预警情况统计 + * 获取预警情况统计-班级 */ @GetMapping("/factor/class") public R> getFactor4Class(BaseQueryBo query) { diff --git a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/controller/SysEvaluationConclusionController.java b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/controller/SysEvaluationConclusionController.java index 73f5312..63121bf 100644 --- a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/controller/SysEvaluationConclusionController.java +++ b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/controller/SysEvaluationConclusionController.java @@ -36,7 +36,7 @@ public class SysEvaluationConclusionController extends BaseController { /** * 获取量测结果列表 */ - @SaCheckPermission("scale:evaluationConclusion:query") + @SaCheckPermission("evaluation:conclusion:query") @GetMapping("/list") public R> 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) { diff --git a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/controller/SysInterveneRecordController.java b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/controller/SysInterveneRecordController.java index e77eaf1..75af424 100644 --- a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/controller/SysInterveneRecordController.java +++ b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/controller/SysInterveneRecordController.java @@ -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 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() diff --git a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/controller/SysWarnController.java b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/controller/SysWarnController.java index 32aa8b8..23f3a2c 100644 --- a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/controller/SysWarnController.java +++ b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/controller/SysWarnController.java @@ -40,7 +40,7 @@ public class SysWarnController extends BaseController { /** * 查询预警记录列表 */ - @SaCheckPermission("scale:warn:list") + @SaCheckPermission("warn:record:list") @GetMapping("/pageList") public TableDataInfo 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 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> 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 config(@NotEmpty(message = "主键不能为空") diff --git a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/SysWarnRecord.java b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/SysWarnRecord.java index 56411b2..f74792a 100644 --- a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/SysWarnRecord.java +++ b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/SysWarnRecord.java @@ -15,7 +15,7 @@ import java.util.Date; */ @Data @TableName("sys_warn_record") -public class SysWarnRecord { +public class SysWarnRecord { @Serial private static final long serialVersionUID = 1L; @@ -41,6 +41,11 @@ public class SysWarnRecord { */ private String note; + /** + * 严重度 + */ + private Integer situation; + /** * 预警时间 */ diff --git a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/vo/StatisticNumVo.java b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/vo/StatisticNumVo.java index 629df6b..0909ff6 100644 --- a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/vo/StatisticNumVo.java +++ b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/vo/StatisticNumVo.java @@ -7,7 +7,7 @@ import java.io.Serial; import java.io.Serializable; /** - *

统计完成

+ *

基础统计类

* * @author cjw * @version V1.0.0 diff --git a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/mapper/SysWarnRecordMapper.java b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/mapper/SysWarnRecordMapper.java index d6edc7a..28817b4 100644 --- a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/mapper/SysWarnRecordMapper.java +++ b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/mapper/SysWarnRecordMapper.java @@ -28,5 +28,7 @@ public interface SysWarnRecordMapper extends BaseMapperPlus selectUseConfig(); + } diff --git a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/service/IStatisticService.java b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/service/IStatisticService.java index 9bb7e15..7026d13 100644 --- a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/service/IStatisticService.java +++ b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/service/IStatisticService.java @@ -14,7 +14,7 @@ public interface IStatisticService { List getComplete4Class(BaseQueryBo query); - StatisticWarnVo getWarn4All(BaseQueryBo query); + List getWarn4All(BaseQueryBo query); List getWarn4Class(BaseQueryBo query); diff --git a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/service/impl/StatisticServiceImpl.java b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/service/impl/StatisticServiceImpl.java index 71a727f..f148171 100644 --- a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/service/impl/StatisticServiceImpl.java +++ b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/service/impl/StatisticServiceImpl.java @@ -35,7 +35,7 @@ public class StatisticServiceImpl implements IStatisticService { List statisticNumVos = statisticMapper.selectCompleteAvaluation(batchNo, scaleId); Map> 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 statisticNumVos = statisticMapper.selectCompleteAvaluation(batchNo, scaleId); Map> collect = statisticNumVos.stream() .collect(Collectors.groupingBy(StatisticNumVo::getDeptName)); - return processData(collect); + return processCompleteData(collect); } - private List processData(Map> collect) { + private List processCompleteData(Map> collect) { Set keys = collect.keySet(); List data = new ArrayList<>(); for (String key : keys) { @@ -65,31 +65,45 @@ public class StatisticServiceImpl implements IStatisticService { } @Override - public StatisticWarnVo getWarn4All(BaseQueryBo query) { + public List getWarn4All(BaseQueryBo query) { Long batchNo = query.getBatchNo(); Long scaleId = query.getScaleId(); - List 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 statisticWarnVos = statisticMapper.selectStatisticWarn(batchNo, scaleId); + Map> collect = statisticWarnVos.stream() + .collect(Collectors.groupingBy(StatisticWarnVo::getParentName)); + return processWarnData(collect); } @Override public List getWarn4Class(BaseQueryBo query) { Long batchNo = query.getBatchNo(); Long scaleId = query.getScaleId(); - return statisticMapper.selectStatisticWarn(batchNo, scaleId); + List statisticWarnVos = statisticMapper.selectStatisticWarn(batchNo, scaleId); + Map> collect = statisticWarnVos.stream() + .collect(Collectors.groupingBy(StatisticWarnVo::getDeptName)); + return processWarnData(collect); + } + + private List processWarnData(Map> collect) { + Set keys = collect.keySet(); + List data = new ArrayList<>(); + for (String key : keys) { + List 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 diff --git a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/service/impl/SysWarnRecordServiceImpl.java b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/service/impl/SysWarnRecordServiceImpl.java index 26ea8c8..2a6e40d 100644 --- a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/service/impl/SysWarnRecordServiceImpl.java +++ b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/service/impl/SysWarnRecordServiceImpl.java @@ -69,14 +69,21 @@ public class SysWarnRecordServiceImpl implements ISysWarnRecordService { */ @Override public Boolean insertByBo(SysWarnRecord add) { - validEntityBeforeSave(add); - SysWarnRecord sysWarnRecord = baseMapper.selectOne(new LambdaQueryWrapper() + //validEntityBeforeSave(add); + SysWarnRecord warnRecord = baseMapper.selectOne(new LambdaQueryWrapper() .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; } } diff --git a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/service/impl/WebServiceImpl.java b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/service/impl/WebServiceImpl.java index f9de454..30e9535 100644 --- a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/service/impl/WebServiceImpl.java +++ b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/service/impl/WebServiceImpl.java @@ -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 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); } //不允许查看考核结果 diff --git a/ruoyi-modules/rouyi-scale/src/main/resources/mapper/scale/SysWarnRecordMapper.xml b/ruoyi-modules/rouyi-scale/src/main/resources/mapper/scale/SysWarnRecordMapper.xml index df51f36..57dbdbd 100644 --- a/ruoyi-modules/rouyi-scale/src/main/resources/mapper/scale/SysWarnRecordMapper.xml +++ b/ruoyi-modules/rouyi-scale/src/main/resources/mapper/scale/SysWarnRecordMapper.xml @@ -3,13 +3,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - + select * + from sys_warn_config + where status = 1 +