装置通讯检测

This commit is contained in:
2024-12-18 15:17:20 +08:00
parent e36652f930
commit 2d5bb9694f
7 changed files with 57 additions and 11 deletions

View File

@@ -47,6 +47,25 @@ public class SocketDevResponseService {
case YJC_SBTXJY:
devComm(socketDataMsg,param,msg);
break;
case QUITE:
SourceResponseCodeEnum dictDataEnumByCode = SourceResponseCodeEnum.getDictDataEnumByCode(socketDataMsg.getCode());
String userKey = param.getUserPageId()+handlerStr;
switch (dictDataEnumByCode){
case SUCCESS:
//通讯校验成功
webSocketHandler.sendMsgToUser(userKey, msg);
Channel channel = SocketManager.getChannelByUserId(userKey);
channel.close();
SocketManager.removeUser(userKey);
break;
case UNPROCESSED_BUSINESS:
break;
default:
WebSocketVO webSocketVO = new WebSocketVO();
break;
}
break;
case YJC_XYJY:
devXieyi(socketDataMsg,param,msg);
break;
@@ -70,25 +89,35 @@ public class SocketDevResponseService {
//通讯校验成功
webSocketHandler.sendMsgToUser(param.getUserPageId(), msg);
//开始进行协议校验
List<PreDetection> devList = iPqDevService.getDevInfo(param.getDevIds());
/* List<PreDetection> devList = iPqDevService.getDevInfo(param.getDevIds());
Map<String, List<PreDetection>> map = new HashMap(1);
map.put("deviceList", devList);
String jsonString = JSON.toJSONString(map);
socketMsg.setRequestId(SourceOperateCodeEnum.YJC_XYJY.getValue());
socketMsg.setOperateCode(SourceOperateCodeEnum.DEV_INIT_GATHER_02.getValue());
socketMsg.setData(jsonString);
String json = JSON.toJSONString(socketMsg);
SocketManager.sendMsg(s,json);
String json = JSON.toJSONString(socketMsg);*/
//
System.out.println("开始协议校验++++++++++");
//SocketManager.sendMsg(s,json);
break;
case UNPROCESSED_BUSINESS:
break;
case DEV_ERROR:
webSocketHandler.sendMsgToUser(param.getUserPageId(), msg);
break;
case DEV_TARGET:
webSocketHandler.sendMsgToUser(param.getUserPageId(), msg);
break;
case RE_OPERATE:
//发起关闭操作
//SocketMsg socketMsg = new SocketMsg();
// socketMsg.setRequestId("quit");
// socketMsg.setOperateCode("QUIT_FUNEND$01");
// SocketManager.sendMsg(s,JSON.toJSONString(socketMsg));
socketMsg.setRequestId("quit");
socketMsg.setOperateCode("QUIT_FUNEND$01");
SocketManager.sendMsg(s,JSON.toJSONString(socketMsg));
break;
default:

View File

@@ -81,7 +81,10 @@ public class SocketSourceResponseService {
webSocketHandler.sendMsgToUser(param.getUserPageId(), msg);
String s = param.getUserPageId() + "_dev";
//开始设备通讯检测
NettyClient.socketClient(ip, port, param.getUserPageId(), new NettyDevClientHandler(param, socketDevResponseService));
Channel channel = SocketManager.getChannelByUserId(s);
if(channel==null || !channel.isActive()){
NettyClient.socketClient(ip, port, param.getUserPageId(), new NettyDevClientHandler(param, socketDevResponseService));
}
List<PreDetection> devList = iPqDevService.getDevInfo(param.getDevIds());
Map<String, List<PreDetection>> map = new HashMap(1);
map.put("deviceList", devList);

View File

@@ -33,6 +33,9 @@ public enum SourceOperateCodeEnum {
YJC_XYJY("yjc_xyjy", "预检测_协议校验"),
YJC_XUJY("YJC_xujy", "预检测_相序校验"),
QUITE("quit","预监测_关闭设备通讯检测")
;
private String value;

View File

@@ -25,7 +25,14 @@ public enum SourceResponseCodeEnum {
UNABLE_TO_RESPOND(10529, "源状态有误,无法响应报文(例如源处于输出状态,无法响应初始化报文)"),
//通讯模块
DEV_ERROR(10550,"设备连接异常"),
DEV_TARGET(10551,"设备触发报告异常"),
RE_OPERATE(10552,"重复的初始化操作"),
COMMUNICATION_ERR(10553,"通讯模块通讯异常"),
DATA_RESOLVE(10554,"报文解析异常"),
//自定义前端展示消息
SOCKET_ERROR(20000,"连接服务端失败")

View File

@@ -63,7 +63,7 @@ public class NettyDevClientHandler extends SimpleChannelInboundHandler<String> {
*/
@Override
public void channelInactive(ChannelHandlerContext ctx) {
System.out.println("客户端重新连接成功");
//System.out.println("客户端断线");
//SocketManager.addUser(webUser,ctx.channel());
}