ZengTao
2025-03-28 f68d3c71819feb59e7a227a5d992b059b900916c
hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/job/PlcTemperingGlassTask.java
@@ -37,59 +37,44 @@
    @Scheduled(fixedDelay = 1000)
    public void temperingGlassHome() {
        JSONObject jsonObject = new JSONObject();
        //正在等待进片的玻璃
        List<TemperingGlassInfo> waitingGlass = temperingAgoService.selectWaitingGlass();
        if (waitingGlass != null) {
            jsonObject.append("waitingGlass", waitingGlass);
        }
        //获取整在炉中的两个版图id
        List<TemperingGlassInfo> layoutId = temperingAgoService.selectLayoutId();
        //进炉中的玻璃
        if (!layoutId.isEmpty()) {
            List<TemperingGlassInfo> intoGlass = temperingAgoService.selectIntoGlass(layoutId.get(0));
            jsonObject.append("intoGlass", intoGlass);
            //进炉中的第二个版图
            if (layoutId.size() > 1) {
                List<TemperingGlassInfo> intoGlass2 = temperingAgoService.selectIntoGlass(layoutId.get(1));
                jsonObject.append("intoGlass2", intoGlass2);
            }
        }
        //出炉后的玻璃
        List<TemperingGlassInfo> outGlass = temperingAgoService.selectOutGlass();
        if (outGlass != null) {
            jsonObject.append("outGlass", outGlass);
        }
        //过旋转台钢化后的玻璃
        List<TemperingGlassInfo> overGlass = temperingAgoService.selectOverGlass();
        if (outGlass != null) {
            jsonObject.append("overGlass", overGlass);
        }
        //当前钢化工程的拿走数据
        LambdaQueryWrapper<TemperingGlassInfo> queryWrapper = new LambdaQueryWrapper<>();
        queryWrapper.select(TemperingGlassInfo::getEngineerId)
                .lt(TemperingGlassInfo::getState, Const.TEMPERING_END)
                .groupBy(TemperingGlassInfo::getEngineerId);
        List<String> engineerIds = temperingAgoService.list(queryWrapper)
                .stream()
                .map(TemperingGlassInfo::getEngineerId)
                .distinct()
                .collect(Collectors.toList());
        List<Damage> temperingTakeGlassInfos = damageService.list(
                new LambdaQueryWrapper<Damage>()
                        .in(Damage::getEngineerId, engineerIds)
                        .eq(Damage::getType, Const.GLASS_STATE_TAKE)
                        .orderByAsc(Damage::getId)
        );
        jsonObject.append("temperingTakeGlassInfos", temperingTakeGlassInfos);
        ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("temperingGlass");
        if (sendwServer != null) {
            //正在等待进片的玻璃
            List<TemperingGlassInfo> waitingGlass = temperingAgoService.selectWaitingGlass();
            if (waitingGlass != null) {
                jsonObject.append("waitingGlass", waitingGlass);
            }
            //获取整在炉中的两个版图id
            List<TemperingGlassInfo> layoutId = temperingAgoService.selectLayoutId();
            //进炉中的玻璃
            if (!layoutId.isEmpty()) {
                for (int i = 0; i < layoutId.size(); i++) {
                    List<TemperingGlassInfo> intoGlass = temperingAgoService.selectIntoGlass(layoutId.get(i));
                    jsonObject.append("intoGlass" + (i + 1), intoGlass);
                }
//            List<TemperingGlassInfo> intoGlass = temperingAgoService.selectIntoGlass(layoutId.get(0));
//            jsonObject.append("intoGlass", intoGlass);
//            //进炉中的第二个版图
//            if (layoutId.size() > 1) {
//                List<TemperingGlassInfo> intoGlass2 = temperingAgoService.selectIntoGlass(layoutId.get(1));
//                jsonObject.append("intoGlass2", intoGlass2);
//            }
            }
            //出炉后的玻璃
            List<TemperingGlassInfo> outGlass = temperingAgoService.selectOutGlass();
            if (outGlass != null) {
                jsonObject.append("outGlass", outGlass);
            }
            //过旋转台钢化后的玻璃
            List<TemperingGlassInfo> overGlass = temperingAgoService.selectOverGlass();
            if (outGlass != null) {
                jsonObject.append("overGlass", overGlass);
            }
            for (WebSocketServer webserver : sendwServer) {
                if (webserver != null) {
                    webserver.sendMessage(jsonObject.toString());