河北超高压算法调整
This commit is contained in:
@@ -18,7 +18,6 @@ import java.util.List;
|
||||
public interface DataVMapper extends InfluxDbBaseMapper<DataV> {
|
||||
|
||||
List<DataV> getStatisticsByWraper(InfluxQueryWrapper influxQueryWrapper);
|
||||
|
||||
List<MeasurementCount> getMeasurementCount(InfluxQueryWrapper influxQueryWrapper);
|
||||
|
||||
}
|
||||
|
||||
@@ -34,8 +34,8 @@ public enum UploadEnum {
|
||||
/**
|
||||
* 主配网标识
|
||||
*/
|
||||
DISTRIBUTION_FLAG_01("01","主网"),
|
||||
DISTRIBUTION_FLAG_02("02","配网"),
|
||||
DISTRIBUTION_FLAG_01("1","主网"),
|
||||
DISTRIBUTION_FLAG_02("0","配网"),
|
||||
|
||||
/**
|
||||
* 指标类型(01:电压 02:长时间闪变 03:三相电压不平衡 04:电压总谐波畸变率 05:各次谐波电压 06:负序电流)
|
||||
|
||||
@@ -20,7 +20,9 @@ import com.yomahub.liteflow.core.NodeComponent;
|
||||
import com.yomahub.liteflow.enums.LiteFlowMethodEnum;
|
||||
import com.yomahub.liteflow.enums.NodeTypeEnum;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.Objects;
|
||||
|
||||
|
||||
@@ -29,6 +31,7 @@ import java.util.Objects;
|
||||
* @version 1.0.0
|
||||
* @date 2023年11月06日 15:59
|
||||
*/
|
||||
@Slf4j
|
||||
@LiteflowComponent
|
||||
@RequiredArgsConstructor
|
||||
public class MeasurementExecutor extends BaseExecutor {
|
||||
@@ -329,7 +332,7 @@ public class MeasurementExecutor extends BaseExecutor {
|
||||
|
||||
/**
|
||||
* 算法名: 3.4.1.1-----监测点稳态指标越限次数_日表(r_stat_limit_rate_d)
|
||||
*
|
||||
* 河北表数据较大,这边先将数据拆分计算
|
||||
* @author xuyang
|
||||
* @date 2023年11月13日 10:16
|
||||
*/
|
||||
@@ -339,7 +342,25 @@ public class MeasurementExecutor extends BaseExecutor {
|
||||
}
|
||||
@LiteflowMethod(value = LiteFlowMethodEnum.PROCESS, nodeId = "limitRate", nodeType = NodeTypeEnum.COMMON)
|
||||
public void limitRateProcess(NodeComponent bindCmp) {
|
||||
limitRateService.limitRate(bindCmp.getRequestData());
|
||||
String tag = bindCmp.getTag();
|
||||
CalculatedParam calculatedParam = bindCmp.getRequestData();
|
||||
if (Objects.equals(tag,"limitRate1")){
|
||||
log.info(LocalDateTime.now()+"r_stat_limit_rate_d 1开始执行=======》");
|
||||
//执行0点-6点
|
||||
limitRateService.limitRate(bindCmp.getRequestData(),1);
|
||||
} else if (Objects.equals(tag,"limitRate2")) {
|
||||
log.info(LocalDateTime.now()+"r_stat_limit_rate_d 2开始执行=======》");
|
||||
//执行6点-12点
|
||||
limitRateService.limitRate(bindCmp.getRequestData(),2);
|
||||
} else if (Objects.equals(tag,"limitRate3")) {
|
||||
log.info(LocalDateTime.now()+"r_stat_limit_rate_d 3开始执行=======》");
|
||||
//执行12点-18点
|
||||
limitRateService.limitRate(bindCmp.getRequestData(),3);
|
||||
} else if (Objects.equals(tag,"limitRate4")) {
|
||||
log.info(LocalDateTime.now()+"r_stat_limit_rate_d 4开始执行=======》");
|
||||
//执行18点-24点
|
||||
limitRateService.limitRate(bindCmp.getRequestData(),4);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -116,7 +116,7 @@ public class RMpDevEvaluateDetailPOServiceImpl extends MppServiceImpl<RMpDevEval
|
||||
List<String> deviceList = new ArrayList<>();
|
||||
List<String> lineIds = calculatedParam.getIdList();
|
||||
//以尺寸100分片,查询数据
|
||||
List<List<String>> pendingIds = ListUtils.partition(lineIds,20);
|
||||
List<List<String>> pendingIds = ListUtils.partition(lineIds,5);
|
||||
for (List<String> pendingId : pendingIds) {
|
||||
//获取监测点评价详情
|
||||
LambdaQueryWrapper<ROperatingMonitorDPO> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
|
||||
@@ -109,7 +109,7 @@ public class RMpMonitorAlarmCountMServiceImpl extends MppServiceImpl<RMpMonitorA
|
||||
DateTime beginMonth = DateUtil.beginOfMonth(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN));
|
||||
DateTime endMonth = DateUtil.endOfMonth(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN));
|
||||
//以尺寸100分片,查询数据
|
||||
List<List<String>> pendingIds = ListUtils.partition(lineIds,20);
|
||||
List<List<String>> pendingIds = ListUtils.partition(lineIds,5);
|
||||
for (List<String> pendingId : pendingIds) {
|
||||
List<RMpMonitorAlarmCountMDTO> monthList = rMpTargetWarnDMapper.getDate(beginMonth,endMonth,pendingId);
|
||||
if (!CollectionUtils.isEmpty(monthList)){
|
||||
|
||||
@@ -83,7 +83,7 @@ public class RMpTargetWarnDServiceImpl extends MppServiceImpl<RMpTargetWarnDMapp
|
||||
log.info(LocalDateTime.now()+"===>监测点指标告警日统计算法开始");
|
||||
List<String> lineIds = calculatedParam.getIdList();
|
||||
//以尺寸100分片,查询数据
|
||||
List<List<String>> pendingIds = ListUtils.partition(lineIds,20);
|
||||
List<List<String>> pendingIds = ListUtils.partition(lineIds,5);
|
||||
for (List<String> pendingId : pendingIds) {
|
||||
List<RMpTargetWarnDPO> list = getData(calculatedParam.getDataDate(),pendingId);
|
||||
if (CollectionUtil.isNotEmpty(list)){
|
||||
|
||||
@@ -59,7 +59,7 @@ public class RStatDevSignalDPOServiceImpl extends MppServiceImpl<RStatDevSignalD
|
||||
DictData data = dicDataFeignClient.getDicDataByCode(DicDataEnum.RUNNING.getCode()).getData();
|
||||
List<String> lineIds = calculatedParam.getIdList();
|
||||
//以尺寸100分片,查询数据
|
||||
List<List<String>> pendingIds = ListUtils.partition(lineIds,20);
|
||||
List<List<String>> pendingIds = ListUtils.partition(lineIds,5);
|
||||
for (List<String> pendingId : pendingIds) {
|
||||
//获取监测点评价详情
|
||||
LambdaQueryWrapper<RMpMonitorEvaluateDPO> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
|
||||
@@ -90,7 +90,7 @@ public class AlarmDetailServiceImpl extends MppServiceImpl<AlarmMapper, RMpTarge
|
||||
String nowDay = calculatedParam.getDataDate();
|
||||
String yesterday = PublicUtil.getYesterday(nowDay);
|
||||
//以尺寸100分片,查询数据
|
||||
List<List<String>> pendingIds = ListUtils.partition(lineIds,20);
|
||||
List<List<String>> pendingIds = ListUtils.partition(lineIds,5);
|
||||
for (List<String> pendingId : pendingIds) {
|
||||
List<RMpTargetDiffDPO> intersectionList = diffData(nowDay,yesterday,pendingId);
|
||||
if (!CollectionUtils.isEmpty(intersectionList)){
|
||||
|
||||
@@ -99,7 +99,7 @@ public class DayDataServiceImpl implements DayDataService {
|
||||
List<DayV> dayVList = new ArrayList<>();
|
||||
List<String> lineIds = calculatedParam.getIdList();
|
||||
//河北数据量较大,单个监测点执行
|
||||
List<List<String>> pendingIds = ListUtils.partition(lineIds,5);
|
||||
List<List<String>> pendingIds = ListUtils.partition(lineIds,20);
|
||||
String beginDay =LocalDateTimeUtil.format(LocalDateTimeUtil.beginOfDay(LocalDateTimeUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN)),DatePattern.NORM_DATETIME_PATTERN);
|
||||
String endDay = LocalDateTimeUtil.format(LocalDateTimeUtil.endOfDay(LocalDateTimeUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN)),DatePattern.NORM_DATETIME_PATTERN);
|
||||
for (List<String> pendingId : pendingIds) {
|
||||
@@ -134,7 +134,7 @@ public class DayDataServiceImpl implements DayDataService {
|
||||
|
||||
List<String> lineIds = calculatedParam.getIdList();
|
||||
//河北数据量较大,单个监测点执行
|
||||
List<List<String>> pendingIds = ListUtils.partition(lineIds,5);
|
||||
List<List<String>> pendingIds = ListUtils.partition(lineIds,20);
|
||||
String beginDay =LocalDateTimeUtil.format(LocalDateTimeUtil.beginOfDay(LocalDateTimeUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN)),DatePattern.NORM_DATETIME_PATTERN);
|
||||
String endDay = LocalDateTimeUtil.format(LocalDateTimeUtil.endOfDay(LocalDateTimeUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN)),DatePattern.NORM_DATETIME_PATTERN);
|
||||
for (List<String> pendingId : pendingIds) {
|
||||
@@ -169,7 +169,7 @@ public class DayDataServiceImpl implements DayDataService {
|
||||
|
||||
List<String> lineIds = calculatedParam.getIdList();
|
||||
//河北数据量较大,单个监测点执行
|
||||
List<List<String>> pendingIds = ListUtils.partition(lineIds,5);
|
||||
List<List<String>> pendingIds = ListUtils.partition(lineIds,20);
|
||||
String beginDay =LocalDateTimeUtil.format(LocalDateTimeUtil.beginOfDay(LocalDateTimeUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN)),DatePattern.NORM_DATETIME_PATTERN);
|
||||
String endDay = LocalDateTimeUtil.format(LocalDateTimeUtil.endOfDay(LocalDateTimeUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN)),DatePattern.NORM_DATETIME_PATTERN);
|
||||
for (List<String> pendingId : pendingIds) {
|
||||
@@ -204,7 +204,7 @@ public class DayDataServiceImpl implements DayDataService {
|
||||
List<DayFluc> dayFlucList = new ArrayList<>();
|
||||
List<String> lineIds = calculatedParam.getIdList();
|
||||
//河北数据量较大,单个监测点执行
|
||||
List<List<String>> pendingIds = ListUtils.partition(lineIds,5);
|
||||
List<List<String>> pendingIds = ListUtils.partition(lineIds,20);
|
||||
String beginDay =LocalDateTimeUtil.format(LocalDateTimeUtil.beginOfDay(LocalDateTimeUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN)),DatePattern.NORM_DATETIME_PATTERN);
|
||||
String endDay = LocalDateTimeUtil.format(LocalDateTimeUtil.endOfDay(LocalDateTimeUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN)),DatePattern.NORM_DATETIME_PATTERN);
|
||||
for (List<String> pendingId : pendingIds) {
|
||||
@@ -240,7 +240,7 @@ public class DayDataServiceImpl implements DayDataService {
|
||||
|
||||
List<String> lineIds = calculatedParam.getIdList();
|
||||
//河北数据量较大,单个监测点执行
|
||||
List<List<String>> pendingIds = ListUtils.partition(lineIds,5);
|
||||
List<List<String>> pendingIds = ListUtils.partition(lineIds,20);
|
||||
String beginDay =LocalDateTimeUtil.format(LocalDateTimeUtil.beginOfDay(LocalDateTimeUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN)),DatePattern.NORM_DATETIME_PATTERN);
|
||||
String endDay = LocalDateTimeUtil.format(LocalDateTimeUtil.endOfDay(LocalDateTimeUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN)),DatePattern.NORM_DATETIME_PATTERN);
|
||||
for (List<String> pendingId : pendingIds) {
|
||||
@@ -277,7 +277,7 @@ public class DayDataServiceImpl implements DayDataService {
|
||||
|
||||
List<String> lineIds = calculatedParam.getIdList();
|
||||
//河北数据量较大,单个监测点执行
|
||||
List<List<String>> pendingIds = ListUtils.partition(lineIds,5);
|
||||
List<List<String>> pendingIds = ListUtils.partition(lineIds,20);
|
||||
String beginDay =LocalDateTimeUtil.format(LocalDateTimeUtil.beginOfDay(LocalDateTimeUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN)),DatePattern.NORM_DATETIME_PATTERN);
|
||||
String endDay = LocalDateTimeUtil.format(LocalDateTimeUtil.endOfDay(LocalDateTimeUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN)),DatePattern.NORM_DATETIME_PATTERN);
|
||||
for (List<String> pendingId : pendingIds) {
|
||||
@@ -312,7 +312,7 @@ public class DayDataServiceImpl implements DayDataService {
|
||||
List<DayHarmPowerP> dayHarmPowerPList = new ArrayList<>();
|
||||
List<String> lineIds = calculatedParam.getIdList();
|
||||
//河北数据量较大,单个监测点执行
|
||||
List<List<String>> pendingIds = ListUtils.partition(lineIds,5);
|
||||
List<List<String>> pendingIds = ListUtils.partition(lineIds,20);
|
||||
String beginDay =LocalDateTimeUtil.format(LocalDateTimeUtil.beginOfDay(LocalDateTimeUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN)),DatePattern.NORM_DATETIME_PATTERN);
|
||||
String endDay = LocalDateTimeUtil.format(LocalDateTimeUtil.endOfDay(LocalDateTimeUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN)),DatePattern.NORM_DATETIME_PATTERN);
|
||||
for (List<String> pendingId : pendingIds) {
|
||||
@@ -348,7 +348,7 @@ public class DayDataServiceImpl implements DayDataService {
|
||||
|
||||
List<String> lineIds = calculatedParam.getIdList();
|
||||
//河北数据量较大,单个监测点执行
|
||||
List<List<String>> pendingIds = ListUtils.partition(lineIds,5);
|
||||
List<List<String>> pendingIds = ListUtils.partition(lineIds,20);
|
||||
String beginDay =LocalDateTimeUtil.format(LocalDateTimeUtil.beginOfDay(LocalDateTimeUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN)),DatePattern.NORM_DATETIME_PATTERN);
|
||||
String endDay = LocalDateTimeUtil.format(LocalDateTimeUtil.endOfDay(LocalDateTimeUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN)),DatePattern.NORM_DATETIME_PATTERN);
|
||||
for (List<String> pendingId : pendingIds) {
|
||||
@@ -384,7 +384,7 @@ public class DayDataServiceImpl implements DayDataService {
|
||||
|
||||
List<String> lineIds = calculatedParam.getIdList();
|
||||
//河北数据量较大,单个监测点执行
|
||||
List<List<String>> pendingIds = ListUtils.partition(lineIds,5);
|
||||
List<List<String>> pendingIds = ListUtils.partition(lineIds,20);
|
||||
String beginDay =LocalDateTimeUtil.format(LocalDateTimeUtil.beginOfDay(LocalDateTimeUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN)),DatePattern.NORM_DATETIME_PATTERN);
|
||||
String endDay = LocalDateTimeUtil.format(LocalDateTimeUtil.endOfDay(LocalDateTimeUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN)),DatePattern.NORM_DATETIME_PATTERN);
|
||||
for (List<String> pendingId : pendingIds) {
|
||||
@@ -420,7 +420,7 @@ public class DayDataServiceImpl implements DayDataService {
|
||||
|
||||
List<String> lineIds = calculatedParam.getIdList();
|
||||
//河北数据量较大,单个监测点执行
|
||||
List<List<String>> pendingIds = ListUtils.partition(lineIds,5);
|
||||
List<List<String>> pendingIds = ListUtils.partition(lineIds,20);
|
||||
String beginDay =LocalDateTimeUtil.format(LocalDateTimeUtil.beginOfDay(LocalDateTimeUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN)),DatePattern.NORM_DATETIME_PATTERN);
|
||||
String endDay = LocalDateTimeUtil.format(LocalDateTimeUtil.endOfDay(LocalDateTimeUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN)),DatePattern.NORM_DATETIME_PATTERN);
|
||||
for (List<String> pendingId : pendingIds) {
|
||||
@@ -456,7 +456,7 @@ public class DayDataServiceImpl implements DayDataService {
|
||||
|
||||
List<String> lineIds = calculatedParam.getIdList();
|
||||
//河北数据量较大,单个监测点执行
|
||||
List<List<String>> pendingIds = ListUtils.partition(lineIds,5);
|
||||
List<List<String>> pendingIds = ListUtils.partition(lineIds,20);
|
||||
String beginDay =LocalDateTimeUtil.format(LocalDateTimeUtil.beginOfDay(LocalDateTimeUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN)),DatePattern.NORM_DATETIME_PATTERN);
|
||||
String endDay = LocalDateTimeUtil.format(LocalDateTimeUtil.endOfDay(LocalDateTimeUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN)),DatePattern.NORM_DATETIME_PATTERN);
|
||||
for (List<String> pendingId : pendingIds) {
|
||||
@@ -492,7 +492,7 @@ public class DayDataServiceImpl implements DayDataService {
|
||||
|
||||
List<String> lineIds = calculatedParam.getIdList();
|
||||
//河北数据量较大,单个监测点执行
|
||||
List<List<String>> pendingIds = ListUtils.partition(lineIds,5);
|
||||
List<List<String>> pendingIds = ListUtils.partition(lineIds,20);
|
||||
String beginDay =LocalDateTimeUtil.format(LocalDateTimeUtil.beginOfDay(LocalDateTimeUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN)),DatePattern.NORM_DATETIME_PATTERN);
|
||||
String endDay = LocalDateTimeUtil.format(LocalDateTimeUtil.endOfDay(LocalDateTimeUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN)),DatePattern.NORM_DATETIME_PATTERN);
|
||||
for (List<String> pendingId : pendingIds) {
|
||||
@@ -528,7 +528,7 @@ public class DayDataServiceImpl implements DayDataService {
|
||||
|
||||
List<String> lineIds = calculatedParam.getIdList();
|
||||
//河北数据量较大,单个监测点执行
|
||||
List<List<String>> pendingIds = ListUtils.partition(lineIds,5);
|
||||
List<List<String>> pendingIds = ListUtils.partition(lineIds,20);
|
||||
String beginDay =LocalDateTimeUtil.format(LocalDateTimeUtil.beginOfDay(LocalDateTimeUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN)),DatePattern.NORM_DATETIME_PATTERN);
|
||||
String endDay = LocalDateTimeUtil.format(LocalDateTimeUtil.endOfDay(LocalDateTimeUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN)),DatePattern.NORM_DATETIME_PATTERN);
|
||||
for (List<String> pendingId : pendingIds) {
|
||||
@@ -564,7 +564,7 @@ public class DayDataServiceImpl implements DayDataService {
|
||||
|
||||
List<String> lineIds = calculatedParam.getIdList();
|
||||
//河北数据量较大,单个监测点执行
|
||||
List<List<String>> pendingIds = ListUtils.partition(lineIds,5);
|
||||
List<List<String>> pendingIds = ListUtils.partition(lineIds,20);
|
||||
String beginDay =LocalDateTimeUtil.format(LocalDateTimeUtil.beginOfDay(LocalDateTimeUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN)),DatePattern.NORM_DATETIME_PATTERN);
|
||||
String endDay = LocalDateTimeUtil.format(LocalDateTimeUtil.endOfDay(LocalDateTimeUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN)),DatePattern.NORM_DATETIME_PATTERN);
|
||||
for (List<String> pendingId : pendingIds) {
|
||||
@@ -647,7 +647,7 @@ public class DayDataServiceImpl implements DayDataService {
|
||||
|
||||
List<String> lineIds = calculatedParam.getIdList();
|
||||
//河北数据量较大,以尺寸20分片
|
||||
List<List<String>> pendingIds = ListUtils.partition(lineIds,5);
|
||||
List<List<String>> pendingIds = ListUtils.partition(lineIds,20);
|
||||
String beginDay =LocalDateTimeUtil.format(LocalDateTimeUtil.beginOfDay(LocalDateTimeUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN)),DatePattern.NORM_DATETIME_PATTERN);
|
||||
String endDay = LocalDateTimeUtil.format(LocalDateTimeUtil.endOfDay(LocalDateTimeUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN)),DatePattern.NORM_DATETIME_PATTERN);
|
||||
for (List<String> pendingId : pendingIds) {
|
||||
|
||||
@@ -108,7 +108,7 @@ public class IntegrityServiceImpl extends MppServiceImpl<RStatIntegrityDMapper,
|
||||
DatePattern.NORM_DATETIME_PATTERN
|
||||
);
|
||||
//以尺寸100分片
|
||||
List<List<String>> pendingIds = ListUtils.partition(lineIds,20);
|
||||
List<List<String>> pendingIds = ListUtils.partition(lineIds,5);
|
||||
for (List<String> pendingId : pendingIds) {
|
||||
List<LineDevGetDTO> lineDevGetDTOList = commTerminalGeneralClient.getMonitorDetailList(pendingId).getData();
|
||||
List<MeasurementCount> countList = this.getMeasurementCount(pendingId,beginDay,endDay);
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
package com.njcn.prepare.harmonic.service.mysql.Impl.line;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.date.DatePattern;
|
||||
import cn.hutool.core.date.LocalDateTimeUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
||||
import com.njcn.common.utils.NjcnBeanUtil;
|
||||
import com.njcn.device.biz.commApi.CommTerminalGeneralClient;
|
||||
@@ -21,10 +23,10 @@ import com.njcn.prepare.harmonic.service.mysql.line.LimitRateService;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections4.ListUtils;
|
||||
import org.springframework.scheduling.annotation.Async;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
import sun.security.krb5.internal.Ticket;
|
||||
|
||||
import java.time.Instant;
|
||||
import java.time.LocalDateTime;
|
||||
@@ -54,10 +56,9 @@ public class LimitRateServiceImpl extends MppServiceImpl<LimitRatePOMapper, Limi
|
||||
|
||||
/*********************************************新算法***********************************************************/
|
||||
@Override
|
||||
@Transactional(rollbackFor = {Exception.class})
|
||||
public void limitRate(CalculatedParam calculatedParam) {
|
||||
log.info(LocalDateTime.now()+"r_stat_limit_rate_d开始执行=======》");
|
||||
public void limitRate(CalculatedParam calculatedParam,Integer step) {
|
||||
List<RStatLimitRateDPO> list = new ArrayList<>();
|
||||
|
||||
List<DataV> list1 = new ArrayList<>();
|
||||
List<DataPlt> list2 = new ArrayList<>();
|
||||
List<DataHarmRateV> list3 = new ArrayList<>();
|
||||
@@ -69,20 +70,28 @@ public class LimitRateServiceImpl extends MppServiceImpl<LimitRatePOMapper, Limi
|
||||
List<DataV> list9 = new ArrayList<>();
|
||||
List<DataV> list10 = new ArrayList<>();
|
||||
List<DataPlt> list11 = new ArrayList<>();
|
||||
|
||||
Map<String,List<DataV>> map1 = new HashMap<>();
|
||||
Map<String,List<DataPlt>> map2 = new HashMap<>();
|
||||
Map<String,List<DataHarmRateV>> map3 = new HashMap<>();
|
||||
Map<String,List<DataI>> map4 = new HashMap<>();
|
||||
Map<String,List<DataInHarmV>> map5 = new HashMap<>();
|
||||
Map<String,List<DataV>> map6 = new HashMap<>();
|
||||
Map<String,List<DataV>> map7 = new HashMap<>();
|
||||
Map<String,List<DataI>> map8 = new HashMap<>();
|
||||
Map<String,List<DataV>> map9 = new HashMap<>();
|
||||
Map<String,List<DataV>> map10 = new HashMap<>();
|
||||
Map<String,List<DataPlt>> map11 = new HashMap<>();
|
||||
|
||||
List<String> lineIds = calculatedParam.getIdList();
|
||||
String startTime = LocalDateTimeUtil.format(
|
||||
LocalDateTimeUtil.beginOfDay(LocalDateTimeUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN)),
|
||||
DatePattern.NORM_DATETIME_PATTERN
|
||||
);
|
||||
String endTime = LocalDateTimeUtil.format(
|
||||
LocalDateTimeUtil.endOfDay(LocalDateTimeUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN)),
|
||||
DatePattern.NORM_DATETIME_PATTERN
|
||||
);
|
||||
String startTime = this.getTime(calculatedParam.getDataDate(),step,true);
|
||||
String endTime = this.getTime(calculatedParam.getDataDate(),step,false);
|
||||
|
||||
//获取所有监测点的限值
|
||||
List<Overlimit> overLimitList = commTerminalGeneralClient.getAllLineOverLimit().getData();
|
||||
Map<String,List<Overlimit>> overLimitMap = overLimitList.stream().collect(Collectors.groupingBy(Overlimit::getId));
|
||||
//以尺寸100分片,查询数据
|
||||
List<List<String>> pendingIds = ListUtils.partition(lineIds,1);
|
||||
List<List<String>> pendingIds = ListUtils.partition(lineIds,50);
|
||||
for (List<String> pendingId : pendingIds) {
|
||||
list1.addAll(getAllTime(pendingId, startTime, endTime));
|
||||
list2.addAll(getFlickerAllTime(pendingId, startTime, endTime));
|
||||
@@ -95,21 +104,20 @@ public class LimitRateServiceImpl extends MppServiceImpl<LimitRatePOMapper, Limi
|
||||
list9.addAll(getDataVFreq(pendingId, startTime, endTime));
|
||||
list10.addAll(getDataVDev(pendingId, startTime, endTime));
|
||||
list11.addAll(getDataPlt(pendingId, startTime, endTime));
|
||||
}
|
||||
//数据处理,按监测点分组
|
||||
Map<String,List<DataV>> map1 = list1.stream().collect(Collectors.groupingBy(DataV::getLineId));
|
||||
Map<String,List<DataPlt>> map2 = list2.stream().collect(Collectors.groupingBy(DataPlt::getLineId));
|
||||
Map<String,List<DataHarmRateV>> map3 = list3.stream().collect(Collectors.groupingBy(DataHarmRateV::getLineId));
|
||||
Map<String,List<DataI>> map4 = list4.stream().collect(Collectors.groupingBy(DataI::getLineId));
|
||||
Map<String,List<DataInHarmV>> map5 = list5.stream().collect(Collectors.groupingBy(DataInHarmV::getLineId));
|
||||
Map<String,List<DataV>> map6 = list6.stream().collect(Collectors.groupingBy(DataV::getLineId));
|
||||
Map<String,List<DataV>> map7 = list7.stream().collect(Collectors.groupingBy(DataV::getLineId));
|
||||
Map<String,List<DataI>> map8 = list8.stream().collect(Collectors.groupingBy(DataI::getLineId));
|
||||
Map<String,List<DataV>> map9 = list9.stream().collect(Collectors.groupingBy(DataV::getLineId));
|
||||
Map<String,List<DataV>> map10 = list10.stream().collect(Collectors.groupingBy(DataV::getLineId));
|
||||
Map<String,List<DataPlt>> map11 = list11.stream().collect(Collectors.groupingBy(DataPlt::getLineId));
|
||||
|
||||
for (List<String> pendingId : pendingIds) {
|
||||
//数据处理,按监测点分组
|
||||
map1 = list1.stream().collect(Collectors.groupingBy(DataV::getLineId));
|
||||
map2 = list2.stream().collect(Collectors.groupingBy(DataPlt::getLineId));
|
||||
map3 = list3.stream().collect(Collectors.groupingBy(DataHarmRateV::getLineId));
|
||||
map4 = list4.stream().collect(Collectors.groupingBy(DataI::getLineId));
|
||||
map5 = list5.stream().collect(Collectors.groupingBy(DataInHarmV::getLineId));
|
||||
map6 = list6.stream().collect(Collectors.groupingBy(DataV::getLineId));
|
||||
map7 = list7.stream().collect(Collectors.groupingBy(DataV::getLineId));
|
||||
map8 = list8.stream().collect(Collectors.groupingBy(DataI::getLineId));
|
||||
map9 = list9.stream().collect(Collectors.groupingBy(DataV::getLineId));
|
||||
map10 = list10.stream().collect(Collectors.groupingBy(DataV::getLineId));
|
||||
map11 = list11.stream().collect(Collectors.groupingBy(DataPlt::getLineId));
|
||||
|
||||
for (String item : pendingId) {
|
||||
List<LimitRate> result = getData(overLimitMap.get(item).get(0), map1.get(item), map2.get(item), map3.get(item), map4.get(item), map5.get(item), map6.get(item), map7.get(item), map8.get(item), map9.get(item), map10.get(item), map11.get(item));
|
||||
List<RStatLimitRateDPO> collect = result.stream().map(t -> {
|
||||
@@ -122,11 +130,151 @@ public class LimitRateServiceImpl extends MppServiceImpl<LimitRatePOMapper, Limi
|
||||
}
|
||||
}
|
||||
if (!CollectionUtils.isEmpty(list)){
|
||||
//判断是否要做合并处理
|
||||
LambdaQueryWrapper<RStatLimitRateDPO> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapper.eq(RStatLimitRateDPO::getTime, calculatedParam.getDataDate());
|
||||
List<RStatLimitRateDPO> originalData = statLimitRateDService.list(lambdaQueryWrapper);
|
||||
//如果是执行的全链路,且执行第一步,先要删掉原来数据
|
||||
if (calculatedParam.isFullChain() && step == 1){
|
||||
statLimitRateDService.remove(lambdaQueryWrapper);
|
||||
originalData = new ArrayList<>();
|
||||
}
|
||||
if (CollUtil.isNotEmpty(originalData)){
|
||||
list = this.mergeData(originalData,list);
|
||||
}
|
||||
/*插入mysql*/
|
||||
statLimitRateDService.saveOrUpdateBatchByMultiId(list,1000);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 时间选择
|
||||
*/
|
||||
public String getTime(String basisTime, Integer step, boolean type) {
|
||||
String time = null;
|
||||
switch (step) {
|
||||
case 1:
|
||||
if (type){
|
||||
time = basisTime + " 00:00:00";
|
||||
} else {
|
||||
time = basisTime + " 05:59:59";
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
if (type){
|
||||
time = basisTime + " 06:00:00";
|
||||
} else {
|
||||
time = basisTime + " 11:59:59";
|
||||
}
|
||||
case 3:
|
||||
if (type){
|
||||
time = basisTime + " 12:00:00";
|
||||
} else {
|
||||
time = basisTime + " 17:59:59";
|
||||
}
|
||||
case 4:
|
||||
if (type){
|
||||
time = basisTime + " 18:00:00";
|
||||
} else {
|
||||
time = basisTime + " 23:59:59";
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
return time;
|
||||
}
|
||||
|
||||
/**
|
||||
* 数据合并处理
|
||||
*/
|
||||
public List<RStatLimitRateDPO> mergeData(List<RStatLimitRateDPO> list1, List<RStatLimitRateDPO> list2) {
|
||||
List<RStatLimitRateDPO> list = list1.stream().map(m -> {
|
||||
list2.stream().filter(m2-> Objects.equals(m.getLineId(),m2.getLineId()) && Objects.equals(m.getPhasicType(),m2.getPhasicType())).forEach(m2-> {
|
||||
m.setAllTime(m.getAllTime() + m2.getAllTime());
|
||||
m.setFlickerAllTime(m.getFlickerOvertime() + m2.getFlickerAllTime());
|
||||
m.setFreqDevOvertime(m.getFreqDevOvertime() + m2.getFreqDevOvertime());
|
||||
m.setVoltageDevOvertime(m.getVoltageDevOvertime() + m2.getVoltageDevOvertime());
|
||||
m.setUbalanceOvertime(m.getUbalanceOvertime() + m2.getUbalanceOvertime());
|
||||
m.setFlickerOvertime(m.getFlickerOvertime() + m2.getFlickerOvertime());
|
||||
m.setUaberranceOvertime(m.getUaberranceOvertime() + m2.getUaberranceOvertime());
|
||||
|
||||
m.setUharm2Overtime(m.getUharm2Overtime() + m2.getUharm2Overtime());
|
||||
m.setUharm3Overtime(m.getUharm3Overtime() + m2.getUharm3Overtime());
|
||||
m.setUharm4Overtime(m.getUharm4Overtime() + m2.getUharm4Overtime());
|
||||
m.setUharm5Overtime(m.getUharm5Overtime() + m2.getUharm5Overtime());
|
||||
m.setUharm6Overtime(m.getUharm6Overtime() + m2.getUharm6Overtime());
|
||||
m.setUharm7Overtime(m.getUharm7Overtime() + m2.getUharm7Overtime());
|
||||
m.setUharm8Overtime(m.getUharm8Overtime() + m2.getUharm8Overtime());
|
||||
m.setUharm9Overtime(m.getUharm9Overtime() + m2.getUharm9Overtime());
|
||||
m.setUharm10Overtime(m.getUharm10Overtime() + m2.getUharm10Overtime());
|
||||
m.setUharm11Overtime(m.getUharm11Overtime() + m2.getUharm11Overtime());
|
||||
m.setUharm12Overtime(m.getUharm12Overtime() + m2.getUharm12Overtime());
|
||||
m.setUharm13Overtime(m.getUharm13Overtime() + m2.getUharm13Overtime());
|
||||
m.setUharm14Overtime(m.getUharm14Overtime() + m2.getUharm14Overtime());
|
||||
m.setUharm15Overtime(m.getUharm15Overtime() + m2.getUharm15Overtime());
|
||||
m.setUharm16Overtime(m.getUharm16Overtime() + m2.getUharm16Overtime());
|
||||
m.setUharm17Overtime(m.getUharm17Overtime() + m2.getUharm17Overtime());
|
||||
m.setUharm18Overtime(m.getUharm18Overtime() + m2.getUharm18Overtime());
|
||||
m.setUharm19Overtime(m.getUharm19Overtime() + m2.getUharm19Overtime());
|
||||
m.setUharm20Overtime(m.getUharm20Overtime() + m2.getUharm20Overtime());
|
||||
m.setUharm21Overtime(m.getUharm21Overtime() + m2.getUharm21Overtime());
|
||||
m.setUharm22Overtime(m.getUharm22Overtime() + m2.getUharm22Overtime());
|
||||
m.setUharm23Overtime(m.getUharm23Overtime() + m2.getUharm23Overtime());
|
||||
m.setUharm24Overtime(m.getUharm24Overtime() + m2.getUharm24Overtime());
|
||||
m.setUharm25Overtime(m.getUharm25Overtime() + m2.getUharm25Overtime());
|
||||
|
||||
m.setIharm2Overtime(m.getIharm2Overtime() + m2.getIharm2Overtime());
|
||||
m.setIharm3Overtime(m.getIharm3Overtime() + m2.getIharm3Overtime());
|
||||
m.setIharm4Overtime(m.getIharm4Overtime() + m2.getIharm4Overtime());
|
||||
m.setIharm5Overtime(m.getIharm5Overtime() + m2.getIharm5Overtime());
|
||||
m.setIharm6Overtime(m.getIharm6Overtime() + m2.getIharm6Overtime());
|
||||
m.setIharm7Overtime(m.getIharm7Overtime() + m2.getIharm7Overtime());
|
||||
m.setIharm8Overtime(m.getIharm8Overtime() + m2.getIharm8Overtime());
|
||||
m.setIharm9Overtime(m.getIharm9Overtime() + m2.getIharm9Overtime());
|
||||
m.setIharm10Overtime(m.getIharm10Overtime() + m2.getIharm10Overtime());
|
||||
m.setIharm11Overtime(m.getIharm11Overtime() + m2.getIharm11Overtime());
|
||||
m.setIharm12Overtime(m.getIharm12Overtime() + m2.getIharm12Overtime());
|
||||
m.setIharm13Overtime(m.getIharm13Overtime() + m2.getIharm13Overtime());
|
||||
m.setIharm14Overtime(m.getIharm14Overtime() + m2.getIharm14Overtime());
|
||||
m.setIharm15Overtime(m.getIharm15Overtime() + m2.getIharm15Overtime());
|
||||
m.setIharm16Overtime(m.getIharm16Overtime() + m2.getIharm16Overtime());
|
||||
m.setIharm17Overtime(m.getIharm17Overtime() + m2.getIharm17Overtime());
|
||||
m.setIharm18Overtime(m.getIharm18Overtime() + m2.getIharm18Overtime());
|
||||
m.setIharm19Overtime(m.getIharm19Overtime() + m2.getIharm19Overtime());
|
||||
m.setIharm20Overtime(m.getIharm20Overtime() + m2.getIharm20Overtime());
|
||||
m.setIharm21Overtime(m.getIharm21Overtime() + m2.getIharm21Overtime());
|
||||
m.setIharm22Overtime(m.getIharm22Overtime() + m2.getIharm22Overtime());
|
||||
m.setIharm23Overtime(m.getIharm23Overtime() + m2.getIharm23Overtime());
|
||||
m.setIharm24Overtime(m.getIharm24Overtime() + m2.getIharm24Overtime());
|
||||
m.setIharm25Overtime(m.getIharm25Overtime() + m2.getIharm25Overtime());
|
||||
|
||||
m.setInuharm1Overtime(m.getInuharm1Overtime() + m2.getInuharm1Overtime());
|
||||
m.setInuharm2Overtime(m.getInuharm2Overtime() + m2.getInuharm2Overtime());
|
||||
m.setInuharm3Overtime(m.getInuharm3Overtime() + m2.getInuharm3Overtime());
|
||||
m.setInuharm4Overtime(m.getInuharm4Overtime() + m2.getInuharm4Overtime());
|
||||
m.setInuharm5Overtime(m.getInuharm5Overtime() + m2.getInuharm5Overtime());
|
||||
m.setInuharm6Overtime(m.getInuharm6Overtime() + m2.getInuharm6Overtime());
|
||||
m.setInuharm7Overtime(m.getInuharm7Overtime() + m2.getInuharm7Overtime());
|
||||
m.setInuharm8Overtime(m.getInuharm8Overtime() + m2.getInuharm8Overtime());
|
||||
m.setInuharm9Overtime(m.getInuharm9Overtime() + m2.getInuharm9Overtime());
|
||||
m.setInuharm10Overtime(m.getInuharm10Overtime() + m2.getInuharm10Overtime());
|
||||
m.setInuharm11Overtime(m.getInuharm11Overtime() + m2.getInuharm11Overtime());
|
||||
m.setInuharm12Overtime(m.getInuharm12Overtime() + m2.getInuharm12Overtime());
|
||||
m.setInuharm13Overtime(m.getInuharm13Overtime() + m2.getInuharm13Overtime());
|
||||
m.setInuharm14Overtime(m.getInuharm14Overtime() + m2.getInuharm14Overtime());
|
||||
m.setInuharm15Overtime(m.getInuharm15Overtime() + m2.getInuharm15Overtime());
|
||||
m.setInuharm16Overtime(m.getInuharm16Overtime() + m2.getInuharm16Overtime());
|
||||
|
||||
});
|
||||
return m;
|
||||
}).collect(Collectors.toList());
|
||||
|
||||
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
/**
|
||||
* 功能描述:获取influxDB -> data_v -> 总计算次数(用data_v中phasic_type=A,value_type=avg,quality_flag=0来参与统计)
|
||||
*
|
||||
@@ -179,7 +327,19 @@ public class LimitRateServiceImpl extends MppServiceImpl<LimitRatePOMapper, Limi
|
||||
*/
|
||||
public List<DataHarmRateV> getDataHarmRateV(List<String> lineIndex, String startTime, String endTime) {
|
||||
InfluxQueryWrapper influxQueryWrapper = new InfluxQueryWrapper(DataHarmRateV.class);
|
||||
influxQueryWrapper.regular(DataHarmRateV::getLineId, lineIndex)
|
||||
influxQueryWrapper.select(DataHarmRateV::getLineId)
|
||||
.select(DataHarmRateV::getPhaseType)
|
||||
.select(DataHarmRateV::getQualityFlag)
|
||||
.select(DataHarmRateV::getValueType)
|
||||
.select(DataHarmRateV::getV2)
|
||||
.select(DataHarmRateV::getV3)
|
||||
.select(DataHarmRateV::getV4).select(DataHarmRateV::getV5).select(DataHarmRateV::getV6).select(DataHarmRateV::getV7)
|
||||
.select(DataHarmRateV::getV8).select(DataHarmRateV::getV9).select(DataHarmRateV::getV10).select(DataHarmRateV::getV11)
|
||||
.select(DataHarmRateV::getV11).select(DataHarmRateV::getV12).select(DataHarmRateV::getV13).select(DataHarmRateV::getV14)
|
||||
.select(DataHarmRateV::getV15).select(DataHarmRateV::getV16).select(DataHarmRateV::getV17).select(DataHarmRateV::getV18)
|
||||
.select(DataHarmRateV::getV19).select(DataHarmRateV::getV20).select(DataHarmRateV::getV21).select(DataHarmRateV::getV22)
|
||||
.select(DataHarmRateV::getV23).select(DataHarmRateV::getV24).select(DataHarmRateV::getV25)
|
||||
.regular(DataHarmRateV::getLineId, lineIndex)
|
||||
.regular(DataHarmRateV::getPhaseType, Arrays.asList(InfluxDBTableConstant.PHASE_TYPE_A,InfluxDBTableConstant.PHASE_TYPE_B,InfluxDBTableConstant.PHASE_TYPE_C))
|
||||
.eq(DataHarmRateV::getValueType, InfluxDBTableConstant.CP95)
|
||||
.eq(DataHarmRateV::getQualityFlag, InfluxDBTableConstant.NORMAL)
|
||||
@@ -197,7 +357,18 @@ public class LimitRateServiceImpl extends MppServiceImpl<LimitRatePOMapper, Limi
|
||||
*/
|
||||
public List<DataI> getDataI(List<String> lineIndex, String startTime, String endTime) {
|
||||
InfluxQueryWrapper influxQueryWrapper = new InfluxQueryWrapper(DataI.class);
|
||||
influxQueryWrapper.regular(DataI::getLineId, lineIndex)
|
||||
influxQueryWrapper.select(DataI::getLineId)
|
||||
.select(DataI::getPhaseType)
|
||||
.select(DataI::getQualityFlag)
|
||||
.select(DataI::getValueType)
|
||||
.select(DataI::getINeg).select(DataI::getI2).select(DataI::getI3)
|
||||
.select(DataI::getI4).select(DataI::getI5).select(DataI::getI6).select(DataI::getI7)
|
||||
.select(DataI::getI8).select(DataI::getI9).select(DataI::getI10).select(DataI::getI11)
|
||||
.select(DataI::getI11).select(DataI::getI12).select(DataI::getI13).select(DataI::getI14)
|
||||
.select(DataI::getI15).select(DataI::getI16).select(DataI::getI17).select(DataI::getI18)
|
||||
.select(DataI::getI19).select(DataI::getI20).select(DataI::getI21).select(DataI::getI22)
|
||||
.select(DataI::getI23).select(DataI::getI24).select(DataI::getI25)
|
||||
.regular(DataI::getLineId, lineIndex)
|
||||
.regular(DataI::getPhaseType, Arrays.asList(InfluxDBTableConstant.PHASE_TYPE_A,InfluxDBTableConstant.PHASE_TYPE_B,InfluxDBTableConstant.PHASE_TYPE_C))
|
||||
.eq(DataI::getValueType, InfluxDBTableConstant.CP95)
|
||||
.eq(DataI::getQualityFlag, InfluxDBTableConstant.NORMAL)
|
||||
@@ -216,7 +387,18 @@ public class LimitRateServiceImpl extends MppServiceImpl<LimitRatePOMapper, Limi
|
||||
*/
|
||||
public List<DataInHarmV> getDataInHarmV(List<String> lineIndex, String startTime, String endTime) {
|
||||
InfluxQueryWrapper influxQueryWrapper = new InfluxQueryWrapper(DataInHarmV.class);
|
||||
influxQueryWrapper.regular(DataInHarmV::getLineId, lineIndex)
|
||||
influxQueryWrapper.select(DataHarmRateV::getLineId)
|
||||
.select(DataInHarmV::getPhaseType)
|
||||
.select(DataInHarmV::getQualityFlag)
|
||||
.select(DataInHarmV::getValueType).select(DataInHarmV::getV1)
|
||||
.select(DataInHarmV::getV2).select(DataInHarmV::getV3)
|
||||
.select(DataInHarmV::getV4).select(DataInHarmV::getV5).select(DataInHarmV::getV6).select(DataInHarmV::getV7)
|
||||
.select(DataInHarmV::getV8).select(DataInHarmV::getV9).select(DataInHarmV::getV10).select(DataInHarmV::getV11)
|
||||
.select(DataInHarmV::getV11).select(DataInHarmV::getV12).select(DataInHarmV::getV13).select(DataInHarmV::getV14)
|
||||
.select(DataInHarmV::getV15).select(DataInHarmV::getV16).select(DataInHarmV::getV17).select(DataInHarmV::getV18)
|
||||
.select(DataInHarmV::getV19).select(DataInHarmV::getV20).select(DataInHarmV::getV21).select(DataInHarmV::getV22)
|
||||
.select(DataInHarmV::getV23).select(DataInHarmV::getV24).select(DataInHarmV::getV25)
|
||||
.regular(DataInHarmV::getLineId, lineIndex)
|
||||
.regular(DataInHarmV::getPhaseType, Arrays.asList(InfluxDBTableConstant.PHASE_TYPE_A,InfluxDBTableConstant.PHASE_TYPE_B,InfluxDBTableConstant.PHASE_TYPE_C))
|
||||
.eq(DataInHarmV::getValueType, InfluxDBTableConstant.CP95)
|
||||
.eq(DataInHarmV::getQualityFlag, InfluxDBTableConstant.NORMAL)
|
||||
@@ -235,7 +417,12 @@ public class LimitRateServiceImpl extends MppServiceImpl<LimitRatePOMapper, Limi
|
||||
*/
|
||||
public List<DataV> getDataVThd(List<String> lineIndex, String startTime, String endTime) {
|
||||
InfluxQueryWrapper influxQueryWrapper = new InfluxQueryWrapper(DataV.class);
|
||||
influxQueryWrapper.regular(DataV::getLineId, lineIndex)
|
||||
influxQueryWrapper.select(DataV::getLineId)
|
||||
.select(DataV::getPhasicType)
|
||||
.select(DataV::getQualityFlag)
|
||||
.select(DataV::getValueType)
|
||||
.select(DataV::getVThd)
|
||||
.regular(DataV::getLineId, lineIndex)
|
||||
.eq(DataV::getValueType, InfluxDbSqlConstant.CP95)
|
||||
.regular(DataV::getPhasicType, Arrays.asList(InfluxDBTableConstant.PHASE_TYPE_A,InfluxDBTableConstant.PHASE_TYPE_B,InfluxDBTableConstant.PHASE_TYPE_C))
|
||||
.eq(DataV::getQualityFlag, InfluxDBTableConstant.NORMAL)
|
||||
@@ -254,7 +441,12 @@ public class LimitRateServiceImpl extends MppServiceImpl<LimitRatePOMapper, Limi
|
||||
*/
|
||||
public List<DataV> getDataVUnbalance(List<String> lineIndex, String startTime, String endTime) {
|
||||
InfluxQueryWrapper influxQueryWrapper = new InfluxQueryWrapper(DataV.class);
|
||||
influxQueryWrapper.regular(DataV::getLineId, lineIndex)
|
||||
influxQueryWrapper.select(DataV::getLineId)
|
||||
.select(DataV::getPhasicType)
|
||||
.select(DataV::getQualityFlag)
|
||||
.select(DataV::getValueType)
|
||||
.select(DataV::getVUnbalance)
|
||||
.regular(DataV::getLineId, lineIndex)
|
||||
.regular(DataV::getValueType, Arrays.asList(InfluxDbSqlConstant.CP95,InfluxDbSqlConstant.MAX))
|
||||
.eq(DataV::getPhasicType, InfluxDBTableConstant.PHASE_TYPE_T)
|
||||
.eq(DataV::getQualityFlag, InfluxDBTableConstant.NORMAL)
|
||||
@@ -273,7 +465,12 @@ public class LimitRateServiceImpl extends MppServiceImpl<LimitRatePOMapper, Limi
|
||||
*/
|
||||
public List<DataI> getDataINeg(List<String> lineIndex, String startTime, String endTime) {
|
||||
InfluxQueryWrapper influxQueryWrapper = new InfluxQueryWrapper(DataI.class);
|
||||
influxQueryWrapper.regular(DataI::getLineId, lineIndex)
|
||||
influxQueryWrapper.select(DataHarmRateV::getLineId)
|
||||
.select(DataI::getPhaseType)
|
||||
.select(DataI::getQualityFlag)
|
||||
.select(DataI::getValueType)
|
||||
.select(DataI::getINeg)
|
||||
.regular(DataI::getLineId, lineIndex)
|
||||
.eq(DataI::getPhaseType, InfluxDBTableConstant.PHASE_TYPE_T)
|
||||
.regular(DataI::getValueType, Arrays.asList(InfluxDbSqlConstant.CP95,InfluxDbSqlConstant.MAX))
|
||||
.eq(DataI::getQualityFlag, InfluxDBTableConstant.NORMAL)
|
||||
@@ -292,7 +489,12 @@ public class LimitRateServiceImpl extends MppServiceImpl<LimitRatePOMapper, Limi
|
||||
*/
|
||||
public List<DataV> getDataVFreq(List<String> lineIndex, String startTime, String endTime) {
|
||||
InfluxQueryWrapper influxQueryWrapper = new InfluxQueryWrapper(DataV.class);
|
||||
influxQueryWrapper.regular(DataV::getLineId, lineIndex)
|
||||
influxQueryWrapper.select(DataV::getLineId)
|
||||
.select(DataV::getPhasicType)
|
||||
.select(DataV::getQualityFlag)
|
||||
.select(DataV::getValueType)
|
||||
.select(DataV::getFreqDev)
|
||||
.regular(DataV::getLineId, lineIndex)
|
||||
.regular(DataV::getValueType, Arrays.asList(InfluxDbSqlConstant.MIN,InfluxDbSqlConstant.MAX))
|
||||
.eq(DataV::getPhasicType, InfluxDBTableConstant.PHASE_TYPE_T)
|
||||
.eq(DataV::getQualityFlag, InfluxDBTableConstant.NORMAL)
|
||||
@@ -311,7 +513,12 @@ public class LimitRateServiceImpl extends MppServiceImpl<LimitRatePOMapper, Limi
|
||||
*/
|
||||
public List<DataV> getDataVDev(List<String> lineIndex, String startTime, String endTime) {
|
||||
InfluxQueryWrapper influxQueryWrapper = new InfluxQueryWrapper(DataV.class);
|
||||
influxQueryWrapper.regular(DataV::getLineId, lineIndex)
|
||||
influxQueryWrapper.select(DataV::getLineId)
|
||||
.select(DataV::getPhasicType)
|
||||
.select(DataV::getQualityFlag)
|
||||
.select(DataV::getValueType)
|
||||
.select(DataV::getVlDev)
|
||||
.select(DataV::getVuDev).regular(DataV::getLineId, lineIndex)
|
||||
.eq(DataV::getValueType, InfluxDbSqlConstant.MAX)
|
||||
.regular(DataV::getPhasicType, Arrays.asList(InfluxDBTableConstant.PHASE_TYPE_A,InfluxDBTableConstant.PHASE_TYPE_B,InfluxDBTableConstant.PHASE_TYPE_C))
|
||||
.eq(DataV::getQualityFlag, InfluxDBTableConstant.NORMAL)
|
||||
@@ -330,7 +537,12 @@ public class LimitRateServiceImpl extends MppServiceImpl<LimitRatePOMapper, Limi
|
||||
*/
|
||||
public List<DataPlt> getDataPlt(List<String> lineIndex, String startTime, String endTime) {
|
||||
InfluxQueryWrapper influxQueryWrapper = new InfluxQueryWrapper(DataPlt.class);
|
||||
influxQueryWrapper.regular(DataPlt::getLineId, lineIndex)
|
||||
influxQueryWrapper.select(DataPlt::getLineId)
|
||||
.select(DataPlt::getPhaseType)
|
||||
.select(DataPlt::getQualityFlag)
|
||||
.select(DataPlt::getValueType)
|
||||
.select(DataPlt::getPlt)
|
||||
.regular(DataPlt::getLineId, lineIndex)
|
||||
.regular(DataPlt::getPhaseType, Arrays.asList(InfluxDBTableConstant.PHASE_TYPE_A,InfluxDBTableConstant.PHASE_TYPE_B,InfluxDBTableConstant.PHASE_TYPE_C))
|
||||
.eq(DataPlt::getQualityFlag, InfluxDBTableConstant.NORMAL)
|
||||
.between(DataPlt::getTime, startTime, endTime);
|
||||
@@ -417,7 +629,6 @@ public class LimitRateServiceImpl extends MppServiceImpl<LimitRatePOMapper, Limi
|
||||
result.add (b);
|
||||
result.add (c);
|
||||
result.add (t);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -663,7 +874,7 @@ public class LimitRateServiceImpl extends MppServiceImpl<LimitRatePOMapper, Limi
|
||||
uDev++;
|
||||
}
|
||||
} else {
|
||||
if (Math.abs(item.getVlDev()) > Math.abs(overlimit.getUvoltageDev())){
|
||||
if (Math.abs(item.getVuDev()) > Math.abs(overlimit.getUvoltageDev())){
|
||||
uDev++;
|
||||
}
|
||||
}
|
||||
@@ -1065,7 +1276,7 @@ public class LimitRateServiceImpl extends MppServiceImpl<LimitRatePOMapper, Limi
|
||||
for (Instant time:map8.keySet()) {
|
||||
List<DataV> list = map8.get(time);
|
||||
List<DataV> l1 = list.stream().filter(s->s.getVlDev()>=0&&s.getVlDev()>overlimit.getVoltageDev()).collect(Collectors.toList());
|
||||
List<DataV> l2 = list.stream().filter(s->s.getVlDev()<0&&Math.abs(s.getVlDev())>Math.abs(overlimit.getUvoltageDev())).collect(Collectors.toList());
|
||||
List<DataV> l2 = list.stream().filter(s->s.getVlDev()<0&&Math.abs(s.getVuDev())>Math.abs(overlimit.getUvoltageDev())).collect(Collectors.toList());
|
||||
if (!CollectionUtils.isEmpty(l1) || !CollectionUtils.isEmpty(l2)){
|
||||
uDev++;
|
||||
}
|
||||
|
||||
@@ -111,7 +111,7 @@ public class LimitTargetServiceImpl extends MppServiceImpl<RStatLimitTargetDMapp
|
||||
List<String> lineIds = calculatedParam.getIdList();
|
||||
LocalDate dateOut = LocalDate.parse(calculatedParam.getDataDate(),DatePattern.NORM_DATE_FORMATTER);
|
||||
//以尺寸100分片,查询数据
|
||||
List<List<String>> pendingIds = ListUtils.partition(lineIds,20);
|
||||
List<List<String>> pendingIds = ListUtils.partition(lineIds,5);
|
||||
for (List<String> pendingId : pendingIds) {
|
||||
limitRateData.addAll(getLimitRateDataFromMysql(pendingId,startTime,endTime));
|
||||
}
|
||||
|
||||
@@ -34,7 +34,7 @@ public class RMpPartHarmonicDetailDServiceImpl extends MppServiceImpl<RMpPartHar
|
||||
log.info(LocalDateTime.now()+"===>监测点稳态指标超标明细日表1开始执行");
|
||||
List<String> lineIds = calculatedParam.getIdList();
|
||||
//以尺寸100分片,查询数据
|
||||
List<List<String>> pendingIds = ListUtils.partition(lineIds,20);
|
||||
List<List<String>> pendingIds = ListUtils.partition(lineIds,5);
|
||||
for (List<String> pendingId : pendingIds) {
|
||||
List<RMpPartHarmonicDetailD> list = getData(calculatedParam.getDataDate(),pendingId);
|
||||
if (CollectionUtil.isNotEmpty(list)){
|
||||
|
||||
@@ -32,7 +32,7 @@ public class RMpSurplusHarmonicDetailDServiceImpl extends MppServiceImpl<RMpSurp
|
||||
log.info(LocalDateTime.now()+"===>监测点稳态指标超标明细日表2开始执行");
|
||||
List<String> lineIds = calculatedParam.getIdList();
|
||||
//以尺寸100分片,查询数据
|
||||
List<List<String>> pendingIds = ListUtils.partition(lineIds,20);
|
||||
List<List<String>> pendingIds = ListUtils.partition(lineIds,5);
|
||||
for (List<String> pendingId : pendingIds) {
|
||||
List<RMpSurplusHarmonicDetailD> result = this.baseMapper.getHarmonicDetailDayTwo(calculatedParam.getDataDate(),pendingId);
|
||||
if (CollectionUtil.isNotEmpty(result)){
|
||||
|
||||
@@ -33,7 +33,7 @@ public class RMpVThdServiceImpl extends MppServiceImpl<RMpVThdMapper, RMpVThd> i
|
||||
log.info(LocalDateTime.now()+"===>监测点谐波畸变率开始执行");
|
||||
List<String> lineIds = calculatedParam.getIdList();
|
||||
//以尺寸100分片,查询数据
|
||||
List<List<String>> pendingIds = ListUtils.partition(lineIds,20);
|
||||
List<List<String>> pendingIds = ListUtils.partition(lineIds,5);
|
||||
for (List<String> pendingId : pendingIds) {
|
||||
List<RMpVThd> result = this.baseMapper.getVThdData(calculatedParam.getDataDate(),pendingId);
|
||||
if (CollectionUtil.isNotEmpty(result)){
|
||||
|
||||
@@ -9,6 +9,6 @@ public interface LimitRateService {
|
||||
|
||||
// void limitRate(List<String> indexLists,String startTime,String endTime);
|
||||
|
||||
void limitRate(CalculatedParam calculatedParam);
|
||||
void limitRate(CalculatedParam calculatedParam,Integer step);
|
||||
|
||||
}
|
||||
|
||||
@@ -55,7 +55,7 @@ public class RMpBenchmarkLevelDServiceImpl extends MppServiceImpl<RMpBenchmarkLe
|
||||
DateTime beginDay = DateUtil.beginOfDay(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN));
|
||||
DateTime endDay = DateUtil.endOfDay(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN));
|
||||
//以尺寸100分片,查询数据
|
||||
List<List<String>> pendingIds = ListUtils.partition(lineIds,20);
|
||||
List<List<String>> pendingIds = ListUtils.partition(lineIds,5);
|
||||
for (List<String> pendingId : pendingIds) {
|
||||
//查询电压表
|
||||
vList.addAll(rStatDataVDMapper.getBenchmarkLevel(beginDay,endDay,pendingId));
|
||||
|
||||
@@ -50,7 +50,7 @@ public class RMpBenchmarkLevelMServiceImpl extends MppServiceImpl<RMpBenchmarkLe
|
||||
DateTime beginMonth = DateUtil.beginOfMonth(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN));
|
||||
DateTime endMonth = DateUtil.endOfMonth(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN));
|
||||
//以尺寸100分片,查询数据
|
||||
List<List<String>> pendingIds = ListUtils.partition(lineIds,20);
|
||||
List<List<String>> pendingIds = ListUtils.partition(lineIds,5);
|
||||
for (List<String> pendingId : pendingIds) {
|
||||
LambdaQueryWrapper<RMpBenchmarkLevelD> lambdaQueryWrapper = new LambdaQueryWrapper<RMpBenchmarkLevelD>();
|
||||
lambdaQueryWrapper.in(RMpBenchmarkLevelD::getMeasurementPointId,pendingId)
|
||||
|
||||
@@ -48,7 +48,7 @@ public class RMpBenchmarkLevelQServiceImpl extends MppServiceImpl<RMpBenchmarkLe
|
||||
DateTime beginMonth = DateUtil.beginOfQuarter(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN));
|
||||
DateTime endMonth = DateUtil.endOfQuarter(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN));
|
||||
//以尺寸100分片,查询数据
|
||||
List<List<String>> pendingIds = ListUtils.partition(lineIds,20);
|
||||
List<List<String>> pendingIds = ListUtils.partition(lineIds,5);
|
||||
for (List<String> pendingId : pendingIds) {
|
||||
LambdaQueryWrapper<RMpBenchmarkLevelD> lambdaQueryWrapper = new LambdaQueryWrapper<RMpBenchmarkLevelD>();
|
||||
lambdaQueryWrapper.in(RMpBenchmarkLevelD::getMeasurementPointId,pendingId)
|
||||
|
||||
@@ -48,7 +48,7 @@ public class RMpBenchmarkLevelYServiceImpl extends MppServiceImpl<RMpBenchmarkLe
|
||||
DateTime beginMonth = DateUtil.beginOfYear(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN));
|
||||
DateTime endMonth = DateUtil.endOfYear(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN));
|
||||
//以尺寸100分片,查询数据
|
||||
List<List<String>> pendingIds = ListUtils.partition(lineIds,20);
|
||||
List<List<String>> pendingIds = ListUtils.partition(lineIds,5);
|
||||
for (List<String> pendingId : pendingIds) {
|
||||
LambdaQueryWrapper<RMpBenchmarkLevelD> lambdaQueryWrapper = new LambdaQueryWrapper<RMpBenchmarkLevelD>();
|
||||
lambdaQueryWrapper.in(RMpBenchmarkLevelD::getMeasurementPointId,pendingId)
|
||||
|
||||
@@ -5,19 +5,24 @@ import cn.hutool.core.util.IdUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
||||
import com.njcn.common.pojo.enums.common.DataStateEnum;
|
||||
import com.njcn.device.biz.commApi.CommTerminalGeneralClient;
|
||||
import com.njcn.device.biz.pojo.dto.DeptGetChildrenMoreDTO;
|
||||
import com.njcn.device.biz.pojo.dto.DeptGetSubStationDTO;
|
||||
import com.njcn.device.biz.pojo.param.DeptGetLineParam;
|
||||
import com.njcn.device.pms.api.StatationStatClient;
|
||||
import com.njcn.device.pms.pojo.param.PmsStatationStatInfoParam;
|
||||
import com.njcn.device.pms.pojo.po.PmsMidLedger;
|
||||
import com.njcn.device.pms.pojo.po.StatationStat;
|
||||
import com.njcn.harmonic.pojo.po.upload.RUploadPointStatisticalDataD;
|
||||
import com.njcn.harmonic.pojo.po.upload.RUploadSubstationStatisticalDataD;
|
||||
import com.njcn.prepare.harmonic.enums.UploadEnum;
|
||||
import com.njcn.prepare.harmonic.mapper.mysql.dim.PmsMidLedgerMapper;
|
||||
import com.njcn.prepare.harmonic.mapper.mysql.upload.RUploadSubstationStatisticalDataDMapper;
|
||||
import com.njcn.prepare.harmonic.pojo.bo.CalculatedParam;
|
||||
import com.njcn.prepare.harmonic.service.mysql.upload.IRUploadSubstationStatisticalDataDService;
|
||||
import com.njcn.system.enums.DicDataTypeEnum;
|
||||
import com.njcn.system.pojo.po.DictData;
|
||||
import com.njcn.user.api.DeptFeignClient;
|
||||
import com.njcn.user.pojo.po.Dept;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
@@ -44,6 +49,7 @@ public class RUploadSubstationStatisticalDataDServiceImpl extends MppServiceImpl
|
||||
|
||||
private final DeptFeignClient deptFeignClient;
|
||||
private final StatationStatClient statationStatClient;
|
||||
private final PmsMidLedgerMapper pmsMidLedgerMapper;
|
||||
@Override
|
||||
public void insertSubStatisticalDataDay(CalculatedParam<String> calculatedParam) {
|
||||
List<RUploadSubstationStatisticalDataD> result = new ArrayList<>();
|
||||
@@ -89,6 +95,16 @@ public class RUploadSubstationStatisticalDataDServiceImpl extends MppServiceImpl
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取中台电站信息
|
||||
*/
|
||||
public List<PmsMidLedger> getSubstationInfo() {
|
||||
LambdaQueryWrapper<PmsMidLedger> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapper.eq(PmsMidLedger::getLevel, DataStateEnum.DELETED.getCode())
|
||||
.eq(PmsMidLedger::getState, DataStateEnum.ENABLE.getCode());
|
||||
return pmsMidLedgerMapper.selectList(lambdaQueryWrapper);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取变电站信息
|
||||
* @param list
|
||||
|
||||
Reference in New Issue
Block a user