From d0a816f98282b61aa2a8589cd8d805bbeec82d3b Mon Sep 17 00:00:00 2001 From: huangzj <826100833@qq.com> Date: Wed, 22 Nov 2023 13:33:46 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=AE=97=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pojo/po/dim/RDimBusTargetDPO.java | 2 +- .../pojo/po/dim/RDimBusbarHarmnicDPO.java | 84 ++++++ .../prepare/executor/OrgPointExecutor.java | 59 +++- .../mysql/dim/RDimBusbarHarmnicDPOMapper.java | 15 + .../mapping/RDimBusbarHarmnicDPOMapper.xml | 26 ++ .../mapper/mysql/line/PmsMonitorMapper.java | 2 + .../mysql/line/mapping/PmsMonitorMapper.xml | 9 + .../mysql/dim/RDimBusTargetDPOService.java | 8 +- .../mysql/dim/RDimBusTargetMPOService.java | 8 +- .../mysql/dim/RDimBusTargetYPOService.java | 8 +- .../dim/RDimBusbarHarmnicDPOService.java | 21 ++ .../dim/impl/RDimBusTargetDPOServiceImpl.java | 140 ++++++++- .../dim/impl/RDimBusTargetMPOServiceImpl.java | 12 +- .../dim/impl/RDimBusTargetYPOServiceImpl.java | 12 +- .../impl/RDimBusbarHarmnicDPOServiceImpl.java | 283 ++++++++++++++++++ .../line/IRMpPartHarmonicDetailDService.java | 4 +- .../IRMpSurplusHarmonicDetailDService.java | 4 +- .../com/njcn/system/enums/DicDataEnum.java | 1 + 18 files changed, 685 insertions(+), 13 deletions(-) create mode 100644 pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/dim/RDimBusbarHarmnicDPO.java create mode 100644 pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/dim/RDimBusbarHarmnicDPOMapper.java create mode 100644 pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/dim/mapping/RDimBusbarHarmnicDPOMapper.xml create mode 100644 pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/RDimBusbarHarmnicDPOService.java create mode 100644 pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/impl/RDimBusbarHarmnicDPOServiceImpl.java diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/dim/RDimBusTargetDPO.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/dim/RDimBusTargetDPO.java index 18ef9a43a..e544847b7 100644 --- a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/dim/RDimBusTargetDPO.java +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/dim/RDimBusTargetDPO.java @@ -21,7 +21,7 @@ import lombok.Data; */ @Data @TableName(value = "r_dim_bus_target_d") -public class RDimBusTargetDPO extends BaseEntity { +public class RDimBusTargetDPO { @MppMultiId(value = "Org_Id") private String orgId; diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/dim/RDimBusbarHarmnicDPO.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/dim/RDimBusbarHarmnicDPO.java new file mode 100644 index 000000000..77c8e000d --- /dev/null +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/dim/RDimBusbarHarmnicDPO.java @@ -0,0 +1,84 @@ +package com.njcn.harmonic.pojo.po.dim; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.time.LocalDate; +import java.time.LocalDateTime; + +import com.github.jeffreyning.mybatisplus.anno.MppMultiId; +import com.njcn.db.bo.BaseEntity; +import lombok.Data; + +/** + * + * Description: + * Date: 2023/11/21 13:45【需求编号】 + * + * @author clam + * @version V1.0.0 + */ +@Data +@TableName(value = "r_dim_busbar_harmnic_d") +public class RDimBusbarHarmnicDPO { + /** + * 单位code + */ + @MppMultiId(value = "Org_Id") + private String orgId; + + /** + * 统计时间 yyyy-mm-dd + */ + @MppMultiId(value = "Statis_Date") + private LocalDate statisDate; + + /** + * 母线id + */ + @MppMultiId(value = "BusBar_Id") + private String busbarId; + + /** + * 稳态指标类型 + */ + @MppMultiId(value = "Target_type") + private String targetType; + + /** + * 电压等级 + */ + @TableField(value = "Voltage_level") + private String voltageLevel; + /** + * 监测对象类型 + */ + + @TableField(value = "Monitor_Tag") + private String monitorTag; + + /** + * 0稳态指标1.暂态指标' + */ + @MppMultiId(value = "`Level`") + private Integer level; + + /** + * 超标次数) + */ + @TableField(value = "`limit_count`") + private Integer limitCount; + + /** + * 稳态总统计次数 + */ + @TableField(value = "Statis_count") + private Integer statisCount; + + @TableField(value = "`State`") + private Integer state; + + + +} \ No newline at end of file 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 48b135a21..929fdb0b0 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 @@ -10,6 +10,10 @@ import com.njcn.prepare.harmonic.service.mysql.area.RStatHarmonicOrgService; import com.njcn.prepare.harmonic.service.mysql.area.RStatHarmonicService; import com.njcn.prepare.harmonic.service.mysql.area.RStatHarmonicVoltageService; import com.njcn.prepare.harmonic.service.mysql.area.RStatOrgService; +import com.njcn.prepare.harmonic.service.mysql.dim.RDimBusTargetDPOService; +import com.njcn.prepare.harmonic.service.mysql.dim.RDimBusTargetMPOService; +import com.njcn.prepare.harmonic.service.mysql.dim.RDimBusTargetYPOService; +import com.njcn.prepare.harmonic.service.mysql.dim.RDimBusbarHarmnicDPOService; import com.njcn.prepare.harmonic.service.mysql.line.PollutionService; import com.njcn.prepare.harmonic.service.mysql.newalgorithm.*; import com.yomahub.liteflow.annotation.LiteflowComponent; @@ -45,11 +49,16 @@ public class OrgPointExecutor extends BaseExecutor{ private final RAlarmCountService rAlarmCountService; + private final RDimBusbarHarmnicDPOService rDimBusbarHarmnicDPOService; + private final RDimStationTargetDPOService rDimStationTargetDPOService; private final RDimStationTargetMPOService rDimStationTargetMPOService; - private final RDimStationTargetYPOService rDimStationTargetYPOService; + private final RDimBusTargetDPOService rDimBusTargetDPOService; + private final RDimBusTargetMPOService rDimBusTargetMPOService; + private final RDimBusTargetYPOService rDimBusTargetYPOService; + /** @@ -414,6 +423,25 @@ public class OrgPointExecutor extends BaseExecutor{ } } } + + + /** + * 河北主网新增算法表r_dim_busbar_harmnic_d作为中间表 + */ + @LiteflowMethod(value = LiteFlowMethodEnum.IS_ACCESS, nodeId = "rDimBusbarHarmnic", nodeType = NodeTypeEnum.COMMON) + public boolean processRDimBusbarHarmnicAccess(NodeComponent bindCmp) { + return isAccess(bindCmp); + } + @LiteflowMethod(value = LiteFlowMethodEnum.PROCESS, nodeId = "rDimBusbarHarmnic", nodeType = NodeTypeEnum.COMMON) + public void processRDimBusbarHarmnicProcess(NodeComponent bindCmp) { + String tag = bindCmp.getTag(); + CalculatedParam calculatedParam = bindCmp.getRequestData(); + if (tag.equalsIgnoreCase("r_dim_busbar_harmnic_d")) { + //日表 + rDimBusbarHarmnicDPOService.handleDay(calculatedParam); + } + } + /** * 河北主网新增算法表r_dim_station_target_d/m/y */ @@ -443,5 +471,34 @@ public class OrgPointExecutor extends BaseExecutor{ } } + /** + * 河北主网新增算法表r_dim_bus_target_d/m/y + */ + @LiteflowMethod(value = LiteFlowMethodEnum.IS_ACCESS, nodeId = "rDimBusTarget", nodeType = NodeTypeEnum.COMMON) + public boolean processRDimBusTargetAccess(NodeComponent bindCmp) { + return isAccess(bindCmp); + } + @LiteflowMethod(value = LiteFlowMethodEnum.PROCESS, nodeId = "rDimBusTarget", nodeType = NodeTypeEnum.COMMON) + public void processRDimBusTargetProcess(NodeComponent bindCmp) { + String tag = bindCmp.getTag(); + CalculatedParam calculatedParam = bindCmp.getRequestData(); + if (tag.equalsIgnoreCase("r_dim_bus_target_d")) { + //日表 + rDimBusTargetDPOService.handleDay(calculatedParam); + } else if (tag.equalsIgnoreCase("r_dim_bus_target_m")) { + //数据补招不执行非日表算法 + if (!calculatedParam.isRepair()) { + //月表 + rDimBusTargetMPOService.handleMonth(calculatedParam); + } + }else if (tag.equalsIgnoreCase("r_dim_bus_target_y")) { + //数据补招不执行非日表算法 + if (!calculatedParam.isRepair()) { + //年表 + rDimBusTargetYPOService.handleYear(calculatedParam); + } + } + } + } diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/dim/RDimBusbarHarmnicDPOMapper.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/dim/RDimBusbarHarmnicDPOMapper.java new file mode 100644 index 000000000..2f9847704 --- /dev/null +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/dim/RDimBusbarHarmnicDPOMapper.java @@ -0,0 +1,15 @@ +package com.njcn.prepare.harmonic.mapper.mysql.dim; + +import com.github.jeffreyning.mybatisplus.base.MppBaseMapper; +import com.njcn.harmonic.pojo.po.dim.RDimBusbarHarmnicDPO; + +/** + * + * Description: + * Date: 2023/11/21 13:45【需求编号】 + * + * @author clam + * @version V1.0.0 + */ +public interface RDimBusbarHarmnicDPOMapper extends MppBaseMapper { +} \ No newline at end of file diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/dim/mapping/RDimBusbarHarmnicDPOMapper.xml b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/dim/mapping/RDimBusbarHarmnicDPOMapper.xml new file mode 100644 index 000000000..d56b8efb3 --- /dev/null +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/dim/mapping/RDimBusbarHarmnicDPOMapper.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + Org_Id, Statis_Date, BusBar_Id, Target_type, Voltage_level, `Level`, `limit count`, + Statis_count, `State`, Create_By, Create_Time, Update_By, Update_Time + + \ No newline at end of file diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/line/PmsMonitorMapper.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/line/PmsMonitorMapper.java index ec5e4286d..b7b3ec163 100644 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/line/PmsMonitorMapper.java +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/line/PmsMonitorMapper.java @@ -21,4 +21,6 @@ public interface PmsMonitorMapper extends BaseMapper { * @return */ List queryConfigMonitor(@Param("monitorIdList") List monitorIdList, @Param("codeList") List codeList); + + List queryEffectiveBusbars(@Param("collect") List collect); } diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/line/mapping/PmsMonitorMapper.xml b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/line/mapping/PmsMonitorMapper.xml index 24eb39288..5d033a305 100644 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/line/mapping/PmsMonitorMapper.xml +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/line/mapping/PmsMonitorMapper.xml @@ -20,4 +20,13 @@ + + + + diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/RDimBusTargetDPOService.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/RDimBusTargetDPOService.java index d05af406e..2b3a36c9d 100644 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/RDimBusTargetDPOService.java +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/RDimBusTargetDPOService.java @@ -1,8 +1,11 @@ package com.njcn.prepare.harmonic.service.mysql.dim; import com.github.jeffreyning.mybatisplus.service.IMppService; +import com.njcn.device.biz.pojo.dto.DeptGetChildrenMoreDTO; import com.njcn.harmonic.pojo.po.dim.RDimBusTargetDPO; - /** +import com.njcn.prepare.harmonic.pojo.bo.CalculatedParam; + +/** * * Description: * Date: 2023/11/20 10:29【需求编号】 @@ -13,4 +16,5 @@ import com.njcn.harmonic.pojo.po.dim.RDimBusTargetDPO; public interface RDimBusTargetDPOService extends IMppService { -} + void handleDay(CalculatedParam calculatedParam); + } diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/RDimBusTargetMPOService.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/RDimBusTargetMPOService.java index 2ff9da996..eb0f66a37 100644 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/RDimBusTargetMPOService.java +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/RDimBusTargetMPOService.java @@ -2,8 +2,11 @@ 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.RDimBusTargetMPO; - /** +import com.njcn.prepare.harmonic.pojo.bo.CalculatedParam; + +/** * * Description: * Date: 2023/11/20 10:29【需求编号】 @@ -14,4 +17,5 @@ import com.njcn.harmonic.pojo.po.dim.RDimBusTargetMPO; public interface RDimBusTargetMPOService extends IMppService { -} + void handleMonth(CalculatedParam calculatedParam); + } diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/RDimBusTargetYPOService.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/RDimBusTargetYPOService.java index e8f3eba26..6a5f2b347 100644 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/RDimBusTargetYPOService.java +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/RDimBusTargetYPOService.java @@ -2,8 +2,11 @@ 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.RDimBusTargetYPO; - /** +import com.njcn.prepare.harmonic.pojo.bo.CalculatedParam; + +/** * * Description: * Date: 2023/11/20 10:29【需求编号】 @@ -14,4 +17,5 @@ import com.njcn.harmonic.pojo.po.dim.RDimBusTargetYPO; public interface RDimBusTargetYPOService extends IMppService { -} + void handleYear(CalculatedParam calculatedParam); + } diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/RDimBusbarHarmnicDPOService.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/RDimBusbarHarmnicDPOService.java new file mode 100644 index 000000000..a4988dcc6 --- /dev/null +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/RDimBusbarHarmnicDPOService.java @@ -0,0 +1,21 @@ +package com.njcn.prepare.harmonic.service.mysql.dim; + +import com.github.jeffreyning.mybatisplus.service.IMppService; +import com.njcn.device.biz.pojo.dto.DeptGetChildrenMoreDTO; +import com.njcn.harmonic.pojo.po.dim.RDimBusbarHarmnicDPO; +import com.baomidou.mybatisplus.extension.service.IService; +import com.njcn.prepare.harmonic.pojo.bo.CalculatedParam; + +/** + * + * Description: + * Date: 2023/11/21 13:45【需求编号】 + * + * @author clam + * @version V1.0.0 + */ +public interface RDimBusbarHarmnicDPOService extends IMppService { + + + void handleDay(CalculatedParam calculatedParam); + } diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/impl/RDimBusTargetDPOServiceImpl.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/impl/RDimBusTargetDPOServiceImpl.java index 317bbee15..a7119c0ac 100644 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/impl/RDimBusTargetDPOServiceImpl.java +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/impl/RDimBusTargetDPOServiceImpl.java @@ -1,11 +1,44 @@ package com.njcn.prepare.harmonic.service.mysql.dim.impl; +import cn.hutool.core.date.DatePattern; +import cn.hutool.core.date.LocalDateTimeUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.IService; 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.device.pq.pojo.po.RStatIntegrityD; +import com.njcn.harmonic.pojo.po.RMpPartHarmonicDetailD; +import com.njcn.harmonic.pojo.po.RMpSurplusHarmonicDetailD; +import com.njcn.harmonic.pojo.po.dim.RDimBusbarHarmnicDPO; +import com.njcn.prepare.harmonic.mapper.mysql.day.RStatIntegrityDMapper; +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.Impl.line.ROperatingMonitorDServiceImpl; +import com.njcn.prepare.harmonic.service.mysql.dim.RDimBusTargetDPOService; +import com.njcn.prepare.harmonic.service.mysql.dim.RDimBusbarHarmnicDPOService; +import com.njcn.prepare.harmonic.service.mysql.line.IRMpPartHarmonicDetailDService; +import com.njcn.prepare.harmonic.service.mysql.line.IRMpSurplusHarmonicDetailDService; +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 com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.njcn.harmonic.pojo.po.dim.RDimBusTargetDPO; import com.njcn.prepare.harmonic.mapper.mysql.dim.RDimBusTargetDPOMapper; +import org.springframework.util.CollectionUtils; + +import java.time.LocalDate; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.stream.Collectors; /** * @@ -16,6 +49,111 @@ import com.njcn.prepare.harmonic.mapper.mysql.dim.RDimBusTargetDPOMapper; * @version V1.0.0 */ @Service -public class RDimBusTargetDPOServiceImpl extends MppServiceImpl implements IService { +@RequiredArgsConstructor +public class RDimBusTargetDPOServiceImpl extends MppServiceImpl implements RDimBusTargetDPOService { + + private final DicDataFeignClient dicDataFeignClient; + private final RDimBusbarHarmnicDPOService rDimBusbarHarmnicDPOService; + + //咨询后直接用Mapper查询,这个算法只用pms补考虑pq,后续不知道要不要改 + private final PmsMonitorMapper pmsMonitorMapper; + + @Override + public void handleDay(CalculatedParam calculatedParam) { + List rDimBusTargetDPOList = new ArrayList<>(); + //指标对象类型 + List indicatorTypeDate = dicDataFeignClient.getDicDataByTypeCode( + DicDataTypeEnum.STEADY_STATIS.getCode()).getData(); + LocalDate localDate = LocalDateTimeUtil.parseDate(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN); + List collect = 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())).map(DictData::getId).collect(Collectors.toList()); + List rdibBusbarHarms = rDimBusbarHarmnicDPOService.lambdaQuery().eq(RDimBusbarHarmnicDPO::getStatisDate, localDate).in(RDimBusbarHarmnicDPO::getTargetType, collect).list(); + if (CollectionUtils.isEmpty(rdibBusbarHarms)){ + return; + } + Map>> collect1 = rdibBusbarHarms.stream().collect(Collectors.groupingBy(RDimBusbarHarmnicDPO::getOrgId, + Collectors.groupingBy(RDimBusbarHarmnicDPO::getTargetType))); + collect1.forEach((orgId,v)->{ + v.forEach((tag,rdibBusbarHarmList)->{ + RDimBusTargetDPO rDimBusTargetDPO = new RDimBusTargetDPO(); + rDimBusTargetDPO.setOrgId(orgId); + rDimBusTargetDPO.setTargetType(tag); + rDimBusTargetDPO.setStatisDate(localDate); + //有效接入母线数量 + Double effectiveBuses = Double.valueOf(rdibBusbarHarmList.size()); + long count = rdibBusbarHarmList.stream().filter(temp -> temp.getLimitCount() > 0).count(); + double v1 = count / effectiveBuses; + double limitrate = Math.round(v1 * 100.0) / 100.0; + rDimBusTargetDPO.setLimitRate(limitrate); + double asDouble = rdibBusbarHarmList.stream().filter(temp -> temp.getStatisCount() > 0).mapToDouble(temp -> { + return Double.valueOf(temp.getLimitCount()) / temp.getStatisCount(); + }).average().getAsDouble(); + double passRate = Math.round(asDouble * 100.0) / 100.0; + rDimBusTargetDPO.setPassRate(1-passRate); + + }); + }); + + + + } + + private void overLimitTimes(DictData temp, List rMpSurplusHarmonicDetailDList, List rMpPartHarmonicDetailDList, List monitorList) { + Double overLimitTimes =0.00; + Map collect = monitorList.stream().collect(Collectors.toMap(Monitor::getId, Monitor::getStatisticalInterval)); + if (Objects.equals(temp.getCode(), DicDataEnum.VOLTAGE_DEV.getCode())) { + overLimitTimes = rMpPartHarmonicDetailDList.stream().mapToDouble(po -> { + return po.getVDevTimes() * collect.get(po.getMeasurementPointId()); + } + ).sum(); + + } else if ( Objects.equals(temp.getCode(), DicDataEnum.FLICKER.getCode())) { + overLimitTimes = rMpSurplusHarmonicDetailDList.stream().mapToDouble(po -> { + return po.getFlickerTimes() * collect.get(po.getMeasurementPointId()); + } + ).sum(); + + } else if ( Objects.equals(temp.getCode(), DicDataEnum.PHASE_VOLTAGE.getCode())) { + overLimitTimes = rMpPartHarmonicDetailDList.stream().mapToDouble(po -> { + return po.getUnbalanceTimes() * collect.get(po.getMeasurementPointId()); + } + ).sum(); + + } else if (Objects.equals(temp.getCode(), DicDataEnum.THD_V.getCode())){ + overLimitTimes = rMpPartHarmonicDetailDList.stream().mapToDouble(po -> { + return po.getVTimes() * collect.get(po.getMeasurementPointId()); + } + ).sum(); + } + } + + /** + * @Description: overLimitBusbarsCount + * @Param: + * @return: java.lang.Integer + * @Author: clam + * @Date: 2023/11/21 + */ + private Integer overLimitBusbarsCount(DictData temp, List rMpSurplusHarmonicDetailDList, List rMpPartHarmonicDetailDList) { + Integer busbarsCount =0; + + if (Objects.equals(temp.getCode(), DicDataEnum.VOLTAGE_DEV.getCode())) { + busbarsCount = rMpPartHarmonicDetailDList.stream().filter(po -> Objects.equals(po.getIsVDev(), 1)).collect(Collectors.toList()).size(); + + } else if ( Objects.equals(temp.getCode(), DicDataEnum.FLICKER.getCode())) { + busbarsCount = rMpSurplusHarmonicDetailDList.stream().filter(po -> Objects.equals(po.getIsFlicker(), 1)).collect(Collectors.toList()).size(); + + } else if ( Objects.equals(temp.getCode(), DicDataEnum.PHASE_VOLTAGE.getCode())) { + busbarsCount = rMpPartHarmonicDetailDList.stream().filter(po -> Objects.equals(po.getIsUnbalance(), 1)).collect(Collectors.toList()).size(); + + + } else if (Objects.equals(temp.getCode(), DicDataEnum.THD_V.getCode())){ + busbarsCount = rMpPartHarmonicDetailDList.stream().filter(po -> Objects.equals(po.getIsVThd(), 1)).collect(Collectors.toList()).size(); + + } + return busbarsCount; + } } diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/impl/RDimBusTargetMPOServiceImpl.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/impl/RDimBusTargetMPOServiceImpl.java index 42055c522..c802639d3 100644 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/impl/RDimBusTargetMPOServiceImpl.java +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/impl/RDimBusTargetMPOServiceImpl.java @@ -2,6 +2,11 @@ package com.njcn.prepare.harmonic.service.mysql.dim.impl; import com.baomidou.mybatisplus.extension.service.IService; import com.github.jeffreyning.mybatisplus.service.MppServiceImpl; +import com.njcn.device.biz.pojo.dto.DeptGetChildrenMoreDTO; +import com.njcn.prepare.harmonic.pojo.bo.CalculatedParam; +import com.njcn.prepare.harmonic.service.mysql.dim.RDimBusTargetDPOService; +import com.njcn.prepare.harmonic.service.mysql.dim.RDimBusTargetMPOService; +import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import com.njcn.prepare.harmonic.mapper.mysql.dim.RDimBusTargetMPOMapper; import com.njcn.harmonic.pojo.po.dim.RDimBusTargetMPO; @@ -15,6 +20,11 @@ import com.njcn.harmonic.pojo.po.dim.RDimBusTargetMPO; * @version V1.0.0 */ @Service -public class RDimBusTargetMPOServiceImpl extends MppServiceImpl implements IService { +@RequiredArgsConstructor +public class RDimBusTargetMPOServiceImpl extends MppServiceImpl implements RDimBusTargetMPOService { + @Override + public void handleMonth(CalculatedParam calculatedParam) { + + } } diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/impl/RDimBusTargetYPOServiceImpl.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/impl/RDimBusTargetYPOServiceImpl.java index 7ab7a0444..d364e0543 100644 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/impl/RDimBusTargetYPOServiceImpl.java +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/impl/RDimBusTargetYPOServiceImpl.java @@ -2,6 +2,11 @@ package com.njcn.prepare.harmonic.service.mysql.dim.impl; import com.baomidou.mybatisplus.extension.service.IService; import com.github.jeffreyning.mybatisplus.service.MppServiceImpl; +import com.njcn.device.biz.pojo.dto.DeptGetChildrenMoreDTO; +import com.njcn.prepare.harmonic.pojo.bo.CalculatedParam; +import com.njcn.prepare.harmonic.service.mysql.dim.RDimBusTargetDPOService; +import com.njcn.prepare.harmonic.service.mysql.dim.RDimBusTargetYPOService; +import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.njcn.harmonic.pojo.po.dim.RDimBusTargetYPO; @@ -16,6 +21,11 @@ import com.njcn.prepare.harmonic.mapper.mysql.dim.RDimBusTargetYPOMapper; * @version V1.0.0 */ @Service -public class RDimBusTargetYPOServiceImpl extends MppServiceImpl implements IService { +@RequiredArgsConstructor +public class RDimBusTargetYPOServiceImpl extends MppServiceImpl implements RDimBusTargetYPOService { + @Override + public void handleYear(CalculatedParam calculatedParam) { + + } } diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/impl/RDimBusbarHarmnicDPOServiceImpl.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/impl/RDimBusbarHarmnicDPOServiceImpl.java new file mode 100644 index 000000000..e0b113917 --- /dev/null +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/impl/RDimBusbarHarmnicDPOServiceImpl.java @@ -0,0 +1,283 @@ +package com.njcn.prepare.harmonic.service.mysql.dim.impl; + +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.RMpEventDetailDPO; +import com.njcn.harmonic.pojo.po.day.RStatLimitRateDPO; +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.line.RMpEventDetailDService; +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 com.njcn.prepare.harmonic.mapper.mysql.dim.RDimBusbarHarmnicDPOMapper; +import com.njcn.harmonic.pojo.po.dim.RDimBusbarHarmnicDPO; +import com.njcn.prepare.harmonic.service.mysql.dim.RDimBusbarHarmnicDPOService; +import org.springframework.util.CollectionUtils; + +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.util.*; +import java.util.stream.Collectors; +import java.util.stream.Stream; + +/** + * + * Description: + * Date: 2023/11/21 13:45【需求编号】 + * + * @author clam + * @version V1.0.0 + */ +@Service +@RequiredArgsConstructor +public class RDimBusbarHarmnicDPOServiceImpl extends MppServiceImpl implements RDimBusbarHarmnicDPOService{ + + private final DicDataFeignClient dicDataFeignClient; + private final IRStatLimitRateDService irStatLimitRateDService; + private final ROperatingMonitorService rOperatingMonitorService; + private final RMpEventDetailDService rMpEventDetailDService; + + //咨询后直接用Mapper查询,这个算法只用pms补考虑pq,后续不知道要不要改 + private final PmsMonitorMapper pmsMonitorMapper; + @Override + public void handleDay(CalculatedParam calculatedParam) { + List rDimBusbarHarmnicDPOList = new ArrayList<>(); + //指标对象类型 + List indicatorTypeDate = dicDataFeignClient.getDicDataByTypeCode( + DicDataTypeEnum.STEADY_STATIS.getCode()).getData(); + 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 eventStatis = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.EVENT_STATIS.getCode()).getData(); + for (DeptGetChildrenMoreDTO deptGetChildrenMoreDTO : calculatedParam.getIdList()) { + if (!CollectionUtils.isEmpty(deptGetChildrenMoreDTO.getLineBaseList())) { + List lineBaseList = deptGetChildrenMoreDTO.getLineBaseList(); + if (CollectionUtils.isEmpty(lineBaseList)) { + continue; + } + List monitorList = new ArrayList<>(); + + //有效母线数 + Integer effectiveBusbars=0; + 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(); + if(!CollectionUtils.isEmpty(list)){ + List collect = list.stream().map(ROperatingMonitorDPO::getMeasurementPointId).distinct().collect(Collectors.toList()); + monitorList = pmsMonitorMapper.queryEffectiveBusbars(collect); + //分组获取最频繁统计监测点 + Map> collect1 = monitorList.stream().collect(Collectors.groupingBy(Monitor::getLineId, + Collectors.minBy(Comparator.comparingInt(Monitor::getStatisticalInterval)))); + monitorList = collect1.values().stream() + .filter(Optional::isPresent) + .map(Optional::get) + .collect(Collectors.toList()); + } + if (CollectionUtils.isEmpty(monitorList)) { + continue; + } + + List linids = monitorList.stream().map(Monitor::getId).collect(Collectors.toList()); + List rStatLimitRateDPOS = irStatLimitRateDService.findList(linids, beginDay, endDay); + List rMpEventDetailDPOList = rMpEventDetailDService.lambdaQuery().in(RMpEventDetailDPO::getMeasurementPointId, linids).eq(RMpEventDetailDPO::getDataDate, localDate).list(); + monitorList.stream().forEach(busbar->{ + //稳态 + indicatorTypeDate.stream().forEach(temp->{ + //总稳态指标排除 + if (Objects.equals(temp.getCode(), DicDataEnum.TOTAL_INDICATOR.getCode())) { + return; + } + + RDimBusbarHarmnicDPO rDimBusbarHarmnicDPO = new RDimBusbarHarmnicDPO(); + rDimBusbarHarmnicDPO.setOrgId(deptGetChildrenMoreDTO.getUnitId()); + rDimBusbarHarmnicDPO.setStatisDate(localDate); + rDimBusbarHarmnicDPO.setBusbarId(busbar.getLineId()); + rDimBusbarHarmnicDPO.setTargetType(temp.getId()); + rDimBusbarHarmnicDPO.setLevel(0); + rDimBusbarHarmnicDPO.setState(1); + rDimBusbarHarmnicDPO.setMonitorTag(busbar.getMonitorTag()); + rDimBusbarHarmnicDPO.setVoltageLevel(busbar.getVoltageLevel()); + Optional first = rStatLimitRateDPOS.stream().filter(rStatLimitRateDPO -> Objects.equals(rStatLimitRateDPO.getLineId(), busbar.getId())).findFirst(); + RStatLimitRateDPO rStatLimitRateDPO = new RStatLimitRateDPO(); + if (first.isPresent()) { + rStatLimitRateDPO = first.get(); + }else { + return; + } + if(Objects.equals(temp.getCode(), DicDataEnum.FLICKER.getCode())){ + rDimBusbarHarmnicDPO.setStatisCount(rStatLimitRateDPO.getFlickerAllTime()); + + }else { + rDimBusbarHarmnicDPO.setStatisCount(rStatLimitRateDPO.getAllTime()); + + } + rDimBusbarHarmnicDPO.setLimitCount(overLimitBusbarsCount(temp,rStatLimitRateDPO)); + rDimBusbarHarmnicDPOList.add(rDimBusbarHarmnicDPO); + + }); + //暂态 + eventStatis.forEach(dictData -> { + if (Objects.equals(dictData.getCode(), DicDataEnum.DISTURBANCE.getCode()) + || Objects.equals(dictData.getCode(), DicDataEnum.OTHER.getCode()) + || Objects.equals(dictData.getCode(), DicDataEnum.RECORDING_WAVE.getCode()) + || Objects.equals(dictData.getCode(), DicDataEnum.TOTAL_INDICATORS.getCode())) { + return; + } + RDimBusbarHarmnicDPO rDimBusbarHarmnicDPO = new RDimBusbarHarmnicDPO(); + rDimBusbarHarmnicDPO.setOrgId(deptGetChildrenMoreDTO.getUnitId()); + rDimBusbarHarmnicDPO.setStatisDate(localDate); + rDimBusbarHarmnicDPO.setTargetType(dictData.getId()); + rDimBusbarHarmnicDPO.setBusbarId(busbar.getLineId()); + rDimBusbarHarmnicDPO.setLevel(1); + rDimBusbarHarmnicDPO.setState(1); + rDimBusbarHarmnicDPO.setMonitorTag(busbar.getMonitorTag()); + rDimBusbarHarmnicDPO.setVoltageLevel(busbar.getVoltageLevel()); + Optional first = rMpEventDetailDPOList.stream().filter(rMpEventDetailDPO -> Objects.equals(rMpEventDetailDPO.getMeasurementPointId(), busbar.getId())).findFirst(); + RMpEventDetailDPO rMpEventDetailDPO = new RMpEventDetailDPO(); + if (first.isPresent()) { + rMpEventDetailDPO = first.get(); + }else { + return; + } + + rDimBusbarHarmnicDPO.setLimitCount(eventBusbarsCount(dictData,rMpEventDetailDPO)); + rDimBusbarHarmnicDPOList.add(rDimBusbarHarmnicDPO); + }); + + }); + + } + } + if (!CollectionUtils.isEmpty(rDimBusbarHarmnicDPOList)) { + this.saveOrUpdateBatchByMultiId(rDimBusbarHarmnicDPOList, 500); + } + } + + private Integer eventBusbarsCount(DictData dictData, RMpEventDetailDPO rMpEventDetailDPO) { + Integer eventCount =0; + if (Objects.equals(dictData.getCode(), DicDataEnum.VOLTAGE_DIP.getCode())) { + eventCount = rMpEventDetailDPO.getSagTimes(); + } else if ( Objects.equals(dictData.getCode(), DicDataEnum.VOLTAGE_RISE.getCode())) { + eventCount = rMpEventDetailDPO.getSwellTimes(); + + } else if ( Objects.equals(dictData.getCode(), DicDataEnum.SHORT_INTERRUPTIONS.getCode())) { + eventCount = rMpEventDetailDPO.getInterruptTimes(); + } + + return eventCount; + } + + + /** + * @Description: overLimitBusbarsCount + * @Param: + * @return: java.lang.Integer + * @Author: clam + * @Date: 2023/11/21 + */ + private Integer overLimitBusbarsCount(DictData temp,RStatLimitRateDPO rStatLimitRateDPO ) { + Integer overLimiCount =0; + + if (Objects.equals(temp.getCode(), DicDataEnum.VOLTAGE_DEV.getCode())) { + overLimiCount = rStatLimitRateDPO.getVoltageDevOvertime(); + } else if ( Objects.equals(temp.getCode(), DicDataEnum.FLICKER.getCode())) { + overLimiCount = rStatLimitRateDPO.getFlickerOvertime(); + + } else if ( Objects.equals(temp.getCode(), DicDataEnum.PHASE_VOLTAGE.getCode())) { + overLimiCount = rStatLimitRateDPO.getUbalanceOvertime(); + } else if (Objects.equals(temp.getCode(), DicDataEnum.THD_V.getCode())){ + overLimiCount = rStatLimitRateDPO.getUaberranceOvertime(); + }else if ( Objects.equals(temp.getCode(), DicDataEnum.HARMONIC_VOLTAGE.getCode())) { + overLimiCount = Stream.of( rStatLimitRateDPO.getUharm2Overtime(), + rStatLimitRateDPO.getUharm3Overtime(), + rStatLimitRateDPO.getUharm4Overtime(), + rStatLimitRateDPO.getUharm5Overtime(), + rStatLimitRateDPO.getUharm6Overtime(), + rStatLimitRateDPO.getUharm7Overtime(), + rStatLimitRateDPO.getUharm8Overtime(), + rStatLimitRateDPO.getUharm9Overtime(), + rStatLimitRateDPO.getUharm10Overtime() , + rStatLimitRateDPO.getUharm11Overtime() , + rStatLimitRateDPO.getUharm12Overtime() , + rStatLimitRateDPO.getUharm13Overtime() , + rStatLimitRateDPO.getUharm14Overtime() , + rStatLimitRateDPO.getUharm15Overtime() , + rStatLimitRateDPO.getUharm16Overtime() , + rStatLimitRateDPO.getUharm17Overtime() , + rStatLimitRateDPO.getUharm18Overtime() , + rStatLimitRateDPO.getUharm19Overtime() , + rStatLimitRateDPO.getUharm20Overtime() , + rStatLimitRateDPO.getUharm21Overtime() , + rStatLimitRateDPO.getUharm22Overtime() , + rStatLimitRateDPO.getUharm23Overtime() , + rStatLimitRateDPO.getUharm24Overtime() , + rStatLimitRateDPO.getUharm25Overtime()).max(Integer::compare).get(); + + } else if ( Objects.equals(temp.getCode(), DicDataEnum.HARMONIC_CURRENT.getCode())) { + overLimiCount = Stream.of(rStatLimitRateDPO.getIharm2Overtime(), + rStatLimitRateDPO.getIharm3Overtime() , + rStatLimitRateDPO.getIharm4Overtime() , + rStatLimitRateDPO.getIharm5Overtime() , + rStatLimitRateDPO.getIharm6Overtime() , + rStatLimitRateDPO.getIharm7Overtime() , + rStatLimitRateDPO.getIharm8Overtime() , + rStatLimitRateDPO.getIharm9Overtime() , + rStatLimitRateDPO.getIharm10Overtime() , + rStatLimitRateDPO.getIharm11Overtime() , + rStatLimitRateDPO.getIharm12Overtime() , + rStatLimitRateDPO.getIharm13Overtime() , + rStatLimitRateDPO.getIharm14Overtime() , + rStatLimitRateDPO.getIharm15Overtime() , + rStatLimitRateDPO.getIharm16Overtime() , + rStatLimitRateDPO.getIharm17Overtime() , + rStatLimitRateDPO.getIharm18Overtime() , + rStatLimitRateDPO.getIharm19Overtime() , + rStatLimitRateDPO.getIharm20Overtime() , + rStatLimitRateDPO.getIharm21Overtime() , + rStatLimitRateDPO.getIharm22Overtime() , + rStatLimitRateDPO.getIharm23Overtime() , + rStatLimitRateDPO.getIharm24Overtime() , + rStatLimitRateDPO.getIharm25Overtime()).max(Integer::compare).get() + ; + } else if (Objects.equals(temp.getCode(), DicDataEnum.INTERHARMONIC_VOLTAGE.getCode())){ + overLimiCount = Stream.of(rStatLimitRateDPO.getInuharm1Overtime(), + rStatLimitRateDPO.getInuharm2Overtime(), + rStatLimitRateDPO.getInuharm3Overtime(), + rStatLimitRateDPO.getInuharm4Overtime(), + rStatLimitRateDPO.getInuharm5Overtime(), + rStatLimitRateDPO.getInuharm6Overtime(), + rStatLimitRateDPO.getInuharm7Overtime(), + rStatLimitRateDPO.getInuharm8Overtime() , + rStatLimitRateDPO.getInuharm9Overtime() , + rStatLimitRateDPO.getInuharm10Overtime() , + rStatLimitRateDPO.getInuharm11Overtime() , + rStatLimitRateDPO.getInuharm12Overtime() , + rStatLimitRateDPO.getInuharm13Overtime() , + rStatLimitRateDPO.getInuharm14Overtime() , + rStatLimitRateDPO.getInuharm15Overtime() , + rStatLimitRateDPO.getInuharm16Overtime() ).max(Integer::compare).get(); + + }else if ( Objects.equals(temp.getCode(), DicDataEnum.FREQUENCY_DEV.getCode())) { + overLimiCount = rStatLimitRateDPO.getFreqDevOvertime(); + } else if (Objects.equals(temp.getCode(), DicDataEnum.NEG_CURRENT.getCode())){ + overLimiCount = rStatLimitRateDPO.getINegOvertime(); + } + return overLimiCount; + } +} diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/line/IRMpPartHarmonicDetailDService.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/line/IRMpPartHarmonicDetailDService.java index b262b9c87..3cee995ae 100644 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/line/IRMpPartHarmonicDetailDService.java +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/line/IRMpPartHarmonicDetailDService.java @@ -1,11 +1,13 @@ package com.njcn.prepare.harmonic.service.mysql.line; +import com.github.jeffreyning.mybatisplus.service.IMppService; +import com.njcn.harmonic.pojo.po.RMpPartHarmonicDetailD; import com.njcn.prepare.harmonic.pojo.bo.CalculatedParam; /** * @author xy */ -public interface IRMpPartHarmonicDetailDService { +public interface IRMpPartHarmonicDetailDService extends IMppService { /** * 计算监测点稳态指标超标明细日表1数据 diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/line/IRMpSurplusHarmonicDetailDService.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/line/IRMpSurplusHarmonicDetailDService.java index a4f36efbb..2b7d26241 100644 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/line/IRMpSurplusHarmonicDetailDService.java +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/line/IRMpSurplusHarmonicDetailDService.java @@ -1,11 +1,13 @@ package com.njcn.prepare.harmonic.service.mysql.line; +import com.github.jeffreyning.mybatisplus.service.IMppService; +import com.njcn.harmonic.pojo.po.RMpSurplusHarmonicDetailD; import com.njcn.prepare.harmonic.pojo.bo.CalculatedParam; /** * @author xy */ -public interface IRMpSurplusHarmonicDetailDService { +public interface IRMpSurplusHarmonicDetailDService extends IMppService { /** * 计算监测点稳态指标超标明细日表2数据 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 cee0e7149..8e3e8c3c2 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 @@ -36,6 +36,7 @@ public enum DicDataEnum { PHASE_VOLTAGE("负序电压不平衡度", "phase_Voltage"), FREQUENCY_DEV("频率偏差", "Frequency_Dev"), NEG_CURRENT("负序电流", "Neg_Current"), + THD_V("电压总谐波畸变率", "Thd_V"), TOTAL_INDICATOR("总稳态指标", "Total_Indicator"), /**