代码调整

This commit is contained in:
2023-11-15 11:45:49 +08:00
parent 8bef9db9c8
commit c2ec0bfcf2
54 changed files with 1309 additions and 245 deletions

View File

@@ -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;
}

View File

@@ -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;
//
//
//}

View File

@@ -40,6 +40,13 @@ public class GeneratrixWire extends BaseEntity {
private Integer status;
/**
* 关联中台的母线id
*/
private String relationId;
@TableField(exist = false)
private String orgId;
}

View File

@@ -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;
/**

View File

@@ -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;
}

View File

@@ -86,7 +86,7 @@ public class CommTerminalController extends BaseController {
}
/**
* 根据单位获取监测点信息
* 根据单位获取层级单位的监测点信息
* @author cdf
* @date 2023/5/10
*/

View File

@@ -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);
});
@@ -544,6 +559,7 @@ public class CommTerminalServiceImpl implements CommTerminalService {
/**
* 获取单个监测点信息
*
* @author cdf
* @date 2023/10/12
*/

View File

@@ -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 ())));

View File

@@ -361,6 +361,9 @@ 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();
@@ -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) {
@@ -392,7 +395,7 @@ public class MonitorServiceImpl extends ServiceImpl<MonitorMapper, Monitor> impl
.collect(Collectors.toList()));
deptIdList.add(deptDTO.getCode());
}
deviceInfos.add(getPmsMonitor(deptInfo, dictData,deptIdList));
deviceInfos.add(getPmsMonitor(deptInfo, dictData, deptIdList,param.getSystemType()));
}
}
return deviceInfos;
@@ -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())
.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<>());

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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> {
}

View File

@@ -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> {
}

View File

@@ -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> {
}

View File

@@ -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> {
}

View File

@@ -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> {
}

View File

@@ -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> {
}

View File

@@ -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> {
}

View File

@@ -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> {
}

View File

@@ -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> {
}

View File

@@ -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> {
}

View File

@@ -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> {
}

View File

@@ -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配网123类监测点字典表id用于for循环中过滤*/
*//*在运的字典表id配网123类监测点字典表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配网123类监测点字典表id用于for循环中过滤*/
*//*在运的字典表id配网123类监测点字典表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: 计算123类配网有效接入监测 后包装成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 ( );
}
}*/
}

View File

@@ -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();

View File

@@ -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;
}
}

View File

@@ -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());

View File

@@ -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
});
}
}*/
}

View File

@@ -1,4 +1,4 @@
package com.njcn.prepare.harmonic.service.mysql.Impl.voltage;
package com.njcn.prepare.harmonic.service.mysql.Impl.busBar;
/**
* @author denghuajun

View File

@@ -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);
}

View File

@@ -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);
}

View File

@@ -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> {
}

View File

@@ -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> {
}

View File

@@ -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> {
}

View File

@@ -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> {
}

View File

@@ -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> {
}

View File

@@ -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> {
}

View File

@@ -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> {
}

View File

@@ -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> {
}

View File

@@ -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());
}
}
}
}
}

View File

@@ -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 {
}

View File

@@ -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 {
}

View File

@@ -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 {
}

View File

@@ -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 {
}

View File

@@ -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 {
}

View File

@@ -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 {
}

View File

@@ -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 {
}

View File

@@ -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 {
}