鞍钢鲅鱼圈能源管控系统后端代码
liriming
4 天以前 00762deb0cb1350c83bb2c5f5f68ca1919ddb45e
135机组指标趋势线接口修改
已修改2个文件
78 ■■■■■ 文件已修改
ansteel-biz/src/main/java/com/iailab/module/ansteel/plant/service/impl/PlantChartConfServiceImpl.java 65 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ansteel-biz/src/main/java/com/iailab/module/ansteel/plant/vo/PlantChartDataVO.java 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ansteel-biz/src/main/java/com/iailab/module/ansteel/plant/service/impl/PlantChartConfServiceImpl.java
@@ -1,6 +1,7 @@
package com.iailab.module.ansteel.plant.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.iailab.framework.common.util.date.DateUtils;
import com.iailab.module.ansteel.plant.dao.PlantChartConfDao;
import com.iailab.module.ansteel.plant.entity.PlantChartConfEntity;
import com.iailab.module.ansteel.plant.service.PlantChartConfService;
@@ -15,6 +16,8 @@
import org.springframework.util.ObjectUtils;
import javax.annotation.Resource;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@@ -35,8 +38,11 @@
    @Resource
    private DataPointApi dataPointApi;
    private String timeFormat = DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
    @Override
    public PlantChartDataVO getPlantChartData(Map tMap) {
        int granularity = 60;
        PlantChartDataVO result = new PlantChartDataVO();
        if(ObjectUtils.isEmpty(tMap.get("indType")) || ObjectUtils.isEmpty(tMap.get("indCode"))){
            logger.info("输入参数为空");
@@ -44,15 +50,29 @@
        }
        QueryWrapper<PlantChartConfEntity> queryWrapper = new QueryWrapper<>();
        queryWrapper.eq("ind_type",tMap.get("indType"));
        queryWrapper.eq("indCode",tMap.get("indCode"));
        queryWrapper.eq("ind_code", tMap.get("indCode"));
        List<PlantChartConfEntity> plantChartConfList = plantChartConfDao.selectList(queryWrapper);
        if (CollectionUtils.isEmpty(plantChartConfList)) {
            log.info("plantChartConfList is null");
            return result;
        }
        if("year".equals(tMap.get("indType"))){
            granularity = 60*1440;
        }
        Date[] timeArray = calResultTime(tMap.get("indType").toString());
        Date startTime = timeArray[0];
        Date endTime = timeArray[1];
        List<String> categories = DateUtils.getTimeScale(startTime, endTime, granularity, timeFormat);
        PlantChartConfEntity plantChartConfEntity = plantChartConfList.get(0);
        result.setIndType(tMap.get("indType").toString());
        result.setIndCode(plantChartConfEntity.getIndCode());
        result.setIndName(plantChartConfEntity.getIndName());
        result.setStartTime(startTime);
        result.setEndTime(endTime);
        result.setCategories(categories);
        // 筛选DATAPOINT一次性查询出全部
        List<String> pointNos = Stream.of(plantChartConfEntity.getIndAvg(),plantChartConfEntity.getIndTheory(),plantChartConfEntity.getIndOptimal(),plantChartConfEntity.getIndReal()).collect(Collectors.toList());
        List<String> pointNos = Stream.of(plantChartConfEntity.getIndAvg(), plantChartConfEntity.getIndTheory(), plantChartConfEntity.getIndOptimal(), plantChartConfEntity.getIndReal(), plantChartConfEntity.getIndPower()).collect(Collectors.toList());
        if (!CollectionUtils.isEmpty(pointNos)) {
            ApiPointsValueQueryDTO queryDTO = new ApiPointsValueQueryDTO();
            queryDTO.setPointNos(pointNos);
@@ -61,8 +81,7 @@
                log.info("pointsHisValues is null");
                return result;
            }
            result.setIndCode(plantChartConfEntity.getIndCode());
            result.setIndName(plantChartConfEntity.getIndName());
            result.setIndAvgHisList(pointsHisValues.get(plantChartConfEntity.getIndAvg()));
            result.setIndTheoryHisList(pointsHisValues.get(plantChartConfEntity.getIndTheory()));
            result.setIndOptimalHisList(pointsHisValues.get(plantChartConfEntity.getIndOptimal()));
@@ -71,4 +90,42 @@
        }
        return result;
    }
    private Date[] calResultTime(String indType) {
        Date[] result = new Date[2];
        Date startTime = null;
        Date endTime = null;
        if("day".equals(indType)) {
            Calendar calendar = Calendar.getInstance();
            calendar.set(Calendar.MILLISECOND, 0);
            calendar.set(Calendar.SECOND, 0);
            calendar.add(Calendar.HOUR_OF_DAY, -8);
            startTime = calendar.getTime();
            calendar = Calendar.getInstance();
            calendar.set(Calendar.MILLISECOND, 0);
            calendar.set(Calendar.SECOND, 0);
            endTime = calendar.getTime();
        }else if("year".equals(indType)) {
            Calendar calendar = Calendar.getInstance();
            calendar.set(Calendar.MILLISECOND, 0);
            calendar.set(Calendar.SECOND, 0);
            calendar.set(Calendar.MINUTE, 0);
            calendar.set(Calendar.HOUR_OF_DAY, 0);
            calendar.set(Calendar.DAY_OF_MONTH, 1);
            startTime = calendar.getTime();
            calendar = Calendar.getInstance();
            calendar.set(Calendar.MILLISECOND, 0);
            calendar.set(Calendar.SECOND, 0);
            calendar.set(Calendar.MINUTE, 0);
            calendar.set(Calendar.HOUR_OF_DAY, 0);
            endTime = calendar.getTime();
        }
        result[0] = startTime;
        result[1] = endTime;
        return result;
    }
}
ansteel-biz/src/main/java/com/iailab/module/ansteel/plant/vo/PlantChartDataVO.java
@@ -1,9 +1,10 @@
package com.iailab.module.ansteel.plant.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import java.util.Map;
@@ -16,13 +17,19 @@
public class PlantChartDataVO implements Serializable {
    private static final long serialVersionUID = 1L;
    private String id;
    private String indType;
    private String indCode;
    private String indName;
    private String indType;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date startTime;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date endTime;
    List<String> categories;
    private List<Map<String, Object>> indAvgHisList;