From c2405b95965e5534359500af9065b5f902fee301 Mon Sep 17 00:00:00 2001 From: chendaofei <857448963@qq.com> Date: Fri, 28 Mar 2025 14:56:40 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 6 +- pqs-algorithm/algorithm-api/pom.xml | 27 --- .../algorithm/pojo/param/CalculatedParam.java | 52 ----- pqs-algorithm/algorithm-boot/pom.xml | 131 ----------- .../njcn/algorithm/AlgorithmApplication.java | 20 -- .../event/mapper/RMpEventDetailDMapper.java | 30 --- .../event/mapper/RMpEventDetailMMapper.java | 18 -- .../event/mapper/RMpEventDetailMapper.java | 33 --- .../mapper/mapping/RMpEventDetailDMapper.xml | 25 --- .../mapper/mapping/RMpEventDetailMMapper.xml | 5 - .../mapper/mapping/RMpEventDetailMapper.xml | 26 --- .../service/IRMpEventDetailDService.java | 21 -- .../service/IRMpEventDetailMService.java | 12 - .../event/service/IRMpEventDetailService.java | 22 -- .../impl/RMpEventDetailDServiceImpl.java | 50 ----- .../impl/RMpEventDetailMServiceImpl.java | 25 --- .../impl/RMpEventDetailServiceImpl.java | 81 ------- .../mapper/RMpMonitorEvaluateDMapper.java | 11 - .../mapping/RMpMonitorEvaluateDMapper.xml | 5 - .../service/IRMpMonitorEvaluateDService.java | 25 --- .../impl/RMpMonitorEvaluateDServiceImpl.java | 208 ------------------ .../mapper/PmsAbnormalRulesMapper.java | 13 -- .../mapper/mapping/PmsAbnormalRulesMapper.xml | 5 - .../src/main/resources/bootstrap.yml | 56 ----- .../src/main/resources/config/liteflow.el.xml | 124 ----------- pqs-algorithm/pom.xml | 25 --- .../com/njcn/device/pq/constant/Param.java | 50 ++++- .../njcn/device/pq/enums/LineBaseEnum.java | 6 - .../dataClean/PowerQualityIndicatorsVO.java | 60 +++++ .../pq/pojo/vo/dataClean/VerifyMonitorVO.java | 60 +++++ .../pq/controller/AbnormalDataController.java | 9 - .../pq/controller/DataVerifyController.java | 20 +- .../njcn/device/pq/mapper/DeptLineMapper.java | 2 +- .../pq/mapper/mapping/DeptLineMapper.xml | 3 + .../pq/service/CommTerminalService.java | 5 +- .../device/pq/service/DeptLineService.java | 2 +- .../device/pq/service/IDataVerifyService.java | 5 +- .../service/impl/CommTerminalServiceImpl.java | 8 +- .../service/impl/DataVerifyServiceImpl.java | 134 +++++++++-- .../pq/service/impl/DeptLineServiceImpl.java | 4 +- .../pq/service/impl/GeneralDeviceService.java | 3 +- pqs-system/system-boot/pom.xml | 12 + .../timer/tasks/MeasurementTaskRunner.java | 7 +- 43 files changed, 334 insertions(+), 1112 deletions(-) delete mode 100644 pqs-algorithm/algorithm-api/pom.xml delete mode 100644 pqs-algorithm/algorithm-api/src/main/java/com/njcn/algorithm/pojo/param/CalculatedParam.java delete mode 100644 pqs-algorithm/algorithm-boot/pom.xml delete mode 100644 pqs-algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/AlgorithmApplication.java delete mode 100644 pqs-algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/event/mapper/RMpEventDetailDMapper.java delete mode 100644 pqs-algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/event/mapper/RMpEventDetailMMapper.java delete mode 100644 pqs-algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/event/mapper/RMpEventDetailMapper.java delete mode 100644 pqs-algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/event/mapper/mapping/RMpEventDetailDMapper.xml delete mode 100644 pqs-algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/event/mapper/mapping/RMpEventDetailMMapper.xml delete mode 100644 pqs-algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/event/mapper/mapping/RMpEventDetailMapper.xml delete mode 100644 pqs-algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/event/service/IRMpEventDetailDService.java delete mode 100644 pqs-algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/event/service/IRMpEventDetailMService.java delete mode 100644 pqs-algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/event/service/IRMpEventDetailService.java delete mode 100644 pqs-algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/event/service/impl/RMpEventDetailDServiceImpl.java delete mode 100644 pqs-algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/event/service/impl/RMpEventDetailMServiceImpl.java delete mode 100644 pqs-algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/event/service/impl/RMpEventDetailServiceImpl.java delete mode 100644 pqs-algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/harmonic/line/mapper/RMpMonitorEvaluateDMapper.java delete mode 100644 pqs-algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/harmonic/line/mapper/mapping/RMpMonitorEvaluateDMapper.xml delete mode 100644 pqs-algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/harmonic/line/service/IRMpMonitorEvaluateDService.java delete mode 100644 pqs-algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/harmonic/line/service/impl/RMpMonitorEvaluateDServiceImpl.java delete mode 100644 pqs-algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/support/mapper/PmsAbnormalRulesMapper.java delete mode 100644 pqs-algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/support/mapper/mapping/PmsAbnormalRulesMapper.xml delete mode 100644 pqs-algorithm/algorithm-boot/src/main/resources/bootstrap.yml delete mode 100644 pqs-algorithm/algorithm-boot/src/main/resources/config/liteflow.el.xml delete mode 100644 pqs-algorithm/pom.xml create mode 100644 pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/dataClean/PowerQualityIndicatorsVO.java delete mode 100644 pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/AbnormalDataController.java diff --git a/pom.xml b/pom.xml index 4a2d5ebe5..f53abbfa0 100644 --- a/pom.xml +++ b/pom.xml @@ -22,7 +22,7 @@ pqs-process pqs-bpm pqs-supervision - pqs-algorithm + pom 灿能微服务生态系统 @@ -43,7 +43,7 @@ 192.168.1.22 - 127.0.0.1 + 192.168.1.127 192.168.1.22 @@ -55,7 +55,7 @@ - fd74182b-1fce-4dba-afa7-2623b0376205 + 78588706-e06f-4580-b612-b26d72493fcb ${middle.server.url}:8080 diff --git a/pqs-algorithm/algorithm-api/pom.xml b/pqs-algorithm/algorithm-api/pom.xml deleted file mode 100644 index d46acb239..000000000 --- a/pqs-algorithm/algorithm-api/pom.xml +++ /dev/null @@ -1,27 +0,0 @@ - - - 4.0.0 - - pqs-algorithm - com.njcn - 1.0.0 - - - algorithm-api - - - 8 - 8 - UTF-8 - - - - - com.njcn - common-core - ${project.version} - - - \ No newline at end of file diff --git a/pqs-algorithm/algorithm-api/src/main/java/com/njcn/algorithm/pojo/param/CalculatedParam.java b/pqs-algorithm/algorithm-api/src/main/java/com/njcn/algorithm/pojo/param/CalculatedParam.java deleted file mode 100644 index 148a4d59f..000000000 --- a/pqs-algorithm/algorithm-api/src/main/java/com/njcn/algorithm/pojo/param/CalculatedParam.java +++ /dev/null @@ -1,52 +0,0 @@ -package com.njcn.algorithm.pojo.param; - - -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import java.io.Serializable; -import java.util.List; -import java.util.Set; - -/** - * 算法编排的计算参数 - * @author hongawen - * @version 1.0.0 - * @date 2023年11月03日 09:21 - */ -@Data -public class CalculatedParam implements Serializable { - - /*** - * 是否全链路执行算法 - * 非全链路执行时,tag集合必须非空 - */ - @ApiModelProperty(name = "fullChain",value = "是否全链执行") - private boolean fullChain; - - /** - * 目前仅监测点日统计存在补招功能 by yxb - * 是否补招标识,默认不补招 - */ - @ApiModelProperty(name = "repair",value = "是否补招") - private boolean repair; - - /** - * 日期_yyyy-MM-dd - */ - @ApiModelProperty(name = "dataDate",value = "时间日期_yyyy-MM-dd") - private String dataDate; - - /*** - * 需要执行的组件 - * 当不需要全链路执行时,通过tag名称动态指定执行某个算法组件 - */ - @ApiModelProperty(name = "tagNames",value = "待执行链节点的tag集合") - private Set tagNames; - - /** - * 待计算的对象索引集合,监测点、设备、母线、变电站、单位下监测点等等 - */ - @ApiModelProperty(name = "idList",value = "索引集合") - private List idList; -} diff --git a/pqs-algorithm/algorithm-boot/pom.xml b/pqs-algorithm/algorithm-boot/pom.xml deleted file mode 100644 index 308853cd1..000000000 --- a/pqs-algorithm/algorithm-boot/pom.xml +++ /dev/null @@ -1,131 +0,0 @@ - - - 4.0.0 - - pqs-algorithm - com.njcn - 1.0.0 - - - algorithm-boot - - - 8 - 8 - UTF-8 - - - - - - com.njcn - common-swagger - ${project.version} - - - com.njcn - common-microservice - ${project.version} - - - com.njcn - common-redis - ${project.version} - - - com.njcn - algorithm-api - ${project.version} - - - com.yomahub - liteflow-spring-boot-starter - 2.12.4.1 - - - com.yomahub - liteflow-rule-nacos - 2.12.4.1 - - - - - com.njcn - event-api - ${project.version} - - - - - com.njcn - harmonic-api - ${project.version} - - - - - - - - - algorithmboot - - - org.apache.maven.plugins - maven-compiler-plugin - 3.8.0 - - -Xlint:unchecked - - - - org.springframework.boot - spring-boot-maven-plugin - - - package - - repackage - - - - - - - com.spotify - docker-maven-plugin - 1.2.2 - - - build-image - ${docker.operate} - - build - - - - - - http://${docker.repostory} - - ${docker.repostory}/${docker.registry.name}/${project.artifactId} - - latest - - ${docker.url} - ${basedir}/ - - - /ROOT - ${project.build.directory} - ${project.build.finalName}.jar - - - - - - - - \ No newline at end of file diff --git a/pqs-algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/AlgorithmApplication.java b/pqs-algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/AlgorithmApplication.java deleted file mode 100644 index a92ac8f7b..000000000 --- a/pqs-algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/AlgorithmApplication.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.njcn.algorithm; - -import lombok.extern.slf4j.Slf4j; -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.cloud.openfeign.EnableFeignClients; - -/** - * @author hongawen - * @version 1.0 - * @data 2024/11/4 14:05 - */ -@Slf4j -@EnableFeignClients(basePackages = "com.njcn") -@SpringBootApplication(scanBasePackages = "com.njcn") -public class AlgorithmApplication { - public static void main(String[] args) { - SpringApplication.run(AlgorithmApplication.class,args); - } -} \ No newline at end of file diff --git a/pqs-algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/event/mapper/RMpEventDetailDMapper.java b/pqs-algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/event/mapper/RMpEventDetailDMapper.java deleted file mode 100644 index 6fe979259..000000000 --- a/pqs-algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/event/mapper/RMpEventDetailDMapper.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.njcn.algorithm.event.mapper; - -import cn.hutool.core.date.DateTime; -import com.github.jeffreyning.mybatisplus.base.MppBaseMapper; -import com.njcn.event.pojo.po.RMpEventDetailD; -import com.njcn.event.pojo.po.RMpEventDetailM; -import org.apache.ibatis.annotations.Param; - -import java.util.List; - -/** - * @author hongawen - * @version 1.0 - * @data 2024/11/6 15:55 - */ -public interface RMpEventDetailDMapper extends MppBaseMapper { - - /*** - * 处理在暂态指标明细——月报表数据获取 - * @author hongawen - * @date 2023/11/2 10:54 - * @param lineIds 监测点集合 - * @param dataDate 统计日期 - * @param beginMonth 起始时间 - * @param endMonth 截止时间 - * @return List - */ - List handleMonth(@Param("lineIds") List lineIds, @Param("dataDate") String dataDate, @Param("beginMonth") DateTime beginMonth, @Param("endMonth") DateTime endMonth); - -} diff --git a/pqs-algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/event/mapper/RMpEventDetailMMapper.java b/pqs-algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/event/mapper/RMpEventDetailMMapper.java deleted file mode 100644 index 76dd376bb..000000000 --- a/pqs-algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/event/mapper/RMpEventDetailMMapper.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.njcn.algorithm.event.mapper; - -import com.github.jeffreyning.mybatisplus.base.MppBaseMapper; -import com.njcn.event.pojo.po.RMpEventDetailM; -import org.apache.ibatis.annotations.Mapper; - -/** - * - * Description: - * 接口文档访问地址:http://serverIP:port/swagger-ui.html - * Date: 2022/12/28 14:58【需求编号】 - * - * @author clam - * @version V1.0.0 - */ -@Mapper -public interface RMpEventDetailMMapper extends MppBaseMapper { -} \ No newline at end of file diff --git a/pqs-algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/event/mapper/RMpEventDetailMapper.java b/pqs-algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/event/mapper/RMpEventDetailMapper.java deleted file mode 100644 index 844a11347..000000000 --- a/pqs-algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/event/mapper/RMpEventDetailMapper.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.njcn.algorithm.event.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.njcn.event.pojo.po.RMpEventDetailD; -import com.njcn.event.pojo.po.RmpEventDetailPO; -import org.apache.ibatis.annotations.Param; - -import java.time.LocalDateTime; -import java.util.List; - -/** - * @author hongawen - * @version 1.0 - * @data 2024/11/6 15:43 - */ -public interface RMpEventDetailMapper extends BaseMapper { - - /*** - * 处理在暂态指标明细——日报表数据获取 - * @author hongawen - * @date 2023/11/2 10:54 - * @param lineIds 监测点集合 - * @param dataDate 统计日期 - * @param beginDay 起始时间 - * @param endDay 截止时间 - * @param voltageDip 电压暂降 - * @param voltageRise 电压暂升 - * @param shortInterruptions 短时中断 - * @return List - */ - List handleDay(@Param("lineIds") List lineIds, @Param("dataDate") String dataDate, @Param("beginDay") LocalDateTime beginDay, @Param("endDay") LocalDateTime endDay, @Param("voltageDip") String voltageDip, @Param("voltageRise") String voltageRise, @Param("shortInterruptions") String shortInterruptions); - -} diff --git a/pqs-algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/event/mapper/mapping/RMpEventDetailDMapper.xml b/pqs-algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/event/mapper/mapping/RMpEventDetailDMapper.xml deleted file mode 100644 index 386316ca4..000000000 --- a/pqs-algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/event/mapper/mapping/RMpEventDetailDMapper.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/pqs-algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/event/mapper/mapping/RMpEventDetailMMapper.xml b/pqs-algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/event/mapper/mapping/RMpEventDetailMMapper.xml deleted file mode 100644 index 07ceb3ccd..000000000 --- a/pqs-algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/event/mapper/mapping/RMpEventDetailMMapper.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff --git a/pqs-algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/event/mapper/mapping/RMpEventDetailMapper.xml b/pqs-algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/event/mapper/mapping/RMpEventDetailMapper.xml deleted file mode 100644 index 870f674bb..000000000 --- a/pqs-algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/event/mapper/mapping/RMpEventDetailMapper.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - \ No newline at end of file diff --git a/pqs-algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/event/service/IRMpEventDetailDService.java b/pqs-algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/event/service/IRMpEventDetailDService.java deleted file mode 100644 index 2651f8475..000000000 --- a/pqs-algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/event/service/IRMpEventDetailDService.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.njcn.algorithm.event.service; - -import com.github.jeffreyning.mybatisplus.service.IMppService; -import com.njcn.algorithm.pojo.param.CalculatedParam; -import com.njcn.event.pojo.po.RMpEventDetailD; - -/** - * @author hongawen - * @version 1.0 - * @data 2024/11/6 15:48 - */ -public interface IRMpEventDetailDService extends IMppService { - - /*** - * 监测点暂态指标明细--月表算法 - * @author hongawen - * @date 2023/11/2 11:19 - * @param calculatedParam 查询条件 - */ - void handleMonth(CalculatedParam calculatedParam); -} diff --git a/pqs-algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/event/service/IRMpEventDetailMService.java b/pqs-algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/event/service/IRMpEventDetailMService.java deleted file mode 100644 index 4914e6201..000000000 --- a/pqs-algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/event/service/IRMpEventDetailMService.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.njcn.algorithm.event.service; - -import com.github.jeffreyning.mybatisplus.service.IMppService; -import com.njcn.event.pojo.po.RMpEventDetailM; - -/** - * @author hongawen - * @version 1.0 - * @data 2024/11/6 16:03 - */ -public interface IRMpEventDetailMService extends IMppService { -} diff --git a/pqs-algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/event/service/IRMpEventDetailService.java b/pqs-algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/event/service/IRMpEventDetailService.java deleted file mode 100644 index c24fdf12b..000000000 --- a/pqs-algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/event/service/IRMpEventDetailService.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.njcn.algorithm.event.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.njcn.algorithm.pojo.param.CalculatedParam; -import com.njcn.event.pojo.po.RmpEventDetailPO; - -/** - * @author hongawen - * @version 1.0 - * @data 2024/11/6 15:31 - */ -public interface IRMpEventDetailService extends IService { - - - /*** - * 监测点暂态指标明细--日表算法 - * @author hongawen - * @date 2023/11/2 11:19 - * @param calculatedParam 查询条件 - */ - void handleDay(CalculatedParam calculatedParam); -} diff --git a/pqs-algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/event/service/impl/RMpEventDetailDServiceImpl.java b/pqs-algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/event/service/impl/RMpEventDetailDServiceImpl.java deleted file mode 100644 index d0e85a53c..000000000 --- a/pqs-algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/event/service/impl/RMpEventDetailDServiceImpl.java +++ /dev/null @@ -1,50 +0,0 @@ -package com.njcn.algorithm.event.service.impl; - -import cn.hutool.core.date.DatePattern; -import cn.hutool.core.date.DateTime; -import cn.hutool.core.date.DateUtil; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.github.jeffreyning.mybatisplus.service.MppServiceImpl; -import com.njcn.algorithm.event.mapper.RMpEventDetailDMapper; -import com.njcn.algorithm.event.service.IRMpEventDetailDService; -import com.njcn.algorithm.event.service.IRMpEventDetailMService; -import com.njcn.algorithm.pojo.param.CalculatedParam; -import com.njcn.event.pojo.po.RMpEventDetailD; -import com.njcn.event.pojo.po.RMpEventDetailM; -import lombok.AllArgsConstructor; -import org.apache.commons.collections4.ListUtils; -import org.springframework.stereotype.Service; - -import java.util.List; - -/** - * @author hongawen - * @version 1.0 - * @data 2024/11/6 15:49 - */ -@Service -@AllArgsConstructor -public class RMpEventDetailDServiceImpl extends MppServiceImpl implements IRMpEventDetailDService { - - - private final IRMpEventDetailMService rMpEventDetailMService; - - - - /*** - *监测点暂态指标明细--月表算法 - */ - @Override - public void handleMonth(CalculatedParam calculatedParam) { - List lineIds = calculatedParam.getIdList(); - //以尺寸1000分片 - List> pendingIds = ListUtils.partition(lineIds, 1000); - DateTime beginMonth = DateUtil.beginOfMonth(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN)); - DateTime endMonth = DateUtil.endOfMonth(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN)); - for (List pendingId : pendingIds) { - List rMpEventDetailMPOList = this.baseMapper.handleMonth(pendingId, DateUtil.format(beginMonth, DatePattern.NORM_DATE_PATTERN), beginMonth, endMonth); - rMpEventDetailMService.saveOrUpdateBatchByMultiId(rMpEventDetailMPOList); - } - } - -} diff --git a/pqs-algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/event/service/impl/RMpEventDetailMServiceImpl.java b/pqs-algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/event/service/impl/RMpEventDetailMServiceImpl.java deleted file mode 100644 index 8092ba9af..000000000 --- a/pqs-algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/event/service/impl/RMpEventDetailMServiceImpl.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.njcn.algorithm.event.service.impl; - -import com.github.jeffreyning.mybatisplus.service.MppServiceImpl; -import com.njcn.algorithm.event.mapper.RMpEventDetailMMapper; -import com.njcn.algorithm.event.service.IRMpEventDetailMService; -import com.njcn.event.pojo.po.RMpEventDetailM; -import lombok.AllArgsConstructor; -import org.springframework.stereotype.Service; - - -/** - * - * Description: - * 接口文档访问地址:http://serverIP:port/swagger-ui.html - * Date: 2022/12/28 14:58【需求编号】 - * - * @author clam - * @version V1.0.0 - */ -@Service -@AllArgsConstructor -public class RMpEventDetailMServiceImpl extends MppServiceImpl implements IRMpEventDetailMService { - - -} diff --git a/pqs-algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/event/service/impl/RMpEventDetailServiceImpl.java b/pqs-algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/event/service/impl/RMpEventDetailServiceImpl.java deleted file mode 100644 index e8a32a715..000000000 --- a/pqs-algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/event/service/impl/RMpEventDetailServiceImpl.java +++ /dev/null @@ -1,81 +0,0 @@ -package com.njcn.algorithm.event.service.impl; - -import cn.hutool.core.date.DatePattern; -import cn.hutool.core.date.LocalDateTimeUtil; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.njcn.algorithm.event.mapper.RMpEventDetailMapper; -import com.njcn.algorithm.event.service.IRMpEventDetailDService; -import com.njcn.algorithm.event.service.IRMpEventDetailService; -import com.njcn.algorithm.pojo.param.CalculatedParam; -import com.njcn.event.pojo.po.RMpEventDetailD; -import com.njcn.event.pojo.po.RmpEventDetailPO; -import com.njcn.redis.utils.RedisUtil; -import com.njcn.system.api.DicDataFeignClient; -import com.njcn.system.enums.DicDataEnum; -import com.njcn.system.pojo.po.DictData; -import lombok.RequiredArgsConstructor; -import org.apache.commons.collections4.ListUtils; -import org.springframework.stereotype.Service; - -import java.time.LocalDateTime; -import java.util.List; -import java.util.Optional; - -/** - * Description: - * Date: 2023/4/23 13:50【需求编号】 - * - * @author clam - * @version V1.0.0 - */ -@Service -@RequiredArgsConstructor -public class RMpEventDetailServiceImpl extends ServiceImpl implements IRMpEventDetailService { - - private final IRMpEventDetailDService rMpEventDetailDService; - - private final DicDataFeignClient dicDataFeignClient; - - private final RedisUtil redisUtil; - - - /*** - * 监测点暂态指标明细--日表算法 - */ - @Override - public void handleDay(CalculatedParam calculatedParam) { - List lineIds = calculatedParam.getIdList(); - //以尺寸1000分片 - List> pendingIds = ListUtils.partition(lineIds,1000); - LocalDateTime beginDay = LocalDateTimeUtil.beginOfDay(LocalDateTimeUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN)); - LocalDateTime endDay = LocalDateTimeUtil.endOfDay(LocalDateTimeUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN)); - for (List pendingId : pendingIds) { - //查询 - List rMpEventDetailDList = this.baseMapper.handleDay( - pendingId - ,LocalDateTimeUtil.format(beginDay,DatePattern.NORM_DATE_PATTERN) - ,beginDay - ,endDay - ,getEventTypeId(DicDataEnum.VOLTAGE_DIP.getCode()) - ,getEventTypeId(DicDataEnum.VOLTAGE_RISE.getCode()) - ,getEventTypeId(DicDataEnum.SHORT_INTERRUPTIONS.getCode())); - //入库 - rMpEventDetailDService.saveOrUpdateBatchByMultiId(rMpEventDetailDList); - } - } - - - - public String getEventTypeId(String code) { - String eventType = redisUtil.getStringByKey(code); - eventType = Optional.ofNullable(eventType).orElseGet(() -> { - DictData data = dicDataFeignClient.getDicDataByCode(code).getData(); - redisUtil.saveByKey(data.getCode(), data.getId()); - return data.getId(); - }); - - return eventType; - - } - -} diff --git a/pqs-algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/harmonic/line/mapper/RMpMonitorEvaluateDMapper.java b/pqs-algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/harmonic/line/mapper/RMpMonitorEvaluateDMapper.java deleted file mode 100644 index da679e6d0..000000000 --- a/pqs-algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/harmonic/line/mapper/RMpMonitorEvaluateDMapper.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.njcn.algorithm.harmonic.line.mapper; - -import com.github.jeffreyning.mybatisplus.base.MppBaseMapper; -import com.njcn.harmonic.pojo.po.algorithm.line.RMpMonitorEvaluateD; - -/** - * @author clam - * @version V1.0.0 - */ -public interface RMpMonitorEvaluateDMapper extends MppBaseMapper { -} \ No newline at end of file diff --git a/pqs-algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/harmonic/line/mapper/mapping/RMpMonitorEvaluateDMapper.xml b/pqs-algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/harmonic/line/mapper/mapping/RMpMonitorEvaluateDMapper.xml deleted file mode 100644 index 151d1cdc8..000000000 --- a/pqs-algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/harmonic/line/mapper/mapping/RMpMonitorEvaluateDMapper.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff --git a/pqs-algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/harmonic/line/service/IRMpMonitorEvaluateDService.java b/pqs-algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/harmonic/line/service/IRMpMonitorEvaluateDService.java deleted file mode 100644 index da78a39a9..000000000 --- a/pqs-algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/harmonic/line/service/IRMpMonitorEvaluateDService.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.njcn.algorithm.harmonic.line.service; - -import com.github.jeffreyning.mybatisplus.service.IMppService; -import com.njcn.algorithm.pojo.param.CalculatedParam; -import com.njcn.harmonic.pojo.po.algorithm.line.RMpMonitorEvaluateD; - - -/** - * Description: - * Date: 2023/4/19 15:42【需求编号】 - * - * @author clam - * @version V1.0.0 - */ -public interface IRMpMonitorEvaluateDService extends IMppService { - - - /*** - * 监测点报表--日统计 - * @author hongawen - * @date 2023/11/3 14:48 - * @param calculatedParam 查询条件 - */ - void handleDay(CalculatedParam calculatedParam); -} diff --git a/pqs-algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/harmonic/line/service/impl/RMpMonitorEvaluateDServiceImpl.java b/pqs-algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/harmonic/line/service/impl/RMpMonitorEvaluateDServiceImpl.java deleted file mode 100644 index e83c7cada..000000000 --- a/pqs-algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/harmonic/line/service/impl/RMpMonitorEvaluateDServiceImpl.java +++ /dev/null @@ -1,208 +0,0 @@ -package com.njcn.algorithm.harmonic.line.service.impl; - -import cn.hutool.core.collection.CollUtil; -import cn.hutool.core.date.DatePattern; -import cn.hutool.core.date.DateUtil; -import cn.hutool.core.date.LocalDateTimeUtil; -import cn.hutool.core.util.ObjectUtil; -import com.github.jeffreyning.mybatisplus.service.MppServiceImpl; -import com.njcn.algorithm.harmonic.line.mapper.RMpMonitorEvaluateDMapper; -import com.njcn.algorithm.harmonic.line.service.IRMpMonitorEvaluateDService; -import com.njcn.algorithm.pojo.param.CalculatedParam; -import com.njcn.algorithm.support.mapper.PmsAbnormalRulesMapper; -import com.njcn.device.biz.commApi.CommLineClient; -import com.njcn.device.biz.pojo.dto.LineDTO; -import com.njcn.device.pq.constant.Param; -import com.njcn.device.pq.pojo.po.PmsAbnormalRules; -import com.njcn.harmonic.pojo.po.algorithm.line.RMpMonitorEvaluateD; -import com.njcn.influx.pojo.po.DataFlicker; -import lombok.RequiredArgsConstructor; -import org.apache.commons.collections4.ListUtils; -import org.springframework.stereotype.Service; -import org.springframework.util.CollectionUtils; - -import java.time.LocalDate; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Objects; -import java.util.stream.Collectors; - -/** - * @author clam - * @version V1.0.0 - */ -@Service -@RequiredArgsConstructor -public class RMpMonitorEvaluateDServiceImpl extends MppServiceImpl implements IRMpMonitorEvaluateDService { - - private final CommLineClient commLineClient; -// private final DataVInfluxdbService dataVInfluxdbService; -// private final PmsAbnormalRulesMapper pmsAbnormalRulesMapper; -// private final DataIntegrityRateInfluxService dataIntegrityRateInfluxService; - - /*** - * 监测点报表--日统计 - * @author hongawen - * @date 2023/11/3 14:48 - * @param calculatedParam 查询条件 - */ - @Override - public void handleDay(CalculatedParam calculatedParam) { -// //1、取出规则 -// List pmsAbnormalRules = pmsAbnormalRulesMapper.selectList(null); -// 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); -// //以尺寸1000分片 -// List> pendingIds = ListUtils.partition(calculatedParam.getIdList(), 100); -// for (List pendingId : pendingIds) { -// List lineDTOList = commLineClient.getLineDetailBatch(pendingId).getData(); -// List rMpMonitorEvaluateDS = new ArrayList<>(); -// for (LineDTO lineDTO : lineDTOList) { -// if (ObjectUtil.isNotNull(lineDTO)) { -// /*todo 统计间隔,电压等级取值方式后期提供融合版本接口获取不然pms,pqs系统取值方式不一样*/ -// /*统计间隔*/ -// Integer statisticalInterval = lineDTO.getTimeInterval(); -// /*电压等级*/ -// Double voltage = Double.parseDouble(lineDTO.getVoltageLevel()); -// List fiveItems = dataVInfluxdbService.getFiveItems(lineDTO.getL@ineId(), beginDay, endDay, statisticalInterval); -// RMpMonitorEvaluateD rMpMonitorEvaluateD = new RMpMonitorEvaluateD(); -// rMpMonitorEvaluateD = calculateRMpMonitorEvaluateDPO(rMpMonitorEvaluateD, fiveItems, pmsAbnormalRules, voltage, lineDTO); -// Date date = DateUtil.parse(beginDay); -// DataFlicker twoFlickerData = dataIntegrityRateInfluxService.getTwoFlickerData(lineDTO.getLineId(), date, 5); -// LocalDate localDate = LocalDateTimeUtil.parseDate(beginDay, DatePattern.NORM_DATETIME_PATTERN); -// -// if (Objects.isNull(twoFlickerData)) { -// rMpMonitorEvaluateD.setPltCount(0); -// rMpMonitorEvaluateD.setPstCount(0); -// } else { -// rMpMonitorEvaluateD.setPltCount(twoFlickerData.getPltCount()); -// rMpMonitorEvaluateD.setPstCount(twoFlickerData.getPstCount()); -// } -// rMpMonitorEvaluateD.setAllMinuteCount(fiveItems.size()); -// rMpMonitorEvaluateD.setDeviceId(lineDTO.getDevId()); -// rMpMonitorEvaluateD.setDataDate(localDate); -// rMpMonitorEvaluateD.setMeasurementPointId(lineDTO.getLineId()); -// rMpMonitorEvaluateDS.add(rMpMonitorEvaluateD); -// } -// } -// if (CollUtil.isNotEmpty(rMpMonitorEvaluateDS)) { -// this.saveOrUpdateBatchByMultiId(rMpMonitorEvaluateDS, 500); -// } -// } - } - - - /** - * @Description: 3、频率在【45,55】之间; - * 4、相电压有效值在【0.85p.u.,1.2p.u.】之间;p.u=电压等级/1.732 - * 5、线电压有效值在【0.85p.u.,1.2p.u.】之间;p.u=电压等级 - * 6、电压总谐波畸变率在【0.1%,20%】之间; - * 7、负序电压不平衡度在【0,20%】。满足以上条件则是一条有效数据 - * @Param: [fiveItems, pmsAbnormalRules, voltage] - * @return: java.lang.Integer - * @Author: clam - * @Date: 2023/2/23 - */ -// private RMpMonitorEvaluateD calculateRMpMonitorEvaluateDPO(RMpMonitorEvaluateD rMpMonitorEvaluateD, List fiveItems, List pmsAbnormalRules, Double voltage, LineDTO data) { -// -// Integer freqCount = 0; -// Integer unbalanceCount = 0; -// Integer phaseVoltageCount = 0; -// Integer lineVoltageCount = 0; -// Integer vThdCount = 0; -// Integer effectiveMinuteCount = 0; -// -// PmsAbnormalRules freqLimit = pmsAbnormalRules.stream().filter(temp -> Objects.equals(temp.getTarget(), Param.TARGET_FREQ)).collect(Collectors.toList()).get(0); -// PmsAbnormalRules rmsLimit = pmsAbnormalRules.stream().filter(temp -> Objects.equals(temp.getTarget(), Param.TARGET_RMS)).collect(Collectors.toList()).get(0); -// PmsAbnormalRules rms_lvrLimit = pmsAbnormalRules.stream().filter(temp -> Objects.equals(temp.getTarget(), Param.TARGET_RMS_LVR)).collect(Collectors.toList()).get(0); -// PmsAbnormalRules v_thdLimit = pmsAbnormalRules.stream().filter(temp -> Objects.equals(temp.getTarget(), Param.TARGET_V_THD)).collect(Collectors.toList()).get(0); -// PmsAbnormalRules v_unbalanceLimit = pmsAbnormalRules.stream().filter(temp -> Objects.equals(temp.getTarget(), Param.TARGET_V_UNBALANCE)).collect(Collectors.toList()).get(0); -// if (!CollectionUtils.isEmpty(fiveItems)) { -// for (DataVFiveItemDTO fiveItem : fiveItems) { -// Double freqMax = fiveItem.getFreqMax(); -// Double freqMin = fiveItem.getFreqMin(); -// -// Double rmsMax = fiveItem.getRmsMax(); -// Double rmsMin = fiveItem.getRmsMin(); -// Double vThdMax = fiveItem.getVThdMax(); -// Double vThdMin = fiveItem.getVThdMin(); -// -// Double vUnbalanceMax = fiveItem.getVUnbalanceMax(); -// Double vUnbalanceMin = fiveItem.getVUnbalanceMin(); -// Double rmsLvrMax = fiveItem.getRmsLvrMax(); -// Double rmsLvrMin = fiveItem.getRmsLvrMin(); -// -// Boolean rmsflag = false; -// Boolean rmsLvrflag = false; -// Boolean vUnbalanceflag = false; -// -// freqCount++; -// unbalanceCount++; -// phaseVoltageCount++; -// lineVoltageCount++; -// vThdCount++; -// effectiveMinuteCount++; -// // 先注释掉 校验跑出监测点 -//// if (freqLimit.getLowerLimit() <= freqMin && freqMax <= freqLimit.getUpperLimit()) { -//// freqCount++; -//// } -//// /*,监测点的接线方式,如果是星形接线这个指标要判断,角形界面则不判断,默认它是正常的*/ -//// if (Objects.equals("0", data.getPtType())) { -//// if (rmsLimit.getLowerLimit() * (voltage / 1.732) <= rmsMin && rmsMax <= rmsLimit.getUpperLimit() * (voltage / 1.732)) { -//// phaseVoltageCount++; -//// rmsflag = true; -//// } -//// } else { -//// rmsflag = true; -//// phaseVoltageCount++; -//// } -//// if (Objects.equals("1", data.getPtPhaseType())) { -//// if (rms_lvrLimit.getLowerLimit() * voltage <= rmsLvrMin && rmsLvrMax <= rms_lvrLimit.getUpperLimit() * voltage) { -//// lineVoltageCount++; -//// rmsLvrflag = true; -//// } -//// -//// } else { -//// rmsLvrflag = true; -//// lineVoltageCount++; -//// -//// } -//// if (Objects.equals("1", data.getPtPhaseType()) && Objects.equals("0", data.getPtType())) { -//// if (v_unbalanceLimit.getLowerLimit() <= vUnbalanceMin && vUnbalanceMax <= v_unbalanceLimit.getUpperLimit() -//// ) { -//// unbalanceCount++; -//// vUnbalanceflag = true; -//// } -//// } else { -//// unbalanceCount++; -//// vUnbalanceflag = true; -//// } -//// -//// -//// if (v_thdLimit.getLowerLimit() <= vThdMin && vThdMax <= v_thdLimit.getUpperLimit()) { -//// vThdCount++; -//// } -//// -//// -//// if (freqLimit.getLowerLimit() <= freqMin && freqMax <= freqLimit.getUpperLimit() && -//// rmsflag && -//// rmsLvrflag && -//// v_thdLimit.getLowerLimit() <= vThdMin && vThdMax <= v_thdLimit.getUpperLimit() && -//// vUnbalanceflag -//// -//// ) { -//// effectiveMinuteCount++; -//// } -// } -// } -// -// rMpMonitorEvaluateD.setEffectiveMinuteCount(effectiveMinuteCount); -// rMpMonitorEvaluateD.setFreqCount(freqCount); -// rMpMonitorEvaluateD.setPhaseVoltageCount(phaseVoltageCount); -// rMpMonitorEvaluateD.setLineVoltageCount(lineVoltageCount); -// rMpMonitorEvaluateD.setVThdCount(vThdCount); -// rMpMonitorEvaluateD.setUnbalanceCount(unbalanceCount); -// return rMpMonitorEvaluateD; -// } -} diff --git a/pqs-algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/support/mapper/PmsAbnormalRulesMapper.java b/pqs-algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/support/mapper/PmsAbnormalRulesMapper.java deleted file mode 100644 index f1902be48..000000000 --- a/pqs-algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/support/mapper/PmsAbnormalRulesMapper.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.njcn.algorithm.support.mapper; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.njcn.device.pq.pojo.po.PmsAbnormalRules; - -/** - * PmsAbnormalRulesMapper - * - * @author qijian - * @date 2022/10/26 - */ -public interface PmsAbnormalRulesMapper extends BaseMapper { - -} diff --git a/pqs-algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/support/mapper/mapping/PmsAbnormalRulesMapper.xml b/pqs-algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/support/mapper/mapping/PmsAbnormalRulesMapper.xml deleted file mode 100644 index a21a67f7a..000000000 --- a/pqs-algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/support/mapper/mapping/PmsAbnormalRulesMapper.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff --git a/pqs-algorithm/algorithm-boot/src/main/resources/bootstrap.yml b/pqs-algorithm/algorithm-boot/src/main/resources/bootstrap.yml deleted file mode 100644 index 39b271b05..000000000 --- a/pqs-algorithm/algorithm-boot/src/main/resources/bootstrap.yml +++ /dev/null @@ -1,56 +0,0 @@ -#当前服务的基本信息 -microservice: - ename: @artifactId@ - name: '@name@' - version: @version@ - sentinel: - url: @sentinel.url@ - gateway: - url: @gateway.url@ -server: - port: 10223 -#feign接口开启服务熔断降级处理 -feign: - sentinel: - enabled: true - -spring: - application: - name: @artifactId@ - #nacos注册中心以及配置中心的指定 - cloud: - nacos: - discovery: - ip: @service.server.url@ - server-addr: @nacos.url@ - namespace: @nacos.namespace@ - config: - server-addr: @nacos.url@ - namespace: @nacos.namespace@ - file-extension: yaml - shared-configs: - - data-id: share-config.yaml - refresh: true - main: - allow-bean-definition-overriding: true - -liteflow: - rule-source: config/liteflow.el.xml -# rule-source-ext-data-map: -# serverAddr: @nacos.url@ -# dataId: prepare_liteflow -# group: DEFAULT_GROUP -# namespace: @nacos.namespace@ - when-max-wait-time: 600000 - print-banner: false - - -#项目日志的配置 -logging: - config: http://@nacos.url@/nacos/v1/cs/configs?tenant=@nacos.namespace@&group=DEFAULT_GROUP&dataId=logback.xml - level: - root: error - - -mqtt: - client-id: @artifactId@${random.value} diff --git a/pqs-algorithm/algorithm-boot/src/main/resources/config/liteflow.el.xml b/pqs-algorithm/algorithm-boot/src/main/resources/config/liteflow.el.xml deleted file mode 100644 index d9d86e5e3..000000000 --- a/pqs-algorithm/algorithm-boot/src/main/resources/config/liteflow.el.xml +++ /dev/null @@ -1,124 +0,0 @@ - - - - THEN( - rMpSurplusAbnormalD - ); - - - THEN( - WHEN(rDimBusbarHarmnic.tag("r_dim_busbar_harmnic_d")), - rOperatingIndex.tag("r_operating_index_d"), - rOperatingIndex.tag("r_operating_index_m"), - rOperatingIndex.tag("r_operating_index_q"), - rOperatingIndex.tag("r_operating_index_y"), - rStatOrg.tag("r_stat_org_d"), - rStatOrg.tag("r_stat_org_m"), - rStatOrg.tag("r_stat_org_q"), - rStatOrg.tag("r_stat_org_y"), - rStatPollutionOrg.tag("r_stat_pollution_org_d"), - rStatPollutionOrg.tag("r_stat_pollution_org_m"), - rStatPollutionOrg.tag("r_stat_pollution_org_q"), - rStatPollutionOrg.tag("r_stat_pollution_org_y"), - rStatHarmonic.tag("r_stat_harmonic_d"), - rStatHarmonic.tag("r_stat_harmonic_m"), - rStatHarmonic.tag("r_stat_harmonic_q"), - rStatHarmonic.tag("r_stat_harmonic_y"), - rStatHarmonicVoltage.tag("r_stat_harmonic_voltage_d"), - rStatHarmonicVoltage.tag("r_stat_harmonic_voltage_m"), - rStatHarmonicOrg.tag("r_stat_harmonic_org_d"), - rStatHarmonicOrg.tag("r_stat_harmonic_org_m"), - rStatHarmonicOrg.tag("r_stat_harmonic_org_q"), - rStatHarmonicOrg.tag("r_stat_harmonic_org_y"), - rStatEvent.tag("r_stat_event_d"), - rStatEvent.tag("r_stat_event_m"), - rStatEvent.tag("r_stat_event_q"), - rStatEvent.tag("r_stat_event_y"), - rStatEventVoltage.tag("r_stat_event_voltage_d"), - rStatEventVoltage.tag("r_stat_event_voltage_m"), - rStatEventOrg.tag("r_stat_event_org_d"), - rStatEventOrg.tag("r_stat_event_org_m"), - rStatEventOrg.tag("r_stat_event_org_q"), - rStatEventOrg.tag("r_stat_event_org_y"), - rStatEventLoadType.tag("r_stat_load_type_d"), - rStatEventLoadType.tag("r_stat_load_type_m"), - rStatEventLoadType.tag("r_stat_load_type_q"), - rStatEventLoadType.tag("r_stat_load_type_y"), - rStatAlarmCount.tag("r_stat_alarm_count_w"), - rStatAlarmCount.tag("r_stat_area_alarm_count_m"), - rDimBusTarget.tag("r_dim_bus_target_d"), - rDimBusTarget.tag("r_dim_bus_target_m"), - rDimBusTarget.tag("r_dim_bus_target_y"), - rDimObjTarget.tag("r_dim_obj_target_d"), - rDimObjTarget.tag("r_dim_obj_target_m"), - rDimObjTarget.tag("r_dim_obj_target_y"), - rDimObjGlobal.tag("r_dim_obj_global_d"), - rDimObjGlobal.tag("r_dim_obj_global_m"), - rDimObjGlobal.tag("r_dim_obj_global_y"), - rDimObjBusStationEventStartis.tag("r_dim_bus_station_event_startis_d"), - rDimObjBusStationEventStartis.tag("r_dim_bus_station_event_startis_m"), - rDimObjBusStationEventStartis.tag("r_dim_bus_station_event_startis_y") - ); - - - THEN( - THEN( - rUploadSubStatisticalData - ), - THEN( - rStatSubstation.tag("r_stat_substation_d"), - rStatSubstation.tag("r_stat_substation_m"), - rStatSubstation.tag("r_stat_substation_q"), - rStatSubstation.tag("r_stat_substation_y") - ), - THEN( - rStatPollutionSubstation.tag("r_stat_pollution_substation_d"), - rStatPollutionSubstation.tag("r_stat_pollution_substation_m"), - rStatPollutionSubstation.tag("r_stat_pollution_substation_q"), - rStatPollutionSubstation.tag("r_stat_pollution_substation_y") - ) - ); - - - THEN( - THEN( - rDimObjEvent.tag("r_dim_obj_event_d"), - rDimObjEvent.tag("r_dim_obj_event_m"), - rDimObjEvent.tag("r_dim_obj_event_y") - ) - ); - - - THEN( - THEN( - rBusbarVoltage.tag("r_dim_voltage_d"), - rBusbarVoltage.tag("r_dim_voltage_m"), - rBusbarVoltage.tag("r_dim_voltage_y") - ), - THEN( - rStatBusbarHarmonicY - ), - THEN( - rStatOrgBusBarVoltage.tag("r_stat_org_busbar_voltage_d"), - rStatOrgBusBarVoltage.tag("r_stat_org_busbar_voltage_m"), - rStatOrgBusBarVoltage.tag("r_stat_org_busbar_voltage_q"), - rStatOrgBusBarVoltage.tag("r_stat_org_busbar_voltage_y") - ) - ); - - - THEN( - rUploadPointStatisticalData, - rUploadEvaluationData, - pqTypicalSourceCreatePOService - - ); - - - THEN( - THEN( - rStatSubstationVoltage.tag("r_stat_substation_voltage_m") - ) - ); - - \ No newline at end of file diff --git a/pqs-algorithm/pom.xml b/pqs-algorithm/pom.xml deleted file mode 100644 index ba10b1395..000000000 --- a/pqs-algorithm/pom.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - 4.0.0 - - com.njcn - pqs - 1.0.0 - - pom - - algorithm-api - algorithm-boot - - - pqs-algorithm - 算法模块 - - - 8 - 8 - - - \ No newline at end of file diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/constant/Param.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/constant/Param.java index 801094845..9d53ad366 100644 --- a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/constant/Param.java +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/constant/Param.java @@ -1,5 +1,7 @@ package com.njcn.device.pq.constant; + + import java.util.HashMap; import java.util.Map; @@ -16,7 +18,53 @@ public interface Param { String TARGET_RMS_LVR = "rms_lvr"; String TARGET_V_THD = "v_thd"; String TARGET_V_UNBALANCE = "v_unbalance"; - + + + + String freq = "freq$DataV"; + String freq_dev = "freq_dev$DataV"; + + + String rms_v = "rms$DataV"; + String rms_lvr ="rms_lvr$DataV"; + String vu_dev ="vu_dev$DataV"; + String rms_i ="rms$DataI"; + + String v_thd = "v_thd$DataV"; + //相(线)电压基波有效值 + String v_1_v = "v_1$DataV"; + + //相(线)电压基波相角 + String phasic_v_1 = "v_1$DataHarmPhasicV"; + + //谐波电压相角 + String phasic_rate_$ = "v_?$DataHarmPhasicV"; + //谐波电压含有率 + String v_rate = "v_?$DataHarmRateV"; + //间谐波电压含有率 + String in_v_rate = "v_?$DataInHarmV"; + //正序、负序和零序电压 + String v_zero = "v_zero$DataV"; + String v_pos = "v_pos$DataV"; + String v_neg = "v_neg$DataV"; + + //三相电压不平衡度 + String v_unbalance ="v_unbalance$DataV"; + + //电压波动 + String fluc = "fluc$DataFluc"; + + //短时间闪变值 + String plt = "plt$DataPlt"; + + + //长时间闪变值 + String pst = "pst$DataPlt"; + + + + + Integer YEAR = 1; Integer QUARTER = 2; Integer MONTH = 3; diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/enums/LineBaseEnum.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/enums/LineBaseEnum.java index f5794db75..8abc0c326 100644 --- a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/enums/LineBaseEnum.java +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/enums/LineBaseEnum.java @@ -41,12 +41,6 @@ public enum LineBaseEnum { POWER_FLAG(0,"电网侧"), POWER_FLAG_NOT(1,"非电网侧"), - - RUN(0,"在运"), - WAITE_RUN(1,"调试"), - STOP_RUN(2,"停运") - - ; private final Integer code; diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/dataClean/PowerQualityIndicatorsVO.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/dataClean/PowerQualityIndicatorsVO.java new file mode 100644 index 000000000..118af914d --- /dev/null +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/dataClean/PowerQualityIndicatorsVO.java @@ -0,0 +1,60 @@ +package com.njcn.device.pq.pojo.vo.dataClean; + +import lombok.Data; + +/** + * @Author: cdf + * @CreateTime: 2025-03-27 + * @Description: 指标异常实体 + */ +@Data +public class PowerQualityIndicatorsVO { + + // 频率,范围 42.5~57.5 + private double frequency; + // 频率偏差,范围 -7.5~7.5 + private double frequencyDeviation; + // 相(线)电压有效值,范围 0~150%U + private double phaseOrLineVoltageRms; + // 电压偏差,范围 -20%~20% + private double voltageDeviation; + // 电流有效值,大于 CT 一次变比 + private double currentRms; + // 单相功率因数,范围 -1~1 + private double singlePhasePowerFactor; + // 单相基波功率因数,范围 -1~1 + private double singlePhaseFundamentalPowerFactor; + // 三相功率因数,范围 -1~1 + private double threePhasePowerFactor; + // 基波功率因数,范围 -1~1 + private double fundamentalPowerFactor; + // 电压总谐波畸变率,范围 0~30% + private double voltageTotalHarmonicDistortion; + // 相(线)电压基波有效值,范围 0~150%U + private double phaseOrLineVoltageFundamentalRms; + // 相(线)电压基波相角,范围 -180~180 + private double phaseOrLineVoltageFundamentalPhaseAngle; + // 谐波电压含有率,范围 0~30% + private double harmonicVoltageContentRate; + // 谐波电压相角,范围 -180~180 + private double harmonicVoltagePhaseAngle; + // 间谐波电压含有率,范围 0~30% + private double interHarmonicVoltageContentRate; + // 正序、负序和零序电压,范围 0~150%U + private double positiveNegativeZeroSequenceVoltage; + // 负序电压不平衡度,范围 0~40% + private double balanceV; + // 零序电压不平衡度,范围 0~40% + private double zeroSequenceVoltageUnbalanceDegree; + // 电压波动,范围 0~40% + private double voltageFluctuation; + // 短时间闪变值,范围 0~20 + private double shortTermFlickerValue; + // 长时间闪变值,范围 0~20 + private double longTermFlickerValue; + // 电压暂降特征幅值,范围 0~90% + private double voltageSagCharacteristicAmplitude; + // 电压暂升特征幅值 + private double voltageSwellCharacteristicAmplitude; + +} diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/dataClean/VerifyMonitorVO.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/dataClean/VerifyMonitorVO.java index 80970d7ef..9dea8cf72 100644 --- a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/dataClean/VerifyMonitorVO.java +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/dataClean/VerifyMonitorVO.java @@ -1,7 +1,11 @@ package com.njcn.device.pq.pojo.vo.dataClean; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import java.util.List; +import java.util.Map; + /** * @Author: cdf * @CreateTime: 2025-03-26 @@ -10,8 +14,64 @@ import lombok.Data; @Data public class VerifyMonitorVO { + @ApiModelProperty(value = "在运测点数量",name = "runNum") private Integer runNum; + @ApiModelProperty(value = "异常测点数量",name = "abnormalNum") private Integer abnormalNum; + + + + + // 频率,范围 42.5~57.5 + private double frequency; + // 频率偏差,范围 -7.5~7.5 + private double frequencyDeviation; + // 相(线)电压有效值,范围 0~150%U + private double phaseOrLineVoltageRms; + // 电压偏差,范围 -20%~20% + private double voltageDeviation; + // 电流有效值,大于 CT 一次变比 + private double currentRms; + // 单相功率因数,范围 -1~1 + private double singlePhasePowerFactor; + // 单相基波功率因数,范围 -1~1 + private double singlePhaseFundamentalPowerFactor; + // 三相功率因数,范围 -1~1 + private double threePhasePowerFactor; + // 基波功率因数,范围 -1~1 + private double fundamentalPowerFactor; + // 电压总谐波畸变率,范围 0~30% + private double voltageTotalHarmonicDistortion; + // 相(线)电压基波有效值,范围 0~150%U + private double phaseOrLineVoltageFundamentalRms; + // 相(线)电压基波相角,范围 -180~180 + private double phaseOrLineVoltageFundamentalPhaseAngle; + // 谐波电压含有率,范围 0~30% + private double harmonicVoltageContentRate; + // 谐波电压相角,范围 -180~180 + private double harmonicVoltagePhaseAngle; + // 间谐波电压含有率,范围 0~30% + private double interHarmonicVoltageContentRate; + // 正序、负序和零序电压,范围 0~150%U + private double positiveNegativeZeroSequenceVoltage; + // 负序电压不平衡度,范围 0~40% + private double BalanceV; + // 零序电压不平衡度,范围 0~40% + private double zeroSequenceVoltageUnbalanceDegree; + // 电压波动,范围 0~40% + private double voltageFluctuation; + // 短时间闪变值,范围 0~20 + private double shortTermFlickerValue; + // 长时间闪变值,范围 0~20 + private double longTermFlickerValue; + // 电压暂降特征幅值,范围 0~90% + private double voltageSagCharacteristicAmplitude; + // 电压暂升特征幅值 + private double voltageSwellCharacteristicAmplitude; + + + private List> mapList; + } diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/AbnormalDataController.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/AbnormalDataController.java deleted file mode 100644 index ea00d13e9..000000000 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/AbnormalDataController.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.njcn.device.pq.controller; - -/** - * @Author: cdf - * @CreateTime: 2025-03-26 - * @Description: 异常数据清洗 - */ -public class AbnormalDataController { -} diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/DataVerifyController.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/DataVerifyController.java index 39f4c6930..50df87859 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/DataVerifyController.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/DataVerifyController.java @@ -8,6 +8,7 @@ import com.njcn.common.pojo.response.HttpResult; import com.njcn.common.utils.HttpResultUtil; import com.njcn.device.pq.pojo.param.dataClean.MonitorBaseParam; import com.njcn.device.pq.pojo.vo.AlarmStrategyVO; +import com.njcn.device.pq.pojo.vo.dataClean.PowerQualityIndicatorsVO; import com.njcn.device.pq.pojo.vo.dataClean.VerifyMonitorVO; import com.njcn.device.pq.service.IDataVerifyService; import io.swagger.annotations.Api; @@ -53,17 +54,18 @@ public class DataVerifyController extends BaseController { } - /** - * 获取时间范围异常测点数量 - */ +/* *//** + * 异常指标统计 + *//* @OperateInfo(info = LogEnum.BUSINESS_COMMON) - @PostMapping("/getRangeAbnormalMonitor") + @PostMapping("/getAbnormalTarget") @ApiOperation("获取异常监测点相关信息") - public HttpResult>> getRangeAbnormalMonitor(@RequestBody MonitorBaseParam monitorBaseParam){ - String methodDescribe = getMethodDescribe("getRangeAbnormalMonitor"); - List> verifyMonitorVO = iDataVerifyService.getRangeAbnormalMonitor(monitorBaseParam); - return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, verifyMonitorVO, methodDescribe); - } + public HttpResult getAbnormalTarget(@RequestBody MonitorBaseParam monitorBaseParam){ + String methodDescribe = getMethodDescribe("getAbnormalTarget"); + PowerQualityIndicatorsVO powerQualityIndicatorsVO = iDataVerifyService.getAbnormalTarget(monitorBaseParam); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, powerQualityIndicatorsVO, methodDescribe); + }*/ + } diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/DeptLineMapper.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/DeptLineMapper.java index d66a8ce06..d368606f1 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/DeptLineMapper.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/DeptLineMapper.java @@ -78,7 +78,7 @@ public interface DeptLineMapper extends BaseMapper { List orgSubStationInfoGet(@Param("list")List devType,@Param("powerFlag")Integer powerFlag,@Param("lineRunFlag") Integer lineRunFlag); - List getLineIdByDeptIds(@Param("deptIds")List deptIds,@Param("runFlag")List runFlag,@Param("dataType")List dataType); + List getLineIdByDeptIds(@Param("deptIds")List deptIds,@Param("runFlag")List runFlag,@Param("dataType")List dataType,@Param("objType")String objType); List selectSubStationList(@Param("param") SubstationParam substationParam); diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/mapping/DeptLineMapper.xml b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/mapping/DeptLineMapper.xml index 1e521ec37..c3bee4164 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/mapping/DeptLineMapper.xml +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/mapping/DeptLineMapper.xml @@ -145,6 +145,9 @@ #{item} + + and lineDetail.big_obj_type = #{objType} + and pq_dept_line.id in #{item} diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/CommTerminalService.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/CommTerminalService.java index e3824897d..496f35dd8 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/CommTerminalService.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/CommTerminalService.java @@ -3,6 +3,7 @@ package com.njcn.device.pq.service; import com.njcn.device.biz.pojo.dto.*; import com.njcn.device.biz.pojo.param.DeptGetLineParam; import com.njcn.device.biz.pojo.param.SubstationParam; +import com.njcn.device.pq.pojo.param.dataClean.MonitorBaseParam; import org.springframework.web.bind.annotation.RequestParam; import java.util.List; @@ -88,7 +89,7 @@ public interface CommTerminalService { List tagOrIdGetSub(SubstationParam substationParam); /** - * 通过部门id获取在运测点 + * 通过部门id,对象类型,返回在运,实际装置,双系统测点 */ - List getRunMonitorByDept(String deptId); + List getRunMonitorByDept(MonitorBaseParam monitorBaseParam); } diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/DeptLineService.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/DeptLineService.java index 70702af75..350973cc6 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/DeptLineService.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/DeptLineService.java @@ -48,7 +48,7 @@ public interface DeptLineService extends IService { * @param ids 部门ids * @return 查询结果 */ - List getLineByDeptIds(List ids,List runFlag,List dataType); + List getLineByDeptIds(List ids,List runFlag,List dataType,String objType); /** * 部门解除绑定监测点 diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/IDataVerifyService.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/IDataVerifyService.java index f8da631f9..e68350650 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/IDataVerifyService.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/IDataVerifyService.java @@ -3,6 +3,7 @@ package com.njcn.device.pq.service; import com.baomidou.mybatisplus.extension.service.IService; import com.njcn.device.pq.pojo.param.dataClean.MonitorBaseParam; import com.njcn.device.pq.pojo.po.DataVerify; +import com.njcn.device.pq.pojo.vo.dataClean.PowerQualityIndicatorsVO; import com.njcn.device.pq.pojo.vo.dataClean.VerifyMonitorVO; import java.util.List; @@ -22,6 +23,8 @@ public interface IDataVerifyService extends IService { VerifyMonitorVO getMonitorVerifyData(MonitorBaseParam monitorBaseParam); - List> getRangeAbnormalMonitor(MonitorBaseParam monitorBaseParam); + + + } diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/CommTerminalServiceImpl.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/CommTerminalServiceImpl.java index 8e781260a..f96f54a1f 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/CommTerminalServiceImpl.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/CommTerminalServiceImpl.java @@ -10,8 +10,10 @@ import com.njcn.device.biz.pojo.dto.*; import com.njcn.device.biz.pojo.param.DeptGetLineParam; import com.njcn.device.biz.pojo.param.SubstationParam; import com.njcn.device.pq.enums.LineBaseEnum; +import com.njcn.device.pq.enums.RunFlagEnum; import com.njcn.device.pq.mapper.LineMapper; import com.njcn.device.pq.mapper.OverlimitMapper; +import com.njcn.device.pq.pojo.param.dataClean.MonitorBaseParam; import com.njcn.device.pq.service.CommTerminalService; import com.njcn.device.pq.service.DeptLineService; import com.njcn.redis.utils.RedisUtil; @@ -292,9 +294,9 @@ public class CommTerminalServiceImpl implements CommTerminalService { } @Override - public List getRunMonitorByDept(String deptId) { - List ids = deptFeignClient.getDepSonIdtByDeptId(deptId).getData(); - List monitorIds = deptLineService.getLineByDeptIds(ids,Stream.of(LineBaseEnum.RUN.getCode()).collect(Collectors.toList()),Stream.of(0,1,2).collect(Collectors.toList())); + public List getRunMonitorByDept(MonitorBaseParam monitorBaseParam) { + List ids = deptFeignClient.getDepSonIdtByDeptId(monitorBaseParam.getDeptId()).getData(); + List monitorIds = deptLineService.getLineByDeptIds(ids,Stream.of(RunFlagEnum.RUNNING.getStatus()).collect(Collectors.toList()),Stream.of(0,1,2).collect(Collectors.toList()),monitorBaseParam.getObjType()); return monitorIds; } diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/DataVerifyServiceImpl.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/DataVerifyServiceImpl.java index 719a06da0..089ac3545 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/DataVerifyServiceImpl.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/DataVerifyServiceImpl.java @@ -5,10 +5,13 @@ import cn.hutool.core.collection.CollUtil; import cn.hutool.core.date.*; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.njcn.dataProcess.enums.DataCleanEnum; +import com.njcn.device.pq.constant.Param; import com.njcn.device.pq.mapper.DataVerifyMapper; import com.njcn.device.pq.mapper.LineMapper; import com.njcn.device.pq.pojo.param.dataClean.MonitorBaseParam; import com.njcn.device.pq.pojo.po.DataVerify; +import com.njcn.device.pq.pojo.vo.dataClean.PowerQualityIndicatorsVO; import com.njcn.device.pq.pojo.vo.dataClean.VerifyMonitorVO; import com.njcn.device.pq.service.CommTerminalService; import com.njcn.device.pq.service.IDataVerifyService; @@ -19,8 +22,11 @@ import org.springframework.stereotype.Service; import java.text.DateFormat; import java.time.format.DateTimeFormatter; import java.util.*; +import java.util.regex.Pattern; import java.util.stream.Collectors; +import static com.njcn.device.pq.constant.Param.freq; + /** *

