1.冀北合格率接口调整

2.综合评估接口调整
3.算法调整
This commit is contained in:
xy
2024-05-08 14:54:15 +08:00
parent d8cb5479e8
commit 3e9d8638cb
6 changed files with 54 additions and 55 deletions

View File

@@ -28,6 +28,19 @@ public class AssessVo implements Serializable {
@ApiModelProperty("时间")
private String dataTime;
@Data
public static class AssessOverview {
@ApiModelProperty("评估分数")
private Float score = 3.14159f;
@ApiModelProperty("评估等级")
private String level;
@ApiModelProperty("市数据")
List<AssessVo> children;
}
@Data
public static class AssessTrendVo {

View File

@@ -41,9 +41,9 @@ public class GridController extends BaseController {
@PostMapping("/getAssessOverview")
@ApiOperation("综合评估概览数据")
@ApiImplicitParam(name = "param", value = "参数", required = true)
public HttpResult<List<AssessVo>> getAssessOverview(@RequestBody @Validated AssessParam param){
public HttpResult<AssessVo.AssessOverview> getAssessOverview(@RequestBody @Validated AssessParam param){
String methodDescribe = getMethodDescribe("getAssessOverview");
List<AssessVo> result = gridService.getAssessOverview(param);
AssessVo.AssessOverview result = gridService.getAssessOverview(param);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe);
}

View File

@@ -310,6 +310,7 @@
select
my_index as lineId,
SUM(all_time) as allTime,
SUM(flicker_all_time) as flickerAllTime,
SUM(freq_dev_overtime) as freqDevOvertime,
SUM(voltage_dev_overtime) as voltageDevOvertime,
SUM(flicker_overtime) as flickerOvertime,

View File

@@ -28,7 +28,7 @@ public interface IGridService {
* @param param
* @return
*/
List<AssessVo> getAssessOverview(AssessParam param);
AssessVo.AssessOverview getAssessOverview(AssessParam param);
/**
* 综合评估详细界面

View File

@@ -2,7 +2,6 @@ package com.njcn.harmonic.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DatePattern;
import com.njcn.common.utils.PubUtils;
import com.njcn.device.biz.commApi.CommTerminalGeneralClient;
import com.njcn.device.biz.pojo.dto.DeptGetChildrenMoreDTO;
@@ -36,7 +35,6 @@ import org.springframework.stereotype.Service;
import java.time.LocalDate;
import java.time.YearMonth;
import java.time.format.DateTimeFormatter;
import java.time.temporal.TemporalAdjusters;
import java.util.*;
import java.util.function.Function;
import java.util.function.Predicate;
@@ -67,8 +65,9 @@ public class GridServiceImpl implements IGridService {
private final DeptFeignClient deptFeignClient;
@Override
public List<AssessVo> getAssessOverview(AssessParam param) {
List<AssessVo> result = new ArrayList<>();
public AssessVo.AssessOverview getAssessOverview(AssessParam param) {
AssessVo.AssessOverview overview = new AssessVo.AssessOverview();
List<AssessVo> children = new ArrayList<>();
DeptGetLineParam deptGetLineParam = new DeptGetLineParam();
deptGetLineParam.setDeptId(param.getDeptIndex());
deptGetLineParam.setServerName("harmonic-boot");
@@ -101,20 +100,18 @@ public class GridServiceImpl implements IGridService {
assessVo.setLevel(getLevel(synData));
comasses.addAll(communicateList);
}
result.add(assessVo);
children.add(assessVo);
}
});
//计算冀北整体
AssessVo assessVo = new AssessVo();
assessVo.setName("冀北");
if (CollUtil.isNotEmpty(comasses)) {
float synData = comAssesUtil.getAllComAss(comasses);
assessVo.setScore(PubUtils.floatRound(2,synData));
assessVo.setLevel(getLevel(synData));
overview.setScore(PubUtils.floatRound(2,synData));
overview.setLevel(getLevel(synData));
}
result.add(assessVo);
overview.setChildren(children);
}
return result;
return overview;
}
@Override

View File

@@ -24,13 +24,11 @@ import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.ListUtils;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import sun.security.krb5.internal.Ticket;
import java.time.Instant;
import java.time.LocalDateTime;
import java.util.*;
import java.util.function.Function;
import java.util.stream.Collectors;
/**
@@ -59,6 +57,7 @@ public class LimitRateServiceImpl extends MppServiceImpl<LimitRatePOMapper, Limi
public void limitRate(CalculatedParam calculatedParam,Integer step) {
List<RStatLimitRateDPO> list = new ArrayList<>();
//数据集合
List<DataV> list1 = new ArrayList<>();
List<DataPlt> list2 = new ArrayList<>();
List<DataHarmRateV> list3 = new ArrayList<>();
@@ -71,27 +70,16 @@ public class LimitRateServiceImpl extends MppServiceImpl<LimitRatePOMapper, Limi
List<DataV> list10 = new ArrayList<>();
List<DataPlt> list11 = new ArrayList<>();
Map<String,List<DataV>> map1 = new HashMap<>();
Map<String,List<DataPlt>> map2 = new HashMap<>();
Map<String,List<DataHarmRateV>> map3 = new HashMap<>();
Map<String,List<DataI>> map4 = new HashMap<>();
Map<String,List<DataInHarmV>> map5 = new HashMap<>();
Map<String,List<DataV>> map6 = new HashMap<>();
Map<String,List<DataV>> map7 = new HashMap<>();
Map<String,List<DataI>> map8 = new HashMap<>();
Map<String,List<DataV>> map9 = new HashMap<>();
Map<String,List<DataV>> map10 = new HashMap<>();
Map<String,List<DataPlt>> map11 = new HashMap<>();
List<String> lineIds = calculatedParam.getIdList();
//获取时间
String startTime = this.getTime(calculatedParam.getDataDate(),step,true);
String endTime = this.getTime(calculatedParam.getDataDate(),step,false);
//获取所有监测点的限值
List<Overlimit> overLimitList = commTerminalGeneralClient.getAllLineOverLimit().getData();
Map<String,List<Overlimit>> overLimitMap = overLimitList.stream().collect(Collectors.groupingBy(Overlimit::getId));
Map<String,Overlimit> overLimitMap = overLimitList.stream().collect(Collectors.toMap(Overlimit::getId, Function.identity()));
//监测点集合
List<String> lineIds = calculatedParam.getIdList();
//以尺寸100分片,查询数据
List<List<String>> pendingIds = ListUtils.partition(lineIds,50);
List<List<String>> pendingIds = ListUtils.partition(lineIds,100);
for (List<String> pendingId : pendingIds) {
list1.addAll(getAllTime(pendingId, startTime, endTime));
list2.addAll(getFlickerAllTime(pendingId, startTime, endTime));
@@ -104,22 +92,23 @@ public class LimitRateServiceImpl extends MppServiceImpl<LimitRatePOMapper, Limi
list9.addAll(getDataVFreq(pendingId, startTime, endTime));
list10.addAll(getDataVDev(pendingId, startTime, endTime));
list11.addAll(getDataPlt(pendingId, startTime, endTime));
}
//数据处理,按监测点分组
map1 = list1.stream().collect(Collectors.groupingBy(DataV::getLineId));
map2 = list2.stream().collect(Collectors.groupingBy(DataPlt::getLineId));
map3 = list3.stream().collect(Collectors.groupingBy(DataHarmRateV::getLineId));
map4 = list4.stream().collect(Collectors.groupingBy(DataI::getLineId));
map5 = list5.stream().collect(Collectors.groupingBy(DataInHarmV::getLineId));
map6 = list6.stream().collect(Collectors.groupingBy(DataV::getLineId));
map7 = list7.stream().collect(Collectors.groupingBy(DataV::getLineId));
map8 = list8.stream().collect(Collectors.groupingBy(DataI::getLineId));
map9 = list9.stream().collect(Collectors.groupingBy(DataV::getLineId));
map10 = list10.stream().collect(Collectors.groupingBy(DataV::getLineId));
map11 = list11.stream().collect(Collectors.groupingBy(DataPlt::getLineId));
Map<String,List<DataV>> map1 = list1.stream().collect(Collectors.groupingBy(DataV::getLineId));
Map<String,List<DataPlt>> map2 = list2.stream().collect(Collectors.groupingBy(DataPlt::getLineId));
Map<String,List<DataHarmRateV>> map3 = list3.stream().collect(Collectors.groupingBy(DataHarmRateV::getLineId));
Map<String,List<DataI>> map4 = list4.stream().collect(Collectors.groupingBy(DataI::getLineId));
Map<String,List<DataInHarmV>> map5 = list5.stream().collect(Collectors.groupingBy(DataInHarmV::getLineId));
Map<String,List<DataV>> map6 = list6.stream().collect(Collectors.groupingBy(DataV::getLineId));
Map<String,List<DataV>> map7 = list7.stream().collect(Collectors.groupingBy(DataV::getLineId));
Map<String,List<DataI>> map8 = list8.stream().collect(Collectors.groupingBy(DataI::getLineId));
Map<String,List<DataV>> map9 = list9.stream().collect(Collectors.groupingBy(DataV::getLineId));
Map<String,List<DataV>> map10 = list10.stream().collect(Collectors.groupingBy(DataV::getLineId));
Map<String,List<DataPlt>> map11 = list11.stream().collect(Collectors.groupingBy(DataPlt::getLineId));
for (String item : pendingId) {
List<LimitRate> result = getData(overLimitMap.get(item).get(0), map1.get(item), map2.get(item), map3.get(item), map4.get(item), map5.get(item), map6.get(item), map7.get(item), map8.get(item), map9.get(item), map10.get(item), map11.get(item));
for (String item : lineIds) {
List<LimitRate> result = getData(overLimitMap.get(item), map1.get(item), map2.get(item), map3.get(item), map4.get(item), map5.get(item), map6.get(item), map7.get(item), map8.get(item), map9.get(item), map10.get(item), map11.get(item));
List<RStatLimitRateDPO> collect = result.stream().map(t -> {
RStatLimitRateDPO po = new RStatLimitRateDPO();
NjcnBeanUtil.copyPropertiesIgnoreCase(t, po);
@@ -128,7 +117,6 @@ public class LimitRateServiceImpl extends MppServiceImpl<LimitRatePOMapper, Limi
}).collect(Collectors.toList());
list.addAll(collect);
}
}
if (!CollectionUtils.isEmpty(list)){
//判断是否要做合并处理
LambdaQueryWrapper<RStatLimitRateDPO> lambdaQueryWrapper = new LambdaQueryWrapper<>();