wangfei
2025-09-04 2263a744f99fba75e45419a60388d7ab62cb8e0b
hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/job/PlcScreenTask.java
@@ -1,21 +1,20 @@
package com.mes.job;
import cn.hutool.json.JSONObject;
import com.mes.order.entity.Orders;
import com.mes.order.service.OrdersService;
import com.mes.pp.entity.OptimizeProject;
import com.mes.pp.entity.request.AwaitingRepair;
import com.mes.pp.entity.request.Reportingdamage;
import com.mes.pp.service.OptimizeProjectService;
import com.mes.pp.service.ReportingWorkService;
import com.mes.tools.WebSocketServer;
import com.mes.tools.WebSocketUtils;
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.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.List;
/**
@@ -31,16 +30,17 @@
    private OptimizeProjectService optimizeProjectService;
    @Autowired
    private OrdersService ordersService;
    @Resource
    private WebSocketUtils webSocketUtils;
    /**
     * fixedRate : 上一个调用开始后再次调用的延时(不用等待上一次调用完成)
     * fixedDelay : 上一个调用结束后再次调用的延时
     */
    @Scheduled(fixedDelay = 10000)
//    @Scheduled(fixedDelay = 10000)
    public void screenHome() {
        JSONObject jsonObject = new JSONObject();
        Reportingdamage reportingdamage = new Reportingdamage();
        //reportingdamage.setReportingWorkTime("2024-05-11");
        // 获取当前日期
        LocalDate today = LocalDate.now();
        // 计算最近七天的开始日期
@@ -52,15 +52,16 @@
        String startOfPeriodStr = startOfPeriod.format(formatter);
        String endOfPeriodStr = endOfPeriod.format(formatter);
        // 设置为最近七天的时间范围
        reportingdamage.setReportingWorkTime("2024-05-11" + " to " + endOfPeriodStr);
        //reportingdamage.setReportingWorkTime(startOfPeriodStr + " to " + endOfPeriodStr);
//        reportingdamage.setReportingWorkTime("2024-05-11");
        reportingdamage.setReportingWorkTime(startOfPeriodStr);
        reportingdamage.setReportingWorkTime2(endOfPeriodStr);
        //扇形图各设备的加工破损数量
        List<Reportingdamage> device = reportingWorkService.selectDamage(reportingdamage);
        jsonObject.append("device", device);
//        List<Reportingdamage> device = reportingWorkService.selectDamage(reportingdamage);
//        jsonObject.append("device", device);
        //获取次破未补信息
        List<AwaitingRepair> awaitingRepairs = reportingWorkService.selectAwaitingRepair();
        jsonObject.append("awaitingRepairs", awaitingRepairs);
//        List<AwaitingRepair> awaitingRepairs = reportingWorkService.selectAwaitingRepair();
//        jsonObject.append("awaitingRepairs", awaitingRepairs);
        //获取正在进行的工程
        List<OptimizeProject> optimizeProjects = optimizeProjectService.getDoingTask();
        jsonObject.append("DoingTask", optimizeProjects);
@@ -70,17 +71,17 @@
        /*现场规划图显示*/
        ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("screen");
        if (sendwServer != null) {
            for (WebSocketServer webserver : sendwServer) {
                if (webserver != null) {
                    webserver.sendMessage(jsonObject.toString());
                } else {
                    log.info("Home is closed");
                }
            }
        }
        webSocketUtils.sendToWeb("screen", jsonObject);
//        ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("screen");
//        if (sendwServer != null) {
//            for (WebSocketServer webserver : sendwServer) {
//                if (webserver != null) {
//                    webserver.sendMessage(jsonObject.toString());
//                } else {
//                    log.info("Home is closed");
//                }
//            }
//        }
    }
}