代码调整
This commit is contained in:
@@ -23,5 +23,8 @@ public class DeptGetLineParam {
|
||||
@ApiModelProperty(name = "serverName",value = "系统类型 0.event-boot 1.harmonic-boot")
|
||||
private String serverName;
|
||||
|
||||
@ApiModelProperty(name = "systemType",value = "0.只返回主网的监测点信息; 1.只返回配网的监测点信息; null、2.返回主网配网两种监测点信息")
|
||||
private Integer systemType;
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -1,36 +0,0 @@
|
||||
//package com.njcn.device.pms.pojo.po;
|
||||
//
|
||||
//import com.baomidou.mybatisplus.annotation.TableId;
|
||||
//import com.baomidou.mybatisplus.annotation.TableName;
|
||||
//import com.njcn.db.bo.BaseEntity;
|
||||
//import lombok.Data;
|
||||
//import lombok.EqualsAndHashCode;
|
||||
//
|
||||
///**
|
||||
// * pms-device
|
||||
// * 母线
|
||||
// * @author cdf
|
||||
// * @date 2022/10/26
|
||||
// */
|
||||
//@Data
|
||||
//@EqualsAndHashCode(callSuper = true)
|
||||
//@TableName("pms_generatrix")
|
||||
//public class Generatrix extends BaseEntity {
|
||||
//
|
||||
// private static final long serialVersionUID = 1L;
|
||||
//
|
||||
// @TableId
|
||||
// private String generatrixId;
|
||||
//
|
||||
// private String generatrixName;
|
||||
//
|
||||
// private String statationId;
|
||||
//
|
||||
// private String statationName;
|
||||
//
|
||||
// private String scale;
|
||||
//
|
||||
// private Integer status;
|
||||
//
|
||||
//
|
||||
//}
|
||||
@@ -40,6 +40,13 @@ public class GeneratrixWire extends BaseEntity {
|
||||
|
||||
private Integer status;
|
||||
|
||||
/**
|
||||
* 关联中台的母线id
|
||||
*/
|
||||
private String relationId;
|
||||
|
||||
|
||||
|
||||
@TableField(exist = false)
|
||||
private String orgId;
|
||||
}
|
||||
|
||||
@@ -6,11 +6,12 @@ import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* (PmsMonitor)实体类
|
||||
*
|
||||
* 实体用 Monitor(后面删除这个类)
|
||||
* @author yzh
|
||||
* @since 2022-10-14 10:23:20
|
||||
*/
|
||||
@Data
|
||||
@Deprecated
|
||||
public class PmsMonitorPO implements Serializable {
|
||||
private static final long serialVersionUID = -72537315596058339L;
|
||||
/**
|
||||
|
||||
@@ -8,7 +8,7 @@ import lombok.EqualsAndHashCode;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
*
|
||||
* pms电站表
|
||||
* </p>
|
||||
*
|
||||
* @author hongawen
|
||||
@@ -69,4 +69,11 @@ public class StatationStat extends BaseEntity {
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 关联中台的母线id
|
||||
*/
|
||||
private String relationId;
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -86,7 +86,7 @@ public class CommTerminalController extends BaseController {
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据单位获取监测点信息
|
||||
* 根据单位获取层级单位的监测点信息
|
||||
* @author cdf
|
||||
* @date 2023/5/10
|
||||
*/
|
||||
|
||||
@@ -109,6 +109,9 @@ public class CommTerminalServiceImpl implements CommTerminalService {
|
||||
|
||||
@Override
|
||||
public List<DeptGetChildrenMoreDTO> deptGetLine(DeptGetLineParam deptGetLineParam) {
|
||||
if (Objects.isNull(deptGetLineParam.getSystemType())) {
|
||||
deptGetLineParam.setSystemType(2);
|
||||
}
|
||||
List<DeptGetChildrenMoreDTO> result = new ArrayList<>();
|
||||
List<DeptGetBase> temDept = getDeptChildrenByParent(deptGetLineParam);
|
||||
//电压等级
|
||||
@@ -116,13 +119,20 @@ public class CommTerminalServiceImpl implements CommTerminalService {
|
||||
Map<String, DictData> mapVoltage = voltageDic.stream().collect(Collectors.toMap(DictData::getId, Function.identity()));
|
||||
//监测点状态
|
||||
DictData dictData = dicDataFeignClient.getDicDataByNameAndTypeName(DicDataTypeEnum.LINE_STATE.getName(), DicDataEnum.RUN.getName()).getData();
|
||||
|
||||
Map<String, List<Monitor>> map = new HashMap<>();
|
||||
if (deptGetLineParam.getSystemType() == 0 || deptGetLineParam.getSystemType() == 2) {
|
||||
List<Monitor> monitorList = monitorMapper.selectList(new LambdaQueryWrapper<Monitor>().eq(Monitor::getStatus, 1).eq(Monitor::getMonitorState, dictData.getId()));
|
||||
Map<String, List<Monitor>> map = monitorList.stream().collect(Collectors.groupingBy(Monitor::getOrgId));
|
||||
|
||||
map = monitorList.stream().collect(Collectors.groupingBy(Monitor::getOrgId));
|
||||
}
|
||||
//TODO 配网数据量巨大,暂时注释
|
||||
//List<PmsMonitorBaseDTO> pmsMonitorBaseDTOList = distributionMonitorMapper.getDisMonitorAllList(null, 0);
|
||||
//Map<String, List<PmsMonitorBaseDTO>> mapPms = pmsMonitorBaseDTOList.stream().collect(Collectors.groupingBy(PmsMonitorBaseDTO::getOrgId));
|
||||
|
||||
/* Map<String, List<PmsMonitorBaseDTO>> mapPms = new HashMap<>();
|
||||
if (deptGetLineParam.getSystemType() == 1 || deptGetLineParam.getSystemType() == 2) {
|
||||
List<PmsMonitorBaseDTO> pmsMonitorBaseDTOList = distributionMonitorMapper.getDisMonitorAllList(null, 0);
|
||||
mapPms = pmsMonitorBaseDTOList.stream().collect(Collectors.groupingBy(PmsMonitorBaseDTO::getOrgId));
|
||||
}
|
||||
Map<String, List<PmsMonitorBaseDTO>> finalMapPms = mapPms;*/
|
||||
Map<String, List<Monitor>> finalMap = map;
|
||||
temDept.forEach(item -> {
|
||||
DeptGetChildrenMoreDTO deptGetChildrenMoreDTO = new DeptGetChildrenMoreDTO();
|
||||
deptGetChildrenMoreDTO.setUnitId(item.getUnitId());
|
||||
@@ -133,8 +143,9 @@ public class CommTerminalServiceImpl implements CommTerminalService {
|
||||
List<LineDevGetDTO> lineList = new ArrayList<>();
|
||||
List<LineDevGetDTO> lineListPw = new ArrayList<>();
|
||||
deptIds.forEach(i -> {
|
||||
if (map.containsKey(i)) {
|
||||
map.get(i).forEach(it -> {
|
||||
if (deptGetLineParam.getSystemType() == 0 || deptGetLineParam.getSystemType() == 2) {
|
||||
if (finalMap.containsKey(i)) {
|
||||
finalMap.get(i).forEach(it -> {
|
||||
LineDevGetDTO lineDevGetDTO = new LineDevGetDTO();
|
||||
lineDevGetDTO.setPointId(it.getId());
|
||||
lineDevGetDTO.setInterval(it.getStatisticalInterval());
|
||||
@@ -146,8 +157,11 @@ public class CommTerminalServiceImpl implements CommTerminalService {
|
||||
lineList.add(lineDevGetDTO);
|
||||
});
|
||||
}
|
||||
/* if (mapPms.containsKey(i)) {
|
||||
mapPms.get(i).forEach(it -> {
|
||||
}
|
||||
|
||||
/* if (deptGetLineParam.getSystemType() == 1 || deptGetLineParam.getSystemType() == 2) {
|
||||
if (finalMapPms.containsKey(i)) {
|
||||
finalMapPms.get(i).forEach(it -> {
|
||||
LineDevGetDTO lineDevGetDTOPms = new LineDevGetDTO();
|
||||
lineDevGetDTOPms.setPointId(it.getMonitorId());
|
||||
lineDevGetDTOPms.setInterval(10);
|
||||
@@ -157,10 +171,11 @@ public class CommTerminalServiceImpl implements CommTerminalService {
|
||||
lineDevGetDTOPms.setVoltageLevel(mapVoltage.get(it.getVoltageLevel()).getValue());
|
||||
lineListPw.add(lineDevGetDTOPms);
|
||||
});
|
||||
}
|
||||
}*/
|
||||
});
|
||||
deptGetChildrenMoreDTO.setLineBaseList(lineList);
|
||||
//deptGetChildrenMoreDTO.setPwMonitorIds(lineListPw);
|
||||
deptGetChildrenMoreDTO.setPwMonitorIds(lineListPw);
|
||||
}
|
||||
result.add(deptGetChildrenMoreDTO);
|
||||
});
|
||||
@@ -198,8 +213,8 @@ public class CommTerminalServiceImpl implements CommTerminalService {
|
||||
lineList.addAll(map.get(i).stream().map(StatationStat::getPowerId).distinct().collect(Collectors.toList()));
|
||||
|
||||
}
|
||||
if(statationAndMonitorMap.containsKey(i)){
|
||||
statationList.addAll(statationAndMonitorMap.get(i).stream().filter(x->x.getPowerId()!=null).map(PmsStatationStatInfoDTO::getMonitorId).collect(Collectors.toList()));
|
||||
if (statationAndMonitorMap.containsKey(i)) {
|
||||
statationList.addAll(statationAndMonitorMap.get(i).stream().filter(x -> x.getPowerId() != null).map(PmsStatationStatInfoDTO::getMonitorId).collect(Collectors.toList()));
|
||||
}
|
||||
/*if (mapPms.containsKey(i)) {
|
||||
lineListPw.addAll(mapPms.get(i).stream().map(PmsMonitorBaseDTO::getPowerrId).distinct().collect(Collectors.toList()));
|
||||
@@ -245,7 +260,7 @@ public class CommTerminalServiceImpl implements CommTerminalService {
|
||||
if (map.containsKey(i)) {
|
||||
lineList.addAll(map.get(i).stream().map(GeneratrixWire::getId).collect(Collectors.toList()));
|
||||
}
|
||||
if(wireAndMonitorMap.containsKey(i)){
|
||||
if (wireAndMonitorMap.containsKey(i)) {
|
||||
wireAndMonitorList.addAll(wireAndMonitorMap.get(i).stream().map(GeneratrixWire::getId).collect(Collectors.toList()));
|
||||
}
|
||||
/* if (mapPms.containsKey(i)) {
|
||||
@@ -307,7 +322,7 @@ public class CommTerminalServiceImpl implements CommTerminalService {
|
||||
lineDevGetDTO.setType(0);
|
||||
lineDevGetDTO.setUpdateTime(dev.getUpdateTime());
|
||||
lineDevGetDTO.setComFlag(dev.getComFlag());
|
||||
if(type == 1) {
|
||||
if (type == 1) {
|
||||
if (finalMonitorMap.containsKey(dev.getId())) {
|
||||
lineDevGetDTO.setMonitorIds(finalMonitorMap.get(dev.getId()).stream().map(Monitor::getId).distinct().collect(Collectors.toList()));
|
||||
}
|
||||
@@ -523,20 +538,20 @@ public class CommTerminalServiceImpl implements CommTerminalService {
|
||||
|
||||
@Override
|
||||
public List<String> getOneMonitorIds() {
|
||||
DictData dictData = dicDataFeignClient.getDicDataByNameAndTypeName(DicDataTypeEnum.LINE_STATE.getName(),DicDataEnum.RUN.getName()).getData();
|
||||
if(Objects.isNull(dictData)){
|
||||
DictData dictData = dicDataFeignClient.getDicDataByNameAndTypeName(DicDataTypeEnum.LINE_STATE.getName(), DicDataEnum.RUN.getName()).getData();
|
||||
if (Objects.isNull(dictData)) {
|
||||
throw new BusinessException("监测点状态字典为空");
|
||||
}
|
||||
LambdaQueryWrapper<Monitor> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapper.select(Monitor::getId).eq(Monitor::getMonitorState,dictData.getId());
|
||||
lambdaQueryWrapper.select(Monitor::getId).eq(Monitor::getMonitorState, dictData.getId());
|
||||
List<Monitor> monitorList = monitorMapper.selectList(lambdaQueryWrapper);
|
||||
return monitorList.stream().map(Monitor::getId).collect(Collectors.toList());
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<CommLineDetailDTO> getRunMonitorList() {
|
||||
DictData dictData = dicDataFeignClient.getDicDataByNameAndTypeName(DicDataTypeEnum.LINE_STATE.getName(),DicDataEnum.RUN.getName()).getData();
|
||||
if(Objects.isNull(dictData)){
|
||||
DictData dictData = dicDataFeignClient.getDicDataByNameAndTypeName(DicDataTypeEnum.LINE_STATE.getName(), DicDataEnum.RUN.getName()).getData();
|
||||
if (Objects.isNull(dictData)) {
|
||||
throw new BusinessException("监测点状态字典为空");
|
||||
}
|
||||
return null;
|
||||
@@ -544,6 +559,7 @@ public class CommTerminalServiceImpl implements CommTerminalService {
|
||||
|
||||
/**
|
||||
* 获取单个监测点信息
|
||||
*
|
||||
* @author cdf
|
||||
* @date 2023/10/12
|
||||
*/
|
||||
@@ -552,7 +568,7 @@ public class CommTerminalServiceImpl implements CommTerminalService {
|
||||
LineDevGetDTO lineDevGetDTO = new LineDevGetDTO();
|
||||
|
||||
Monitor monitor = monitorMapper.selectById(monitorId);
|
||||
if(Objects.nonNull(monitor)){
|
||||
if (Objects.nonNull(monitor)) {
|
||||
lineDevGetDTO.setPointName(monitor.getName());
|
||||
lineDevGetDTO.setInterval(monitor.getStatisticalInterval());
|
||||
lineDevGetDTO.setDevId(monitor.getTerminalId());
|
||||
@@ -561,23 +577,23 @@ public class CommTerminalServiceImpl implements CommTerminalService {
|
||||
}
|
||||
|
||||
LambdaQueryWrapper<DistributionMonitor> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapper.eq(DistributionMonitor::getMonitorId,monitorId);
|
||||
lambdaQueryWrapper.eq(DistributionMonitor::getMonitorId, monitorId);
|
||||
DistributionMonitor distributionMonitor = distributionMonitorMapper.selectOne(lambdaQueryWrapper);
|
||||
if(Objects.nonNull(distributionMonitor)){
|
||||
if (Objects.nonNull(distributionMonitor)) {
|
||||
DictData dictDataSort = dicDataFeignClient.getDicDataById(distributionMonitor.getMonitorSort()).getData();
|
||||
|
||||
if(DicDataEnum.TWO_LINE.getCode().equals(dictDataSort.getCode())){
|
||||
if (DicDataEnum.TWO_LINE.getCode().equals(dictDataSort.getCode())) {
|
||||
//二类
|
||||
PowerDistributionarea powerDistributionarea = powerDistributionareaMapper.selectById(monitorId);
|
||||
if(Objects.nonNull(powerDistributionarea)){
|
||||
if (Objects.nonNull(powerDistributionarea)) {
|
||||
lineDevGetDTO.setPointName(powerDistributionarea.getName());
|
||||
lineDevGetDTO.setInterval(distributionMonitor.getStatisticalInterval());
|
||||
lineDevGetDTO.setDevId(distributionMonitor.getTerminalId());
|
||||
lineDevGetDTO.setVoltageLevel(powerDistributionarea.getVoltageLevel());
|
||||
return lineDevGetDTO;
|
||||
}
|
||||
}else if(DicDataEnum.THREE_LINE.getCode().equals(dictDataSort.getCode())){
|
||||
if(distributionMonitor.getIfPowerUser() == 1){
|
||||
} else if (DicDataEnum.THREE_LINE.getCode().equals(dictDataSort.getCode())) {
|
||||
if (distributionMonitor.getIfPowerUser() == 1) {
|
||||
//发电用户
|
||||
PowerGenerationUser powerGenerationUser = powerGenerationUserMapper.selectById(monitorId);
|
||||
lineDevGetDTO.setPointName(powerGenerationUser.getName());
|
||||
@@ -585,7 +601,7 @@ public class CommTerminalServiceImpl implements CommTerminalService {
|
||||
lineDevGetDTO.setDevId(distributionMonitor.getTerminalId());
|
||||
lineDevGetDTO.setVoltageLevel(powerGenerationUser.getVoltageLevel());
|
||||
return lineDevGetDTO;
|
||||
}else {
|
||||
} else {
|
||||
PowerClient powerClient = powerClientMapper.selectById(monitorId);
|
||||
lineDevGetDTO.setPointName(powerClient.getName());
|
||||
lineDevGetDTO.setInterval(distributionMonitor.getStatisticalInterval());
|
||||
@@ -601,7 +617,7 @@ public class CommTerminalServiceImpl implements CommTerminalService {
|
||||
|
||||
@Override
|
||||
public List<StatisticsMonitor> getStatisticsMonitor(StatisticsBizBaseParam param) {
|
||||
List<StatisticsMonitor> info=new ArrayList<>();
|
||||
List<StatisticsMonitor> info = new ArrayList<>();
|
||||
//部门信息
|
||||
List<DeptDTO> deptInfos = deptFeignClient.getDeptDescendantIndexes(param.getId(), Stream.of(0, 1).collect(Collectors.toList())).getData();
|
||||
List<DictData> voltageList = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.DEV_VOLTAGE.getCode()).getData();
|
||||
@@ -619,29 +635,29 @@ public class CommTerminalServiceImpl implements CommTerminalService {
|
||||
.le(StrUtil.isNotBlank(param.getEndTime()), PowerDistributionarea::getCreateTime, DateUtil.endOfDay(DateUtil.parse(param.getEndTime())))
|
||||
);
|
||||
List<DictData> dictDatas = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.MONITORING_LABELS.getCode()).getData();
|
||||
Map<String,String> map=new HashMap<>();
|
||||
Map<String, String> map = new HashMap<>();
|
||||
for (DictData dictDatum : dictDatas) {
|
||||
if(DicDataEnum.ONSHORE_WIND.getCode().equals(dictDatum.getCode())){
|
||||
map.put("fd",dictDatum.getId());
|
||||
if (DicDataEnum.ONSHORE_WIND.getCode().equals(dictDatum.getCode())) {
|
||||
map.put("fd", dictDatum.getId());
|
||||
}
|
||||
if(DicDataEnum.POWER_STATION.getCode().equals(dictDatum.getCode())){
|
||||
map.put("gfdz",dictDatum.getId());
|
||||
if (DicDataEnum.POWER_STATION.getCode().equals(dictDatum.getCode())) {
|
||||
map.put("gfdz", dictDatum.getId());
|
||||
}
|
||||
if(DicDataEnum.ELECTRIFIED_RAILWAYS.getCode().equals(dictDatum.getCode())){
|
||||
map.put("dq",dictDatum.getId());
|
||||
if (DicDataEnum.ELECTRIFIED_RAILWAYS.getCode().equals(dictDatum.getCode())) {
|
||||
map.put("dq", dictDatum.getId());
|
||||
}
|
||||
if(DicDataEnum.SMELT_LOAD.getCode().equals(dictDatum.getCode())){
|
||||
map.put("yl",dictDatum.getId());
|
||||
if (DicDataEnum.SMELT_LOAD.getCode().equals(dictDatum.getCode())) {
|
||||
map.put("yl", dictDatum.getId());
|
||||
}
|
||||
if(DicDataEnum.DISTRIBUTED_PHOTOVOLTAICS.getCode().equals(dictDatum.getCode())){
|
||||
map.put("gf",dictDatum.getId());
|
||||
if (DicDataEnum.DISTRIBUTED_PHOTOVOLTAICS.getCode().equals(dictDatum.getCode())) {
|
||||
map.put("gf", dictDatum.getId());
|
||||
}
|
||||
}
|
||||
// 过滤出传入id的子单位id
|
||||
List<DeptDTO> directDeptInfos = deptInfos.stream()
|
||||
.filter(deptDTO -> deptDTO.getPid().equals(param.getId()))
|
||||
.collect(Collectors.toList());
|
||||
List<Monitor> monitorsNew ;
|
||||
List<Monitor> monitorsNew;
|
||||
List<PowerDistributionarea> distributionNew;
|
||||
if (CollectionUtil.isEmpty(directDeptInfos)) {
|
||||
//没有直接子部门,获取当前部门所有信息
|
||||
@@ -651,7 +667,7 @@ public class CommTerminalServiceImpl implements CommTerminalService {
|
||||
|
||||
monitorsNew = monitors.stream().filter(x -> x.getOrgId().equals(dept.get(0).getCode())).collect(Collectors.toList());
|
||||
distributionNew = distributionList.stream().filter(x -> x.getOrgId().equals(dept.get(0).getCode())).collect(Collectors.toList());
|
||||
statisticsMonitorAdd(Arrays.asList(dept.get(0).getCode()),voltageList,monitorsNew,distributionNew,map,info);
|
||||
statisticsMonitorAdd(Arrays.asList(dept.get(0).getCode()), voltageList, monitorsNew, distributionNew, map, info);
|
||||
} else {
|
||||
// 遍历子单位id
|
||||
for (DeptDTO deptDTO : directDeptInfos) {
|
||||
@@ -665,40 +681,40 @@ public class CommTerminalServiceImpl implements CommTerminalService {
|
||||
.distinct()
|
||||
.collect(Collectors.toList());
|
||||
deptIdList.add(deptDTO.getCode());
|
||||
monitorsNew = monitors.stream().filter(x->deptIdList.contains(x.getOrgId())).collect(Collectors.toList());
|
||||
monitorsNew = monitors.stream().filter(x -> deptIdList.contains(x.getOrgId())).collect(Collectors.toList());
|
||||
distributionNew = distributionList.stream().filter(x -> deptIdList.contains(x.getOrgId())).collect(Collectors.toList());
|
||||
statisticsMonitorAdd(deptIdList,voltageList,monitorsNew,distributionNew,map,info);
|
||||
statisticsMonitorAdd(deptIdList, voltageList, monitorsNew, distributionNew, map, info);
|
||||
}
|
||||
}
|
||||
return info;
|
||||
}
|
||||
|
||||
public List<StatisticsMonitor> statisticsMonitorAdd(List<String> deptIdList,List<DictData> voltageList ,List<Monitor> monitorsNew,List<PowerDistributionarea> list,Map<String,String> map,List<StatisticsMonitor> info){
|
||||
public List<StatisticsMonitor> statisticsMonitorAdd(List<String> deptIdList, List<DictData> voltageList, List<Monitor> monitorsNew, List<PowerDistributionarea> list, Map<String, String> map, List<StatisticsMonitor> info) {
|
||||
|
||||
Map<String, List<Monitor>> monitorMap = monitorsNew.stream().collect(Collectors.groupingBy(x -> x.getOrgId() + "_" + x.getVoltageLevel()));
|
||||
Map<String, List<PowerDistributionarea>> distributionMap = list.stream().collect(Collectors.groupingBy(x -> x.getOrgId() + "_" + x.getVoltageLevel()));
|
||||
|
||||
for (String s : deptIdList) {
|
||||
for (DictData dictData : voltageList) {
|
||||
StatisticsMonitor monitor=new StatisticsMonitor();
|
||||
monitor.setOrgId(s );
|
||||
StatisticsMonitor monitor = new StatisticsMonitor();
|
||||
monitor.setOrgId(s);
|
||||
monitor.setVoltageLevel(dictData.getId());
|
||||
monitor.setGeneratrixSum(0);
|
||||
String key = s + "_" + dictData.getId();
|
||||
if(monitorMap.containsKey(key)){
|
||||
if (monitorMap.containsKey(key)) {
|
||||
List<Monitor> monitors = monitorMap.get(s + "_" + dictData.getId());
|
||||
monitor.setLineNum(Math.toIntExact(monitors.stream().map(Monitor::getLineId).distinct().count()));
|
||||
monitor.setPhotovoltaicLineNum(Math.toIntExact(monitors.stream().filter(x->x.getMonitorTag().equals(map.get("gf"))).map(Monitor::getLineId).distinct().count()));
|
||||
monitor.setWindPowerNum(Math.toIntExact(monitors.stream().filter(x->x.getMonitorTag().equals(map.get("fd"))).map(Monitor::getId).distinct().count()));
|
||||
monitor.setPvNum(Math.toIntExact(monitors.stream().filter(x->x.getMonitorTag().equals(map.get("gfdz"))).map(Monitor::getId).distinct().count()));
|
||||
monitor.setSmeltingLoadNum(Math.toIntExact(monitors.stream().filter(x->x.getMonitorTag().equals(map.get("yl"))).map(Monitor::getId).distinct().count()));
|
||||
monitor.setElectricTrackNum(Math.toIntExact(monitors.stream().filter(x->x.getMonitorTag().equals(map.get("dq"))).map(Monitor::getId).distinct().count()));
|
||||
monitor.setWindPowerCapacity(monitors.stream().filter(x->x.getMonitorTag().equals(map.get("fd"))).mapToDouble(Monitor::getStandShortCapacity).sum());
|
||||
monitor.setPvCapacity(monitors.stream().filter(x->x.getMonitorTag().equals(map.get("fd"))).mapToDouble(Monitor::getStandShortCapacity).sum());
|
||||
monitor.setSmeltingLoadCapacity(monitors.stream().filter(x->x.getMonitorTag().equals(map.get("fd"))).mapToDouble(Monitor::getStandShortCapacity).sum());
|
||||
monitor.setElectricTrackCapacity(monitors.stream().filter(x->x.getMonitorTag().equals(map.get("fd"))).mapToDouble(Monitor::getStandShortCapacity).sum());
|
||||
monitor.setPhotovoltaicLineNum(Math.toIntExact(monitors.stream().filter(x -> x.getMonitorTag().equals(map.get("gf"))).map(Monitor::getLineId).distinct().count()));
|
||||
monitor.setWindPowerNum(Math.toIntExact(monitors.stream().filter(x -> x.getMonitorTag().equals(map.get("fd"))).map(Monitor::getId).distinct().count()));
|
||||
monitor.setPvNum(Math.toIntExact(monitors.stream().filter(x -> x.getMonitorTag().equals(map.get("gfdz"))).map(Monitor::getId).distinct().count()));
|
||||
monitor.setSmeltingLoadNum(Math.toIntExact(monitors.stream().filter(x -> x.getMonitorTag().equals(map.get("yl"))).map(Monitor::getId).distinct().count()));
|
||||
monitor.setElectricTrackNum(Math.toIntExact(monitors.stream().filter(x -> x.getMonitorTag().equals(map.get("dq"))).map(Monitor::getId).distinct().count()));
|
||||
monitor.setWindPowerCapacity(monitors.stream().filter(x -> x.getMonitorTag().equals(map.get("fd"))).mapToDouble(Monitor::getStandShortCapacity).sum());
|
||||
monitor.setPvCapacity(monitors.stream().filter(x -> x.getMonitorTag().equals(map.get("fd"))).mapToDouble(Monitor::getStandShortCapacity).sum());
|
||||
monitor.setSmeltingLoadCapacity(monitors.stream().filter(x -> x.getMonitorTag().equals(map.get("fd"))).mapToDouble(Monitor::getStandShortCapacity).sum());
|
||||
monitor.setElectricTrackCapacity(monitors.stream().filter(x -> x.getMonitorTag().equals(map.get("fd"))).mapToDouble(Monitor::getStandShortCapacity).sum());
|
||||
|
||||
}else{
|
||||
} else {
|
||||
monitor.setLineNum(0);
|
||||
monitor.setPhotovoltaicLineNum(0);
|
||||
monitor.setWindPowerNum(0);
|
||||
@@ -711,16 +727,16 @@ public class CommTerminalServiceImpl implements CommTerminalService {
|
||||
monitor.setElectricTrackCapacity(0.0);
|
||||
|
||||
}
|
||||
if(distributionMap.containsKey(key)){
|
||||
List<PowerDistributionarea> distributionAreaList= distributionMap.get(key);
|
||||
if (distributionMap.containsKey(key)) {
|
||||
List<PowerDistributionarea> distributionAreaList = distributionMap.get(key);
|
||||
int size = distributionAreaList.size();
|
||||
monitor.setPlatformNum(size);
|
||||
monitor.setPhotovoltaicCourtsNum(distributionAreaList.stream().filter(x->x.getApLoadType().equals(map.get("gf"))).map(PowerDistributionarea::getId).distinct().collect(Collectors.toList()).size());
|
||||
monitor.setPhotovoltaicCourtsNum(distributionAreaList.stream().filter(x -> x.getApLoadType().equals(map.get("gf"))).map(PowerDistributionarea::getId).distinct().collect(Collectors.toList()).size());
|
||||
//获取分布式光伏总容量
|
||||
double sum = distributionAreaList.stream().mapToDouble(PowerDistributionarea::getPhotovoltaicCapacity).sum();
|
||||
double v = sum / size * 0.25;
|
||||
monitor.setExceedCourtscapNum(distributionAreaList.stream().filter(x->x.getPhotovoltaicCapacity()>v).distinct().collect(Collectors.toList()).size());
|
||||
}else{
|
||||
monitor.setExceedCourtscapNum(distributionAreaList.stream().filter(x -> x.getPhotovoltaicCapacity() > v).distinct().collect(Collectors.toList()).size());
|
||||
} else {
|
||||
monitor.setPlatformNum(0);
|
||||
monitor.setPhotovoltaicCourtsNum(0);
|
||||
monitor.setExceedCourtscapNum(0);
|
||||
|
||||
@@ -81,9 +81,6 @@ public class DeptLineServiceImpl extends ServiceImpl<DeptLineMapper, DeptLine> i
|
||||
*/
|
||||
@Override
|
||||
public Map<String, List<String>> getLineByDeptRelation(Integer devDataType) {
|
||||
|
||||
Map<String, List<String>> map = new HashMap<> ();
|
||||
|
||||
List<DeptLine> deptLines = deptLineMapper.getLineByDeptRelation(devDataType);
|
||||
Map<String, List<String>> collect = deptLines.stream ( ).collect (Collectors.groupingBy (DeptLine::getId, Collectors.mapping (DeptLine::getLineId,Collectors.toList ())));
|
||||
|
||||
|
||||
@@ -361,11 +361,14 @@ public class MonitorServiceImpl extends ServiceImpl<MonitorMapper, Monitor> impl
|
||||
|
||||
@Override
|
||||
public List<DeptGetChildrenDTO> deptMonitor(DeptGetLineParam param) {
|
||||
if (Objects.isNull(param)) {
|
||||
param.setSystemType(2);
|
||||
}
|
||||
//返回主网和配网监测信息
|
||||
List<DeptGetChildrenDTO> deviceInfos = new ArrayList<>();
|
||||
List<DeptDTO> deptInfos = deptFeignClient.getDeptDescendantIndexes(param.getDeptId(), Stream.of(0, 1).collect(Collectors.toList())).getData();
|
||||
DictData dictData = dicDataFeignClient.getDicDataByNameAndTypeName(DicDataTypeEnum.LINE_STATE.getName(),DicDataEnum.RUN.getName()).getData();
|
||||
if(Objects.isNull(dictData)){
|
||||
DictData dictData = dicDataFeignClient.getDicDataByNameAndTypeName(DicDataTypeEnum.LINE_STATE.getName(), DicDataEnum.RUN.getName()).getData();
|
||||
if (Objects.isNull(dictData)) {
|
||||
throw new BusinessException("监测点状态字典为空");
|
||||
}
|
||||
for (DeptDTO deptInfo : deptInfos) {
|
||||
@@ -377,7 +380,7 @@ public class MonitorServiceImpl extends ServiceImpl<MonitorMapper, Monitor> impl
|
||||
List<DeptDTO> dept = deptInfos.stream()
|
||||
.filter(deptDTO -> deptDTO.getId().equals(deptInfo.getId()))
|
||||
.collect(Collectors.toList());
|
||||
deviceInfos.add(getPmsMonitor(dept.get(0),dictData, Collections.singletonList(dept.get(0).getCode())));
|
||||
deviceInfos.add(getPmsMonitor(dept.get(0), dictData, Collections.singletonList(dept.get(0).getCode()),param.getSystemType()));
|
||||
} else {
|
||||
List<String> deptIdList = new ArrayList<>();
|
||||
for (DeptDTO deptDTO : directDeptInfos) {
|
||||
@@ -386,13 +389,13 @@ public class MonitorServiceImpl extends ServiceImpl<MonitorMapper, Monitor> impl
|
||||
.filter(d -> d.getPids().contains(deptDTO.getId()))
|
||||
.collect(Collectors.toList());
|
||||
//形成需要查询监测点的部门索引
|
||||
deptIdList.addAll( descendantDeptDTO.stream()
|
||||
deptIdList.addAll(descendantDeptDTO.stream()
|
||||
.map(DeptDTO::getCode)
|
||||
.distinct()
|
||||
.collect(Collectors.toList()));
|
||||
deptIdList.add(deptDTO.getCode());
|
||||
}
|
||||
deviceInfos.add(getPmsMonitor(deptInfo, dictData,deptIdList));
|
||||
deviceInfos.add(getPmsMonitor(deptInfo, dictData, deptIdList,param.getSystemType()));
|
||||
}
|
||||
}
|
||||
return deviceInfos;
|
||||
@@ -432,7 +435,7 @@ public class MonitorServiceImpl extends ServiceImpl<MonitorMapper, Monitor> impl
|
||||
@Override
|
||||
public Map<String, List<String>> getLineBySubstationRelation(Integer devDataType) {
|
||||
//获取主网监测点信息
|
||||
if(devDataType==0){
|
||||
if (devDataType == 0) {
|
||||
List<Monitor> list = this.list();
|
||||
return list.stream()
|
||||
.collect(Collectors.groupingBy(Monitor::getPowerrId, Collectors.mapping(Monitor::getId, Collectors.toList())));
|
||||
@@ -447,7 +450,7 @@ public class MonitorServiceImpl extends ServiceImpl<MonitorMapper, Monitor> impl
|
||||
List<DictData> connect = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.DEV_CONNECT.getCode()).getData();
|
||||
Map<String, String> connectMap = connect.stream().collect(Collectors.toMap(DictData::getId, DictData::getValue));
|
||||
LineDTO lineDTO = this.baseMapper.selectLineDetail(id);
|
||||
if(voltageMap.containsKey(lineDTO.getVoltageLevel())&&connectMap.containsKey(lineDTO.getPtType())){
|
||||
if (voltageMap.containsKey(lineDTO.getVoltageLevel()) && connectMap.containsKey(lineDTO.getPtType())) {
|
||||
lineDTO.setVoltageLevel(voltageMap.get(lineDTO.getVoltageLevel()));
|
||||
lineDTO.setPtType(connectMap.get(lineDTO.getPtType()));
|
||||
return lineDTO;
|
||||
@@ -460,7 +463,7 @@ public class MonitorServiceImpl extends ServiceImpl<MonitorMapper, Monitor> impl
|
||||
*/
|
||||
@Override
|
||||
public List<LineDTO> getLineDetailBatch(List<String> ids) {
|
||||
if(CollectionUtil.isEmpty(ids)){
|
||||
if (CollectionUtil.isEmpty(ids)) {
|
||||
return null;
|
||||
}
|
||||
List<LineDTO> lineDTOS = this.baseMapper.selectLineDetailBatch(ids);
|
||||
@@ -468,16 +471,16 @@ public class MonitorServiceImpl extends ServiceImpl<MonitorMapper, Monitor> impl
|
||||
Map<String, List<LineDTO>> lineVoltageMap = lineDTOS.stream().collect(Collectors.groupingBy(LineDTO::getVoltageLevel));
|
||||
List<DictData> voltageList = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.DEV_VOLTAGE.getCode()).getData();
|
||||
Map<String, String> voltageMap = voltageList.stream().collect(Collectors.toMap(DictData::getId, DictData::getValue));
|
||||
lineVoltageMap.forEach((key,lineData) -> {
|
||||
String voltage= voltageMap.get(key);
|
||||
lineVoltageMap.forEach((key, lineData) -> {
|
||||
String voltage = voltageMap.get(key);
|
||||
lineData = lineData.stream().peek(line -> line.setVoltageLevel(voltage)).collect(Collectors.toList());
|
||||
});
|
||||
//接线方式
|
||||
Map<String, List<LineDTO>> linePtTypeMap = lineDTOS.stream().collect(Collectors.groupingBy(LineDTO::getPtType));
|
||||
List<DictData> connect = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.DEV_CONNECT.getCode()).getData();
|
||||
Map<String, String> connectMap = connect.stream().collect(Collectors.toMap(DictData::getId, DictData::getValue));
|
||||
linePtTypeMap.forEach((key,lineData)->{
|
||||
String ptType= connectMap.get(key);
|
||||
linePtTypeMap.forEach((key, lineData) -> {
|
||||
String ptType = connectMap.get(key);
|
||||
lineData = lineData.stream().peek(line -> line.setPtType(ptType)).collect(Collectors.toList());
|
||||
});
|
||||
return lineDTOS;
|
||||
@@ -491,7 +494,7 @@ public class MonitorServiceImpl extends ServiceImpl<MonitorMapper, Monitor> impl
|
||||
* @param deptIdList
|
||||
* @return
|
||||
*/
|
||||
private DeptGetChildrenDTO getPmsMonitor(DeptDTO deptDTO,DictData dictData, List<String> deptIdList) {
|
||||
private DeptGetChildrenDTO getPmsMonitor(DeptDTO deptDTO, DictData dictData, List<String> deptIdList, Integer systemType) {
|
||||
DeptGetChildrenDTO pmsDeptGetChildrenDTO = new DeptGetChildrenDTO();
|
||||
pmsDeptGetChildrenDTO.setDeptId(deptDTO.getCode());
|
||||
if (deptDTO.getType() == 0) {
|
||||
@@ -502,14 +505,23 @@ public class MonitorServiceImpl extends ServiceImpl<MonitorMapper, Monitor> impl
|
||||
pmsDeptGetChildrenDTO.setDeptChildren(deptIdList);
|
||||
if (CollUtil.isNotEmpty(deptIdList)) {
|
||||
//主网监测点
|
||||
if (systemType == 0 || systemType == 2) {
|
||||
List<Monitor> monitorList = this.list(new LambdaQueryWrapper<Monitor>()
|
||||
.select(Monitor::getId)
|
||||
.eq(Monitor::getMonitorState,dictData.getId())
|
||||
.eq(Monitor::getMonitorState, dictData.getId())
|
||||
.in(CollUtil.isNotEmpty(deptIdList), Monitor::getOrgId, deptIdList));
|
||||
pmsDeptGetChildrenDTO.setLineIds(monitorList.stream().map(Monitor::getId).distinct().collect(Collectors.toList()));
|
||||
}else {
|
||||
pmsDeptGetChildrenDTO.setLineIds(new ArrayList<>());
|
||||
}
|
||||
|
||||
if (systemType == 1 || systemType == 2) {
|
||||
//配网监测点
|
||||
List<PmsMonitorBaseDTO> pwMonitorList = iDistributionMonitorService.getMonitorByCondition(deptIdList, null);
|
||||
pmsDeptGetChildrenDTO.setLineIds(monitorList.stream().map(Monitor::getId).distinct().collect(Collectors.toList()));
|
||||
pmsDeptGetChildrenDTO.setPwMonitorIds(pwMonitorList.stream().map(PmsMonitorBaseDTO::getMonitorId).distinct().collect(Collectors.toList()));
|
||||
}else {
|
||||
pmsDeptGetChildrenDTO.setPwMonitorIds(new ArrayList<>());
|
||||
}
|
||||
} else {
|
||||
pmsDeptGetChildrenDTO.setLineIds(new ArrayList<>());
|
||||
pmsDeptGetChildrenDTO.setPwMonitorIds(new ArrayList<>());
|
||||
@@ -682,9 +694,9 @@ public class MonitorServiceImpl extends ServiceImpl<MonitorMapper, Monitor> impl
|
||||
}
|
||||
|
||||
//判断是否操作过该条记录
|
||||
LineBak lineBak = lineBakMapper.selectOne(new LambdaQueryWrapper<LineBak>().eq(LineBak::getLineId,oracleTerminalExcel.getId()));
|
||||
LineBak lineBak = lineBakMapper.selectOne(new LambdaQueryWrapper<LineBak>().eq(LineBak::getLineId, oracleTerminalExcel.getId()));
|
||||
|
||||
DeviceBak deviceBak = deviceBakMapper.selectOne(new LambdaQueryWrapper<DeviceBak>().eq(DeviceBak::getDevId,oracleTerminalExcel.getDeviceId()));
|
||||
DeviceBak deviceBak = deviceBakMapper.selectOne(new LambdaQueryWrapper<DeviceBak>().eq(DeviceBak::getDevId, oracleTerminalExcel.getDeviceId()));
|
||||
|
||||
|
||||
//单位
|
||||
@@ -785,9 +797,9 @@ public class MonitorServiceImpl extends ServiceImpl<MonitorMapper, Monitor> impl
|
||||
pmsTerminalPO.setPort(oracleTerminalExcel.getPort().toString());
|
||||
pmsTerminalPO.setIsUpToGrid(0);
|
||||
|
||||
if(manDicMap.containsKey(oracleTerminalExcel.getManufacturer())){
|
||||
if (manDicMap.containsKey(oracleTerminalExcel.getManufacturer())) {
|
||||
pmsTerminalPO.setManufacture(manDicMap.get(oracleTerminalExcel.getManufacturer()).getId());
|
||||
}else {
|
||||
} else {
|
||||
oracleTerminalExcelMsg.add(assembleMsg(oracleTerminalExcel, "字典制造厂商不存在,请确认后重试"));
|
||||
continue;
|
||||
}
|
||||
@@ -800,7 +812,7 @@ public class MonitorServiceImpl extends ServiceImpl<MonitorMapper, Monitor> impl
|
||||
deviceBakPO.setDevId(oracleTerminalExcel.getDeviceId());
|
||||
deviceBakMapper.insert(deviceBakPO);
|
||||
} else {
|
||||
if(Objects.isNull(deviceBak)) {
|
||||
if (Objects.isNull(deviceBak)) {
|
||||
pmsTerminalPO.setId(pmsTerminal.getId());
|
||||
DeviceBak deviceBakPO = new DeviceBak();
|
||||
deviceBakPO.setId(pmsTerminal.getId());
|
||||
@@ -808,13 +820,13 @@ public class MonitorServiceImpl extends ServiceImpl<MonitorMapper, Monitor> impl
|
||||
deviceBakMapper.insert(deviceBakPO);
|
||||
terminalMapper.updateById(pmsTerminalPO);
|
||||
devId = pmsTerminal.getId();
|
||||
}else if(Objects.isNull(pmsTerminal)){
|
||||
} else if (Objects.isNull(pmsTerminal)) {
|
||||
|
||||
terminalMapper.deleteById(deviceBak.getId());
|
||||
pmsTerminalPO.setId(deviceBak.getId());
|
||||
terminalMapper.insert(pmsTerminalPO);
|
||||
devId = pmsTerminalPO.getId();
|
||||
}else {
|
||||
} else {
|
||||
devId = pmsTerminal.getId();
|
||||
}
|
||||
|
||||
@@ -841,7 +853,7 @@ public class MonitorServiceImpl extends ServiceImpl<MonitorMapper, Monitor> impl
|
||||
if (voltageLevelMap.containsKey(dicVoltagePms)) {
|
||||
DictData temVoltage = voltageLevelMap.get(dicVoltagePms);
|
||||
generatrixWirePO.setScale(temVoltage.getId());
|
||||
}else {
|
||||
} else {
|
||||
oracleTerminalExcelMsg.add(assembleMsg(oracleTerminalExcel, "字典母线电压等级不存在,请确认后重试"));
|
||||
continue;
|
||||
}
|
||||
@@ -973,19 +985,19 @@ public class MonitorServiceImpl extends ServiceImpl<MonitorMapper, Monitor> impl
|
||||
lineBakPO.setId(monitorPO.getId());
|
||||
lineBakPO.setLineId(oracleTerminalExcel.getId());
|
||||
lineBakMapper.insert(lineBakPO);
|
||||
}else {
|
||||
if(Objects.isNull(lineBak)){
|
||||
} else {
|
||||
if (Objects.isNull(lineBak)) {
|
||||
LineBak lineBakPO = new LineBak();
|
||||
lineBakPO.setId(monitor.getId());
|
||||
lineBakPO.setLineId(oracleTerminalExcel.getId());
|
||||
lineBakMapper.insert(lineBakPO);
|
||||
monitorMapper.updateById(monitorPO);
|
||||
}else if(Objects.isNull(monitor)){
|
||||
} else if (Objects.isNull(monitor)) {
|
||||
monitorMapper.deleteById(lineBak.getId());
|
||||
overlimitMapper.deleteById(lineBak.getId());
|
||||
monitorPO.setId(lineBak.getId());
|
||||
monitorMapper.insert(monitorPO);
|
||||
}else{
|
||||
} else {
|
||||
monitorMapper.deleteById(monitor.getId());
|
||||
overlimitMapper.deleteById(monitor.getId());
|
||||
monitorPO.setId(lineBak.getId());
|
||||
|
||||
@@ -0,0 +1,55 @@
|
||||
package com.njcn.harmonic.pojo.po.dim;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.njcn.db.bo.BaseEntity;
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 母线监测总概览
|
||||
* </p>
|
||||
*
|
||||
* @author hongawen
|
||||
* @since 2023-11-14
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@TableName("r_dim_bus_global_d")
|
||||
public class RDimBusGlobalD extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 单位code
|
||||
*/
|
||||
private String orgId;
|
||||
|
||||
/**
|
||||
* 统计时间 yyyy-mm-dd
|
||||
*/
|
||||
private LocalDate statisDate;
|
||||
|
||||
/**
|
||||
* 母线监测率(%)
|
||||
*/
|
||||
private Float monitorRate;
|
||||
|
||||
/**
|
||||
* 稳态指标超标或监测到暂态指标的变电站/换流站母线占比(%)
|
||||
*/
|
||||
private Float limitRate;
|
||||
|
||||
/**
|
||||
* 稳态指标超标或监测到暂态指标的变电站/换流站母线平均占比(%)
|
||||
*/
|
||||
private Float limitAvgRate;
|
||||
|
||||
private Integer state;
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
package com.njcn.harmonic.pojo.po.dim;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.njcn.db.bo.BaseEntity;
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
*
|
||||
* </p>
|
||||
*
|
||||
* @author hongawen
|
||||
* @since 2023-11-14
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@TableName("r_dim_bus_global_m")
|
||||
public class RDimBusGlobalM extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private String orgId;
|
||||
|
||||
private LocalDate statisDate;
|
||||
|
||||
private Float monitorRate;
|
||||
|
||||
private Float limitRate;
|
||||
|
||||
private Float limitAvgRate;
|
||||
|
||||
private Integer state;
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
package com.njcn.harmonic.pojo.po.dim;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.njcn.db.bo.BaseEntity;
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
*
|
||||
* </p>
|
||||
*
|
||||
* @author hongawen
|
||||
* @since 2023-11-14
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@TableName("r_dim_bus_global_y")
|
||||
public class RDimBusGlobalY extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private String orgId;
|
||||
|
||||
private LocalDate statisDate;
|
||||
|
||||
private Float monitorRate;
|
||||
|
||||
private Float limitRate;
|
||||
|
||||
private Float limitAvgRate;
|
||||
|
||||
private Integer state;
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,51 @@
|
||||
package com.njcn.harmonic.pojo.po.dim;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.njcn.db.bo.BaseEntity;
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
*
|
||||
* </p>
|
||||
*
|
||||
* @author hongawen
|
||||
* @since 2023-11-14
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@TableName("r_dim_bus_target_d")
|
||||
public class RDimBusTargetD extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private String orgId;
|
||||
|
||||
private LocalDate statisDate;
|
||||
|
||||
private String targetType;
|
||||
|
||||
/**
|
||||
* 母线**指标超标占比(%)
|
||||
*/
|
||||
private Float limitRate;
|
||||
|
||||
/**
|
||||
* 母线**指标合格率(%)
|
||||
*/
|
||||
private Float passRate;
|
||||
|
||||
/**
|
||||
* 母线**指标平均合格率(%)
|
||||
*/
|
||||
private Float passAvgRate;
|
||||
|
||||
private Integer state;
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,54 @@
|
||||
package com.njcn.harmonic.pojo.po.dim;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.njcn.db.bo.BaseEntity;
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
import io.swagger.models.auth.In;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
*
|
||||
* </p>
|
||||
*
|
||||
* @author hongawen
|
||||
* @since 2023-11-14
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@TableName("r_dim_bus_target_m")
|
||||
public class RDimBusTargetM extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private String orgId;
|
||||
|
||||
private LocalDate statisDate;
|
||||
|
||||
private String targetType;
|
||||
|
||||
/**
|
||||
* 母线**指标超标占比(%)
|
||||
*/
|
||||
private Float limitRate;
|
||||
|
||||
/**
|
||||
* 母线**指标合格率(%)
|
||||
*/
|
||||
private Float passRate;
|
||||
|
||||
/**
|
||||
* 母线**指标平均合格率(%)
|
||||
*/
|
||||
private Float passAvgRate;
|
||||
|
||||
private Integer state;
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,51 @@
|
||||
package com.njcn.harmonic.pojo.po.dim;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.njcn.db.bo.BaseEntity;
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
*
|
||||
* </p>
|
||||
*
|
||||
* @author hongawen
|
||||
* @since 2023-11-14
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@TableName("r_dim_bus_target_y")
|
||||
public class RDimBusTargetY extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private String orgId;
|
||||
|
||||
private LocalDate statisDate;
|
||||
|
||||
private String targetType;
|
||||
|
||||
/**
|
||||
* 母线**指标超标占比(%)
|
||||
*/
|
||||
private Float limitRate;
|
||||
|
||||
/**
|
||||
* 母线**指标合格率(%)
|
||||
*/
|
||||
private Float passRate;
|
||||
|
||||
/**
|
||||
* 母线**指标平均合格率(%)
|
||||
*/
|
||||
private Float passAvgRate;
|
||||
|
||||
private Integer state;
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,50 @@
|
||||
package com.njcn.harmonic.pojo.po.dim;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.njcn.db.bo.BaseEntity;
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
*
|
||||
* </p>
|
||||
*
|
||||
* @author hongawen
|
||||
* @since 2023-11-14
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@TableName("r_dim_station_global_d")
|
||||
public class RDimStationGlobalD extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private String orgId;
|
||||
|
||||
private LocalDate statisDate;
|
||||
|
||||
/**
|
||||
* 变电站/换流站监测率(%)
|
||||
*/
|
||||
private Float monitorRate;
|
||||
|
||||
/**
|
||||
* 稳态指标超标或监测到暂态指标的变电站/换流站占比(%)
|
||||
*/
|
||||
private Float limitRate;
|
||||
|
||||
/**
|
||||
* 稳态指标超标或监测到暂态指标的变电站/换流站平均占比(%)
|
||||
*/
|
||||
private Float limitAvgRate;
|
||||
|
||||
private Integer state;
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,49 @@
|
||||
package com.njcn.harmonic.pojo.po.dim;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.njcn.db.bo.BaseEntity;
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
*
|
||||
* </p>
|
||||
*
|
||||
* @author hongawen
|
||||
* @since 2023-11-14
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@TableName("r_dim_station_global_m")
|
||||
public class RDimStationGlobalM extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private String orgId;
|
||||
|
||||
private LocalDate statisDate;
|
||||
|
||||
/**
|
||||
* 变电站/换流站监测率(%)
|
||||
*/
|
||||
private Float monitorRate;
|
||||
|
||||
/**
|
||||
* 稳态指标超标或监测到暂态指标的变电站/换流站占比(%)
|
||||
*/
|
||||
private Float limitRate;
|
||||
|
||||
/**
|
||||
* 稳态指标超标或监测到暂态指标的变电站/换流站平均占比(%)
|
||||
*/
|
||||
private Float limitAvgRate;
|
||||
|
||||
private Integer state;
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,50 @@
|
||||
package com.njcn.harmonic.pojo.po.dim;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.njcn.db.bo.BaseEntity;
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
*
|
||||
* </p>
|
||||
*
|
||||
* @author hongawen
|
||||
* @since 2023-11-14
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@TableName("r_dim_station_global_y")
|
||||
public class RDimStationGlobalY extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private String orgId;
|
||||
|
||||
private LocalDate statisDate;
|
||||
|
||||
/**
|
||||
* 变电站/换流站监测率(%)
|
||||
*/
|
||||
private Float monitorRate;
|
||||
|
||||
/**
|
||||
* 稳态指标超标或监测到暂态指标的变电站/换流站占比(%)
|
||||
*/
|
||||
private Float limitRate;
|
||||
|
||||
/**
|
||||
* 稳态指标超标或监测到暂态指标的变电站/换流站平均占比(%)
|
||||
*/
|
||||
private Float limitAvgRate;
|
||||
|
||||
private Integer state;
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.njcn.prepare.harmonic.mapper.mysql.area;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.njcn.device.pms.pojo.po.Monitor;
|
||||
import com.njcn.harmonic.pojo.po.PmsMonitorPO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
@@ -14,5 +15,5 @@ import org.apache.ibatis.annotations.Mapper;
|
||||
* @version V1.0.0
|
||||
*/
|
||||
@Mapper
|
||||
public interface PmsMonitorPOMapper extends BaseMapper<PmsMonitorPO> {
|
||||
public interface PmsMonitorPOMapper extends BaseMapper<Monitor> {
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
package com.njcn.prepare.harmonic.mapper.mysql.dim;
|
||||
|
||||
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
|
||||
import com.njcn.device.pms.pojo.dto.GeneratrixAndPowerStationDTO;
|
||||
import com.njcn.device.pms.pojo.dto.GeneratrixAndPowerStationSonDTO;
|
||||
import com.njcn.device.pms.pojo.dto.PmsGeneratrixDTO;
|
||||
import com.njcn.device.pms.pojo.param.ConditionParam;
|
||||
import com.njcn.device.pms.pojo.param.PmsGeneratrixParam;
|
||||
import com.njcn.device.pms.pojo.po.GeneratrixWire;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* pms-device
|
||||
*
|
||||
* @author cdf
|
||||
* @date 2022/10/26
|
||||
*/
|
||||
@Mapper
|
||||
public interface GeneratrixWireMapper extends MppBaseMapper<GeneratrixWire> {
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
package com.njcn.prepare.harmonic.mapper.mysql.dim;
|
||||
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.njcn.harmonic.pojo.po.dim.RDimBusGlobalD;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 母线监测总概览 Mapper 接口
|
||||
* </p>
|
||||
*
|
||||
* @author hongawen
|
||||
* @since 2023-11-14
|
||||
*/
|
||||
public interface RDimBusGlobalDMapper extends BaseMapper<RDimBusGlobalD> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
package com.njcn.prepare.harmonic.mapper.mysql.dim;
|
||||
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.njcn.harmonic.pojo.po.dim.RDimBusGlobalM;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* Mapper 接口
|
||||
* </p>
|
||||
*
|
||||
* @author hongawen
|
||||
* @since 2023-11-14
|
||||
*/
|
||||
public interface RDimBusGlobalMMapper extends BaseMapper<RDimBusGlobalM> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
package com.njcn.prepare.harmonic.mapper.mysql.dim;
|
||||
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.njcn.harmonic.pojo.po.dim.RDimBusGlobalY;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* Mapper 接口
|
||||
* </p>
|
||||
*
|
||||
* @author hongawen
|
||||
* @since 2023-11-14
|
||||
*/
|
||||
public interface RDimBusGlobalYMapper extends BaseMapper<RDimBusGlobalY> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
package com.njcn.prepare.harmonic.mapper.mysql.dim;
|
||||
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.njcn.harmonic.pojo.po.dim.RDimBusTargetD;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* Mapper 接口
|
||||
* </p>
|
||||
*
|
||||
* @author hongawen
|
||||
* @since 2023-11-14
|
||||
*/
|
||||
public interface RDimBusTargetDMapper extends BaseMapper<RDimBusTargetD> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
package com.njcn.prepare.harmonic.mapper.mysql.dim;
|
||||
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.njcn.harmonic.pojo.po.dim.RDimBusTargetM;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* Mapper 接口
|
||||
* </p>
|
||||
*
|
||||
* @author hongawen
|
||||
* @since 2023-11-14
|
||||
*/
|
||||
public interface RDimBusTargetMMapper extends BaseMapper<RDimBusTargetM> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
package com.njcn.prepare.harmonic.mapper.mysql.dim;
|
||||
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.njcn.harmonic.pojo.po.dim.RDimBusTargetY;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* Mapper 接口
|
||||
* </p>
|
||||
*
|
||||
* @author hongawen
|
||||
* @since 2023-11-14
|
||||
*/
|
||||
public interface RDimBusTargetYMapper extends BaseMapper<RDimBusTargetY> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
package com.njcn.prepare.harmonic.mapper.mysql.dim;
|
||||
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.njcn.harmonic.pojo.po.dim.RDimStationGlobalD;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* Mapper 接口
|
||||
* </p>
|
||||
*
|
||||
* @author hongawen
|
||||
* @since 2023-11-14
|
||||
*/
|
||||
public interface RDimStationGlobalDMapper extends BaseMapper<RDimStationGlobalD> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
package com.njcn.prepare.harmonic.mapper.mysql.dim;
|
||||
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.njcn.harmonic.pojo.po.dim.RDimStationGlobalM;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* Mapper 接口
|
||||
* </p>
|
||||
*
|
||||
* @author hongawen
|
||||
* @since 2023-11-14
|
||||
*/
|
||||
public interface RDimStationGlobalMMapper extends BaseMapper<RDimStationGlobalM> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
package com.njcn.prepare.harmonic.mapper.mysql.dim;
|
||||
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.njcn.harmonic.pojo.po.dim.RDimStationGlobalY;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* Mapper 接口
|
||||
* </p>
|
||||
*
|
||||
* @author hongawen
|
||||
* @since 2023-11-14
|
||||
*/
|
||||
public interface RDimStationGlobalYMapper extends BaseMapper<RDimStationGlobalY> {
|
||||
|
||||
}
|
||||
@@ -1,24 +1,10 @@
|
||||
package com.njcn.prepare.harmonic.service.mysql.Impl.area;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.njcn.common.pojo.exception.BusinessException;
|
||||
import com.njcn.device.pms.api.DistributionMonitorClient;
|
||||
import com.njcn.device.pms.pojo.po.DistributionMonitor;
|
||||
import com.njcn.harmonic.pojo.po.PmsMonitorPO;
|
||||
import com.njcn.harmonic.pojo.po.RStatAbnormalDPO;
|
||||
import com.njcn.harmonic.pojo.po.RStatOrgDPO;
|
||||
import com.njcn.harmonic.pojo.po.RStatOrgMPO;
|
||||
|
||||
import com.njcn.prepare.harmonic.constant.AlgorithmParam;
|
||||
import com.njcn.prepare.harmonic.constant.PqsPrepareExceptionEnum;
|
||||
import com.njcn.prepare.harmonic.mapper.mysql.area.RStatAbnormalDPOMapper;
|
||||
import com.njcn.prepare.harmonic.pojo.dto.MonitorDataIntegrityDTO;
|
||||
|
||||
import com.njcn.prepare.harmonic.pojo.param.PrimaryGridParam;
|
||||
import com.njcn.prepare.harmonic.service.mysql.area.*;
|
||||
import com.njcn.redis.utils.RedisUtil;
|
||||
import com.njcn.system.enums.DicDataEnum;
|
||||
import com.njcn.system.enums.DicDataTypeEnum;
|
||||
import lombok.SneakyThrows;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.scheduling.annotation.Async;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
@@ -46,7 +32,7 @@ import static com.njcn.system.pojo.constant.DicDataConstant.SPLIT_SIGN;
|
||||
public class AreaCountServiceImpl implements AreaCountService {
|
||||
|
||||
|
||||
private @Autowired
|
||||
/* private @Autowired
|
||||
PmsMonitorPOService pmsMonitorPOService;
|
||||
|
||||
|
||||
@@ -72,13 +58,13 @@ public class AreaCountServiceImpl implements AreaCountService {
|
||||
|
||||
|
||||
private @Autowired
|
||||
RedisUtil redisUtil;
|
||||
RedisUtil redisUtil;*/
|
||||
|
||||
@Override
|
||||
@Async("asyncExecutor")
|
||||
public void areaCountHanlder(PrimaryGridParam primaryGridParam) {
|
||||
if (Objects.equals (primaryGridParam.getDataSource ( ), AlgorithmParam.ORACLE_DATA)) {
|
||||
this.hanlderOracleData (primaryGridParam);
|
||||
//this.hanlderOracleData (primaryGridParam);
|
||||
} else if (Objects.equals (primaryGridParam.getDataSource ( ), AlgorithmParam.INFLUX_DATA)) {
|
||||
this.hanlderInfludxbData (primaryGridParam);
|
||||
}
|
||||
@@ -101,7 +87,7 @@ public class AreaCountServiceImpl implements AreaCountService {
|
||||
* @Author: clam
|
||||
* @Date: 2022/12/13
|
||||
*/
|
||||
private void hanlderOracleData(PrimaryGridParam primaryGridParam) {
|
||||
/* private void hanlderOracleData(PrimaryGridParam primaryGridParam) {
|
||||
|
||||
Integer type = primaryGridParam.getType ( );
|
||||
switch (type) {
|
||||
@@ -120,15 +106,15 @@ public class AreaCountServiceImpl implements AreaCountService {
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
@SneakyThrows
|
||||
}*/
|
||||
/* @SneakyThrows
|
||||
private void hanlderOracleMonth(PrimaryGridParam primaryGridParam) {
|
||||
List<String> orgIdList = primaryGridParam.getOrgIdList ( );
|
||||
String dataDate = primaryGridParam.getDataDate ( );
|
||||
List<RStatOrgMPO> rStatOrgMPOList = new ArrayList<> ( );
|
||||
|
||||
final Date tempDate = new SimpleDateFormat ("yyyy-MM-dd").parse (dataDate);
|
||||
/*在运的字典表id,配网1,2,3类监测点字典表id用于for循环中过滤*/
|
||||
*//*在运的字典表id,配网1,2,3类监测点字典表id用于for循环中过滤*//*
|
||||
String lineTypeOneId = redisUtil.getStringByKey (NAME_KEY +
|
||||
SPLIT_SIGN + DicDataTypeEnum.LINE_SORT.getCode ( ) +
|
||||
SPLIT_SIGN + DicDataEnum.ONE_LINE.getCode ( ));
|
||||
@@ -145,13 +131,13 @@ public class AreaCountServiceImpl implements AreaCountService {
|
||||
throw new BusinessException (PqsPrepareExceptionEnum.REDIS_NULL_EXCEPTION);
|
||||
}
|
||||
orgIdList.forEach (orgid -> {
|
||||
/*1.2.2.1. 主网区域分类有效接入监测点数*/
|
||||
/*主网在运监测点*/
|
||||
List<PmsMonitorPO> pmsMonitorPOS = pmsMonitorPOService.qurymeasurementRunPoints (orgid);
|
||||
/* 根据监测点对象类型分组获取监测点*/
|
||||
*//*1.2.2.1. 主网区域分类有效接入监测点数*//*
|
||||
*//*主网在运监测点*//*
|
||||
List<Monitor> pmsMonitorPOS = pmsMonitorPOService.qurymeasurementRunPoints (orgid);
|
||||
*//* 根据监测点对象类型分组获取监测点*//*
|
||||
Map<String, List<PmsMonitorPO>> collect = pmsMonitorPOS.stream ( ).collect (Collectors.groupingBy (PmsMonitorPO::getMonitorObjectType));
|
||||
for (Map.Entry<String, List<PmsMonitorPO>> entry : collect.entrySet ( )) {
|
||||
/*计算出当前机构不同监测点对象类型累计稳态超标监测点数*/
|
||||
*//*计算出当前机构不同监测点对象类型累计稳态超标监测点数*//*
|
||||
List<String> monitorIdList = entry.getValue ( ).stream ( ).map (PmsMonitorPO::getId).collect (Collectors.toList ( ));
|
||||
Integer integer = rMpTargetWarnDService.queryHarmonicMeasurementAccrued (monitorIdList, dataDate);
|
||||
RStatOrgMPO rStatOrgMPO = new RStatOrgMPO ( );
|
||||
@@ -162,8 +148,8 @@ public class AreaCountServiceImpl implements AreaCountService {
|
||||
rStatOrgMPO.setHarmonicMeasurementAccrued (integer);
|
||||
rStatOrgMPOList.add (rStatOrgMPO);
|
||||
}
|
||||
/* 配网区域分类1.2.3类有效接入监测点数*/
|
||||
/*monitorSort=""获取配网监1,2,3类测点全部数据*/
|
||||
*//* 配网区域分类1.2.3类有效接入监测点数*//*
|
||||
*//*monitorSort=""获取配网监1,2,3类测点全部数据*//*
|
||||
RStatOrgMPO rStatOrgMPOOne = packageRStatOrgMPO (orgid, lineTypeOneId, dataDate);
|
||||
RStatOrgMPO rStatOrgMPOTwo = packageRStatOrgMPO (orgid, lineTypeTwoId, dataDate);
|
||||
RStatOrgMPO rStatOrgMPOThree = packageRStatOrgMPO (orgid, lineTypeThreeId, dataDate);
|
||||
@@ -175,7 +161,7 @@ public class AreaCountServiceImpl implements AreaCountService {
|
||||
|
||||
);
|
||||
rStatOrgMService.saveOrUpdateBatchByMultiId (rStatOrgMPOList,500);
|
||||
}
|
||||
}*/
|
||||
|
||||
|
||||
/**
|
||||
@@ -185,7 +171,7 @@ public class AreaCountServiceImpl implements AreaCountService {
|
||||
* @Author: clam
|
||||
* @Date: 2022/12/13
|
||||
*/
|
||||
@SneakyThrows
|
||||
/* @SneakyThrows
|
||||
private void hanlderOracleDay(PrimaryGridParam primaryGridParam) {
|
||||
|
||||
List<String> orgIdList = primaryGridParam.getOrgIdList ( );
|
||||
@@ -193,7 +179,7 @@ public class AreaCountServiceImpl implements AreaCountService {
|
||||
List<RStatOrgDPO> rStatOrgDPOList = new ArrayList<> ( );
|
||||
|
||||
final Date tempDate = new SimpleDateFormat ("yyyy-MM-dd").parse (dataDate);
|
||||
/*在运的字典表id,配网1,2,3类监测点字典表id用于for循环中过滤*/
|
||||
*//*在运的字典表id,配网1,2,3类监测点字典表id用于for循环中过滤*//*
|
||||
String lineTypeOneId = redisUtil.getStringByKey (NAME_KEY +
|
||||
SPLIT_SIGN + DicDataTypeEnum.LINE_SORT.getCode ( ) +
|
||||
SPLIT_SIGN + DicDataEnum.ONE_LINE.getCode ( ));
|
||||
@@ -210,13 +196,13 @@ public class AreaCountServiceImpl implements AreaCountService {
|
||||
throw new BusinessException (PqsPrepareExceptionEnum.REDIS_NULL_EXCEPTION);
|
||||
}
|
||||
orgIdList.forEach (orgid -> {
|
||||
/*1.2.2.1. 主网区域分类有效接入监测点数*/
|
||||
/*主网在运监测点*/
|
||||
List<PmsMonitorPO> pmsMonitorPOS = pmsMonitorPOService.qurymeasurementRunPoints (orgid);
|
||||
/* 根据监测点对象类型分组获取监测点*/
|
||||
Map<String, List<PmsMonitorPO>> collect = pmsMonitorPOS.stream ( ).collect (Collectors.groupingBy (PmsMonitorPO::getMonitorObjectType));
|
||||
*//*1.2.2.1. 主网区域分类有效接入监测点数*//*
|
||||
*//*主网在运监测点*//*
|
||||
List<Monitor> pmsMonitorPOS = pmsMonitorPOService.qurymeasurementRunPoints (orgid);
|
||||
*//* 根据监测点对象类型分组获取监测点*//*
|
||||
Map<String, List<PmsMonitorPO>> collect = pmsMonitorPOS.stream ( ).collect (Collectors.groupingBy (Monitor::getMonitorObjectType));
|
||||
for (Map.Entry<String, List<PmsMonitorPO>> entry : collect.entrySet ( )) {
|
||||
/*计算出当前监测点对象类型有效接入监测点个数*/
|
||||
*//*计算出当前监测点对象类型有效接入监测点个数*//*
|
||||
List<String> monitorIdList = entry.getValue ( ).stream ( ).map (PmsMonitorPO::getId).collect (Collectors.toList ( ));
|
||||
Integer integer = this.queryEffectiveAccessMeasurementCount (monitorIdList, dataDate);
|
||||
RStatOrgDPO rStatOrgDPO = new RStatOrgDPO ( );
|
||||
@@ -227,8 +213,8 @@ public class AreaCountServiceImpl implements AreaCountService {
|
||||
rStatOrgDPO.setEffectiveMeasurement (integer);
|
||||
rStatOrgDPOList.add (rStatOrgDPO);
|
||||
}
|
||||
/* 配网区域分类1.2.3类有效接入监测点数*/
|
||||
/*monitorSort=""获取配网监1,2,3类测点全部数据*/
|
||||
*//* 配网区域分类1.2.3类有效接入监测点数*//*
|
||||
*//*monitorSort=""获取配网监1,2,3类测点全部数据*//*
|
||||
RStatOrgDPO rStatOrgDPOOne = packageRStatOrgDPO (orgid, lineTypeOneId, dataDate);
|
||||
RStatOrgDPO rStatOrgDPOTwo = packageRStatOrgDPO (orgid, lineTypeTwoId, dataDate);
|
||||
RStatOrgDPO rStatOrgDPOThree = packageRStatOrgDPO (orgid, lineTypeThreeId, dataDate);
|
||||
@@ -242,15 +228,15 @@ public class AreaCountServiceImpl implements AreaCountService {
|
||||
rStatOrgDService.saveOrUpdateBatchByMultiId (rStatOrgDPOList,500);
|
||||
|
||||
|
||||
}
|
||||
}*/
|
||||
|
||||
@SneakyThrows
|
||||
/* @SneakyThrows
|
||||
private RStatOrgMPO packageRStatOrgMPO(String orgid, String lineTypeId, String dataDate) {
|
||||
RStatOrgMPO rStatOrgMPO = new RStatOrgMPO ( );
|
||||
List<DistributionMonitor> distributionMonitorList = distributionMonitorClient.distributionMonitorListByCondition (orgid, lineTypeId).getData ( );
|
||||
final Date tempDate = new SimpleDateFormat ("yyyy-MM-dd").parse (dataDate);
|
||||
|
||||
/*计算出当前监测点对象类型有效接入监测点个数*/
|
||||
*//*计算出当前监测点对象类型有效接入监测点个数*//*
|
||||
List<String> monitorIdList = distributionMonitorList.stream ( ).map (DistributionMonitor::getMonitorId).collect (Collectors.toList ( ));
|
||||
|
||||
Integer integer = rMpTargetWarnDService.queryHarmonicMeasurementAccrued (monitorIdList, dataDate);
|
||||
@@ -262,20 +248,20 @@ public class AreaCountServiceImpl implements AreaCountService {
|
||||
return rStatOrgMPO;
|
||||
}
|
||||
|
||||
/**
|
||||
*//**
|
||||
* @Description: 计算1,2,3类配网有效接入监测 后包装成RStatOrgDPO
|
||||
* @Param: [orgid, lineTypeId, dataDate]
|
||||
* @return: com.njcn.prepare.harmonic.pojo.mysql.po.RStatOrgDPO
|
||||
* @Author: clam
|
||||
* @Date: 2022/12/14
|
||||
*/
|
||||
*//*
|
||||
@SneakyThrows
|
||||
private RStatOrgDPO packageRStatOrgDPO(String orgid, String lineTypeId, String dataDate) {
|
||||
RStatOrgDPO rStatOrgDPO = new RStatOrgDPO ( );
|
||||
List<DistributionMonitor> distributionMonitorList = distributionMonitorClient.distributionMonitorListByCondition (orgid, lineTypeId).getData ( );
|
||||
final Date tempDate = new SimpleDateFormat ("yyyy-MM-dd").parse (dataDate);
|
||||
|
||||
/*计算出当前监测点对象类型有效接入监测点个数*/
|
||||
*//*计算出当前监测点对象类型有效接入监测点个数*//*
|
||||
List<String> monitorIdList = distributionMonitorList.stream ( ).map (DistributionMonitor::getMonitorId).collect (Collectors.toList ( ));
|
||||
Integer integer = this.queryEffectiveAccessMeasurementCount (monitorIdList, dataDate);
|
||||
rStatOrgDPO.setOrgNo (orgid);
|
||||
@@ -287,7 +273,7 @@ public class AreaCountServiceImpl implements AreaCountService {
|
||||
return rStatOrgDPO;
|
||||
}
|
||||
|
||||
/**
|
||||
*//**
|
||||
* @Description: 有效接入监测点个数
|
||||
* 1.获取pms_monitor表中监测点状态为投运的监测点id列表
|
||||
* 2.根据id查询r_mp_integrity_d表中当天各项指标个数,采用以下公式计算数据完整率
|
||||
@@ -300,16 +286,16 @@ public class AreaCountServiceImpl implements AreaCountService {
|
||||
* @return: java.lang.String
|
||||
* @Author: clam
|
||||
* @Date: 2022/11/25
|
||||
*/
|
||||
*//*
|
||||
private Integer queryEffectiveAccessMeasurementCount(List<String> indexlist, String dataDate) {
|
||||
|
||||
/*获取监测点的数据完整性*/
|
||||
*//*获取监测点的数据完整性*//*
|
||||
List<MonitorDataIntegrityDTO> monitorDataIntegrityDTOList = rMpIntegrityDPOService.calculateDataIntegrity (indexlist, dataDate);
|
||||
/*获取完整率>0.95的监测点id*/
|
||||
*//*获取完整率>0.95的监测点id*//*
|
||||
List<String> collect = monitorDataIntegrityDTOList.stream ( ).
|
||||
filter (temp -> temp.getDataIntegrity ( ).compareTo (new BigDecimal (0.95)) == 1
|
||||
).map (MonitorDataIntegrityDTO::getId).collect (Collectors.toList ( ));
|
||||
/*获取完整率>0.95条件下value_alarm为1的监测点id*/
|
||||
*//*获取完整率>0.95条件下value_alarm为1的监测点id*//*
|
||||
if (CollectionUtils.isEmpty (collect)) {
|
||||
return 0;
|
||||
}
|
||||
@@ -322,5 +308,5 @@ public class AreaCountServiceImpl implements AreaCountService {
|
||||
|
||||
return rStatAbnormalDPOS.size ( );
|
||||
|
||||
}
|
||||
}*/
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@ package com.njcn.prepare.harmonic.service.mysql.Impl.area;
|
||||
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.njcn.device.pms.pojo.po.Monitor;
|
||||
import com.njcn.device.pq.constant.Param;
|
||||
import com.njcn.device.pq.pojo.po.PmsAbnormalRules;
|
||||
import com.njcn.harmonic.pojo.po.PmsMonitorPO;
|
||||
@@ -116,8 +117,8 @@ public class EffectiveMinuteCountServiceImpl implements EffectiveMinuteCountServ
|
||||
final Date tempDate = new SimpleDateFormat ("yyyy-MM-dd").parse (dataDate);
|
||||
orgIdList.forEach (orgid -> {
|
||||
/*主网在运监测点*/
|
||||
List<PmsMonitorPO> pmsMonitorPOS = pmsMonitorPOService.qurymeasurementRunPoints (orgid);
|
||||
List<String> mysqlIndexList = pmsMonitorPOS.stream ( ).map (PmsMonitorPO::getId).collect (Collectors.toList ( ));
|
||||
List<Monitor> pmsMonitorPOS = pmsMonitorPOService.qurymeasurementRunPoints (orgid);
|
||||
List<String> mysqlIndexList = pmsMonitorPOS.stream ( ).map (Monitor::getId).collect (Collectors.toList ( ));
|
||||
if (CollectionUtil.isEmpty (mysqlIndexList)) {
|
||||
return;
|
||||
}
|
||||
@@ -129,7 +130,7 @@ public class EffectiveMinuteCountServiceImpl implements EffectiveMinuteCountServ
|
||||
eq ("DATE_FORMAT( data_date ,'%Y-%m-%d')", dataDate);
|
||||
List<RStatAbnormalDPO> rStatAbnormalDPOS = rStatAbnormalDPOMapper.selectList (rStatAbnormalDPOLambdaQueryWrapper);
|
||||
List<String> collect = rStatAbnormalDPOS.stream ( ).map (RStatAbnormalDPO::getMeasurementPointId).collect (Collectors.toList ( ));
|
||||
List<PmsMonitorPO> collect1 = pmsMonitorPOS.stream ( ).filter (temp -> collect.contains (temp.getId ( ))).collect (Collectors.toList ( ));
|
||||
List<Monitor> collect1 = pmsMonitorPOS.stream ( ).filter (temp -> collect.contains (temp.getId ( ))).collect (Collectors.toList ( ));
|
||||
// /*测试造的数据*/
|
||||
// List<PmsMonitorPO> collect1 = new ArrayList<> ();
|
||||
// PmsMonitorPO pmsMonitorPO = new PmsMonitorPO();
|
||||
@@ -208,8 +209,8 @@ public class EffectiveMinuteCountServiceImpl implements EffectiveMinuteCountServ
|
||||
final Date tempDate = new SimpleDateFormat ("yyyy-MM-dd").parse (dataDate);
|
||||
orgIdList.forEach (orgid -> {
|
||||
/*主网在运监测点*/
|
||||
List<PmsMonitorPO> pmsMonitorPOS = pmsMonitorPOService.qurymeasurementRunPoints (orgid);
|
||||
List<String> mysqlIndexList = pmsMonitorPOS.stream ( ).map (PmsMonitorPO::getId).collect (Collectors.toList ( ));
|
||||
List<Monitor> pmsMonitorPOS = pmsMonitorPOService.qurymeasurementRunPoints (orgid);
|
||||
List<String> mysqlIndexList = pmsMonitorPOS.stream ( ).map (Monitor::getId).collect (Collectors.toList ( ));
|
||||
if (CollectionUtil.isEmpty (mysqlIndexList)) {
|
||||
return;
|
||||
}
|
||||
@@ -221,7 +222,7 @@ public class EffectiveMinuteCountServiceImpl implements EffectiveMinuteCountServ
|
||||
eq ("DATE_FORMAT( data_date ,'%Y-%m-%d')", dataDate);
|
||||
List<RStatAbnormalDPO> rStatAbnormalDPOS = rStatAbnormalDPOMapper.selectList (rStatAbnormalDPOLambdaQueryWrapper);
|
||||
List<String> collect = rStatAbnormalDPOS.stream ( ).map (RStatAbnormalDPO::getMeasurementPointId).collect (Collectors.toList ( ));
|
||||
List<PmsMonitorPO> collect1 = pmsMonitorPOS.stream ( ).filter (temp -> collect.contains (temp.getId ( ))).collect (Collectors.toList ( ));
|
||||
List<Monitor> collect1 = pmsMonitorPOS.stream ( ).filter (temp -> collect.contains (temp.getId ( ))).collect (Collectors.toList ( ));
|
||||
/*测试造的数据*/
|
||||
// List<PmsMonitorPO> collect1 = new ArrayList<> ();
|
||||
// PmsMonitorPO pmsMonitorPO = new PmsMonitorPO();
|
||||
|
||||
@@ -6,6 +6,7 @@ import com.njcn.common.pojo.exception.BusinessException;
|
||||
import com.njcn.device.biz.commApi.CommTerminalGeneralClient;
|
||||
import com.njcn.device.biz.pojo.dto.DeptGetChildrenDTO;
|
||||
import com.njcn.device.biz.pojo.param.DeptGetLineParam;
|
||||
import com.njcn.device.pms.pojo.po.Monitor;
|
||||
import com.njcn.harmonic.pojo.po.PmsMonitorPO;
|
||||
import com.njcn.prepare.harmonic.constant.PqsPrepareExceptionEnum;
|
||||
import com.njcn.prepare.harmonic.mapper.mysql.area.PmsMonitorPOMapper;
|
||||
@@ -36,7 +37,7 @@ import static com.njcn.system.pojo.constant.DicDataConstant.SPLIT_SIGN;
|
||||
*/
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
public class PmsMonitorPOServiceImpl extends ServiceImpl<PmsMonitorPOMapper, PmsMonitorPO> implements PmsMonitorPOService{
|
||||
public class PmsMonitorPOServiceImpl extends ServiceImpl<PmsMonitorPOMapper, Monitor> implements PmsMonitorPOService{
|
||||
|
||||
private final RedisUtil redisUtil;
|
||||
|
||||
@@ -52,13 +53,13 @@ public class PmsMonitorPOServiceImpl extends ServiceImpl<PmsMonitorPOMapper, Pms
|
||||
* @Date: 2022/11/25
|
||||
*/
|
||||
@Override
|
||||
public List<PmsMonitorPO> qurymeasurementRunPoints(String orgid) {
|
||||
public List<Monitor> qurymeasurementRunPoints(String orgid) {
|
||||
|
||||
LambdaQueryWrapper<PmsMonitorPO> monitorPOLambdaQueryWrapper = new LambdaQueryWrapper ( );
|
||||
LambdaQueryWrapper<Monitor> monitorPOLambdaQueryWrapper = new LambdaQueryWrapper ( );
|
||||
/*获取当前部门及子部门*/
|
||||
List<String> deptIds = deptFeignClient.getDepSonSelfCodetByDeptId(orgid).getData();
|
||||
|
||||
monitorPOLambdaQueryWrapper.in (PmsMonitorPO::getOrgId, deptIds);
|
||||
monitorPOLambdaQueryWrapper.in (Monitor::getOrgId, deptIds);
|
||||
// List<DictData> data = dicDataFeignClient.getDicDataByTypeCode (DicDataTypeEnum.LINE_STATE.getCode ( )).getData ( );
|
||||
// List<DictData> collect = data.stream ( ).filter (temp -> Objects.equals (temp.getCode ( ), DicDataEnum.RUN.getCode ())).collect (Collectors.toList ( ));
|
||||
String state = redisUtil.getStringByKey (NAME_KEY+
|
||||
@@ -67,8 +68,8 @@ public class PmsMonitorPOServiceImpl extends ServiceImpl<PmsMonitorPOMapper, Pms
|
||||
if(StringUtils.isEmpty (state)){
|
||||
throw new BusinessException (PqsPrepareExceptionEnum.REDIS_NULL_EXCEPTION);
|
||||
}
|
||||
monitorPOLambdaQueryWrapper.eq (PmsMonitorPO::getMonitorState, state);
|
||||
List<PmsMonitorPO> pmsMonitorPOS = pmsMonitorPOMapper.selectList (monitorPOLambdaQueryWrapper);
|
||||
monitorPOLambdaQueryWrapper.eq (Monitor::getMonitorState, state);
|
||||
List<Monitor> pmsMonitorPOS = pmsMonitorPOMapper.selectList (monitorPOLambdaQueryWrapper);
|
||||
return pmsMonitorPOS;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,6 +8,7 @@ import com.njcn.common.pojo.exception.BusinessException;
|
||||
import com.njcn.device.biz.commApi.CommTerminalGeneralClient;
|
||||
import com.njcn.device.biz.pojo.dto.LineDevGetDTO;
|
||||
import com.njcn.device.biz.pojo.param.DeptGetLineParam;
|
||||
import com.njcn.device.pms.pojo.po.Monitor;
|
||||
import com.njcn.harmonic.pojo.po.*;
|
||||
import com.njcn.prepare.harmonic.constant.AlgorithmParam;
|
||||
import com.njcn.prepare.harmonic.constant.PqsPrepareExceptionEnum;
|
||||
@@ -122,17 +123,17 @@ public class PrimaryGridDataServiceImpl implements PrimaryGridDataService {
|
||||
deviceIds.forEach(deviceId -> {
|
||||
double dev_data_rate = 0.00;
|
||||
/*获取终端下的监测点集合*/
|
||||
QueryWrapper<PmsMonitorPO> queryWrapper = new QueryWrapper<>();
|
||||
QueryWrapper<Monitor> queryWrapper = new QueryWrapper<>();
|
||||
String state = redisUtil.getStringByKey(NAME_KEY +
|
||||
SPLIT_SIGN + DicDataTypeEnum.LINE_STATE.getCode() +
|
||||
SPLIT_SIGN + DicDataEnum.RUN.getCode());
|
||||
if (StringUtils.isEmpty(state)) {
|
||||
throw new BusinessException(PqsPrepareExceptionEnum.REDIS_NULL_EXCEPTION);
|
||||
}
|
||||
queryWrapper.lambda().eq(PmsMonitorPO::getTerminalId, deviceId).
|
||||
eq(PmsMonitorPO::getMonitorState, state);
|
||||
List<PmsMonitorPO> list = pmsMonitorPOService.list(queryWrapper);
|
||||
List<String> mysqlIndexList = list.stream().map(PmsMonitorPO::getId).collect(Collectors.toList());
|
||||
queryWrapper.lambda().eq(Monitor::getTerminalId, deviceId).
|
||||
eq(Monitor::getMonitorState, state);
|
||||
List<Monitor> list = pmsMonitorPOService.list(queryWrapper);
|
||||
List<String> mysqlIndexList = list.stream().map(Monitor::getId).collect(Collectors.toList());
|
||||
/*获取检测点的月平均数据完整率*/
|
||||
List<MonitorDataIntegrityDTO> monitorDataIntegrityDTOList = rMpIntegrityDPOService.calculateMouthDataIntegrity(mysqlIndexList, dataDate);
|
||||
/*求平均值*/
|
||||
@@ -356,10 +357,10 @@ public class PrimaryGridDataServiceImpl implements PrimaryGridDataService {
|
||||
orgIdList.forEach(orgid -> {
|
||||
|
||||
/*measurement_run_points:在运监测点个数*/
|
||||
List<PmsMonitorPO> pmsMonitorPOS = pmsMonitorPOService.qurymeasurementRunPoints(orgid);
|
||||
List<Monitor> pmsMonitorPOS = pmsMonitorPOService.qurymeasurementRunPoints(orgid);
|
||||
Integer measurement_run_points = pmsMonitorPOS.size();
|
||||
/*获取mysql与Oracle监测点id对应关系*/
|
||||
List<String> mysqlIndexList = pmsMonitorPOS.stream().map(PmsMonitorPO::getId).collect(Collectors.toList());
|
||||
List<String> mysqlIndexList = pmsMonitorPOS.stream().map(Monitor::getId).collect(Collectors.toList());
|
||||
|
||||
List<PqLinedetailPO> pqLinedetailPOS = pqLinedetailPOService.queryOracleIndexIdByMysqlIndexId(mysqlIndexList);
|
||||
List<Integer> oracleIndexlist = pqLinedetailPOS.stream().map(PqLinedetailPO::getLineIndex).collect(Collectors.toList());
|
||||
|
||||
@@ -35,6 +35,7 @@ import java.util.stream.Collectors;
|
||||
public class RStatAbnormalDPOServiceImpl extends MppServiceImpl<RStatAbnormalDPOMapper, RStatAbnormalDPO> implements RStatAbnormalDPOService {
|
||||
|
||||
|
||||
/*
|
||||
|
||||
private @Autowired
|
||||
RStatAbnormalDPOMapper rStatAbnormalDPOMapper;
|
||||
@@ -45,6 +46,7 @@ public class RStatAbnormalDPOServiceImpl extends MppServiceImpl<RStatAbnormalDPO
|
||||
|
||||
private @Autowired
|
||||
PqLinedetailPOService pqLinedetailPOService;
|
||||
*/
|
||||
|
||||
/**
|
||||
* @param primaryGridParam
|
||||
@@ -58,7 +60,7 @@ public class RStatAbnormalDPOServiceImpl extends MppServiceImpl<RStatAbnormalDPO
|
||||
@Async("asyncExecutor")
|
||||
public void rStatAbnormalDDataHanlder(PrimaryGridParam primaryGridParam) {
|
||||
if (Objects.equals (primaryGridParam.getDataSource ( ), 0)) {
|
||||
this.hanlderOracleData (primaryGridParam);
|
||||
//this.hanlderOracleData (primaryGridParam);
|
||||
} else if (Objects.equals (primaryGridParam.getDataSource ( ), 1)) {
|
||||
this.hanlderInfludxbData (primaryGridParam);
|
||||
}
|
||||
@@ -80,7 +82,7 @@ public class RStatAbnormalDPOServiceImpl extends MppServiceImpl<RStatAbnormalDPO
|
||||
* @Author: clam
|
||||
* @Date: 2022/11/25
|
||||
*/
|
||||
@SneakyThrows
|
||||
/* @SneakyThrows
|
||||
private void hanlderOracleData(PrimaryGridParam primaryGridParam) {
|
||||
|
||||
List<String> orgIdList = primaryGridParam.getOrgIdList ( );
|
||||
@@ -91,10 +93,10 @@ public class RStatAbnormalDPOServiceImpl extends MppServiceImpl<RStatAbnormalDPO
|
||||
|
||||
orgIdList.forEach (orgid -> {
|
||||
|
||||
/*measurement_run_points:在运监测点个数*/
|
||||
/*measurement_run_points:在运监测点个数*/
|
||||
*//*measurement_run_points:在运监测点个数*//*
|
||||
*//*measurement_run_points:在运监测点个数*//*
|
||||
List<PmsMonitorPO> pmsMonitorPOS = pmsMonitorPOService.qurymeasurementRunPoints (orgid);
|
||||
/*获取mysql与Oracle监测点id对应关系*/
|
||||
*//*获取mysql与Oracle监测点id对应关系*//*
|
||||
List<String> mysqlIndexList = pmsMonitorPOS.stream ( ).map (PmsMonitorPO::getId).collect (Collectors.toList ( ));
|
||||
|
||||
List<PqLinedetailPO> pqLinedetailPOS = pqLinedetailPOService.queryOracleIndexIdByMysqlIndexId (mysqlIndexList);
|
||||
@@ -105,5 +107,5 @@ public class RStatAbnormalDPOServiceImpl extends MppServiceImpl<RStatAbnormalDPO
|
||||
});
|
||||
|
||||
|
||||
}
|
||||
}*/
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.njcn.prepare.harmonic.service.mysql.Impl.voltage;
|
||||
package com.njcn.prepare.harmonic.service.mysql.Impl.busBar;
|
||||
|
||||
/**
|
||||
* @author denghuajun
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.njcn.prepare.harmonic.service.mysql.area;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.njcn.device.pms.pojo.po.Monitor;
|
||||
import com.njcn.harmonic.pojo.po.PmsMonitorPO;
|
||||
|
||||
import java.util.List;
|
||||
@@ -13,7 +14,7 @@ import java.util.List;
|
||||
* @author clam
|
||||
* @version V1.0.0
|
||||
*/
|
||||
public interface PmsMonitorPOService extends IService<PmsMonitorPO> {
|
||||
public interface PmsMonitorPOService extends IService<Monitor> {
|
||||
|
||||
/**
|
||||
* @Description: 在运监测点集合
|
||||
@@ -22,6 +23,6 @@ public interface PmsMonitorPOService extends IService<PmsMonitorPO> {
|
||||
* @Author: clam
|
||||
* @Date: 2022/11/25
|
||||
*/
|
||||
List<PmsMonitorPO> qurymeasurementRunPoints(String orgid);
|
||||
List<Monitor> qurymeasurementRunPoints(String orgid);
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
package com.njcn.prepare.harmonic.service.mysql.dim;
|
||||
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.njcn.harmonic.pojo.po.dim.RDimBusGlobalD;
|
||||
import com.njcn.prepare.bo.CalculatedParam;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 母线监测总概览 服务类
|
||||
* </p>
|
||||
*
|
||||
* @author hongawen
|
||||
* @since 2023-11-14
|
||||
*/
|
||||
public interface IRDimBusGlobalDService extends IService<RDimBusGlobalD> {
|
||||
|
||||
public void globalCalBusBar(CalculatedParam calculatedParam);
|
||||
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
package com.njcn.prepare.harmonic.service.mysql.dim;
|
||||
|
||||
import com.njcn.harmonic.pojo.po.dim.RDimBusGlobalM;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 服务类
|
||||
* </p>
|
||||
*
|
||||
* @author hongawen
|
||||
* @since 2023-11-14
|
||||
*/
|
||||
public interface IRDimBusGlobalMService extends IService<RDimBusGlobalM> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
package com.njcn.prepare.harmonic.service.mysql.dim;
|
||||
|
||||
import com.njcn.harmonic.pojo.po.dim.RDimBusGlobalY;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 服务类
|
||||
* </p>
|
||||
*
|
||||
* @author hongawen
|
||||
* @since 2023-11-14
|
||||
*/
|
||||
public interface IRDimBusGlobalYService extends IService<RDimBusGlobalY> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
package com.njcn.prepare.harmonic.service.mysql.dim;
|
||||
|
||||
import com.njcn.harmonic.pojo.po.dim.RDimBusTargetD;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 服务类
|
||||
* </p>
|
||||
*
|
||||
* @author hongawen
|
||||
* @since 2023-11-14
|
||||
*/
|
||||
public interface IRDimBusTargetDService extends IService<RDimBusTargetD> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
package com.njcn.prepare.harmonic.service.mysql.dim;
|
||||
|
||||
import com.njcn.harmonic.pojo.po.dim.RDimBusTargetM;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 服务类
|
||||
* </p>
|
||||
*
|
||||
* @author hongawen
|
||||
* @since 2023-11-14
|
||||
*/
|
||||
public interface IRDimBusTargetMService extends IService<RDimBusTargetM> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
package com.njcn.prepare.harmonic.service.mysql.dim;
|
||||
|
||||
import com.njcn.harmonic.pojo.po.dim.RDimBusTargetY;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 服务类
|
||||
* </p>
|
||||
*
|
||||
* @author hongawen
|
||||
* @since 2023-11-14
|
||||
*/
|
||||
public interface IRDimBusTargetYService extends IService<RDimBusTargetY> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
package com.njcn.prepare.harmonic.service.mysql.dim;
|
||||
|
||||
import com.njcn.harmonic.pojo.po.dim.RDimStationGlobalD;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 服务类
|
||||
* </p>
|
||||
*
|
||||
* @author hongawen
|
||||
* @since 2023-11-14
|
||||
*/
|
||||
public interface IRDimStationGlobalDService extends IService<RDimStationGlobalD> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
package com.njcn.prepare.harmonic.service.mysql.dim;
|
||||
|
||||
import com.njcn.harmonic.pojo.po.dim.RDimStationGlobalM;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 服务类
|
||||
* </p>
|
||||
*
|
||||
* @author hongawen
|
||||
* @since 2023-11-14
|
||||
*/
|
||||
public interface IRDimStationGlobalMService extends IService<RDimStationGlobalM> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
package com.njcn.prepare.harmonic.service.mysql.dim;
|
||||
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.njcn.harmonic.pojo.po.dim.RDimStationGlobalY;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 服务类
|
||||
* </p>
|
||||
*
|
||||
* @author hongawen
|
||||
* @since 2023-11-14
|
||||
*/
|
||||
public interface IRDimStationGlobalYService extends IService<RDimStationGlobalY> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,127 @@
|
||||
package com.njcn.prepare.harmonic.service.mysql.dim.impl;
|
||||
|
||||
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.hutool.core.date.DateTime;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.njcn.common.pojo.enums.common.DataStateEnum;
|
||||
import com.njcn.device.biz.commApi.CommTerminalGeneralClient;
|
||||
import com.njcn.device.biz.pojo.dto.DeptGetChildrenDTO;
|
||||
import com.njcn.device.biz.pojo.dto.DeptGetChildrenMoreDTO;
|
||||
import com.njcn.device.biz.pojo.param.DeptGetLineParam;
|
||||
import com.njcn.device.pms.pojo.param.GeneratrixWireParam;
|
||||
import com.njcn.device.pq.pojo.po.RStatIntegrityD;
|
||||
import com.njcn.device.pms.pojo.po.Monitor;
|
||||
import com.njcn.harmonic.pojo.po.dim.RDimBusGlobalD;
|
||||
import com.njcn.prepare.bo.CalculatedParam;
|
||||
import com.njcn.prepare.harmonic.mapper.mysql.area.PmsMonitorPOMapper;
|
||||
import com.njcn.prepare.harmonic.mapper.mysql.day.RStatIntegrityDMapper;
|
||||
import com.njcn.prepare.harmonic.mapper.mysql.dim.GeneratrixWireMapper;
|
||||
import com.njcn.prepare.harmonic.mapper.mysql.dim.RDimBusGlobalDMapper;
|
||||
import com.njcn.prepare.harmonic.service.mysql.dim.IRDimBusGlobalDService;
|
||||
import com.njcn.user.api.DeptFeignClient;
|
||||
import com.njcn.user.pojo.po.Dept;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 母线监测总概览 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author hongawen
|
||||
* @since 2023-11-14
|
||||
*/
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
public class RDimBusGlobalDServiceImpl extends ServiceImpl<RDimBusGlobalDMapper, RDimBusGlobalD> implements IRDimBusGlobalDService {
|
||||
|
||||
private final DeptFeignClient deptFeignClient;
|
||||
|
||||
private final CommTerminalGeneralClient commTerminalGeneralClient;
|
||||
|
||||
private final RStatIntegrityDMapper rStatIntegrityDMapper;
|
||||
|
||||
private final GeneratrixWireMapper generatrixWireMapper;
|
||||
|
||||
private final PmsMonitorPOMapper pmsMonitorPOMapper;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 本算法只有pms使用到,只针对pms主网测点
|
||||
* @author cdf
|
||||
* @date 2023/11/15
|
||||
*/
|
||||
@Override
|
||||
public void globalCalBusBar(CalculatedParam calculatedParam) {
|
||||
List<RDimBusGlobalD> poList = new ArrayList<>();
|
||||
|
||||
LocalDate date = LocalDate.parse(calculatedParam.getDataDate());
|
||||
|
||||
|
||||
Dept dept = deptFeignClient.getRootDept().getData();
|
||||
|
||||
//获取所有层级单位
|
||||
DeptGetLineParam deptGetLineParam = new DeptGetLineParam();
|
||||
deptGetLineParam.setDeptId(dept.getId());
|
||||
deptGetLineParam.setSystemType(0);
|
||||
List<DeptGetChildrenDTO> deptList = commTerminalGeneralClient.deptGetLineList(deptGetLineParam).getData();
|
||||
for(DeptGetChildrenDTO dto : deptList){
|
||||
RDimBusGlobalD rDimBusGlobalD = new RDimBusGlobalD();
|
||||
rDimBusGlobalD.setOrgId(dto.getDeptId());
|
||||
rDimBusGlobalD.setStatisDate(date);
|
||||
|
||||
List<String> monitorIds = dto.getLineIds();
|
||||
if(CollectionUtil.isNotEmpty(monitorIds)){
|
||||
//先初步筛选出完整性大于95%的
|
||||
LambdaQueryWrapper<RStatIntegrityD> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapper.in(RStatIntegrityD::getLineIndex,monitorIds).eq(RStatIntegrityD::getTimeId,date);
|
||||
List<RStatIntegrityD> integrityDList = rStatIntegrityDMapper.selectList(lambdaQueryWrapper);
|
||||
|
||||
if(CollectionUtil.isEmpty(integrityDList)){
|
||||
rDimBusGlobalD.setLimitRate(3.14159f);
|
||||
rDimBusGlobalD.setMonitorRate(3.14159f);
|
||||
rDimBusGlobalD.setLimitAvgRate(3.14159f);
|
||||
poList.add(rDimBusGlobalD);
|
||||
break;
|
||||
}
|
||||
|
||||
//不为空还要判断完整性是否大于95%
|
||||
integrityDList = integrityDList.stream()
|
||||
.filter(it -> it.getRealTime() / it.getDueTime() > 0.95f)
|
||||
.collect(Collectors.toList());
|
||||
if(CollectionUtil.isEmpty(integrityDList)){
|
||||
rDimBusGlobalD.setLimitRate(3.14159f);
|
||||
rDimBusGlobalD.setMonitorRate(3.14159f);
|
||||
rDimBusGlobalD.setLimitAvgRate(3.14159f);
|
||||
poList.add(rDimBusGlobalD);
|
||||
break;
|
||||
}else {
|
||||
List<String> goodMonitorIds = integrityDList.stream().map(RStatIntegrityD::getLineIndex).distinct().collect(Collectors.toList());
|
||||
LambdaQueryWrapper<Monitor> monitorLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
monitorLambdaQueryWrapper.select(Monitor::getId,Monitor::getLineId).in(Monitor::getId,goodMonitorIds).eq(Monitor::getStatus,DataStateEnum.ENABLE.getCode());
|
||||
List<Monitor> monitorList = pmsMonitorPOMapper.selectList(monitorLambdaQueryWrapper);
|
||||
List<String> busBarIds = monitorList.stream().map(Monitor::getLineId).collect(Collectors.toList());
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
package com.njcn.prepare.harmonic.service.mysql.dim.impl;
|
||||
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.njcn.harmonic.pojo.po.dim.RDimBusGlobalM;
|
||||
import com.njcn.prepare.harmonic.mapper.mysql.dim.RDimBusGlobalMMapper;
|
||||
import com.njcn.prepare.harmonic.service.mysql.dim.IRDimBusGlobalMService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author hongawen
|
||||
* @since 2023-11-14
|
||||
*/
|
||||
@Service
|
||||
public class RDimBusGlobalMServiceImpl extends ServiceImpl<RDimBusGlobalMMapper, RDimBusGlobalM> implements IRDimBusGlobalMService {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
package com.njcn.prepare.harmonic.service.mysql.dim.impl;
|
||||
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.njcn.harmonic.pojo.po.dim.RDimBusGlobalY;
|
||||
import com.njcn.prepare.harmonic.mapper.mysql.dim.RDimBusGlobalYMapper;
|
||||
import com.njcn.prepare.harmonic.service.mysql.dim.IRDimBusGlobalYService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author hongawen
|
||||
* @since 2023-11-14
|
||||
*/
|
||||
@Service
|
||||
public class RDimBusGlobalYServiceImpl extends ServiceImpl<RDimBusGlobalYMapper, RDimBusGlobalY> implements IRDimBusGlobalYService {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
package com.njcn.prepare.harmonic.service.mysql.dim.impl;
|
||||
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.njcn.harmonic.pojo.po.dim.RDimBusTargetD;
|
||||
import com.njcn.prepare.harmonic.mapper.mysql.dim.RDimBusTargetDMapper;
|
||||
import com.njcn.prepare.harmonic.service.mysql.dim.IRDimBusTargetDService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author hongawen
|
||||
* @since 2023-11-14
|
||||
*/
|
||||
@Service
|
||||
public class RDimBusTargetDServiceImpl extends ServiceImpl<RDimBusTargetDMapper, RDimBusTargetD> implements IRDimBusTargetDService {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
package com.njcn.prepare.harmonic.service.mysql.dim.impl;
|
||||
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.njcn.harmonic.pojo.po.dim.RDimBusTargetM;
|
||||
import com.njcn.prepare.harmonic.mapper.mysql.dim.RDimBusTargetMMapper;
|
||||
import com.njcn.prepare.harmonic.service.mysql.dim.IRDimBusTargetMService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author hongawen
|
||||
* @since 2023-11-14
|
||||
*/
|
||||
@Service
|
||||
public class RDimBusTargetMServiceImpl extends ServiceImpl<RDimBusTargetMMapper, RDimBusTargetM> implements IRDimBusTargetMService {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
package com.njcn.prepare.harmonic.service.mysql.dim.impl;
|
||||
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.njcn.harmonic.pojo.po.dim.RDimBusTargetY;
|
||||
import com.njcn.prepare.harmonic.mapper.mysql.dim.RDimBusTargetYMapper;
|
||||
import com.njcn.prepare.harmonic.service.mysql.dim.IRDimBusTargetYService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author hongawen
|
||||
* @since 2023-11-14
|
||||
*/
|
||||
@Service
|
||||
public class RDimBusTargetYServiceImpl extends ServiceImpl<RDimBusTargetYMapper, RDimBusTargetY> implements IRDimBusTargetYService {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
package com.njcn.prepare.harmonic.service.mysql.dim.impl;
|
||||
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.njcn.harmonic.pojo.po.dim.RDimStationGlobalD;
|
||||
import com.njcn.prepare.harmonic.mapper.mysql.dim.RDimStationGlobalDMapper;
|
||||
import com.njcn.prepare.harmonic.service.mysql.dim.IRDimStationGlobalDService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author hongawen
|
||||
* @since 2023-11-14
|
||||
*/
|
||||
@Service
|
||||
public class RDimStationGlobalDServiceImpl extends ServiceImpl<RDimStationGlobalDMapper, RDimStationGlobalD> implements IRDimStationGlobalDService {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
package com.njcn.prepare.harmonic.service.mysql.dim.impl;
|
||||
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.njcn.harmonic.pojo.po.dim.RDimStationGlobalM;
|
||||
import com.njcn.prepare.harmonic.mapper.mysql.dim.RDimStationGlobalMMapper;
|
||||
import com.njcn.prepare.harmonic.service.mysql.dim.IRDimStationGlobalMService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author hongawen
|
||||
* @since 2023-11-14
|
||||
*/
|
||||
@Service
|
||||
public class RDimStationGlobalMServiceImpl extends ServiceImpl<RDimStationGlobalMMapper, RDimStationGlobalM> implements IRDimStationGlobalMService {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
package com.njcn.prepare.harmonic.service.mysql.dim.impl;
|
||||
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.njcn.harmonic.pojo.po.dim.RDimStationGlobalY;
|
||||
import com.njcn.prepare.harmonic.mapper.mysql.dim.RDimStationGlobalYMapper;
|
||||
import com.njcn.prepare.harmonic.service.mysql.dim.IRDimStationGlobalYService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author hongawen
|
||||
* @since 2023-11-14
|
||||
*/
|
||||
@Service
|
||||
public class RDimStationGlobalYServiceImpl extends ServiceImpl<RDimStationGlobalYMapper, RDimStationGlobalY> implements IRDimStationGlobalYService {
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user