diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/vo/ComAssessVO.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/vo/ComAssessVO.java index 45e63ce2c..99d54edfd 100644 --- a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/vo/ComAssessVO.java +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/vo/ComAssessVO.java @@ -4,6 +4,7 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.io.Serializable; +import java.util.List; /** * @version 1.0.0 @@ -14,27 +15,21 @@ import java.io.Serializable; public class ComAssessVO implements Serializable { private static final long serialVersionUID = 1L; - /** - * 名称 - */ + @ApiModelProperty("名称") private String name; - /** - * data - */ + @ApiModelProperty("评估分值") private Float data =3.14159f; - /** - * level - */ + @ApiModelProperty("评估等级") private String level ="暂无数据"; - /** - * monitors - */ + @ApiModelProperty("监测点数量") private Integer monitors; + @ApiModelProperty("子集") + private List children; } diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/ComAssessServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/ComAssessServiceImpl.java index 99d86841f..59170b3db 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/ComAssessServiceImpl.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/ComAssessServiceImpl.java @@ -19,6 +19,8 @@ import org.springframework.util.CollectionUtils; import java.math.BigDecimal; import java.util.ArrayList; import java.util.List; +import java.util.stream.Collectors; + /** * @version 1.0.0 * @author: chenchao @@ -38,8 +40,10 @@ public class ComAssessServiceImpl implements ComAssessService { public List getComAccessData(DeviceInfoParam.BusinessParam comAccessParam) { List comAssessVOList = new ArrayList<>(); List comAssessDTOS = new ArrayList<>(); - //按照条件获取实际运行终端综合信息 + //按部门分类的实际运行终端综合信息 List deviceDataList = generalDeviceInfoClient.getPracticalRunDeviceInfo(comAccessParam).getData(); + //按变电站分类的实际运行终端综合信息 + List subDataList = generalDeviceInfoClient.getPracticalRunDeviceInfoAsSubstation(comAccessParam).getData(); if (!CollectionUtils.isEmpty(deviceDataList)) { for (GeneralDeviceDTO generalDeviceDTO: deviceDataList){ List lineIndexes = generalDeviceDTO.getLineIndexes(); @@ -56,10 +60,38 @@ public class ComAssessServiceImpl implements ComAssessService { comAssessVO.setLevel(lv); } } + List children = new ArrayList<>(); + List childrenDTOS = new ArrayList<>(); + + List tempList = new ArrayList<>(); + List subIndexes = generalDeviceDTO.getSubIndexes(); + if (!CollectionUtils.isEmpty(subIndexes)) { + for (String s: subIndexes) { + GeneralDeviceDTO subData = subDataList.stream().filter(item -> item.getIndex().equals(s)).collect(Collectors.toList()).get(0); + tempList.add(subData); + } + for (GeneralDeviceDTO generalSubDTO: tempList){ + List lines = generalSubDTO.getLineIndexes(); + ComAssessVO assessVO = new ComAssessVO(); + assessVO.setName(generalSubDTO.getName()); + assessVO.setMonitors(lines.size()); + if (!CollectionUtils.isEmpty(lines)) { + List pqsComAssesPOS = getComAccessData(lines, comAccessParam.getSearchBeginTime(), comAccessParam.getSearchEndTime()); + if (!CollectionUtils.isEmpty(pqsComAssesPOS)) { + setResults(pqsComAssesPOS,childrenDTOS); + float allComAss = comAssesUtil.getAllComAss(childrenDTOS); + String lv = getLevel(allComAss); + assessVO.setData(allComAss); + assessVO.setLevel(lv); + } + } + children.add(assessVO); + comAssessVO.setChildren(children); + } + } comAssessVOList.add(comAssessVO); } } - return comAssessVOList; }