From d61a1d81e8dcaf8d0c8e0bd02e8914021aacb468 Mon Sep 17 00:00:00 2001 From: 13693261870 <252740454@qq.com> Date: 星期六, 29 七月 2023 09:26:15 +0800 Subject: [PATCH] 3 --- src/main/java/com/yssh/controller/WarningAnalyseController.java | 8 ++++---- src/main/java/com/yssh/mapper/QxshMapper.java | 8 ++++---- src/main/java/com/yssh/service/WarningAnalyseService.java | 14 ++++++++++++-- src/main/resources/mapper/QxshMapper.xml | 22 ++++++++++++++-------- 4 files changed, 34 insertions(+), 18 deletions(-) diff --git a/src/main/java/com/yssh/controller/WarningAnalyseController.java b/src/main/java/com/yssh/controller/WarningAnalyseController.java index b16c089..b165874 100644 --- a/src/main/java/com/yssh/controller/WarningAnalyseController.java +++ b/src/main/java/com/yssh/controller/WarningAnalyseController.java @@ -60,10 +60,11 @@ } @ApiOperationSupport(order = 4) - @ApiOperation(value = "姣忔棩棰勮銆佹姤璀︽暟閲忓彉鍖栬秼鍔�", notes = "涓�鍛ㄦ瘡鏃ラ璀︺�佹姤璀︽暟閲忕粺璁★紝杩斿洖鍙傛暟alarmDayCount涓轰竴鍛ㄦ瘡鏃ユ姤璀︾粺璁℃暟閲忓垪琛紝鍙傛暟warningDayCount涓轰竴鍛ㄦ瘡鏃ラ璀︾粺璁℃暟閲忓垪琛�") + @ApiOperation(value = "姣忔棩棰勮鎶ヨ鏁伴噺鍙樺寲瓒嬪娍", notes = "涓�鍛ㄦ瘡鏃ラ璀︺�佹姤璀︽暟閲忕粺璁★紝杩斿洖鍙傛暟alarmDayCount涓轰竴鍛ㄦ瘡鏃ユ姤璀︾粺璁℃暟閲忓垪琛紝鍙傛暟warningDayCount涓轰竴鍛ㄦ瘡鏃ラ璀︾粺璁℃暟閲忓垪琛�") @GetMapping("/everydayCount") - public Result everydayCount() { - return Result.OK(warningService.countEverydayAlarmAndWarning()); + public Result everydayCount(@RequestParam(value = "end", required = false) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date date) { + Date endDate = null == date ? new Date() : date; + return Result.OK(warningService.everydayCount(endDate)); } @ApiOperationSupport(order = 4) @@ -71,7 +72,6 @@ @GetMapping("/locationDataChange") 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; - return Result.OK(warningService.select3Hours(endDate)); } diff --git a/src/main/java/com/yssh/mapper/QxshMapper.java b/src/main/java/com/yssh/mapper/QxshMapper.java index 692569e..e8628c6 100644 --- a/src/main/java/com/yssh/mapper/QxshMapper.java +++ b/src/main/java/com/yssh/mapper/QxshMapper.java @@ -17,11 +17,11 @@ public List<Qxsh> selectMonthTop10(String time); - public List<Qxsh> select3Hours(@Param("times") List<String> times); - - public Double selectLastYearVal(@Param("time") Integer time, @Param("name") String name); + public List<Qxsh> selectByBeginAndEnd(@Param("start") Integer start, @Param("end") Integer end); public Qxsh selectByTimeAndName(@Param("time") Integer time, @Param("name") String name); - public List<Qxsh> selectByBeginAndEnd(@Param("start") Integer start, @Param("end") Integer end); + public List<Qxsh> selectForReport(@Param("start") Integer start, @Param("end") Integer end); + + public Double selectLastYearVal(@Param("time") Integer time, @Param("name") String name); } diff --git a/src/main/java/com/yssh/service/WarningAnalyseService.java b/src/main/java/com/yssh/service/WarningAnalyseService.java index 02f36e8..d42c589 100644 --- a/src/main/java/com/yssh/service/WarningAnalyseService.java +++ b/src/main/java/com/yssh/service/WarningAnalyseService.java @@ -194,7 +194,17 @@ return result; } - public Map<String, List<Map<String, Object>>> countEverydayAlarmAndWarning() { + /** + * 姣忔棩棰勮銆佹姤璀︽暟閲忓彉鍖栬秼鍔� + */ + public Map<String, List<Map<String, Object>>> everydayCount(Date endDate) { + Integer end = Integer.parseInt(DateUtils.getYyyyMmDdHh(endDate)); + Date startDate = DateUtils.getAPeriodOfTime(endDate, -6, Calendar.DATE); + Integer start = Integer.parseInt(DateUtils.getYyyyMmDdHh(startDate)); + + + + Map<String, List<Map<String, Object>>> result = new HashMap<>(); Map<String, Object> param = new HashMap<String, Object>(); @@ -370,7 +380,7 @@ Integer start = Integer.parseInt(strStart); Integer end = Integer.parseInt(strEnd); - List<Qxsh> rsList = qxshMapper.selectByBeginAndEnd(start, end); + List<Qxsh> rsList = qxshMapper.selectForReport(start, end); if (null == rsList || rsList.isEmpty()) return null; Hashtable<String, Boolean> dict = getExistTabDict(rsList); diff --git a/src/main/resources/mapper/QxshMapper.xml b/src/main/resources/mapper/QxshMapper.xml index 15e26ab..93e3a28 100644 --- a/src/main/resources/mapper/QxshMapper.xml +++ b/src/main/resources/mapper/QxshMapper.xml @@ -10,26 +10,32 @@ <select id="selectMonthTop10" resultType="com.yssh.entity.Qxsh"> with rs as ( - select id, name, format(value, 2) "value", time + select id, name, lon, lat, format(value, 2) "value", time from yssh_qxsh where time like #{time} and name like 'AI-%' ) - select id, name, value, time from rs + select id, name, lon, lat, value, time from rs order by value desc limit 10; </select> - <select id="select3Hours" resultType="com.yssh.entity.Qxsh"> + <select id="count7DayForWarn" resultType="com.yssh.entity.Qxsh"> select id, name, format(value, 2) "value", time from yssh_qxsh - where name like 'AI-%' and time in - <foreach collection="times" item="time" open="(" separator="," close=")"> - #{time} - </foreach> - order by name, time; + where time between #{start} and #{end} + and value > (select jcyj from alert_config limit 1) and name like 'AI-%' + order by time, name; </select> <select id="selectByBeginAndEnd" resultType="com.yssh.entity.Qxsh"> + select id, name, lon, lat, format(value, 2) "value", time + from yssh_qxsh + where time between #{start} and #{end} + and value > (select jcyj from alert_config limit 1) and name like 'AI-%' + order by time, name; + </select> + + <select id="selectForReport" resultType="com.yssh.entity.Qxsh"> select id, name, format(value, 2) "value", time from yssh_qxsh where time between #{start} and #{end} -- Gitblit v1.9.3