From 06d3d15a5a08637041cc601101c063b11b07a346 Mon Sep 17 00:00:00 2001 From: net <net@netdeMBP.lan> Date: 星期五, 14 二月 2025 17:25:21 +0800 Subject: [PATCH] 合并理去杀杀人 --- zhitan-admin/src/main/java/com/zhitan/web/controller/realtimedata/RealtimeTrendController.java | 73 +++++++++++++++++++++++++++++++----- 1 files changed, 63 insertions(+), 10 deletions(-) diff --git a/zhitan-admin/src/main/java/com/zhitan/web/controller/realtimedata/RealtimeTrendController.java b/zhitan-admin/src/main/java/com/zhitan/web/controller/realtimedata/RealtimeTrendController.java index 9acf65f..43cb400 100644 --- a/zhitan-admin/src/main/java/com/zhitan/web/controller/realtimedata/RealtimeTrendController.java +++ b/zhitan-admin/src/main/java/com/zhitan/web/controller/realtimedata/RealtimeTrendController.java @@ -5,9 +5,14 @@ import com.zhitan.common.core.domain.AjaxResult; import com.zhitan.common.enums.BusinessType; import com.zhitan.common.utils.poi.ExcelUtil; +import com.zhitan.model.domain.EnergyIndex; +import com.zhitan.realtimedata.domain.TagValue; import com.zhitan.realtimedata.domain.dto.EnergyIndexMonitorDTO; +import com.zhitan.realtimedata.domain.vo.EquipmentMeasuringPointParameters; import com.zhitan.realtimedata.domain.vo.EquipmentPointParametersExcel; import com.zhitan.realtimedata.domain.vo.ExportrealtimeTrendVO; +import com.zhitan.realtimedata.service.ISvgTrendService; +import com.zhitan.realtimedata.service.RealtimeDatabaseService; import com.zhitan.realtimedata.service.RealtimeTrendService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -15,14 +20,18 @@ import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; +import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; +import java.math.BigDecimal; +import java.math.RoundingMode; +import java.util.Collections; import java.util.List; +import java.util.Map; +import java.util.Optional; +import java.util.stream.Collectors; /** - * @Description 瀹炴椂鐩戞祴鎺у埗绫� - * - * @Author zhoubg - * @date 2024-10-15 + * 瀹炴椂鐩戞祴鎺у埗绫� **/ @RestController @RequestMapping("rtdb/realtimeTrend") @@ -31,11 +40,13 @@ @Autowired private RealtimeTrendService realtimeTrendService; + @Resource + private ISvgTrendService svgTrendService; + @Resource + private RealtimeDatabaseService realtimeDatabaseService; /** * 鑾峰彇妯″瀷鑺傜偣鍏宠仈閲囬泦鎸囨爣 - * - * @return */ @GetMapping("/list") @ApiOperation(value = "鑾峰彇妯″瀷鑺傜偣鍏宠仈閲囬泦鎸囨爣") @@ -45,9 +56,6 @@ /** * 鑾峰彇鍘嗗彶妯″瀷鑺傜偣鍏宠仈閲囬泦鎸囨爣鏁版嵁 - * @param tagCode - * @param dataTime - * @return */ @Log(title = "鑾峰彇鍘嗗彶妯″瀷鑺傜偣鍏宠仈閲囬泦鎸囨爣鏁版嵁", businessType = BusinessType.UPDATE) @GetMapping("/chartByDay") @@ -58,7 +66,6 @@ /** * 瀵煎嚭瀹炴椂鐩戞祴Excel淇℃伅 - * @return */ @Log(title = "瀵煎嚭瀹炴椂鐩戞祴Excel淇℃伅", businessType = BusinessType.EXPORT) @PostMapping("/export") @@ -69,4 +76,50 @@ util.exportExcel(response,list, "瀹炴椂鐩戞祴"); } + /** + * 鑾峰彇妯″瀷鑺傜偣鍏宠仈閲囬泦鎸囨爣 + */ + @Log(title = "鑾峰彇妯″瀷鑺傜偣鍏宠仈閲囬泦鎸囨爣", businessType = BusinessType.UPDATE) + @GetMapping("/svgTrendView/energyIndex/list") + @ApiOperation(value = "鑾峰彇妯″瀷鑺傜偣鍏宠仈閲囬泦鎸囨爣") + public AjaxResult getSvgTrendViewSettingIndex(EnergyIndex energyIndex) { + try { + List<EnergyIndex> infoList = svgTrendService.selectSvgList(energyIndex); + if (infoList == null || infoList.isEmpty()){ + return AjaxResult.success(Collections.emptyList()); + } + List<String> codeList = infoList.stream().map(EnergyIndex::getCode).collect(Collectors.toList()); + + List<TagValue> valList = realtimeDatabaseService.retrieve(codeList); + if (valList == null || valList.isEmpty()) { + return AjaxResult.success(Collections.emptyList()); + } + + Map<String, List<TagValue>> tagValueMap = valList.stream().collect(Collectors.groupingBy(TagValue::getTagCode)); + + List<EquipmentMeasuringPointParameters> resultList = infoList.stream().map(index -> { + EquipmentMeasuringPointParameters item = new EquipmentMeasuringPointParameters(); + item.setCode(index.getCode()); + item.setIndexName(index.getName()); + item.setIndexUnit(index.getUnitId()); + item.setMeteName(index.getMeterName()); + item.setyValue("y0"); + + List<TagValue> tagValueList = tagValueMap.getOrDefault(index.getCode(), Collections.emptyList()); + if (!tagValueList.isEmpty()){ + Optional<Double> sumOptional = tagValueList.stream() + .map(TagValue::getValue) + .reduce(Double::sum); + sumOptional.ifPresent(sum -> item.setValue(BigDecimal.valueOf(sum) + .setScale(2, RoundingMode.HALF_UP).doubleValue())); + } + return item; + }).collect(Collectors.toList()); + + return AjaxResult.success(resultList); + } catch (Exception ex) { + logger.error("鑾峰彇鍏宠仈閲囬泦鎸囨爣鍑洪敊锛�", ex); + return AjaxResult.error("鑾峰彇鍏宠仈鎸囨爣鍑洪敊!"); + } + } } -- Gitblit v1.9.3