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 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));
|
}
|
|
@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"));
|
}
|
}
|