From a3d41aaa84c64dd296a2bd89198682276ef7b1d3 Mon Sep 17 00:00:00 2001 From: 13693261870 <252740454@qq.com> Date: 星期三, 26 四月 2023 14:05:32 +0800 Subject: [PATCH] 1 --- src/main/java/com/yssh/service/impl/WarningAnalyseServiceImpl.java | 48 +++++++++++++++++++----- src/main/java/com/yssh/controller/WarningAnalyseController.java | 60 ++++++++++++++++++------------ 2 files changed, 74 insertions(+), 34 deletions(-) diff --git a/src/main/java/com/yssh/controller/WarningAnalyseController.java b/src/main/java/com/yssh/controller/WarningAnalyseController.java index 7a63715..d724acb 100644 --- a/src/main/java/com/yssh/controller/WarningAnalyseController.java +++ b/src/main/java/com/yssh/controller/WarningAnalyseController.java @@ -23,9 +23,9 @@ @RestController @SuppressWarnings("rawtypes") public class WarningAnalyseController { - - @Autowired - private IWarningAnalyseService warningService; + + @Autowired + private IWarningAnalyseService warningService; private static ConcurrentHashMap<String, Object> cache = new ConcurrentHashMap<>(5); @@ -33,7 +33,8 @@ public static final long CACHE_HOLD_TIME_24H = 24 * 60 * 60 * 1000L; - //鎶ヨ鍒嗘瀽 + //鎶ヨ鍒嗘瀽 + /** * 1.鏌ヨ褰撳墠鏃堕棿鐨勬墍鏈夌偣浣峷alue鍊硷紙浠�47.dat鏌ヨ鍗冲彲锛� * 2.绛涢�夊ぇ浜巠ssh_bjyj涓殑jcbj瀛楁鐨勫�� 杩斿洖id+缁忕含搴�+value @@ -41,11 +42,12 @@ @ApiOperationSupport(order = 1) @ApiOperation(value = "鑾峰彇瀹炴椂鎶ヨ", notes = "鑾峰彇瀹炴椂鎶ヨ鍒嗘瀽鏁版嵁") @GetMapping("/runAlarm") - public Result alarmAnalyse(){ - return Result.OK(warningService.getRunTimeAlarmAnalyse()); + public Result alarmAnalyse() { + return Result.OK(warningService.getRunTimeAlarmAnalyse()); } - + //棰勮鍒嗘瀽 + /** * 1.鏌ヨ褰撳墠鏃堕棿鐨勬墍鏈夌偣浣峷alue鍊硷紙浠�47.dat鏌ヨ鍗冲彲锛� * 2.绛涢�夊ぇ浜巠ssh_bjyj涓殑jcyj瀛楁鐨勫�� 杩斿洖id+缁忕含搴�+value @@ -53,51 +55,61 @@ @ApiOperationSupport(order = 2) @ApiOperation(value = "鑾峰彇瀹炴椂棰勮", notes = "鑾峰彇瀹炴椂棰勮鍒嗘瀽鏁版嵁") @GetMapping("/runWarning") - public Result warningAnalyse(){ - return Result.OK(warningService.getRunTimeWarningAnalyse()); + public Result warningAnalyse() { + return Result.OK(warningService.getRunTimeWarningAnalyse()); } - + @ApiOperationSupport(order = 3) @ApiOperation(value = "鏈湀棰勮銆佹姤璀︾粺璁�", notes = "鏈湀棰勮銆佹姤璀︾粺璁★紝杩斿洖鍙傛暟alarmNumber瀵瑰簲鍊间负鏈湀鎶ヨ鏁版嵁閲忥紝鍙傛暟warningNumber瀵瑰簲鍊间负鏈湀棰勮鏁版嵁閲�") @GetMapping("/monthCount") - public Result thisMonthCount(){ - return Result.OK(warningService.countThisMonthAlarmAndWarning()); + public Result thisMonthCount() { + return Result.OK(warningService.countThisMonthAlarmAndWarning()); } - + @ApiOperationSupport(order = 4) @ApiOperation(value = "姣忔棩棰勮銆佹姤璀︽暟閲忓彉鍖栬秼鍔�", notes = "涓�鍛ㄦ瘡鏃ラ璀︺�佹姤璀︽暟閲忕粺璁★紝杩斿洖鍙傛暟alarmDayCount涓轰竴鍛ㄦ瘡鏃ユ姤璀︾粺璁℃暟閲忓垪琛紝鍙傛暟warningDayCount涓轰竴鍛ㄦ瘡鏃ラ璀︾粺璁℃暟閲忓垪琛�") @GetMapping("/everydayCount") - public Result everydayCount(){ - return Result.OK(warningService.countEverydayAlarmAndWarning()); + public Result everydayCount() { + return Result.OK(warningService.countEverydayAlarmAndWarning()); } - + @ApiOperationSupport(order = 4) @ApiOperation(value = "涓夊皬鏃剁洃娴嬬珯鐐规暟鎹彉鍖栬秼鍔�", notes = "杩斿洖鍊间负涓夊皬鏃剁洃娴嬬珯鐐圭洃娴嬫暟鎹紝杩斿洖鍊间负map闆嗗悎锛屽叾涓璳ey涓虹珯鐐瑰悕绉帮紝value涓簂ist闆嗗悎锛屼繚瀛樻瘡澶╃洃娴嬫暟鍊兼暟鎹�") @GetMapping("/locationDataChange") public Result locationDataChange() { //return Result.OK(warningService.selectEachLocationDataChange()); - String key = dateFormat.format(new Date()); - Map<String, List<Double>> map = null; + String key = dateFormat.format(new Date()) + "_local"; + Map<String, List<Double>> map; if (cache.containsKey(key)) { map = (Map<String, List<Double>>) cache.get(key); } else { map = warningService.selectEachLocationDataChange(); if (null != map && map.size() > 0) { - if (cache.size() > 0) { - cache.clear(); - } cache.put(key, map); } } return Result.ok(map); } - + @ApiOperationSupport(order = 4) @ApiOperation(value = "鑾峰彇鏈湀鐩戞祴澶ф暟鎹珯鐐规渶澶у�糡OP10", notes = "鑾峰彇鏈湀鐩戞祴澶ф暟鎹珯鐐规渶澶у�糡OP10鏁伴噺鍒楄〃") @GetMapping("/monthTop10") - public Result monthTop10(){ - return Result.OK(warningService.selectThisMonthLocationValueDataTop10()); + public Result monthTop10() { + //return Result.OK(warningService.selectThisMonthLocationValueDataTop10()); + + String key = dateFormat.format(new Date()) + "_top10"; + List<Map<String, Object>> list; + if (cache.containsKey(key)) { + list = (List<Map<String, Object>>) cache.get(key); + } else { + list = warningService.selectThisMonthLocationValueDataTop10(); + if (null != list && list.size() > 0) { + cache.put(key, list); + } + } + + return Result.OK(list); } } diff --git a/src/main/java/com/yssh/service/impl/WarningAnalyseServiceImpl.java b/src/main/java/com/yssh/service/impl/WarningAnalyseServiceImpl.java index eccd472..79b1a49 100644 --- a/src/main/java/com/yssh/service/impl/WarningAnalyseServiceImpl.java +++ b/src/main/java/com/yssh/service/impl/WarningAnalyseServiceImpl.java @@ -253,28 +253,29 @@ 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){ + for (DictRecord dr : recordList) { + if (suYuanMapper.isTableExists(dr.getTableName()) > 0) { tableNames.add(dr.getTableName()); } } - if (tableNames.isEmpty()){ + if (tableNames.isEmpty()) { return result; } - for(MonitorPointPosition c : checkPoints){ + for (MonitorPointPosition c : checkPoints) { List<Double> values = new ArrayList<>(); List<SuYuanMonitorData> data = suYuanMapper.getMonitorData(tableNames, c.getId()); - data.forEach(v -> { - values.add(v.getValue()); - }); + if (null != data && data.size() > 0) { + for (SuYuanMonitorData v : data) { + values.add(v.getValue()); + } + } result.put(c.getName(), values); } return result; @@ -282,7 +283,7 @@ @Override public List<Map<String, Object>> selectThisMonthLocationValueDataTop10() { - List<Map<String, Object>> result = new ArrayList<>(); + /*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())); @@ -300,7 +301,34 @@ } 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())); + 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) { + 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"); + } + result.add(map); + } + return CalculateUtils.sort(result, "value", true).subList(0, 10); } - } -- Gitblit v1.9.3