From 5145384586f87e6c39b13fdac8180007582fee57 Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期六, 29 七月 2023 08:45:09 +0800
Subject: [PATCH] 2

---
 src/main/java/com/yssh/controller/WarningAnalyseController.java |   20 +-----
 src/main/java/com/yssh/mapper/QxshMapper.java                   |    4 
 src/main/java/com/yssh/service/WarningAnalyseService.java       |   99 ++++++++++-----------------------
 3 files changed, 35 insertions(+), 88 deletions(-)

diff --git a/src/main/java/com/yssh/controller/WarningAnalyseController.java b/src/main/java/com/yssh/controller/WarningAnalyseController.java
index 87fd2bb..b16c089 100644
--- a/src/main/java/com/yssh/controller/WarningAnalyseController.java
+++ b/src/main/java/com/yssh/controller/WarningAnalyseController.java
@@ -69,24 +69,10 @@
     @ApiOperationSupport(order = 4)
     @ApiOperation(value = "涓夊皬鏃剁洃娴嬬珯鐐规暟鎹彉鍖栬秼鍔�", notes = "杩斿洖鍊间负涓夊皬鏃剁洃娴嬬珯鐐圭洃娴嬫暟鎹紝杩斿洖鍊间负map闆嗗悎锛屽叾涓璳ey涓虹珯鐐瑰悕绉帮紝value涓簂ist闆嗗悎锛屼繚瀛樻瘡澶╃洃娴嬫暟鍊兼暟鎹�")
     @GetMapping("/locationDataChange")
-    public Result locationDataChange() {
-        //return Result.OK(warningService.selectEachLocationDataChange());
+    public Result locationDataChange(@RequestParam(value = "end", required = false) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date date) {
+        Date endDate = null == date ? new Date() : date;
 
-        String key = DateUtils.getYyyyMmDd(new Date()) + "_local";
-        Object obj = CacheUtils.get(key);
-        Map<String, List<Double>> map;
-
-        //if (null != obj) {
-        //    map = (Map<String, List<Double>>) obj;
-        //} else {
-        //map = warningService.selectEachLocationDataChange();
-        map = warningService.select3Hours();
-        //    if (null != map && map.size() > 0) {
-        //        CacheUtils.put(key, map);
-        //    }
-        //}
-
-        return Result.ok(map);
+        return Result.OK(warningService.select3Hours(endDate));
     }
 
     @ApiOperationSupport(order = 4)
diff --git a/src/main/java/com/yssh/mapper/QxshMapper.java b/src/main/java/com/yssh/mapper/QxshMapper.java
index d13bffa..692569e 100644
--- a/src/main/java/com/yssh/mapper/QxshMapper.java
+++ b/src/main/java/com/yssh/mapper/QxshMapper.java
@@ -19,9 +19,9 @@
 
     public List<Qxsh> select3Hours(@Param("times") List<String> times);
 
-    public List<Qxsh> selectByBeginAndEnd(@Param("start") Integer start, @Param("end") Integer end);
-
     public Double selectLastYearVal(@Param("time") Integer time, @Param("name") String name);
 
     public Qxsh selectByTimeAndName(@Param("time") Integer time, @Param("name") String name);
+
+    public List<Qxsh> selectByBeginAndEnd(@Param("start") Integer start, @Param("end") Integer end);
 }
diff --git a/src/main/java/com/yssh/service/WarningAnalyseService.java b/src/main/java/com/yssh/service/WarningAnalyseService.java
index 15f7a0d..02f36e8 100644
--- a/src/main/java/com/yssh/service/WarningAnalyseService.java
+++ b/src/main/java/com/yssh/service/WarningAnalyseService.java
@@ -327,6 +327,33 @@
         return CalculateUtils.sort(result, "value", true).subList(0, 10);
     }
 
+    /**
+     * 涓夊皬鏃剁洃娴嬬珯鐐规暟鎹彉鍖栬秼鍔�
+     */
+    public Object select3Hours(Date endDate) {
+        Integer end = Integer.parseInt(DateUtils.getYyyyMmDdHh(endDate));
+        Date startDate = DateUtils.getAPeriodOfTime(endDate, -2, Calendar.HOUR_OF_DAY);
+        Integer start = Integer.parseInt(DateUtils.getYyyyMmDdHh(startDate));
+
+        //  List<String> times = DateUtils.get3Hours();
+        List<Qxsh> list = qxshMapper.selectByBeginAndEnd(start, end);
+        if (null == list || list.isEmpty()) {
+            return null;
+        }
+
+        /* Map<String, List<Double>> map = new LinkedHashMap<>();
+        for (Qxsh qxsh : list) {
+            String name = qxsh.getName();
+            List<Double> values = map.computeIfAbsent(name, k -> new ArrayList<>());
+            values.add(qxsh.getValue());
+        }*/
+
+        return list;
+    }
+
+    /**
+     * 鑾峰彇鏈湀鐩戞祴澶ф暟鎹珯鐐规渶澶у�糡OP10
+     */
     public List<Qxsh> selectMonthTop10() {
         String time = DateUtils.getYyyyMm(new Date());
         List<Qxsh> list = qxshMapper.selectMonthTop10(time + "%");
@@ -334,24 +361,9 @@
         return list;
     }
 
