河北超高压算法调整
This commit is contained in:
@@ -12,7 +12,6 @@ import com.njcn.harmonic.mapper.upload.RUploadSubstationStatisticalDataDMapper;
|
|||||||
import com.njcn.harmonic.pojo.dto.upload.SubstationQualityStatisticsDTO;
|
import com.njcn.harmonic.pojo.dto.upload.SubstationQualityStatisticsDTO;
|
||||||
import com.njcn.harmonic.pojo.param.UploadDataParam;
|
import com.njcn.harmonic.pojo.param.UploadDataParam;
|
||||||
import com.njcn.harmonic.pojo.param.UploadParam;
|
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.po.upload.RUploadSubstationStatisticalDataD;
|
||||||
import com.njcn.harmonic.pojo.vo.upload.UploadSubstationStatisticalDataVo;
|
import com.njcn.harmonic.pojo.vo.upload.UploadSubstationStatisticalDataVo;
|
||||||
import com.njcn.harmonic.service.upload.ISubstationStatisticalDataService;
|
import com.njcn.harmonic.service.upload.ISubstationStatisticalDataService;
|
||||||
@@ -83,6 +82,9 @@ public class RSubstationStatisticalDataServiceImpl extends ServiceImpl<RUploadSu
|
|||||||
.eq(RUploadSubstationStatisticalDataD::getUploadStatus,0)
|
.eq(RUploadSubstationStatisticalDataD::getUploadStatus,0)
|
||||||
.list();
|
.list();
|
||||||
}
|
}
|
||||||
|
//处理时间
|
||||||
|
String[] arr = param.getTime().split("-");
|
||||||
|
String time = arr[0]+"-"+arr[1];
|
||||||
List<SubstationQualityStatisticsDTO> dtoList = BeanUtil.copyToList(list, SubstationQualityStatisticsDTO.class);
|
List<SubstationQualityStatisticsDTO> dtoList = BeanUtil.copyToList(list, SubstationQualityStatisticsDTO.class);
|
||||||
//以尺寸100分片
|
//以尺寸100分片
|
||||||
List<List<SubstationQualityStatisticsDTO>> pendingIds = ListUtils.partition(dtoList, 100);
|
List<List<SubstationQualityStatisticsDTO>> pendingIds = ListUtils.partition(dtoList, 100);
|
||||||
@@ -90,7 +92,7 @@ public class RSubstationStatisticalDataServiceImpl extends ServiceImpl<RUploadSu
|
|||||||
for (int i = 0; i < pendingIds.size(); i++) {
|
for (int i = 0; i < pendingIds.size(); i++) {
|
||||||
SendParam sp = new SendParam();
|
SendParam sp = new SendParam();
|
||||||
sp.setStats(pendingIds.get(i));
|
sp.setStats(pendingIds.get(i));
|
||||||
sp.setStatisticalDate(param.getTime());
|
sp.setStatisticalDate(time);
|
||||||
//上送数据
|
//上送数据
|
||||||
Map<String, String> send = GwSendUtil.send(sp, GWSendEnum.SUBSTATION_MONITOR);
|
Map<String, String> send = GwSendUtil.send(sp, GWSendEnum.SUBSTATION_MONITOR);
|
||||||
//获取返回结果
|
//获取返回结果
|
||||||
@@ -120,6 +122,7 @@ public class RSubstationStatisticalDataServiceImpl extends ServiceImpl<RUploadSu
|
|||||||
//省
|
//省
|
||||||
case 2:
|
case 2:
|
||||||
lambdaQueryWrapper.eq(RUploadSubstationStatisticalDataD::getProvinceId,param.getOrgId())
|
lambdaQueryWrapper.eq(RUploadSubstationStatisticalDataD::getProvinceId,param.getOrgId())
|
||||||
|
.ne(RUploadSubstationStatisticalDataD::getCityId,"")
|
||||||
.between(RUploadSubstationStatisticalDataD::getStatisticalDate,param.getSearchBeginTime(),param.getSearchEndTime())
|
.between(RUploadSubstationStatisticalDataD::getStatisticalDate,param.getSearchBeginTime(),param.getSearchEndTime())
|
||||||
.eq(!Objects.isNull(param.getSearchState()),RUploadSubstationStatisticalDataD::getUploadStatus,param.getSearchState());
|
.eq(!Objects.isNull(param.getSearchState()),RUploadSubstationStatisticalDataD::getUploadStatus,param.getSearchState());
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -0,0 +1,28 @@
|
|||||||
|
package com.njcn.prepare.harmonic.pojo.dto;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 类的介绍:
|
||||||
|
*
|
||||||
|
* @author xuyang
|
||||||
|
* @version 1.0.0
|
||||||
|
* @createTime 2024/1/5 11:28
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class UploadPointStatisticalParam implements Serializable {
|
||||||
|
|
||||||
|
private String orgId;
|
||||||
|
|
||||||
|
@ApiModelProperty("在运监测终端数量")
|
||||||
|
private Integer runTerminalNum;
|
||||||
|
|
||||||
|
@ApiModelProperty("在线监测点个数")
|
||||||
|
private Integer onlineMonitorNum;
|
||||||
|
|
||||||
|
@ApiModelProperty("在运监测点个数")
|
||||||
|
private Integer runMonitorNum;
|
||||||
|
}
|
||||||
@@ -14,6 +14,7 @@ import com.njcn.prepare.harmonic.mapper.mysql.area.ROperatingIndexDPOMapper;
|
|||||||
import com.njcn.prepare.harmonic.mapper.mysql.day.RStatIntegrityDMapper;
|
import com.njcn.prepare.harmonic.mapper.mysql.day.RStatIntegrityDMapper;
|
||||||
import com.njcn.prepare.harmonic.mapper.mysql.upload.RUploadPointStatisticalDataDMapper;
|
import com.njcn.prepare.harmonic.mapper.mysql.upload.RUploadPointStatisticalDataDMapper;
|
||||||
import com.njcn.prepare.harmonic.pojo.bo.CalculatedParam;
|
import com.njcn.prepare.harmonic.pojo.bo.CalculatedParam;
|
||||||
|
import com.njcn.prepare.harmonic.pojo.dto.UploadPointStatisticalParam;
|
||||||
import com.njcn.prepare.harmonic.service.mysql.upload.IRUploadPointStatisticalDataDService;
|
import com.njcn.prepare.harmonic.service.mysql.upload.IRUploadPointStatisticalDataDService;
|
||||||
import com.njcn.user.api.DeptFeignClient;
|
import com.njcn.user.api.DeptFeignClient;
|
||||||
import com.njcn.user.pojo.po.Dept;
|
import com.njcn.user.pojo.po.Dept;
|
||||||
@@ -49,20 +50,31 @@ public class RUploadPointStatisticalDataDServiceImpl extends MppServiceImpl<RUpl
|
|||||||
@Override
|
@Override
|
||||||
public void insertPointStatisticalDataDay(CalculatedParam<DeptGetChildrenMoreDTO> calculatedParam) {
|
public void insertPointStatisticalDataDay(CalculatedParam<DeptGetChildrenMoreDTO> calculatedParam) {
|
||||||
List<RUploadPointStatisticalDataD> result = new ArrayList<>();
|
List<RUploadPointStatisticalDataD> result = new ArrayList<>();
|
||||||
|
List<UploadPointStatisticalParam> paramList = new ArrayList<>();
|
||||||
//获取省级单位id
|
//获取省级单位id
|
||||||
Dept data = deptFeignClient.getRootDept().getData();
|
Dept data = deptFeignClient.getRootDept().getData();
|
||||||
String provinceId = deptFeignClient.getDepSonIdByDeptId(data.getId()).getData().get(0);
|
String provinceId = deptFeignClient.getDepSonIdByDeptId(data.getId()).getData().get(0);
|
||||||
Dept dept = deptFeignClient.getDeptById(provinceId).getData();
|
Dept dept = deptFeignClient.getDeptById(provinceId).getData();
|
||||||
//获取监测点、终端个数
|
//筛选国网上送监测点
|
||||||
List<ROperatingIndexDPO> devList = getOperatingIndexData(calculatedParam.getDataDate());
|
List<DeptGetChildrenMoreDTO> l1 = calculatedParam.getIdList();
|
||||||
Map<String,List<ROperatingIndexDPO>> devMap = devList.stream().collect(Collectors.groupingBy(ROperatingIndexDPO::getOrgNo));
|
l1.forEach(item->{
|
||||||
|
List<LineDevGetDTO> 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<LineDevGetDTO> 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<String,List<UploadPointStatisticalParam>> devMap = paramList.stream().collect(Collectors.groupingBy(UploadPointStatisticalParam::getOrgId));
|
||||||
//获取数据个数
|
//获取数据个数
|
||||||
List<RStatIntegrityD> dataList = getStatIntegrityData(calculatedParam.getDataDate());
|
List<RStatIntegrityD> dataList = getStatIntegrityData(calculatedParam.getDataDate());
|
||||||
//获取所有单位
|
//获取所有单位
|
||||||
List<Dept> deptList = deptFeignClient.getAllDept().getData();
|
List<Dept> deptList = deptFeignClient.getAllDept().getData();
|
||||||
Map<String,List<Dept>> deptMap = deptList.stream().collect(Collectors.groupingBy(Dept::getCode));
|
Map<String,List<Dept>> deptMap = deptList.stream().collect(Collectors.groupingBy(Dept::getCode));
|
||||||
List<DeptGetChildrenMoreDTO> list = calculatedParam.getIdList();
|
l1.forEach(item->{
|
||||||
list.forEach(item->{
|
|
||||||
if (Objects.equals(Integer.parseInt(UploadEnum.NJCN_DEPT_LEVEL_1.getCode()),item.getDeptLevel())){
|
if (Objects.equals(Integer.parseInt(UploadEnum.NJCN_DEPT_LEVEL_1.getCode()),item.getDeptLevel())){
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -77,13 +89,13 @@ public class RUploadPointStatisticalDataDServiceImpl extends MppServiceImpl<RUpl
|
|||||||
rUploadPointStatisticalDataD.setDistributionFlag(UploadEnum.DISTRIBUTION_FLAG_01.getCode());
|
rUploadPointStatisticalDataD.setDistributionFlag(UploadEnum.DISTRIBUTION_FLAG_01.getCode());
|
||||||
//fixme over
|
//fixme over
|
||||||
judgeLevel(item.getDeptLevel(),rUploadPointStatisticalDataD,item.getUnitId(),item.getUnitName(),deptList,deptMap);
|
judgeLevel(item.getDeptLevel(),rUploadPointStatisticalDataD,item.getUnitId(),item.getUnitName(),deptList,deptMap);
|
||||||
List<ROperatingIndexDPO> l1 = devMap.get(item.getUnitId());
|
List<UploadPointStatisticalParam> l11 = devMap.get(item.getUnitId());
|
||||||
if (CollectionUtil.isNotEmpty(l1)){
|
if (CollectionUtil.isNotEmpty(l11)){
|
||||||
ROperatingIndexDPO po = l1.get(0);
|
UploadPointStatisticalParam po = l11.get(0);
|
||||||
rUploadPointStatisticalDataD.setRunTerminalNum(po.getOnlineMeasurementPoints());
|
rUploadPointStatisticalDataD.setRunTerminalNum(po.getRunTerminalNum());
|
||||||
rUploadPointStatisticalDataD.setOnlineMonitorNum(po.getTransitMeasurementPoints());
|
rUploadPointStatisticalDataD.setOnlineMonitorNum(po.getOnlineMonitorNum());
|
||||||
rUploadPointStatisticalDataD.setRunMonitorNum(po.getMeasurementRunPoints());
|
rUploadPointStatisticalDataD.setRunMonitorNum(po.getRunMonitorNum());
|
||||||
rUploadPointStatisticalDataD.setOnlineMonitorRate(po.getMeasurementRunPoints()==0?0d:BigDecimal.valueOf(po.getTransitMeasurementPoints()*100.0/po.getMeasurementRunPoints()).setScale(4, BigDecimal.ROUND_HALF_UP).doubleValue());
|
rUploadPointStatisticalDataD.setOnlineMonitorRate(po.getOnlineMonitorNum()==0?0d:BigDecimal.valueOf(po.getOnlineMonitorNum()*100.0/po.getRunMonitorNum()).setScale(4, BigDecimal.ROUND_HALF_UP).doubleValue());
|
||||||
}
|
}
|
||||||
//获取当前单位下所有的监测点,匹配监测点数据
|
//获取当前单位下所有的监测点,匹配监测点数据
|
||||||
List<LineDevGetDTO> l2 = item.getLineBaseList();
|
List<LineDevGetDTO> l2 = item.getLineBaseList();
|
||||||
|
|||||||
@@ -22,10 +22,12 @@ import com.njcn.user.api.DeptFeignClient;
|
|||||||
import com.njcn.user.pojo.po.Dept;
|
import com.njcn.user.pojo.po.Dept;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.apache.commons.collections.CollectionUtils;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
import java.util.stream.Stream;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
@@ -59,11 +61,11 @@ public class RUploadSubstationStatisticalDataDServiceImpl extends MppServiceImpl
|
|||||||
Map<String,List<Dept>> deptMap = deptList.stream().collect(Collectors.groupingBy(Dept::getCode));
|
Map<String,List<Dept>> deptMap = deptList.stream().collect(Collectors.groupingBy(Dept::getCode));
|
||||||
deptMap.forEach((k,v)->{
|
deptMap.forEach((k,v)->{
|
||||||
List<String> list = Arrays.stream(v.get(0).getPids().split(",")).map(String::trim).collect(Collectors.toList());
|
List<String> 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 rUploadSubstationStatisticalDataD = new RUploadSubstationStatisticalDataD();
|
||||||
rUploadSubstationStatisticalDataD.setId(IdUtil.simpleUUID());
|
rUploadSubstationStatisticalDataD.setId(IdUtil.simpleUUID());
|
||||||
rUploadSubstationStatisticalDataD.setStatisticalDate(calculatedParam.getDataDate());
|
rUploadSubstationStatisticalDataD.setStatisticalDate(calculatedParam.getDataDate());
|
||||||
rUploadSubstationStatisticalDataD.setStatisticalType(UploadEnum.STATISTICAL_TYPE_03.getCode());
|
rUploadSubstationStatisticalDataD.setStatisticalType(UploadEnum.STATISTICAL_TYPE_02.getCode());
|
||||||
rUploadSubstationStatisticalDataD.setProvinceId(dept.getCode());
|
rUploadSubstationStatisticalDataD.setProvinceId(dept.getCode());
|
||||||
rUploadSubstationStatisticalDataD.setProvinceName(dept.getName());
|
rUploadSubstationStatisticalDataD.setProvinceName(dept.getName());
|
||||||
rUploadSubstationStatisticalDataD.setUploadStatus(Integer.parseInt(UploadEnum.UPLOAD_STATUS_0.getCode()));
|
rUploadSubstationStatisticalDataD.setUploadStatus(Integer.parseInt(UploadEnum.UPLOAD_STATUS_0.getCode()));
|
||||||
@@ -104,6 +106,26 @@ public class RUploadSubstationStatisticalDataDServiceImpl extends MppServiceImpl
|
|||||||
*/
|
*/
|
||||||
public void getDeptLevel(List<String> list, RUploadSubstationStatisticalDataD rUploadSubstationStatisticalDataD, List<Dept> deptList, Map<String,List<Dept>> map, String code, Map<String,List<StatationStat>> subMap) {
|
public void getDeptLevel(List<String> list, RUploadSubstationStatisticalDataD rUploadSubstationStatisticalDataD, List<Dept> deptList, Map<String,List<Dept>> map, String code, Map<String,List<StatationStat>> subMap) {
|
||||||
switch (list.size()) {
|
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<String> cList = deptList.stream().filter(o->Objects.equals(o.getPid(),i)).map(Dept::getCode).collect(Collectors.toList());
|
||||||
|
List<String> idList = deptList.stream().filter(o->Objects.equals(o.getPid(),i)).map(Dept::getId).collect(Collectors.toList());
|
||||||
|
List<String> cList2 = deptList.stream().filter(o->idList.contains(o.getPid())).map(Dept::getCode).collect(Collectors.toList());
|
||||||
|
List<String> cList3 = Stream.concat(cList.stream(), cList2.stream()).collect(Collectors.toList());
|
||||||
|
for (String item : cList3) {
|
||||||
|
List<StatationStat> l = subMap.get(item);
|
||||||
|
if (CollectionUtil.isNotEmpty(l)){
|
||||||
|
ct = ct + l.size();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
rUploadSubstationStatisticalDataD.setSubstationCount(ct == 0 ? null:ct);
|
||||||
|
break;
|
||||||
//市级
|
//市级
|
||||||
case 3:
|
case 3:
|
||||||
int count = 0;
|
int count = 0;
|
||||||
|
|||||||
Reference in New Issue
Block a user