代码调整
This commit is contained in:
@@ -463,6 +463,12 @@ public class SocketDevResponseService {
|
|||||||
return percentage <= limit;
|
return percentage <= limit;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private BigDecimal rangeNum(double num1, double num2){
|
||||||
|
double diff = Math.abs(num1 - num2);
|
||||||
|
double larger = Math.max(num1, num2);
|
||||||
|
return BigDecimal.valueOf(diff / larger).setScale(4,RoundingMode.HALF_UP);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private void assemblyEntity(List<DevData> deList, DevXiNumData.F F, CoefficientVO coefficientVO, CoefficientVO.DevParameter devParameter) {
|
private void assemblyEntity(List<DevData> deList, DevXiNumData.F F, CoefficientVO coefficientVO, CoefficientVO.DevParameter devParameter) {
|
||||||
@@ -522,6 +528,14 @@ public class SocketDevResponseService {
|
|||||||
coefficientVO.setAIeXi(isWithinTenPercent(optionalIA, devParameter.getDevCurr(), iLimit) ? "合格" : "不合格");
|
coefficientVO.setAIeXi(isWithinTenPercent(optionalIA, devParameter.getDevCurr(), iLimit) ? "合格" : "不合格");
|
||||||
coefficientVO.setBIeXi(isWithinTenPercent(optionalIB, devParameter.getDevCurr(), iLimit) ? "合格" : "不合格");
|
coefficientVO.setBIeXi(isWithinTenPercent(optionalIB, devParameter.getDevCurr(), iLimit) ? "合格" : "不合格");
|
||||||
coefficientVO.setCIeXi(isWithinTenPercent(optionalIC, devParameter.getDevCurr(), iLimit) ? "合格" : "不合格");
|
coefficientVO.setCIeXi(isWithinTenPercent(optionalIC, devParameter.getDevCurr(), iLimit) ? "合格" : "不合格");
|
||||||
|
|
||||||
|
coefficientVO.setAV(rangeNum(optionalA, devParameter.getDevVolt()).toString());
|
||||||
|
coefficientVO.setBV(rangeNum(optionalB, devParameter.getDevVolt()).toString());
|
||||||
|
coefficientVO.setCV(rangeNum(optionalC, devParameter.getDevVolt()).toString());
|
||||||
|
coefficientVO.setAI(rangeNum(optionalIA, devParameter.getDevVolt()).toString());
|
||||||
|
coefficientVO.setBI(rangeNum(optionalIB, devParameter.getDevVolt()).toString());
|
||||||
|
coefficientVO.setCI(rangeNum(optionalIC, devParameter.getDevVolt()).toString());
|
||||||
|
|
||||||
if("不合格".equals(coefficientVO.getAVuXi()) ||"不合格".equals(coefficientVO.getBVuXi()) ||"不合格".equals(coefficientVO.getCVuXi()) ||"不合格".equals(coefficientVO.getAIeXi()) ||"不合格".equals(coefficientVO.getBIeXi()) ||"不合格".equals(coefficientVO.getCIeXi())){
|
if("不合格".equals(coefficientVO.getAVuXi()) ||"不合格".equals(coefficientVO.getBVuXi()) ||"不合格".equals(coefficientVO.getCVuXi()) ||"不合格".equals(coefficientVO.getAIeXi()) ||"不合格".equals(coefficientVO.getBIeXi()) ||"不合格".equals(coefficientVO.getCIeXi())){
|
||||||
coefficientVO.setResultFlag(0);
|
coefficientVO.setResultFlag(0);
|
||||||
}else {
|
}else {
|
||||||
@@ -726,6 +740,7 @@ public class SocketDevResponseService {
|
|||||||
SocketManager.addSourceList(sourceIssues);
|
SocketManager.addSourceList(sourceIssues);
|
||||||
Map<String, Long> sourceIssueMap = sourceIssues.stream().collect(Collectors.groupingBy(SourceIssue::getType, Collectors.counting()));
|
Map<String, Long> sourceIssueMap = sourceIssues.stream().collect(Collectors.groupingBy(SourceIssue::getType, Collectors.counting()));
|
||||||
SocketManager.initMap(sourceIssueMap);
|
SocketManager.initMap(sourceIssueMap);
|
||||||
|
|
||||||
socketMsg.setData(JSON.toJSONString(sourceIssues.get(0)));
|
socketMsg.setData(JSON.toJSONString(sourceIssues.get(0)));
|
||||||
socketMsg.setRequestId(SourceOperateCodeEnum.FORMAL_REAL.getValue() + stepTag + sourceIssues.get(0).getType());
|
socketMsg.setRequestId(SourceOperateCodeEnum.FORMAL_REAL.getValue() + stepTag + sourceIssues.get(0).getType());
|
||||||
SocketManager.sendMsg(param.getUserPageId() + handlerSourceStr, JSON.toJSONString(socketMsg));
|
SocketManager.sendMsg(param.getUserPageId() + handlerSourceStr, JSON.toJSONString(socketMsg));
|
||||||
@@ -825,9 +840,18 @@ public class SocketDevResponseService {
|
|||||||
dataMsg.setCode(SourceResponseCodeEnum.SUCCESS.getCode());
|
dataMsg.setCode(SourceResponseCodeEnum.SUCCESS.getCode());
|
||||||
|
|
||||||
for (SourceCompareDev sourceCompareDev : info) {
|
for (SourceCompareDev sourceCompareDev : info) {
|
||||||
dataMsg.setData(sourceCompareDev.getDevName() + splitTag + sourceCompareDev.getLineNum() + sourceCompareDev.getDesc() + "校验结果:" + (sourceCompareDev.getIsQualified() ? "合格" : "不合格"));
|
dataMsg.setData(sourceCompareDev.getDevName() + splitTag + sourceCompareDev.getLineNum() + SocketManager.valueTypeMap.get(sourceCompareDev.getDesc()) + "校验结果:" + (sourceCompareDev.getIsQualified() ? "合格" : "不合格"));
|
||||||
webSocketHandler.sendMsgToUser(param.getUserPageId(), JSON.toJSONString(dataMsg));
|
webSocketHandler.sendMsgToUser(param.getUserPageId(), JSON.toJSONString(dataMsg));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(info.stream().anyMatch(it -> !it.getIsQualified())){
|
||||||
|
WebSocketVO<String> webSocketVO = new WebSocketVO<>();
|
||||||
|
webSocketVO.setRequestId(SourceOperateCodeEnum.YJC_XUJY.getValue());
|
||||||
|
webSocketVO.setOperateCode(SourceOperateCodeEnum.DEV_DATA_REQUEST_02.getValue());
|
||||||
|
webSocketVO.setCode(SourceResponseCodeEnum.PHASE_CHECK_FAIL.getCode());
|
||||||
|
webSocketHandler.sendMsgToUser(param.getUserPageId(), JSON.toJSONString(webSocketVO));
|
||||||
|
return;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//向前端推送消息
|
//向前端推送消息
|
||||||
@@ -839,7 +863,7 @@ public class SocketDevResponseService {
|
|||||||
|
|
||||||
successComm.clear();
|
successComm.clear();
|
||||||
if (param.getOperateType().equals(SourceOperateCodeEnum.PRE_TEST.getValue())) {
|
if (param.getOperateType().equals(SourceOperateCodeEnum.PRE_TEST.getValue())) {
|
||||||
System.out.println("预检测流程接受-----------------关闭源");
|
System.out.println("预检测流程结束-----------------关闭源");
|
||||||
//同时关闭设备三个步骤
|
//同时关闭设备三个步骤
|
||||||
CnSocketUtil.quitSend(param);
|
CnSocketUtil.quitSend(param);
|
||||||
} else if (param.getOperateType().equals(SourceOperateCodeEnum.COEFFICIENT_TEST.getValue())) {
|
} else if (param.getOperateType().equals(SourceOperateCodeEnum.COEFFICIENT_TEST.getValue())) {
|
||||||
@@ -916,7 +940,7 @@ public class SocketDevResponseService {
|
|||||||
|
|
||||||
|
|
||||||
if (successComm.size() == FormalTestManager.monitorIdListComm.size()) {
|
if (successComm.size() == FormalTestManager.monitorIdListComm.size()) {
|
||||||
//TODO 理论上遇到返回code10200的数量与监测点数量一致则认为数据返回结束,但是会存在缺失数据情况,例如有部分装置是没有暂降功能的
|
|
||||||
System.out.println(sourceIssue.getType() + splitTag + sourceIssue.getIndex() + "当前测试小项读取数据已经全部结束。。。。。。。。。");
|
System.out.println(sourceIssue.getType() + splitTag + sourceIssue.getIndex() + "当前测试小项读取数据已经全部结束。。。。。。。。。");
|
||||||
//修改装置为监测中
|
//修改装置为监测中
|
||||||
adPlanService.updateTestState(param.getPlanId(), param.getDevIds());
|
adPlanService.updateTestState(param.getPlanId(), param.getDevIds());
|
||||||
@@ -925,9 +949,7 @@ public class SocketDevResponseService {
|
|||||||
|
|
||||||
//调用判断方法
|
//调用判断方法
|
||||||
Map<String, Integer> textResult = detectionServiceImpl.processing(realDataXiList, param, FormalTestManager.devIdMapComm, sourceIssue, dataRule);
|
Map<String, Integer> textResult = detectionServiceImpl.processing(realDataXiList, param, FormalTestManager.devIdMapComm, sourceIssue, dataRule);
|
||||||
WebSocketVO<List<DevLineTestResult>> webSocketVO = new WebSocketVO<>();
|
|
||||||
webSocketVO.setRequestId(socketDataMsg.getRequestId().split(stepTag)[1] + stepEnd);
|
|
||||||
webSocketVO.setDesc(sourceIssue.getDesc());
|
|
||||||
//组装实体推送给前台
|
//组装实体推送给前台
|
||||||
List<DevLineTestResult> devListRes = new ArrayList<>();
|
List<DevLineTestResult> devListRes = new ArrayList<>();
|
||||||
FormalTestManager.devList.forEach(dev -> {
|
FormalTestManager.devList.forEach(dev -> {
|
||||||
@@ -944,15 +966,20 @@ 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);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
WebSocketVO<List<DevLineTestResult>> webSocketVO = new WebSocketVO<>();
|
||||||
|
webSocketVO.setRequestId(socketDataMsg.getRequestId().split(stepTag)[1] + stepEnd);
|
||||||
|
webSocketVO.setDesc(sourceIssue.getDesc());
|
||||||
webSocketVO.setData(devListRes);
|
webSocketVO.setData(devListRes);
|
||||||
webSocketHandler.sendMsgToUser(param.getUserPageId(), JSON.toJSONString(webSocketVO));
|
webSocketHandler.sendMsgToUser(param.getUserPageId(), JSON.toJSONString(webSocketVO));
|
||||||
|
|
||||||
|
//当小项结束后需要删除集合中的小项
|
||||||
|
SocketManager.delSource(sourceIssue.getIndex());
|
||||||
|
System.out.println("当前小项结束进行删除============" + sourceIssue.getType() + splitTag + sourceIssue.getIndex());
|
||||||
|
|
||||||
long tem = SocketManager.getSourceTarget(sourceIssue.getType()) - 1;
|
long tem = SocketManager.getSourceTarget(sourceIssue.getType()) - 1;
|
||||||
SocketManager.addTargetMap(sourceIssue.getType(), tem);
|
SocketManager.addTargetMap(sourceIssue.getType(), tem);
|
||||||
System.out.println("该大项还有" + tem + "个小项没有进行检测!!!!!!!!");
|
System.out.println("该大项还有" + tem + "个小项没有进行检测!!!!!!!!");
|
||||||
|
|
||||||
if (tem == 0) {
|
if (tem == 0) {
|
||||||
System.out.println(sourceIssue.getType() + sourceIssue.getIndex() + "当前测试大项已经全部结束》》》》》》》》");
|
System.out.println(sourceIssue.getType() + sourceIssue.getIndex() + "当前测试大项已经全部结束》》》》》》》》");
|
||||||
//当val为0则认为大项中的小项已经全部跑完,开始组装信息推送给前端
|
//当val为0则认为大项中的小项已经全部跑完,开始组装信息推送给前端
|
||||||
@@ -960,13 +987,10 @@ public class SocketDevResponseService {
|
|||||||
webSocketVO.setRequestId(socketDataMsg.getRequestId().split(stepTag)[1] + stepEnd);
|
webSocketVO.setRequestId(socketDataMsg.getRequestId().split(stepTag)[1] + stepEnd);
|
||||||
webSocketHandler.sendMsgToUser(param.getUserPageId(), JSON.toJSONString(webSocketVO));
|
webSocketHandler.sendMsgToUser(param.getUserPageId(), JSON.toJSONString(webSocketVO));
|
||||||
}
|
}
|
||||||
System.out.println("当前小项结束进行删除============" + sourceIssue.getType() + splitTag + sourceIssue.getIndex());
|
|
||||||
|
|
||||||
//当小项结束后需要删除集合中的小项
|
|
||||||
SocketManager.delSource(sourceIssue.getIndex());
|
|
||||||
//在这一步判断是否已经触发暂停按钮
|
//在这一步判断是否已经触发暂停按钮
|
||||||
if (FormalTestManager.stopFlag) {
|
if (FormalTestManager.stopFlag && CollUtil.isNotEmpty(SocketManager.getSourceList())) {
|
||||||
// CnSocketUtil.quitSend(param);
|
FormalTestManager.stopTime = 0;
|
||||||
successComm.clear();
|
successComm.clear();
|
||||||
realDataXiList.clear();
|
realDataXiList.clear();
|
||||||
sendWebSocket(param.getUserPageId(), "preStopTest", "stop", null);
|
sendWebSocket(param.getUserPageId(), "preStopTest", "stop", null);
|
||||||
@@ -976,8 +1000,13 @@ public class SocketDevResponseService {
|
|||||||
//开始进行下一项检测
|
//开始进行下一项检测
|
||||||
List<SourceIssue> sourceIssueList = SocketManager.getSourceList();
|
List<SourceIssue> sourceIssueList = SocketManager.getSourceList();
|
||||||
if (CollUtil.isNotEmpty(sourceIssueList)) {
|
if (CollUtil.isNotEmpty(sourceIssueList)) {
|
||||||
|
|
||||||
SourceIssue sourceIssues = SocketManager.getSourceList().get(0);
|
SourceIssue sourceIssues = SocketManager.getSourceList().get(0);
|
||||||
|
if(tem == 0){
|
||||||
|
webSocketVO.setRequestId(sourceIssues.getType()+ stepBegin);
|
||||||
|
webSocketHandler.sendMsgToUser(param.getUserPageId(), JSON.toJSONString(webSocketVO));
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
SocketMsg<String> xuMsg = new SocketMsg<>();
|
SocketMsg<String> xuMsg = new SocketMsg<>();
|
||||||
xuMsg.setOperateCode(SourceOperateCodeEnum.OPER_GATHER.getValue());
|
xuMsg.setOperateCode(SourceOperateCodeEnum.OPER_GATHER.getValue());
|
||||||
xuMsg.setData(JSON.toJSONString(sourceIssues));
|
xuMsg.setData(JSON.toJSONString(sourceIssues));
|
||||||
@@ -1198,6 +1227,7 @@ public class SocketDevResponseService {
|
|||||||
successComm.clear();
|
successComm.clear();
|
||||||
successDevComm.clear();
|
successDevComm.clear();
|
||||||
failDevComm.clear();
|
failDevComm.clear();
|
||||||
|
FormalTestManager.stopFlag = false;
|
||||||
|
|
||||||
//初始化相序集合
|
//初始化相序集合
|
||||||
this.devInfo.clear();
|
this.devInfo.clear();
|
||||||
|
|||||||
@@ -315,10 +315,7 @@ public class SocketSourceResponseService {
|
|||||||
SocketManager.sendMsg(s, JSON.toJSONString(socketMsg));
|
SocketManager.sendMsg(s, JSON.toJSONString(socketMsg));
|
||||||
|
|
||||||
|
|
||||||
//告诉前端当前项开始了
|
|
||||||
WebSocketVO<List<DevLineTestResult>> webSocketVO = new WebSocketVO<>();
|
|
||||||
webSocketVO.setRequestId(socketDataMsg.getRequestId().split(stepTag)[1]+stepBegin);
|
|
||||||
webSocketVO.setDesc(SocketManager.getSourceList().get(0).getDesc());
|
|
||||||
List<DevLineTestResult> devListRes = new ArrayList<>();
|
List<DevLineTestResult> devListRes = new ArrayList<>();
|
||||||
devList.forEach(item->{
|
devList.forEach(item->{
|
||||||
DevLineTestResult devLineTestResult = new DevLineTestResult();
|
DevLineTestResult devLineTestResult = new DevLineTestResult();
|
||||||
@@ -326,6 +323,15 @@ public class SocketSourceResponseService {
|
|||||||
devLineTestResult.setDeviceName(item.getDevName());
|
devLineTestResult.setDeviceName(item.getDevName());
|
||||||
devListRes.add(devLineTestResult);
|
devListRes.add(devLineTestResult);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
//告诉前端当前项开始了
|
||||||
|
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.setDesc(SocketManager.getSourceList().get(0).getDesc());
|
||||||
webSocketVO.setData(devListRes);
|
webSocketVO.setData(devListRes);
|
||||||
webSocketHandler.sendMsgToUser(param.getUserPageId(), JSON.toJSONString(webSocketVO));
|
webSocketHandler.sendMsgToUser(param.getUserPageId(), JSON.toJSONString(webSocketVO));
|
||||||
|
|
||||||
|
|||||||
@@ -38,7 +38,7 @@ public enum SourceResponseCodeEnum {
|
|||||||
SOCKET_ERROR(25000,"服务端连接失败"),
|
SOCKET_ERROR(25000,"服务端连接失败"),
|
||||||
DEV_COMM_ALL_SUCCESS(25001,"校验成功"),
|
DEV_COMM_ALL_SUCCESS(25001,"校验成功"),
|
||||||
DEV_COMM_TEST_FAIL(25002,"设备通讯校验失败"),
|
DEV_COMM_TEST_FAIL(25002,"设备通讯校验失败"),
|
||||||
|
PHASE_CHECK_FAIL(25003,"相序校验未通过"),
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -63,6 +63,25 @@ public class CoefficientVO {
|
|||||||
private String cIeXi;
|
private String cIeXi;
|
||||||
|
|
||||||
|
|
||||||
|
@JSONField(name = "aV", ordinal = 16)
|
||||||
|
private String aV;
|
||||||
|
|
||||||
|
@JSONField(name = "bV", ordinal = 17)
|
||||||
|
private String bV;
|
||||||
|
|
||||||
|
@JSONField(name = "cV", ordinal = 18)
|
||||||
|
private String cV;
|
||||||
|
|
||||||
|
@JSONField(name = "aI", ordinal = 19)
|
||||||
|
private String aI;
|
||||||
|
|
||||||
|
@JSONField(name = "bI", ordinal = 20)
|
||||||
|
private String bI;
|
||||||
|
|
||||||
|
@JSONField(name = "cI", ordinal = 21)
|
||||||
|
private String cI;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 标识校验不合格的为 0 合格项为 1
|
* 标识校验不合格的为 0 合格项为 1
|
||||||
|
|||||||
@@ -42,5 +42,7 @@ public class FormalTestManager {
|
|||||||
|
|
||||||
public static Boolean stopFlag = false;
|
public static Boolean stopFlag = false;
|
||||||
|
|
||||||
|
public static Integer stopTime = 0;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -87,6 +87,7 @@ public class NettyDevClientHandler extends SimpleChannelInboundHandler<String> {
|
|||||||
@Override
|
@Override
|
||||||
public void channelInactive(ChannelHandlerContext ctx) {
|
public void channelInactive(ChannelHandlerContext ctx) {
|
||||||
System.out.println("设备通讯客户端断线");
|
System.out.println("设备通讯客户端断线");
|
||||||
|
ctx.close();
|
||||||
SocketManager.removeUser(param.getUserPageId() + dev);
|
SocketManager.removeUser(param.getUserPageId() + dev);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -139,6 +140,13 @@ public class NettyDevClientHandler extends SimpleChannelInboundHandler<String> {
|
|||||||
CnSocketUtil.quitSend(param);
|
CnSocketUtil.quitSend(param);
|
||||||
}
|
}
|
||||||
System.out.println("已经等了一分钟了。。。。。。。。。。。。");
|
System.out.println("已经等了一分钟了。。。。。。。。。。。。");
|
||||||
|
}else {
|
||||||
|
//如果是暂停操作后
|
||||||
|
FormalTestManager.stopTime+=60;
|
||||||
|
System.out.println("当前进入暂停操作超时函数-----------------"+FormalTestManager.stopTime);
|
||||||
|
if(FormalTestManager.stopTime > 600){
|
||||||
|
CnSocketUtil.quitSend(param);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -72,15 +72,7 @@ public class NettySourceClientHandler extends SimpleChannelInboundHandler<String
|
|||||||
@Override
|
@Override
|
||||||
public void channelInactive(ChannelHandlerContext ctx) throws Exception{
|
public void channelInactive(ChannelHandlerContext ctx) throws Exception{
|
||||||
System.out.println("源通讯客户端断线");
|
System.out.println("源通讯客户端断线");
|
||||||
|
ctx.close();
|
||||||
Channel channel = SocketManager.getChannelByUserId(webUser.getUserPageId()+sourceTag);
|
|
||||||
if(Objects.nonNull(channel)){
|
|
||||||
try {
|
|
||||||
channel.close().sync();
|
|
||||||
} catch (InterruptedException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
SocketManager.removeUser(webUser.getUserPageId()+sourceTag);
|
SocketManager.removeUser(webUser.getUserPageId()+sourceTag);
|
||||||
// System.out.println("断线了......" + ctx.channel());
|
// System.out.println("断线了......" + ctx.channel());
|
||||||
// ctx.channel().eventLoop().schedule(() -> {
|
// ctx.channel().eventLoop().schedule(() -> {
|
||||||
|
|||||||
Reference in New Issue
Block a user