From a658d6e81a2db46c8259256515f71f44b40e1797 Mon Sep 17 00:00:00 2001 From: caozehui <2427765068@qq.com> Date: Thu, 16 Apr 2026 15:02:53 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=91=E5=89=8D=E7=AB=AF=E6=8E=A8=E9=80=81?= =?UTF-8?q?=E6=9A=82=E9=99=8D=E7=82=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../SocketFreqConverterDevService.java | 7 ++++--- .../handler/SocketFreqConverterService.java | 20 ++++++++++++++++--- .../util/socket/FormalTestManager.java | 10 +++++----- 3 files changed, 26 insertions(+), 11 deletions(-) diff --git a/detection/src/main/java/com/njcn/gather/detection/handler/SocketFreqConverterDevService.java b/detection/src/main/java/com/njcn/gather/detection/handler/SocketFreqConverterDevService.java index 316fc35d..c2ee530e 100644 --- a/detection/src/main/java/com/njcn/gather/detection/handler/SocketFreqConverterDevService.java +++ b/detection/src/main/java/com/njcn/gather/detection/handler/SocketFreqConverterDevService.java @@ -54,6 +54,8 @@ public class SocketFreqConverterDevService { private String monitorId; private String userId; + public static final String DIP_DATA_SUFFIX = "&&VOLTAGE"; + /** * 连接设备Socket * @@ -224,7 +226,7 @@ public class SocketFreqConverterDevService { private void sendGetDipDataMsg(String devTag) { SocketMsg socketMsg = new SocketMsg<>(); - socketMsg.setRequestId(SourceOperateCodeEnum.FORMAL_REAL.getValue() + "&&VOLTAGE"); + socketMsg.setRequestId(SourceOperateCodeEnum.FORMAL_REAL.getValue() + DIP_DATA_SUFFIX); socketMsg.setOperateCode(SourceOperateCodeEnum.OPER_GATHER.getValue()); DevPhaseSequenceParam phaseSequenceParam = new DevPhaseSequenceParam(); @@ -309,8 +311,7 @@ public class SocketFreqConverterDevService { testRes.setStartTime(lastStatusData.getTimestamp()); FormalTestManager.pendingDipTaskMap.put(pqDipData.getId(), new FormalTestManager.PendingDipTask( - pqDipData.getId(), - pqDipData.getStartTime(), + pqDipData, targetEndTime, originalTolerant )); diff --git a/detection/src/main/java/com/njcn/gather/detection/handler/SocketFreqConverterService.java b/detection/src/main/java/com/njcn/gather/detection/handler/SocketFreqConverterService.java index d3042912..3daa2b9a 100644 --- a/detection/src/main/java/com/njcn/gather/detection/handler/SocketFreqConverterService.java +++ b/detection/src/main/java/com/njcn/gather/detection/handler/SocketFreqConverterService.java @@ -7,16 +7,19 @@ import cn.hutool.json.JSONUtil; import com.alibaba.fastjson.JSON; import com.njcn.gather.detection.pojo.dto.FreqConverterRespDTO; import com.njcn.gather.detection.pojo.enums.SourceOperateCodeEnum; +import com.njcn.gather.detection.pojo.vo.SocketDataMsg; import com.njcn.gather.detection.pojo.vo.SocketMsg; import com.njcn.gather.detection.util.socket.FormalTestManager; import com.njcn.gather.detection.util.socket.SocketManager; import com.njcn.gather.detection.util.socket.cilent.NettyClient; import com.njcn.gather.detection.util.socket.cilent.NettyFreqConverterClientHandler; import com.njcn.gather.detection.util.socket.config.SocketConnectionConfig; +import com.njcn.gather.detection.util.socket.websocket.WebServiceManager; import com.njcn.gather.freqConverter.config.FreqConverterConfig; import com.njcn.gather.freqConverter.pojo.po.FreqConverterStatus; import com.njcn.gather.freqConverter.pojo.po.PqFreqConverterConfig; import com.njcn.gather.freqConverter.pojo.po.PqFreqConverterTestRes; +import com.njcn.gather.freqConverter.pojo.vo.TolerantPointVO; import com.njcn.gather.freqConverter.service.IFreqConverterService; import com.njcn.gather.freqConverter.service.IPqFreqConverterConfigService; import com.njcn.gather.freqConverter.service.IPqFreqConverterTestResService; @@ -257,9 +260,9 @@ public class SocketFreqConverterService { List finishedDipIdList = new ArrayList<>(); List testResList = new ArrayList<>(); for (FormalTestManager.PendingDipTask task : FormalTestManager.pendingDipTaskMap.values()) { - PqFreqConverterTestRes testRes = pqFreqConverterTestResService.getByDipId(suffix, task.getDipId()); + PqFreqConverterTestRes testRes = pqFreqConverterTestResService.getByDipId(suffix, task.getPqDipData().getId()); if (Objects.isNull(testRes)) { - finishedDipIdList.add(task.getDipId()); + finishedDipIdList.add(task.getPqDipData().getId()); continue; } @@ -270,9 +273,20 @@ public class SocketFreqConverterService { testResList.add(testRes); if (freqConverterStatus.getTimestamp().isAfter(task.getTargetEndTime())) { - finishedDipIdList.add(task.getDipId()); + finishedDipIdList.add(task.getPqDipData().getId()); + + SocketDataMsg socketDataMsg = new SocketDataMsg(); + socketDataMsg.setRequestId(SourceOperateCodeEnum.FORMAL_REAL + SocketFreqConverterDevService.DIP_DATA_SUFFIX); + + TolerantPointVO tolerantPointVO = new TolerantPointVO(); + tolerantPointVO.setResidualVoltage(task.getPqDipData().getResidualVoltage()); + tolerantPointVO.setDurationMs(task.getPqDipData().getDurationMs()); + tolerantPointVO.setTolerant(testRes.getTolerant()); + socketDataMsg.setData(JSON.toJSONString(tolerantPointVO)); + WebServiceManager.sendMsg(this.userId, JSON.toJSONString(socketDataMsg)); } } + pqFreqConverterTestResService.saveOrUpdateTestRes(suffix, testResList); for (String dipId : finishedDipIdList) { diff --git a/detection/src/main/java/com/njcn/gather/detection/util/socket/FormalTestManager.java b/detection/src/main/java/com/njcn/gather/detection/util/socket/FormalTestManager.java index 02c29518..8499a6de 100644 --- a/detection/src/main/java/com/njcn/gather/detection/util/socket/FormalTestManager.java +++ b/detection/src/main/java/com/njcn/gather/detection/util/socket/FormalTestManager.java @@ -7,6 +7,7 @@ import com.njcn.gather.detection.pojo.po.DevData; import com.njcn.gather.detection.pojo.vo.DevLineTestResult; import com.njcn.gather.device.pojo.enums.PatternEnum; import com.njcn.gather.device.pojo.vo.PreDetection; +import com.njcn.gather.dip.pojo.po.PqDipData; import com.njcn.gather.plan.pojo.enums.DataSourceEnum; import com.njcn.gather.plan.pojo.po.AdPlan; import com.njcn.gather.plan.pojo.po.AdPlanTestConfig; @@ -227,14 +228,13 @@ public class FormalTestManager { @Data public static class PendingDipTask { - private final String dipId; - private LocalDateTime startTime; + private PqDipData pqDipData; + private LocalDateTime targetEndTime; private Boolean originalTolerant; - public PendingDipTask(String dipId, LocalDateTime startTime, LocalDateTime targetEndTime, Boolean originalTolerant) { - this.dipId = dipId; - this.startTime = startTime; + public PendingDipTask(PqDipData pqDipData, LocalDateTime targetEndTime, Boolean originalTolerant) { + this.pqDipData = pqDipData; this.targetEndTime = targetEndTime; this.originalTolerant = originalTolerant; }