燕山石化溯源三维电子沙盘-【后端】-服务
1
13693261870
2024-11-20 8185e5cdc2bbdf7fb4ca46a10864106893a01ed3
src/main/java/com/yssh/controller/WarningAnalyseController.java
@@ -1,5 +1,8 @@
package com.yssh.controller;
import com.yssh.config.InitConfig;
import com.yssh.entity.Report;
import com.yssh.utils.CacheUtils;
import com.yssh.utils.DateUtils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -17,6 +20,7 @@
import javax.annotation.Resource;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
@Api(tags = "告警分析")
@RequestMapping("/warning")
@@ -51,7 +55,7 @@
    private Integer getStartTime(Date start, Date end) {
        do {
            if (null == start && null == end) {
                start = DateUtils.getAPeriodOfTime(new Date(), -5, Calendar.HOUR_OF_DAY);
                start = DateUtils.getAPeriodOfTime(InitConfig.getDate(), -5, Calendar.HOUR_OF_DAY);
                break;
            }
            if (null != start && null == end) {
@@ -71,7 +75,7 @@
    private Integer getEndTime(Date start, Date end) {
        do {
            if (null == start && null == end) {
                end = new Date();
                end = InitConfig.getDate();
                break;
            }
            if (null != start && null == end) {
@@ -92,21 +96,21 @@
    @ApiOperation(value = "本月预警报警统计", notes = "本月预警报警统计,返回参数alarmNumber对应值为本月报警数据量,参数warningNumber对应值为本月预警数据量")
    @GetMapping("/monthCount")
    public Result thisMonthCount(@RequestParam(value = "date", required = false) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date date) {
        return Result.OK(warningService.monthCount(null == date ? new Date() : date));
        return Result.OK(warningService.monthCount(null == date ? InitConfig.getDate() : date));
    }
    @ApiOperationSupport(order = 4)
    @ApiOperation(value = "一周预警报警数量变化趋势", notes = "一周预警报警数量变化趋势,返回参数alarmDayCount为一周每日报警统计数量列表,参数warningDayCount为一周每日预警统计数量列表")
    @GetMapping("/everydayCount")
    public Result everydayCount(@RequestParam(value = "date", required = false) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date date) {
        return Result.OK(warningService.everydayCount(null == date ? new Date() : date));
        return Result.OK(warningService.everydayCount(null == date ? InitConfig.getDate() : date));
    }
    @ApiOperationSupport(order = 5)
    @ApiOperation(value = "三小时监测站点数据变化趋势", notes = "返回值为三小时监测站点监测数据,返回值为map集合,其中key为站点名称,value为list集合,保存每天监测数值数据")
    @GetMapping("/locationDataChange")
    public Result locationDataChange(@RequestParam(value = "end", required = false) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date date) {
        return Result.OK(warningService.select3Hours(null == date ? new Date() : date));
        return Result.OK(warningService.select3Hours(null == date ? InitConfig.getDate() : date));
    }
    @ApiOperationSupport(order = 6)
@@ -124,7 +128,15 @@
            end = tmp;
        }
        return Result.OK(warningService.getAlarmAndWarnByTime(begin, end));
        //List<Report> list = warningService.getAlarmAndWarnByTime(begin, end);
        String key = "getAlarmAndWarnByTime." + DateUtils.getYyyyMmDdHh(begin) + "." + DateUtils.getYyyyMmDdHh(end);
        List<Report> list = CacheUtils.getListByKey(key);
        if (null == list) {
            list = warningService.getAlarmAndWarnByTime(begin, end);
            CacheUtils.putListByKey(key, list);
        }
        return Result.OK(list);
    }
    @ApiOperationSupport(order = 7)