1.微调
This commit is contained in:
@@ -35,7 +35,7 @@ import java.util.stream.Collectors;
|
|||||||
public class SocketDevResponseService {
|
public class SocketDevResponseService {
|
||||||
|
|
||||||
|
|
||||||
private final String handlerStr = "_dev";
|
private final String handlerStr = "_Dev";
|
||||||
private final WebSocketHandler webSocketHandler;
|
private final WebSocketHandler webSocketHandler;
|
||||||
private final IPqDevService iPqDevService;
|
private final IPqDevService iPqDevService;
|
||||||
private final IPqScriptDtlsService scriptDtlsService;
|
private final IPqScriptDtlsService scriptDtlsService;
|
||||||
@@ -115,6 +115,7 @@ public class SocketDevResponseService {
|
|||||||
devXieyi(socketDataMsg, param, msg);
|
devXieyi(socketDataMsg, param, msg);
|
||||||
break;
|
break;
|
||||||
case YJC_XUJY:
|
case YJC_XUJY:
|
||||||
|
devXu(param, socketDataMsg);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -135,7 +136,7 @@ public class SocketDevResponseService {
|
|||||||
String mId = JSON.parseObject(msg).get("data").toString();
|
String mId = JSON.parseObject(msg).get("data").toString();
|
||||||
successComm.add(mId);
|
successComm.add(mId);
|
||||||
|
|
||||||
System.out.println(successComm.size()+"====="+moniterIdListComm.size());
|
System.out.println(successComm.size() + "=====" + moniterIdListComm.size());
|
||||||
if (successComm.size() == moniterIdListComm.size()) {
|
if (successComm.size() == moniterIdListComm.size()) {
|
||||||
//开始进行协议校验
|
//开始进行协议校验
|
||||||
List<PreDetection> devList = iPqDevService.getDevInfo(param.getDevIds());
|
List<PreDetection> devList = iPqDevService.getDevInfo(param.getDevIds());
|
||||||
@@ -191,11 +192,11 @@ public class SocketDevResponseService {
|
|||||||
switch (dictDataEnumByCode) {
|
switch (dictDataEnumByCode) {
|
||||||
case SUCCESS:
|
case SUCCESS:
|
||||||
webSocketHandler.sendMsgToUser(param.getUserPageId(), msg);
|
webSocketHandler.sendMsgToUser(param.getUserPageId(), msg);
|
||||||
System.out.println(successXieyi.size()+"====="+moniterIdListXieyi.size());
|
System.out.println(successXieyi.size() + "=====" + moniterIdListXieyi.size());
|
||||||
JSONObject jsonObject = JSON.parseObject(msg);
|
JSONObject jsonObject = JSON.parseObject(msg);
|
||||||
String mId = jsonObject.get("data").toString();
|
String mId = jsonObject.get("data").toString();
|
||||||
String type = jsonObject.get("operateCode").toString();
|
String type = jsonObject.get("operateCode").toString();
|
||||||
if(type.equals(SourceOperateCodeEnum.DEV_INIT_GATHER_02.getValue())){
|
if (type.equals(SourceOperateCodeEnum.DEV_INIT_GATHER_02.getValue())) {
|
||||||
successXieyi.add(mId);
|
successXieyi.add(mId);
|
||||||
if (successXieyi.size() == moniterIdListXieyi.size()) {
|
if (successXieyi.size() == moniterIdListXieyi.size()) {
|
||||||
//协议3校验
|
//协议3校验
|
||||||
@@ -214,7 +215,7 @@ public class SocketDevResponseService {
|
|||||||
SocketManager.sendMsg(s, json);
|
SocketManager.sendMsg(s, json);
|
||||||
|
|
||||||
}
|
}
|
||||||
}else if(type.equals(SourceOperateCodeEnum.DEV_INIT_GATHER_03.getValue())){
|
} else if (type.equals(SourceOperateCodeEnum.DEV_INIT_GATHER_03.getValue())) {
|
||||||
successXieyi3.add(mId);
|
successXieyi3.add(mId);
|
||||||
if (successXieyi.size() == moniterIdListXieyi.size()) {
|
if (successXieyi.size() == moniterIdListXieyi.size()) {
|
||||||
System.out.println("开始相序校验++++++++++");
|
System.out.println("开始相序校验++++++++++");
|
||||||
@@ -224,8 +225,6 @@ public class SocketDevResponseService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case UNPROCESSED_BUSINESS:
|
case UNPROCESSED_BUSINESS:
|
||||||
break;
|
break;
|
||||||
@@ -263,23 +262,27 @@ public class SocketDevResponseService {
|
|||||||
DevData devData = JSON.parseObject(data, DevData.class);
|
DevData devData = JSON.parseObject(data, DevData.class);
|
||||||
SourceResponseCodeEnum dictDataEnumByCode = SourceResponseCodeEnum.getDictDataEnumByCode(socketDataMsg.getCode());
|
SourceResponseCodeEnum dictDataEnumByCode = SourceResponseCodeEnum.getDictDataEnumByCode(socketDataMsg.getCode());
|
||||||
if (ObjectUtil.isNotNull(dictDataEnumByCode)) {
|
if (ObjectUtil.isNotNull(dictDataEnumByCode)) {
|
||||||
devInfo.add(devData);
|
|
||||||
SocketMsg socketMsg = new SocketMsg();
|
SocketMsg socketMsg = new SocketMsg();
|
||||||
switch (dictDataEnumByCode) {
|
switch (dictDataEnumByCode) {
|
||||||
case SUCCESS:
|
case SUCCESS:
|
||||||
|
devInfo.add(devData);
|
||||||
success.add(devData.getId());
|
success.add(devData.getId());
|
||||||
if (success.size() == moniterIdList.size()) {
|
if (success.size() == moniterIdList.size()) {
|
||||||
PqScriptIssueParam sourceParam = new PqScriptIssueParam();
|
PqScriptIssueParam sourceParam = new PqScriptIssueParam();
|
||||||
|
sourceParam.setPlanId(param.getPlanId());
|
||||||
|
sourceParam.setDevIds(param.getDevIds());
|
||||||
|
sourceParam.setIsPhaseSequence(true);
|
||||||
List<SourceIssue> sourceIssues = scriptDtlsService.listSourceIssue(sourceParam);
|
List<SourceIssue> sourceIssues = scriptDtlsService.listSourceIssue(sourceParam);
|
||||||
|
List<SourceCompareDev> info = new ArrayList<>();
|
||||||
if (CollUtil.isNotEmpty(sourceIssues)) {
|
if (CollUtil.isNotEmpty(sourceIssues)) {
|
||||||
List<SourceCompareDev> info = new ArrayList<>();
|
|
||||||
for (DevData dev : devInfo) {
|
for (DevData dev : devInfo) {
|
||||||
info.addAll(devIsSource(dev, sourceIssues.get(0)));
|
info.addAll(devIsSource(dev, sourceIssues.get(0)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
xuClear();
|
||||||
socketMsg.setRequestId(SourceOperateCodeEnum.YJC_XUJY.getValue());
|
socketMsg.setRequestId(SourceOperateCodeEnum.YJC_XUJY.getValue());
|
||||||
socketMsg.setOperateCode(socketDataMsg.getOperateCode());
|
socketMsg.setOperateCode(socketDataMsg.getOperateCode());
|
||||||
socketMsg.setData(JSON.toJSONString(sourceIssues));
|
socketMsg.setData(JSON.toJSONString(info));
|
||||||
webSocketHandler.sendMsgToUser(param.getUserPageId(), JSON.toJSONString(socketMsg));
|
webSocketHandler.sendMsgToUser(param.getUserPageId(), JSON.toJSONString(socketMsg));
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@@ -287,6 +290,7 @@ public class SocketDevResponseService {
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case NORMAL_RESPONSE:
|
case NORMAL_RESPONSE:
|
||||||
|
devInfo.add(devData);
|
||||||
break;
|
break;
|
||||||
case RE_OPERATE:
|
case RE_OPERATE:
|
||||||
break;
|
break;
|
||||||
@@ -301,213 +305,6 @@ public class SocketDevResponseService {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void main(String[] args) {
|
|
||||||
// String a = "{\"requestId\":\"dansldquiwdlandalksn\",\"operateCode\":\"DATA_REQUEST$01\",\"data\":\"{\\\"Time\\\":\\\"2024-12-18T10:26:00\\\",\\\"ID\\\":\\\"192.168.1.186_1\\\",\\\"result\\\":false,\\\"SqlData\\\":[{\\\"type\\\":\\\"平均值\\\",\\\"desc\\\":\\\"电压有效值\\\",\\\"list\\\":{\\\"A\\\":\\\"5.863635\\\",\\\"B\\\":\\\"5.865018\\\",\\\"C\\\":\\\"5.867418\\\",\\\"T\\\":null}},{\\\"type\\\":\\\"平均值\\\",\\\"desc\\\":\\\"电流有效值\\\",\\\"list\\\":{\\\"A\\\":\\\"0.000795\\\",\\\"B\\\":\\\"0.002215\\\",\\\"C\\\":\\\"0.003610\\\",\\\"T\\\":null}}],\\\"SqlDataHarm\\\":[]}\",\"code\":10202}";
|
|
||||||
// SocketDataMsg socketDataMsg = MsgUtil.socketDataMsg(a);
|
|
||||||
// String data = socketDataMsg.getData();
|
|
||||||
// DevData devData = JSON.parseObject(data, DevData.class);
|
|
||||||
|
|
||||||
String b = "{\"requestId\":\"dansldquiwdlandalksn\",\"operateCode\":\"DATA_REQUEST$01\",\"data\":\"{\\\"Time\\\":\\\"2024-12-18T10:27:00\\\",\\\"ID\\\":\\\"192.168.1.186_1\\\",\\\"result\\\":false,\\\"SqlData\\\":[{\\\"type\\\":\\\"平均值\\\",\\\"desc\\\":\\\"电压有效值\\\",\\\"list\\\":{\\\"A\\\":\\\"70.0\\\",\\\"B\\\":\\\"50.0\\\",\\\"C\\\":\\\"40.0\\\",\\\"T\\\":null}},{\\\"type\\\":\\\"平均值\\\",\\\"desc\\\":\\\"电流有效值\\\",\\\"list\\\":{\\\"A\\\":\\\"0.000782\\\",\\\"B\\\":\\\"0.002222\\\",\\\"C\\\":\\\"0.003602\\\",\\\"T\\\":null}}],\\\"SqlDataHarm\\\":[]}\",\"code\":10200}";
|
|
||||||
SocketDataMsg socketDataMsgb = MsgUtil.socketDataMsg(b);
|
|
||||||
String datab = socketDataMsgb.getData();
|
|
||||||
DevData devDatab = JSON.parseObject(datab, DevData.class);
|
|
||||||
|
|
||||||
List<SocketDataMsg> list = new LinkedList<>();
|
|
||||||
// list.add(socketDataMsg);
|
|
||||||
list.add(socketDataMsgb);
|
|
||||||
|
|
||||||
String is = "\n" +
|
|
||||||
" {\n" +
|
|
||||||
" \"sourceId\": \"1111\",\n" +
|
|
||||||
" \"type\": \"Freq\",\n" +
|
|
||||||
" \"subType\": \"NULL\",\n" +
|
|
||||||
" \"fUn\": 57.74,\n" +
|
|
||||||
" \"fIn\": 5.0,\n" +
|
|
||||||
" \"fFreq\": 50.0,\n" +
|
|
||||||
" \"channelList\": [\n" +
|
|
||||||
" {\n" +
|
|
||||||
" \"channelFlag\": true,\n" +
|
|
||||||
" \"harmFlag\": false,\n" +
|
|
||||||
" \"inHarmFlag\": false,\n" +
|
|
||||||
" \"dipFlag\": false,\n" +
|
|
||||||
" \"flickerFlag\": false,\n" +
|
|
||||||
" \"channelType\": \"Ua\",\n" +
|
|
||||||
" \"fAmp\": 60.0,\n" +
|
|
||||||
" \"fPhase\": 0.0,\n" +
|
|
||||||
" \"harmList\": [],\n" +
|
|
||||||
" \"inharmList\": [],\n" +
|
|
||||||
" \"dipData\": {\n" +
|
|
||||||
" \"fTransValue\": 0.0,\n" +
|
|
||||||
" \"fPreTime\": 2.0,\n" +
|
|
||||||
" \"fRampIn\": 0.001,\n" +
|
|
||||||
" \"fRetainTime\": 0.0,\n" +
|
|
||||||
" \"fRampOut\": 0.001,\n" +
|
|
||||||
" \"fAfterTime\": 3.0\n" +
|
|
||||||
" },\n" +
|
|
||||||
" \"flickerData\": {\n" +
|
|
||||||
" \"waveFluType\": \"SQU\",\n" +
|
|
||||||
" \"waveType\": \"CPM\",\n" +
|
|
||||||
" \"fDutyCycle\": 50.0,\n" +
|
|
||||||
" \"fChagFre\": 0.0,\n" +
|
|
||||||
" \"fChagValue\": 0.0\n" +
|
|
||||||
" }\n" +
|
|
||||||
" },\n" +
|
|
||||||
" {\n" +
|
|
||||||
" \"channelFlag\": true,\n" +
|
|
||||||
" \"harmFlag\": false,\n" +
|
|
||||||
" \"inHarmFlag\": false,\n" +
|
|
||||||
" \"dipFlag\": false,\n" +
|
|
||||||
" \"flickerFlag\": false,\n" +
|
|
||||||
" \"channelType\": \"Ub\",\n" +
|
|
||||||
" \"fAmp\": 50.0,\n" +
|
|
||||||
" \"fPhase\": -120.0,\n" +
|
|
||||||
" \"harmList\": [],\n" +
|
|
||||||
" \"inharmList\": [],\n" +
|
|
||||||
" \"dipData\": {\n" +
|
|
||||||
" \"fTransValue\": 0.0,\n" +
|
|
||||||
" \"fPreTime\": 2.0,\n" +
|
|
||||||
" \"fRampIn\": 0.001,\n" +
|
|
||||||
" \"fRetainTime\": 0.0,\n" +
|
|
||||||
" \"fRampOut\": 0.001,\n" +
|
|
||||||
" \"fAfterTime\": 3.0\n" +
|
|
||||||
" },\n" +
|
|
||||||
" \"flickerData\": {\n" +
|
|
||||||
" \"waveFluType\": \"SQU\",\n" +
|
|
||||||
" \"waveType\": \"CPM\",\n" +
|
|
||||||
" \"fDutyCycle\": 50.0,\n" +
|
|
||||||
" \"fChagFre\": 0.0,\n" +
|
|
||||||
" \"fChagValue\": 0.0\n" +
|
|
||||||
" }\n" +
|
|
||||||
" },\n" +
|
|
||||||
" {\n" +
|
|
||||||
" \"channelFlag\": true,\n" +
|
|
||||||
" \"harmFlag\": false,\n" +
|
|
||||||
" \"inHarmFlag\": false,\n" +
|
|
||||||
" \"dipFlag\": false,\n" +
|
|
||||||
" \"flickerFlag\": false,\n" +
|
|
||||||
" \"channelType\": \"Uc\",\n" +
|
|
||||||
" \"fAmp\": 40.0,\n" +
|
|
||||||
" \"fPhase\": 120.0,\n" +
|
|
||||||
" \"harmList\": [],\n" +
|
|
||||||
" \"inharmList\": [],\n" +
|
|
||||||
" \"dipData\": {\n" +
|
|
||||||
" \"fTransValue\": 0.0,\n" +
|
|
||||||
" \"fPreTime\": 2.0,\n" +
|
|
||||||
" \"fRampIn\": 0.001,\n" +
|
|
||||||
" \"fRetainTime\": 0.0,\n" +
|
|
||||||
" \"fRampOut\": 0.001,\n" +
|
|
||||||
" \"fAfterTime\": 3.0\n" +
|
|
||||||
" },\n" +
|
|
||||||
" \"flickerData\": {\n" +
|
|
||||||
" \"waveFluType\": \"SQU\",\n" +
|
|
||||||
" \"waveType\": \"CPM\",\n" +
|
|
||||||
" \"fDutyCycle\": 50.0,\n" +
|
|
||||||
" \"fChagFre\": 0.0,\n" +
|
|
||||||
" \"fChagValue\": 0.0\n" +
|
|
||||||
" }\n" +
|
|
||||||
" },\n" +
|
|
||||||
" {\n" +
|
|
||||||
" \"channelFlag\": true,\n" +
|
|
||||||
" \"harmFlag\": false,\n" +
|
|
||||||
" \"inHarmFlag\": false,\n" +
|
|
||||||
" \"dipFlag\": false,\n" +
|
|
||||||
" \"flickerFlag\": false,\n" +
|
|
||||||
" \"channelType\": \"Ia\",\n" +
|
|
||||||
" \"fAmp\": 1.0,\n" +
|
|
||||||
" \"fPhase\": 0.0,\n" +
|
|
||||||
" \"harmList\": [],\n" +
|
|
||||||
" \"inharmList\": [],\n" +
|
|
||||||
" \"dipData\": {\n" +
|
|
||||||
" \"fTransValue\": 0.0,\n" +
|
|
||||||
" \"fPreTime\": 2.0,\n" +
|
|
||||||
" \"fRampIn\": 0.001,\n" +
|
|
||||||
" \"fRetainTime\": 0.0,\n" +
|
|
||||||
" \"fRampOut\": 0.001,\n" +
|
|
||||||
" \"fAfterTime\": 3.0\n" +
|
|
||||||
" },\n" +
|
|
||||||
" \"flickerData\": {\n" +
|
|
||||||
" \"waveFluType\": \"SQU\",\n" +
|
|
||||||
" \"waveType\": \"CPM\",\n" +
|
|
||||||
" \"fDutyCycle\": 50.0,\n" +
|
|
||||||
" \"fChagFre\": 0.0,\n" +
|
|
||||||
" \"fChagValue\": 0.0\n" +
|
|
||||||
" }\n" +
|
|
||||||
" },\n" +
|
|
||||||
" {\n" +
|
|
||||||
" \"channelFlag\": true,\n" +
|
|
||||||
" \"harmFlag\": false,\n" +
|
|
||||||
" \"inHarmFlag\": false,\n" +
|
|
||||||
" \"dipFlag\": false,\n" +
|
|
||||||
" \"flickerFlag\": false,\n" +
|
|
||||||
" \"channelType\": \"Ib\",\n" +
|
|
||||||
" \"fAmp\": 2.0,\n" +
|
|
||||||
" \"fPhase\": -120.0,\n" +
|
|
||||||
" \"harmList\": [],\n" +
|
|
||||||
" \"inharmList\": [],\n" +
|
|
||||||
" \"dipData\": {\n" +
|
|
||||||
" \"fTransValue\": 0.0,\n" +
|
|
||||||
" \"fPreTime\": 2.0,\n" +
|
|
||||||
" \"fRampIn\": 0.001,\n" +
|
|
||||||
" \"fRetainTime\": 0.0,\n" +
|
|
||||||
" \"fRampOut\": 0.001,\n" +
|
|
||||||
" \"fAfterTime\": 3.0\n" +
|
|
||||||
" },\n" +
|
|
||||||
" \"flickerData\": {\n" +
|
|
||||||
" \"waveFluType\": \"SQU\",\n" +
|
|
||||||
" \"waveType\": \"CPM\",\n" +
|
|
||||||
" \"fDutyCycle\": 50.0,\n" +
|
|
||||||
" \"fChagFre\": 0.0,\n" +
|
|
||||||
" \"fChagValue\": 0.0\n" +
|
|
||||||
" }\n" +
|
|
||||||
" },\n" +
|
|
||||||
" {\n" +
|
|
||||||
" \"channelFlag\": true,\n" +
|
|
||||||
" \"harmFlag\": false,\n" +
|
|
||||||
" \"inHarmFlag\": false,\n" +
|
|
||||||
" \"dipFlag\": false,\n" +
|
|
||||||
" \"flickerFlag\": false,\n" +
|
|
||||||
" \"channelType\": \"Ic\",\n" +
|
|
||||||
" \"fAmp\": 3.0,\n" +
|
|
||||||
" \"fPhase\": 120.0,\n" +
|
|
||||||
" \"harmList\": [],\n" +
|
|
||||||
" \"inharmList\": [],\n" +
|
|
||||||
" \"dipData\": {\n" +
|
|
||||||
" \"fTransValue\": 0.0,\n" +
|
|
||||||
" \"fPreTime\": 2.0,\n" +
|
|
||||||
" \"fRampIn\": 0.001,\n" +
|
|
||||||
" \"fRetainTime\": 0.0,\n" +
|
|
||||||
" \"fRampOut\": 0.001,\n" +
|
|
||||||
" \"fAfterTime\": 3.0\n" +
|
|
||||||
" },\n" +
|
|
||||||
" \"flickerData\": {\n" +
|
|
||||||
" \"waveFluType\": \"SQU\",\n" +
|
|
||||||
" \"waveType\": \"CPM\",\n" +
|
|
||||||
" \"fDutyCycle\": 50.0,\n" +
|
|
||||||
" \"fChagFre\": 0.0,\n" +
|
|
||||||
" \"fChagValue\": 0.0\n" +
|
|
||||||
" }\n" +
|
|
||||||
" }\n" +
|
|
||||||
" ]\n" +
|
|
||||||
" }\n";
|
|
||||||
|
|
||||||
SourceIssue issue = JSON.parseObject(is, SourceIssue.class);
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 开始收到消息将消息进行存在
|
|
||||||
* 先将成功消息存储在一个set里
|
|
||||||
* 然后在判断所有的装置是否都是存在的
|
|
||||||
*/
|
|
||||||
|
|
||||||
// SocketDevResponseService service = new SocketDevResponseService(null, null);
|
|
||||||
//
|
|
||||||
// for (SocketDataMsg dataMsg : list) {
|
|
||||||
// service.test(null, dataMsg);
|
|
||||||
// }
|
|
||||||
// System.out.println();
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
private List<SourceCompareDev> devIsSource(DevData dev, SourceIssue issue) {
|
private List<SourceCompareDev> devIsSource(DevData dev, SourceIssue issue) {
|
||||||
List<SourceCompareDev> info = new ArrayList<>();
|
List<SourceCompareDev> info = new ArrayList<>();
|
||||||
@@ -590,6 +387,11 @@ public class SocketDevResponseService {
|
|||||||
return compareDev;
|
return compareDev;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void xuClear() {
|
||||||
|
this.moniterIdList.clear();
|
||||||
|
this.devInfo.clear();
|
||||||
|
this.success.clear();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 初始化集合
|
* 初始化集合
|
||||||
@@ -611,6 +413,4 @@ public class SocketDevResponseService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -71,7 +71,7 @@ public class SocketSourceResponseService {
|
|||||||
case SUCCESS:
|
case SUCCESS:
|
||||||
//todo 前端推送收到的消息暂未处理好
|
//todo 前端推送收到的消息暂未处理好
|
||||||
// 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);
|
Channel channel = SocketManager.getChannelByUserId(s);
|
||||||
if(channel==null || !channel.isActive()){
|
if(channel==null || !channel.isActive()){
|
||||||
@@ -114,19 +114,19 @@ public class SocketSourceResponseService {
|
|||||||
socketMsg.setRequestId(socketDataMsg.getRequestId());
|
socketMsg.setRequestId(socketDataMsg.getRequestId());
|
||||||
socketMsg.setOperateCode(socketDataMsg.getOperateCode());
|
socketMsg.setOperateCode(socketDataMsg.getOperateCode());
|
||||||
socketMsg.setData(dictDataEnumByCode.getMessage());
|
socketMsg.setData(dictDataEnumByCode.getMessage());
|
||||||
webSocketHandler.sendMsgToUser(param.getUserPageId(), JSON.toJSONString(socketMsg));
|
// webSocketHandler.sendMsgToUser(param.getUserPageId(), JSON.toJSONString(socketMsg));
|
||||||
|
|
||||||
|
|
||||||
String s = param.getUserPageId() + "_Dev";
|
String s = param.getUserPageId() + "_Dev";
|
||||||
socketMsg.setRequestId(SourceOperateCodeEnum.YJC_XUJY.getValue());
|
socketMsg.setRequestId(SourceOperateCodeEnum.YJC_XUJY.getValue());
|
||||||
socketMsg.setOperateCode(socketDataMsg.getOperateCode());
|
socketMsg.setOperateCode(SourceOperateCodeEnum.DEV_DATA_REQUEST_02.getValue());
|
||||||
List<PreDetection> pqDevList = iPqDevService.getDevInfo(param.getDevIds());
|
List<PreDetection> pqDevList = iPqDevService.getDevInfo(param.getDevIds());
|
||||||
List<String> moniterIdList = pqDevList.stream().flatMap(x -> x.getMonitorList().stream())
|
List<String> moniterIdList = pqDevList.stream().flatMap(x -> x.getMonitorList().stream())
|
||||||
.map(PreDetection.MonitorListDTO::getLineId)
|
.map(PreDetection.MonitorListDTO::getLineId)
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
DevPhaseSequenceParam phaseSequenceParam=new DevPhaseSequenceParam();
|
DevPhaseSequenceParam phaseSequenceParam=new DevPhaseSequenceParam();
|
||||||
phaseSequenceParam.setMoniterIdList(moniterIdList);
|
phaseSequenceParam.setMoniterIdList(moniterIdList);
|
||||||
phaseSequenceParam.setDataType(Arrays.asList("平均值/电压有效值","平均值/电流有效值"));
|
phaseSequenceParam.setDataType(Arrays.asList("实时数据/电压有效值","实时数据/电流有效值"));
|
||||||
phaseSequenceParam.setReadCount(1);
|
phaseSequenceParam.setReadCount(1);
|
||||||
phaseSequenceParam.setIgnoreCount(1);
|
phaseSequenceParam.setIgnoreCount(1);
|
||||||
socketMsg.setData(JSON.toJSONString(phaseSequenceParam));
|
socketMsg.setData(JSON.toJSONString(phaseSequenceParam));
|
||||||
@@ -138,7 +138,7 @@ public class SocketSourceResponseService {
|
|||||||
socketMsg.setRequestId(socketDataMsg.getRequestId());
|
socketMsg.setRequestId(socketDataMsg.getRequestId());
|
||||||
socketMsg.setOperateCode(socketDataMsg.getOperateCode());
|
socketMsg.setOperateCode(socketDataMsg.getOperateCode());
|
||||||
socketMsg.setData(dictDataEnumByCode.getMessage());
|
socketMsg.setData(dictDataEnumByCode.getMessage());
|
||||||
webSocketHandler.sendMsgToUser(param.getUserPageId(), JSON.toJSONString(socketMsg));
|
// webSocketHandler.sendMsgToUser(param.getUserPageId(), JSON.toJSONString(socketMsg));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -22,10 +22,12 @@ public enum SourceOperateCodeEnum {
|
|||||||
* 终端 INIT_GATHER$01 INIT_GATHER采集初始化,01 统计采集、02 暂态采集、03 实时采集
|
* 终端 INIT_GATHER$01 INIT_GATHER采集初始化,01 统计采集、02 暂态采集、03 实时采集
|
||||||
*/
|
*/
|
||||||
DEV_INIT_GATHER_01("INIT_GATHER$01", "统计采集"),
|
DEV_INIT_GATHER_01("INIT_GATHER$01", "统计采集"),
|
||||||
DEV_INIT_GATHER_02("INIT_GATHER$02", "暂态采集"),
|
DEV_INIT_GATHER_02("INIT_GATHER$02", "实时采集"),
|
||||||
DEV_INIT_GATHER_03("INIT_GATHER$03", "实时采集"),
|
DEV_INIT_GATHER_03("INIT_GATHER$03", "暂态采集"),
|
||||||
|
|
||||||
|
|
||||||
|
DEV_DATA_REQUEST_01("DATA_REQUEST$01", "统计采集申请"),
|
||||||
|
DEV_DATA_REQUEST_02("DATA_REQUEST$02", "实时采集申请"),
|
||||||
|
DEV_DATA_REQUEST_03("DATA_REQUEST$03", "暂态采集申请"),
|
||||||
|
|
||||||
|
|
||||||
YJC_YTXJY("yjc_ytxjy", "预检测_源通讯检测"),
|
YJC_YTXJY("yjc_ytxjy", "预检测_源通讯检测"),
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package com.njcn.gather.detection.pojo.po;
|
package com.njcn.gather.detection.pojo.po;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson.annotation.JSONField;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
@@ -16,36 +17,43 @@ public class SourceCompareDev {
|
|||||||
/**
|
/**
|
||||||
* 装置名称
|
* 装置名称
|
||||||
*/
|
*/
|
||||||
|
@JSONField(ordinal = 1)
|
||||||
private String devName;
|
private String devName;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 装置ip
|
* 装置ip
|
||||||
*/
|
*/
|
||||||
|
@JSONField(ordinal = 2)
|
||||||
private String ip;
|
private String ip;
|
||||||
/**
|
/**
|
||||||
* 装置通道
|
* 装置通道
|
||||||
*/
|
*/
|
||||||
|
@JSONField(ordinal = 3)
|
||||||
private String lineNum;
|
private String lineNum;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 描述
|
* 描述
|
||||||
*/
|
*/
|
||||||
|
@JSONField(ordinal = 3)
|
||||||
private String desc;
|
private String desc;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 是否合格
|
* 是否合格
|
||||||
*/
|
*/
|
||||||
|
@JSONField(ordinal = 4)
|
||||||
private Boolean isQualified;
|
private Boolean isQualified;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 源数据
|
* 源数据
|
||||||
*/
|
*/
|
||||||
private Map<String,Float> sourceData;
|
@JSONField(ordinal = 5)
|
||||||
|
private Map<String, Float> sourceData;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 装置数据
|
* 装置数据
|
||||||
*/
|
*/
|
||||||
private Map<String,Float> DevData;
|
@JSONField(ordinal = 6)
|
||||||
|
private Map<String, Float> DevData;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ import lombok.Data;
|
|||||||
* @date 2024/12/11 15:57
|
* @date 2024/12/11 15:57
|
||||||
*/
|
*/
|
||||||
@Data
|
@Data
|
||||||
public class SocketMsg {
|
public class SocketMsg<T> {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 请求id,确保接收到响应时,知晓是针对的哪次请求的应答
|
* 请求id,确保接收到响应时,知晓是针对的哪次请求的应答
|
||||||
@@ -27,5 +27,5 @@ public class SocketMsg {
|
|||||||
* 数据体,传输前需要将对象、Array等转为String
|
* 数据体,传输前需要将对象、Array等转为String
|
||||||
*/
|
*/
|
||||||
@JSONField(ordinal = 3)
|
@JSONField(ordinal = 3)
|
||||||
private String data;
|
private T data;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -39,7 +39,6 @@ import java.util.concurrent.TimeUnit;
|
|||||||
@Getter
|
@Getter
|
||||||
public class NettyClient {
|
public class NettyClient {
|
||||||
|
|
||||||
|
|
||||||
public static void socketClient(String ip, Integer port,String userPageId,SimpleChannelInboundHandler<String> handler) {
|
public static void socketClient(String ip, Integer port,String userPageId,SimpleChannelInboundHandler<String> handler) {
|
||||||
NioEventLoopGroup group = new NioEventLoopGroup();
|
NioEventLoopGroup group = new NioEventLoopGroup();
|
||||||
Bootstrap bootstrap = new Bootstrap();
|
Bootstrap bootstrap = new Bootstrap();
|
||||||
@@ -49,15 +48,26 @@ public class NettyClient {
|
|||||||
.handler(new ChannelInitializer<NioSocketChannel>() {
|
.handler(new ChannelInitializer<NioSocketChannel>() {
|
||||||
@Override
|
@Override
|
||||||
protected void initChannel(NioSocketChannel ch) {
|
protected void initChannel(NioSocketChannel ch) {
|
||||||
ch.pipeline()
|
if(port==10086){
|
||||||
|
ch.pipeline()
|
||||||
//空闲状态的handler
|
//空闲状态的handler
|
||||||
// 添加LineBasedFrameDecoder来按行分割数据
|
// 添加LineBasedFrameDecoder来按行分割数据
|
||||||
.addLast(new LineBasedFrameDecoder(10240))
|
// .addLast(new LineBasedFrameDecoder(10240))
|
||||||
// .addLast(new IdleStateHandler(10, 0, 0, TimeUnit.SECONDS))
|
// .addLast(new IdleStateHandler(10, 0, 0, TimeUnit.SECONDS))
|
||||||
.addLast(new StringDecoder(CharsetUtil.UTF_8))
|
.addLast(new StringDecoder(CharsetUtil.UTF_8))
|
||||||
.addLast(new StringEncoder(CharsetUtil.UTF_8))
|
.addLast(new StringEncoder(CharsetUtil.UTF_8))
|
||||||
.addLast(handler)
|
.addLast(handler);
|
||||||
;
|
}else{
|
||||||
|
ch.pipeline()
|
||||||
|
//空闲状态的handler
|
||||||
|
// 添加LineBasedFrameDecoder来按行分割数据
|
||||||
|
.addLast(new LineBasedFrameDecoder(10240))
|
||||||
|
// .addLast(new IdleStateHandler(10, 0, 0, TimeUnit.SECONDS))
|
||||||
|
.addLast(new StringDecoder(CharsetUtil.UTF_8))
|
||||||
|
.addLast(new StringEncoder(CharsetUtil.UTF_8))
|
||||||
|
.addLast(handler);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
bootstrap.connect(ip, port).sync().addListener((ChannelFutureListener) ch -> {
|
bootstrap.connect(ip, port).sync().addListener((ChannelFutureListener) ch -> {
|
||||||
|
|||||||
@@ -81,13 +81,14 @@ public class NettyDevClientHandler extends SimpleChannelInboundHandler<String> {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void handlerAdded(ChannelHandlerContext ctx) {
|
public void handlerAdded(ChannelHandlerContext ctx) {
|
||||||
SocketManager.addUser(param.getUserPageId()+"_dev",ctx.channel());
|
SocketManager.addUser(param.getUserPageId()+"_Dev",ctx.channel());
|
||||||
System.out.println("有通道接入" + ctx.channel());
|
System.out.println("有通道接入" + ctx.channel());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void exceptionCaught(ChannelHandlerContext ctx, Throwable cause) {
|
public void exceptionCaught(ChannelHandlerContext ctx, Throwable cause) {
|
||||||
|
socketResponseService.xuClear();
|
||||||
// 处理异常,例如记录日志、关闭连接等
|
// 处理异常,例如记录日志、关闭连接等
|
||||||
cause.printStackTrace();
|
cause.printStackTrace();
|
||||||
// 根据异常类型进行不同的处理
|
// 根据异常类型进行不同的处理
|
||||||
|
|||||||
Reference in New Issue
Block a user