From 07fe1bb1ef9bf716567c3287ecd7c4859b6ccb1d Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期日, 18 六月 2023 21:07:53 +0800
Subject: [PATCH] 1

---
 src/main/java/com/yssh/service/impl/WarningAnalyseServiceImpl.java |   36 ++++++++++++++++++++++++++++--------
 1 files changed, 28 insertions(+), 8 deletions(-)

diff --git a/src/main/java/com/yssh/service/impl/WarningAnalyseServiceImpl.java b/src/main/java/com/yssh/service/impl/WarningAnalyseServiceImpl.java
index 3fef537..51c7c17 100644
--- a/src/main/java/com/yssh/service/impl/WarningAnalyseServiceImpl.java
+++ b/src/main/java/com/yssh/service/impl/WarningAnalyseServiceImpl.java
@@ -368,19 +368,39 @@
     }
 
     @Override
-    public List<WarningVo> getAlarmAndWarnByTime(Date begin, Date end) {
+    public List<Report> getAlarmAndWarnByTime(Date begin, Date end) {
         String startTime = ymdhms.format(begin);
         String endTime = ymdhms.format(end);
 
-        List<WarningDetail> rs = warningDetailMapper.selectByTime(startTime, endTime);
-        if (null == rs || rs.isEmpty()) {
-            return null;
-        }
+        List<WarningDetail> rs = new ArrayList<>();
+        List<WarningDetail> rsYj = warningDetailMapper.selectByTimeForYj(startTime, endTime);
+        if (null != rsYj && rsYj.size() > 0) rs.addAll(rsYj);
 
-        List<WarningVo> list = new ArrayList<>();
+        List<WarningDetail> rsBj = warningDetailMapper.selectByTimeForBj(startTime, endTime);
+        if (null != rsBj && rsBj.size() > 0) rs.addAll(rsBj);
+
+        List<Report> list = new ArrayList<>();
         for (WarningDetail wd : rs) {
-            String time = ymdh.format(wd.getCreateTime());
-            list.add(new WarningVo(wd.getLocationName(), wd.getSuYuanId(), 0.0, 0.0, wd.getValue(), time));
+            //String time = ymdh.format(wd.getCreateTime());
+            //list.add(new WarningVo(wd.getLocationName(), wd.getSuYuanId(), 0.0, 0.0, wd.getValue(), time));
+
+            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;
+            }
+
+            Report report = Report.calcReport(wd, suYuan, suMax);
+            report.setLastVal(lastVal);
+
+            list.add(report);
         }
 
         return list;

--
Gitblit v1.9.3