zhoushihao
2025-09-05 f4390f7fc1185bf87e7d2dc641ec3032a792b83b
hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/job/PushMessageToIndex.java
@@ -26,7 +26,7 @@
import com.mes.s7.entity.S7DataZKDLPOne;
import com.mes.s7.entity.S7DataZKDLPTwo;
import com.mes.s7.entity.S7DataZKExtra;
import com.mes.tools.WebSocketServer;
import com.mes.tools.WebSocketUtils;
import com.mes.utils.RedisUtil;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils;
@@ -91,6 +91,8 @@
    ModbusTcp CMJ2ModbusTcp;
    private Integer offset = 40001;
    @Resource
    private WebSocketUtils webSocketUtils;
    @Resource
    RedisUtil redisUtil;
@@ -128,15 +130,7 @@
        } catch (Exception e) {
            log.error("opc存在异常", e);
        }
        List<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get(websocketName);
        if (CollectionUtil.isNotEmpty(sendwServer)) {
            for (WebSocketServer socketServer : sendwServer) {
                if (socketServer != null && socketServer.session.isOpen()) {
                    socketServer.sendMessage(jsonObject.toString());
                }
            }
        }
        webSocketUtils.sendToWeb(websocketName, jsonObject);
    }
    @Scheduled(fixedDelay = 1000)
@@ -145,22 +139,7 @@
        try {
            //查询使用数据源1查询数据
            queryDataSource1(jsonObject);
            ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("hollowGlassMessage");
            if (sendwServer != null) {
                for (WebSocketServer webserver : sendwServer) {
                    if (webserver != null) {
                        webserver.sendMessage(jsonObject.toString());
                        List<String> messages = webserver.getMessages();
                        if (!messages.isEmpty()) {
                            // // 将最后一个消息转换为整数类型的列表
                            webserver.clearMessages();
                        }
                    } else {
                        log.info("Home is closed");
                    }
                }
            }
            webSocketUtils.sendToWeb("hollowGlassMessage", jsonObject);
        } catch (Exception e) {
            e.printStackTrace();
        }
