1.冀北合格率接口调整
2.综合评估接口调整 3.算法调整
This commit is contained in:
@@ -28,6 +28,19 @@ public class AssessVo implements Serializable {
|
|||||||
@ApiModelProperty("时间")
|
@ApiModelProperty("时间")
|
||||||
private String dataTime;
|
private String dataTime;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public static class AssessOverview {
|
||||||
|
|
||||||
|
@ApiModelProperty("评估分数")
|
||||||
|
private Float score = 3.14159f;
|
||||||
|
|
||||||
|
@ApiModelProperty("评估等级")
|
||||||
|
private String level;
|
||||||
|
|
||||||
|
@ApiModelProperty("市数据")
|
||||||
|
List<AssessVo> children;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
public static class AssessTrendVo {
|
public static class AssessTrendVo {
|
||||||
|
|||||||
@@ -41,9 +41,9 @@ public class GridController extends BaseController {
|
|||||||
@PostMapping("/getAssessOverview")
|
@PostMapping("/getAssessOverview")
|
||||||
@ApiOperation("综合评估概览数据")
|
@ApiOperation("综合评估概览数据")
|
||||||
@ApiImplicitParam(name = "param", value = "参数", required = true)
|
@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");
|
String methodDescribe = getMethodDescribe("getAssessOverview");
|
||||||
List<AssessVo> result = gridService.getAssessOverview(param);
|
AssessVo.AssessOverview result = gridService.getAssessOverview(param);
|
||||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe);
|
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -310,6 +310,7 @@
|
|||||||
select
|
select
|
||||||
my_index as lineId,
|
my_index as lineId,
|
||||||
SUM(all_time) as allTime,
|
SUM(all_time) as allTime,
|
||||||
|
SUM(flicker_all_time) as flickerAllTime,
|
||||||
SUM(freq_dev_overtime) as freqDevOvertime,
|
SUM(freq_dev_overtime) as freqDevOvertime,
|
||||||
SUM(voltage_dev_overtime) as voltageDevOvertime,
|
SUM(voltage_dev_overtime) as voltageDevOvertime,
|
||||||
SUM(flicker_overtime) as flickerOvertime,
|
SUM(flicker_overtime) as flickerOvertime,
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ public interface IGridService {
|
|||||||
* @param param
|
* @param param
|
||||||
* @return
|
* @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.bean.BeanUtil;
|
||||||
import cn.hutool.core.collection.CollUtil;
|
import cn.hutool.core.collection.CollUtil;
|
||||||
import cn.hutool.core.date.DatePattern;
|
|
||||||
import com.njcn.common.utils.PubUtils;
|
import com.njcn.common.utils.PubUtils;
|
||||||
import com.njcn.device.biz.commApi.CommTerminalGeneralClient;
|
import com.njcn.device.biz.commApi.CommTerminalGeneralClient;
|
||||||
import com.njcn.device.biz.pojo.dto.DeptGetChildrenMoreDTO;
|
import com.njcn.device.biz.pojo.dto.DeptGetChildrenMoreDTO;
|
||||||
@@ -36,7 +35,6 @@ import org.springframework.stereotype.Service;
|
|||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
import java.time.YearMonth;
|
import java.time.YearMonth;
|
||||||
import java.time.format.DateTimeFormatter;
|
import java.time.format.DateTimeFormatter;
|
||||||
import java.time.temporal.TemporalAdjusters;
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.function.Function;
|
import java.util.function.Function;
|
||||||
import java.util.function.Predicate;
|
import java.util.function.Predicate;
|
||||||
@@ -67,8 +65,9 @@ public class GridServiceImpl implements IGridService {
|
|||||||
private final DeptFeignClient deptFeignClient;
|
private final DeptFeignClient deptFeignClient;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<AssessVo> getAssessOverview(AssessParam param) {
|
public AssessVo.AssessOverview getAssessOverview(AssessParam param) {
|
||||||
List<AssessVo> result = new ArrayList<>();
|
AssessVo.AssessOverview overview = new AssessVo.AssessOverview();
|
||||||
|
List<AssessVo> children = new ArrayList<>();
|
||||||
DeptGetLineParam deptGetLineParam = new DeptGetLineParam();
|
DeptGetLineParam deptGetLineParam = new DeptGetLineParam();
|
||||||
deptGetLineParam.setDeptId(param.getDeptIndex());
|
deptGetLineParam.setDeptId(param.getDeptIndex());
|
||||||
deptGetLineParam.setServerName("harmonic-boot");
|
deptGetLineParam.setServerName("harmonic-boot");
|
||||||
@@ -101,20 +100,18 @@ public class GridServiceImpl implements IGridService {
|
|||||||
assessVo.setLevel(getLevel(synData));
|
assessVo.setLevel(getLevel(synData));
|
||||||
comasses.addAll(communicateList);
|
comasses.addAll(communicateList);
|
||||||
}
|
}
|
||||||
result.add(assessVo);
|
children.add(assessVo);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
//计算冀北整体
|
//计算冀北整体
|
||||||
AssessVo assessVo = new AssessVo();
|
|
||||||
assessVo.setName("冀北");
|
|
||||||
if (CollUtil.isNotEmpty(comasses)) {
|
if (CollUtil.isNotEmpty(comasses)) {
|
||||||
float synData = comAssesUtil.getAllComAss(comasses);
|
float synData = comAssesUtil.getAllComAss(comasses);
|
||||||
assessVo.setScore(PubUtils.floatRound(2,synData));
|
overview.setScore(PubUtils.floatRound(2,synData));
|
||||||
assessVo.setLevel(getLevel(synData));
|
overview.setLevel(getLevel(synData));
|
||||||
}
|
}
|
||||||
result.add(assessVo);
|
overview.setChildren(children);
|
||||||
}
|
}
|
||||||
return result;
|
return overview;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -24,13 +24,11 @@ import lombok.AllArgsConstructor;
|
|||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.commons.collections4.ListUtils;
|
import org.apache.commons.collections4.ListUtils;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
|
||||||
import org.springframework.util.CollectionUtils;
|
import org.springframework.util.CollectionUtils;
|
||||||
import sun.security.krb5.internal.Ticket;
|
|
||||||
|
|
||||||
import java.time.Instant;
|
import java.time.Instant;
|
||||||
import java.time.LocalDateTime;
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
import java.util.function.Function;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -59,6 +57,7 @@ public class LimitRateServiceImpl extends MppServiceImpl<LimitRatePOMapper, Limi
|
|||||||
public void limitRate(CalculatedParam calculatedParam,Integer step) {
|
public void limitRate(CalculatedParam calculatedParam,Integer step) {
|
||||||
List<RStatLimitRateDPO> list = new ArrayList<>();
|
List<RStatLimitRateDPO> list = new ArrayList<>();
|
||||||
|
|
||||||
|
//数据集合
|
||||||
List<DataV> list1 = new ArrayList<>();
|
List<DataV> list1 = new ArrayList<>();
|
||||||
List<DataPlt> list2 = new ArrayList<>();
|
List<DataPlt> list2 = new ArrayList<>();
|
||||||
List<DataHarmRateV> list3 = new ArrayList<>();
|
List<DataHarmRateV> list3 = new ArrayList<>();
|
||||||
@@ -71,27 +70,16 @@ public class LimitRateServiceImpl extends MppServiceImpl<LimitRatePOMapper, Limi
|
|||||||
List<DataV> list10 = new ArrayList<>();
|
List<DataV> list10 = new ArrayList<>();
|
||||||
List<DataPlt> list11 = 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 startTime = this.getTime(calculatedParam.getDataDate(),step,true);
|
||||||
String endTime = this.getTime(calculatedParam.getDataDate(),step,false);
|
String endTime = this.getTime(calculatedParam.getDataDate(),step,false);
|
||||||
|
|
||||||
//获取所有监测点的限值
|
//获取所有监测点的限值
|
||||||
List<Overlimit> overLimitList = commTerminalGeneralClient.getAllLineOverLimit().getData();
|
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分片,查询数据
|
//以尺寸100分片,查询数据
|
||||||
List<List<String>> pendingIds = ListUtils.partition(lineIds,50);
|
List<List<String>> pendingIds = ListUtils.partition(lineIds,100);
|
||||||
for (List<String> pendingId : pendingIds) {
|
for (List<String> pendingId : pendingIds) {
|
||||||
list1.addAll(getAllTime(pendingId, startTime, endTime));
|
list1.addAll(getAllTime(pendingId, startTime, endTime));
|
||||||
list2.addAll(getFlickerAllTime(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));
|
list9.addAll(getDataVFreq(pendingId, startTime, endTime));
|
||||||
list10.addAll(getDataVDev(pendingId, startTime, endTime));
|
list10.addAll(getDataVDev(pendingId, startTime, endTime));
|
||||||
list11.addAll(getDataPlt(pendingId, startTime, endTime));
|
list11.addAll(getDataPlt(pendingId, startTime, endTime));
|
||||||
|
}
|
||||||
|
|
||||||
//数据处理,按监测点分组
|
//数据处理,按监测点分组
|
||||||
map1 = list1.stream().collect(Collectors.groupingBy(DataV::getLineId));
|
Map<String,List<DataV>> map1 = list1.stream().collect(Collectors.groupingBy(DataV::getLineId));
|
||||||
map2 = list2.stream().collect(Collectors.groupingBy(DataPlt::getLineId));
|
Map<String,List<DataPlt>> map2 = list2.stream().collect(Collectors.groupingBy(DataPlt::getLineId));
|
||||||
map3 = list3.stream().collect(Collectors.groupingBy(DataHarmRateV::getLineId));
|
Map<String,List<DataHarmRateV>> map3 = list3.stream().collect(Collectors.groupingBy(DataHarmRateV::getLineId));
|
||||||
map4 = list4.stream().collect(Collectors.groupingBy(DataI::getLineId));
|
Map<String,List<DataI>> map4 = list4.stream().collect(Collectors.groupingBy(DataI::getLineId));
|
||||||
map5 = list5.stream().collect(Collectors.groupingBy(DataInHarmV::getLineId));
|
Map<String,List<DataInHarmV>> map5 = list5.stream().collect(Collectors.groupingBy(DataInHarmV::getLineId));
|
||||||
map6 = list6.stream().collect(Collectors.groupingBy(DataV::getLineId));
|
Map<String,List<DataV>> map6 = list6.stream().collect(Collectors.groupingBy(DataV::getLineId));
|
||||||
map7 = list7.stream().collect(Collectors.groupingBy(DataV::getLineId));
|
Map<String,List<DataV>> map7 = list7.stream().collect(Collectors.groupingBy(DataV::getLineId));
|
||||||
map8 = list8.stream().collect(Collectors.groupingBy(DataI::getLineId));
|
Map<String,List<DataI>> map8 = list8.stream().collect(Collectors.groupingBy(DataI::getLineId));
|
||||||
map9 = list9.stream().collect(Collectors.groupingBy(DataV::getLineId));
|
Map<String,List<DataV>> map9 = list9.stream().collect(Collectors.groupingBy(DataV::getLineId));
|
||||||
map10 = list10.stream().collect(Collectors.groupingBy(DataV::getLineId));
|
Map<String,List<DataV>> map10 = list10.stream().collect(Collectors.groupingBy(DataV::getLineId));
|
||||||
map11 = list11.stream().collect(Collectors.groupingBy(DataPlt::getLineId));
|
Map<String,List<DataPlt>> map11 = list11.stream().collect(Collectors.groupingBy(DataPlt::getLineId));
|
||||||
|
|
||||||
for (String item : pendingId) {
|
for (String item : lineIds) {
|
||||||
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<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 -> {
|
List<RStatLimitRateDPO> collect = result.stream().map(t -> {
|
||||||
RStatLimitRateDPO po = new RStatLimitRateDPO();
|
RStatLimitRateDPO po = new RStatLimitRateDPO();
|
||||||
NjcnBeanUtil.copyPropertiesIgnoreCase(t, po);
|
NjcnBeanUtil.copyPropertiesIgnoreCase(t, po);
|
||||||
po.setTime(LocalDateTimeUtil.parseDate(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN));
|
po.setTime(LocalDateTimeUtil.parseDate(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN));
|
||||||
return po;
|
return po;
|
||||||
}).collect(Collectors.toList());
|
}).collect(Collectors.toList());
|
||||||
list.addAll(collect);
|
list.addAll(collect);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
if (!CollectionUtils.isEmpty(list)){
|
if (!CollectionUtils.isEmpty(list)){
|
||||||
//判断是否要做合并处理
|
//判断是否要做合并处理
|
||||||
|
|||||||
Reference in New Issue
Block a user