From cf4622df137c26d238730316651f214fd29ca65f Mon Sep 17 00:00:00 2001
From: huang <1532065656@qq.com>
Date: 星期五, 25 七月 2025 16:38:13 +0800
Subject: [PATCH] 修改最新websocket
---
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/job/MachineTask.java | 64 +++---
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/job/PLCCleaning.java | 11
/dev/null | 174 -------------------
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/plannedAmount/service/impl/PlannedAmountImpl.java | 8
JiuMuMesParent/common/servicebase/src/main/java/com/mes/websocket/WebSocketServer.java | 170 ++++++++++++++++++
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/yield/service/impl/YieldServiceImpl.java | 12
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/energy/service/impl/EnergyConsumptionServiceImpl.java | 10
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/job/AddTask.java | 25 +-
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/mechanicalMonitor/controller/MechanicalMonitorController.java | 12
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/mechanicalMonitor/service/impl/MechanicalMonitorServiceImpl.java | 12
JiuMuMesParent/common/servicebase/src/main/java/com/mes/websocket/WebSocketUtils.java | 31 +++
11 files changed, 275 insertions(+), 254 deletions(-)
diff --git a/JiuMuMesParent/common/servicebase/src/main/java/com/mes/tools/WebSocketServer.java b/JiuMuMesParent/common/servicebase/src/main/java/com/mes/tools/WebSocketServer.java
deleted file mode 100644
index e7c58c8..0000000
--- a/JiuMuMesParent/common/servicebase/src/main/java/com/mes/tools/WebSocketServer.java
+++ /dev/null
@@ -1,174 +0,0 @@
-package com.mes.tools;
-
-import cn.hutool.json.JSONObject;
-import cn.hutool.json.JSONUtil;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.context.ConfigurableApplicationContext;
-import org.springframework.stereotype.Component;
-
-import javax.websocket.*;
-import javax.websocket.server.PathParam;
-import javax.websocket.server.ServerEndpoint;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
-
-@ServerEndpoint(value = "/api/talk/{username}")
-@Component("webSocketServer")
-public class WebSocketServer {
-
-
- public static ConfigurableApplicationContext applicationContext;
-
- private static final Logger log = LoggerFactory.getLogger(WebSocketServer.class);
- private List<String> messages;
- /**
- * 璁板綍褰撳墠鍦ㄧ嚎杩炴帴鏁�
- */
- public static final Map<String, ArrayList<WebSocketServer>> sessionMap = new ConcurrentHashMap<>();
-
- public String username;
- public Session session;
-
- public WebSocketServer() {
- this.messages = new ArrayList<>();
- }
-
- /**
- * 杩炴帴寤虹珛鎴愬姛璋冪敤鐨勬柟娉�
- */
- @OnOpen
- public void onOpen(Session session, @PathParam("username") String username) {
- this.username = username;
- this.session = session;
- List<WebSocketServer> webSocketServers = sessionMap.get(username);
- if (webSocketServers == null) {
- ArrayList<WebSocketServer> arrayListwebserver = new ArrayList<WebSocketServer>();
- arrayListwebserver.add(this);
- sessionMap.put(username, arrayListwebserver);
- } else {
- webSocketServers.add(this);
- }
-
- log.info("鏈夋柊鐢ㄦ埛鍔犲叆锛寀sername={}, 褰撳墠鍦ㄧ嚎浜烘暟涓猴細{}", username, sessionMap.get(username).size());
-
- // JSONObject result = new JSONObject();
- // JSONArray array = new JSONArray();
- // result.set("users", array);
- // for (Object key : sessionMap.keySet()) {
- // JSONObject jsonObject = new JSONObject();
- // jsonObject.set("username", key);
- // array.add(jsonObject);
- // }
-
- // sendAllMessage(JSONUtil.toJsonStr(result)); // 鍚庡彴鍙戦�佹秷鎭粰鎵�鏈夌殑瀹㈡埛绔�
- }
-
- /**
- * 杩炴帴鍏抽棴璋冪敤鐨勬柟娉�
- */
- @OnClose
- public void onClose(Session session, @PathParam("username") String username) {
- List<WebSocketServer> webSocketServers = sessionMap.get(username);
- ArrayList<WebSocketServer> arrayListwebserver = new ArrayList<WebSocketServer>();
- if (webSocketServers.size() > 1) {
- for (WebSocketServer webSocketServer : webSocketServers) {
- if (webSocketServer != this) {
- arrayListwebserver.add(webSocketServer);
- }
- }
- sessionMap.put(username, arrayListwebserver);
- log.info("绉婚櫎username={}涓�鍚嶇敤鎴穝ession, {}鐨勫綋鍓嶅湪绾夸汉鏁颁负锛歿}", username, username, sessionMap.get(username).size());
- } else {
- sessionMap.remove(username);
- log.info("绉婚櫎username={}涓�鍚嶇敤鎴穝ession, {}杩炴帴鍏抽棴, 褰撳墠杩炴帴鏁颁负锛歿}", username, username, sessionMap.size());
- }
-
- }
-
- /**
- * 鏀跺埌瀹㈡埛绔秷鎭悗璋冪敤鐨勬柟娉�
- * 鍚庡彴鏀跺埌瀹㈡埛绔彂閫佽繃鏉ョ殑娑堟伅
- * onMessage 鏄竴涓秷鎭殑涓浆绔�
- * 鎺ュ彈 娴忚鍣ㄧ socket.send 鍙戦�佽繃鏉ョ殑 json鏁版嵁
- *
- * @param message 瀹㈡埛绔彂閫佽繃鏉ョ殑娑堟伅
- */
- @OnMessage
- public void onMessage(String message, Session session, @PathParam("username") String username) {
- log.info("鏈嶅姟绔敹鍒扮敤鎴穟sername={}鐨勬秷鎭�:{}", username, message);
- JSONObject obj = JSONUtil.parseObj(message);
- String text = obj.getStr("data");
-
- JSONObject jsonObject = new JSONObject();
- jsonObject.set("message", text);
- this.messages.add(text);
- }
-
- @OnError
- public void onError(Session session, Throwable error) {
- log.error("鍙戠敓閿欒");
- error.printStackTrace();
- }
-
- /**
- * 鏈嶅姟绔彂閫佹秷鎭粰瀹㈡埛绔�
- */
- public void sendMessage(String message) {
- try {
- // log.info("鏈嶅姟绔粰瀹㈡埛绔痆{}]鍙戦�佹秷鎭瘂}", this.session.getId(), message);
- if(this.session.isOpen()){
- int maxChunkSize = 50000; // 瀹氫箟鏈�澶х殑鍒嗗潡澶у皬
- int length = message.length();
- if(length>50000){
- int chunks = (int) Math.ceil((double) length / maxChunkSize);
- //鍒嗗潡鍙戦�佹秷鎭�
- for (int i = 0; i < chunks; i++) {
- int startIndex = i * maxChunkSize;
- int endIndex = Math.min(startIndex + maxChunkSize, length);
- String chunk = message.substring(startIndex, endIndex);
- // 鍒ゆ柇鏄惁鏄渶鍚庝竴鍧楁秷鎭�
- boolean isLastChunk = (i == chunks - 1);
- if(isLastChunk==true){
- chunk+="<END>";
- }
- // 鍙戦�佸垎鍧楁秷鎭紝骞朵紶閫掓槸鍚︽槸鏈�鍚庝竴鍧楁秷鎭殑鏍囪瘑
- this.session.getBasicRemote().sendText(chunk);
- }
- }else{
- this.session.getBasicRemote().sendText(message);
- }
-
- }
- } catch (Exception e) {
- //log.error("鍙戦�佹秷鎭粰瀹㈡埛绔け璐ワ細{}", e.getMessage(), e);
- }
- }
-
- // /**
- // * 鏈嶅姟绔彂閫佹秷鎭粰鎵�鏈夊鎴风
- // */
- // public void sendAllMessage(String message) {
- // try {
- // for (WebSocketServer webSocketServer : sessionMap.values()) {
- // // log.info("鏈嶅姟绔粰瀹㈡埛绔痆{}]鍙戦�佹秷鎭瘂}", this.session.getId(), message);
- // webSocketServer.sendMessage(message);
- // }
- // } catch (Exception e) {
- // log.error("鏈嶅姟绔彂閫佹秷鎭粰瀹㈡埛绔け璐�", e);
- // }
- // }
-
- public List<String> getMessages() {
- return messages;
-
- }
-
- public void clearMessages() {
- messages.clear();
- }
-
-
-}
diff --git a/JiuMuMesParent/common/servicebase/src/main/java/com/mes/websocket/WebSocketServer.java b/JiuMuMesParent/common/servicebase/src/main/java/com/mes/websocket/WebSocketServer.java
new file mode 100644
index 0000000..7768f31
--- /dev/null
+++ b/JiuMuMesParent/common/servicebase/src/main/java/com/mes/websocket/WebSocketServer.java
@@ -0,0 +1,170 @@
+package com.mes.websocket;
+
+import cn.hutool.json.JSONObject;
+import cn.hutool.json.JSONUtil;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.stereotype.Component;
+
+import javax.websocket.*;
+import javax.websocket.server.PathParam;
+import javax.websocket.server.ServerEndpoint;
+import java.io.IOException;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.CopyOnWriteArrayList;
+import java.util.concurrent.Semaphore;
+/**
+ * WebSocketServer class
+ *
+ * @author zsh
+ * @date 2025/07/04
+ */
+@ServerEndpoint(value = "/api/talk/{webSocketName}")
+@Component
+public class WebSocketServer {
+
+ /** 鏃ュ織璁板綍鍣紝璁板綍 WebSocketServer 绫昏繍琛屾椂鏃ュ織淇℃伅 */
+ private static final Logger log = LoggerFactory.getLogger(WebSocketServer.class);
+
+ /** 鍗曟娑堟伅鍏佽鐨勬渶澶у瓧绗︽暟锛堣秴鍑哄垯杩涜鍒嗗潡锛� */
+ private static final int MAX_MESSAGE_SIZE = 50000;
+
+ /** 鐢ㄤ簬闄愬埗骞跺彂杩炴帴鏁伴噺鐨勪俊鍙烽噺锛屾帶鍒舵渶澶у苟鍙戞暟涓� 100 */
+ private static final Semaphore SEMAPHORE = new Semaphore(100);
+
+ /**
+ * 鐢ㄦ埛鍚嶄笌 WebSocket 瀹炰緥鏄犲皠琛紝鏀寔涓�涓敤鎴峰搴斿涓繛鎺ャ��
+ * 浣跨敤绾跨▼瀹夊叏鐨� ConcurrentHashMap 瀛樺偍锛屼繚璇侀珮骞跺彂涓嬬殑鏁版嵁涓�鑷存�с��
+ */
+ public static final Map<String, List<WebSocketServer>> SESSIONMAP = new ConcurrentHashMap<>();
+// public static final Map<String, ArrayList<WebSocketServer>> sessionMap = new ConcurrentHashMap<>();
+
+ /** 褰撳墠杩炴帴瀵瑰簲鐨勭敤鎴峰悕 */
+ private String webSocketName;
+
+ /** 褰撳墠杩炴帴鐨� WebSocket 浼氳瘽瀵硅薄 */
+ private Session session;
+
+ /** 绾跨▼瀹夊叏鐨勬秷鎭紦瀛橈紝鐢ㄤ簬璁板綍褰撳墠杩炴帴鏀跺埌鐨勬墍鏈夋秷鎭� */
+ private final List<String> messages = new CopyOnWriteArrayList<>();
+
+
+ /**
+ * 杩炴帴寤虹珛
+ */
+ @OnOpen
+ public void onOpen(Session session, @PathParam("webSocketName") String webSocketName) {
+ this.webSocketName = webSocketName;
+ this.session = session;
+
+ SESSIONMAP.computeIfAbsent(webSocketName, k -> new CopyOnWriteArrayList<>())
+ .add(this);
+
+ log.info("鐢ㄦ埛杩炴帴: webSocketName={}, 褰撳墠浼氳瘽鏁�: {}", webSocketName,
+ SESSIONMAP.getOrDefault(webSocketName, Collections.emptyList()).size());
+ }
+
+ /**
+ * 杩炴帴鍏抽棴
+ */
+ @OnClose
+ public void onClose() {
+ List<WebSocketServer> sessions = SESSIONMAP.get(webSocketName);
+ if (sessions != null) {
+ sessions.remove(this);
+ if (sessions.isEmpty()) {
+ SESSIONMAP.remove(webSocketName);
+ }
+ log.info("鐢ㄦ埛鏂紑: webSocketName={}, 鍓╀綑浼氳瘽鏁�: {}", webSocketName,
+ SESSIONMAP.getOrDefault(webSocketName, Collections.emptyList()).size());
+ }
+ }
+
+ /**
+ * 鎺ユ敹娑堟伅
+ */
+ @OnMessage
+ public void onMessage(String message) {
+ log.info("鏀跺埌娑堟伅: webSocketName={}, content={}", webSocketName, message);
+ JSONObject obj = JSONUtil.parseObj(message);
+ // 瀛樺偍娑堟伅鍘嗗彶
+ messages.add(obj.getStr("data"));
+ }
+
+ /**
+ * 閿欒澶勭悊
+ */
+ @OnError
+ public void onError(Throwable error) {
+ log.error("WebSocket閿欒: webSocketName={}", webSocketName, error);
+ }
+
+ /**
+ * 鍚戝綋鍓嶇敤鎴风殑鎵�鏈変細璇濆彂閫佹秷鎭�
+ */
+ public void sendToWeb(String webSocketName, String message) {
+ List<WebSocketServer> sessions = SESSIONMAP.get(webSocketName);
+ if (sessions == null) {
+ return;
+ }
+
+ sessions.forEach(ws -> {
+ try {
+ SEMAPHORE.acquire();
+ ws.sendChunkedMessage(message);
+ } catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
+ } catch (Exception e) {
+ log.error("鎺ㄩ�佸け璐�: webSocketName={}", webSocketName, e);
+ } finally {
+ SEMAPHORE.release();
+ }
+ });
+ }
+
+ /**
+ * 鍒嗗潡鍙戦�佸ぇ娑堟伅
+ */
+ private void sendChunkedMessage(String message) {
+ if (!session.isOpen()) {
+ return;
+ }
+
+ try {
+ if (message.length() <= MAX_MESSAGE_SIZE) {
+ session.getBasicRemote().sendText(message);
+ return;
+ }
+
+ // 鍒嗗潡鍙戦��
+ int chunks = (int) Math.ceil((double) message.length() / MAX_MESSAGE_SIZE);
+ for (int i = 0; i < chunks; i++) {
+ int start = i * MAX_MESSAGE_SIZE;
+ int end = Math.min(start + MAX_MESSAGE_SIZE, message.length());
+ String chunk = message.substring(start, end) + (i == chunks - 1 ? "<END>" : "");
+ session.getBasicRemote().sendText(chunk);
+ }
+ } catch (IOException e) {
+ log.error("娑堟伅鍙戦�佸け璐�: webSocketName={}", webSocketName, e);
+ }
+ }
+
+ public List<WebSocketServer> getWebSocketServer(String name) {
+ return SESSIONMAP.get(name);
+ }
+ public static Set<String> getOnlineUsers() {
+ return SESSIONMAP.keySet();
+ }
+
+ public List<String> getMessages() {
+ return Collections.unmodifiableList(messages);
+ }
+
+ public void clearMessages() {
+ messages.clear();
+ }
+}
\ No newline at end of file
diff --git a/JiuMuMesParent/common/servicebase/src/main/java/com/mes/websocket/WebSocketUtils.java b/JiuMuMesParent/common/servicebase/src/main/java/com/mes/websocket/WebSocketUtils.java
new file mode 100644
index 0000000..fc26672
--- /dev/null
+++ b/JiuMuMesParent/common/servicebase/src/main/java/com/mes/websocket/WebSocketUtils.java
@@ -0,0 +1,31 @@
+package com.mes.websocket;
+
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Component;
+
+import javax.annotation.Resource;
+
+/**
+ * @Author : zhoush
+ * @Date: 2025/6/27 10:01
+ * @Description:
+ */
+@Slf4j
+@Component
+public class WebSocketUtils {
+ @Resource
+ WebSocketServer webSocketServer;
+ @Resource
+ ObjectMapper objectMapper;
+
+ public <T> void sendToWeb(String webSocketName, T t) {
+ try {
+ String message = objectMapper.writeValueAsString(t);
+ webSocketServer.sendToWeb(webSocketName, message);
+ } catch (JsonProcessingException ex) {
+ log.info("{}鍙戦�佹暟鎹け璐ワ細{}", "rawGlassStorage", ex.getMessage());
+ }
+ }
+}
diff --git a/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/energy/service/impl/EnergyConsumptionServiceImpl.java b/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/energy/service/impl/EnergyConsumptionServiceImpl.java
index a76bc5f..8ba418f 100644
--- a/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/energy/service/impl/EnergyConsumptionServiceImpl.java
+++ b/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/energy/service/impl/EnergyConsumptionServiceImpl.java
@@ -1,14 +1,14 @@
package com.mes.energy.service.impl;
+import cn.hutool.json.JSONObject;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.mes.energy.entity.EnergyConsumption;
import com.mes.energy.mapper.EnergyConsumptionMapper;
import com.mes.energy.service.EnergyConsumptionService;
-import com.mes.tools.WebSocketServer;
-import cn.hutool.json.JSONObject;
+import com.mes.websocket.WebSocketServer;
import org.springframework.stereotype.Service;
-import java.util.ArrayList;
+import java.util.List;
@Service
public class EnergyConsumptionServiceImpl extends ServiceImpl<EnergyConsumptionMapper, EnergyConsumption> implements EnergyConsumptionService {
@@ -19,10 +19,10 @@
message.set("type", "energy_update");
message.set("data", consumption);
- ArrayList<WebSocketServer> servers = WebSocketServer.sessionMap.get("energy");
+ List<WebSocketServer> servers = WebSocketServer.SESSIONMAP.get("energy");
if (servers != null) {
for (WebSocketServer server : servers) {
- server.sendMessage(message.toString());
+ server.sendToWeb("",message.toString());
}
}
}
diff --git a/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/job/AddTask.java b/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/job/AddTask.java
index e8f2e13..6af91a1 100644
--- a/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/job/AddTask.java
+++ b/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/job/AddTask.java
@@ -1,25 +1,22 @@
package com.mes.job;
import cn.hutool.json.JSONObject;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
-import com.mes.md.entity.*;
-import com.mes.md.mapper.MachineMapper;
+import com.mes.md.entity.KBBTJPDrawingBP;
+import com.mes.md.entity.Tasking;
import com.mes.md.mapper.TaskingMapper;
-import com.mes.md.service.*;
-import com.mes.service.ModbusTcp;
-import com.mes.service.PlcAgreement;
-import com.mes.service.PlcParameter;
-import com.mes.tools.WebSocketServer;
-import com.mes.utils.HexUtil;
-import com.mes.utils.Result;
+import com.mes.md.service.KBBTJPDrawingBPService;
+import com.mes.md.service.ProjectService;
+import com.mes.md.service.TaskingLogService;
+import com.mes.websocket.WebSocketServer;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
-import java.text.SimpleDateFormat;
-import java.util.*;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.List;
/**
* @author SNG-010
@@ -69,12 +66,12 @@
JSONObject jsonObject = new JSONObject();
List<KBBTJPDrawingBP> list =kBBTJPDrawingBPService.notReceiveKBBTJPDrawingBP();
jsonObject.append("content", list);
- ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("notReceiveTask");
+ List<WebSocketServer> sendwServer = WebSocketServer.SESSIONMAP.get("notReceiveTask");
if (sendwServer != null) {
for (WebSocketServer webserver : sendwServer) {
if (webserver != null) {
try {
- webserver.sendMessage(jsonObject.toString());
+ webserver.sendToWeb("",jsonObject.toString());
List<String> messages = webserver.getMessages();
if (!messages.isEmpty()) {
// // 灏嗘渶鍚庝竴涓秷鎭浆鎹负鏁存暟绫诲瀷鐨勫垪琛�
diff --git a/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/job/MachineTask.java b/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/job/MachineTask.java
index 073b79d..b882c87 100644
--- a/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/job/MachineTask.java
+++ b/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/job/MachineTask.java
@@ -2,24 +2,19 @@
import cn.hutool.json.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.github.xingshuangs.iot.protocol.s7.enums.EPlcType;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
-import com.mes.common.S7objectFlipSlice;
-import com.mes.common.S7objectMachine;
-import com.mes.common.S7objectMarking;
-import com.mes.device.PlcParameterInfo;
-import com.mes.device.PlcParameterObject;
import com.mes.md.entity.*;
import com.mes.md.mapper.GlassInfoMapper;
import com.mes.md.mapper.MachineMapper;
import com.mes.md.mapper.TaskingMapper;
import com.mes.md.service.*;
-import com.mes.tools.WebSocketServer;
+import com.mes.websocket.WebSocketServer;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
+import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@@ -50,6 +45,8 @@
KBBTJPDrawingBPService kBBTJPDrawingBPService;
@Autowired
LineConfigurationService lineConfigurationService;
+ @Resource
+ WebSocketServer webSocketServer;
@Autowired
private GlassInfoMapper glassInfoMapper;
public List<Map> sendRecords = new ArrayList<>();
@@ -241,33 +238,42 @@
this.webSocketServer(jsonObject);
}
-
public void webSocketServer(JSONObject jsonObject) {
try {
String sessionMapName=jsonObject.getJSONArray("sessionMapName").get(0).toString();
- ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get(sessionMapName);
- if (sendwServer != null) {
- for (WebSocketServer webserver : sendwServer) {
- if (webserver != null) {
- try {
- webserver.sendMessage(jsonObject.toString());
- List<String> messages = webserver.getMessages();
- if (!messages.isEmpty()) {
- // // 灏嗘渶鍚庝竴涓秷鎭浆鎹负鏁存暟绫诲瀷鐨勫垪琛�
- webserver.clearMessages();
- }
- }catch (Exception e) {
-
- }
- } else {
- log.info("Home is closed");
- }
- }
- }
- }catch (Exception e) {
-
+ webSocketServer.sendToWeb(sessionMapName, jsonObject.toString());
+ } catch (Exception ex) {
+ log.info("{}鍙戦�佹暟鎹け璐ワ細{}", "rawGlassStorage", ex.getMessage());
}
}
+// public void webSocketServer(JSONObject jsonObject) {
+// try {
+// String sessionMapName=jsonObject.getJSONArray("sessionMapName").get(0).toString();
+// ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get(sessionMapName);
+// if (sendwServer != null) {
+// for (WebSocketServer webserver : sendwServer) {
+// try {
+// webserver.sendMessage(jsonObject.toString());
+// List<String> messages = webserver.getMessages();
+// if (!messages.isEmpty()) {
+// // // 灏嗘渶鍚庝竴涓秷鎭浆鎹负鏁存暟绫诲瀷鐨勫垪琛�
+// webserver.clearMessages();
+// }
+// }catch (Exception e) {
+// if (webserver != null) {
+//
+// } else {
+// log.info("Home is closed");
+// }
+// }
+//
+// }
+// }
+// }catch (Exception e) {
+//
+// }
+//
+// }
}
diff --git a/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/job/PLCCleaning.java b/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/job/PLCCleaning.java
index 3c04855..1c4d7d0 100644
--- a/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/job/PLCCleaning.java
+++ b/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/job/PLCCleaning.java
@@ -2,25 +2,20 @@
import cn.hutool.json.JSONObject;
import com.github.xingshuangs.iot.protocol.s7.enums.EPlcType;
-import com.mes.common.S7object;
import com.mes.common.S7objectCleaning;
import com.mes.common.S7objectMachine;
-import com.mes.common.S7objectMarking;
import com.mes.device.PlcParameterInfo;
import com.mes.device.PlcParameterObject;
import com.mes.md.entity.Machine;
import com.mes.md.entity.Tasking;
import com.mes.md.mapper.MachineMapper;
import com.mes.md.service.TaskingService;
-import com.mes.tools.WebSocketServer;
+import com.mes.websocket.WebSocketServer;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
-import java.util.ArrayList;
import java.util.List;
-import java.util.Objects;
/**
* @author SNG-010
@@ -67,12 +62,12 @@
List<Tasking> taskingList=taskingService.findMachineTask(machine);
jsonObject.append("taskingList", taskingList);
jsonObject.append("machine", machine);
- ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("cleaning");
+ List<WebSocketServer> sendwServer = WebSocketServer.SESSIONMAP.get("cleaning");
if (sendwServer != null) {
for (WebSocketServer webserver : sendwServer) {
if (webserver != null) {
try {
- webserver.sendMessage(jsonObject.toString());
+ webserver.sendToWeb("",jsonObject.toString());
List<String> messages = webserver.getMessages();
if (!messages.isEmpty()) {
// // 灏嗘渶鍚庝竴涓秷鎭浆鎹负鏁存暟绫诲瀷鐨勫垪琛�
diff --git a/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/mechanicalMonitor/controller/MechanicalMonitorController.java b/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/mechanicalMonitor/controller/MechanicalMonitorController.java
index 5db0ed7..c3198e8 100644
--- a/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/mechanicalMonitor/controller/MechanicalMonitorController.java
+++ b/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/mechanicalMonitor/controller/MechanicalMonitorController.java
@@ -1,17 +1,17 @@
package com.mes.mechanicalMonitor.controller;
+import cn.hutool.json.JSONObject;
import com.mes.mechanicalMonitor.entity.MechanicalMonitor;
import com.mes.mechanicalMonitor.service.MechanicalMonitorService;
-import com.mes.tools.WebSocketServer;
import com.mes.utils.Result;
+import com.mes.websocket.WebSocketServer;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
-import cn.hutool.json.JSONObject;
-import java.util.ArrayList;
-import java.util.List;
+
import java.util.HashMap;
+import java.util.List;
import java.util.Map;
@Api(tags = "璁惧鐘舵�佺洃鎺�")
@@ -42,10 +42,10 @@
@ResponseBody
public Result updateMechanicalStatus(@RequestBody JSONObject status) {
try {
- ArrayList<WebSocketServer> servers = WebSocketServer.sessionMap.get("mechanicalMonitor");
+ List<WebSocketServer> servers = WebSocketServer.SESSIONMAP.get("mechanicalMonitor");
if (servers != null) {
for (WebSocketServer server : servers) {
- server.sendMessage(status.toString());
+ server.sendToWeb("",status.toString());
}
}
return Result.build(200, "鐘舵�佹洿鏂版垚鍔�", null);
diff --git a/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/mechanicalMonitor/service/impl/MechanicalMonitorServiceImpl.java b/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/mechanicalMonitor/service/impl/MechanicalMonitorServiceImpl.java
index 140050b..ebfe8fb 100644
--- a/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/mechanicalMonitor/service/impl/MechanicalMonitorServiceImpl.java
+++ b/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/mechanicalMonitor/service/impl/MechanicalMonitorServiceImpl.java
@@ -1,15 +1,15 @@
package com.mes.mechanicalMonitor.service.impl;
+import cn.hutool.json.JSONObject;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.mes.mechanicalMonitor.entity.MechanicalMonitor;
import com.mes.mechanicalMonitor.mapper.MechanicalMonitorMapper;
import com.mes.mechanicalMonitor.service.MechanicalMonitorService;
-import com.mes.tools.WebSocketServer;
-import cn.hutool.json.JSONObject;
+import com.mes.websocket.WebSocketServer;
import org.springframework.stereotype.Service;
-import java.util.List;
+
import java.util.Date;
-import java.util.ArrayList;
+import java.util.List;
@Service
public class MechanicalMonitorServiceImpl extends ServiceImpl<MechanicalMonitorMapper, MechanicalMonitor>
@@ -52,10 +52,10 @@
message.set("type", "status_change");
message.set("data", monitor);
- ArrayList<WebSocketServer> servers = WebSocketServer.sessionMap.get("mechanicalMonitor");
+ List<WebSocketServer> servers = WebSocketServer.SESSIONMAP.get("mechanicalMonitor");
if (servers != null) {
for (WebSocketServer server : servers) {
- server.sendMessage(message.toString());
+ server.sendToWeb("",message.toString());
}
}
}
diff --git a/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/plannedAmount/service/impl/PlannedAmountImpl.java b/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/plannedAmount/service/impl/PlannedAmountImpl.java
index bc66678..96b6940 100644
--- a/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/plannedAmount/service/impl/PlannedAmountImpl.java
+++ b/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/plannedAmount/service/impl/PlannedAmountImpl.java
@@ -5,10 +5,10 @@
import com.mes.plannedAmount.entity.PlannedAmount;
import com.mes.plannedAmount.mapper.PlannedAmountMapper;
import com.mes.plannedAmount.service.PlannedAmountService;
-import com.mes.tools.WebSocketServer;
+import com.mes.websocket.WebSocketServer;
import org.springframework.stereotype.Service;
-import java.util.ArrayList;
+import java.util.List;
@Service
public class PlannedAmountImpl extends ServiceImpl<PlannedAmountMapper, PlannedAmount> implements PlannedAmountService {
@@ -19,10 +19,10 @@
message.set("type", "planned_update");
message.set("data", value);
- ArrayList<WebSocketServer> servers = WebSocketServer.sessionMap.get("value");
+ List<WebSocketServer> servers = WebSocketServer.SESSIONMAP.get("value");
if (servers != null) {
for (WebSocketServer server : servers) {
- server.sendMessage(message.toString());
+ server.sendToWeb("",message.toString());
}
}
}
diff --git a/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/yield/service/impl/YieldServiceImpl.java b/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/yield/service/impl/YieldServiceImpl.java
index 43ece60..74b3492 100644
--- a/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/yield/service/impl/YieldServiceImpl.java
+++ b/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/yield/service/impl/YieldServiceImpl.java
@@ -1,18 +1,14 @@
package com.mes.yield.service.impl;
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import cn.hutool.json.JSONObject;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.mes.websocket.WebSocketServer;
import com.mes.yield.entity.Yield;
import com.mes.yield.mapper.YieldMapper;
import com.mes.yield.service.YieldService;
-import com.mes.tools.WebSocketServer;
-import cn.hutool.json.JSONObject;
import org.springframework.stereotype.Service;
-import java.time.LocalDateTime;
-import java.util.ArrayList;
import java.util.List;
-import java.util.Map;
@Service
public class YieldServiceImpl extends ServiceImpl<YieldMapper, Yield> implements YieldService {
@@ -23,10 +19,10 @@
message.set("type", "yield_update");
message.set("data", yield);
- ArrayList<WebSocketServer> servers = WebSocketServer.sessionMap.get("yield");
+ List<WebSocketServer> servers = WebSocketServer.SESSIONMAP.get("yield");
if (servers != null) {
for (WebSocketServer server : servers) {
- server.sendMessage(message.toString());
+ server.sendToWeb("",message.toString());
}
}
}
--
Gitblit v1.8.0