From 95544f1dc61da0d36746755282ae3777b2c844f7 Mon Sep 17 00:00:00 2001 From: caozehui <2427765068@qq.com> Date: Wed, 8 Jul 2026 08:34:11 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A1=A5=E5=85=85=E4=B8=89=E7=9B=B8=E5=8A=9F?= =?UTF-8?q?=E7=8E=87=E5=9B=A0=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../handler/SocketDevResponseService.java | 17 +++-- .../service/impl/DetectionServiceImpl.java | 11 +++- .../service/impl/PreDetectionServiceImpl.java | 5 +- .../result/pojo/enums/ResultUnitEnum.java | 1 + .../service/impl/ResultServiceImpl.java | 63 ++++++++++++------- .../gather/script/pojo/po/SourceIssue.java | 4 +- .../service/impl/PqScriptDtlsServiceImpl.java | 24 ++++++- 7 files changed, 84 insertions(+), 41 deletions(-) diff --git a/detection/src/main/java/com/njcn/gather/detection/handler/SocketDevResponseService.java b/detection/src/main/java/com/njcn/gather/detection/handler/SocketDevResponseService.java index d93969f3..78bbfffc 100644 --- a/detection/src/main/java/com/njcn/gather/detection/handler/SocketDevResponseService.java +++ b/detection/src/main/java/com/njcn/gather/detection/handler/SocketDevResponseService.java @@ -958,16 +958,15 @@ public class SocketDevResponseService { //告诉前端当前项开始了 WebSocketVO webSocketVO = new WebSocketVO<>(); - String type = sourceIssues.get(0).getType(); - if (ResultUnitEnum.P.getCode().equals(type)) { + if (StrUtil.isNotBlank(sourceIssues.get(0).getOtherType())) { sourceIssues.get(0).setType(ResultUnitEnum.V_ABSOLUTELY.getCode()); - webSocketVO.setRequestId(ResultUnitEnum.P.getCode() + CnSocketUtil.START_TAG); + webSocketVO.setRequestId(sourceIssues.get(0).getOtherType() + CnSocketUtil.START_TAG); } else { webSocketVO.setRequestId(sourceIssues.get(0).getType() + CnSocketUtil.START_TAG); } FormalTestManager.currentIssue = sourceIssues.get(0); socketMsg.setData(JSON.toJSONString(sourceIssues.get(0))); - socketMsg.setRequestId(SourceOperateCodeEnum.FORMAL_REAL.getValue() + CnSocketUtil.STEP_TAG + type); + socketMsg.setRequestId(SourceOperateCodeEnum.FORMAL_REAL.getValue() + CnSocketUtil.STEP_TAG + sourceIssues.get(0).getOtherType()); socketMsg.setOperateCode(SourceOperateCodeEnum.OPER_GATHER.getValue()); SocketManager.sendMsg(param.getUserPageId() + CnSocketUtil.SOURCE_TAG, JSON.toJSONString(socketMsg)); @@ -1316,9 +1315,9 @@ public class SocketDevResponseService { //小项检测完后小项数减一,并更新map long residueCount = 0; - if (sourceIssue.getIsP()) { - residueCount = SocketManager.getSourceTarget(ResultUnitEnum.P.getCode()) - 1; - SocketManager.addTargetMap(ResultUnitEnum.P.getCode(), residueCount); + if (StrUtil.isNotBlank(sourceIssue.getOtherType())) { + residueCount = SocketManager.getSourceTarget(sourceIssue.getOtherType()) - 1; + SocketManager.addTargetMap(sourceIssue.getOtherType(), residueCount); } else { residueCount = SocketManager.getSourceTarget(sourceIssue.getType()) - 1; SocketManager.addTargetMap(sourceIssue.getType(), residueCount); @@ -1367,9 +1366,9 @@ public class SocketDevResponseService { WebServiceManager.sendDetectionMessage(param.getUserPageId(), sourceIssues.getType() + CnSocketUtil.START_TAG, null, new ArrayList<>(), null); } String type = sourceIssues.getType(); - if (sourceIssues.getIsP()) { + if (StrUtil.isNotBlank(sourceIssues.getOtherType())) { sourceIssues.setType(ResultUnitEnum.V_ABSOLUTELY.getCode()); - type = ResultUnitEnum.P.getCode(); + type = sourceIssues.getOtherType(); } //控源下发下一个小项脚本 diff --git a/detection/src/main/java/com/njcn/gather/detection/service/impl/DetectionServiceImpl.java b/detection/src/main/java/com/njcn/gather/detection/service/impl/DetectionServiceImpl.java index e8911227..fa6c4da2 100644 --- a/detection/src/main/java/com/njcn/gather/detection/service/impl/DetectionServiceImpl.java +++ b/detection/src/main/java/com/njcn/gather/detection/service/impl/DetectionServiceImpl.java @@ -5,6 +5,7 @@ import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.NumberUtil; import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSON; import com.github.yulichang.wrapper.MPJLambdaWrapper; import com.njcn.gather.detection.pojo.enums.DetectionCodeEnum; @@ -163,9 +164,10 @@ public class DetectionServiceImpl { SysTestConfig oneConfig = sysTestConfigService.getOneConfig(); List errDtlsCheckData = pqErrSysDtlsService.listByPqErrSysIdAndTypes(param); ResultUnitEnum resultUnitEnumByCode = ResultUnitEnum.getResultUnitEnumByCode(sourceIssue.getType()); - if (sourceIssue.getIsP()) { - resultUnitEnumByCode = ResultUnitEnum.P; + if (StrUtil.isNotBlank(sourceIssue.getOtherType())) { + resultUnitEnumByCode = ResultUnitEnum.getResultUnitEnumByCode(sourceIssue.getOtherType()); } + switch (resultUnitEnumByCode) { /** * 频率 @@ -174,6 +176,8 @@ public class DetectionServiceImpl { return isQualified(dev, devIdMapComm, errDtlsCheckData, F, sourceIssue, dataRule, code, oneConfig.getScale()); case P: return isQualified(dev, devIdMapComm, errDtlsCheckData, P, sourceIssue, dataRule, code, oneConfig.getScale()); + case ANGLE: + return isQualified(dev, devIdMapComm, errDtlsCheckData, resultUnitEnumByCode.getCode(), sourceIssue, dataRule, code, oneConfig.getScale()); /** * 电压 */ @@ -443,6 +447,9 @@ public class DetectionServiceImpl { dtlsCheckData.stream().forEach(x -> x.setValue(x.getValue() * finalFData)); } } +// if (ResultUnitEnum.ANGLE.getCode().equals(type)) { +// fData = null; +// } SimAndDigNonHarmonicResult result = new SimAndDigNonHarmonicResult(); String[] split = dev.get(0).getId().split("_"); String devID = devIdMapComm.get(split[0]); diff --git a/detection/src/main/java/com/njcn/gather/detection/service/impl/PreDetectionServiceImpl.java b/detection/src/main/java/com/njcn/gather/detection/service/impl/PreDetectionServiceImpl.java index 10c02d9a..b64d28cf 100644 --- a/detection/src/main/java/com/njcn/gather/detection/service/impl/PreDetectionServiceImpl.java +++ b/detection/src/main/java/com/njcn/gather/detection/service/impl/PreDetectionServiceImpl.java @@ -3,6 +3,7 @@ package com.njcn.gather.detection.service.impl; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.njcn.common.pojo.exception.BusinessException; @@ -310,9 +311,9 @@ public class PreDetectionServiceImpl implements PreDetectionService { SourceIssue sourceIssue = sourceIssues.get(0); String type = sourceIssue.getType(); - if (sourceIssue.getIsP()) { + if (StrUtil.isNotBlank(sourceIssue.getOtherType())) { sourceIssue.setType(ResultUnitEnum.V_ABSOLUTELY.getCode()); - type = ResultUnitEnum.P.getCode(); + type = sourceIssue.getOtherType(); } List comm = sourceIssue.getDevValueTypeList(); diff --git a/detection/src/main/java/com/njcn/gather/result/pojo/enums/ResultUnitEnum.java b/detection/src/main/java/com/njcn/gather/result/pojo/enums/ResultUnitEnum.java index a107cd53..0f9097c9 100644 --- a/detection/src/main/java/com/njcn/gather/result/pojo/enums/ResultUnitEnum.java +++ b/detection/src/main/java/com/njcn/gather/result/pojo/enums/ResultUnitEnum.java @@ -26,6 +26,7 @@ public enum ResultUnitEnum { IMBA("%", "电流不平衡度","IMBA"), F("","闪变","F"), P("W", "功率","P"), + ANGLE("°", "相角","Angle"), UNKNOWN("","未知","UNKNOWN"), ; diff --git a/detection/src/main/java/com/njcn/gather/result/service/impl/ResultServiceImpl.java b/detection/src/main/java/com/njcn/gather/result/service/impl/ResultServiceImpl.java index 2a2364aa..56ce67f6 100644 --- a/detection/src/main/java/com/njcn/gather/result/service/impl/ResultServiceImpl.java +++ b/detection/src/main/java/com/njcn/gather/result/service/impl/ResultServiceImpl.java @@ -539,6 +539,15 @@ public class ResultServiceImpl implements IResultService { private void ratedScriptTypeName(List scriptDtlIndexList, Boolean isValueType, TreeDataVO dtlType, DictTree dictTree) { ResultUnitEnum resultUnitEnumByCode = ResultUnitEnum.getResultUnitEnumByCode(dictTree.getCode()); + String unitV; + String unitI; + if (isValueType) { + unitV = ResultUnitEnum.V_RELATIVE.getUnit(); + unitI = ResultUnitEnum.I_RELATIVE.getUnit(); + } else { + unitV = ResultUnitEnum.V_ABSOLUTELY.getUnit(); + unitI = ResultUnitEnum.I_ABSOLUTELY.getUnit(); + } switch (resultUnitEnumByCode) { /** * 频率 @@ -548,15 +557,6 @@ public class ResultServiceImpl implements IResultService { dtlType.setScriptTypeName(dictTree.getName() + "=" + f.get(0).getValue() + ResultUnitEnum.FREQ.getUnit()); break; case P: { - String unitV; - String unitI; - if (isValueType) { - unitV = ResultUnitEnum.V_RELATIVE.getUnit(); - unitI = ResultUnitEnum.I_RELATIVE.getUnit(); - } else { - unitV = ResultUnitEnum.V_ABSOLUTELY.getUnit(); - unitI = ResultUnitEnum.I_ABSOLUTELY.getUnit(); - } List v = scriptDtlIndexList.stream().filter(x -> "VOL".equals(x.getValueType())).collect(Collectors.toList()); List i = scriptDtlIndexList.stream().filter(x -> "CUR".equals(x.getValueType())).collect(Collectors.toList()); List aDtl1 = scriptDtlIndexList.stream().filter(x -> "A".equals(x.getPhase()) && "VOL".equals(x.getValueType())).collect(Collectors.toList()); @@ -575,26 +575,14 @@ public class ResultServiceImpl implements IResultService { */ case V_RELATIVE: case V_ABSOLUTELY: - String unit; - if (isValueType) { - unit = ResultUnitEnum.V_RELATIVE.getUnit(); - } else { - unit = ResultUnitEnum.V_ABSOLUTELY.getUnit(); - } List v = scriptDtlIndexList.stream().filter(x -> "VOL".equals(x.getValueType())).collect(Collectors.toList()); - dtlType.setScriptTypeName(dictTree.getName() + "=" + v.get(0).getValue() + unit); + dtlType.setScriptTypeName(dictTree.getName() + "=" + v.get(0).getValue() + unitV); break; /** * 电流 */ case I_RELATIVE: case I_ABSOLUTELY: - String unitI; - if (isValueType) { - unitI = ResultUnitEnum.I_RELATIVE.getUnit(); - } else { - unitI = ResultUnitEnum.I_ABSOLUTELY.getUnit(); - } List I = scriptDtlIndexList.stream().filter(x -> "CUR".equals(x.getValueType())).collect(Collectors.toList()); dtlType.setScriptTypeName(dictTree.getName() + "=" + I.get(0).getValue() + unitI); break; @@ -748,7 +736,36 @@ public class ResultServiceImpl implements IResultService { */ case VOLTAGE_MAG: case VOLTAGE_DUR: - break; + case ANGLE: { + List aDtlV = scriptDtlIndexList.stream().filter(x -> "A".equals(x.getPhase()) && "VOL".equals(x.getValueType())).collect(Collectors.toList()); + List aDtlI = scriptDtlIndexList.stream().filter(x -> "A".equals(x.getPhase()) && "CUR".equals(x.getValueType())).collect(Collectors.toList()); + List bDtlV = scriptDtlIndexList.stream().filter(x -> "B".equals(x.getPhase()) && "VOL".equals(x.getValueType())).collect(Collectors.toList()); + List bDtlI = scriptDtlIndexList.stream().filter(x -> "B".equals(x.getPhase()) && "CUR".equals(x.getValueType())).collect(Collectors.toList()); + List cDtlV = scriptDtlIndexList.stream().filter(x -> "C".equals(x.getPhase()) && "VOL".equals(x.getValueType())).collect(Collectors.toList()); + List cDtlI = scriptDtlIndexList.stream().filter(x -> "C".equals(x.getPhase()) && "CUR".equals(x.getValueType())).collect(Collectors.toList()); + + StringBuilder scriptTypeName = new StringBuilder(); + if (CollUtil.isNotEmpty(aDtlV)) { + scriptTypeName.append("A相:电压相角=" + aDtlV.get(0).getAngle() + ResultUnitEnum.ANGLE.getUnit()); + } + if (CollUtil.isNotEmpty(aDtlI)) { + scriptTypeName.append(",电流相角=" + aDtlI.get(0).getAngle() + ResultUnitEnum.ANGLE.getUnit()); + } + if (CollUtil.isNotEmpty(bDtlV)) { + scriptTypeName.append(";B相:电压相角=" + bDtlV.get(0).getAngle() + ResultUnitEnum.ANGLE.getUnit()); + } + if (CollUtil.isNotEmpty(bDtlI)) { + scriptTypeName.append(",电流相角=" + bDtlI.get(0).getAngle() + ResultUnitEnum.ANGLE.getUnit()); + } + if (CollUtil.isNotEmpty(cDtlV)) { + scriptTypeName.append(";C相:电压相角=" + cDtlV.get(0).getAngle() + ResultUnitEnum.ANGLE.getUnit()); + } + if (CollUtil.isNotEmpty(cDtlI)) { + scriptTypeName.append(",电流相角=" + cDtlI.get(0).getAngle() + ResultUnitEnum.ANGLE.getUnit()); + } + dtlType.setScriptTypeName(scriptTypeName.toString()); + } + break; default: break; } diff --git a/detection/src/main/java/com/njcn/gather/script/pojo/po/SourceIssue.java b/detection/src/main/java/com/njcn/gather/script/pojo/po/SourceIssue.java index 39c86140..727edd3e 100644 --- a/detection/src/main/java/com/njcn/gather/script/pojo/po/SourceIssue.java +++ b/detection/src/main/java/com/njcn/gather/script/pojo/po/SourceIssue.java @@ -65,10 +65,10 @@ public class SourceIssue { private String type; /** - * 是否是功率 + * 是否按电压执行 */ @JSONField(serialize = false) - private Boolean isP; + private String otherType; /** * 多量响量 diff --git a/detection/src/main/java/com/njcn/gather/script/service/impl/PqScriptDtlsServiceImpl.java b/detection/src/main/java/com/njcn/gather/script/service/impl/PqScriptDtlsServiceImpl.java index b3174abd..ac5bc218 100644 --- a/detection/src/main/java/com/njcn/gather/script/service/impl/PqScriptDtlsServiceImpl.java +++ b/detection/src/main/java/com/njcn/gather/script/service/impl/PqScriptDtlsServiceImpl.java @@ -247,10 +247,10 @@ public class PqScriptDtlsServiceImpl extends ServiceImpl x.getChannelType().contains("U")).collect(Collectors.toList()); @@ -587,6 +588,23 @@ public class PqScriptDtlsServiceImpl extends ServiceImpl x.getChannelType().contains("I")).collect(Collectors.toList()); + for (PqScriptDtlsParam.ChannelListDTO listDTO : channelI) { + if (listDTO.getChannelFlag()) { + checkData = new PqScriptDtlsParam.CheckData(); + checkData.setErrorFlag(channelListDTO.getErrorFlag()); + checkData.setEnable(channelListDTO.getEnable()); + checkData.setValue(listDTO.getFPhase()); + checkData.setValueType(channelListDTO.getValueType()); + checkData.setPid(channelListDTO.getPid()); + setCheckValue(checkArchive, checkData, listDTO); + info.add(checkData); + } + } + } + break; case IA: if (CollUtil.isNotEmpty(channelList)) { channelI = channelList.stream().filter(x -> x.getChannelType().contains("I")).collect(Collectors.toList());