鞍钢鲅鱼圈能源管控系统后端代码
潘志宝
昨天 8c0cf825922d6732a45c395719e489833812d4ce
ansteel-biz/src/main/java/com/iailab/module/ansteel/power/service/impl/PowerMaxdemandDetServiceImpl.java
@@ -3,15 +3,21 @@
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.iailab.module.ansteel.power.dao.PowerMaxdemandDetDao;
import com.iailab.module.ansteel.power.entity.PowerMaxdemandDetEntity;
import com.iailab.module.ansteel.power.entity.PowerNetDropdownEntity;
import com.iailab.module.ansteel.power.service.PowerMaxdemandDetService;
import com.iailab.module.ansteel.power.service.PowerNetDropdownService;
import com.iailab.module.data.api.point.DataPointApi;
import com.iailab.module.data.api.point.dto.ApiPointValueDTO;
import com.iailab.module.data.api.point.dto.ApiPointValueQueryDTO;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import javax.annotation.Resource;
import java.util.Collections;
import java.util.Date;
import java.util.List;
import java.util.UUID;
import java.math.BigDecimal;
import java.util.*;
/**
 * @author PanZhibao
@@ -25,6 +31,12 @@
    @Resource
    private PowerMaxdemandDetDao powerMaxdemandDetDao;
    @Autowired
    private PowerNetDropdownService powerNetDropdownService;
    @Resource
    private DataPointApi dataPointApi;
    @Override
    public void add(PowerMaxdemandDetEntity entity) {
        entity.setId(UUID.randomUUID().toString());
@@ -32,6 +44,49 @@
    }
    @Override
    public List<PowerMaxdemandDetEntity> addList(String relId, String groupName, Date occurTime) {
        List<PowerMaxdemandDetEntity> result = new ArrayList<>();
        Map<String, Object> params1 = new HashMap<>();
        params1.put("groupName", groupName);
        List<PowerNetDropdownEntity> dropdownList = powerNetDropdownService.list(params1);
        if (CollectionUtils.isEmpty(dropdownList)) {
            log.info("dropdownList is empty");
            return result;
        }
        Calendar calendar1 = Calendar.getInstance();
        calendar1.setTime(occurTime);
        calendar1.add(Calendar.MINUTE, 1);
        int sort0 = 0;
        for (PowerNetDropdownEntity dropdown : dropdownList) {
            if (StringUtils.isBlank(dropdown.getExt1())) {
                log.info(dropdown.getNodeCode() + ":dropdown.getExt1() is empty");
                continue;
            }
            log.info(dropdown.getNodeCode() + ":dropdown.getExt1() = " + dropdown.getExt1());
            ApiPointValueQueryDTO pointValueQuery1 = new ApiPointValueQueryDTO();
            pointValueQuery1.setStart(occurTime);
            pointValueQuery1.setEnd(calendar1.getTime());
            pointValueQuery1.setPointNo(dropdown.getExt1());
            List<ApiPointValueDTO> valueList1 = dataPointApi.queryPointHistoryValue(pointValueQuery1);
            if (CollectionUtils.isEmpty(valueList1)) {
                log.info("valueList1 is empty");
                continue;
            }
            PowerMaxdemandDetEntity detEntity0 = new PowerMaxdemandDetEntity();
            detEntity0.setRelId(relId);
            detEntity0.setCode(dropdown.getNodeCode());
            detEntity0.setName(dropdown.getNodeName());
            detEntity0.setOccurTime(occurTime);
            detEntity0.setMaxDemand(BigDecimal.valueOf(valueList1.get(0).getV()));
            detEntity0.setSort(sort0);
            this.add(detEntity0);
            sort0 ++;
            result.add(detEntity0);
        }
        return result;
    }
    @Override
    public List<PowerMaxdemandDetEntity> selectListByRelIds(List<String> relIds) {
        return powerMaxdemandDetDao.selectList(
                new QueryWrapper<PowerMaxdemandDetEntity>().in("rel_id", relIds));