From 1e0e9c9daac559e17f4cfcd18a36857f7787c30d Mon Sep 17 00:00:00 2001 From: huangzj <826100833@qq.com> Date: Thu, 23 Nov 2023 11:17:47 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E4=B8=AD=E9=97=B4=E8=A1=A8?= =?UTF-8?q?=E7=AE=97=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pojo/po/dim/RDimBusbarHarmnicDPO.java | 2 + .../pojo/po/dim/RDimStationHarmnicDPO.java | 71 +++++++++++++++++++ .../prepare/executor/OrgPointExecutor.java | 8 +-- .../dim/RDimStationHarmnicDPOMapper.java | 16 +++++ .../mapping/RDimStationHarmnicDPOMapper.xml | 21 ++++++ .../dim/RDimStationHarmnicDPOService.java | 20 ++++++ .../impl/RDimBusbarHarmnicDPOServiceImpl.java | 44 ++++++++++++ .../RDimStationHarmnicDPOServiceImpl.java | 24 +++++++ 8 files changed, 202 insertions(+), 4 deletions(-) create mode 100644 pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/dim/RDimStationHarmnicDPO.java create mode 100644 pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/dim/RDimStationHarmnicDPOMapper.java create mode 100644 pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/dim/mapping/RDimStationHarmnicDPOMapper.xml create mode 100644 pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/RDimStationHarmnicDPOService.java create mode 100644 pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/impl/RDimStationHarmnicDPOServiceImpl.java 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 index 09919696f..acdd267ce 100644 --- 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 @@ -40,6 +40,8 @@ public class RDimBusbarHarmnicDPO { @MppMultiId(value = "BusBar_Id") private String busbarId; + @TableField(exist = false) + private String powerId; /** * 稳态指标类型 */ diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/dim/RDimStationHarmnicDPO.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/dim/RDimStationHarmnicDPO.java new file mode 100644 index 000000000..b2babf5f1 --- /dev/null +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/dim/RDimStationHarmnicDPO.java @@ -0,0 +1,71 @@ +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 com.github.jeffreyning.mybatisplus.anno.MppMultiId; +import lombok.Data; + +/** + * + * Description: + * Date: 2023/11/23 9:26【需求编号】 + * + * @author clam + * @version V1.0.0 + */ +@Data +@TableName(value = "r_dim_station_harmnic_d") +public class RDimStationHarmnicDPO { + /** + * 单位code + */ + @MppMultiId(value = "Org_Id") + private String orgId; + + /** + * 统计时间 yyyy-mm-dd + */ + @MppMultiId(value = "Statis_Date") + private LocalDate statisDate; + + /** + * 电站id + */ + @MppMultiId(value = "Station_Id") + private String stationId; + + /** + * 稳态/暂态指标类型 + */ + @MppMultiId(value = "Target_type") + private String targetType; + + /** + * 0稳态指标1.暂态指标 + */ + @MppMultiId(value = "Level") + private Integer level; + + + /** + * 电压等级 + */ + @TableField(value = "Voltage_level") + private String voltageLevel; + + /** + * 超标次数 + */ + @TableField(value = "limit_count") + private Integer limitCount; + + /** + * 稳态总统计次数 + */ + @TableField(value = "Statis_count") + private Integer statisCount; +} \ 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 929fdb0b0..f5b47e692 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,10 +10,7 @@ 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.dim.*; import com.njcn.prepare.harmonic.service.mysql.line.PollutionService; import com.njcn.prepare.harmonic.service.mysql.newalgorithm.*; import com.yomahub.liteflow.annotation.LiteflowComponent; @@ -50,6 +47,7 @@ public class OrgPointExecutor extends BaseExecutor{ private final RAlarmCountService rAlarmCountService; private final RDimBusbarHarmnicDPOService rDimBusbarHarmnicDPOService; + private final RDimStationHarmnicDPOService rDimStationHarmnicDPOService; private final RDimStationTargetDPOService rDimStationTargetDPOService; private final RDimStationTargetMPOService rDimStationTargetMPOService; @@ -442,6 +440,8 @@ public class OrgPointExecutor extends BaseExecutor{ } } + + /** * 河北主网新增算法表r_dim_station_target_d/m/y */ diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/dim/RDimStationHarmnicDPOMapper.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/dim/RDimStationHarmnicDPOMapper.java new file mode 100644 index 000000000..e5a55bddf --- /dev/null +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/dim/RDimStationHarmnicDPOMapper.java @@ -0,0 +1,16 @@ +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.RDimStationHarmnicDPO; + +/** + * + * Description: + * Date: 2023/11/23 9:26【需求编号】 + * + * @author clam + * @version V1.0.0 + */ +public interface RDimStationHarmnicDPOMapper 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/RDimStationHarmnicDPOMapper.xml b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/dim/mapping/RDimStationHarmnicDPOMapper.xml new file mode 100644 index 000000000..07bf80eb8 --- /dev/null +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/dim/mapping/RDimStationHarmnicDPOMapper.xml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + Org_Id, Statis_Date, `Station Id`, Target_type, `Level`, Monitor_Tag, Voltage_level, + limit_count, Statis_count + + \ No newline at end of file diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/RDimStationHarmnicDPOService.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/RDimStationHarmnicDPOService.java new file mode 100644 index 000000000..0c5980c8b --- /dev/null +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/RDimStationHarmnicDPOService.java @@ -0,0 +1,20 @@ +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.RDimStationHarmnicDPO; +import com.baomidou.mybatisplus.extension.service.IService; +import com.njcn.prepare.harmonic.pojo.bo.CalculatedParam; + +/** + * + * Description: + * Date: 2023/11/23 9:26【需求编号】 + * + * @author clam + * @version V1.0.0 + */ +public interface RDimStationHarmnicDPOService extends IMppService { + + + } 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 index ce1b66482..232c79db0 100644 --- 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 @@ -2,17 +2,24 @@ 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.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.api.StatationStatClient; +import com.njcn.device.pms.pojo.dto.PmsStatationStatInfoDTO; +import com.njcn.device.pms.pojo.param.PmsStatationStatInfoParam; import com.njcn.device.pms.pojo.po.Monitor; +import com.njcn.device.pms.pojo.po.StatationStat; import com.njcn.harmonic.pojo.po.RMpEventDetailDPO; import com.njcn.harmonic.pojo.po.day.RStatLimitRateDPO; +import com.njcn.harmonic.pojo.po.dim.RDimStationHarmnicDPO; 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.RDimStationHarmnicDPOService; import com.njcn.prepare.harmonic.service.mysql.line.RMpEventDetailDService; import com.njcn.prepare.harmonic.service.mysql.line.ROperatingMonitorService; import com.njcn.system.api.DicDataFeignClient; @@ -48,6 +55,8 @@ public class RDimBusbarHarmnicDPOServiceImpl extends MppServiceImpl>>>> collect = rDimBusbarHarmnicDPOList.stream().collect(Collectors.groupingBy(RDimBusbarHarmnicDPO::getOrgId, + Collectors.groupingBy(RDimBusbarHarmnicDPO::getLevel, + Collectors.groupingBy(RDimBusbarHarmnicDPO::getTargetType, + Collectors.groupingBy(RDimBusbarHarmnicDPO::getPowerId))))); + List rDimStationHarmnicDPOList = new ArrayList<>(); + List powerIdList = rDimBusbarHarmnicDPOList.stream().map(RDimBusbarHarmnicDPO::getPowerId).distinct().collect(Collectors.toList()); + PmsStatationStatInfoParam param = new PmsStatationStatInfoParam(); + param.setPowerIds(powerIdList); + List data = statationStatClient.getStatationStatInfo(param).getData(); + collect.forEach((orgId,map)->{ + map.forEach((level,map1)->{ + map1.forEach((targetType,map2)->{ + map2.forEach((powerId,map3)->{ + RDimStationHarmnicDPO rDimStationHarmnicDPO = new RDimStationHarmnicDPO(); + rDimStationHarmnicDPO.setOrgId(orgId); + rDimStationHarmnicDPO.setStatisDate(localDate); + rDimStationHarmnicDPO.setTargetType(targetType); + rDimStationHarmnicDPO.setStationId(powerId); + rDimStationHarmnicDPO.setLevel(level); + int sum = map3.stream().mapToInt(RDimBusbarHarmnicDPO::getStatisCount).sum(); + rDimStationHarmnicDPO.setStatisCount(sum); + int limitSum = map3.stream().mapToInt(RDimBusbarHarmnicDPO::getLimitCount).sum(); + rDimStationHarmnicDPO.setLimitCount(limitSum); + rDimStationHarmnicDPO.setVoltageLevel(data.stream().filter(temp->Objects.equals(temp.getPowerId(),powerId)).map(PmsStatationStatInfoDTO::getPowerVoltageLevel).findFirst().orElse("3.14159")); + rDimStationHarmnicDPOList.add(rDimStationHarmnicDPO); + + }); + }); + }); + }); + if (!CollectionUtils.isEmpty(rDimStationHarmnicDPOList) ) { + rMpStationHarmnicDPOService.saveOrUpdateBatchByMultiId(rDimStationHarmnicDPOList,500); + } + } } diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/impl/RDimStationHarmnicDPOServiceImpl.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/impl/RDimStationHarmnicDPOServiceImpl.java new file mode 100644 index 000000000..d89e0a24b --- /dev/null +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/impl/RDimStationHarmnicDPOServiceImpl.java @@ -0,0 +1,24 @@ +package com.njcn.prepare.harmonic.service.mysql.dim.impl; + + +import com.github.jeffreyning.mybatisplus.service.MppServiceImpl; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import com.njcn.prepare.harmonic.mapper.mysql.dim.RDimStationHarmnicDPOMapper; +import com.njcn.harmonic.pojo.po.dim.RDimStationHarmnicDPO; +import com.njcn.prepare.harmonic.service.mysql.dim.RDimStationHarmnicDPOService; + +/** + * + * Description: + * Date: 2023/11/23 9:26【需求编号】 + * + * @author clam + * @version V1.0.0 + */ +@Service +@RequiredArgsConstructor +public class RDimStationHarmnicDPOServiceImpl extends MppServiceImpl implements RDimStationHarmnicDPOService{ + + +}