From c3afc49eef7f2f66d5eb27d870f829ca71d6b482 Mon Sep 17 00:00:00 2001 From: xuyang <748613696@qq.com> Date: Fri, 5 Jan 2024 14:00:19 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B2=B3=E5=8C=97=E8=B6=85=E9=AB=98=E5=8E=8B?= =?UTF-8?q?=E7=AE=97=E6=B3=95=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...RSubstationStatisticalDataServiceImpl.java | 7 ++-- .../pojo/dto/UploadPointStatisticalParam.java | 28 +++++++++++++++ ...ploadPointStatisticalDataDServiceImpl.java | 36 ++++++++++++------- ...SubstationStatisticalDataDServiceImpl.java | 26 ++++++++++++-- 4 files changed, 81 insertions(+), 16 deletions(-) create mode 100644 pqs-prepare/prepare-api/src/main/java/com/njcn/prepare/harmonic/pojo/dto/UploadPointStatisticalParam.java diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/upload/impl/RSubstationStatisticalDataServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/upload/impl/RSubstationStatisticalDataServiceImpl.java index 7c10e3c7a..6fda2e89c 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/upload/impl/RSubstationStatisticalDataServiceImpl.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/upload/impl/RSubstationStatisticalDataServiceImpl.java @@ -12,7 +12,6 @@ import com.njcn.harmonic.mapper.upload.RUploadSubstationStatisticalDataDMapper; import com.njcn.harmonic.pojo.dto.upload.SubstationQualityStatisticsDTO; import com.njcn.harmonic.pojo.param.UploadDataParam; import com.njcn.harmonic.pojo.param.UploadParam; -import com.njcn.harmonic.pojo.po.upload.RUploadPointStatisticalDataD; import com.njcn.harmonic.pojo.po.upload.RUploadSubstationStatisticalDataD; import com.njcn.harmonic.pojo.vo.upload.UploadSubstationStatisticalDataVo; import com.njcn.harmonic.service.upload.ISubstationStatisticalDataService; @@ -83,6 +82,9 @@ public class RSubstationStatisticalDataServiceImpl extends ServiceImpl dtoList = BeanUtil.copyToList(list, SubstationQualityStatisticsDTO.class); //以尺寸100分片 List> pendingIds = ListUtils.partition(dtoList, 100); @@ -90,7 +92,7 @@ public class RSubstationStatisticalDataServiceImpl extends ServiceImpl send = GwSendUtil.send(sp, GWSendEnum.SUBSTATION_MONITOR); //获取返回结果 @@ -120,6 +122,7 @@ public class RSubstationStatisticalDataServiceImpl extends ServiceImpl calculatedParam) { List result = new ArrayList<>(); + List paramList = new ArrayList<>(); //获取省级单位id Dept data = deptFeignClient.getRootDept().getData(); String provinceId = deptFeignClient.getDepSonIdByDeptId(data.getId()).getData().get(0); Dept dept = deptFeignClient.getDeptById(provinceId).getData(); - //获取监测点、终端个数 - List devList = getOperatingIndexData(calculatedParam.getDataDate()); - Map> devMap = devList.stream().collect(Collectors.groupingBy(ROperatingIndexDPO::getOrgNo)); + //筛选国网上送监测点 + List l1 = calculatedParam.getIdList(); + l1.forEach(item->{ + List newList = item.getLineBaseList().stream().filter(o ->Objects.equals(o.getIsUpToGrid(),1)).collect(Collectors.toList()); + item.setLineBaseList(newList); + UploadPointStatisticalParam uploadPointStatisticalParam = new UploadPointStatisticalParam(); + uploadPointStatisticalParam.setOrgId(item.getUnitId()); + List lineInfo = item.getLineBaseList(); + uploadPointStatisticalParam.setOnlineMonitorNum(lineInfo.size()); + uploadPointStatisticalParam.setRunMonitorNum(lineInfo.size()); + uploadPointStatisticalParam.setRunTerminalNum((int)lineInfo.stream().map(LineDevGetDTO::getDevId).distinct().count()); + paramList.add(uploadPointStatisticalParam); + }); + Map> devMap = paramList.stream().collect(Collectors.groupingBy(UploadPointStatisticalParam::getOrgId)); //获取数据个数 List dataList = getStatIntegrityData(calculatedParam.getDataDate()); //获取所有单位 List deptList = deptFeignClient.getAllDept().getData(); Map> deptMap = deptList.stream().collect(Collectors.groupingBy(Dept::getCode)); - List list = calculatedParam.getIdList(); - list.forEach(item->{ + l1.forEach(item->{ if (Objects.equals(Integer.parseInt(UploadEnum.NJCN_DEPT_LEVEL_1.getCode()),item.getDeptLevel())){ return; } @@ -77,13 +89,13 @@ public class RUploadPointStatisticalDataDServiceImpl extends MppServiceImpl l1 = devMap.get(item.getUnitId()); - if (CollectionUtil.isNotEmpty(l1)){ - ROperatingIndexDPO po = l1.get(0); - rUploadPointStatisticalDataD.setRunTerminalNum(po.getOnlineMeasurementPoints()); - rUploadPointStatisticalDataD.setOnlineMonitorNum(po.getTransitMeasurementPoints()); - rUploadPointStatisticalDataD.setRunMonitorNum(po.getMeasurementRunPoints()); - rUploadPointStatisticalDataD.setOnlineMonitorRate(po.getMeasurementRunPoints()==0?0d:BigDecimal.valueOf(po.getTransitMeasurementPoints()*100.0/po.getMeasurementRunPoints()).setScale(4, BigDecimal.ROUND_HALF_UP).doubleValue()); + List l11 = devMap.get(item.getUnitId()); + if (CollectionUtil.isNotEmpty(l11)){ + UploadPointStatisticalParam po = l11.get(0); + rUploadPointStatisticalDataD.setRunTerminalNum(po.getRunTerminalNum()); + rUploadPointStatisticalDataD.setOnlineMonitorNum(po.getOnlineMonitorNum()); + rUploadPointStatisticalDataD.setRunMonitorNum(po.getRunMonitorNum()); + rUploadPointStatisticalDataD.setOnlineMonitorRate(po.getOnlineMonitorNum()==0?0d:BigDecimal.valueOf(po.getOnlineMonitorNum()*100.0/po.getRunMonitorNum()).setScale(4, BigDecimal.ROUND_HALF_UP).doubleValue()); } //获取当前单位下所有的监测点,匹配监测点数据 List l2 = item.getLineBaseList(); diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/upload/impl/RUploadSubstationStatisticalDataDServiceImpl.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/upload/impl/RUploadSubstationStatisticalDataDServiceImpl.java index 2664dbfb7..153e0e69d 100644 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/upload/impl/RUploadSubstationStatisticalDataDServiceImpl.java +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/upload/impl/RUploadSubstationStatisticalDataDServiceImpl.java @@ -22,10 +22,12 @@ import com.njcn.user.api.DeptFeignClient; import com.njcn.user.pojo.po.Dept; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections.CollectionUtils; import org.springframework.stereotype.Service; import java.util.*; import java.util.stream.Collectors; +import java.util.stream.Stream; /** *

