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 lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import java.util.ArrayList; import java.util.List; /** * @author SNG-010 */ @Component @Slf4j public class PlcScreenTask { @Autowired private ReportingWorkService reportingWorkService; @Autowired private OptimizeProjectService optimizeProjectService; @Autowired private OrdersService ordersService; /** * fixedRate : 上一个调用开始后再次调用的延时(不用等待上一次调用完成) * fixedDelay : 上一个调用结束后再次调用的延时 */ @Scheduled(fixedDelay = 2000) public void screenHome(){ JSONObject jsonObject = new JSONObject(); //正在等待进片的玻璃 Reportingdamage reportingdamage = new Reportingdamage(); reportingdamage.setReportingWorkTime("2024-05-11"); //获取切割信息 reportingdamage.setThisProcess("切割"); List cutting = reportingWorkService.selectDamage(reportingdamage); jsonObject.append("cutting", cutting); //获取磨边信息 reportingdamage.setThisProcess("磨边"); List edging = reportingWorkService.selectDamage(reportingdamage); jsonObject.append("edging", edging); //获取钢化信息 reportingdamage.setThisProcess("钢化"); List tempering = reportingWorkService.selectDamage(reportingdamage); jsonObject.append("tempering", tempering); //获取夹胶信息 reportingdamage.setThisProcess("夹胶"); List doubling = reportingWorkService.selectDamage(reportingdamage); jsonObject.append("doubling", doubling); //获取中空信息 reportingdamage.setThisProcess("中空"); List hollow = reportingWorkService.selectDamage(reportingdamage); jsonObject.append("hollow", hollow); //获取包装信息 reportingdamage.setThisProcess("包装"); List packaging = reportingWorkService.selectDamage(reportingdamage); jsonObject.append("packaging", packaging); //获取次破未补信息 ListawaitingRepairs = reportingWorkService.selectAwaitingRepair(); jsonObject.append("awaitingRepairs", awaitingRepairs); //获取正在进行的工程 ListoptimizeProjects= optimizeProjectService.getDoingTask(); jsonObject.append("DoingTask", optimizeProjects); //获取当前订单 Listorders=ordersService.selectOrders(); jsonObject.append("orders", orders); ArrayList 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"); } } } } }