From 2a4e0a1c07d0d109d80d1d0cbcdd6b7be40c8bbc Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期一, 31 七月 2023 11:07:31 +0800
Subject: [PATCH] 1

---
 src/main/java/com/yssh/controller/WarningAnalyseController.java |   62 ++++++++++++++++++--
 src/main/java/com/yssh/service/WarningAnalyseService.java       |  110 +++++++++++++++++-------------------
 src/main/resources/application.yml                              |    2 
 3 files changed, 108 insertions(+), 66 deletions(-)

diff --git a/src/main/java/com/yssh/controller/WarningAnalyseController.java b/src/main/java/com/yssh/controller/WarningAnalyseController.java
index 095929a..a7c3560 100644
--- a/src/main/java/com/yssh/controller/WarningAnalyseController.java
+++ b/src/main/java/com/yssh/controller/WarningAnalyseController.java
@@ -1,5 +1,6 @@
 package com.yssh.controller;
 
+import com.yssh.utils.DateUtils;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 
@@ -14,6 +15,7 @@
 import com.yssh.utils.Result;
 
 import javax.annotation.Resource;
+import java.util.Calendar;
 import java.util.Date;
 
 @Api(tags = "鍛婅鍒嗘瀽")
@@ -27,28 +29,76 @@
     @ApiOperationSupport(order = 1)
     @ApiOperation(value = "鑾峰彇瀹炴椂鎶ヨ", notes = "鑾峰彇瀹炴椂鎶ヨ鍒嗘瀽鏁版嵁")
     @GetMapping("/runAlarm")
-    public Result alarmAnalyse(@RequestParam(value = "end", required = false) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date date) {
-        return Result.OK(warningService.getRunTimeAlarmAnalyse(null == date ? new Date() : date));
+    public Result alarmAnalyse(@RequestParam(value = "start", required = false) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date start,
+                               @RequestParam(value = "end", required = false) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date end) {
+        Integer startTime = getStartTime(start, end);
+        Integer endTime = getEndTime(start, end);
+
+        return Result.OK(warningService.getRunTimeAlarmAnalyse(startTime, endTime));
     }
 
     @ApiOperationSupport(order = 2)
     @ApiOperation(value = "鑾峰彇瀹炴椂棰勮", notes = "鑾峰彇瀹炴椂棰勮鍒嗘瀽鏁版嵁")
     @GetMapping("/runWarning")
-    public Result warningAnalyse(@RequestParam(value = "end", required = false) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date date) {
-        return Result.OK(warningService.getRunTimeWarningAnalyse(null == date ? new Date() : date));
+    public Result warningAnalyse(@RequestParam(value = "start", required = false) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date start,
+                                 @RequestParam(value = "end", required = false) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date end) {
+        Integer startTime = getStartTime(start, end);
+        Integer endTime = getEndTime(start, end);
+
+        return Result.OK(warningService.getRunTimeWarningAnalyse(startTime, endTime));
+    }
+
+    private Integer getStartTime(Date start, Date end) {
+        do {
+            if (null == start && null == end) {
+                start = DateUtils.getAPeriodOfTime(new Date(), -5, Calendar.HOUR_OF_DAY);
+                break;
+            }
+            if (null != start && null == end) {
+                break;
+            }
+            if (null == start) {
+                start = DateUtils.getAPeriodOfTime(end, -5, Calendar.HOUR_OF_DAY);
+                break;
+            }
+
+            start = start.getTime() > end.getTime() ? end : start;
+        } while (false);
+
+        return Integer.parseInt(DateUtils.getYyyyMmDdHh(start));
+    }
+
+    private Integer getEndTime(Date start, Date end) {
+        do {
+            if (null == start && null == end) {
+                end = new Date();
+                break;
+            }
+            if (null != start && null == end) {
+                end = DateUtils.getAPeriodOfTime(start, 5, Calendar.HOUR_OF_DAY);
+                break;
+            }
+            if (null == start) {
+                break;
+            }
+
+            end = start.getTime() < end.getTime() ? end : start;
+        } while (false);
+
+        return Integer.parseInt(DateUtils.getYyyyMmDdHh(end));
     }
 
     @ApiOperationSupport(order = 3)
     @ApiOperation(value = "鏈湀棰勮鎶ヨ缁熻", notes = "鏈湀棰勮鎶ヨ缁熻锛岃繑鍥炲弬鏁癮larmNumber瀵瑰簲鍊间负鏈湀鎶ヨ鏁版嵁閲忥紝鍙傛暟warningNumber瀵瑰簲鍊间负鏈湀棰勮鏁版嵁閲�")
     @GetMapping("/monthCount")
-    public Result thisMonthCount(@RequestParam(value = "end", required = false) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date date) {
+    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));
     }
 
     @ApiOperationSupport(order = 4)
     @ApiOperation(value = "涓�鍛ㄩ璀︽姤璀︽暟閲忓彉鍖栬秼鍔�", notes = "涓�鍛ㄩ璀︽姤璀︽暟閲忓彉鍖栬秼鍔匡紝杩斿洖鍙傛暟alarmDayCount涓轰竴鍛ㄦ瘡鏃ユ姤璀︾粺璁℃暟閲忓垪琛紝鍙傛暟warningDayCount涓轰竴鍛ㄦ瘡鏃ラ璀︾粺璁℃暟閲忓垪琛�")
     @GetMapping("/everydayCount")
