装置通讯检测

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: case YJC_SBTXJY:
devComm(socketDataMsg,param,msg); devComm(socketDataMsg,param,msg);
break; 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: case YJC_XYJY:
devXieyi(socketDataMsg,param,msg); devXieyi(socketDataMsg,param,msg);
break; break;
@@ -70,25 +89,35 @@ public class SocketDevResponseService {
//通讯校验成功 //通讯校验成功
webSocketHandler.sendMsgToUser(param.getUserPageId(), msg); 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<String, List<PreDetection>> map = new HashMap(1);
map.put("deviceList", devList); map.put("deviceList", devList);
String jsonString = JSON.toJSONString(map); String jsonString = JSON.toJSONString(map);
socketMsg.setRequestId(SourceOperateCodeEnum.YJC_XYJY.getValue()); socketMsg.setRequestId(SourceOperateCodeEnum.YJC_XYJY.getValue());
socketMsg.setOperateCode(SourceOperateCodeEnum.DEV_INIT_GATHER_02.getValue()); socketMsg.setOperateCode(SourceOperateCodeEnum.DEV_INIT_GATHER_02.getValue());
socketMsg.setData(jsonString); socketMsg.setData(jsonString);
String json = JSON.toJSONString(socketMsg); String json = JSON.toJSONString(socketMsg);*/
SocketManager.sendMsg(s,json); //
System.out.println("开始协议校验++++++++++");
//SocketManager.sendMsg(s,json);
break; break;
case UNPROCESSED_BUSINESS: case UNPROCESSED_BUSINESS:
break; break;
case DEV_ERROR:
webSocketHandler.sendMsgToUser(param.getUserPageId(), msg);
break;
case DEV_TARGET:
webSocketHandler.sendMsgToUser(param.getUserPageId(), msg);
break;
case RE_OPERATE: case RE_OPERATE:
//发起关闭操作 //发起关闭操作
//SocketMsg socketMsg = new SocketMsg(); socketMsg.setRequestId("quit");
// socketMsg.setRequestId("quit"); socketMsg.setOperateCode("QUIT_FUNEND$01");
// socketMsg.setOperateCode("QUIT_FUNEND$01"); SocketManager.sendMsg(s,JSON.toJSONString(socketMsg));
// SocketManager.sendMsg(s,JSON.toJSONString(socketMsg));
break; break;
default: default:

View File

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

View File

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

View File

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

View File

@@ -63,7 +63,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("客户端断线");
//SocketManager.addUser(webUser,ctx.channel()); //SocketManager.addUser(webUser,ctx.channel());
} }

View File

@@ -12,6 +12,8 @@
<result column="" property="icdType" /> <result column="" property="icdType" />
<result column="Series" property="devCode" /> <result column="Series" property="devCode" />
<result column="Dev_Key" property="devKey" /> <result column="Dev_Key" property="devKey" />
<result column="icdType" property="icdType" />
<collection <collection
property="monitorList" property="monitorList"
column="{ devId = Id}" column="{ devId = Id}"
@@ -28,9 +30,11 @@
d.Port, d.Port,
d.Dev_Chns as devChns, d.Dev_Chns as devChns,
d.Series, d.Series,
d.Dev_Key d.Dev_Key,
p.name icdType
FROM FROM
pq_dev d pq_dev d
inner join pq_icd_path p on d.Icd_Id = p.id
<where> <where>
<if test="devIds !=null and devIds.size()!=0"> <if test="devIds !=null and devIds.size()!=0">
AND d.Id in AND d.Id in

View File

@@ -34,7 +34,7 @@ public class PreDetection {
/** /**
* 装置ip * 装置ip
*/ */
@JSONField(name = "devIP", serialize = false) @JSONField(name = "devIP")
private String devIP; private String devIP;
/** /**