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