ZengTao
2025-05-26 fcb8b8cc392b146aa11bbaab9e497f7f13f29d44
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/PushMessageToIndex.java
@@ -11,6 +11,9 @@
import com.mes.engineering.entity.Engineering;
import com.mes.engineering.service.EngineeringService;
import com.mes.largenscreen.entity.DailyProductionVO;
import com.mes.largenscreen.entity.DateRequest;
import com.mes.largenscreen.entity.PieChartVO;
import com.mes.largenscreen.entity.RunTime;
import com.mes.largenscreen.service.LargenScreenService;
import com.mes.opctask.entity.EdgStorageDeviceTaskHistory;
import com.mes.opctask.service.EdgStorageDeviceTaskHistoryService;
@@ -21,7 +24,13 @@
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
@@ -146,14 +155,13 @@
        }
    }
    @Scheduled(fixedDelay = 30000)
    @Scheduled(fixedDelay = 1000)
    public void querySameDayProductionTask() {
        JSONObject jsonObject = new JSONObject();
        DailyProductionVO productionVO = largenScreenService.querySameDayProduction(null);
        jsonObject.append("productionVO", productionVO);
        ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("largenScreenProduction");
        if (sendwServer != null) {
            List<DailyProductionVO> productionVO = largenScreenService.querySameDayProduction(new DateRequest());
            jsonObject.append("productionVO", productionVO);
            for (WebSocketServer webserver : sendwServer) {
                if (webserver != null) {
                    webserver.sendMessage(jsonObject.toString());
@@ -169,36 +177,51 @@
        }
    }
    @Scheduled(fixedDelay = 1000)
    @Scheduled(fixedDelay = 500)
    public void largenScreen() {
        JSONObject jsonObject = new JSONObject();
        //磨边信息
        List<EdgStorageDeviceTaskHistory> edgOneTasks = edgStorageDeviceTaskHistoryService.list(
                new LambdaQueryWrapper<EdgStorageDeviceTaskHistory>()
                        .eq(EdgStorageDeviceTaskHistory::getDeviceId, 1)
                        .eq(EdgStorageDeviceTaskHistory::getTaskState, Const.EDG_GLASS_BEFORE)
        );
        List<EdgStorageDeviceTaskHistory> edgTwoTasks = edgStorageDeviceTaskHistoryService.list(
                new LambdaQueryWrapper<EdgStorageDeviceTaskHistory>()
                        .eq(EdgStorageDeviceTaskHistory::getDeviceId, 2)
                        .eq(EdgStorageDeviceTaskHistory::getTaskState, Const.EDG_GLASS_BEFORE)
        );
        jsonObject.append("edgOneTasks", edgOneTasks);
        jsonObject.append("edgTwoTasks", edgTwoTasks);
        List<Engineering> engineeringOne = engineeringService.list(
                new LambdaQueryWrapper<Engineering>()
                        .eq(Engineering::getStationCell, 5)
                        .eq(Engineering::getState, 0)
        );
        List<Engineering> engineeringTow = engineeringService.list(
                new LambdaQueryWrapper<Engineering>()
                        .eq(Engineering::getStationCell, 6)
                        .eq(Engineering::getState, 0)
        );
        jsonObject.append("engineeringOne", engineeringOne);
        jsonObject.append("engineeringTwo", engineeringTow);
        ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("largenScreen");
        if (sendwServer != null) {
            Date startOfToday = new Date(LocalDate.now().atStartOfDay(ZoneId.systemDefault()).toInstant().toEpochMilli());
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
            String formatted = sdf.format(startOfToday);
            LocalDate date = LocalDate.parse(formatted); // formatted = "2025-05-23"
            LocalDateTime start = date.atStartOfDay(); // 2025-05-23 00:00:00
            LocalDateTime end = date.plusDays(1).atStartOfDay();
            int edgOneCount = edgGlassTaskInfoService.count(
                    new LambdaQueryWrapper<EdgGlassTaskInfo>()
                            .lt(EdgGlassTaskInfo::getState, 2)
                            .eq(EdgGlassTaskInfo::getLine, 1)
                            .between(EdgGlassTaskInfo::getCreateTime, start, end)
            );
            edgOneCount = edgOneCount >= 6 ? 6 : edgOneCount;
            int edgTwoCount = edgGlassTaskInfoService.count(
                    new LambdaQueryWrapper<EdgGlassTaskInfo>()
                            .lt(EdgGlassTaskInfo::getState, 2)
                            .eq(EdgGlassTaskInfo::getLine, 2)
                            .between(EdgGlassTaskInfo::getCreateTime, start, end)
            );
            edgTwoCount = edgTwoCount >= 6 ? 6 : edgTwoCount;
            jsonObject.append("edgOneCount", edgOneCount);
            jsonObject.append("edgTwoCount", edgTwoCount);
            List<Engineering> engineeringOne = engineeringService.list(
                    new LambdaQueryWrapper<Engineering>()
                            .eq(Engineering::getStationCell, 5)
                            .eq(Engineering::getState, 0)
            );
            List<Engineering> engineeringTow = engineeringService.list(
                    new LambdaQueryWrapper<Engineering>()
                            .eq(Engineering::getStationCell, 6)
                            .eq(Engineering::getState, 0)
            );
            jsonObject.append("engineeringOne", engineeringOne);
            jsonObject.append("engineeringTwo", engineeringTow);
            List<PieChartVO> pieChartVOS = edgStorageCageDetailsService.queryPieChart();
            jsonObject.append("pieChartVOS", pieChartVOS);
            List<RunTime> loadRunTimes = edgStorageDeviceTaskHistoryService.queryRunTimes(LocalDate.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
            jsonObject.append("loadRunTimes", loadRunTimes);
            for (WebSocketServer webserver : sendwServer) {
                if (webserver != null) {
                    webserver.sendMessage(jsonObject.toString());