ZengTao
2024-09-05 c51c2a38142865cf43d33ceb5bc72b0283a110c2
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/Downpush.java
@@ -172,6 +172,7 @@
        );
        jsonObject4.append("takeGlass", takeGlass);
        ArrayList<WebSocketServer> sendwServer4 = WebSocketServer.sessionMap.get("unloadglass");
        if (sendwServer4 != null) {
            for (WebSocketServer webserver : sendwServer4) {
@@ -204,30 +205,32 @@
    @Scheduled(fixedDelay = Long.MAX_VALUE)
    public void scanCodeTask() {
        JSONObject jsonObject = new JSONObject();
        log.info("扫描任务已启动");
        while (true) {
            try (Socket socket = new Socket(scanIp, scanPort);
                 BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()))) {
                // 接收服务器响应
                socket.setSoTimeout(1000);
                String response;
                while ((response = in.readLine()) != null) {
                    List<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("unloadglass");
                    if (CollectionUtils.isNotEmpty(sendwServer)) {
                        //按照玻璃id获取玻璃信息返回给前端界面,具体需要哪些数据待确认
                        GlassInfo glassInfo = glassInfoService.getOne(new LambdaQueryWrapper<GlassInfo>()
                                .eq(GlassInfo::getGlassId, response));
                        if (null == glassInfo) {
                            log.info("按照玻璃id:{},无法找到玻璃信息", response);
                        } else {
                            jsonObject.append("scanGlass",glassInfo);
                            sendwServer.get(0).sendMessage(jsonObject.toString());
            new Thread(() -> {
                try (Socket socket = new Socket(scanIp, scanPort);
                     BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()))) {
                    // 接收服务器响应
                    String response;
                    log.info("等待扫码中......");
                    while ((response = in.readLine()) != null) {
                        log.info("扫描到的玻璃id:{}", response);
                        List<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("scanCode");
                        if (CollectionUtils.isNotEmpty(sendwServer)) {
                            //按照玻璃id获取玻璃信息返回给前端界面,具体需要哪些数据待确认
                            GlassInfo glassInfo = glassInfoService.getOne(new LambdaQueryWrapper<GlassInfo>()
                                    .eq(GlassInfo::getGlassId, response).last("limit 1"));
                            if (null == glassInfo) {
                                log.info("按照玻璃id:{},无法找到玻璃信息", response);
                            } else {
                                sendwServer.get(0).sendMessage(glassInfo.toString());
                            }
                        }
                    }
                } catch (Exception exception) {
                    log.info("读取异常,原因为{}", exception.getMessage());
                }
            } catch (Exception exception) {
                log.info("读取异常,原因为{}", exception.getMessage());
            }
            }).start();
        }
    }
}