package com.mes.job; import cn.hutool.json.JSONObject; import com.mes.temperingglass.entity.TemperingGlassInfo; import com.mes.temperingglass.service.TemperingAgoService; 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 PlcTemperingGlassTask { @Autowired private TemperingAgoService temperingAgoService; /** * fixedRate : 上一个调用开始后再次调用的延时(不用等待上一次调用完成) * fixedDelay : 上一个调用结束后再次调用的延时 */ @Scheduled(fixedDelay = 1000) public void loadGlassHome(){ JSONObject jsonObject = new JSONObject(); //正在等待进片的玻璃 List waitingGlass = temperingAgoService.selectWaitingGlass(); jsonObject.append("waitingGlass", waitingGlass); //进炉中的玻璃 List intoGlass = temperingAgoService.selectIntoGlass(); jsonObject.append("intoGlass", intoGlass); //出炉后的玻璃 List outGlass = temperingAgoService.selectOutGlass(); jsonObject.append("outGlass", outGlass); //过旋转台钢化后的玻璃 List overGlass = temperingAgoService.selectOverGlass(); jsonObject.append("overGlass", overGlass); ArrayList sendwServer = WebSocketServer.sessionMap.get("temperingGlass"); if (sendwServer != null) { for (WebSocketServer webserver : sendwServer) { if (webserver != null) { webserver.sendMessage(jsonObject.toString()); } else { log.info("Home is closed"); } } } } }