鞍钢鲅鱼圈能源管控系统后端代码
潘志宝
20 小时以前 ec66217b02f5574c4c358618ed66adf160cdfa9f
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
package com.iailab.module.ansteel.power.service.impl;
 
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.math.BigDecimal;
import java.util.*;
 
/**
 * @author PanZhibao
 * @Description
 * @createTime 2025年05月07日
 */
@Slf4j
@Service
public class PowerMaxdemandDetServiceImpl implements PowerMaxdemandDetService {
 
    @Resource
    private PowerMaxdemandDetDao powerMaxdemandDetDao;
 
    @Autowired
    private PowerNetDropdownService powerNetDropdownService;
 
    @Resource
    private DataPointApi dataPointApi;
 
    @Override
    public void add(PowerMaxdemandDetEntity entity) {
        entity.setId(UUID.randomUUID().toString());
        powerMaxdemandDetDao.insert(entity);
    }
 
    @Override
    public List<PowerMaxdemandDetEntity> addList(String mainId, 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(mainId);
            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));
    }
 
    @Override
    public List<PowerMaxdemandDetEntity> selectListByRelId(String relId, Date occurTime) {
        return powerMaxdemandDetDao.selectList(
                new QueryWrapper<PowerMaxdemandDetEntity>()
                        .eq("rel_id", relId)
                        .eq("occur_time", occurTime)
                        .orderByAsc("sort"));
    }
 
    @Override
    public List<PowerMaxdemandDetEntity> selectListByRelId(String relId) {
        return powerMaxdemandDetDao.selectList(
                new QueryWrapper<PowerMaxdemandDetEntity>()
                        .eq("rel_id", relId)
                        .orderByAsc("sort"));
    }
}