From 5dafcad3fa40e0b74ee3da871493cc7418582c89 Mon Sep 17 00:00:00 2001 From: wr <1754607820@qq.com> Date: Fri, 20 Dec 2024 08:55:46 +0800 Subject: [PATCH] =?UTF-8?q?1.=E5=BE=AE=E8=B0=83=E5=AE=9E=E4=BD=93=E4=BF=A1?= =?UTF-8?q?=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../handler/SocketDevResponseService.java | 89 +++++++------------ .../pojo/param/PreDetectionParam.java | 2 +- .../service/impl/PreDetectionServiceImpl.java | 16 ++-- .../socket/cilent/NettyDevClientHandler.java | 1 - .../gather/device/device/pojo/po/PqDev.java | 4 +- .../script/controller/PqScriptController.java | 2 +- .../device/script/pojo/po/PqScriptDtls.java | 12 +-- .../service/impl/PqScriptDtlsServiceImpl.java | 32 +++---- 8 files changed, 63 insertions(+), 95 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 f6b1d8ec..e843a8d4 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 @@ -41,10 +41,6 @@ public class SocketDevResponseService { private final IPqScriptDtlsService scriptDtlsService; private final IPqScriptDtlsService pqScriptDtlsService; - /** - * 所有装置通道信息 - */ - List moniterIdList = new ArrayList<>(); /** * 存储的装置相序数据 */ @@ -53,24 +49,20 @@ public class SocketDevResponseService { * 成功结束的装置 */ List success = new ArrayList<>(); - /** - * 装置名称 - */ - Map devNameMap = new HashMap<>(); - /** * 所有装置通道信息 */ - List moniterIdListComm = new ArrayList<>(); - /** - * 成功结束的装置 - */ - List successComm = new ArrayList<>(); + List monitorIdListComm = new ArrayList<>(); + /** * 装置名称 */ Map devNameMapComm = new HashMap<>(); + /** + * 成功结束的装置 + */ + List successComm = new ArrayList<>(); /** @@ -78,10 +70,7 @@ public class SocketDevResponseService { */ List successXieyi = new ArrayList<>(); List successXieyi3 = new ArrayList<>(); - /** - * 装置名称 - */ - Map devNameMapXieyi = new HashMap<>(); + public void deal(PreDetectionParam param, String msg) { SocketDataMsg socketDataMsg = MsgUtil.socketDataMsg(msg); @@ -100,7 +89,7 @@ public class SocketDevResponseService { switch (dictDataEnumByCode) { case SUCCESS: //通讯校验成功 - switch (operateCodeEnum){ + switch (operateCodeEnum) { case QUIT_INIT_01: break; case QUIT_INIT_02: @@ -153,8 +142,8 @@ public class SocketDevResponseService { String mId = JSON.parseObject(msg).get("data").toString(); successComm.add(mId); - System.out.println(successComm.size() + "=====" + moniterIdListComm.size()); - if (successComm.size() == moniterIdListComm.size()) { + System.out.println(successComm.size() + "=====" + monitorIdListComm.size()); + if (successComm.size() == monitorIdListComm.size()) { //开始进行协议校验 List devList = iPqDevService.getDevInfo(param.getDevIds()); Map> map = new HashMap(1); @@ -184,7 +173,7 @@ public class SocketDevResponseService { break; case RE_OPERATE: //发起关闭操作 - quitSend(param,socketMsg); + quitSend(param, socketMsg); break; default: WebSocketVO webSocketVO = new WebSocketVO(); @@ -211,7 +200,7 @@ public class SocketDevResponseService { String type = jsonObject.get("operateCode").toString(); if (type.equals(SourceOperateCodeEnum.DEV_INIT_GATHER_02.getValue())) { successXieyi.add(mId); - if (successXieyi.size() == moniterIdListComm.size()) { + if (successXieyi.size() == monitorIdListComm.size()) { //协议3校验 successXieyi = new ArrayList<>(); @@ -230,21 +219,21 @@ public class SocketDevResponseService { } } else if (type.equals(SourceOperateCodeEnum.DEV_INIT_GATHER_03.getValue())) { successXieyi3.add(mId); - System.out.println(successXieyi3.size() + "=====" + moniterIdListComm.size()); - if (successXieyi3.size() == moniterIdListComm.size()) { + System.out.println(successXieyi3.size() + "=====" + monitorIdListComm.size()); + if (successXieyi3.size() == monitorIdListComm.size()) { System.out.println("开始相序校验++++++++++"); - PqScriptIssueParam issueParam=new PqScriptIssueParam(); + PqScriptIssueParam issueParam = new PqScriptIssueParam(); issueParam.setPlanId(param.getPlanId()); issueParam.setSourceId(param.getSourceId()); issueParam.setIsPhaseSequence(true); issueParam.setDevIds(param.getDevIds()); List sourceIssues = pqScriptDtlsService.listSourceIssue(issueParam); - if(CollUtil.isNotEmpty(sourceIssues)){ - SocketMsg xuMsg=new SocketMsg(); + if (CollUtil.isNotEmpty(sourceIssues)) { + SocketMsg xuMsg = new SocketMsg(); xuMsg.setRequestId(SourceOperateCodeEnum.YJC_XUJY.getValue()); xuMsg.setOperateCode(SourceOperateCodeEnum.OPER_GATHER.getValue()); xuMsg.setData(JSON.toJSONString(sourceIssues.get(0))); - SocketManager.sendMsg(param.getUserPageId()+"_Source",JSON.toJSONString(xuMsg)); + SocketManager.sendMsg(param.getUserPageId() + "_Source", JSON.toJSONString(xuMsg)); } } } @@ -255,7 +244,7 @@ public class SocketDevResponseService { break; case RE_OPERATE: //发起关闭操作 - quitSend(param,socketMsg); + quitSend(param, socketMsg); break; default: WebSocketVO webSocketVO = new WebSocketVO(); @@ -268,24 +257,15 @@ public class SocketDevResponseService { /** * 退出检测 */ - private void quitSend(PreDetectionParam param,SocketMsg socketMsg){ + private void quitSend(PreDetectionParam param, SocketMsg socketMsg) { socketMsg.setRequestId(SourceOperateCodeEnum.QUITE.getValue()); socketMsg.setOperateCode(SourceOperateCodeEnum.QUIT_INIT_03.getValue()); - SocketManager.sendMsg(param.getUserPageId()+handlerStr, JSON.toJSONString(socketMsg)); + SocketManager.sendMsg(param.getUserPageId() + handlerStr, JSON.toJSONString(socketMsg)); } public void devXu(PreDetectionParam param, SocketDataMsg socketDataMsg) { - if (CollUtil.isEmpty(moniterIdList)) { - List pqDevList = iPqDevService.getDevInfo(param.getDevIds()); - moniterIdList = pqDevList.stream().flatMap(x -> x.getMonitorList().stream()) - .map(PreDetection.MonitorListDTO::getLineId) - .collect(Collectors.toList()); - devNameMap = pqDevList.stream().collect(Collectors.toMap(PreDetection::getDevIP, PreDetection::getDevName)); -// moniterIdList.add("192.168.1.186_1"); - - } String data = socketDataMsg.getData(); DevData devData = JSON.parseObject(data, DevData.class); SourceResponseCodeEnum dictDataEnumByCode = SourceResponseCodeEnum.getDictDataEnumByCode(socketDataMsg.getCode()); @@ -295,7 +275,7 @@ public class SocketDevResponseService { case SUCCESS: devInfo.add(devData); success.add(devData.getId()); - if (success.size() == moniterIdList.size()) { + if (success.size() == monitorIdListComm.size()) { PqScriptIssueParam sourceParam = new PqScriptIssueParam(); sourceParam.setPlanId(param.getPlanId()); sourceParam.setDevIds(param.getDevIds()); @@ -308,16 +288,15 @@ public class SocketDevResponseService { info.addAll(devIsSource(dev, sourceIssues.get(0))); } } - xuClear(); String s = param.getUserPageId() + "_Source"; - SocketMsg msg= new SocketMsg(); + SocketMsg msg = new SocketMsg(); msg.setRequestId(SourceOperateCodeEnum.YJC_YTXJY.getValue()); msg.setOperateCode(SourceOperateCodeEnum.CLOSE_GATHER.getValue()); - Map map=new HashMap<>(1); - map.put("sourceId",sourceIssues.get(0).getSourceId()); + Map map = new HashMap<>(1); + map.put("sourceId", sourceIssues.get(0).getSourceId()); msg.setData(JSON.toJSONString(map)); SocketManager.sendMsg(s, JSON.toJSONString(msg)); - + //向前端推送消息 socketMsg.setRequestId(SourceOperateCodeEnum.YJC_XUJY.getValue()); socketMsg.setOperateCode(socketDataMsg.getOperateCode()); socketMsg.setData(JSON.toJSONString(info)); @@ -425,28 +404,24 @@ public class SocketDevResponseService { return compareDev; } - public void xuClear() { - this.moniterIdList.clear(); - this.devInfo.clear(); - this.success.clear(); - } /** * 初始化集合 */ public void initList(PreDetectionParam param) { - this.moniterIdListComm = new ArrayList<>(); + this.monitorIdListComm = new ArrayList<>(); this.successComm = new ArrayList<>(); - this.devNameMapComm = new HashMap<>(); - this.successXieyi = new ArrayList<>(); this.successXieyi3 = new ArrayList<>(); - this.devNameMapXieyi = new HashMap<>(); + this.devInfo = new ArrayList<>(); + this.success = new ArrayList<>(); + List pqDevList = iPqDevService.getDevInfo(param.getDevIds()); - this.moniterIdListComm = pqDevList.stream().flatMap(x -> x.getMonitorList().stream()) + this.monitorIdListComm = pqDevList.stream().flatMap(x -> x.getMonitorList().stream()) .map(PreDetection.MonitorListDTO::getLineId) .collect(Collectors.toList()); + this.devNameMapComm = pqDevList.stream().collect(Collectors.toMap(PreDetection::getDevIP, PreDetection::getDevName)); } diff --git a/detection/src/main/java/com/njcn/gather/detection/pojo/param/PreDetectionParam.java b/detection/src/main/java/com/njcn/gather/detection/pojo/param/PreDetectionParam.java index 7a0552f5..8f31dc30 100644 --- a/detection/src/main/java/com/njcn/gather/detection/pojo/param/PreDetectionParam.java +++ b/detection/src/main/java/com/njcn/gather/detection/pojo/param/PreDetectionParam.java @@ -33,7 +33,7 @@ public class PreDetectionParam { private String scriptId; /** - * 检测脚本Id + * 源id */ private String sourceId; } 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 08c047df..a33f17d4 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 @@ -87,6 +87,7 @@ public class PreDetectionServiceImpl implements PreDetectionService { } + private void sendYtxSocket(PreDetectionParam param) { AdPlanSource planSource = adPlanSourceService.getOne(new LambdaQueryWrapper() .eq(AdPlanSource::getPlanId, param.getPlanId()) @@ -95,20 +96,13 @@ public class PreDetectionServiceImpl implements PreDetectionService { SourceInitialize sourceParam = pqSourceService.getSourceInitializeParam(planSource.getSourceId()); if (ObjectUtil.isNotNull(sourceParam)) { //开始组装socket报文请求头 - SocketMsg msg ; - String s = param.getUserPageId() + "_Source"; - //PQC600A_192.168.1.133_6806 - Channel channel = SocketManager.getChannelByUserId(s); - socketDevResponseService.xuClear(); socketDevResponseService.initList(param); - - msg= new SocketMsg(); + SocketMsg msg = new SocketMsg(); msg.setRequestId(SourceOperateCodeEnum.YJC_YTXJY.getValue()); msg.setOperateCode(SourceOperateCodeEnum.INIT_GATHER.getValue()); msg.setData(JSON.toJSONString(sourceParam)); - NettyClient.socketClient(ip, port, param.getUserPageId(), JSON.toJSONString(msg),new NettySourceClientHandler(param, sourceResponseService)); - - + param.setSourceId(sourceParam.getSourceId()); + NettyClient.socketClient(ip, port, param.getUserPageId(), JSON.toJSONString(msg), new NettySourceClientHandler(param, sourceResponseService)); } else { throw new BusinessException(DetectionResponseEnum.SOURCE_INFO_NOT); } @@ -129,7 +123,7 @@ public class PreDetectionServiceImpl implements PreDetectionService { String ddId = param.getUserPageId() + "_Source"; Channel channel = SocketManager.getChannelByUserId(ddId); if (channel == null || !channel.isActive()) { - NettyClient.socketClient(ip, port, param.getUserPageId(),"start\n", new NettySourceClientHandler(param, sourceResponseService)); + NettyClient.socketClient(ip, port, param.getUserPageId(), "start\n", new NettySourceClientHandler(param, sourceResponseService)); } } diff --git a/detection/src/main/java/com/njcn/gather/detection/util/socket/cilent/NettyDevClientHandler.java b/detection/src/main/java/com/njcn/gather/detection/util/socket/cilent/NettyDevClientHandler.java index 84a25ee6..8d6c996c 100644 --- a/detection/src/main/java/com/njcn/gather/detection/util/socket/cilent/NettyDevClientHandler.java +++ b/detection/src/main/java/com/njcn/gather/detection/util/socket/cilent/NettyDevClientHandler.java @@ -92,7 +92,6 @@ public class NettyDevClientHandler extends SimpleChannelInboundHandler { @Override public void exceptionCaught(ChannelHandlerContext ctx, Throwable cause) { - socketResponseService.xuClear(); // 处理异常,例如记录日志、关闭连接等 cause.printStackTrace(); // 根据异常类型进行不同的处理 diff --git a/device/src/main/java/com/njcn/gather/device/device/pojo/po/PqDev.java b/device/src/main/java/com/njcn/gather/device/device/pojo/po/PqDev.java index cf969fe9..0bbafdeb 100644 --- a/device/src/main/java/com/njcn/gather/device/device/pojo/po/PqDev.java +++ b/device/src/main/java/com/njcn/gather/device/device/pojo/po/PqDev.java @@ -53,12 +53,12 @@ public class PqDev extends BaseEntity implements Serializable { /** * 额定电压(V) */ - private Float devVolt; + private Double devVolt; /** * 额定电流(A) */ - private Float devCurr; + private Double devCurr; /** * 设备厂家,字典表 diff --git a/device/src/main/java/com/njcn/gather/device/script/controller/PqScriptController.java b/device/src/main/java/com/njcn/gather/device/script/controller/PqScriptController.java index ad7474d7..f9cd8d72 100644 --- a/device/src/main/java/com/njcn/gather/device/script/controller/PqScriptController.java +++ b/device/src/main/java/com/njcn/gather/device/script/controller/PqScriptController.java @@ -151,7 +151,7 @@ public class PqScriptController extends BaseController { String jsonString = JSON.toJSONString(sourceIssue,SerializerFeature.WriteNullStringAsEmpty); System.out.println(); } - String jsonString = JSON.toJSONString(sourceIssues, SerializerFeature.WriteMapNullValue); + String jsonString =sourceIssues.get(0).toString(); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, sourceIssues, methodDescribe); } } diff --git a/device/src/main/java/com/njcn/gather/device/script/pojo/po/PqScriptDtls.java b/device/src/main/java/com/njcn/gather/device/script/pojo/po/PqScriptDtls.java index a039cf13..994f5f98 100644 --- a/device/src/main/java/com/njcn/gather/device/script/pojo/po/PqScriptDtls.java +++ b/device/src/main/java/com/njcn/gather/device/script/pojo/po/PqScriptDtls.java @@ -49,12 +49,12 @@ public class PqScriptDtls implements Serializable { /** * 值 */ - private Float value; + private Double value; /** * 相角 */ - private Float angle; + private Double angle; /** * (间)谐波次数 @@ -66,25 +66,25 @@ public class PqScriptDtls implements Serializable { * 暂态幅度(%) */ @TableField("TransValue") - private Float transValue; + private Double transValue; /** * 持续时间(周波) */ @TableField("RetainTime") - private Float retainTime; + private Double retainTime; /** * 变动频度(次/min) */ @TableField("ChagFre") - private Float chagFre; + private Double chagFre; /** * 变动量(%) */ @TableField("ChagValue") - private Float chagValue; + private Double chagValue; /** * 状态:0-不启用 1-启用 diff --git a/device/src/main/java/com/njcn/gather/device/script/service/impl/PqScriptDtlsServiceImpl.java b/device/src/main/java/com/njcn/gather/device/script/service/impl/PqScriptDtlsServiceImpl.java index aefa6b3b..292e9f50 100644 --- a/device/src/main/java/com/njcn/gather/device/script/service/impl/PqScriptDtlsServiceImpl.java +++ b/device/src/main/java/com/njcn/gather/device/script/service/impl/PqScriptDtlsServiceImpl.java @@ -43,19 +43,19 @@ public class PqScriptDtlsServiceImpl extends ServiceImpl voltSet = list.stream().map(PqDev::getDevVolt).collect(Collectors.toSet()); + Set voltSet = list.stream().map(PqDev::getDevVolt).collect(Collectors.toSet()); //额定电流信息 - Set currSet = list.stream().map(PqDev::getDevCurr).collect(Collectors.toSet()); + Set currSet = list.stream().map(PqDev::getDevCurr).collect(Collectors.toSet()); if (voltSet.size() == 1 && currSet.size() == 1) { - Float volt = voltSet.stream().collect(Collectors.toList()).stream().findFirst().get(); - Float curr = currSet.stream().collect(Collectors.toList()).stream().findFirst().get(); + Double volt = voltSet.stream().collect(Collectors.toList()).stream().findFirst().get(); + Double curr = currSet.stream().collect(Collectors.toList()).stream().findFirst().get(); List pqScriptDtls = this.pqScriptDtls(param.getScriptId(),param.getIsPhaseSequence(), volt, curr); if (CollUtil.isNotEmpty(pqScriptDtls)) { /** @@ -182,7 +182,7 @@ public class PqScriptDtlsServiceImpl extends ServiceImpl pqScriptDtls(String scriptId,Boolean isPhaseSequence,Float volt, Float curr) { + private List pqScriptDtls(String scriptId,Boolean isPhaseSequence,Double volt, Double curr) { List pqScriptDtls; if(isPhaseSequence){ pqScriptDtls = this.list(new MPJLambdaWrapper() @@ -226,7 +226,7 @@ public class PqScriptDtlsServiceImpl extends ServiceImpl dtlsOtherList, String harm, String inHarm, - Float fFreq, + Double fFreq, String code, List channelListDTOS) { for (PqScriptDtls dtls : dtlsList) { @@ -243,8 +243,8 @@ public class PqScriptDtlsServiceImpl extends ServiceImpl()); //暂态数据 SourceIssue.ChannelListDTO.DipDataDTO dipDataDTO = new SourceIssue.ChannelListDTO.DipDataDTO(); - dipDataDTO.setFTransValue(0.0f); - dipDataDTO.setFRetainTime(0.0f); + dipDataDTO.setFTransValue(0.0); + dipDataDTO.setFRetainTime(0.0); dipDataDTO.setFPreTime(fPreTime); dipDataDTO.setFRampIn(fRampIn); @@ -259,8 +259,8 @@ public class PqScriptDtlsServiceImpl extends ServiceImpl