河北超高压算法调整

This commit is contained in:
2024-01-25 10:22:56 +08:00
parent c26c8829ea
commit c219e2c0bf
21 changed files with 333 additions and 86 deletions

View File

@@ -18,7 +18,6 @@ import java.util.List;
public interface DataVMapper extends InfluxDbBaseMapper<DataV> { public interface DataVMapper extends InfluxDbBaseMapper<DataV> {
List<DataV> getStatisticsByWraper(InfluxQueryWrapper influxQueryWrapper); List<DataV> getStatisticsByWraper(InfluxQueryWrapper influxQueryWrapper);
List<MeasurementCount> getMeasurementCount(InfluxQueryWrapper influxQueryWrapper); List<MeasurementCount> getMeasurementCount(InfluxQueryWrapper influxQueryWrapper);
} }

View File

@@ -34,8 +34,8 @@ public enum UploadEnum {
/** /**
* 主配网标识 * 主配网标识
*/ */
DISTRIBUTION_FLAG_01("01","主网"), DISTRIBUTION_FLAG_01("1","主网"),
DISTRIBUTION_FLAG_02("02","配网"), DISTRIBUTION_FLAG_02("0","配网"),
/** /**
* 指标类型(01:电压 02:长时间闪变 03:三相电压不平衡 04:电压总谐波畸变率 05:各次谐波电压 06:负序电流) * 指标类型(01:电压 02:长时间闪变 03:三相电压不平衡 04:电压总谐波畸变率 05:各次谐波电压 06:负序电流)

View File

@@ -20,7 +20,9 @@ import com.yomahub.liteflow.core.NodeComponent;
import com.yomahub.liteflow.enums.LiteFlowMethodEnum; import com.yomahub.liteflow.enums.LiteFlowMethodEnum;
import com.yomahub.liteflow.enums.NodeTypeEnum; import com.yomahub.liteflow.enums.NodeTypeEnum;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import java.time.LocalDateTime;
import java.util.Objects; import java.util.Objects;
@@ -29,6 +31,7 @@ import java.util.Objects;
* @version 1.0.0 * @version 1.0.0
* @date 2023年11月06日 15:59 * @date 2023年11月06日 15:59
*/ */
@Slf4j
@LiteflowComponent @LiteflowComponent
@RequiredArgsConstructor @RequiredArgsConstructor
public class MeasurementExecutor extends BaseExecutor { public class MeasurementExecutor extends BaseExecutor {
@@ -329,7 +332,7 @@ public class MeasurementExecutor extends BaseExecutor {
/** /**
* 算法名: 3.4.1.1-----监测点稳态指标越限次数_日表(r_stat_limit_rate_d) * 算法名: 3.4.1.1-----监测点稳态指标越限次数_日表(r_stat_limit_rate_d)
* * 河北表数据较大,这边先将数据拆分计算
* @author xuyang * @author xuyang
* @date 2023年11月13日 10:16 * @date 2023年11月13日 10:16
*/ */
@@ -339,7 +342,25 @@ public class MeasurementExecutor extends BaseExecutor {
} }
@LiteflowMethod(value = LiteFlowMethodEnum.PROCESS, nodeId = "limitRate", nodeType = NodeTypeEnum.COMMON) @LiteflowMethod(value = LiteFlowMethodEnum.PROCESS, nodeId = "limitRate", nodeType = NodeTypeEnum.COMMON)
public void limitRateProcess(NodeComponent bindCmp) { 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);
}
} }
/** /**

View File

@@ -116,7 +116,7 @@ public class RMpDevEvaluateDetailPOServiceImpl extends MppServiceImpl<RMpDevEval
List<String> deviceList = new ArrayList<>(); List<String> deviceList = new ArrayList<>();
List<String> lineIds = calculatedParam.getIdList(); List<String> lineIds = calculatedParam.getIdList();
//以尺寸100分片,查询数据 //以尺寸100分片,查询数据
List<List<String>> pendingIds = ListUtils.partition(lineIds,20); List<List<String>> pendingIds = ListUtils.partition(lineIds,5);
for (List<String> pendingId : pendingIds) { for (List<String> pendingId : pendingIds) {
//获取监测点评价详情 //获取监测点评价详情
LambdaQueryWrapper<ROperatingMonitorDPO> lambdaQueryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<ROperatingMonitorDPO> lambdaQueryWrapper = new LambdaQueryWrapper<>();

View File

@@ -109,7 +109,7 @@ public class RMpMonitorAlarmCountMServiceImpl extends MppServiceImpl<RMpMonitorA
DateTime beginMonth = DateUtil.beginOfMonth(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN)); DateTime beginMonth = DateUtil.beginOfMonth(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN));
DateTime endMonth = DateUtil.endOfMonth(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN)); DateTime endMonth = DateUtil.endOfMonth(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN));
//以尺寸100分片,查询数据 //以尺寸100分片,查询数据
List<List<String>> pendingIds = ListUtils.partition(lineIds,20); List<List<String>> pendingIds = ListUtils.partition(lineIds,5);
for (List<String> pendingId : pendingIds) { for (List<String> pendingId : pendingIds) {
List<RMpMonitorAlarmCountMDTO> monthList = rMpTargetWarnDMapper.getDate(beginMonth,endMonth,pendingId); List<RMpMonitorAlarmCountMDTO> monthList = rMpTargetWarnDMapper.getDate(beginMonth,endMonth,pendingId);
if (!CollectionUtils.isEmpty(monthList)){ if (!CollectionUtils.isEmpty(monthList)){

View File

@@ -83,7 +83,7 @@ public class RMpTargetWarnDServiceImpl extends MppServiceImpl<RMpTargetWarnDMapp
log.info(LocalDateTime.now()+"===>监测点指标告警日统计算法开始"); log.info(LocalDateTime.now()+"===>监测点指标告警日统计算法开始");
List<String> lineIds = calculatedParam.getIdList(); List<String> lineIds = calculatedParam.getIdList();
//以尺寸100分片,查询数据 //以尺寸100分片,查询数据
List<List<String>> pendingIds = ListUtils.partition(lineIds,20); List<List<String>> pendingIds = ListUtils.partition(lineIds,5);
for (List<String> pendingId : pendingIds) { for (List<String> pendingId : pendingIds) {
List<RMpTargetWarnDPO> list = getData(calculatedParam.getDataDate(),pendingId); List<RMpTargetWarnDPO> list = getData(calculatedParam.getDataDate(),pendingId);
if (CollectionUtil.isNotEmpty(list)){ if (CollectionUtil.isNotEmpty(list)){

View File

@@ -59,7 +59,7 @@ public class RStatDevSignalDPOServiceImpl extends MppServiceImpl<RStatDevSignalD
DictData data = dicDataFeignClient.getDicDataByCode(DicDataEnum.RUNNING.getCode()).getData(); DictData data = dicDataFeignClient.getDicDataByCode(DicDataEnum.RUNNING.getCode()).getData();
List<String> lineIds = calculatedParam.getIdList(); List<String> lineIds = calculatedParam.getIdList();
//以尺寸100分片,查询数据 //以尺寸100分片,查询数据
List<List<String>> pendingIds = ListUtils.partition(lineIds,20); List<List<String>> pendingIds = ListUtils.partition(lineIds,5);
for (List<String> pendingId : pendingIds) { for (List<String> pendingId : pendingIds) {
//获取监测点评价详情 //获取监测点评价详情
LambdaQueryWrapper<RMpMonitorEvaluateDPO> lambdaQueryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<RMpMonitorEvaluateDPO> lambdaQueryWrapper = new LambdaQueryWrapper<>();

View File

@@ -90,7 +90,7 @@ public class AlarmDetailServiceImpl extends MppServiceImpl<AlarmMapper, RMpTarge
String nowDay = calculatedParam.getDataDate(); String nowDay = calculatedParam.getDataDate();
String yesterday = PublicUtil.getYesterday(nowDay); String yesterday = PublicUtil.getYesterday(nowDay);
//以尺寸100分片,查询数据 //以尺寸100分片,查询数据
List<List<String>> pendingIds = ListUtils.partition(lineIds,20); List<List<String>> pendingIds = ListUtils.partition(lineIds,5);
for (List<String> pendingId : pendingIds) { for (List<String> pendingId : pendingIds) {
List<RMpTargetDiffDPO> intersectionList = diffData(nowDay,yesterday,pendingId); List<RMpTargetDiffDPO> intersectionList = diffData(nowDay,yesterday,pendingId);
if (!CollectionUtils.isEmpty(intersectionList)){ if (!CollectionUtils.isEmpty(intersectionList)){

View File

@@ -99,7 +99,7 @@ public class DayDataServiceImpl implements DayDataService {
List<DayV> dayVList = new ArrayList<>(); List<DayV> dayVList = new ArrayList<>();
List<String> lineIds = calculatedParam.getIdList(); 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 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); String endDay = LocalDateTimeUtil.format(LocalDateTimeUtil.endOfDay(LocalDateTimeUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN)),DatePattern.NORM_DATETIME_PATTERN);
for (List<String> pendingId : pendingIds) { for (List<String> pendingId : pendingIds) {
@@ -134,7 +134,7 @@ public class DayDataServiceImpl implements DayDataService {
List<String> lineIds = calculatedParam.getIdList(); 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 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); String endDay = LocalDateTimeUtil.format(LocalDateTimeUtil.endOfDay(LocalDateTimeUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN)),DatePattern.NORM_DATETIME_PATTERN);
for (List<String> pendingId : pendingIds) { for (List<String> pendingId : pendingIds) {
@@ -169,7 +169,7 @@ public class DayDataServiceImpl implements DayDataService {
List<String> lineIds = calculatedParam.getIdList(); 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 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); String endDay = LocalDateTimeUtil.format(LocalDateTimeUtil.endOfDay(LocalDateTimeUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN)),DatePattern.NORM_DATETIME_PATTERN);
for (List<String> pendingId : pendingIds) { for (List<String> pendingId : pendingIds) {
@@ -204,7 +204,7 @@ public class DayDataServiceImpl implements DayDataService {
List<DayFluc> dayFlucList = new ArrayList<>(); List<DayFluc> dayFlucList = new ArrayList<>();
List<String> lineIds = calculatedParam.getIdList(); 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 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); String endDay = LocalDateTimeUtil.format(LocalDateTimeUtil.endOfDay(LocalDateTimeUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN)),DatePattern.NORM_DATETIME_PATTERN);
for (List<String> pendingId : pendingIds) { for (List<String> pendingId : pendingIds) {
@@ -240,7 +240,7 @@ public class DayDataServiceImpl implements DayDataService {
List<String> lineIds = calculatedParam.getIdList(); 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 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); String endDay = LocalDateTimeUtil.format(LocalDateTimeUtil.endOfDay(LocalDateTimeUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN)),DatePattern.NORM_DATETIME_PATTERN);
for (List<String> pendingId : pendingIds) { for (List<String> pendingId : pendingIds) {
@@ -277,7 +277,7 @@ public class DayDataServiceImpl implements DayDataService {
List<String> lineIds = calculatedParam.getIdList(); 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 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); String endDay = LocalDateTimeUtil.format(LocalDateTimeUtil.endOfDay(LocalDateTimeUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN)),DatePattern.NORM_DATETIME_PATTERN);
for (List<String> pendingId : pendingIds) { for (List<String> pendingId : pendingIds) {
@@ -312,7 +312,7 @@ public class DayDataServiceImpl implements DayDataService {
List<DayHarmPowerP> dayHarmPowerPList = new ArrayList<>(); List<DayHarmPowerP> dayHarmPowerPList = new ArrayList<>();
List<String> lineIds = calculatedParam.getIdList(); 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 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); String endDay = LocalDateTimeUtil.format(LocalDateTimeUtil.endOfDay(LocalDateTimeUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN)),DatePattern.NORM_DATETIME_PATTERN);
for (List<String> pendingId : pendingIds) { for (List<String> pendingId : pendingIds) {
@@ -348,7 +348,7 @@ public class DayDataServiceImpl implements DayDataService {
List<String> lineIds = calculatedParam.getIdList(); 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 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); String endDay = LocalDateTimeUtil.format(LocalDateTimeUtil.endOfDay(LocalDateTimeUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN)),DatePattern.NORM_DATETIME_PATTERN);
for (List<String> pendingId : pendingIds) { for (List<String> pendingId : pendingIds) {
@@ -384,7 +384,7 @@ public class DayDataServiceImpl implements DayDataService {
List<String> lineIds = calculatedParam.getIdList(); 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 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); String endDay = LocalDateTimeUtil.format(LocalDateTimeUtil.endOfDay(LocalDateTimeUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN)),DatePattern.NORM_DATETIME_PATTERN);
for (List<String> pendingId : pendingIds) { for (List<String> pendingId : pendingIds) {
@@ -420,7 +420,7 @@ public class DayDataServiceImpl implements DayDataService {
List<String> lineIds = calculatedParam.getIdList(); 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 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); String endDay = LocalDateTimeUtil.format(LocalDateTimeUtil.endOfDay(LocalDateTimeUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN)),DatePattern.NORM_DATETIME_PATTERN);
for (List<String> pendingId : pendingIds) { for (List<String> pendingId : pendingIds) {
@@ -456,7 +456,7 @@ public class DayDataServiceImpl implements DayDataService {
List<String> lineIds = calculatedParam.getIdList(); 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 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); String endDay = LocalDateTimeUtil.format(LocalDateTimeUtil.endOfDay(LocalDateTimeUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN)),DatePattern.NORM_DATETIME_PATTERN);
for (List<String> pendingId : pendingIds) { for (List<String> pendingId : pendingIds) {
@@ -492,7 +492,7 @@ public class DayDataServiceImpl implements DayDataService {
List<String> lineIds = calculatedParam.getIdList(); 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 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); String endDay = LocalDateTimeUtil.format(LocalDateTimeUtil.endOfDay(LocalDateTimeUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN)),DatePattern.NORM_DATETIME_PATTERN);
for (List<String> pendingId : pendingIds) { for (List<String> pendingId : pendingIds) {
@@ -528,7 +528,7 @@ public class DayDataServiceImpl implements DayDataService {
List<String> lineIds = calculatedParam.getIdList(); 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 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); String endDay = LocalDateTimeUtil.format(LocalDateTimeUtil.endOfDay(LocalDateTimeUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN)),DatePattern.NORM_DATETIME_PATTERN);
for (List<String> pendingId : pendingIds) { for (List<String> pendingId : pendingIds) {
@@ -564,7 +564,7 @@ public class DayDataServiceImpl implements DayDataService {
List<String> lineIds = calculatedParam.getIdList(); 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 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); String endDay = LocalDateTimeUtil.format(LocalDateTimeUtil.endOfDay(LocalDateTimeUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN)),DatePattern.NORM_DATETIME_PATTERN);
for (List<String> pendingId : pendingIds) { for (List<String> pendingId : pendingIds) {
@@ -647,7 +647,7 @@ public class DayDataServiceImpl implements DayDataService {
List<String> lineIds = calculatedParam.getIdList(); List<String> lineIds = calculatedParam.getIdList();
//河北数据量较大以尺寸20分片 //河北数据量较大以尺寸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 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); String endDay = LocalDateTimeUtil.format(LocalDateTimeUtil.endOfDay(LocalDateTimeUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN)),DatePattern.NORM_DATETIME_PATTERN);
for (List<String> pendingId : pendingIds) { for (List<String> pendingId : pendingIds) {

View File

@@ -108,7 +108,7 @@ public class IntegrityServiceImpl extends MppServiceImpl<RStatIntegrityDMapper,
DatePattern.NORM_DATETIME_PATTERN DatePattern.NORM_DATETIME_PATTERN
); );
//以尺寸100分片 //以尺寸100分片
List<List<String>> pendingIds = ListUtils.partition(lineIds,20); List<List<String>> pendingIds = ListUtils.partition(lineIds,5);
for (List<String> pendingId : pendingIds) { for (List<String> pendingId : pendingIds) {
List<LineDevGetDTO> lineDevGetDTOList = commTerminalGeneralClient.getMonitorDetailList(pendingId).getData(); List<LineDevGetDTO> lineDevGetDTOList = commTerminalGeneralClient.getMonitorDetailList(pendingId).getData();
List<MeasurementCount> countList = this.getMeasurementCount(pendingId,beginDay,endDay); List<MeasurementCount> countList = this.getMeasurementCount(pendingId,beginDay,endDay);

View File

@@ -1,7 +1,9 @@
package com.njcn.prepare.harmonic.service.mysql.Impl.line; 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.DatePattern;
import cn.hutool.core.date.LocalDateTimeUtil; import cn.hutool.core.date.LocalDateTimeUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl; import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
import com.njcn.common.utils.NjcnBeanUtil; import com.njcn.common.utils.NjcnBeanUtil;
import com.njcn.device.biz.commApi.CommTerminalGeneralClient; 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.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.ListUtils; import org.apache.commons.collections4.ListUtils;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import sun.security.krb5.internal.Ticket;
import java.time.Instant; import java.time.Instant;
import java.time.LocalDateTime; import java.time.LocalDateTime;
@@ -54,10 +56,9 @@ public class LimitRateServiceImpl extends MppServiceImpl<LimitRatePOMapper, Limi
/*********************************************新算法***********************************************************/ /*********************************************新算法***********************************************************/
@Override @Override
@Transactional(rollbackFor = {Exception.class}) public void limitRate(CalculatedParam calculatedParam,Integer step) {
public void limitRate(CalculatedParam calculatedParam) {
log.info(LocalDateTime.now()+"r_stat_limit_rate_d开始执行=======》");
List<RStatLimitRateDPO> list = new ArrayList<>(); List<RStatLimitRateDPO> list = new ArrayList<>();
List<DataV> list1 = new ArrayList<>(); List<DataV> list1 = new ArrayList<>();
List<DataPlt> list2 = new ArrayList<>(); List<DataPlt> list2 = new ArrayList<>();
List<DataHarmRateV> list3 = 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> list9 = new ArrayList<>();
List<DataV> list10 = new ArrayList<>(); List<DataV> list10 = new ArrayList<>();
List<DataPlt> list11 = 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(); List<String> lineIds = calculatedParam.getIdList();
String startTime = LocalDateTimeUtil.format( String startTime = this.getTime(calculatedParam.getDataDate(),step,true);
LocalDateTimeUtil.beginOfDay(LocalDateTimeUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN)), String endTime = this.getTime(calculatedParam.getDataDate(),step,false);
DatePattern.NORM_DATETIME_PATTERN
);
String endTime = LocalDateTimeUtil.format(
LocalDateTimeUtil.endOfDay(LocalDateTimeUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN)),
DatePattern.NORM_DATETIME_PATTERN
);
//获取所有监测点的限值 //获取所有监测点的限值
List<Overlimit> overLimitList = commTerminalGeneralClient.getAllLineOverLimit().getData(); List<Overlimit> overLimitList = commTerminalGeneralClient.getAllLineOverLimit().getData();
Map<String,List<Overlimit>> overLimitMap = overLimitList.stream().collect(Collectors.groupingBy(Overlimit::getId)); Map<String,List<Overlimit>> overLimitMap = overLimitList.stream().collect(Collectors.groupingBy(Overlimit::getId));
//以尺寸100分片,查询数据 //以尺寸100分片,查询数据
List<List<String>> pendingIds = ListUtils.partition(lineIds,1); List<List<String>> pendingIds = ListUtils.partition(lineIds,50);
for (List<String> pendingId : pendingIds) { for (List<String> pendingId : pendingIds) {
list1.addAll(getAllTime(pendingId, startTime, endTime)); list1.addAll(getAllTime(pendingId, startTime, endTime));
list2.addAll(getFlickerAllTime(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)); list9.addAll(getDataVFreq(pendingId, startTime, endTime));
list10.addAll(getDataVDev(pendingId, startTime, endTime)); list10.addAll(getDataVDev(pendingId, startTime, endTime));
list11.addAll(getDataPlt(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) { 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<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 -> { List<RStatLimitRateDPO> collect = result.stream().map(t -> {
@@ -122,11 +130,151 @@ public class LimitRateServiceImpl extends MppServiceImpl<LimitRatePOMapper, Limi
} }
} }
if (!CollectionUtils.isEmpty(list)){ 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*/ /*插入mysql*/
statLimitRateDService.saveOrUpdateBatchByMultiId(list,1000); 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来参与统计) * 功能描述:获取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) { public List<DataHarmRateV> getDataHarmRateV(List<String> lineIndex, String startTime, String endTime) {
InfluxQueryWrapper influxQueryWrapper = new InfluxQueryWrapper(DataHarmRateV.class); 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)) .regular(DataHarmRateV::getPhaseType, Arrays.asList(InfluxDBTableConstant.PHASE_TYPE_A,InfluxDBTableConstant.PHASE_TYPE_B,InfluxDBTableConstant.PHASE_TYPE_C))
.eq(DataHarmRateV::getValueType, InfluxDBTableConstant.CP95) .eq(DataHarmRateV::getValueType, InfluxDBTableConstant.CP95)
.eq(DataHarmRateV::getQualityFlag, InfluxDBTableConstant.NORMAL) .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) { public List<DataI> getDataI(List<String> lineIndex, String startTime, String endTime) {
InfluxQueryWrapper influxQueryWrapper = new InfluxQueryWrapper(DataI.class); 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)) .regular(DataI::getPhaseType, Arrays.asList(InfluxDBTableConstant.PHASE_TYPE_A,InfluxDBTableConstant.PHASE_TYPE_B,InfluxDBTableConstant.PHASE_TYPE_C))
.eq(DataI::getValueType, InfluxDBTableConstant.CP95) .eq(DataI::getValueType, InfluxDBTableConstant.CP95)
.eq(DataI::getQualityFlag, InfluxDBTableConstant.NORMAL) .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) { public List<DataInHarmV> getDataInHarmV(List<String> lineIndex, String startTime, String endTime) {
InfluxQueryWrapper influxQueryWrapper = new InfluxQueryWrapper(DataInHarmV.class); 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)) .regular(DataInHarmV::getPhaseType, Arrays.asList(InfluxDBTableConstant.PHASE_TYPE_A,InfluxDBTableConstant.PHASE_TYPE_B,InfluxDBTableConstant.PHASE_TYPE_C))
.eq(DataInHarmV::getValueType, InfluxDBTableConstant.CP95) .eq(DataInHarmV::getValueType, InfluxDBTableConstant.CP95)
.eq(DataInHarmV::getQualityFlag, InfluxDBTableConstant.NORMAL) .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) { public List<DataV> getDataVThd(List<String> lineIndex, String startTime, String endTime) {
InfluxQueryWrapper influxQueryWrapper = new InfluxQueryWrapper(DataV.class); 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) .eq(DataV::getValueType, InfluxDbSqlConstant.CP95)
.regular(DataV::getPhasicType, Arrays.asList(InfluxDBTableConstant.PHASE_TYPE_A,InfluxDBTableConstant.PHASE_TYPE_B,InfluxDBTableConstant.PHASE_TYPE_C)) .regular(DataV::getPhasicType, Arrays.asList(InfluxDBTableConstant.PHASE_TYPE_A,InfluxDBTableConstant.PHASE_TYPE_B,InfluxDBTableConstant.PHASE_TYPE_C))
.eq(DataV::getQualityFlag, InfluxDBTableConstant.NORMAL) .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) { public List<DataV> getDataVUnbalance(List<String> lineIndex, String startTime, String endTime) {
InfluxQueryWrapper influxQueryWrapper = new InfluxQueryWrapper(DataV.class); 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)) .regular(DataV::getValueType, Arrays.asList(InfluxDbSqlConstant.CP95,InfluxDbSqlConstant.MAX))
.eq(DataV::getPhasicType, InfluxDBTableConstant.PHASE_TYPE_T) .eq(DataV::getPhasicType, InfluxDBTableConstant.PHASE_TYPE_T)
.eq(DataV::getQualityFlag, InfluxDBTableConstant.NORMAL) .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) { public List<DataI> getDataINeg(List<String> lineIndex, String startTime, String endTime) {
InfluxQueryWrapper influxQueryWrapper = new InfluxQueryWrapper(DataI.class); 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) .eq(DataI::getPhaseType, InfluxDBTableConstant.PHASE_TYPE_T)
.regular(DataI::getValueType, Arrays.asList(InfluxDbSqlConstant.CP95,InfluxDbSqlConstant.MAX)) .regular(DataI::getValueType, Arrays.asList(InfluxDbSqlConstant.CP95,InfluxDbSqlConstant.MAX))
.eq(DataI::getQualityFlag, InfluxDBTableConstant.NORMAL) .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) { public List<DataV> getDataVFreq(List<String> lineIndex, String startTime, String endTime) {
InfluxQueryWrapper influxQueryWrapper = new InfluxQueryWrapper(DataV.class); 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)) .regular(DataV::getValueType, Arrays.asList(InfluxDbSqlConstant.MIN,InfluxDbSqlConstant.MAX))
.eq(DataV::getPhasicType, InfluxDBTableConstant.PHASE_TYPE_T) .eq(DataV::getPhasicType, InfluxDBTableConstant.PHASE_TYPE_T)
.eq(DataV::getQualityFlag, InfluxDBTableConstant.NORMAL) .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) { public List<DataV> getDataVDev(List<String> lineIndex, String startTime, String endTime) {
InfluxQueryWrapper influxQueryWrapper = new InfluxQueryWrapper(DataV.class); 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) .eq(DataV::getValueType, InfluxDbSqlConstant.MAX)
.regular(DataV::getPhasicType, Arrays.asList(InfluxDBTableConstant.PHASE_TYPE_A,InfluxDBTableConstant.PHASE_TYPE_B,InfluxDBTableConstant.PHASE_TYPE_C)) .regular(DataV::getPhasicType, Arrays.asList(InfluxDBTableConstant.PHASE_TYPE_A,InfluxDBTableConstant.PHASE_TYPE_B,InfluxDBTableConstant.PHASE_TYPE_C))
.eq(DataV::getQualityFlag, InfluxDBTableConstant.NORMAL) .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) { public List<DataPlt> getDataPlt(List<String> lineIndex, String startTime, String endTime) {
InfluxQueryWrapper influxQueryWrapper = new InfluxQueryWrapper(DataPlt.class); 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)) .regular(DataPlt::getPhaseType, Arrays.asList(InfluxDBTableConstant.PHASE_TYPE_A,InfluxDBTableConstant.PHASE_TYPE_B,InfluxDBTableConstant.PHASE_TYPE_C))
.eq(DataPlt::getQualityFlag, InfluxDBTableConstant.NORMAL) .eq(DataPlt::getQualityFlag, InfluxDBTableConstant.NORMAL)
.between(DataPlt::getTime, startTime, endTime); .between(DataPlt::getTime, startTime, endTime);
@@ -340,12 +552,12 @@ public class LimitRateServiceImpl extends MppServiceImpl<LimitRatePOMapper, Limi
/** /**
* @Description: getData * @Description: getData
* @Param: [overlimit, allTimeList, flickerAllTimeList, dataHarmRateVPOList, dataIPOList, dataInHarmVPOList, dataVPOList, dataVPOUnbalanceList, dataIPONegList, dataVPOFreqList, dataVPODevList, dataPltPOList] * @Param: [overlimit, allTimeList, flickerAllTimeList, dataHarmRateVPOList, dataIPOList, dataInHarmVPOList, dataVPOList, dataVPOUnbalanceList, dataIPONegList, dataVPOFreqList, dataVPODevList, dataPltPOList]
* @return: java.util.List<com.njcn.harmonic.pojo.po.LimitRate> * @return: java.util.List<com.njcn.harmonic.pojo.po.LimitRate>
* @Author: clam * @Author: clam
* @Date: 2022/10/18 * @Date: 2022/10/18
*/ */
private List<LimitRate> getData(Overlimit overlimit, List<DataV> allTimeList, private List<LimitRate> getData(Overlimit overlimit, List<DataV> allTimeList,
List<DataPlt> flickerAllTimeList, List<DataHarmRateV> dataHarmRateVPOList, List<DataPlt> flickerAllTimeList, List<DataHarmRateV> dataHarmRateVPOList,
List<DataI> dataIPOList, List<DataInHarmV> dataInHarmVPOList, List<DataI> dataIPOList, List<DataInHarmV> dataInHarmVPOList,
@@ -417,18 +629,17 @@ public class LimitRateServiceImpl extends MppServiceImpl<LimitRatePOMapper, Limi
result.add (b); result.add (b);
result.add (c); result.add (c);
result.add (t); result.add (t);
return result; return result;
} }
/** /**
* @Description: limitRateData * @Description: limitRateData
* @Param: [overlimit, allTime, flickerAllTime, phasicType, lineId, dataHarmRateVPOList, dataIPOList, dataInHarmVPOList, dataVPOList, dataVUnbalanceList, dataINegList] * @Param: [overlimit, allTime, flickerAllTime, phasicType, lineId, dataHarmRateVPOList, dataIPOList, dataInHarmVPOList, dataVPOList, dataVUnbalanceList, dataINegList]
* @return: com.njcn.harmonic.pojo.po.LimitRate * @return: com.njcn.harmonic.pojo.po.LimitRate
* @Author: clam * @Author: clam
* @Date: 2022/10/18 * @Date: 2022/10/18
*/ */
public LimitRate limitRateData(Overlimit overlimit, Integer allTime, Integer public LimitRate limitRateData(Overlimit overlimit, Integer allTime, Integer
flickerAllTime, String phasicType, String lineId, flickerAllTime, String phasicType, String lineId,
List<DataHarmRateV> dataHarmRateVPOList, List<DataHarmRateV> dataHarmRateVPOList,
@@ -663,7 +874,7 @@ public class LimitRateServiceImpl extends MppServiceImpl<LimitRatePOMapper, Limi
uDev++; uDev++;
} }
} else { } else {
if (Math.abs(item.getVlDev()) > Math.abs(overlimit.getUvoltageDev())){ if (Math.abs(item.getVuDev()) > Math.abs(overlimit.getUvoltageDev())){
uDev++; uDev++;
} }
} }
@@ -1065,7 +1276,7 @@ public class LimitRateServiceImpl extends MppServiceImpl<LimitRatePOMapper, Limi
for (Instant time:map8.keySet()) { for (Instant time:map8.keySet()) {
List<DataV> list = map8.get(time); 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> 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)){ if (!CollectionUtils.isEmpty(l1) || !CollectionUtils.isEmpty(l2)){
uDev++; uDev++;
} }