-    public Map<String, List<Double>> select3Hours() {
-        Map<String, List<Double>> map = new LinkedHashMap<>();
-
-        List<String> times = DateUtils.get3Hours();
-        List<Qxsh> list = qxshMapper.select3Hours(times);
-        if (null == list || list.isEmpty()) {
-            return map;
-        }
-
-        for (Qxsh qxsh : list) {
-            String name = qxsh.getName();
-            List<Double> values = map.computeIfAbsent(name, k -> new ArrayList<>());
-            values.add(qxsh.getValue());
-        }
-
-        return map;
-    }
-
+    /**
+     * 鏍规嵁鏃堕棿鑾峰彇鎶ヨ鍜岄璀︿俊鎭�
+     */
     public List<Report> getAlarmAndWarnByTime(Date beginDate, Date endDate) {
         String strStart = DateUtils.getYyyyMmDdHh(beginDate);
         String strEnd = DateUtils.getYyyyMmDdHh(endDate);
@@ -402,57 +414,6 @@
         }
 
         return dict;
-    }
-
-    public List<Report> getAlarmAndWarnByTime2(Date begin, Date end) {
-        String startTime = DateUtils.getYyyyMmDdHhMmSs(begin);
-        String endTime = DateUtils.getYyyyMmDdHhMmSs(end);
-
-        List<WarningDetail> rs = new ArrayList<>();
-        List<WarningDetail> rsYj = warningDetailMapper.selectByTimeForYj(startTime, endTime);
-        if (null != rsYj && rsYj.size() > 0) rs.addAll(rsYj);
-
-        List<WarningDetail> rsBj = warningDetailMapper.selectByTimeForBj(startTime, endTime);
-        if (null != rsBj && rsBj.size() > 0) rs.addAll(rsBj);
-
-        Hashtable<String, Boolean> dict = new Hashtable<>();
-        List<Report> list = new ArrayList<>();
-        for (WarningDetail wd : rs) {
-            /*DistanceSuYuan suYuan = suYuanMapper.getSuYuanById(wd.getTableName(), wd.getSuYuanId());
-            Double lastVal = warningDetailMapper.getLastYearVal(wd.getId());
-
-            int rows = suYuanMapper.isTableExists(wd.getTableName());
-            DistanceSuYuan suMax = null;
-            if (rows > 0) {
-                MonitorPointPosition point = commonService.select3dCheckPointByName(wd.getLocationName());
-                List<String> ids3d = CalculateUtils.aloneCrosswiseExtend(point, 50);
-                suMax = suYuanMapper.getSuYuan500Max(wd.getTableName(), ids3d);
-            } else {
-                suMax = suYuan;
-            }*/
-            if (dict.containsKey(wd.getTableName())) {
-                if (!dict.get(wd.getTableName())) continue;
-            } else {
-                Boolean b = suYuanMapper.isTableExists(wd.getTableName()) > 0;
-                dict.put(wd.getTableName(), b);
-                if (!b) continue;
-            }
-
-            DistanceSuYuan suYuan = suYuanMapper.getSuYuanById(wd.getTableName(), wd.getSuYuanId());
-            Double lastVal = warningDetailMapper.getLastYearVal(wd.getId());
-
-            MonitorPointPosition point = commonService.select3dCheckPointByName(wd.getLocationName());
-            List<String> ids3d = CalculateUtils.aloneCrosswiseExtend(point, 50);
-            DistanceSuYuan suMax = suYuanMapper.getSuYuan500Max(wd.getTableName(), ids3d);
-            suMax.setAddr(getAddr(suMax.getId()));
-
-            Report report = Report.calcReport(wd, suYuan, suMax);
-            report.setLastVal(lastVal);
-
-            list.add(report);
-        }
-
-        return list;
     }
 
     private String getAddr(String id) {

--
Gitblit v1.9.3