From 5b6bc557e7ecf0a9f3e4c47ff7dc9cd6124214f1 Mon Sep 17 00:00:00 2001 From: cjw Date: Tue, 21 May 2024 10:26:00 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B9=B2=E9=A2=84=E4=B8=8E=E9=A2=84=E8=AD=A6?= =?UTF-8?q?=E3=80=81=E6=B5=8B=E8=AF=84=E7=9A=84=E5=BD=93=E5=B9=B4=E5=92=8C?= =?UTF-8?q?=E5=BD=93=E6=9C=88=E7=BB=9F=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../scale/controller/StatisticController.java | 28 ++++++-- .../dromara/scale/mapper/StatisticMapper.java | 9 ++- .../scale/service/IStatisticService.java | 4 +- .../service/impl/StatisticServiceImpl.java | 36 ++++++++-- .../mapper/scale/StatisticMapper.xml | 71 +++++++++++++++---- 5 files changed, 120 insertions(+), 28 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 2f1beda..c0d6cb0 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 @@ -151,18 +151,34 @@ public class StatisticController extends BaseController { } /** - * 获取六个月的干预与预警统计 + * 获取当年的干预与预警统计 */ - @GetMapping("/month/intervene-warn") - public R> getHalfMonth() { - return R.ok(statisticService.getInterveneAndWarnByHalfYear()); + @GetMapping("/year/intervene-warn") + public R> getYearInterveneAndWarn() { + return R.ok(statisticService.getInterveneAndWarnByYear()); } /** - * 获取12月的测评统计 + * 获取当月的干预与预警统计 + */ + @GetMapping("/month/intervene-warn") + public R> getMonthInterveneAndWarn() { + return R.ok(statisticService.getInterveneAndWarnByMoth()); + } + + /** + * 获取当年的测评统计 + */ + @GetMapping("/year/evaluation") + public R> getYearEvaluation() { + return R.ok(statisticService.getEvaluationByYear()); + } + + /** + * 获取当月的测评统计 */ @GetMapping("/month/evaluation") public R> getMonthEvaluation() { - return R.ok(statisticService.getEvaluationByYear()); + return R.ok(statisticService.getEvaluationByMonth()); } } diff --git a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/mapper/StatisticMapper.java b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/mapper/StatisticMapper.java index 81b62f9..3e186ab 100644 --- a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/mapper/StatisticMapper.java +++ b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/mapper/StatisticMapper.java @@ -39,7 +39,10 @@ public interface StatisticMapper { List selectPublish(); - List selectWarnNumByHalfYear(); - List selectInterveneNumByHalfYear(); - List selectEvaluationByYear(); + List selectWarnNumByYear(String startTime); + List selectWarnNumByMonth(String startTime); + List selectInterveneNumByYear(String startTime); + List selectInterveneNumByMonth(String startTime); + List selectEvaluationByYear(String startTime); + List selectEvaluationByMouth(String startTime); } 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 9b3ba1a..8a3ac46 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 @@ -36,6 +36,8 @@ public interface IStatisticService { List getConclusion(); List getPublish(); - List getInterveneAndWarnByHalfYear(); + List getInterveneAndWarnByYear(); + List getInterveneAndWarnByMoth(); List getEvaluationByYear(); + List getEvaluationByMonth(); } 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 de1e2be..3b718e1 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 @@ -1,6 +1,7 @@ package org.dromara.scale.service.impl; import lombok.RequiredArgsConstructor; +import org.dromara.common.core.utils.DateUtils; import org.dromara.scale.domain.bo.BaseQueryBo; import org.dromara.scale.domain.vo.StatisticFactorVo; import org.dromara.scale.domain.vo.StatisticNumVo; @@ -216,9 +217,27 @@ public class StatisticServiceImpl implements IStatisticService { } @Override - public List getInterveneAndWarnByHalfYear() { - List warnNum = statisticMapper.selectWarnNumByHalfYear(); - List interveneNum = statisticMapper.selectInterveneNumByHalfYear(); + public List getInterveneAndWarnByYear() { + String s = DateUtils.dateTimeNow("yyyy"); + String startTime = s + "年01月"; + List warnNum = statisticMapper.selectWarnNumByYear(startTime); + List interveneNum = statisticMapper.selectInterveneNumByYear(startTime); + for (StatisticNumVo intervene : interveneNum) { + for (StatisticNumVo warn : warnNum) { + if (intervene.getName().equals(warn.getName())) { + intervene.setSpareValue(warn.getValue()); + } + } + } + return interveneNum; + } + + @Override + public List getInterveneAndWarnByMoth() { + String s = DateUtils.dateTimeNow("yyyy"); + String startTime = s + "年01月01日"; + List warnNum = statisticMapper.selectWarnNumByMonth(startTime); + List interveneNum = statisticMapper.selectInterveneNumByMonth(startTime); for (StatisticNumVo intervene : interveneNum) { for (StatisticNumVo warn : warnNum) { if (intervene.getName().equals(warn.getName())) { @@ -231,6 +250,15 @@ public class StatisticServiceImpl implements IStatisticService { @Override public List getEvaluationByYear() { - return statisticMapper.selectEvaluationByYear(); + String s = DateUtils.dateTimeNow("yyyy"); + String startTime = s + "年01月"; + return statisticMapper.selectEvaluationByYear(startTime); + } + + @Override + public List getEvaluationByMonth() { + String s = DateUtils.dateTimeNow("yyyy"); + String startTime = s + "年01月01日"; + return statisticMapper.selectEvaluationByMouth(startTime); } } diff --git a/ruoyi-modules/rouyi-scale/src/main/resources/mapper/scale/StatisticMapper.xml b/ruoyi-modules/rouyi-scale/src/main/resources/mapper/scale/StatisticMapper.xml index 0169c2f..a576ef2 100644 --- a/ruoyi-modules/rouyi-scale/src/main/resources/mapper/scale/StatisticMapper.xml +++ b/ruoyi-modules/rouyi-scale/src/main/resources/mapper/scale/StatisticMapper.xml @@ -86,7 +86,8 @@ select scale_name as `name`, publish_nums as `value` from sys_scale - where status = 1 and publish_nums >0 + where status = 1 + and publish_nums > 0 order by publish_nums @@ -134,34 +135,61 @@ sp.expire_time as `expireTime` FROM sys_scale_publish sp LEFT JOIN sys_evaluation_record er ON er.batch_no = sp.batch_no - GROUP BY sp.batch_no - ORDER BY `expireTime` desc + group by sp.batch_no + order by `expireTime` desc - + select SUBSTRING(ri.date, 6) as `name`, COUNT(wr.warn_id) as `value` from (SELECT DATE_FORMAT(DATE_SUB(NOW(), INTERVAL xc MONTH), '%Y年%m月') AS date FROM (SELECT @xi := @xi + 1 AS xc FROM (SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6) xc1, (SELECT @xi := - 1) xc0) `month`) ri left join sys_warn_record wr on DATE_FORMAT(wr.warn_time, '%Y年%m月') = ri.date - GROUP BY ri.date - ORDER BY `name` + where ri.date >= #{startTime} + group by ri.date + order by `name` + + - + select SUBSTRING(ri.date, 6) as `name`, COUNT(ir.intervene_id) as `value` from (SELECT DATE_FORMAT(DATE_SUB(NOW(), INTERVAL xc MONTH), '%Y年%m月') AS date FROM (SELECT @xi := @xi + 1 AS xc FROM (SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6) xc1, (SELECT @xi := - 1) xc0) `month`) ri left join sys_intervene_record ir on DATE_FORMAT(ir.create_time, '%Y年%m月') = ri.date - GROUP BY ri.date - ORDER BY `name` + where ri.date >= #{startTime} + group by ri.date + order by `name` + + + + +