干预与预警、测评的当年和当月统计
This commit is contained in:
parent
8be7e5d21a
commit
5b6bc557e7
|
@ -151,18 +151,34 @@ public class StatisticController extends BaseController {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取六个月的干预与预警统计
|
* 获取当年的干预与预警统计
|
||||||
*/
|
*/
|
||||||
@GetMapping("/month/intervene-warn")
|
@GetMapping("/year/intervene-warn")
|
||||||
public R<List<StatisticNumVo>> getHalfMonth() {
|
public R<List<StatisticNumVo>> getYearInterveneAndWarn() {
|
||||||
return R.ok(statisticService.getInterveneAndWarnByHalfYear());
|
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")
|
@GetMapping("/month/evaluation")
|
||||||
public R<List<StatisticNumVo>> getMonthEvaluation() {
|
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<StatisticPublishVo> selectPublish();
|
||||||
|
|
||||||
List<StatisticNumVo> selectWarnNumByHalfYear();
|
List<StatisticNumVo> selectWarnNumByYear(String startTime);
|
||||||
List<StatisticNumVo> selectInterveneNumByHalfYear();
|
List<StatisticNumVo> selectWarnNumByMonth(String startTime);
|
||||||
List<StatisticNumVo> selectEvaluationByYear();
|
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<StatisticWarnVo> getConclusion();
|
||||||
List<StatisticPublishVo> getPublish();
|
List<StatisticPublishVo> getPublish();
|
||||||
|
|
||||||
List<StatisticNumVo> getInterveneAndWarnByHalfYear();
|
List<StatisticNumVo> getInterveneAndWarnByYear();
|
||||||
|
List<StatisticNumVo> getInterveneAndWarnByMoth();
|
||||||
List<StatisticNumVo> getEvaluationByYear();
|
List<StatisticNumVo> getEvaluationByYear();
|
||||||
|
List<StatisticNumVo> getEvaluationByMonth();
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
package org.dromara.scale.service.impl;
|
package org.dromara.scale.service.impl;
|
||||||
|
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import org.dromara.common.core.utils.DateUtils;
|
||||||
import org.dromara.scale.domain.bo.BaseQueryBo;
|
import org.dromara.scale.domain.bo.BaseQueryBo;
|
||||||
import org.dromara.scale.domain.vo.StatisticFactorVo;
|
import org.dromara.scale.domain.vo.StatisticFactorVo;
|
||||||
import org.dromara.scale.domain.vo.StatisticNumVo;
|
import org.dromara.scale.domain.vo.StatisticNumVo;
|
||||||
|
@ -216,9 +217,27 @@ public class StatisticServiceImpl implements IStatisticService {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<StatisticNumVo> getInterveneAndWarnByHalfYear() {
|
public List<StatisticNumVo> getInterveneAndWarnByYear() {
|
||||||
List<StatisticNumVo> warnNum = statisticMapper.selectWarnNumByHalfYear();
|
String s = DateUtils.dateTimeNow("yyyy");
|
||||||
List<StatisticNumVo> interveneNum = statisticMapper.selectInterveneNumByHalfYear();
|
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 intervene : interveneNum) {
|
||||||
for (StatisticNumVo warn : warnNum) {
|
for (StatisticNumVo warn : warnNum) {
|
||||||
if (intervene.getName().equals(warn.getName())) {
|
if (intervene.getName().equals(warn.getName())) {
|
||||||
|
@ -231,6 +250,15 @@ public class StatisticServiceImpl implements IStatisticService {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<StatisticNumVo> getEvaluationByYear() {
|
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`,
|
select scale_name as `name`,
|
||||||
publish_nums as `value`
|
publish_nums as `value`
|
||||||
from sys_scale
|
from sys_scale
|
||||||
where status = 1 and publish_nums >0
|
where status = 1
|
||||||
|
and publish_nums > 0
|
||||||
order by publish_nums
|
order by publish_nums
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
@ -134,34 +135,61 @@
|
||||||
sp.expire_time as `expireTime`
|
sp.expire_time as `expireTime`
|
||||||
FROM sys_scale_publish sp
|
FROM sys_scale_publish sp
|
||||||
LEFT JOIN sys_evaluation_record er ON er.batch_no = sp.batch_no
|
LEFT JOIN sys_evaluation_record er ON er.batch_no = sp.batch_no
|
||||||
GROUP BY sp.batch_no
|
group by sp.batch_no
|
||||||
ORDER BY `expireTime` desc
|
order by `expireTime` desc
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="selectWarnNumByHalfYear" resultType="org.dromara.scale.domain.vo.StatisticNumVo">
|
<select id="selectWarnNumByYear" resultType="org.dromara.scale.domain.vo.StatisticNumVo">
|
||||||
select ri.date as `name`, COUNT(wr.warn_id) as `value`
|
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 DATE_FORMAT(DATE_SUB(NOW(), INTERVAL xc MONTH), '%Y年%m月') AS date
|
||||||
FROM (SELECT @xi := @xi + 1 AS xc
|
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,
|
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
|
(SELECT @xi := - 1) xc0) `month`) ri
|
||||||
left join sys_warn_record wr on DATE_FORMAT(wr.warn_time, '%Y年%m月') = ri.date
|
left join sys_warn_record wr on DATE_FORMAT(wr.warn_time, '%Y年%m月') = ri.date
|
||||||
GROUP BY ri.date
|
where ri.date >= #{startTime}
|
||||||
ORDER BY `name`
|
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>
|
||||||
|
|
||||||
<select id="selectInterveneNumByHalfYear" resultType="org.dromara.scale.domain.vo.StatisticNumVo">
|
<select id="selectInterveneNumByYear" resultType="org.dromara.scale.domain.vo.StatisticNumVo">
|
||||||
select ri.date as `name`, COUNT(ir.intervene_id) as `value`
|
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 DATE_FORMAT(DATE_SUB(NOW(), INTERVAL xc MONTH), '%Y年%m月') AS date
|
||||||
FROM (SELECT @xi := @xi + 1 AS xc
|
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,
|
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
|
(SELECT @xi := - 1) xc0) `month`) ri
|
||||||
left join sys_intervene_record ir on DATE_FORMAT(ir.create_time, '%Y年%m月') = ri.date
|
left join sys_intervene_record ir on DATE_FORMAT(ir.create_time, '%Y年%m月') = ri.date
|
||||||
GROUP BY ri.date
|
where ri.date >= #{startTime}
|
||||||
ORDER BY `name`
|
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>
|
||||||
|
|
||||||
<select id="selectEvaluationByYear" resultType="org.dromara.scale.domain.vo.StatisticNumVo">
|
<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 DATE_FORMAT(DATE_SUB(NOW(), INTERVAL xc MONTH), '%Y年%m月') AS date
|
||||||
FROM (SELECT @xi := @xi + 1 AS xc
|
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,
|
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
|
(SELECT @xi := - 1) xc0) `month`) ri
|
||||||
left join sys_evaluation_record er
|
left join sys_evaluation_record er
|
||||||
on DATE_FORMAT(er.create_time, '%Y年%m月') = ri.date and er.status = 1
|
on DATE_FORMAT(er.create_time, '%Y年%m月') = ri.date and er.status = 1
|
||||||
GROUP BY ri.date
|
where ri.date >= #{startTime}
|
||||||
ORDER BY `name`
|
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>
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|
Loading…
Reference in New Issue