From 31228c3fb37ccc2c3f11426e48291f708ac269c6 Mon Sep 17 00:00:00 2001 From: 潘志宝 <979469083@qq.com> Date: 星期三, 28 五月 2025 09:17:13 +0800 Subject: [PATCH] 功率因数接口修改 增加平均值,返送,累计功率因数等 --- ansteel-biz/src/main/java/com/iailab/module/ansteel/api/controller/admin/PowerController.java | 35 ++++++++++++++++++++++++++--------- 1 files changed, 26 insertions(+), 9 deletions(-) diff --git a/ansteel-biz/src/main/java/com/iailab/module/ansteel/api/controller/admin/PowerController.java b/ansteel-biz/src/main/java/com/iailab/module/ansteel/api/controller/admin/PowerController.java index fa0033d..592efd6 100644 --- a/ansteel-biz/src/main/java/com/iailab/module/ansteel/api/controller/admin/PowerController.java +++ b/ansteel-biz/src/main/java/com/iailab/module/ansteel/api/controller/admin/PowerController.java @@ -897,16 +897,10 @@ calendar0.set(Calendar.MILLISECOND, 0); calendar0.set(Calendar.SECOND, 0); Date end0 = dto.getEndTime() == null ? calendar0.getTime() : dto.getEndTime(); - calendar0.add(Calendar.MINUTE, -1440); + calendar0.set(Calendar.MINUTE, 0); + calendar0.set(Calendar.HOUR_OF_DAY, 0); Date start0 = dto.getStartTime() == null ? calendar0.getTime() : dto.getStartTime(); - Calendar calendar1 = Calendar.getInstance(); - calendar1.set(Calendar.DAY_OF_MONTH, 1); - calendar1.set(Calendar.HOUR_OF_DAY, 0); - calendar1.set(Calendar.MINUTE, 0); - calendar1.set(Calendar.SECOND, 0); - calendar1.set(Calendar.MILLISECOND, 0); - Date start1 = calendar1.getTime(); List<String> categories = DateUtils.getTimeScale(start0, end0, 60); for (String nodeCode : nodeCodeList) { @@ -947,16 +941,18 @@ apiPointValueQueryDTO.setStart(start0); List<ApiPointValueDTO> chartData = dataPointApi.queryPointHistoryValue(apiPointValueQueryDTO); List<Object[]> dataList = new ArrayList<>(); + List<Double> valueList = new ArrayList<>(); for (ApiPointValueDTO pv : chartData) { Object[] data = new Object[2]; data[0] = DateUtils.format(pv.getT(), DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND); data[1] = pv.getV(); dataList.add(data); + valueList.add(pv.getV()); } powerHistoryDTO.setDataList(dataList); //查询月最大最小值 - ApiPointValueQueryDTO apiPointValueQueryDTO1 = new ApiPointValueQueryDTO(); + /*ApiPointValueQueryDTO apiPointValueQueryDTO1 = new ApiPointValueQueryDTO(); apiPointValueQueryDTO1.setStart(start1); apiPointValueQueryDTO1.setEnd(new Date()); apiPointValueQueryDTO1.setPointNo(pointNo); @@ -967,7 +963,28 @@ } if (minV != null && minV.containsKey(pointNo)) { powerHistoryDTO.setMin(new BigDecimal(minV.get(pointNo).toString())); + }*/ + + double fsl = 0; + double max = 0; + double min = 0; + double avg = 0; + if (!CollectionUtils.isEmpty(valueList)) { + max = valueList.stream().mapToDouble(Double::doubleValue).max().getAsDouble(); + min = valueList.stream().mapToDouble(Double::doubleValue).min().getAsDouble(); + avg = valueList.stream().mapToDouble(Double::doubleValue).average().getAsDouble(); + + for (Double val : valueList) { + if (val < 0) { + fsl += val; + } + } } + powerHistoryDTO.setFsl(new BigDecimal(fsl).setScale(2, BigDecimal.ROUND_HALF_UP)); + powerHistoryDTO.setMax(new BigDecimal(max).setScale(2, BigDecimal.ROUND_HALF_UP)); + powerHistoryDTO.setMin(new BigDecimal(min).setScale(2, BigDecimal.ROUND_HALF_UP)); + powerHistoryDTO.setAvg(new BigDecimal(avg).setScale(2, BigDecimal.ROUND_HALF_UP)); + result.put(nodeCode, powerHistoryDTO); } return success(result); -- Gitblit v1.9.3