From 120bf4af98f6f9b3c4a438cf1086a3df3249cd31 Mon Sep 17 00:00:00 2001 From: 潘志宝 <979469083@qq.com> Date: 星期四, 19 六月 2025 17:54:17 +0800 Subject: [PATCH] 所有关口进线的二级界面(表格/曲线)均增加(CCPP/135/CDQ/TRT/余热)的选项 --- ansteel-biz/src/main/java/com/iailab/module/ansteel/api/controller/admin/PowerController.java | 101 +++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 98 insertions(+), 3 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 626e3cc..92a10c4 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 @@ -16,6 +16,7 @@ import com.iailab.module.ansteel.api.vo.PowerMaxDemandMainPageReqVO; import com.iailab.module.ansteel.common.constant.CommonConstant; import com.iailab.module.ansteel.common.enums.ProcessConfDataTypeEnum; +import com.iailab.module.ansteel.common.utils.CalendarUtil; import com.iailab.module.ansteel.common.utils.DecimalUtil; import com.iailab.module.ansteel.common.utils.PowerUtil; import com.iailab.module.ansteel.power.entity.*; @@ -305,7 +306,7 @@ // 追加公共 2025-06-18 Map<String, Object> paramsCom = new HashMap<>(); - params.put("groupName", "COMMON1"); + paramsCom.put("groupName", "COMMON1"); List<PowerNetDropdownEntity> comList = powerNetDropdownService.list(paramsCom); list.addAll(comList); @@ -713,6 +714,8 @@ if (maxdemandMainEntity != null) { demandDTO.setMaxDemand(maxdemandMainEntity.getMaxDemand()); demandDTO.setOccurTime(maxdemandMainEntity.getOccurTime()); + } else { + demandDTO.setMaxDemand(BigDecimal.ZERO); } } result.add(demandDTO); @@ -735,9 +738,29 @@ log.info("PowerDemandEntity is null"); return success(result); } + List<PowerNetDropdownEntity> list = new ArrayList<>(); Map<String, Object> params0 = new HashMap<>(); params0.put("groupName", entity.getName()); - List<PowerNetDropdownEntity> list = powerNetDropdownService.list(params0); + List<PowerNetDropdownEntity> list0 = powerNetDropdownService.list(params0); + if (!CollectionUtils.isEmpty(list0)) { + list.addAll(list0); + } + + // 所有关口进线的二级界面(表格/曲线)均增加(CCPP/135/CDQ/TRT/余热)的选项。 + Map<String, Object> params1 = new HashMap<>(); + params1.put("groupName", "COMMON1"); + List<PowerNetDropdownEntity> list1 = powerNetDropdownService.list(params1); + if (!CollectionUtils.isEmpty(list1)) { + list.addAll(list1); + } + + Map<String, Object> params2 = new HashMap<>(); + params2.put("groupName", "COMMON2"); + List<PowerNetDropdownEntity> list2 = powerNetDropdownService.list(params2); + if (!CollectionUtils.isEmpty(list2)) { + list.addAll(list2); + } + List<String> points = list.stream().map(item -> { return item.getCurCos(); }).collect(Collectors.toList()); @@ -1192,19 +1215,34 @@ String[] pointNoArr = new String[2]; switch (queryType.toUpperCase()) { case "P": + if (StringUtils.isBlank(powerNetFactorEntity.getCurP())) { + continue; + } pointNo = powerNetFactorQuery.getCurP(); break; case "Q": + if (StringUtils.isBlank(powerNetFactorEntity.getCurQ())) { + continue; + } pointNo = powerNetFactorQuery.getCurQ(); break; case "COS": + if (StringUtils.isBlank(powerNetFactorEntity.getCurCos())) { + continue; + } pointNo = powerNetFactorQuery.getCurCos(); break; case "DAYCOS": + if (StringUtils.isBlank(powerNetFactorEntity.getPDay()) || StringUtils.isBlank(powerNetFactorEntity.getQDay())) { + continue; + } pointNoArr[0] = powerNetFactorEntity.getPDay(); pointNoArr[1] = powerNetFactorEntity.getQDay(); break; case "MONTHCOS": + if (StringUtils.isBlank(powerNetFactorEntity.getPMon()) || StringUtils.isBlank(powerNetFactorEntity.getQMon())) { + continue; + } pointNoArr[0] = powerNetFactorEntity.getPMon(); pointNoArr[1] = powerNetFactorEntity.getQMon(); break; @@ -1317,19 +1355,34 @@ String[] pointNoArr = new String[2]; switch (queryType.toUpperCase()) { case "P": + if (StringUtils.isBlank(powerNetFactorEntity.getCurP())) { + continue; + } pointNo = powerNetFactorQuery.getCurP(); break; case "Q": + if (StringUtils.isBlank(powerNetFactorEntity.getCurQ())) { + continue; + } pointNo = powerNetFactorQuery.getCurQ(); break; case "COS": + if (StringUtils.isBlank(powerNetFactorEntity.getCurCos())) { + continue; + } pointNo = powerNetFactorQuery.getCurCos(); break; case "DAYCOS": + if (StringUtils.isBlank(powerNetFactorEntity.getPDay()) || StringUtils.isBlank(powerNetFactorEntity.getQDay())) { + continue; + } pointNoArr[0] = powerNetFactorEntity.getPDay(); pointNoArr[1] = powerNetFactorEntity.getQDay(); break; case "MONTHCOS": + if (StringUtils.isBlank(powerNetFactorEntity.getPMon()) || StringUtils.isBlank(powerNetFactorEntity.getQMon())) { + continue; + } pointNoArr[0] = powerNetFactorEntity.getPMon(); pointNoArr[1] = powerNetFactorEntity.getQMon(); break; @@ -1589,6 +1642,7 @@ throw new IllegalArgumentException("不支持的queryType: " + queryType); } + // 查询历史数据 ApiPointValueQueryDTO query = new ApiPointValueQueryDTO(); query.setPointNo(pointNo); @@ -1603,10 +1657,13 @@ }) .collect(Collectors.toList()); + List<Double> valueList = chartData.stream().map(pv -> { + return pv.getV(); + }).collect(Collectors.toList()); powerHistoryDTO.setDataList(dataList); //查询月最大最小值 - ApiPointValueQueryDTO apiPointValueQueryDTO1 = new ApiPointValueQueryDTO(); + /*ApiPointValueQueryDTO apiPointValueQueryDTO1 = new ApiPointValueQueryDTO(); apiPointValueQueryDTO1.setStart(start1); apiPointValueQueryDTO1.setEnd(new Date()); apiPointValueQueryDTO1.setPointNo(pointNo); @@ -1617,7 +1674,40 @@ } if (minV != null && minV.containsKey(pointNo)) { powerHistoryDTO.setMin(new BigDecimal(minV.get(pointNo).toString())); + }*/ + + + double max = 0; + double min = 0; + double avg = 0; + String maxTime = ""; + String minTime = ""; + 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(); + max = valueList.get(0).doubleValue(); + min = valueList.get(0).doubleValue(); + for (Object[] dataItem : dataList) { + String time = (String) dataItem[0]; + double value = (double)dataItem[1]; + if (value > max) { + max = value; + maxTime = time; + } + if (value < min) { + min = value; + minTime = time; + } + } } + + 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)); + powerHistoryDTO.setMaxTime(maxTime); + powerHistoryDTO.setMinTime(minTime); + powerHistoryDTO.setDataList(dataList); result.put(code, powerHistoryDTO); } @@ -1666,6 +1756,11 @@ log.info("code is blank"); return error(GlobalErrorCodeConstants.BAD_REQUEST); } + // 默认只展示当月 + if(reqVO.getStartTime() == null) { + reqVO.setStartTime(CalendarUtil.getMonthFirstDay()); + } + PageResult<PowerMaxdemandMainEntity> page = powerMaxDemandMainService.page(reqVO); PageResult<PowerMaxDemandMainDTO> result = BeanUtils.toBean(page, PowerMaxDemandMainDTO.class); result.getList().forEach(dto0 -> { -- Gitblit v1.9.3