From d8a4a8ad6cd2d55b78cfe203a0c467e742297ced Mon Sep 17 00:00:00 2001 From: 潘志宝 <979469083@qq.com> Date: 星期一, 16 六月 2025 16:56:55 +0800 Subject: [PATCH] getPowerFactorExportDay --- ansteel-biz/src/main/java/com/iailab/module/ansteel/plant/service/impl/PlantIndexConfServiceImpl.java | 70 +++++++++++++++++++++++++++++++++++ 1 files changed, 70 insertions(+), 0 deletions(-) diff --git a/ansteel-biz/src/main/java/com/iailab/module/ansteel/plant/service/impl/PlantIndexConfServiceImpl.java b/ansteel-biz/src/main/java/com/iailab/module/ansteel/plant/service/impl/PlantIndexConfServiceImpl.java new file mode 100644 index 0000000..1cfd8a3 --- /dev/null +++ b/ansteel-biz/src/main/java/com/iailab/module/ansteel/plant/service/impl/PlantIndexConfServiceImpl.java @@ -0,0 +1,70 @@ +package com.iailab.module.ansteel.plant.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.iailab.module.ansteel.plant.dao.PlantIndexConfDao; +import com.iailab.module.ansteel.plant.entity.PlantIndexConfEntity; +import com.iailab.module.ansteel.plant.service.PlantIndexConfService; +import com.iailab.module.ansteel.plant.vo.PlantIndexDataVO; +import com.iailab.module.data.api.point.DataPointApi; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; + +import javax.annotation.Resource; +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; +import java.util.stream.Stream; + +/** + * @description: + * @author: dzd + * @date: 2025/6/16 13:57 + **/ +@Slf4j +@Service +public class PlantIndexConfServiceImpl implements PlantIndexConfService { + + @Resource + private PlantIndexConfDao plantIndexConfDao; + @Resource + private DataPointApi dataPointApi; + + private final BigDecimal badValue = new BigDecimal(-2); + + @Override + public List<PlantIndexDataVO> getPlantIndexData(String businessType) { + QueryWrapper<PlantIndexConfEntity> queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("business_type",businessType); + List<PlantIndexConfEntity> PlantIndexConfList = plantIndexConfDao.selectList(queryWrapper); + // 筛选DATAPOINT一次性查询出全部 + List<String> pointNos = PlantIndexConfList.stream().flatMap(e -> Stream.of(e.getIndAvg(),e.getIndTheory(),e.getIndOptimal(),e.getIndReal(),e.getIndDeviationValue(),e.getIndDeviationRate(),e.getIndPrevious())).collect(Collectors.toList()); + Map<String, Object> pointValues = new HashMap<>(); + if (!CollectionUtils.isEmpty(pointNos)) { + pointValues = dataPointApi.queryPointsRealValue(pointNos); + } + List<PlantIndexDataVO> result = new ArrayList<>(PlantIndexConfList.size()); + for (PlantIndexConfEntity PlantIndexConf : PlantIndexConfList) { + PlantIndexDataVO plantData = new PlantIndexDataVO(); + plantData.setType(PlantIndexConf.getIndType()); + plantData.setCode(PlantIndexConf.getIndCode()); + plantData.setName(PlantIndexConf.getIndName()); + plantData.setUnit(PlantIndexConf.getIndUnit()); + plantData.setSort(PlantIndexConf.getSort()); + + plantData.setIndAvg(pointValues.containsKey(PlantIndexConf.getIndAvg()) ? new BigDecimal(pointValues.get(PlantIndexConf.getIndAvg()).toString()) : badValue); + plantData.setIndTheory(pointValues.containsKey(PlantIndexConf.getIndTheory()) ? new BigDecimal(pointValues.get(PlantIndexConf.getIndTheory()).toString()) : badValue); + plantData.setIndOptimal(pointValues.containsKey(PlantIndexConf.getIndOptimal()) ? new BigDecimal(pointValues.get(PlantIndexConf.getIndOptimal()).toString()) : badValue); + plantData.setIndReal(pointValues.containsKey(PlantIndexConf.getIndReal()) ? new BigDecimal(pointValues.get(PlantIndexConf.getIndReal()).toString()) : badValue); + plantData.setIndDeviationValue(pointValues.containsKey(PlantIndexConf.getIndDeviationValue()) ? new BigDecimal(pointValues.get(PlantIndexConf.getIndDeviationValue()).toString()) : badValue); + plantData.setIndDeviationRate(pointValues.containsKey(PlantIndexConf.getIndDeviationRate()) ? new BigDecimal(pointValues.get(PlantIndexConf.getIndDeviationRate()).toString()) : badValue); + plantData.setIndPrevious(pointValues.containsKey(PlantIndexConf.getIndPrevious()) ? new BigDecimal(pointValues.get(PlantIndexConf.getIndPrevious()).toString()) : badValue); + + result.add(plantData); + } + return result; + } +} \ No newline at end of file -- Gitblit v1.9.3