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