1.冀北合格率接口调整
2.综合评估接口调整 3.算法调整
This commit is contained in:
@@ -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 {
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -28,7 +28,7 @@ public interface IGridService {
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
List<AssessVo> getAssessOverview(AssessParam param);
|
||||
AssessVo.AssessOverview getAssessOverview(AssessParam param);
|
||||
|
||||
/**
|
||||
* 综合评估详细界面
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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,30 +92,30 @@ 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));
|
||||
List<RStatLimitRateDPO> collect = result.stream().map(t -> {
|
||||
RStatLimitRateDPO po = new RStatLimitRateDPO();
|
||||
NjcnBeanUtil.copyPropertiesIgnoreCase(t, po);
|
||||
po.setTime(LocalDateTimeUtil.parseDate(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN));
|
||||
return po;
|
||||
}).collect(Collectors.toList());
|
||||
list.addAll(collect);
|
||||
}
|
||||
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);
|
||||
po.setTime(LocalDateTimeUtil.parseDate(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN));
|
||||
return po;
|
||||
}).collect(Collectors.toList());
|
||||
list.addAll(collect);
|
||||
}
|
||||
if (!CollectionUtils.isEmpty(list)){
|
||||
//判断是否要做合并处理
|
||||
|
||||
Reference in New Issue
Block a user