package com.mes.job; import cn.hutool.json.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.mes.downglassinfo.entity.DownGlassInfo; import com.mes.downglassinfo.service.DownGlassInfoService; import com.mes.downstorage.service.DownStorageCageService; import com.mes.downworkstation.entity.DownWorkstation; import com.mes.downworkstation.service.DownWorkstationService; 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; import java.util.Map; import java.util.stream.Collectors; @Slf4j @Component public class Downpush { @Autowired private DownWorkstationService downWorkstationService; @Autowired private DownStorageCageService downStorageCageService; @Autowired private DownGlassInfoService downGlassInfoService; @Scheduled(fixedDelay = 2000) public void sendDownWorkstations() { log.info("发送工位玻璃信息"); JSONObject jsonObject = new JSONObject(); List data = downWorkstationService.getoneDownWorkstations(1, 6); jsonObject.append("params", data); log.info(jsonObject.toString()); ArrayList sendwServer = WebSocketServer.sessionMap.get("unloadglass"); if (sendwServer != null) { for (WebSocketServer webserver : sendwServer) { if (webserver != null&&webserver.session.isOpen()) { log.info("已发送"); webserver.sendMessage(jsonObject.toString()); } } } } @Scheduled(fixedDelay = 1000) public void sendGlassInfoData() { log.info("发送工位显示图信息1"); JSONObject jsonObject2 = new JSONObject(); List> glassinfodata = downWorkstationService.getTotalGlassDimensionsByWorkstation(1,3); jsonObject2.append("glassinfo",glassinfodata); log.info(jsonObject2.toString()); ArrayList sendwServer2 = WebSocketServer.sessionMap.get("unloadglass2"); if (sendwServer2 != null) { for (WebSocketServer webserver : sendwServer2) { if (webserver != null&&webserver.session.isOpen()) { webserver.sendMessage(jsonObject2.toString()); } } } } @Scheduled(fixedDelay = 1000) public void sendGlassInfoData2() { log.info("发送工位显示图信息2"); JSONObject jsonObject3 = new JSONObject(); List> glassinfodata2 = downWorkstationService.getTotalGlassDimensionsByWorkstation(4,6); jsonObject3.append("glassinfo2",glassinfodata2); log.info(jsonObject3.toString()); ArrayList sendwServer3 = WebSocketServer.sessionMap.get("unloadglass3"); if (sendwServer3 != null) { for (WebSocketServer webserver : sendwServer3) { if (webserver != null&&webserver.session.isOpen()) { webserver.sendMessage(jsonObject3.toString()); } } } } @Scheduled(fixedDelay = 2000) public void sendDownStorageCages() { log.info("发送缓存玻璃信息"); JSONObject jsonObject4 = new JSONObject(); List> list=downStorageCageService.selectDownStorageCages(); jsonObject4.append("params2",list); log.info(jsonObject4.toString()); ArrayList sendwServer4 = WebSocketServer.sessionMap.get("downcache"); if (sendwServer4 != null) { for (WebSocketServer webserver : sendwServer4) { if (webserver != null && webserver.session.isOpen()) { webserver.sendMessage(jsonObject4.toString()); } } } } @Scheduled(fixedDelay = 2000) public void sendDownGlassInfo() { log.info("发送当前正在执行工程已落架的玻璃信息"); List downGlassInfos = downGlassInfoService.list(new LambdaQueryWrapper() .inSql(DownGlassInfo::getEngineerId, "select engineer_id from engineering where state = 1")); Map> listMap = downGlassInfos.stream().collect(Collectors.groupingBy(DownGlassInfo::getWorkStationId)); JSONObject jsonObject4 = new JSONObject(); List> list = downStorageCageService.selectDownStorageCages(); jsonObject4.append("params", listMap); ArrayList sendwServer4 = WebSocketServer.sessionMap.get("sendDownGlass"); if (sendwServer4 != null) { for (WebSocketServer webserver : sendwServer4) { if (webserver != null && webserver.session.isOpen()) { webserver.sendMessage(jsonObject4.toString()); } } } } }