From 67b738e5b3b8060c804ec6a0d6a72f71d105ddbc Mon Sep 17 00:00:00 2001 From: huangzj <826100833@qq.com> Date: Thu, 23 Nov 2023 19:57:53 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E7=AE=97=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../harmonic/pojo/po/dim/RDimObjTargetD.java | 18 +-- .../harmonic/pojo/po/dim/RDimObjTargetM.java | 6 +- .../harmonic/pojo/po/dim/RDimObjTargetY.java | 6 +- .../prepare/executor/OrgPointExecutor.java | 33 ++++ .../mysql/dim/RDimObjTargetDMapper.java | 3 +- .../mysql/dim/RDimObjTargetMMapper.java | 3 +- .../mysql/dim/RDimObjTargetYMapper.java | 3 +- .../mysql/dim/IRDimObjTargetDService.java | 6 +- .../mysql/dim/IRDimObjTargetMService.java | 6 +- .../mysql/dim/IRDimObjTargetYService.java | 6 +- .../dim/impl/RDimObjTargetDServiceImpl.java | 152 +++++++++++++++++- .../dim/impl/RDimObjTargetMServiceImpl.java | 9 +- .../dim/impl/RDimObjTargetYServiceImpl.java | 9 +- .../com/njcn/system/enums/DicDataEnum.java | 7 +- 14 files changed, 244 insertions(+), 23 deletions(-) diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/dim/RDimObjTargetD.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/dim/RDimObjTargetD.java index 8e56a3bb8..51383335a 100644 --- a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/dim/RDimObjTargetD.java +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/dim/RDimObjTargetD.java @@ -1,6 +1,7 @@ package com.njcn.harmonic.pojo.po.dim; import com.baomidou.mybatisplus.annotation.TableName; +import com.github.jeffreyning.mybatisplus.anno.MppMultiId; import com.njcn.db.bo.BaseEntity; import java.io.Serializable; import java.time.LocalDate; @@ -18,38 +19,37 @@ import lombok.Setter; @Getter @Setter @TableName("r_dim_obj_target_d") -public class RDimObjTargetD extends BaseEntity { +public class RDimObjTargetD { private static final long serialVersionUID = 1L; - + @MppMultiId(value = "Org_Id") private String orgId; - + @MppMultiId(value = "Statis_Date") private LocalDate statisDate; /** * 源荷对象类型 */ + @MppMultiId(value = "Object_Type") private String objectType; /** * 稳态指标类型 */ + @MppMultiId(value = "Target_type") private String targetType; /** * **源荷对象**指标超标占比(%) */ - private Float monitorRate; + private Double monitorRate; /** * **源荷对象**指标平均超标占比(%) */ - private Float limitRate; + private Double limitRate; + - /** - * **源荷对象**指标平均超标天数(天) - */ - private Float limitAvgRate; } diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/dim/RDimObjTargetM.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/dim/RDimObjTargetM.java index 6b66d973c..2270e6950 100644 --- a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/dim/RDimObjTargetM.java +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/dim/RDimObjTargetM.java @@ -1,6 +1,7 @@ package com.njcn.harmonic.pojo.po.dim; import com.baomidou.mybatisplus.annotation.TableName; +import com.github.jeffreyning.mybatisplus.anno.MppMultiId; import com.njcn.db.bo.BaseEntity; import java.io.Serializable; import java.time.LocalDate; @@ -22,18 +23,21 @@ public class RDimObjTargetM extends BaseEntity { private static final long serialVersionUID = 1L; + @MppMultiId(value = "Org_Id") private String orgId; - + @MppMultiId(value = "Statis_Date") private LocalDate statisDate; /** * 源荷对象类型 */ + @MppMultiId(value = "Object_Type") private String objectType; /** * 稳态指标类型 */ + @MppMultiId(value = "Target_type") private String targetType; /** diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/dim/RDimObjTargetY.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/dim/RDimObjTargetY.java index 1d447377b..ba5b89d2b 100644 --- a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/dim/RDimObjTargetY.java +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/dim/RDimObjTargetY.java @@ -1,6 +1,7 @@ package com.njcn.harmonic.pojo.po.dim; import com.baomidou.mybatisplus.annotation.TableName; +import com.github.jeffreyning.mybatisplus.anno.MppMultiId; import com.njcn.db.bo.BaseEntity; import java.io.Serializable; import java.time.LocalDate; @@ -22,18 +23,21 @@ public class RDimObjTargetY extends BaseEntity { private static final long serialVersionUID = 1L; + @MppMultiId(value = "Org_Id") private String orgId; - + @MppMultiId(value = "Statis_Date") private LocalDate statisDate; /** * 源荷对象类型 */ + @MppMultiId(value = "Object_Type") private String objectType; /** * 稳态指标类型 */ + @MppMultiId(value = "Target_type") private String targetType; /** diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/executor/OrgPointExecutor.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/executor/OrgPointExecutor.java index f5b47e692..f4de91d8f 100644 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/executor/OrgPointExecutor.java +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/executor/OrgPointExecutor.java @@ -57,6 +57,10 @@ public class OrgPointExecutor extends BaseExecutor{ private final RDimBusTargetMPOService rDimBusTargetMPOService; private final RDimBusTargetYPOService rDimBusTargetYPOService; + private final IRDimObjTargetDService irDimObjTargetDService; + private final IRDimObjTargetMService irDimObjTargetMService; + private final IRDimObjTargetYService irDimObjTargetYService; + /** @@ -500,5 +504,34 @@ public class OrgPointExecutor extends BaseExecutor{ } } + /** + * 河北主网新增算法表r_dim_obj_target_d/m/y + */ + @LiteflowMethod(value = LiteFlowMethodEnum.IS_ACCESS, nodeId = "rDimObjTarget", nodeType = NodeTypeEnum.COMMON) + public boolean processRDimObjTargetAccess(NodeComponent bindCmp) { + return isAccess(bindCmp); + } + @LiteflowMethod(value = LiteFlowMethodEnum.PROCESS, nodeId = "rDimObjTarget", nodeType = NodeTypeEnum.COMMON) + public void processRDimObjTargetProcess(NodeComponent bindCmp) { + String tag = bindCmp.getTag(); + CalculatedParam calculatedParam = bindCmp.getRequestData(); + if (tag.equalsIgnoreCase("r_dim_obj_target_d")) { + //日表 + irDimObjTargetDService.handleDay(calculatedParam); + } else if (tag.equalsIgnoreCase("r_dim_obj_target_m")) { + //数据补招不执行非日表算法 + if (!calculatedParam.isRepair()) { + //月表 + irDimObjTargetMService.handleMonth(calculatedParam); + } + }else if (tag.equalsIgnoreCase("r_dim_obj_target_y")) { + //数据补招不执行非日表算法 + if (!calculatedParam.isRepair()) { + //年表 + irDimObjTargetYService.handleYear(calculatedParam); + } + } + } + } diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/dim/RDimObjTargetDMapper.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/dim/RDimObjTargetDMapper.java index 931474416..1374ba2c5 100644 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/dim/RDimObjTargetDMapper.java +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/dim/RDimObjTargetDMapper.java @@ -1,6 +1,7 @@ package com.njcn.prepare.harmonic.mapper.mysql.dim; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.github.jeffreyning.mybatisplus.base.MppBaseMapper; import com.njcn.harmonic.pojo.po.dim.RDimObjTargetD; /** @@ -11,6 +12,6 @@ import com.njcn.harmonic.pojo.po.dim.RDimObjTargetD; * @author cdf * @since 2023-11-22 */ -public interface RDimObjTargetDMapper extends BaseMapper { +public interface RDimObjTargetDMapper extends MppBaseMapper { } diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/dim/RDimObjTargetMMapper.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/dim/RDimObjTargetMMapper.java index e56583ac2..31a5c3be8 100644 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/dim/RDimObjTargetMMapper.java +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/dim/RDimObjTargetMMapper.java @@ -1,6 +1,7 @@ package com.njcn.prepare.harmonic.mapper.mysql.dim; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.github.jeffreyning.mybatisplus.base.MppBaseMapper; import com.njcn.harmonic.pojo.po.dim.RDimObjTargetM; /** @@ -11,6 +12,6 @@ import com.njcn.harmonic.pojo.po.dim.RDimObjTargetM; * @author cdf * @since 2023-11-22 */ -public interface RDimObjTargetMMapper extends BaseMapper { +public interface RDimObjTargetMMapper extends MppBaseMapper { } diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/dim/RDimObjTargetYMapper.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/dim/RDimObjTargetYMapper.java index bec4b2e8e..3f6da7533 100644 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/dim/RDimObjTargetYMapper.java +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/dim/RDimObjTargetYMapper.java @@ -1,6 +1,7 @@ package com.njcn.prepare.harmonic.mapper.mysql.dim; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.github.jeffreyning.mybatisplus.base.MppBaseMapper; import com.njcn.harmonic.pojo.po.dim.RDimObjTargetY; /** @@ -11,6 +12,6 @@ import com.njcn.harmonic.pojo.po.dim.RDimObjTargetY; * @author cdf * @since 2023-11-22 */ -public interface RDimObjTargetYMapper extends BaseMapper { +public interface RDimObjTargetYMapper extends MppBaseMapper { } diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/IRDimObjTargetDService.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/IRDimObjTargetDService.java index da3ab89d5..e126f7054 100644 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/IRDimObjTargetDService.java +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/IRDimObjTargetDService.java @@ -1,7 +1,10 @@ package com.njcn.prepare.harmonic.service.mysql.dim; import com.baomidou.mybatisplus.extension.service.IService; +import com.github.jeffreyning.mybatisplus.service.IMppService; +import com.njcn.device.biz.pojo.dto.DeptGetChildrenMoreDTO; import com.njcn.harmonic.pojo.po.dim.RDimObjTargetD; +import com.njcn.prepare.harmonic.pojo.bo.CalculatedParam; /** *

@@ -11,6 +14,7 @@ import com.njcn.harmonic.pojo.po.dim.RDimObjTargetD; * @author cdf * @since 2023-11-22 */ -public interface IRDimObjTargetDService extends IService { +public interface IRDimObjTargetDService extends IMppService { + void handleDay(CalculatedParam calculatedParam); } diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/IRDimObjTargetMService.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/IRDimObjTargetMService.java index 5ea63ef2a..c560bcb9b 100644 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/IRDimObjTargetMService.java +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/IRDimObjTargetMService.java @@ -1,7 +1,10 @@ package com.njcn.prepare.harmonic.service.mysql.dim; import com.baomidou.mybatisplus.extension.service.IService; +import com.github.jeffreyning.mybatisplus.service.IMppService; +import com.njcn.device.biz.pojo.dto.DeptGetChildrenMoreDTO; import com.njcn.harmonic.pojo.po.dim.RDimObjTargetM; +import com.njcn.prepare.harmonic.pojo.bo.CalculatedParam; /** *

@@ -11,6 +14,7 @@ import com.njcn.harmonic.pojo.po.dim.RDimObjTargetM; * @author cdf * @since 2023-11-22 */ -public interface IRDimObjTargetMService extends IService { +public interface IRDimObjTargetMService extends IMppService { + void handleMonth(CalculatedParam calculatedParam); } diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/IRDimObjTargetYService.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/IRDimObjTargetYService.java index 1e0f9613e..c3b3a44f5 100644 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/IRDimObjTargetYService.java +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/IRDimObjTargetYService.java @@ -1,7 +1,10 @@ package com.njcn.prepare.harmonic.service.mysql.dim; import com.baomidou.mybatisplus.extension.service.IService; +import com.github.jeffreyning.mybatisplus.service.IMppService; +import com.njcn.device.biz.pojo.dto.DeptGetChildrenMoreDTO; import com.njcn.harmonic.pojo.po.dim.RDimObjTargetY; +import com.njcn.prepare.harmonic.pojo.bo.CalculatedParam; /** *

@@ -11,6 +14,7 @@ import com.njcn.harmonic.pojo.po.dim.RDimObjTargetY; * @author cdf * @since 2023-11-22 */ -public interface IRDimObjTargetYService extends IService { +public interface IRDimObjTargetYService extends IMppService { + void handleYear(CalculatedParam calculatedParam); } diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/impl/RDimObjTargetDServiceImpl.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/impl/RDimObjTargetDServiceImpl.java index bf255c899..98e5aaf4e 100644 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/impl/RDimObjTargetDServiceImpl.java +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/impl/RDimObjTargetDServiceImpl.java @@ -1,11 +1,32 @@ package com.njcn.prepare.harmonic.service.mysql.dim.impl; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import cn.hutool.core.date.DatePattern; +import cn.hutool.core.date.LocalDateTimeUtil; +import com.github.jeffreyning.mybatisplus.service.MppServiceImpl; +import com.njcn.device.biz.pojo.dto.DeptGetChildrenMoreDTO; +import com.njcn.device.biz.pojo.dto.LineDevGetDTO; +import com.njcn.device.pms.pojo.po.Monitor; +import com.njcn.harmonic.pojo.po.day.RStatLimitRateDPO; import com.njcn.harmonic.pojo.po.dim.RDimObjTargetD; import com.njcn.prepare.harmonic.mapper.mysql.dim.RDimObjTargetDMapper; +import com.njcn.prepare.harmonic.mapper.mysql.line.PmsMonitorMapper; +import com.njcn.prepare.harmonic.pojo.bo.CalculatedParam; +import com.njcn.prepare.harmonic.pojo.mysql.ROperatingMonitorDPO; +import com.njcn.prepare.harmonic.service.mysql.day.IRStatLimitRateDService; import com.njcn.prepare.harmonic.service.mysql.dim.IRDimObjTargetDService; +import com.njcn.prepare.harmonic.service.mysql.line.ROperatingMonitorService; +import com.njcn.system.api.DicDataFeignClient; +import com.njcn.system.enums.DicDataEnum; +import com.njcn.system.enums.DicDataTypeEnum; +import com.njcn.system.pojo.po.DictData; +import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; + +import java.time.LocalDate; +import java.util.*; +import java.util.stream.Collectors; /** *

@@ -16,6 +37,133 @@ import org.springframework.stereotype.Service; * @since 2023-11-22 */ @Service -public class RDimObjTargetDServiceImpl extends ServiceImpl implements IRDimObjTargetDService { +@RequiredArgsConstructor +public class RDimObjTargetDServiceImpl extends MppServiceImpl implements IRDimObjTargetDService { + private final DicDataFeignClient dicDataFeignClient; + private final ROperatingMonitorService rOperatingMonitorService; + private final IRStatLimitRateDService irStatLimitRateDService; + //咨询后直接用Mapper查询,这个算法只用pms补考虑pq,后续不知道要不要改 + private final PmsMonitorMapper pmsMonitorMapper; + @Override + public void handleDay(CalculatedParam calculatedParam) { + List rdiObjTargetDs = new ArrayList<>(); + LocalDate localDate = LocalDateTimeUtil.parseDate(calculatedParam.getDataDate(), DatePattern.NORM_DATE_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); + List indicatorTypeDate = dicDataFeignClient.getDicDataByTypeCode( + DicDataTypeEnum.STEADY_STATIS.getCode()).getData(); + //过滤电压总谐波畸变率、2-50次谐波电流、三相不平衡、负序电流、闪变 + List finalIndicatorTypeDate = indicatorTypeDate.stream().filter(temp -> Objects.equals(temp.getCode(), DicDataEnum.VOLTAGE_DEV.getCode()) || + Objects.equals(temp.getCode(), DicDataEnum.FLICKER.getCode()) || + Objects.equals(temp.getCode(), DicDataEnum.PHASE_VOLTAGE.getCode()) || + Objects.equals(temp.getCode(), DicDataEnum.THD_V.getCode())|| + Objects.equals(temp.getCode(), DicDataEnum.HARMONIC_CURRENT.getCode())).collect(Collectors.toList()); + + List monitoringLabels = dicDataFeignClient.getDicDataByTypeCode( + DicDataTypeEnum.MONITORING_LABELS.getCode()).getData(); + //过滤监测对象包括牵引站、风电场、光伏电站、重要,敏感用户 + List monitoringLabelIds = monitoringLabels.stream().filter(temp -> Objects.equals( + temp.getCode(), DicDataEnum.POWER_STATION.getCode()) || + Objects.equals(temp.getCode(), DicDataEnum.WIND_FARM.getCode()) || + Objects.equals(temp.getCode(), DicDataEnum.SENSITIVE_USERS.getCode()) || + Objects.equals(temp.getCode(), DicDataEnum.IMPORTANT_USERS.getCode())|| + Objects.equals(temp.getCode(), DicDataEnum.TRACTION_STATION.getCode())).map(DictData::getId).collect(Collectors.toList()); + + for (DeptGetChildrenMoreDTO deptGetChildrenMoreDTO : calculatedParam.getIdList()) { + if (!CollectionUtils.isEmpty(deptGetChildrenMoreDTO.getLineBaseList())) { + List lineBaseList = deptGetChildrenMoreDTO.getLineBaseList(); + if (CollectionUtils.isEmpty(lineBaseList)) { + continue; + } + List collect2 = lineBaseList.stream().map(LineDevGetDTO::getPointId).collect(Collectors.toList()); + List list = rOperatingMonitorService.lambdaQuery(). + in(ROperatingMonitorDPO::getMeasurementPointId, collect2). + eq(ROperatingMonitorDPO::getDataDate, localDate). + ge(ROperatingMonitorDPO::getDataIntegrityRate, 0.95). + eq(ROperatingMonitorDPO::getIsUnusual, 1).list(); + List monitorList = new ArrayList<>(); + + if(CollectionUtils.isEmpty(list)){ + continue; + } + List collect = list.stream().map(ROperatingMonitorDPO::getMeasurementPointId).distinct().collect(Collectors.toList()); + monitorList = pmsMonitorMapper.queryEffectiveBusbars(collect); + monitorList = monitorList.stream().filter(temp -> monitoringLabelIds.contains(temp.getMonitorTag())).collect(Collectors.toList()); + Map> collect1 = monitorList.stream(). + collect(Collectors.groupingBy(Monitor::getMonitorTag)); + + List linids = monitorList.stream().map(Monitor::getId).collect(Collectors.toList()); + List rStatLimitRateDPOS = irStatLimitRateDService.findList(linids, beginDay, endDay); + if(CollectionUtils.isEmpty(rStatLimitRateDPOS)){ + continue; + } + collect1.forEach((tag, monitors)->{ + finalIndicatorTypeDate.stream().forEach(temp->{ + RDimObjTargetD rDimObjTargetD = new RDimObjTargetD(); + rDimObjTargetD.setOrgId(deptGetChildrenMoreDTO.getUnitId()); + rDimObjTargetD.setStatisDate(localDate); + rDimObjTargetD.setTargetType(temp.getId()); + rDimObjTargetD.setObjectType(tag); + //有效接入监测点 + int effectivePoint = monitors.size(); + //对应指标的超表监测点 + int overLimitsPoint = overLimitsPointCount(temp,rStatLimitRateDPOS); + double v = Double.valueOf(overLimitsPoint) / effectivePoint; + rDimObjTargetD.setMonitorRate(Math.round(v * 100.0) / 100.0); + rDimObjTargetD.setLimitRate(Math.round(v * 100.0) / 100.0); + rdiObjTargetDs.add(rDimObjTargetD); + }); + }); + + + } + } + if (!CollectionUtils.isEmpty(rdiObjTargetDs)) { + this.saveOrUpdateBatchByMultiId(rdiObjTargetDs, 500); + } + + } + + private int overLimitsPointCount(DictData temp, List rStatLimitRateDPOS) { + Integer overLimiCount =0; + + if (Objects.equals(temp.getCode(), DicDataEnum.THD_V.getCode())) { + overLimiCount = Integer.valueOf(rStatLimitRateDPOS.stream().filter(po->po.getUaberranceOvertime()>0).count()+""); + } else if ( Objects.equals(temp.getCode(), DicDataEnum.HARMONIC_CURRENT.getCode())) { + overLimiCount = Integer.valueOf(rStatLimitRateDPOS.stream().filter(po-> + po.getIharm2Overtime()>0|| + po.getIharm3Overtime() >0|| + po.getIharm4Overtime() >0|| + po.getIharm5Overtime() >0|| + po.getIharm6Overtime() >0|| + po.getIharm7Overtime() >0|| + po.getIharm8Overtime() >0|| + po.getIharm9Overtime() >0|| + po.getIharm10Overtime() >0|| + po.getIharm11Overtime() >0|| + po.getIharm12Overtime() >0|| + po.getIharm13Overtime() >0|| + po.getIharm14Overtime() >0|| + po.getIharm15Overtime() >0|| + po.getIharm16Overtime() >0|| + po.getIharm17Overtime() >0|| + po.getIharm18Overtime() >0|| + po.getIharm19Overtime() >0|| + po.getIharm20Overtime() >0|| + po.getIharm21Overtime() >0|| + po.getIharm22Overtime() >0|| + po.getIharm23Overtime() >0|| + po.getIharm24Overtime() >0|| + po.getIharm25Overtime()>0).count()+""); + + } else if ( Objects.equals(temp.getCode(), DicDataEnum.PHASE_VOLTAGE.getCode())) { + overLimiCount = Integer.valueOf(rStatLimitRateDPOS.stream().filter(po->po.getUaberranceOvertime()>0).count()+""); + } else if ( Objects.equals(temp.getCode(), DicDataEnum.FLICKER.getCode())) { + overLimiCount = Integer.valueOf(rStatLimitRateDPOS.stream().filter(po->po.getFlickerOvertime()>0).count()+""); + } else if (Objects.equals(temp.getCode(), DicDataEnum.NEG_CURRENT.getCode())){ + overLimiCount = Integer.valueOf(rStatLimitRateDPOS.stream().filter(po->po.getINegOvertime()>0).count()+""); + } + return overLimiCount; + } } diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/impl/RDimObjTargetMServiceImpl.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/impl/RDimObjTargetMServiceImpl.java index fb98bde29..79a26d44c 100644 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/impl/RDimObjTargetMServiceImpl.java +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/impl/RDimObjTargetMServiceImpl.java @@ -2,8 +2,11 @@ package com.njcn.prepare.harmonic.service.mysql.dim.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.github.jeffreyning.mybatisplus.service.MppServiceImpl; +import com.njcn.device.biz.pojo.dto.DeptGetChildrenMoreDTO; import com.njcn.harmonic.pojo.po.dim.RDimObjTargetM; import com.njcn.prepare.harmonic.mapper.mysql.dim.RDimObjTargetMMapper; +import com.njcn.prepare.harmonic.pojo.bo.CalculatedParam; import com.njcn.prepare.harmonic.service.mysql.dim.IRDimObjTargetMService; import org.springframework.stereotype.Service; @@ -16,6 +19,10 @@ import org.springframework.stereotype.Service; * @since 2023-11-22 */ @Service -public class RDimObjTargetMServiceImpl extends ServiceImpl implements IRDimObjTargetMService { +public class RDimObjTargetMServiceImpl extends MppServiceImpl implements IRDimObjTargetMService { + @Override + public void handleMonth(CalculatedParam calculatedParam) { + + } } diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/impl/RDimObjTargetYServiceImpl.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/impl/RDimObjTargetYServiceImpl.java index af14e6ba1..a69b270aa 100644 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/impl/RDimObjTargetYServiceImpl.java +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/impl/RDimObjTargetYServiceImpl.java @@ -2,8 +2,11 @@ package com.njcn.prepare.harmonic.service.mysql.dim.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.github.jeffreyning.mybatisplus.service.MppServiceImpl; +import com.njcn.device.biz.pojo.dto.DeptGetChildrenMoreDTO; import com.njcn.harmonic.pojo.po.dim.RDimObjTargetY; import com.njcn.prepare.harmonic.mapper.mysql.dim.RDimObjTargetYMapper; +import com.njcn.prepare.harmonic.pojo.bo.CalculatedParam; import com.njcn.prepare.harmonic.service.mysql.dim.IRDimObjTargetYService; import org.springframework.stereotype.Service; @@ -16,6 +19,10 @@ import org.springframework.stereotype.Service; * @since 2023-11-22 */ @Service -public class RDimObjTargetYServiceImpl extends ServiceImpl implements IRDimObjTargetYService { +public class RDimObjTargetYServiceImpl extends MppServiceImpl implements IRDimObjTargetYService { + @Override + public void handleYear(CalculatedParam calculatedParam) { + + } } diff --git a/pqs-system/system-api/src/main/java/com/njcn/system/enums/DicDataEnum.java b/pqs-system/system-api/src/main/java/com/njcn/system/enums/DicDataEnum.java index 11862756d..94d8ec108 100644 --- a/pqs-system/system-api/src/main/java/com/njcn/system/enums/DicDataEnum.java +++ b/pqs-system/system-api/src/main/java/com/njcn/system/enums/DicDataEnum.java @@ -219,8 +219,11 @@ public enum DicDataEnum { ELECTRIFIED_RAILWAYS("电气化铁路", "Electrified_Railways"), SMELT_LOAD("冶炼负荷", "Smelt_Load"), DISTRIBUTED_PHOTOVOLTAICS("分布式光伏", "Distributed_Photovoltaics"), - SENSITIVE_USERS("敏感用户","Sensitive_Users"), - IMPORTANT_USERS("重要用户","Important_Users"), + WIND_FARM("风电场", "Wind_Farm"), + SENSITIVE_USERS("敏感用户", "Sensitive_Users"), + IMPORTANT_USERS("重要用户", "Important_Users"), + TRACTION_STATION("牵引站", "Traction_Station"), + /** * 电压等级