From 6ddbdbb5bec32f89e73180cc51cf907be046595f Mon Sep 17 00:00:00 2001 From: chendaofei <857448963@qq.com> Date: Tue, 7 Jul 2026 10:21:55 +0800 Subject: [PATCH] =?UTF-8?q?1.=E6=B7=BB=E5=8A=A0=E7=BB=88=E7=AB=AF=E5=91=A8?= =?UTF-8?q?=E6=9C=9F=E6=A3=80=E6=B5=8B=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pq/pojo/param/TerminalCheckParam.java | 13 ++++++ .../njcn/device/pq/pojo/po/LineDetail.java | 2 + .../device/pq/pojo/vo/TerminalCheckVO.java | 44 +++++++++++++++++++ .../pq/pojo/vo/common/DeviceOnlineRate.java | 1 + .../controller/TerminalAlarmController.java | 17 +++++++ .../njcn/device/pq/mapper/AlarmMapper.java | 5 +++ .../device/pq/mapper/mapping/AlarmMapper.xml | 36 +++++++++++++++ .../pq/service/TerminalAlarmService.java | 5 +++ .../impl/TerminalAlarmServiceImpl.java | 13 ++++++ .../service/impl/TerminalBaseServiceImpl.java | 16 +++---- .../device/line/mapper/mapping/LineMapper.xml | 5 ++- .../service/impl/UserLedgerServiceImpl.java | 18 ++++++++ .../impl/SteadyQualifyServiceImpl.java | 20 +++++++-- .../service/impl/THDistortionServiceImpl.java | 33 +++++++++----- 14 files changed, 204 insertions(+), 24 deletions(-) create mode 100644 pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/param/TerminalCheckParam.java create mode 100644 pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/TerminalCheckVO.java diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/param/TerminalCheckParam.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/param/TerminalCheckParam.java new file mode 100644 index 000000000..e1f1beae1 --- /dev/null +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/param/TerminalCheckParam.java @@ -0,0 +1,13 @@ +package com.njcn.device.pq.pojo.param; + +import com.njcn.web.pojo.param.BaseParam; +import lombok.Data; + +/** + * @Author: cdf + * @CreateTime: 2026-07-06 + * @Description: + */ +@Data +public class TerminalCheckParam extends BaseParam { +} diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/po/LineDetail.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/po/LineDetail.java index 24110fbd1..3567dc4a3 100644 --- a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/po/LineDetail.java +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/po/LineDetail.java @@ -1,6 +1,7 @@ package com.njcn.device.pq.pojo.po; import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; @@ -22,6 +23,7 @@ public class LineDetail{ /** * 监测点序号 */ + @TableId private String id; diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/TerminalCheckVO.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/TerminalCheckVO.java new file mode 100644 index 000000000..933d986db --- /dev/null +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/TerminalCheckVO.java @@ -0,0 +1,44 @@ +package com.njcn.device.pq.pojo.vo; + +import lombok.Data; + +import java.time.LocalDate; +import java.time.LocalDateTime; + +/** + * @Author: cdf + * @CreateTime: 2026-07-06 + * @Description: 终端检测 + */ +@Data +public class TerminalCheckVO { + + private String devId; + + private String areaName; + + private String bdName; + + private String devName; + + private String objName; + + private LocalDate thisCheckTime; + + private LocalDate nextCheckTime; + + private LocalDate loginDate; + + /** + * 0.未逾期 + * 1.逾期 + */ + private Integer checkStatus; + + /** + * 逾期时间 + */ + private Integer overdueDay; + + +} diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/common/DeviceOnlineRate.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/common/DeviceOnlineRate.java index 9163cd1ec..c06853338 100644 --- a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/common/DeviceOnlineRate.java +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/common/DeviceOnlineRate.java @@ -80,6 +80,7 @@ public class DeviceOnlineRate { private String comFlag; @ApiModelProperty("最新数据时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime timeID; @ApiModelProperty("在线率") diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/TerminalAlarmController.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/TerminalAlarmController.java index e167587a3..af9183e13 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/TerminalAlarmController.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/TerminalAlarmController.java @@ -8,7 +8,9 @@ import com.njcn.common.pojo.enums.response.CommonResponseEnum; import com.njcn.common.pojo.response.HttpResult; import com.njcn.common.utils.HttpResultUtil; import com.njcn.device.pq.pojo.param.AlarmParam; +import com.njcn.device.pq.pojo.param.TerminalCheckParam; import com.njcn.device.pq.pojo.vo.TerminalAlarmVO; +import com.njcn.device.pq.pojo.vo.TerminalCheckVO; import com.njcn.device.pq.service.TerminalAlarmService; import com.njcn.web.controller.BaseController; import io.swagger.annotations.Api; @@ -87,4 +89,19 @@ public class TerminalAlarmController extends BaseController { return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe); } + /** + * 终端周期检测告警 + * @author cdf + * @date 2022/5/23 + */ + @PostMapping("/terminalCheckPage") + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @ApiOperation("终端检测告警") + @ApiImplicitParam(name = "alarmParam", value = "告警类型") + public HttpResult> terminalCheckPage(@RequestBody @Validated TerminalCheckParam terminalCheckParam){ + String methodDescribe = getMethodDescribe("alarmInfoList"); + Page res = terminalAlarmService.terminalCheckPage(terminalCheckParam); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, res, methodDescribe); + } + } diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/AlarmMapper.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/AlarmMapper.java index 2d8cdcf6b..f7593feaa 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/AlarmMapper.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/AlarmMapper.java @@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.njcn.device.pq.pojo.po.Alarm; import com.njcn.device.pq.pojo.vo.TerminalAlarmVO; +import com.njcn.device.pq.pojo.vo.TerminalCheckVO; import org.apache.ibatis.annotations.Param; import java.time.LocalDateTime; @@ -41,4 +42,8 @@ public interface AlarmMapper extends BaseMapper { * @date 2022/5/23 */ boolean updateAlarmInfo(@Param("type")String type,@Param("devLineId")String devLineId,@Param("processTime")LocalDateTime processTime,@Param("userIndex")String userIndex); + + + Page terminalCheckPage(Page page); + } diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/mapping/AlarmMapper.xml b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/mapping/AlarmMapper.xml index 27a6acd72..95e9a4429 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/mapping/AlarmMapper.xml +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/mapping/AlarmMapper.xml @@ -158,5 +158,41 @@ ORDER BY + + + diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/TerminalAlarmService.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/TerminalAlarmService.java index 52cadabb1..ed2dd7c98 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/TerminalAlarmService.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/TerminalAlarmService.java @@ -2,7 +2,9 @@ package com.njcn.device.pq.service; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.njcn.device.pq.pojo.param.AlarmParam; +import com.njcn.device.pq.pojo.param.TerminalCheckParam; import com.njcn.device.pq.pojo.vo.TerminalAlarmVO; +import com.njcn.device.pq.pojo.vo.TerminalCheckVO; import java.util.List; @@ -35,4 +37,7 @@ public interface TerminalAlarmService { * @date 2022/5/23 */ boolean updateAlarmInfo(String type,String devLineId); + + + Page terminalCheckPage(TerminalCheckParam terminalCheckParam); } diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/TerminalAlarmServiceImpl.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/TerminalAlarmServiceImpl.java index b41843f97..d6eb9935f 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/TerminalAlarmServiceImpl.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/TerminalAlarmServiceImpl.java @@ -1,18 +1,24 @@ package com.njcn.device.pq.service.impl; +import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.njcn.common.utils.PubUtils; import com.njcn.device.pq.mapper.AlarmMapper; import com.njcn.device.pq.pojo.param.AlarmParam; +import com.njcn.device.pq.pojo.param.TerminalCheckParam; import com.njcn.device.pq.pojo.vo.TerminalAlarmVO; +import com.njcn.device.pq.pojo.vo.TerminalCheckVO; import com.njcn.device.pq.service.TerminalAlarmService; import com.njcn.web.factory.PageFactory; import com.njcn.web.utils.RequestUtil; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; +import java.time.LocalDate; import java.time.LocalDateTime; +import java.time.temporal.ChronoUnit; +import java.util.Collections; import java.util.List; /** @@ -47,4 +53,11 @@ public class TerminalAlarmServiceImpl implements TerminalAlarmService { public boolean updateAlarmInfo(String type, String devLineId) { return alarmMapper.updateAlarmInfo(type,devLineId,LocalDateTime.now(),RequestUtil.getUserIndex()); } + + @Override + public Page terminalCheckPage(TerminalCheckParam terminalCheckParam) { + Page page = new Page<>(PageFactory.getPageNum(terminalCheckParam),PageFactory.getPageSize(terminalCheckParam)); + Page pageResult = alarmMapper.terminalCheckPage(page); + return pageResult; + } } diff --git a/pqs-device/pq-device/pq-device-com/src/main/java/com/njcn/device/common/service/impl/TerminalBaseServiceImpl.java b/pqs-device/pq-device/pq-device-com/src/main/java/com/njcn/device/common/service/impl/TerminalBaseServiceImpl.java index 41f6a3b59..04d62741f 100644 --- a/pqs-device/pq-device/pq-device-com/src/main/java/com/njcn/device/common/service/impl/TerminalBaseServiceImpl.java +++ b/pqs-device/pq-device/pq-device-com/src/main/java/com/njcn/device/common/service/impl/TerminalBaseServiceImpl.java @@ -383,31 +383,31 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple .eq(Line::getState, DataStateEnum.ENABLE.getCode()) .in(Line::getName, subvNameList); List subvRes = this.list(lineLambdaQueryWrapper); - if (!subvRes.isEmpty()) { + /* if (!subvRes.isEmpty()) { List subvList = subvRes.stream().map(Line::getName).collect(Collectors.toList()); throw new BusinessException(DeviceResponseEnum.SUBV_NAME_SAME, String.join(";", subvList)); - } + }*/ } //母线 List voltageName = deviceParam.getSubVoltageParam().stream().filter(item -> StrUtil.isBlank(item.getSubvIndex())).map(SubVoltageParam::getName).collect(Collectors.toList()); - if (CollectionUtil.isNotEmpty(voltageName)) { + /* if (CollectionUtil.isNotEmpty(voltageName)) { List voltageList = this.baseMapper.getVoltageListBySubId(subIndex, voltageName); if (CollectionUtil.isNotEmpty(voltageList)) { throw new BusinessException(DeviceResponseEnum.SUBV_NAME_SAME, voltageList.stream().map(Line::getName).collect(Collectors.joining(";"))); } - } + }*/ //校验同一变电站下只能有唯一母线名称 List addVoltage = deviceParam.getSubVoltageParam().stream().filter(item -> StrUtil.isBlank(item.getSubvIndex())).map(SubVoltageParam::getName).collect(Collectors.toList()); - if (CollectionUtil.isNotEmpty(addVoltage)) { + /* if (CollectionUtil.isNotEmpty(addVoltage)) { List voltageListBySubId = this.baseMapper.getVoltageListBySubId(subIndex, addVoltage); if (CollectionUtil.isNotEmpty(voltageListBySubId)) { throw new BusinessException(DeviceResponseEnum.SUBV_NAME_SAME, voltageListBySubId.stream().map(Line::getName).collect(Collectors.joining(";"))); } - } + }*/ Integer subvSort = lineSortHelper.getNextSort(SUB_V_LEVEL.getCode()); for (SubVoltageParam subVoltageParam : deviceParam.getSubVoltageParam()) { //母线id @@ -751,10 +751,10 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple .notIn(Line::getId, subVIndexList) .eq(Line::getPid, voltage.getPid()); List subVoltageList = this.list(lambdaQueryWrapper); - if (CollectionUtil.isNotEmpty(subVoltageList)) { + /* if (CollectionUtil.isNotEmpty(subVoltageList)) { List repeatSubVNames = subVoltageList.stream().map(Line::getName).collect(Collectors.toList()); throw new BusinessException(DeviceResponseEnum.SUBV_NAME_SAME, "已存在母线名称:" + String.join(";", repeatSubVNames)); - } + }*/ } } diff --git a/pqs-device/pq-device/pq-device-com/src/main/java/com/njcn/device/line/mapper/mapping/LineMapper.xml b/pqs-device/pq-device/pq-device-com/src/main/java/com/njcn/device/line/mapper/mapping/LineMapper.xml index 5ea5d9718..5ff42656f 100644 --- a/pqs-device/pq-device/pq-device-com/src/main/java/com/njcn/device/line/mapper/mapping/LineMapper.xml +++ b/pqs-device/pq-device/pq-device-com/src/main/java/com/njcn/device/line/mapper/mapping/LineMapper.xml @@ -210,7 +210,10 @@