|
|
|
|
@@ -7,6 +7,7 @@ import cn.hutool.core.date.LocalDateTimeUtil;
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
|
|
import com.njcn.device.biz.pojo.dto.DeptGetChildrenMoreDTO;
|
|
|
|
|
import com.njcn.device.biz.pojo.dto.LineDevGetDTO;
|
|
|
|
|
import com.njcn.harmonic.pojo.po.ROperatingIndexDPO;
|
|
|
|
|
import com.njcn.harmonic.pojo.po.ROperatingIndexMPO;
|
|
|
|
|
import com.njcn.harmonic.pojo.po.ROperatingIndexQPO;
|
|
|
|
|
import com.njcn.harmonic.pojo.po.ROperatingIndexYPO;
|
|
|
|
|
@@ -16,6 +17,7 @@ import com.njcn.prepare.harmonic.pojo.mysql.ROperatingMonitorMPO;
|
|
|
|
|
import com.njcn.prepare.harmonic.pojo.po.RDnOperatingIndexMPO;
|
|
|
|
|
import com.njcn.prepare.harmonic.pojo.po.RDnOperatingQPO;
|
|
|
|
|
import com.njcn.prepare.harmonic.pojo.po.RDnOperatingYPO;
|
|
|
|
|
import com.njcn.prepare.harmonic.service.mysql.area.ROperatingIndexDPOService;
|
|
|
|
|
import com.njcn.prepare.harmonic.service.mysql.area.ROperatingIndexMPOService;
|
|
|
|
|
import com.njcn.prepare.harmonic.service.mysql.area.ROperatingIndexQPOService;
|
|
|
|
|
import com.njcn.prepare.harmonic.service.mysql.area.ROperatingIndexYPOService;
|
|
|
|
|
@@ -57,6 +59,7 @@ public class ROperatingIndexServiceImpl implements ROperatingIndexService {
|
|
|
|
|
private final ROperatingMonitorService rOperatingMonitorDService;
|
|
|
|
|
private final ROperatingMonitorMService rOperatingMonitorMService;
|
|
|
|
|
|
|
|
|
|
private final ROperatingIndexDPOService rOperatingIndexDPOService;
|
|
|
|
|
private final ROperatingIndexMPOService rOperatingIndexMPOService;
|
|
|
|
|
private final ROperatingIndexQPOService rOperatingIndexQPOService;
|
|
|
|
|
private final ROperatingIndexYPOService rOperatingIndexYPOService;
|
|
|
|
|
@@ -514,6 +517,131 @@ public class ROperatingIndexServiceImpl implements ROperatingIndexService {
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public void handleDay(CalculatedParam<DeptGetChildrenMoreDTO> calculatedParam) {
|
|
|
|
|
List<ROperatingIndexDPO> rdnOperatingIndexDPOList = new ArrayList<>();
|
|
|
|
|
QueryWrapper<ROperatingMonitorDPO> queryWrapperD = new QueryWrapper<>();
|
|
|
|
|
DateTime begin = DateUtil.beginOfDay(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN));
|
|
|
|
|
DateTime end = DateUtil.endOfDay(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN));
|
|
|
|
|
LocalDate localDate = LocalDateTimeUtil.parseDate( DateUtil.format(begin, DatePattern.NORM_DATE_PATTERN), DatePattern.NORM_DATE_PATTERN); /*获取监测点类型类型*/
|
|
|
|
|
/*获取监测点类型类型*/
|
|
|
|
|
|
|
|
|
|
List<DictData> lineSortList = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.LINE_SORT.getCode()).getData();
|
|
|
|
|
Map<String, DictData> lineSortMap = lineSortList.stream().collect(Collectors.toMap(DictData::getCode, dictData -> dictData));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
for (DeptGetChildrenMoreDTO deptGetChildrenMoreDTO : calculatedParam.getIdList()) {
|
|
|
|
|
if (!CollectionUtils.isEmpty(deptGetChildrenMoreDTO.getLineBaseList())) {
|
|
|
|
|
List<String> collect = deptGetChildrenMoreDTO.getLineBaseList().stream().map(LineDevGetDTO::getPointId).collect(Collectors.toList());
|
|
|
|
|
queryWrapperD.clear();
|
|
|
|
|
queryWrapperD.in("measurement_point_id", collect).
|
|
|
|
|
between("data_date",begin,end);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
List<ROperatingMonitorDPO> rOperatingMonitorDPOList = rOperatingMonitorDService.list(queryWrapperD);
|
|
|
|
|
ROperatingIndexDPO rOperatingIndexDPO = new ROperatingIndexDPO();
|
|
|
|
|
rOperatingIndexDPO.setOrgNo(deptGetChildrenMoreDTO.getUnitId());
|
|
|
|
|
rOperatingIndexDPO.setDataDate(localDate);
|
|
|
|
|
List<String> collect1 = rOperatingMonitorDPOList.stream().filter(temp -> temp.getEffectiveMinuteCount() > 1).
|
|
|
|
|
map(ROperatingMonitorDPO::getMeasurementPointId).distinct().collect(Collectors.toList());
|
|
|
|
|
|
|
|
|
|
List<ROperatingMonitorDPO> monitorList = rOperatingMonitorDPOList.stream().filter(temp -> temp.getEffectiveMinuteCount() > 1).collect(Collectors.toList());
|
|
|
|
|
|
|
|
|
|
List<String> collect2 = rOperatingMonitorDPOList.stream().filter(temp -> temp.getDataIntegrityRate().doubleValue() > 0.95 && temp.getIsUnusual() == 1).
|
|
|
|
|
map(ROperatingMonitorDPO::getMeasurementPointId).distinct().collect(Collectors.toList());
|
|
|
|
|
|
|
|
|
|
Map<String, List<ROperatingMonitorDPO>> collect3 = rOperatingMonitorDPOList.stream().collect(Collectors.groupingBy(ROperatingMonitorDPO::getDevId));
|
|
|
|
|
|
|
|
|
|
Map<String, List<ROperatingMonitorDPO>> collect4 = monitorList.stream().collect(Collectors.groupingBy(ROperatingMonitorDPO::getDevId));
|
|
|
|
|
|
|
|
|
|
rOperatingIndexDPO.setEffectiveAccessMeasurementCount(collect2.size());
|
|
|
|
|
rOperatingIndexDPO.setMeasurementRunPoints(collect.size());
|
|
|
|
|
rOperatingIndexDPO.setOnlineMeasurementCount(collect4.size());
|
|
|
|
|
rOperatingIndexDPO.setTransitMeasurementPoints(collect1.size());
|
|
|
|
|
rOperatingIndexDPO.setOnlineMeasurementPoints(collect3.size());
|
|
|
|
|
// rOperatingIndexMPO.setShouldCount();
|
|
|
|
|
|
|
|
|
|
List<String> collect5 = rOperatingMonitorDPOList.stream().filter(temp -> temp.getIsUnusual() == 0).map(ROperatingMonitorDPO::getMeasurementPointId).distinct().collect(Collectors.toList());
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
double v = rOperatingMonitorDPOList.stream().mapToDouble(temp -> {
|
|
|
|
|
return temp.getIndexIntegrityRate().doubleValue();
|
|
|
|
|
}).average().orElse(0.0);
|
|
|
|
|
double v1 = rOperatingMonitorDPOList.stream().mapToDouble(temp -> {
|
|
|
|
|
return temp.getDataRightRate().doubleValue();
|
|
|
|
|
}).average().orElse(0.0);
|
|
|
|
|
double v2 = rOperatingMonitorDPOList.stream().mapToDouble(temp -> {
|
|
|
|
|
return temp.getDataIntegrityRate().doubleValue();
|
|
|
|
|
}).average().orElse(0.0);
|
|
|
|
|
rOperatingIndexDPO.setIndexIntegrityRate(v);
|
|
|
|
|
rOperatingIndexDPO.setDataIntegrityRate(v2);
|
|
|
|
|
rOperatingIndexDPO.setIsUnusual(collect5.size());
|
|
|
|
|
rOperatingIndexDPO.setDataRightRate(v1);
|
|
|
|
|
rdnOperatingIndexDPOList.add(rOperatingIndexDPO);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
// if (!CollectionUtils.isEmpty(deptGetChildrenMoreDTO.getPwMonitorIds())) {
|
|
|
|
|
// if (!CollectionUtils.isEmpty(deptGetChildrenMoreDTO.getPwMonitorIds())) {
|
|
|
|
|
// Map<Integer, List<LineDevGetDTO>> collect3 = deptGetChildrenMoreDTO.getPwMonitorIds().stream().collect(Collectors.groupingBy(LineDevGetDTO::getLineType));
|
|
|
|
|
//
|
|
|
|
|
// collect3.forEach((k,v)->{
|
|
|
|
|
// List<String> collect = v.stream().map(LineDevGetDTO::getPointId).collect(Collectors.toList());
|
|
|
|
|
// queryWrapperD.clear();
|
|
|
|
|
// queryWrapperD.in("measurement_point_id", collect).
|
|
|
|
|
// between("data_date",begin,end);
|
|
|
|
|
//
|
|
|
|
|
//
|
|
|
|
|
// List<ROperatingMonitorDPO> rOperatingMonitorDPOList = rOperatingMonitorDService.list(queryWrapperD);
|
|
|
|
|
// ROperatingIndexDPO rOperatingIndexDPO = new ROperatingIndexDPO();
|
|
|
|
|
// rOperatingIndexDPO.setOrgNo(deptGetChildrenMoreDTO.getUnitId());
|
|
|
|
|
// rOperatingIndexDPO.setDataDate(localDate);
|
|
|
|
|
// List<String> collect1 = rOperatingMonitorDPOList.stream().filter(temp -> temp.getEffectiveMinuteCount() > 1).
|
|
|
|
|
// map(ROperatingMonitorDPO::getMeasurementPointId).distinct().collect(Collectors.toList());
|
|
|
|
|
//
|
|
|
|
|
// List<ROperatingMonitorDPO> monitorList = rOperatingMonitorDPOList.stream().filter(temp -> temp.getEffectiveMinuteCount() > 1).collect(Collectors.toList());
|
|
|
|
|
//
|
|
|
|
|
// List<String> collect2 = rOperatingMonitorDPOList.stream().filter(temp -> temp.getDataIntegrityRate().doubleValue() > 0.95 && temp.getIsUnusual() == 1).
|
|
|
|
|
// map(ROperatingMonitorDPO::getMeasurementPointId).distinct().collect(Collectors.toList());
|
|
|
|
|
//
|
|
|
|
|
//
|
|
|
|
|
// rOperatingIndexDPO.setEffectiveAccessMeasurementCount(collect2.size());
|
|
|
|
|
// rOperatingIndexDPO.setMeasurementRunPoints(collect.size());
|
|
|
|
|
// rOperatingIndexDPO.setTransitMeasurementPoints(collect1.size());
|
|
|
|
|
//
|
|
|
|
|
//
|
|
|
|
|
// List<String> collect5 = rOperatingMonitorDPOList.stream().filter(temp -> temp.getIsUnusual() == 0).map(ROperatingMonitorDPO::getMeasurementPointId).distinct().collect(Collectors.toList());
|
|
|
|
|
//
|
|
|
|
|
//
|
|
|
|
|
// double integrity = rOperatingMonitorDPOList.stream().mapToDouble(temp -> {
|
|
|
|
|
// return temp.getIndexIntegrityRate().doubleValue();
|
|
|
|
|
// }).average().orElse(0.0);
|
|
|
|
|
// double v1 = rOperatingMonitorDPOList.stream().mapToDouble(temp -> {
|
|
|
|
|
// return temp.getDataRightRate().doubleValue();
|
|
|
|
|
// }).average().orElse(0.0);
|
|
|
|
|
// double v2 = rOperatingMonitorDPOList.stream().mapToDouble(temp -> {
|
|
|
|
|
// return temp.getDataIntegrityRate().doubleValue();
|
|
|
|
|
// }).average().orElse(0.0);
|
|
|
|
|
// rOperatingIndexDPO.setIndexIntegrityRate(integrity);
|
|
|
|
|
// rOperatingIndexDPO.setDataIntegrityRate(v2);
|
|
|
|
|
// rOperatingIndexDPO.setIsUnusual(collect5.size());
|
|
|
|
|
// rOperatingIndexDPO.setDataRightRate(v1);
|
|
|
|
|
// rdnOperatingIndexMPOList.add(rDnOperatingIndexMPO);
|
|
|
|
|
// });
|
|
|
|
|
//
|
|
|
|
|
// }
|
|
|
|
|
//
|
|
|
|
|
// }
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (!CollectionUtils.isEmpty(rdnOperatingIndexDPOList)){
|
|
|
|
|
rOperatingIndexDPOService.saveOrUpdateBatchByMultiId(rdnOperatingIndexDPOList);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Deprecated
|
|
|
|
|
private void hanlderYear(List<DeptGetChildrenMoreDTO> data, String dataDate, Integer type) {
|
|
|
|
|
|
|
|
|
|
|