干预与预警、测评的当年和当月统计
This commit is contained in:
parent
8be7e5d21a
commit
5b6bc557e7
|
@ -151,18 +151,34 @@ public class StatisticController extends BaseController {
|
|||
}
|
||||
|
||||
/**
|
||||
* 获取六个月的干预与预警统计
|
||||
* 获取当年的干预与预警统计
|
||||
*/
|
||||
@GetMapping("/month/intervene-warn")
|
||||
public R<List<StatisticNumVo>> getHalfMonth() {
|
||||
return R.ok(statisticService.getInterveneAndWarnByHalfYear());
|
||||
@GetMapping("/year/intervene-warn")
|
||||
public R<List<StatisticNumVo>> getYearInterveneAndWarn() {
|
||||
return R.ok(statisticService.getInterveneAndWarnByYear());
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取12月的测评统计
|
||||
* 获取当月的干预与预警统计
|
||||
*/
|
||||
@GetMapping("/month/intervene-warn")
|
||||
public R<List<StatisticNumVo>> getMonthInterveneAndWarn() {
|
||||
return R.ok(statisticService.getInterveneAndWarnByMoth());
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取当年的测评统计
|
||||
*/
|
||||
@GetMapping("/year/evaluation")
|
||||
public R<List<StatisticNumVo>> getYearEvaluation() {
|
||||
return R.ok(statisticService.getEvaluationByYear());
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取当月的测评统计
|
||||
*/
|
||||
@GetMapping("/month/evaluation")
|
||||
public R<List<StatisticNumVo>> getMonthEvaluation() {
|
||||
return R.ok(statisticService.getEvaluationByYear());
|
||||
return R.ok(statisticService.getEvaluationByMonth());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -39,7 +39,10 @@ public interface StatisticMapper {
|
|||
|
||||
List<StatisticPublishVo> selectPublish();
|
||||
|
||||
List<StatisticNumVo> selectWarnNumByHalfYear();
|
||||
List<StatisticNumVo> selectInterveneNumByHalfYear();
|
||||
List<StatisticNumVo> selectEvaluationByYear();
|
||||
List<StatisticNumVo> selectWarnNumByYear(String startTime);
|
||||
List<StatisticNumVo> selectWarnNumByMonth(String startTime);
|
||||
List<StatisticNumVo> selectInterveneNumByYear(String startTime);
|
||||
List<StatisticNumVo> selectInterveneNumByMonth(String startTime);
|
||||
List<StatisticNumVo> selectEvaluationByYear(String startTime);
|
||||
List<StatisticNumVo> selectEvaluationByMouth(String startTime);
|
||||
}
|
||||
|
|
|
@ -36,6 +36,8 @@ public interface IStatisticService {
|
|||
List<StatisticWarnVo> getConclusion();
|
||||
List<StatisticPublishVo> getPublish();
|
||||
|
||||
List<StatisticNumVo> getInterveneAndWarnByHalfYear();
|
||||
List<StatisticNumVo> getInterveneAndWarnByYear();
|
||||
List<StatisticNumVo> getInterveneAndWarnByMoth();
|
||||
List<StatisticNumVo> getEvaluationByYear();
|
||||
List<StatisticNumVo> getEvaluationByMonth();
|
||||
}
|
||||
|
|
|
@ -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<StatisticNumVo> getInterveneAndWarnByHalfYear() {
|
||||
List<StatisticNumVo> warnNum = statisticMapper.selectWarnNumByHalfYear();
|
||||
List<StatisticNumVo> interveneNum = statisticMapper.selectInterveneNumByHalfYear();
|
||||
public List<StatisticNumVo> getInterveneAndWarnByYear() {
|
||||
String s = DateUtils.dateTimeNow("yyyy");
|
||||
String startTime = s + "年01月";
|
||||
List<StatisticNumVo> warnNum = statisticMapper.selectWarnNumByYear(startTime);
|
||||
List<StatisticNumVo> 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<StatisticNumVo> getInterveneAndWarnByMoth() {
|
||||
String s = DateUtils.dateTimeNow("yyyy");
|
||||
String startTime = s + "年01月01日";
|
||||
List<StatisticNumVo> warnNum = statisticMapper.selectWarnNumByMonth(startTime);
|
||||
List<StatisticNumVo> 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<StatisticNumVo> getEvaluationByYear() {
|
||||
return statisticMapper.selectEvaluationByYear();
|
||||
String s = DateUtils.dateTimeNow("yyyy");
|
||||
String startTime = s + "年01月";
|
||||
return statisticMapper.selectEvaluationByYear(startTime);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<StatisticNumVo> getEvaluationByMonth() {
|
||||
String s = DateUtils.dateTimeNow("yyyy");
|
||||
String startTime = s + "年01月01日";
|
||||
return statisticMapper.selectEvaluationByMouth(startTime);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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
|
||||
</select>
|
||||
|
||||
|
@ -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>
|
||||
|
||||
<select id="selectWarnNumByHalfYear" resultType="org.dromara.scale.domain.vo.StatisticNumVo">
|
||||
select ri.date as `name`, COUNT(wr.warn_id) as `value`
|
||||
<select id="selectWarnNumByYear" resultType="org.dromara.scale.domain.vo.StatisticNumVo">
|
||||
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>
|
||||
<select id="selectWarnNumByMonth" resultType="org.dromara.scale.domain.vo.StatisticNumVo">
|
||||
select SUBSTRING(ri.date, 9) as `name`, COUNT(wr.warn_id) as `value`
|
||||
from (SELECT DATE_FORMAT(DATE_SUB(NOW(), INTERVAL xc DAY), '%Y年%m月%d日') 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 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6) xc2,
|
||||
(SELECT @xi := - 1) xc0) `day`) ri
|
||||
left join sys_warn_record wr on DATE_FORMAT(wr.warn_time, '%Y年%m月%d日') = ri.date
|
||||
where ri.date >= #{startTime}
|
||||
group by ri.date
|
||||
order by `name`
|
||||
</select>
|
||||
|
||||
<select id="selectInterveneNumByHalfYear" resultType="org.dromara.scale.domain.vo.StatisticNumVo">
|
||||
select ri.date as `name`, COUNT(ir.intervene_id) as `value`
|
||||
<select id="selectInterveneNumByYear" resultType="org.dromara.scale.domain.vo.StatisticNumVo">
|
||||
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`
|
||||
</select>
|
||||
|
||||
<select id="selectInterveneNumByMonth" resultType="org.dromara.scale.domain.vo.StatisticNumVo">
|
||||
select SUBSTRING(ri.date, 9) as `name`, COUNT(ir.intervene_id) as `value`
|
||||
from (SELECT DATE_FORMAT(DATE_SUB(NOW(), INTERVAL xc DAY), '%Y年%m月%d日') 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 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6) xc2,
|
||||
(SELECT @xi := - 1) xc0) `day`) ri
|
||||
left join sys_intervene_record ir on DATE_FORMAT(ir.create_time, '%Y年%m月%d日') = ri.date
|
||||
where ri.date >= #{startTime}
|
||||
group by ri.date
|
||||
order by `name`
|
||||
</select>
|
||||
|
||||
<select id="selectEvaluationByYear" resultType="org.dromara.scale.domain.vo.StatisticNumVo">
|
||||
select ri.date as `name`, COUNT(er.record_id) as `value`
|
||||
select SUBSTRING(ri.date, 6) as `name`, COUNT(er.record_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,
|
||||
|
@ -169,7 +197,22 @@
|
|||
(SELECT @xi := - 1) xc0) `month`) ri
|
||||
left join sys_evaluation_record er
|
||||
on DATE_FORMAT(er.create_time, '%Y年%m月') = ri.date and er.status = 1
|
||||
GROUP BY ri.date
|
||||
ORDER BY `name`
|
||||
where ri.date >= #{startTime}
|
||||
group by ri.date
|
||||
order by `name`
|
||||
</select>
|
||||
|
||||
<select id="selectEvaluationByMouth" resultType="org.dromara.scale.domain.vo.StatisticNumVo">
|
||||
select SUBSTRING(ri.date, 9) as `name`, COUNT(er.record_id) as `value`
|
||||
from (SELECT DATE_FORMAT(DATE_SUB(NOW(), INTERVAL xc DAY), '%Y年%m月%d日') 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 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6) xc2,
|
||||
(SELECT @xi := - 1) xc0) `day`) ri
|
||||
left join sys_evaluation_record er
|
||||
on DATE_FORMAT(er.create_time, '%Y年%m月%d日') = ri.date and er.status = 1
|
||||
where ri.date >= #{startTime}
|
||||
group by ri.date
|
||||
order by `name`
|
||||
</select>
|
||||
</mapper>
|
||||
|
|
Loading…
Reference in New Issue