装置通讯检测

This commit is contained in:
2024-12-19 10:17:29 +08:00
parent 7d88776633
commit 8760821aec
3 changed files with 61 additions and 32 deletions

View File

@@ -72,10 +72,6 @@ public class SocketDevResponseService {
Map<String, String> devNameMapComm = new HashMap<>();
/**
* 所有装置通道信息
*/
List<String> moniterIdListXieyi = new ArrayList<>();
/**
* 成功结束的装置
*/
@@ -88,7 +84,9 @@ public class SocketDevResponseService {
public void deal(PreDetectionParam param, String msg) {
SocketDataMsg socketDataMsg = MsgUtil.socketDataMsg(msg);
SourceOperateCodeEnum sourceOperateCodeEnum = SourceOperateCodeEnum.getDictDataEnumByCode(socketDataMsg.getRequestId());
String userKey = param.getUserPageId() + handlerStr;
switch (sourceOperateCodeEnum) {
case YJC_SBTXJY:
@@ -96,12 +94,25 @@ public class SocketDevResponseService {
break;
case QUITE:
SourceResponseCodeEnum dictDataEnumByCode = SourceResponseCodeEnum.getDictDataEnumByCode(socketDataMsg.getCode());
String userKey = param.getUserPageId() + handlerStr;
SourceOperateCodeEnum operateCodeEnum = SourceOperateCodeEnum.getDictDataEnumByCode(socketDataMsg.getOperateCode());
SocketMsg socketMsg = new SocketMsg();
switch (dictDataEnumByCode) {
case SUCCESS:
//通讯校验成功
webSocketHandler.sendMsgToUser(userKey, msg);
switch (operateCodeEnum){
case QUIT_INIT_01:
break;
case QUIT_INIT_02:
socketMsg.setRequestId("quit");
socketMsg.setOperateCode("QUIT_FUNEND$01");
SocketManager.sendMsg(userKey, JSON.toJSONString(socketMsg));
break;
case QUIT_INIT_03:
socketMsg.setRequestId("quit");
socketMsg.setOperateCode("QUIT_FUNEND$02");
SocketManager.sendMsg(userKey, JSON.toJSONString(socketMsg));
break;
}
break;
case UNPROCESSED_BUSINESS:
break;
@@ -125,6 +136,9 @@ public class SocketDevResponseService {
private Map<String, Map<String, Integer>> reloverMap = new HashMap<>();
/**
* 装置通讯检测
*/
private void devComm(SocketDataMsg socketDataMsg, PreDetectionParam param, String msg) {
SourceResponseCodeEnum dictDataEnumByCode = SourceResponseCodeEnum.getDictDataEnumByCode(socketDataMsg.getCode());
String s = param.getUserPageId() + handlerStr;
@@ -167,13 +181,7 @@ public class SocketDevResponseService {
break;
case RE_OPERATE:
//发起关闭操作
socketMsg.setRequestId("quit");
socketMsg.setOperateCode("QUIT_FUNEND$01");
SocketManager.sendMsg(s, JSON.toJSONString(socketMsg));
socketMsg.setOperateCode("QUIT_FUNEND$02");
SocketManager.sendMsg(s, JSON.toJSONString(socketMsg));
socketMsg.setOperateCode("QUIT_FUNEND$03");
SocketManager.sendMsg(s, JSON.toJSONString(socketMsg));
quitSend(param,socketDataMsg,socketMsg);
break;
default:
WebSocketVO webSocketVO = new WebSocketVO();
@@ -183,7 +191,9 @@ public class SocketDevResponseService {
}
}
/**
* 装置协议检测
*/
private void devXieyi(SocketDataMsg socketDataMsg, PreDetectionParam param, String msg) {
SourceResponseCodeEnum dictDataEnumByCode = SourceResponseCodeEnum.getDictDataEnumByCode(socketDataMsg.getCode());
SocketMsg socketMsg = new SocketMsg();
@@ -192,13 +202,13 @@ public class SocketDevResponseService {
switch (dictDataEnumByCode) {
case SUCCESS:
webSocketHandler.sendMsgToUser(param.getUserPageId(), msg);
System.out.println(successXieyi.size() + "=====" + moniterIdListXieyi.size());
JSONObject jsonObject = JSON.parseObject(msg);
String mId = jsonObject.get("data").toString();
String type = jsonObject.get("operateCode").toString();
if (type.equals(SourceOperateCodeEnum.DEV_INIT_GATHER_02.getValue())) {
successXieyi.add(mId);
if (successXieyi.size() == moniterIdListXieyi.size()) {
if (successXieyi.size() == moniterIdListComm.size()) {
//协议3校验
successXieyi = new ArrayList<>();
@@ -216,8 +226,9 @@ public class SocketDevResponseService {
}
} else if (type.equals(SourceOperateCodeEnum.DEV_INIT_GATHER_03.getValue())) {
System.out.println(successXieyi3.size() + "=====" + moniterIdListComm.size());
successXieyi3.add(mId);
if (successXieyi.size() == moniterIdListXieyi.size()) {
if (successXieyi3.size() == moniterIdListComm.size()) {
System.out.println("开始相序校验++++++++++");
@@ -230,14 +241,7 @@ public class SocketDevResponseService {
break;
case RE_OPERATE:
//发起关闭操作
socketMsg.setRequestId("quit");
socketMsg.setOperateCode("QUIT_FUNEND$01");
SocketManager.sendMsg(s, JSON.toJSONString(socketMsg));
socketMsg.setOperateCode("QUIT_FUNEND$02");
SocketManager.sendMsg(s, JSON.toJSONString(socketMsg));
socketMsg.setOperateCode("QUIT_FUNEND$03");
SocketManager.sendMsg(s, JSON.toJSONString(socketMsg));
quitSend(param,socketDataMsg,socketMsg);
break;
default:
WebSocketVO webSocketVO = new WebSocketVO();
@@ -247,6 +251,28 @@ public class SocketDevResponseService {
}
}
/**
* 退出检测
*/
private void quitSend(PreDetectionParam param,SocketDataMsg socketDataMsg,SocketMsg socketMsg){
SourceOperateCodeEnum operateCodeEnum = SourceOperateCodeEnum.getDictDataEnumByCode(socketDataMsg.getOperateCode());
socketMsg.setRequestId(SourceOperateCodeEnum.QUITE.getValue());
switch (operateCodeEnum){
case DEV_INIT_GATHER_01:
socketMsg.setOperateCode(SourceOperateCodeEnum.QUIT_INIT_01.getValue());
SocketManager.sendMsg(param.getUserPageId()+handlerStr, JSON.toJSONString(socketMsg));
break;
case DEV_INIT_GATHER_02:
socketMsg.setOperateCode(SourceOperateCodeEnum.QUIT_INIT_02.getValue());
SocketManager.sendMsg(param.getUserPageId()+handlerStr, JSON.toJSONString(socketMsg));
break;
case DEV_INIT_GATHER_03:
socketMsg.setOperateCode(SourceOperateCodeEnum.QUIT_INIT_03.getValue());
SocketManager.sendMsg(param.getUserPageId()+handlerStr, JSON.toJSONString(socketMsg));
break;
}
}
public void devXu(PreDetectionParam param, SocketDataMsg socketDataMsg) {
if (CollUtil.isEmpty(moniterIdList)) {
@@ -401,7 +427,6 @@ public class SocketDevResponseService {
this.successComm = new ArrayList<>();
this.devNameMapComm = new HashMap<>();
this.moniterIdListXieyi = new ArrayList<>();
this.successXieyi = new ArrayList<>();
this.successXieyi3 = new ArrayList<>();
this.devNameMapXieyi = new HashMap<>();

View File

@@ -30,6 +30,10 @@ public enum SourceOperateCodeEnum {
DEV_DATA_REQUEST_02("DATA_REQUEST$02", "实时采集申请"),
DEV_DATA_REQUEST_03("DATA_REQUEST$03", "暂态采集申请"),
QUIT_INIT_01("QUIT_FUNEND$01", "关闭统计申请"),
QUIT_INIT_02("QUIT_FUNEND$02", "关闭实时申请"),
QUIT_INIT_03("QUIT_FUNEND$03", "关闭暂态申请"),
@@ -39,12 +43,12 @@ public enum SourceOperateCodeEnum {
YJC_XUJY("YJC_xujy", "预检测_相序校验"),
QUITE("quit","预监测_关闭设备通讯检测")
QUITE("quit","预监测_关闭设备通讯初始化")
;
private String value;
private String msg;
private final String value;
private final String msg;
SourceOperateCodeEnum(String value, String msg) {
this.value = value;

View File

@@ -42,8 +42,8 @@ public enum SourceResponseCodeEnum {
;
private Integer code;
private String message;
private final Integer code;
private final String message;
SourceResponseCodeEnum(Integer code, String message) {
this.code = code;