This commit is contained in:
2025-01-15 13:13:14 +08:00
parent c6d02d8724
commit ed3b91b2d8
4 changed files with 49 additions and 8 deletions

View File

@@ -834,7 +834,7 @@ public class SocketDevResponseService {
for (SourceCompareDev sourceCompareDev : info) { for (SourceCompareDev sourceCompareDev : info) {
String temStr = ""; String temStr = "未知指标";
if("VRMS".equals(sourceCompareDev.getDesc())){ if("VRMS".equals(sourceCompareDev.getDesc())){
temStr = "电压"; temStr = "电压";
}else if("IRMS".equals(sourceCompareDev.getDesc())){ }else if("IRMS".equals(sourceCompareDev.getDesc())){
@@ -901,7 +901,7 @@ public class SocketDevResponseService {
CnSocketUtil.quitSend(param); CnSocketUtil.quitSend(param);
break; break;
case DEV_TARGET: case DEV_TARGET:
webSocketHandler.sendMsgToUser(param.getUserPageId(), MsgUtil.msgToWebData(socketDataMsg, FormalTestManager.devNameMapComm, 0)); webSocketHandler.sendMsgToUser(param.getUserPageId(), MsgUtil.msgToWebData(socketDataMsg, FormalTestManager.devNameMapComm, 1));
CnSocketUtil.quitSend(param); CnSocketUtil.quitSend(param);
break; break;
case RE_OPERATE: case RE_OPERATE:
@@ -919,6 +919,7 @@ public class SocketDevResponseService {
} }
List<DevLineTestResult> allDevTestList = new ArrayList<>();
/** /**
* 正式检测 * 正式检测
*/ */
@@ -967,6 +968,7 @@ public class SocketDevResponseService {
devLineTestResult.setChnResult(resultFlagList.toArray(new Integer[monitorListDTOList.size()])); devLineTestResult.setChnResult(resultFlagList.toArray(new Integer[monitorListDTOList.size()]));
devListRes.add(devLineTestResult); devListRes.add(devLineTestResult);
}); });
allDevTestList.addAll(devListRes);
WebSocketVO<List<DevLineTestResult>> webSocketVO = new WebSocketVO<>(); WebSocketVO<List<DevLineTestResult>> webSocketVO = new WebSocketVO<>();
webSocketVO.setRequestId(socketDataMsg.getRequestId().split(stepTag)[1] + stepEnd); webSocketVO.setRequestId(socketDataMsg.getRequestId().split(stepTag)[1] + stepEnd);
@@ -984,8 +986,24 @@ public class SocketDevResponseService {
if (tem == 0) { if (tem == 0) {
System.out.println(sourceIssue.getType() + sourceIssue.getIndex() + "当前测试大项已经全部结束》》》》》》》》"); System.out.println(sourceIssue.getType() + sourceIssue.getIndex() + "当前测试大项已经全部结束》》》》》》》》");
//当val为0则认为大项中的小项已经全部跑完开始组装信息推送给前端 //当val为0则认为大项中的小项已经全部跑完开始组装信息推送给前端
List<DevLineTestResult> resultList = new ArrayList<>(); Map<String,List<DevLineTestResult>> map = allDevTestList.stream().collect(Collectors.groupingBy(DevLineTestResult::getDeviceId));
map.forEach((dev,list)->{
DevLineTestResult devTem = new DevLineTestResult();
devTem.setDeviceId(dev);
devTem.setDeviceName(list.get(0).getDeviceName());
Integer[] arr = list.get(0).getChnResult();
for(int i =0;i<arr.length;i++){
List<Integer[]> arrList = list.stream().map(DevLineTestResult::getChnResult).collect(Collectors.toList());
Integer[] resultArr = getMaxIntArray(arrList);
devTem.setChnResult(resultArr);
}
resultList.add(devTem);
});
webSocketVO = new WebSocketVO<>(); webSocketVO = new WebSocketVO<>();
webSocketVO.setRequestId(socketDataMsg.getRequestId().split(stepTag)[1] + stepEnd); webSocketVO.setRequestId(socketDataMsg.getRequestId().split(stepTag)[1] + stepEnd);
webSocketVO.setData(resultList);
webSocketVO.setDesc(null);
webSocketHandler.sendMsgToUser(param.getUserPageId(), JSON.toJSONString(webSocketVO)); webSocketHandler.sendMsgToUser(param.getUserPageId(), JSON.toJSONString(webSocketVO));
} }
@@ -1006,6 +1024,9 @@ public class SocketDevResponseService {
SourceIssue sourceIssues = SocketManager.getSourceList().get(0); SourceIssue sourceIssues = SocketManager.getSourceList().get(0);
if(tem == 0){ if(tem == 0){
webSocketVO.setRequestId(sourceIssues.getType()+ stepBegin); webSocketVO.setRequestId(sourceIssues.getType()+ stepBegin);
webSocketVO.setData(new ArrayList<>());
webSocketVO.setDesc(null);
webSocketHandler.sendMsgToUser(param.getUserPageId(), JSON.toJSONString(webSocketVO));
webSocketHandler.sendMsgToUser(param.getUserPageId(), JSON.toJSONString(webSocketVO)); webSocketHandler.sendMsgToUser(param.getUserPageId(), JSON.toJSONString(webSocketVO));
} }
@@ -1059,6 +1080,27 @@ public class SocketDevResponseService {
} }
public Integer[] getMaxIntArray(List<Integer[]> arrays) {
int length = arrays.get(0).length;
// 创建结果数组
Integer[] maxArray = new Integer[length];
// 遍历每个位置,寻找最大值
for (int i = 0; i < length; i++) {
int maxValue = Integer.MIN_VALUE;
for (Integer[] array : arrays) {
int value = array[i];
if (value > maxValue) {
maxValue = value;
}
}
maxArray[i] = maxValue;
}
return maxArray;
}
/** /**
* 退出检测返回 * 退出检测返回
*/ */

View File

@@ -326,10 +326,6 @@ public class SocketSourceResponseService {
//告诉前端当前项开始了 //告诉前端当前项开始了
WebSocketVO<List<DevLineTestResult>> webSocketVO = new WebSocketVO<>(); WebSocketVO<List<DevLineTestResult>> webSocketVO = new WebSocketVO<>();
webSocketVO.setRequestId(socketDataMsg.getRequestId().split(stepTag)[1]+stepBegin);
webSocketVO.setData(devListRes);
webSocketHandler.sendMsgToUser(param.getUserPageId(), JSON.toJSONString(webSocketVO));
webSocketVO.setRequestId(socketDataMsg.getRequestId().split(stepTag)[1]+stepBegin); webSocketVO.setRequestId(socketDataMsg.getRequestId().split(stepTag)[1]+stepBegin);
webSocketVO.setDesc(SocketManager.getSourceList().get(0).getDesc()); webSocketVO.setDesc(SocketManager.getSourceList().get(0).getDesc());
webSocketVO.setData(devListRes); webSocketVO.setData(devListRes);

View File

@@ -1,5 +1,6 @@
package com.njcn.gather.detection.util.socket; package com.njcn.gather.detection.util.socket;
import com.njcn.gather.detection.pojo.vo.DevLineTestResult;
import com.njcn.gather.device.device.pojo.vo.PreDetection; import com.njcn.gather.device.device.pojo.vo.PreDetection;
import java.util.ArrayList; import java.util.ArrayList;
@@ -33,6 +34,9 @@ public class FormalTestManager {
/** /**
* key:设备ip,value:装置名称 * key:设备ip,value:装置名称
*/ */

View File

@@ -89,6 +89,7 @@ public class NettyDevClientHandler extends SimpleChannelInboundHandler<String> {
System.out.println("设备通讯客户端断线"); System.out.println("设备通讯客户端断线");
ctx.close(); ctx.close();
SocketManager.removeUser(param.getUserPageId() + dev); SocketManager.removeUser(param.getUserPageId() + dev);
CnSocketUtil.quitSendSource(param);
} }
/** /**
@@ -110,8 +111,6 @@ public class NettyDevClientHandler extends SimpleChannelInboundHandler<String> {
SocketManager.clockMap.put(sourceIssue.getIndex(), 60L); SocketManager.clockMap.put(sourceIssue.getIndex(), 60L);
} }
System.out.println("超时函数进入-----》" + sourceIssue.getType() + "----:" + SocketManager.clockMap.get(sourceIssue.getIndex()) + "S");
if (sourceIssue.getType().equals(DicDataEnum.F.getCode())) { if (sourceIssue.getType().equals(DicDataEnum.F.getCode())) {
//闪变,正常抛一轮最大等待20分钟超时 //闪变,正常抛一轮最大等待20分钟超时
if (SocketManager.clockMap.get(sourceIssue.getIndex()) > 1300) { if (SocketManager.clockMap.get(sourceIssue.getIndex()) > 1300) {