@@ -238,6 +217,7 @@
            jsonObject.append("bigStorageCageDetailsFeedTask", inTaskList);
        } catch (Exception e) {
            //todo:不做任务处理
            log.info("中空进片任务推送数据异常:{}", e.getMessage());
        }
        try {
            //进片联机
@@ -263,66 +243,69 @@
            jsonObject.append("freeThreeRequestEntity", s7DataZKExtra.getIsFree());
        } catch (Exception e) {
            //todo:不做任务处理
            log.info("中空状态推送数据异常:{}", e.getMessage());
        }
        try {
            //出片任务数据
            List<BigStorageCageTask> outTaskList = new ArrayList<>();
            for (int i = 0; i < 6; i++) {
        //出片任务数据
        List<BigStorageCageTask> outTaskList = new ArrayList<>();
        for (int i = 0; i < 6; i++) {
            BigStorageCageTask bigStorageCageTask = new BigStorageCageTask();
            String glassId = "";
            Integer startSlot = 0;
            Integer targetSlot = 0;
            Integer taskState = 0;
            switch (i) {
                case 0:
                    glassId = s7DataZKDLPTwo.getId1();
                    startSlot = s7DataZKDLPTwo.getFrom1();
                    targetSlot = s7DataZKDLPTwo.getTo1();
                    taskState = s7DataZKDLPTwo.getState1();
                    ;
                    break;
                case 1:
                    glassId = s7DataZKDLPTwo.getId2();
                    startSlot = s7DataZKDLPTwo.getFrom2();
                    targetSlot = s7DataZKDLPTwo.getTo2();
                    taskState = s7DataZKDLPTwo.getState2();
                    break;
                case 2:
                    glassId = s7DataZKDLPTwo.getId3();
                    startSlot = s7DataZKDLPTwo.getFrom3();
                    targetSlot = s7DataZKDLPTwo.getTo3();
                    taskState = s7DataZKDLPTwo.getState3();
                    break;
                case 3:
                    glassId = s7DataZKDLPTwo.getId4();
                    startSlot = s7DataZKDLPTwo.getFrom4();
                    targetSlot = s7DataZKDLPTwo.getTo4();
                    taskState = s7DataZKDLPTwo.getState4();
                    break;
                case 4:
                    glassId = s7DataZKDLPTwo.getId5();
                    startSlot = s7DataZKDLPTwo.getFrom5();
                    targetSlot = s7DataZKDLPTwo.getTo5();
                    taskState = s7DataZKDLPTwo.getState5();
                    break;
                case 5:
                    glassId = s7DataZKDLPTwo.getId6();
                    startSlot = s7DataZKDLPTwo.getFrom6();
                    targetSlot = s7DataZKDLPTwo.getTo6();
                    taskState = s7DataZKDLPTwo.getState6();
                    break;
                BigStorageCageTask bigStorageCageTask = new BigStorageCageTask();
                String glassId = "";
                Integer startSlot = 0;
                Integer targetSlot = 0;
                Integer taskState = 0;
                switch (i) {
                    case 0:
                        glassId = s7DataZKDLPTwo.getId1();
                        startSlot = s7DataZKDLPTwo.getFrom1();
                        targetSlot = s7DataZKDLPTwo.getTo1();
                        taskState = s7DataZKDLPTwo.getState1();
                        ;
                        break;
                    case 1:
                        glassId = s7DataZKDLPTwo.getId2();
                        startSlot = s7DataZKDLPTwo.getFrom2();
                        targetSlot = s7DataZKDLPTwo.getTo2();
                        taskState = s7DataZKDLPTwo.getState2();
                        break;
                    case 2:
                        glassId = s7DataZKDLPTwo.getId3();
                        startSlot = s7DataZKDLPTwo.getFrom3();
                        targetSlot = s7DataZKDLPTwo.getTo3();
                        taskState = s7DataZKDLPTwo.getState3();
                        break;
                    case 3:
                        glassId = s7DataZKDLPTwo.getId4();
                        startSlot = s7DataZKDLPTwo.getFrom4();
                        targetSlot = s7DataZKDLPTwo.getTo4();
                        taskState = s7DataZKDLPTwo.getState4();
                        break;
                    case 4:
                        glassId = s7DataZKDLPTwo.getId5();
                        startSlot = s7DataZKDLPTwo.getFrom5();
                        targetSlot = s7DataZKDLPTwo.getTo5();
                        taskState = s7DataZKDLPTwo.getState5();
                        break;
                    case 5:
                        glassId = s7DataZKDLPTwo.getId6();
                        startSlot = s7DataZKDLPTwo.getFrom6();
                        targetSlot = s7DataZKDLPTwo.getTo6();
                        taskState = s7DataZKDLPTwo.getState6();
                        break;
                }
                if (StringUtils.isNotEmpty(glassId)) {
                    bigStorageCageTask.setGlassId(glassId);
                    bigStorageCageTask.setStartSlot(startSlot);
                    bigStorageCageTask.setTargetSlot(targetSlot);
                    bigStorageCageTask.setTaskState(taskState);
                    outTaskList.add(bigStorageCageTask);
                }
            }
            if (StringUtils.isNotEmpty(glassId)) {
                bigStorageCageTask.setGlassId(glassId);
                bigStorageCageTask.setStartSlot(startSlot);
                bigStorageCageTask.setTargetSlot(targetSlot);
                bigStorageCageTask.setTaskState(taskState);
                outTaskList.add(bigStorageCageTask);
            }
            jsonObject.append("bigStorageCageDetailsOutTask", outTaskList);
        }catch (Exception e){
            log.info("中空出片任务推送数据异常:{}", e.getMessage());
        }
        jsonObject.append("bigStorageCageDetailsOutTask", outTaskList);
        //调度开关
        boolean dispatchHollowSwitch = false;
        if (redisUtil.getCacheObject("dispatchHollowSwitch") == null) {
@@ -361,20 +344,6 @@
        jsonObject.append("pieChartVOS", pieChartVOS);
        List<RunTime> hollowRunTimes = hollowBigStorageCageHistoryTaskService.queryRunTimes(LocalDate.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
        jsonObject.append("hollowRunTimes", hollowRunTimes);
        ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("largenScreen");
        if (sendwServer != null) {
            for (WebSocketServer webserver : sendwServer) {
                if (webserver != null) {
                    webserver.sendMessage(jsonObject.toString());
                    List<String> messages = webserver.getMessages();
                    if (!messages.isEmpty()) {
                        // // 将最后一个消息转换为整数类型的列表
                        webserver.clearMessages();
                    }
                } else {
                    log.info("largenScreen is closed");
                }
            }
        }
        webSocketUtils.sendToWeb("largenScreen", jsonObject);
    }
}