-    public Result everydayCount(@RequestParam(value = "end", required = false) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date date) {
+    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));
     }
 
diff --git a/src/main/java/com/yssh/service/WarningAnalyseService.java b/src/main/java/com/yssh/service/WarningAnalyseService.java
index f04b5d4..2557340 100644
--- a/src/main/java/com/yssh/service/WarningAnalyseService.java
+++ b/src/main/java/com/yssh/service/WarningAnalyseService.java
@@ -18,7 +18,6 @@
 import org.springframework.stereotype.Service;
 
 import com.google.common.collect.Lists;
-import com.yssh.entity.WarningVo;
 
 import javax.annotation.Resource;
 
@@ -63,71 +62,15 @@
     /**
      * 鑾峰彇瀹炴椂鎶ヨ
      */
-    public List<Qxsh> getRunTimeAlarmAnalyse(Date endDate) {
-        Integer end = Integer.parseInt(DateUtils.getYyyyMmDdHh(endDate));
-        Date startDate = DateUtils.getAPeriodOfTime(endDate, -5, Calendar.HOUR_OF_DAY);
-        Integer start = Integer.parseInt(DateUtils.getYyyyMmDdHh(startDate));
-
+    public List<Qxsh> getRunTimeAlarmAnalyse(Integer start, Integer end) {
         return qxshMapper.selectAlarmByBeginAndEnd(start, end);
     }
 
     /**
      * 鑾峰彇瀹炴椂棰勮
      */
-    public List<Qxsh> getRunTimeWarningAnalyse(Date endDate) {
-        Integer end = Integer.parseInt(DateUtils.getYyyyMmDdHh(endDate));
-        Date startDate = DateUtils.getAPeriodOfTime(endDate, -5, Calendar.HOUR_OF_DAY);
-        Integer start = Integer.parseInt(DateUtils.getYyyyMmDdHh(startDate));
-
+    public List<Qxsh> getRunTimeWarningAnalyse(Integer start, Integer end) {
         return qxshMapper.selectWarnByBeginAndEnd(start, end);
-    }
-
-    // 宸插簾寮� *
-    public void warningOperationStorage(Date date) {
-        List<WarningDetail> allData = new ArrayList<>();
-        List<WarningDetail> alarms = this.getAlarmWarnAnalyse(date, false);
-        if (StringUtils.isNotEmpty(alarms)) {
-            allData.addAll(alarms);
-        }
-
-        List<WarningDetail> warnings = this.getAlarmWarnAnalyse(date, true);
-        if (StringUtils.isNotEmpty(warnings)) {
-            allData.addAll(warnings);
-        }
-
-        if (StringUtils.isNotEmpty(allData)) {
-            try {
-                insertWarningDetails(allData);
-            } catch (Exception e) {
-                logger.error("鎵归噺鎻掑叆鍛婅鏁版嵁鍑虹幇寮傚父锛侊紒锛�", e);
-                e.printStackTrace();
-            }
-        }
-    }
-
-    private List<WarningDetail> getAlarmWarnAnalyse(Date date, boolean isWarn) {
-        List<String> ids = CalculateUtils.assembleId(commonService.getCheckPoints3d());
-
-        String time = DateUtils.parseDateToStr(DateUtils.YYYYMMDDHH, date);
-        DictRecord dictRecord = dictRecordMapper.selectByCreateTime(Long.parseLong(time));
-        if (null == dictRecord) return null;
-
-        String tableName = dictRecord.getTableName();
-        if (suYuanMapper.isTableExists(tableName) == 0) return null;
-
-        List<SuYuan2d> list = isWarn ? suYuanMapper.getWarningAnalyse(tableName, ids) : suYuanMapper.getAlarmsAnalyse(tableName, ids);
-        if (null == list || list.isEmpty()) {
-            return null;
-        }
-
-        int type = isWarn ? 1 : 0;
-        List<WarningDetail> result = new ArrayList<>();
-        for (SuYuan2d s : list) {
-            String locationName = commonService.select3dCheckPointById(s.getId()).getName();
-            result.add(new WarningDetail(0L, tableName, s.getId(), locationName, date, type, s.getValue()));
-        }
-
-        return result;
     }
 
     /**
@@ -270,4 +213,53 @@
 
         return null;
     }
+
+    // 宸插簾寮� *
+    public void warningOperationStorage(Date date) {
+        List<WarningDetail> allData = new ArrayList<>();
+        List<WarningDetail> alarms = this.getAlarmWarnAnalyse(date, false);
+        if (StringUtils.isNotEmpty(alarms)) {
+            allData.addAll(alarms);
+        }
+
+        List<WarningDetail> warnings = this.getAlarmWarnAnalyse(date, true);
+        if (StringUtils.isNotEmpty(warnings)) {
+            allData.addAll(warnings);
+        }
+
+        if (StringUtils.isNotEmpty(allData)) {
+            try {
+                insertWarningDetails(allData);
+            } catch (Exception e) {
+                logger.error("鎵归噺鎻掑叆鍛婅鏁版嵁鍑虹幇寮傚父锛侊紒锛�", e);
+                e.printStackTrace();
+            }
+        }
+    }
+
+    // 宸插簾寮� *
+    private List<WarningDetail> getAlarmWarnAnalyse(Date date, boolean isWarn) {
+        List<String> ids = CalculateUtils.assembleId(commonService.getCheckPoints3d());
+
+        String time = DateUtils.parseDateToStr(DateUtils.YYYYMMDDHH, date);
+        DictRecord dictRecord = dictRecordMapper.selectByCreateTime(Long.parseLong(time));
+        if (null == dictRecord) return null;
+
+        String tableName = dictRecord.getTableName();
+        if (suYuanMapper.isTableExists(tableName) == 0) return null;
+
+        List<SuYuan2d> list = isWarn ? suYuanMapper.getWarningAnalyse(tableName, ids) : suYuanMapper.getAlarmsAnalyse(tableName, ids);
+        if (null == list || list.isEmpty()) {
+            return null;
+        }
+
+        int type = isWarn ? 1 : 0;
+        List<WarningDetail> result = new ArrayList<>();
+        for (SuYuan2d s : list) {
+            String locationName = commonService.select3dCheckPointById(s.getId()).getName();
+            result.add(new WarningDetail(0L, tableName, s.getId(), locationName, date, type, s.getValue()));
+        }
+
+        return result;
+    }
 }
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 922a2ca..0dd3c85 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -7,7 +7,7 @@
       max: 1000
       # Tomcat鍚姩鍒濆鍖栫殑绾跨▼鏁帮紝榛樿鍊�25
       min-spare: 25
-  port: 9001
+  port: 8082
   servlet:
     context-path: /
 

--
Gitblit v1.9.3