代码调整
This commit is contained in:
@@ -1,11 +1,12 @@
|
||||
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;
|
||||
|
||||
/**
|
||||
*
|
||||
*
|
||||
* Description:
|
||||
* 接口文档访问地址:http://serverIP:port/swagger-ui.html
|
||||
* Date: 2022/11/25 10:10【需求编号】
|
||||
@@ -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());
|
||||
|
||||
@@ -23,7 +23,7 @@ import java.util.Objects;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
*
|
||||
*
|
||||
* Description:
|
||||
* 接口文档访问地址:http://serverIP:port/swagger-ui.html
|
||||
* Date: 2022/11/28 19:31【需求编号】
|
||||
@@ -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