* 服务实现类 @@ -37,32 +43,31 @@ public class DataVerifyServiceImpl extends ServiceImpl monitorIds = commTerminalService.getRunMonitorByDept(monitorBaseParam.getDeptId()); - LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); - lambdaQueryWrapper.select(DataVerify::getLineId).between(DataVerify::getTime, DateUtil.beginOfDay(DateUtil.parse(monitorBaseParam.getSearchBeginTime())),DateUtil.endOfDay(DateUtil.parse(monitorBaseParam.getSearchEndTime()))) - .in(DataVerify::getLineId,monitorIds).groupBy(DataVerify::getLineId); - List list = this.list(lambdaQueryWrapper); - VerifyMonitorVO verifyMonitorVO = new VerifyMonitorVO(); - verifyMonitorVO.setRunNum(monitorIds.size()); - verifyMonitorVO.setAbnormalNum(list.size()); - return verifyMonitorVO; - } - - @Override - public List> getRangeAbnormalMonitor(MonitorBaseParam monitorBaseParam) { - List> result = new ArrayList<>(); - - List monitorIds = commTerminalService.getRunMonitorByDept(monitorBaseParam.getDeptId()); + List monitorIds = commTerminalService.getRunMonitorByDept(monitorBaseParam); LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); lambdaQueryWrapper.between(DataVerify::getTime, DateUtil.beginOfDay(DateUtil.parse(monitorBaseParam.getSearchBeginTime())),DateUtil.endOfDay(DateUtil.parse(monitorBaseParam.getSearchEndTime()))) .in(DataVerify::getLineId,monitorIds); List dataVerifyList = this.list(lambdaQueryWrapper); + VerifyMonitorVO verifyMonitorVO = new VerifyMonitorVO(); + verifyMonitorVO.setRunNum(monitorIds.size()); + int count = dataVerifyList.stream().collect(Collectors.groupingBy(DataVerify::getLineId)).size(); + verifyMonitorVO.setAbnormalNum(count); + List> mapList = getRangeAbnormalMonitor(monitorBaseParam,dataVerifyList); + verifyMonitorVO.setMapList(mapList); + getAbnormalTarget(dataVerifyList,verifyMonitorVO); + return verifyMonitorVO; + } + + /** + * 时间范围异常测点数量 + */ + private List> getRangeAbnormalMonitor(MonitorBaseParam monitorBaseParam,List dataVerifyList) { + List> result = new ArrayList<>(); DateTime startTime = DateUtil.parse(monitorBaseParam.getSearchBeginTime()); DateTime endTime = DateUtil.parse(monitorBaseParam.getSearchEndTime()); if(startTime.year() == endTime.year() && startTime.month() == endTime.month()){ DateRange ranged = DateUtil.range(DateUtil.parse(monitorBaseParam.getSearchBeginTime()),DateUtil.parse(monitorBaseParam.getSearchEndTime()), DateField.DAY_OF_MONTH); - Map map = dataVerifyList.stream().collect(Collectors.groupingBy(it->it.getTime().format(DateTimeFormatter.ofPattern(DatePattern.NORM_DATE_PATTERN)), Collectors.mapping(DataVerify::getLineId, Collectors.collectingAndThen(Collectors.toSet(), Set::size)))); for (DateTime dateTime : ranged) { @@ -72,7 +77,6 @@ public class DataVerifyServiceImpl extends ServiceImpl dataVerifyList,VerifyMonitorVO powerQualityIndicatorsVO) { + Map> map = dataVerifyList.stream().collect(Collectors.groupingBy(it->it.getIndexCode()+"$"+it.getIndexTable(),Collectors.mapping(DataVerify::getLineId, Collectors.toSet()))); + Pattern patternPhasic = Pattern.compile("v_(2|[3-9]|[1-4][0-9]|50)\\$data_harmphasic_v"); + Pattern patternRate = Pattern.compile("v_(2|[3-9]|[1-4][0-9]|50)\\$data_harmrate_v"); + Pattern patternInRate = Pattern.compile("v_(2|[3-9]|[1-4][0-9]|50)\\$data_inharmrate_v"); + + Set harmPhasicSet = new HashSet<>(); + Set harmVSet = new HashSet<>(); + Set inHarmVSet = new HashSet<>(); + + //正序、负序和零序电压 + Set posVSet = new HashSet<>(); + map.forEach((key,num)->{ + if(patternPhasic.matcher(key).matches()){ + key = Param.phasic_rate_$; + }else if(patternRate.matcher(key).matches()){ + key = Param.v_rate; + }else if(patternInRate.matcher(key).matches()){ + key = Param.in_v_rate; + } + + switch (key){ + case freq: + powerQualityIndicatorsVO.setFrequency(num.size()); + break; + case Param.freq_dev: + powerQualityIndicatorsVO.setFrequencyDeviation(num.size()); + break; + case Param.rms_v: + powerQualityIndicatorsVO.setPhaseOrLineVoltageRms(powerQualityIndicatorsVO.getPhaseOrLineVoltageRms()+num.size()); + break; + case Param.rms_lvr: + powerQualityIndicatorsVO.setPhaseOrLineVoltageRms(powerQualityIndicatorsVO.getPhaseOrLineVoltageRms()+num.size()); + break; + case Param.vu_dev: + powerQualityIndicatorsVO.setVoltageDeviation(num.size()); + break; + case Param.rms_i: + powerQualityIndicatorsVO.setCurrentRms(num.size()); + break; + case Param.v_thd: + powerQualityIndicatorsVO.setVoltageTotalHarmonicDistortion(num.size()); + break; + case Param.v_1_v: + powerQualityIndicatorsVO.setPhaseOrLineVoltageFundamentalRms(num.size()); + break; + case Param.phasic_v_1: + powerQualityIndicatorsVO.setPhaseOrLineVoltageFundamentalPhaseAngle(num.size()); + break; + case Param.phasic_rate_$: + harmPhasicSet.addAll(num); + break; + case Param.v_rate: + harmVSet.addAll(num); + break; + case Param.in_v_rate: + inHarmVSet.addAll(num); + break; + case Param.v_zero: + case Param.v_neg: + case Param.v_pos: + posVSet.addAll(num); + break; + case Param.v_unbalance: + powerQualityIndicatorsVO.setBalanceV(num.size()); + break; + case Param.fluc: + powerQualityIndicatorsVO.setVoltageFluctuation(num.size()); + break; + case Param.plt: + powerQualityIndicatorsVO.setShortTermFlickerValue(num.size()); + break; + case Param.pst: + powerQualityIndicatorsVO.setLongTermFlickerValue(num.size()); + break; + default: + System.out.println("存在未知指标:"+key); + break; + } + }); + + powerQualityIndicatorsVO.setHarmonicVoltagePhaseAngle(harmPhasicSet.size()); + powerQualityIndicatorsVO.setHarmonicVoltageContentRate(harmVSet.size()); + powerQualityIndicatorsVO.setInterHarmonicVoltageContentRate(inHarmVSet.size()); + powerQualityIndicatorsVO.setPositiveNegativeZeroSequenceVoltage(posVSet.size()); + } + } diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/DeptLineServiceImpl.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/DeptLineServiceImpl.java index 23086b8c2..e1c352aff 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/DeptLineServiceImpl.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/DeptLineServiceImpl.java @@ -80,8 +80,8 @@ public class DeptLineServiceImpl extends ServiceImpl i } @Override - public List getLineByDeptIds(List ids,List runFlag,List dataType) { - return this.baseMapper.getLineIdByDeptIds(ids,runFlag,dataType); + public List getLineByDeptIds(List ids,List runFlag,List dataType,String objType) { + return this.baseMapper.getLineIdByDeptIds(ids,runFlag,dataType,objType); } @Override diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/GeneralDeviceService.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/GeneralDeviceService.java index 22214b934..3826f6e3c 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/GeneralDeviceService.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/GeneralDeviceService.java @@ -767,8 +767,7 @@ public class GeneralDeviceService { List deptDTOList = deptFeignClient.getDeptDescendantIndexes(deptId, Stream.of(0, 1).collect(Collectors.toList())).getData(); if (CollUtil.isNotEmpty(deptDTOList)) { List deptIds = deptDTOList.stream().map(DeptDTO::getId).distinct().collect(Collectors.toList()); - - return deptLineService.getLineByDeptIds(deptIds,runFlag,dataType); + return deptLineService.getLineByDeptIds(deptIds,runFlag,dataType,null); } return new ArrayList<>(); } diff --git a/pqs-system/system-boot/pom.xml b/pqs-system/system-boot/pom.xml index bfe81fef6..dde044e19 100644 --- a/pqs-system/system-boot/pom.xml +++ b/pqs-system/system-boot/pom.xml @@ -92,6 +92,18 @@ 1.0.0 + + + com.njcn + cs-device-api + 1.0.0 + + + + com.njcn + algorithm-api + 1.0.0 + diff --git a/pqs-system/system-boot/src/main/java/com/njcn/system/timer/tasks/MeasurementTaskRunner.java b/pqs-system/system-boot/src/main/java/com/njcn/system/timer/tasks/MeasurementTaskRunner.java index 31e0c13a9..7512e1616 100644 --- a/pqs-system/system-boot/src/main/java/com/njcn/system/timer/tasks/MeasurementTaskRunner.java +++ b/pqs-system/system-boot/src/main/java/com/njcn/system/timer/tasks/MeasurementTaskRunner.java @@ -3,8 +3,9 @@ package com.njcn.system.timer.tasks; import cn.hutool.core.date.DatePattern; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.StrUtil; +import com.njcn.algorithm.pojo.bo.BaseParam; +import com.njcn.algorithm.pojo.liteflow.LiteFlowAlgorithmFeignClient; import com.njcn.prepare.harmonic.api.liteflow.LiteFlowFeignClient; -import com.njcn.prepare.harmonic.pojo.bo.BaseParam; import com.njcn.system.timer.TimerTaskRunner; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Component; @@ -22,6 +23,8 @@ public class MeasurementTaskRunner implements TimerTaskRunner { private final LiteFlowFeignClient liteFlowFeignClient; + private final LiteFlowAlgorithmFeignClient liteFlowAlgorithmFeignClient; + @Override public void action(String date) { BaseParam baseParam = new BaseParam(); @@ -32,7 +35,7 @@ public class MeasurementTaskRunner implements TimerTaskRunner { }else { baseParam.setDataDate(date); } - liteFlowFeignClient.measurementPointExecutor(baseParam); + liteFlowAlgorithmFeignClient.measurementPointExecutor(baseParam); }