From 450688a18ced81ec1bd77a535492b12548249e69 Mon Sep 17 00:00:00 2001 From: 13693261870 <252740454@qq.com> Date: 星期六, 29 七月 2023 09:51:49 +0800 Subject: [PATCH] 4 --- src/main/java/com/yssh/controller/WarningAnalyseController.java | 2 src/main/java/com/yssh/mapper/QxshMapper.java | 5 + src/main/java/com/yssh/service/WarningAnalyseService.java | 133 +------------------------------------------- src/main/resources/mapper/QxshMapper.xml | 23 +++++-- 4 files changed, 27 insertions(+), 136 deletions(-) diff --git a/src/main/java/com/yssh/controller/WarningAnalyseController.java b/src/main/java/com/yssh/controller/WarningAnalyseController.java index b165874..23bd4ef 100644 --- a/src/main/java/com/yssh/controller/WarningAnalyseController.java +++ b/src/main/java/com/yssh/controller/WarningAnalyseController.java @@ -60,7 +60,7 @@ } @ApiOperationSupport(order = 4) - @ApiOperation(value = "姣忔棩棰勮鎶ヨ鏁伴噺鍙樺寲瓒嬪娍", notes = "涓�鍛ㄦ瘡鏃ラ璀︺�佹姤璀︽暟閲忕粺璁★紝杩斿洖鍙傛暟alarmDayCount涓轰竴鍛ㄦ瘡鏃ユ姤璀︾粺璁℃暟閲忓垪琛紝鍙傛暟warningDayCount涓轰竴鍛ㄦ瘡鏃ラ璀︾粺璁℃暟閲忓垪琛�") + @ApiOperation(value = "涓�鍛ㄩ璀︽姤璀︽暟閲忓彉鍖栬秼鍔�", notes = "涓�鍛ㄩ璀︽姤璀︽暟閲忓彉鍖栬秼鍔匡紝杩斿洖鍙傛暟alarmDayCount涓轰竴鍛ㄦ瘡鏃ユ姤璀︾粺璁℃暟閲忓垪琛紝鍙傛暟warningDayCount涓轰竴鍛ㄦ瘡鏃ラ璀︾粺璁℃暟閲忓垪琛�") @GetMapping("/everydayCount") 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; diff --git a/src/main/java/com/yssh/mapper/QxshMapper.java b/src/main/java/com/yssh/mapper/QxshMapper.java index e8628c6..c9db586 100644 --- a/src/main/java/com/yssh/mapper/QxshMapper.java +++ b/src/main/java/com/yssh/mapper/QxshMapper.java @@ -5,6 +5,7 @@ import org.apache.ibatis.annotations.Param; import java.util.List; +import java.util.Map; /** * @author WWW @@ -17,6 +18,10 @@ public List<Qxsh> selectMonthTop10(String time); + public List<Map<String, Object>> count7DayForWarn(@Param("start") Integer start, @Param("end") Integer end); + + public List<Map<String, Object>> count7DayForAlarm(@Param("start") Integer start, @Param("end") Integer end); + public List<Qxsh> selectByBeginAndEnd(@Param("start") Integer start, @Param("end") Integer end); public Qxsh selectByTimeAndName(@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 d42c589..515c4c1 100644 --- a/src/main/java/com/yssh/service/WarningAnalyseService.java +++ b/src/main/java/com/yssh/service/WarningAnalyseService.java @@ -202,139 +202,14 @@ Date startDate = DateUtils.getAPeriodOfTime(endDate, -6, Calendar.DATE); Integer start = Integer.parseInt(DateUtils.getYyyyMmDdHh(startDate)); - - - Map<String, List<Map<String, Object>>> result = new HashMap<>(); + List<Map<String, Object>> warnList = qxshMapper.count7DayForWarn(start, end); + result.put("warningDayCount", warnList); - Map<String, Object> param = new HashMap<String, Object>(); - Date now = new Date(); - Date last = DateUtils.getAPeriodOfTime(now, -7, Calendar.DATE); // 涓婂懆鐨勪粖澶� - param.put("startTime", DateUtils.getYyyyMmDdHhMmSs(last)); - param.put("endTime", DateUtils.getYyyyMmDdHhMmSs(now)); - - param.put("type", 0); - List<Map<String, Object>> alarmDayCount = warningDetailMapper.selectWarningDayCountByMap(param); - result.put("alarmDayCount", alarmDayCount); - - param.put("type", 1); - List<Map<String, Object>> warningDayCount = warningDetailMapper.selectWarningDayCountByMap(param); - result.put("warningDayCount", warningDayCount); + List<Map<String, Object>> alarmList = qxshMapper.count7DayForAlarm(start, end); + result.put("alarmDayCount", alarmList); return result; - } - - public Map<String, List<Double>> selectEachLocationDataChange() { - /*Map<String, List<Double>> result = new LinkedHashMap<>(); - List<MonitorPointPosition> checkPoints = commonService.getCheckPoints3d(); - Date nowDate = DateUtils.getNowDate(); - Long endTime = Long.parseLong(DateUtils.parseDateToStr(DateUtils.YYYYMMDDHH, nowDate)); - Long startTime = Long.parseLong(DateUtils.parseDateToStr(DateUtils.YYYYMMDDHH, DateUtils.getAPeriodOfTime(nowDate, -3, Calendar.HOUR_OF_DAY))); - List<DictRecord> recordList = dictRecordMapper.selectByTimeDictRecordList(startTime, endTime); - checkPoints.forEach(c -> { - List<String> tableNames = new ArrayList<>(); - recordList.forEach(r -> { - tableNames.add(r.getTableName()); - }); - List<Double> values = new ArrayList<>(); - if (StringUtils.isNotNull(tableNames)) { - List<SuYuanMonitorData> data = suYuanMapper.getMonitorData(tableNames, c.getId()); - data.forEach(v -> { - values.add(v.getValue()); - }); - result.put(c.getName(), values); - } - }); - return result;*/ - - Map<String, List<Double>> result = new LinkedHashMap<>(); - List<MonitorPointPosition> checkPoints = commonService.getCheckPoints3d(); - Date nowDate = DateUtils.getNowDate(); - Long endTime = Long.parseLong(DateUtils.parseDateToStr(DateUtils.YYYYMMDDHH, nowDate)); - Long startTime = Long.parseLong(DateUtils.parseDateToStr(DateUtils.YYYYMMDDHH, DateUtils.getAPeriodOfTime(nowDate, -3, Calendar.HOUR_OF_DAY))); - List<DictRecord> recordList = dictRecordMapper.selectByTimeDictRecordList(startTime, endTime); - - List<String> tableNames = new ArrayList<>(); - for (DictRecord dr : recordList) { - if (suYuanMapper.isTableExists(dr.getTableName()) > 0) { - tableNames.add(dr.getTableName()); - } - } - if (tableNames.isEmpty()) { - return result; - } - - for (MonitorPointPosition c : checkPoints) { - List<Double> values = new ArrayList<>(); - List<SuYuanMonitorData> data = suYuanMapper.getMonitorData(tableNames, c.getId()); - if (null != data && data.size() > 0) { - for (SuYuanMonitorData v : data) { - values.add(v.getValue()); - } - } - result.put(c.getName(), values); - } - return result; - } - - public List<Map<String, Object>> selectThisMonthLocationValueDataTop10() { - /*List<Map<String, Object>> result = new ArrayList<>(); - List<MonitorPointPosition> checkPoints = commonService.getCheckPoints3d(); - Long startTime = Long.parseLong(DateUtils.parseDateToStr(DateUtils.YYYYMMDDHH, DateUtils.getMonthStart())); - Long endTime = Long.parseLong(DateUtils.parseDateToStr(DateUtils.YYYYMMDDHH, DateUtils.getMonthEnd())); - List<DictRecord> recordList = dictRecordMapper.selectByTimeDictRecordList(startTime, endTime); - checkPoints.forEach(c -> { - List<String> tableNames = new ArrayList<>(); - recordList.forEach(r -> { - tableNames.add(r.getTableName()); - }); - Map<String, Object> map = suYuanMapper.getMonthValueDataMax(tableNames, c.getId()); - if (StringUtils.isNotNull(map) && StringUtils.isNotEmpty(map)) { - String suYuanId = map.get("id").toString(); - map.put("name", commonService.select3dCheckPointById(suYuanId).getName()); - map.remove("id"); - } - result.add(map); - }); - return CalculateUtils.sort(result, "value", true).subList(0, 10);*/ - - List<Map<String, Object>> result = new ArrayList<>(); - List<MonitorPointPosition> checkPoints = commonService.getCheckPoints3d(); - Long startTime = Long.parseLong(DateUtils.parseDateToStr(DateUtils.YYYYMMDDHH, DateUtils.getMonthStart())); - Long endTime = Long.parseLong(DateUtils.parseDateToStr(DateUtils.YYYYMMDDHH, DateUtils.getMonthEnd())); - //startTime = 2023040100L; - //endTime = 2023043023L; - - List<DictRecord> recordList = dictRecordMapper.selectByTimeDictRecordList(startTime, endTime); - - List<String> tableNames = new ArrayList<>(); - for (DictRecord dr : recordList) { - if (suYuanMapper.isTableExists(dr.getTableName()) > 0) { - tableNames.add(dr.getTableName()); - } - } - if (tableNames.isEmpty()) { - return result; - } - - /*List<String> idList = new ArrayList<>(); - for (MonitorPointPosition c : checkPoints) { - idList.add("'" + c.getId() + "'"); - } - String ids = String.join(",", idList);*/ - - for (MonitorPointPosition c : checkPoints) { - Map<String, Object> map = suYuanMapper.getMonthValueDataMax(tableNames, c.getId()); - if (null != map && map.size() > 0) { - //String suYuanId = map.get("id").toString(); - //map.put("name", commonService.select3dCheckPointById(suYuanId).getName()); - //map.remove("id"); - map.put("name", c.getName()); - result.add(map); - } - } - - return CalculateUtils.sort(result, "value", true).subList(0, 10); } /** diff --git a/src/main/resources/mapper/QxshMapper.xml b/src/main/resources/mapper/QxshMapper.xml index 93e3a28..af93f53 100644 --- a/src/main/resources/mapper/QxshMapper.xml +++ b/src/main/resources/mapper/QxshMapper.xml @@ -19,12 +19,23 @@ limit 10; </select> - <select id="count7DayForWarn" resultType="com.yssh.entity.Qxsh"> - select id, name, 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 id="count7DayForWarn" resultType="java.util.Map"> + with rs as ( + select left(time, 8) "createTime" + from yssh_qxsh + where time between #{start} and #{end} and name like 'AI-%' + and value > (select jcyj from alert_config limit 1) and value <= (select jcbj from alert_config limit 1) + ) + select createTime, count(*) "num" from rs group by createTime order by createTime; + </select> + + <select id="count7DayForAlarm" resultType="java.util.Map"> + with rs as ( + select left(time, 8) "createTime" + from yssh_qxsh + where time between #{start} and #{end} and name like 'AI-%' and value > (select jcbj from alert_config limit 1) + ) + select createTime, count(*) "num" from rs group by createTime order by createTime; </select> <select id="selectByBeginAndEnd" resultType="com.yssh.entity.Qxsh"> -- Gitblit v1.9.3