台账bug修改
This commit is contained in:
@@ -0,0 +1,17 @@
|
|||||||
|
package com.njcn.device.pq.pojo.dto;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* pqs-device
|
||||||
|
*
|
||||||
|
* @author cdf
|
||||||
|
* @date 2022/9/27
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class InfluxBaseDTO {
|
||||||
|
|
||||||
|
private String id;
|
||||||
|
|
||||||
|
private Double value;
|
||||||
|
}
|
||||||
@@ -79,6 +79,9 @@ public class DeviceInfoParam implements Serializable {
|
|||||||
@Range(min = 0, max = 2, message = "电网侧标识" + ValidMessage.PARAM_FORMAT_ERROR)
|
@Range(min = 0, max = 2, message = "电网侧标识" + ValidMessage.PARAM_FORMAT_ERROR)
|
||||||
private Integer powerFlag;
|
private Integer powerFlag;
|
||||||
|
|
||||||
|
@ApiModelProperty("监测点等级")
|
||||||
|
private String lineGrade;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package com.njcn.device.pq.mapper;
|
package com.njcn.device.pq.mapper;
|
||||||
|
|
||||||
|
import com.njcn.device.pq.pojo.param.TerminalMainQueryParam;
|
||||||
import com.njcn.device.pq.pojo.vo.TerminalMaintainVO;
|
import com.njcn.device.pq.pojo.vo.TerminalMaintainVO;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
@@ -50,6 +51,17 @@ public interface TerminalMaintainMapper {
|
|||||||
List<TerminalMaintainVO> getPqLineGdAndSubList(@Param("ids") List<String> ids);
|
List<TerminalMaintainVO> getPqLineGdAndSubList(@Param("ids") List<String> ids);
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author cdf
|
||||||
|
* @date 2022/9/27
|
||||||
|
*/
|
||||||
|
/**
|
||||||
|
* 或取装置及关联信息
|
||||||
|
* @author cdf
|
||||||
|
* @date 2022/5/11
|
||||||
|
*/
|
||||||
|
List<TerminalMaintainVO> getTerminalDevInfoClone(@Param("terminalMainQueryParam") TerminalMainQueryParam terminalMainQueryParam, @Param("devIds") List<String> devIds);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -74,4 +86,6 @@ public interface TerminalMaintainMapper {
|
|||||||
List<TerminalMaintainVO> getFlowStrategyList(@Param("ids") List<String> ids);
|
List<TerminalMaintainVO> getFlowStrategyList(@Param("ids") List<String> ids);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -280,6 +280,9 @@
|
|||||||
<if test="deviceInfoParam.powerFlag!=2">
|
<if test="deviceInfoParam.powerFlag!=2">
|
||||||
and t2.Power_Flag = #{deviceInfoParam.powerFlag}
|
and t2.Power_Flag = #{deviceInfoParam.powerFlag}
|
||||||
</if>
|
</if>
|
||||||
|
<if test="deviceInfoParam.lineGrade!='' and deviceInfoParam.lineGrade!=''">
|
||||||
|
and t2.line_grade = #{deviceInfoParam.lineGrade}
|
||||||
|
</if>
|
||||||
<if test="deviceInfoParam.loadType!=null and deviceInfoParam.loadType.size()!=0">
|
<if test="deviceInfoParam.loadType!=null and deviceInfoParam.loadType.size()!=0">
|
||||||
AND t2.Load_Type in
|
AND t2.Load_Type in
|
||||||
<foreach collection="deviceInfoParam.loadType" open="(" close=")" item="item" separator=",">
|
<foreach collection="deviceInfoParam.loadType" open="(" close=")" item="item" separator=",">
|
||||||
|
|||||||
@@ -1,10 +1,15 @@
|
|||||||
package com.njcn.device.pq.service.impl;
|
package com.njcn.device.pq.service.impl;
|
||||||
|
|
||||||
|
import cn.hutool.core.collection.CollUtil;
|
||||||
import cn.hutool.core.collection.CollectionUtil;
|
import cn.hutool.core.collection.CollectionUtil;
|
||||||
|
import com.njcn.common.pojo.dto.SimpleDTO;
|
||||||
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
|
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
|
||||||
import com.njcn.common.pojo.exception.BusinessException;
|
import com.njcn.common.pojo.exception.BusinessException;
|
||||||
import com.njcn.device.pq.enums.DeviceResponseEnum;
|
import com.njcn.device.pq.enums.DeviceResponseEnum;
|
||||||
import com.njcn.device.pq.mapper.TerminalMaintainMapper;
|
import com.njcn.device.pq.mapper.TerminalMaintainMapper;
|
||||||
|
import com.njcn.device.pq.pojo.dto.GeneralDeviceDTO;
|
||||||
|
import com.njcn.device.pq.pojo.dto.InfluxBaseDTO;
|
||||||
|
import com.njcn.device.pq.pojo.param.DeviceInfoParam;
|
||||||
import com.njcn.device.pq.pojo.param.TerminalMainQueryParam;
|
import com.njcn.device.pq.pojo.param.TerminalMainQueryParam;
|
||||||
import com.njcn.device.pq.pojo.param.TerminalParam;
|
import com.njcn.device.pq.pojo.param.TerminalParam;
|
||||||
import com.njcn.device.pq.pojo.po.DevMeal;
|
import com.njcn.device.pq.pojo.po.DevMeal;
|
||||||
@@ -15,12 +20,16 @@ import com.njcn.device.pq.service.IDevMealService;
|
|||||||
import com.njcn.device.pq.service.IDevStrategyService;
|
import com.njcn.device.pq.service.IDevStrategyService;
|
||||||
import com.njcn.device.pq.service.IDeviceService;
|
import com.njcn.device.pq.service.IDeviceService;
|
||||||
import com.njcn.device.pq.service.TerminalMaintainService;
|
import com.njcn.device.pq.service.TerminalMaintainService;
|
||||||
|
import com.njcn.system.pojo.enums.StatisticsEnum;
|
||||||
|
import com.njcn.user.api.DeptFeignClient;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.util.CollectionUtils;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Objects;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -42,36 +51,72 @@ public class TerminalMaintainServiceImpl implements TerminalMaintainService {
|
|||||||
|
|
||||||
private final IDevStrategyService iDevStrategyService;
|
private final IDevStrategyService iDevStrategyService;
|
||||||
|
|
||||||
|
private final GeneralDeviceService generalDeviceService;
|
||||||
|
|
||||||
|
private final DeptFeignClient deptFeignClient;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<TerminalMaintainVO> getTerminalMainList(TerminalMainQueryParam terminalMainQueryParam) {
|
public List<TerminalMaintainVO> getTerminalMainList(TerminalMainQueryParam terminalMainQueryParam) {
|
||||||
List<TerminalMaintainVO> devList = terminalMaintainMapper.getTerminalDevInfo();
|
SimpleDTO simpleDTO = new SimpleDTO();
|
||||||
if(CollectionUtil.isEmpty(devList)){
|
simpleDTO.setCode(StatisticsEnum.POWER_NETWORK.getCode());
|
||||||
throw new BusinessException(DeviceResponseEnum.DEVICE_EMPTY);
|
|
||||||
}
|
|
||||||
List<String> subIndexes = devList.stream().map(TerminalMaintainVO::getPid).collect(Collectors.toList());
|
|
||||||
List<TerminalMaintainVO> subList = terminalMaintainMapper.getPqLineGdAndSubList(subIndexes);
|
|
||||||
if(CollectionUtil.isEmpty(subList)){
|
|
||||||
throw new BusinessException(DeviceResponseEnum.SUB_NO);
|
|
||||||
}
|
|
||||||
List<String> gdIds = subList.stream().map(TerminalMaintainVO::getPid).collect(Collectors.toList());
|
|
||||||
List<TerminalMaintainVO> gdList = terminalMaintainMapper.getPqLineGdAndSubList(gdIds);
|
|
||||||
if(CollectionUtil.isEmpty(gdList)){
|
|
||||||
throw new BusinessException(DeviceResponseEnum.GD_NO);
|
|
||||||
}
|
|
||||||
List<String> proIds = gdList.stream().map(TerminalMaintainVO::getPid).collect(Collectors.toList());
|
|
||||||
List<TerminalMaintainVO> proList = terminalMaintainMapper.getPqLineProvList(proIds);
|
|
||||||
if(CollectionUtil.isEmpty(proList)){
|
|
||||||
throw new BusinessException(DeviceResponseEnum.PROVINCE_EMPTY);
|
|
||||||
}
|
|
||||||
|
|
||||||
List<TerminalMaintainVO> subListTem = subList.stream().peek(item->item.setChildren(getChildren(item.getId(),devList))).collect(Collectors.toList());
|
DeviceInfoParam deviceInfoParam = new DeviceInfoParam();
|
||||||
List<TerminalMaintainVO> gdListTem = gdList.stream().peek(item->item.setChildren(getChildren(item.getId(),subListTem))).collect(Collectors.toList());
|
deviceInfoParam.setStatisticalType(simpleDTO);
|
||||||
return proList.stream().peek(item->item.setChildren(getChildren(item.getId(),gdListTem))).collect(Collectors.toList());
|
deviceInfoParam.setDeptIndex(deptFeignClient.getRootDept().getData().getId());
|
||||||
|
deviceInfoParam.setPowerFlag(2);
|
||||||
|
deviceInfoParam.setMonitorFlag(2);
|
||||||
|
|
||||||
|
List<TerminalMaintainVO> resList = new ArrayList<>();
|
||||||
|
|
||||||
|
List<GeneralDeviceDTO> generalDeviceDTOList = generalDeviceService.getDeviceInfo(deviceInfoParam, Objects.isNull(terminalMainQueryParam.getRunFlag())?null: CollUtil.newArrayList(terminalMainQueryParam.getRunFlag()), CollUtil.newArrayList(1));
|
||||||
|
if(CollectionUtil.isNotEmpty(generalDeviceDTOList)){
|
||||||
|
|
||||||
|
for(GeneralDeviceDTO generalDeviceDTO:generalDeviceDTOList){
|
||||||
|
List<String> devIds = generalDeviceDTO.getDeviceIndexes();
|
||||||
|
if (CollectionUtils.isEmpty(devIds)) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
TerminalMaintainVO terminalMaintainVO = new TerminalMaintainVO();
|
||||||
|
terminalMaintainVO.setName(generalDeviceDTO.getName());
|
||||||
|
terminalMaintainVO.setId(generalDeviceDTO.getIndex());
|
||||||
|
terminalMaintainVO.setLevel(1);
|
||||||
|
//根据监测点查询数据完整性
|
||||||
|
List<InfluxBaseDTO> integrityData = getCondition(devIds, "","");
|
||||||
|
|
||||||
|
List<TerminalMaintainVO> devList = terminalMaintainMapper.getTerminalDevInfoClone(terminalMainQueryParam,devIds);
|
||||||
|
List<TerminalMaintainVO> subList = terminalMaintainMapper.getPqLineGdAndSubList(generalDeviceDTO.getSubIndexes());
|
||||||
|
List<TerminalMaintainVO> gdList = terminalMaintainMapper.getPqLineGdAndSubList(generalDeviceDTO.getGdIndexes());
|
||||||
|
|
||||||
|
dealTerminalData(subList,devList);
|
||||||
|
dealTerminalData(gdList,subList);
|
||||||
|
terminalMaintainVO.setChildren(gdList);
|
||||||
|
resList.add(terminalMaintainVO);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return resList;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* influxdb语句
|
||||||
|
*/
|
||||||
|
List<InfluxBaseDTO> getCondition(List<String> devIds,String startTime,String endTime){
|
||||||
|
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
List<TerminalMaintainVO> dealTerminalData(List<TerminalMaintainVO> parent,List<TerminalMaintainVO> children){
|
||||||
|
return parent.stream().peek(item->item.setChildren(getChildren(item.getId(),children))).collect(Collectors.toList());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<TerminalMaintainVO> getManageList(List<String> ids, Integer type) {
|
public List<TerminalMaintainVO> getManageList(List<String> ids, Integer type) {
|
||||||
if(type == 0){
|
if(type == 0){
|
||||||
|
|||||||
Reference in New Issue
Block a user