From 7eeb94c954e214b84a9d67517942b981976471b5 Mon Sep 17 00:00:00 2001 From: 潘志宝 <979469083@qq.com> Date: 星期三, 07 五月 2025 18:13:38 +0800 Subject: [PATCH] 需量值查询 --- ansteel-biz/src/main/java/com/iailab/module/ansteel/api/controller/admin/PowerController.java | 99 ++++++++++++++++++++++++++++--------------------- 1 files changed, 56 insertions(+), 43 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 e3c8a2e..4061a19 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 @@ -594,11 +594,12 @@ } @PostMapping("/demand-query/list") - @Operation(summary = "负荷移植-功率因数查询") - public CommonResult<List<PowerNetDropdownDTO>> getDemandDropdownList(@RequestBody PowerDemandQueryDTO queryDto) { - List<PowerNetDropdownDTO> result = new ArrayList<>(); + @Operation(summary = "负荷移植-需量值查询") + public CommonResult<List<PowerDemandQueryRespDTO>> getDemandDropdownList(@RequestBody PowerDemandQueryDTO queryDto) { + List<PowerDemandQueryRespDTO> result = new ArrayList<>(); if (StringUtils.isBlank(queryDto.getCode())) { log.info("code isBlank"); + return success(result); } log.info("code=" + queryDto.getCode()); if (StringUtils.isBlank(queryDto.getNodeCode())) { @@ -609,25 +610,42 @@ log.info("PowerDemandEntity is null"); return success(result); } + Calendar calendar = Calendar.getInstance(); + calendar.set(Calendar.MILLISECOND, 0); + calendar.set(Calendar.SECOND, 0); + Date startTime = queryDto.getStartTime(); + Date endTime = queryDto.getEndTime(); + if (endTime == null) { + endTime = calendar.getTime(); + } + if (startTime == null) { + calendar.add(Calendar.DAY_OF_YEAR, -1); + startTime = calendar.getTime(); + } + Map<String, Object> params0 = new HashMap<>(); params0.put("groupName", entity.getName()); - List<PowerNetDropdownEntity> list = powerNetDropdownService.list(params0); - List<String> points = list.stream().map(item -> { - return item.getCurCos(); - }).collect(Collectors.toList()); - if (queryDto.getCurCos() == null) { + List<PowerNetDropdownEntity> dropdownList = powerNetDropdownService.list(params0); + List<String> pointNos = new ArrayList<>(); + for (PowerNetDropdownEntity netDropdown : dropdownList) { + if (StringUtils.isNotBlank(netDropdown.getExt1())) { + pointNos.add(netDropdown.getExt1()); + } + } + if (StringUtils.isBlank(queryDto.getNodeCode()) || queryDto.getCurDemand() == null) { log.info("查询当前值"); Map<String, Object> pointsRealValue = new HashMap<>(); - if (!CollectionUtils.isEmpty(points)) { - pointsRealValue = dataPointApi.queryPointsRealValue(points); + if (!CollectionUtils.isEmpty(pointNos)) { + pointsRealValue = dataPointApi.queryPointsRealValue(pointNos); } - for (PowerNetDropdownEntity netDropdown : list) { - PowerNetDropdownDTO dto = ConvertUtils.sourceToTarget(netDropdown, PowerNetDropdownDTO.class); - BigDecimal curCos = BigDecimal.ZERO; - if (pointsRealValue.get(netDropdown.getCurCos()) != null) { - curCos = new BigDecimal(pointsRealValue.get(netDropdown.getCurCos()).toString()); + for (PowerNetDropdownEntity netDropdown : dropdownList) { + PowerDemandQueryRespDTO dto = ConvertUtils.sourceToTarget(netDropdown, PowerDemandQueryRespDTO.class); + BigDecimal demand = null; + if (pointsRealValue.get(netDropdown.getExt1()) != null) { + demand = new BigDecimal(pointsRealValue.get(netDropdown.getExt1()).toString()); } - dto.setCurCos(curCos); + dto.setCurDemand(demand); + dto.setDataTime(calendar.getTime()); result.add(dto); } } else { @@ -643,19 +661,7 @@ return success(result); } ApiPointsValueQueryDTO valueQueryDTO = new ApiPointsValueQueryDTO(); - valueQueryDTO.setPointNos(points); - Calendar calendar = Calendar.getInstance(); - calendar.set(Calendar.MILLISECOND, 0); - calendar.set(Calendar.SECOND, 0); - Date startTime = queryDto.getStartTime(); - Date endTime = queryDto.getEndTime(); - if (endTime == null) { - endTime = calendar.getTime(); - } - if (startTime == null) { - calendar.add(Calendar.DAY_OF_YEAR, -1); - startTime = calendar.getTime(); - } + valueQueryDTO.setPointNos(pointNos); valueQueryDTO.setStart(startTime); valueQueryDTO.setEnd(endTime); Map<String, List<Map<String, Object>>> pointsHisValues = dataPointApi.queryPointsHistoryValue(valueQueryDTO); @@ -667,7 +673,7 @@ ApiPointValueQueryDTO pointValueQueryDTO = new ApiPointValueQueryDTO(); pointValueQueryDTO.setStart(startTime); pointValueQueryDTO.setEnd(endTime); - pointValueQueryDTO.setPointNo(powerNetDropdownEntity.getCurCos()); + pointValueQueryDTO.setPointNo(powerNetDropdownEntity.getExt1()); List<ApiPointValueDTO> hisValue = dataPointApi.queryPointHistoryValue(pointValueQueryDTO); if (CollectionUtils.isEmpty(hisValue)) { log.info("hisValue is null"); @@ -675,28 +681,35 @@ ApiPointValueDTO curValue = null; Collections.reverse(hisValue); for (ApiPointValueDTO valueDTO : hisValue) { - curValue = valueDTO; - if ((queryDto.getCurCos().doubleValue() - valueDTO.getV()) <= 0.0001) { + if ((queryDto.getCurDemand().doubleValue() - valueDTO.getV()) <= 0.0001) { + curValue = valueDTO; + log.info("curValue is find"); break; } } if (curValue == null) { log.info("curValue is null"); + for (PowerNetDropdownEntity netDropdown : dropdownList){ + PowerDemandQueryRespDTO dto = ConvertUtils.sourceToTarget(netDropdown, PowerDemandQueryRespDTO.class); + if (dto.getNodeCode().equals(nodeCode)) { + dto.setCurDemand(queryDto.getCurDemand()); + } + result.add(dto); + } return success(result); } log.info("curValue=" + curValue); - for (PowerNetDropdownEntity netDropdown : list) { - PowerNetDropdownDTO dto = ConvertUtils.sourceToTarget(netDropdown, PowerNetDropdownDTO.class); + for (PowerNetDropdownEntity netDropdown : dropdownList) { + PowerDemandQueryRespDTO dto = ConvertUtils.sourceToTarget(netDropdown, PowerDemandQueryRespDTO.class); + if (!CollectionUtils.isEmpty(pointsHisValues.get(netDropdown.getExt1()))) { + Map<String, BigDecimal> pointValueMap = new HashMap<>(); + pointsHisValues.get(netDropdown.getExt1()).forEach(item -> { + pointValueMap.put(item.get("time").toString(), DecimalUtil.toBigDecimal(item.get("value"))); - if (CollectionUtils.isEmpty(pointsHisValues.get(netDropdown.getCurCos()))) { - continue; + }); + dto.setCurDemand(pointValueMap.get(DateUtils.format(curValue.getT(),DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND))); + dto.setDataTime(curValue.getT()); } - Map<String, BigDecimal> pointValueMap = new HashMap<>(); - pointsHisValues.get(netDropdown.getCurCos()).forEach(item -> { - pointValueMap.put(item.get("time").toString(), DecimalUtil.toBigDecimal(item.get("value"))); - - }); - dto.setCurCos(pointValueMap.get(DateUtils.format(curValue.getT(),DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND))); result.add(dto); } } @@ -999,7 +1012,7 @@ } for (String code : dto.getCodeList()) { - PowerNetFactorQuery powerNetFactorQuery = null; + PowerNetFactorQuery powerNetFactorQuery = new PowerNetFactorQuery(); PowerDemandEntity powerDemandEntity = powerDemandService.getByCode(code); PowerNetDropdownEntity powerNetDropdownEntity = powerNetDropdownService.getByNodeCode(code); if (powerDemandEntity != null) { -- Gitblit v1.9.3