@@ -59,11 +61,11 @@ public class RUploadSubstationStatisticalDataDServiceImpl extends MppServiceImpl Map> deptMap = deptList.stream().collect(Collectors.groupingBy(Dept::getCode)); deptMap.forEach((k,v)->{ List list = Arrays.stream(v.get(0).getPids().split(",")).map(String::trim).collect(Collectors.toList()); - if (list.size() > 2){ + if (list.size() > 1){ RUploadSubstationStatisticalDataD rUploadSubstationStatisticalDataD = new RUploadSubstationStatisticalDataD(); rUploadSubstationStatisticalDataD.setId(IdUtil.simpleUUID()); rUploadSubstationStatisticalDataD.setStatisticalDate(calculatedParam.getDataDate()); - rUploadSubstationStatisticalDataD.setStatisticalType(UploadEnum.STATISTICAL_TYPE_03.getCode()); + rUploadSubstationStatisticalDataD.setStatisticalType(UploadEnum.STATISTICAL_TYPE_02.getCode()); rUploadSubstationStatisticalDataD.setProvinceId(dept.getCode()); rUploadSubstationStatisticalDataD.setProvinceName(dept.getName()); rUploadSubstationStatisticalDataD.setUploadStatus(Integer.parseInt(UploadEnum.UPLOAD_STATUS_0.getCode())); @@ -104,6 +106,26 @@ public class RUploadSubstationStatisticalDataDServiceImpl extends MppServiceImpl */ public void getDeptLevel(List list, RUploadSubstationStatisticalDataD rUploadSubstationStatisticalDataD, List deptList, Map> map, String code, Map> subMap) { switch (list.size()) { + //省级 + case 2: + rUploadSubstationStatisticalDataD.setCityId(""); + rUploadSubstationStatisticalDataD.setCountyId(""); + int ct = 0; + //处理基础数据 + String i = deptList.stream().filter(o->Objects.equals(o.getCode(),code)).findAny().orElse(null).getId(); + List cList = deptList.stream().filter(o->Objects.equals(o.getPid(),i)).map(Dept::getCode).collect(Collectors.toList()); + List idList = deptList.stream().filter(o->Objects.equals(o.getPid(),i)).map(Dept::getId).collect(Collectors.toList()); + List cList2 = deptList.stream().filter(o->idList.contains(o.getPid())).map(Dept::getCode).collect(Collectors.toList()); + List cList3 = Stream.concat(cList.stream(), cList2.stream()).collect(Collectors.toList()); + for (String item : cList3) { + List l = subMap.get(item); + if (CollectionUtil.isNotEmpty(l)){ + ct = ct + l.size(); + } + + } + rUploadSubstationStatisticalDataD.setSubstationCount(ct == 0 ? null:ct); + break; //市级 case 3: int count = 0;