View File

@@ -111,7 +111,7 @@ public class LimitTargetServiceImpl extends MppServiceImpl<RStatLimitTargetDMapp
List<String> lineIds = calculatedParam.getIdList(); List<String> lineIds = calculatedParam.getIdList();
LocalDate dateOut = LocalDate.parse(calculatedParam.getDataDate(),DatePattern.NORM_DATE_FORMATTER); LocalDate dateOut = LocalDate.parse(calculatedParam.getDataDate(),DatePattern.NORM_DATE_FORMATTER);
//以尺寸100分片,查询数据 //以尺寸100分片,查询数据
List<List<String>> pendingIds = ListUtils.partition(lineIds,20); List<List<String>> pendingIds = ListUtils.partition(lineIds,5);
for (List<String> pendingId : pendingIds) { for (List<String> pendingId : pendingIds) {
limitRateData.addAll(getLimitRateDataFromMysql(pendingId,startTime,endTime)); limitRateData.addAll(getLimitRateDataFromMysql(pendingId,startTime,endTime));
} }

View File

@@ -34,7 +34,7 @@ public class RMpPartHarmonicDetailDServiceImpl extends MppServiceImpl<RMpPartHar
log.info(LocalDateTime.now()+"===>监测点稳态指标超标明细日表1开始执行"); log.info(LocalDateTime.now()+"===>监测点稳态指标超标明细日表1开始执行");
List<String> lineIds = calculatedParam.getIdList(); List<String> lineIds = calculatedParam.getIdList();
//以尺寸100分片,查询数据 //以尺寸100分片,查询数据
List<List<String>> pendingIds = ListUtils.partition(lineIds,20); List<List<String>> pendingIds = ListUtils.partition(lineIds,5);
for (List<String> pendingId : pendingIds) { for (List<String> pendingId : pendingIds) {
List<RMpPartHarmonicDetailD> list = getData(calculatedParam.getDataDate(),pendingId); List<RMpPartHarmonicDetailD> list = getData(calculatedParam.getDataDate(),pendingId);
if (CollectionUtil.isNotEmpty(list)){ if (CollectionUtil.isNotEmpty(list)){

View File

@@ -32,7 +32,7 @@ public class RMpSurplusHarmonicDetailDServiceImpl extends MppServiceImpl<RMpSurp
log.info(LocalDateTime.now()+"===>监测点稳态指标超标明细日表2开始执行"); log.info(LocalDateTime.now()+"===>监测点稳态指标超标明细日表2开始执行");
List<String> lineIds = calculatedParam.getIdList(); List<String> lineIds = calculatedParam.getIdList();
//以尺寸100分片,查询数据 //以尺寸100分片,查询数据
List<List<String>> pendingIds = ListUtils.partition(lineIds,20); List<List<String>> pendingIds = ListUtils.partition(lineIds,5);
for (List<String> pendingId : pendingIds) { for (List<String> pendingId : pendingIds) {
List<RMpSurplusHarmonicDetailD> result = this.baseMapper.getHarmonicDetailDayTwo(calculatedParam.getDataDate(),pendingId); List<RMpSurplusHarmonicDetailD> result = this.baseMapper.getHarmonicDetailDayTwo(calculatedParam.getDataDate(),pendingId);
if (CollectionUtil.isNotEmpty(result)){ if (CollectionUtil.isNotEmpty(result)){

View File

@@ -33,7 +33,7 @@ public class RMpVThdServiceImpl extends MppServiceImpl<RMpVThdMapper, RMpVThd> i
log.info(LocalDateTime.now()+"===>监测点谐波畸变率开始执行"); log.info(LocalDateTime.now()+"===>监测点谐波畸变率开始执行");
List<String> lineIds = calculatedParam.getIdList(); List<String> lineIds = calculatedParam.getIdList();
//以尺寸100分片,查询数据 //以尺寸100分片,查询数据
List<List<String>> pendingIds = ListUtils.partition(lineIds,20); List<List<String>> pendingIds = ListUtils.partition(lineIds,5);
for (List<String> pendingId : pendingIds) { for (List<String> pendingId : pendingIds) {
List<RMpVThd> result = this.baseMapper.getVThdData(calculatedParam.getDataDate(),pendingId); List<RMpVThd> result = this.baseMapper.getVThdData(calculatedParam.getDataDate(),pendingId);
if (CollectionUtil.isNotEmpty(result)){ if (CollectionUtil.isNotEmpty(result)){

View File

@@ -9,6 +9,6 @@ public interface LimitRateService {
// void limitRate(List<String> indexLists,String startTime,String endTime); // void limitRate(List<String> indexLists,String startTime,String endTime);
void limitRate(CalculatedParam calculatedParam); void limitRate(CalculatedParam calculatedParam,Integer step);
} }

View File

@@ -55,7 +55,7 @@ public class RMpBenchmarkLevelDServiceImpl extends MppServiceImpl<RMpBenchmarkLe
DateTime beginDay = DateUtil.beginOfDay(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN)); DateTime beginDay = DateUtil.beginOfDay(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN));
DateTime endDay = DateUtil.endOfDay(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN)); DateTime endDay = DateUtil.endOfDay(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN));
//以尺寸100分片,查询数据 //以尺寸100分片,查询数据
List<List<String>> pendingIds = ListUtils.partition(lineIds,20); List<List<String>> pendingIds = ListUtils.partition(lineIds,5);
for (List<String> pendingId : pendingIds) { for (List<String> pendingId : pendingIds) {
//查询电压表 //查询电压表
vList.addAll(rStatDataVDMapper.getBenchmarkLevel(beginDay,endDay,pendingId)); vList.addAll(rStatDataVDMapper.getBenchmarkLevel(beginDay,endDay,pendingId));

View File

@@ -50,7 +50,7 @@ public class RMpBenchmarkLevelMServiceImpl extends MppServiceImpl<RMpBenchmarkLe
DateTime beginMonth = DateUtil.beginOfMonth(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN)); DateTime beginMonth = DateUtil.beginOfMonth(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN));
DateTime endMonth = DateUtil.endOfMonth(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN)); DateTime endMonth = DateUtil.endOfMonth(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN));
//以尺寸100分片,查询数据 //以尺寸100分片,查询数据
List<List<String>> pendingIds = ListUtils.partition(lineIds,20); List<List<String>> pendingIds = ListUtils.partition(lineIds,5);
for (List<String> pendingId : pendingIds) { for (List<String> pendingId : pendingIds) {
LambdaQueryWrapper<RMpBenchmarkLevelD> lambdaQueryWrapper = new LambdaQueryWrapper<RMpBenchmarkLevelD>(); LambdaQueryWrapper<RMpBenchmarkLevelD> lambdaQueryWrapper = new LambdaQueryWrapper<RMpBenchmarkLevelD>();
lambdaQueryWrapper.in(RMpBenchmarkLevelD::getMeasurementPointId,pendingId) lambdaQueryWrapper.in(RMpBenchmarkLevelD::getMeasurementPointId,pendingId)

View File

@@ -48,7 +48,7 @@ public class RMpBenchmarkLevelQServiceImpl extends MppServiceImpl<RMpBenchmarkLe
DateTime beginMonth = DateUtil.beginOfQuarter(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN)); DateTime beginMonth = DateUtil.beginOfQuarter(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN));
DateTime endMonth = DateUtil.endOfQuarter(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN)); DateTime endMonth = DateUtil.endOfQuarter(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN));
//以尺寸100分片,查询数据 //以尺寸100分片,查询数据
List<List<String>> pendingIds = ListUtils.partition(lineIds,20); List<List<String>> pendingIds = ListUtils.partition(lineIds,5);
for (List<String> pendingId : pendingIds) { for (List<String> pendingId : pendingIds) {
LambdaQueryWrapper<RMpBenchmarkLevelD> lambdaQueryWrapper = new LambdaQueryWrapper<RMpBenchmarkLevelD>(); LambdaQueryWrapper<RMpBenchmarkLevelD> lambdaQueryWrapper = new LambdaQueryWrapper<RMpBenchmarkLevelD>();
lambdaQueryWrapper.in(RMpBenchmarkLevelD::getMeasurementPointId,pendingId) lambdaQueryWrapper.in(RMpBenchmarkLevelD::getMeasurementPointId,pendingId)

View File

@@ -48,7 +48,7 @@ public class RMpBenchmarkLevelYServiceImpl extends MppServiceImpl<RMpBenchmarkLe
DateTime beginMonth = DateUtil.beginOfYear(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN)); DateTime beginMonth = DateUtil.beginOfYear(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN));
DateTime endMonth = DateUtil.endOfYear(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN)); DateTime endMonth = DateUtil.endOfYear(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN));
//以尺寸100分片,查询数据 //以尺寸100分片,查询数据
List<List<String>> pendingIds = ListUtils.partition(lineIds,20); List<List<String>> pendingIds = ListUtils.partition(lineIds,5);
for (List<String> pendingId : pendingIds) { for (List<String> pendingId : pendingIds) {
LambdaQueryWrapper<RMpBenchmarkLevelD> lambdaQueryWrapper = new LambdaQueryWrapper<RMpBenchmarkLevelD>(); LambdaQueryWrapper<RMpBenchmarkLevelD> lambdaQueryWrapper = new LambdaQueryWrapper<RMpBenchmarkLevelD>();
lambdaQueryWrapper.in(RMpBenchmarkLevelD::getMeasurementPointId,pendingId) lambdaQueryWrapper.in(RMpBenchmarkLevelD::getMeasurementPointId,pendingId)

View File

@@ -5,19 +5,24 @@ import cn.hutool.core.util.IdUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl; 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.commApi.CommTerminalGeneralClient;
import com.njcn.device.biz.pojo.dto.DeptGetChildrenMoreDTO; import com.njcn.device.biz.pojo.dto.DeptGetChildrenMoreDTO;
import com.njcn.device.biz.pojo.dto.DeptGetSubStationDTO; import com.njcn.device.biz.pojo.dto.DeptGetSubStationDTO;
import com.njcn.device.biz.pojo.param.DeptGetLineParam; import com.njcn.device.biz.pojo.param.DeptGetLineParam;
import com.njcn.device.pms.api.StatationStatClient; import com.njcn.device.pms.api.StatationStatClient;
import com.njcn.device.pms.pojo.param.PmsStatationStatInfoParam; 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.device.pms.pojo.po.StatationStat;
import com.njcn.harmonic.pojo.po.upload.RUploadPointStatisticalDataD; import com.njcn.harmonic.pojo.po.upload.RUploadPointStatisticalDataD;
import com.njcn.harmonic.pojo.po.upload.RUploadSubstationStatisticalDataD; import com.njcn.harmonic.pojo.po.upload.RUploadSubstationStatisticalDataD;
import com.njcn.prepare.harmonic.enums.UploadEnum; 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.mapper.mysql.upload.RUploadSubstationStatisticalDataDMapper;
import com.njcn.prepare.harmonic.pojo.bo.CalculatedParam; import com.njcn.prepare.harmonic.pojo.bo.CalculatedParam;
import com.njcn.prepare.harmonic.service.mysql.upload.IRUploadSubstationStatisticalDataDService; 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.api.DeptFeignClient;
import com.njcn.user.pojo.po.Dept; import com.njcn.user.pojo.po.Dept;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
@@ -44,6 +49,7 @@ public class RUploadSubstationStatisticalDataDServiceImpl extends MppServiceImpl
private final DeptFeignClient deptFeignClient; private final DeptFeignClient deptFeignClient;
private final StatationStatClient statationStatClient; private final StatationStatClient statationStatClient;
private final PmsMidLedgerMapper pmsMidLedgerMapper;
@Override @Override
public void insertSubStatisticalDataDay(CalculatedParam<String> calculatedParam) { public void insertSubStatisticalDataDay(CalculatedParam<String> calculatedParam) {
List<RUploadSubstationStatisticalDataD> result = new ArrayList<>(); 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 * @param list