From 2a4e0a1c07d0d109d80d1d0cbcdd6b7be40c8bbc Mon Sep 17 00:00:00 2001 From: 13693261870 <252740454@qq.com> Date: 星期一, 31 七月 2023 11:07:31 +0800 Subject: [PATCH] 1 --- src/main/java/com/yssh/controller/WarningAnalyseController.java | 62 ++++++++++++++++++-- src/main/java/com/yssh/service/WarningAnalyseService.java | 110 +++++++++++++++++------------------- src/main/resources/application.yml | 2 3 files changed, 108 insertions(+), 66 deletions(-) diff --git a/src/main/java/com/yssh/controller/WarningAnalyseController.java b/src/main/java/com/yssh/controller/WarningAnalyseController.java index 095929a..a7c3560 100644 --- a/src/main/java/com/yssh/controller/WarningAnalyseController.java +++ b/src/main/java/com/yssh/controller/WarningAnalyseController.java @@ -1,5 +1,6 @@ package com.yssh.controller; +import com.yssh.utils.DateUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -14,6 +15,7 @@ import com.yssh.utils.Result; import javax.annotation.Resource; +import java.util.Calendar; import java.util.Date; @Api(tags = "鍛婅鍒嗘瀽") @@ -27,28 +29,76 @@ @ApiOperationSupport(order = 1) @ApiOperation(value = "鑾峰彇瀹炴椂鎶ヨ", notes = "鑾峰彇瀹炴椂鎶ヨ鍒嗘瀽鏁版嵁") @GetMapping("/runAlarm") - public Result alarmAnalyse(@RequestParam(value = "end", required = false) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date date) { - return Result.OK(warningService.getRunTimeAlarmAnalyse(null == date ? new Date() : date)); + public Result alarmAnalyse(@RequestParam(value = "start", required = false) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date start, + @RequestParam(value = "end", required = false) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date end) { + Integer startTime = getStartTime(start, end); + Integer endTime = getEndTime(start, end); + + return Result.OK(warningService.getRunTimeAlarmAnalyse(startTime, endTime)); } @ApiOperationSupport(order = 2) @ApiOperation(value = "鑾峰彇瀹炴椂棰勮", notes = "鑾峰彇瀹炴椂棰勮鍒嗘瀽鏁版嵁") @GetMapping("/runWarning") - public Result warningAnalyse(@RequestParam(value = "end", required = false) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date date) { - return Result.OK(warningService.getRunTimeWarningAnalyse(null == date ? new Date() : date)); + public Result warningAnalyse(@RequestParam(value = "start", required = false) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date start, + @RequestParam(value = "end", required = false) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date end) { + Integer startTime = getStartTime(start, end); + Integer endTime = getEndTime(start, end); + + return Result.OK(warningService.getRunTimeWarningAnalyse(startTime, endTime)); + } + + private Integer getStartTime(Date start, Date end) { + do { + if (null == start && null == end) { + start = DateUtils.getAPeriodOfTime(new Date(), -5, Calendar.HOUR_OF_DAY); + break; + } + if (null != start && null == end) { + break; + } + if (null == start) { + start = DateUtils.getAPeriodOfTime(end, -5, Calendar.HOUR_OF_DAY); + break; + } + + start = start.getTime() > end.getTime() ? end : start; + } while (false); + + return Integer.parseInt(DateUtils.getYyyyMmDdHh(start)); + } + + private Integer getEndTime(Date start, Date end) { + do { + if (null == start && null == end) { + end = new Date(); + break; + } + if (null != start && null == end) { + end = DateUtils.getAPeriodOfTime(start, 5, Calendar.HOUR_OF_DAY); + break; + } + if (null == start) { + break; + } + + end = start.getTime() < end.getTime() ? end : start; + } while (false); + + return Integer.parseInt(DateUtils.getYyyyMmDdHh(end)); } @ApiOperationSupport(order = 3) @ApiOperation(value = "鏈湀棰勮鎶ヨ缁熻", notes = "鏈湀棰勮鎶ヨ缁熻锛岃繑鍥炲弬鏁癮larmNumber瀵瑰簲鍊间负鏈湀鎶ヨ鏁版嵁閲忥紝鍙傛暟warningNumber瀵瑰簲鍊间负鏈湀棰勮鏁版嵁閲�") @GetMapping("/monthCount") - public Result thisMonthCount(@RequestParam(value = "end", required = false) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date date) { + public Result thisMonthCount(@RequestParam(value = "date", required = false) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date date) { return Result.OK(warningService.monthCount(null == date ? new Date() : date)); } @ApiOperationSupport(order = 4) @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) { + public Result everydayCount(@RequestParam(value = "date", required = false) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date date) { return Result.OK(warningService.everydayCount(null == date ? new Date() : date)); } diff --git a/src/main/java/com/yssh/service/WarningAnalyseService.java b/src/main/java/com/yssh/service/WarningAnalyseService.java index f04b5d4..2557340 100644 --- a/src/main/java/com/yssh/service/WarningAnalyseService.java +++ b/src/main/java/com/yssh/service/WarningAnalyseService.java @@ -18,7 +18,6 @@ import org.springframework.stereotype.Service; import com.google.common.collect.Lists; -import com.yssh.entity.WarningVo; import javax.annotation.Resource; @@ -63,71 +62,15 @@ /** * 鑾峰彇瀹炴椂鎶ヨ */ - public List<Qxsh> getRunTimeAlarmAnalyse(Date endDate) { - Integer end = Integer.parseInt(DateUtils.getYyyyMmDdHh(endDate)); - Date startDate = DateUtils.getAPeriodOfTime(endDate, -5, Calendar.HOUR_OF_DAY); - Integer start = Integer.parseInt(DateUtils.getYyyyMmDdHh(startDate)); - + public List<Qxsh> getRunTimeAlarmAnalyse(Integer start, Integer end) { return qxshMapper.selectAlarmByBeginAndEnd(start, end); } /** * 鑾峰彇瀹炴椂棰勮 */ - public List<Qxsh> getRunTimeWarningAnalyse(Date endDate) { - Integer end = Integer.parseInt(DateUtils.getYyyyMmDdHh(endDate)); - Date startDate = DateUtils.getAPeriodOfTime(endDate, -5, Calendar.HOUR_OF_DAY); - Integer start = Integer.parseInt(DateUtils.getYyyyMmDdHh(startDate)); - + public List<Qxsh> getRunTimeWarningAnalyse(Integer start, Integer end) { return qxshMapper.selectWarnByBeginAndEnd(start, end); - } - - // 宸插簾寮� * - public void warningOperationStorage(Date date) { - List<WarningDetail> allData = new ArrayList<>(); - List<WarningDetail> alarms = this.getAlarmWarnAnalyse(date, false); - if (StringUtils.isNotEmpty(alarms)) { - allData.addAll(alarms); - } - - List<WarningDetail> warnings = this.getAlarmWarnAnalyse(date, true); - if (StringUtils.isNotEmpty(warnings)) { - allData.addAll(warnings); - } - - if (StringUtils.isNotEmpty(allData)) { - try { - insertWarningDetails(allData); - } catch (Exception e) { - logger.error("鎵归噺鎻掑叆鍛婅鏁版嵁鍑虹幇寮傚父锛侊紒锛�", e); - e.printStackTrace(); - } - } - } - - private List<WarningDetail> getAlarmWarnAnalyse(Date date, boolean isWarn) { - List<String> ids = CalculateUtils.assembleId(commonService.getCheckPoints3d()); - - String time = DateUtils.parseDateToStr(DateUtils.YYYYMMDDHH, date); - DictRecord dictRecord = dictRecordMapper.selectByCreateTime(Long.parseLong(time)); - if (null == dictRecord) return null; - - String tableName = dictRecord.getTableName(); - if (suYuanMapper.isTableExists(tableName) == 0) return null; - - List<SuYuan2d> list = isWarn ? suYuanMapper.getWarningAnalyse(tableName, ids) : suYuanMapper.getAlarmsAnalyse(tableName, ids); - if (null == list || list.isEmpty()) { - return null; - } - - int type = isWarn ? 1 : 0; - List<WarningDetail> result = new ArrayList<>(); - for (SuYuan2d s : list) { - String locationName = commonService.select3dCheckPointById(s.getId()).getName(); - result.add(new WarningDetail(0L, tableName, s.getId(), locationName, date, type, s.getValue())); - } - - return result; } /** @@ -270,4 +213,53 @@ return null; } + + // 宸插簾寮� * + public void warningOperationStorage(Date date) { + List<WarningDetail> allData = new ArrayList<>(); + List<WarningDetail> alarms = this.getAlarmWarnAnalyse(date, false); + if (StringUtils.isNotEmpty(alarms)) { + allData.addAll(alarms); + } + + List<WarningDetail> warnings = this.getAlarmWarnAnalyse(date, true); + if (StringUtils.isNotEmpty(warnings)) { + allData.addAll(warnings); + } + + if (StringUtils.isNotEmpty(allData)) { + try { + insertWarningDetails(allData); + } catch (Exception e) { + logger.error("鎵归噺鎻掑叆鍛婅鏁版嵁鍑虹幇寮傚父锛侊紒锛�", e); + e.printStackTrace(); + } + } + } + + // 宸插簾寮� * + private List<WarningDetail> getAlarmWarnAnalyse(Date date, boolean isWarn) { + List<String> ids = CalculateUtils.assembleId(commonService.getCheckPoints3d()); + + String time = DateUtils.parseDateToStr(DateUtils.YYYYMMDDHH, date); + DictRecord dictRecord = dictRecordMapper.selectByCreateTime(Long.parseLong(time)); + if (null == dictRecord) return null; + + String tableName = dictRecord.getTableName(); + if (suYuanMapper.isTableExists(tableName) == 0) return null; + + List<SuYuan2d> list = isWarn ? suYuanMapper.getWarningAnalyse(tableName, ids) : suYuanMapper.getAlarmsAnalyse(tableName, ids); + if (null == list || list.isEmpty()) { + return null; + } + + int type = isWarn ? 1 : 0; + List<WarningDetail> result = new ArrayList<>(); + for (SuYuan2d s : list) { + String locationName = commonService.select3dCheckPointById(s.getId()).getName(); + result.add(new WarningDetail(0L, tableName, s.getId(), locationName, date, type, s.getValue())); + } + + return result; + } } diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 922a2ca..0dd3c85 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -7,7 +7,7 @@ max: 1000 # Tomcat鍚姩鍒濆鍖栫殑绾跨▼鏁帮紝榛樿鍊�25 min-spare: 25 - port: 9001 + port: 8082 servlet: context-path: / -- Gitblit v1.9.3