ZengTao
2024-09-03 3744ee1fd763d7414a38f515ba13224866b924aa
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/Downpush.java
@@ -6,12 +6,15 @@
import com.mes.common.config.Const;
import com.mes.common.utils.RedisUtil;
import com.mes.downglassinfo.entity.DownGlassInfo;
import com.mes.downglassinfo.entity.DownGlassTask;
import com.mes.downglassinfo.entity.request.DownGlassInfoRequest;
import com.mes.downglassinfo.service.DownGlassInfoService;
import com.mes.downglassinfo.service.DownGlassTaskService;
import com.mes.downstorage.service.DownStorageCageService;
import com.mes.downworkstation.entity.DownWorkstation;
import com.mes.downworkstation.service.DownWorkstationService;
import com.mes.tools.DateUtil;
import com.mes.tools.SocketUtil;
import com.mes.tools.WebSocketServer;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils;
@@ -34,7 +37,10 @@
    private DownStorageCageService downStorageCageService;
    @Autowired
    private DownGlassInfoService downGlassInfoService;
    @Autowired
    private DownGlassTaskService downGlassTaskService;
    @Autowired
    SocketUtil socketUtil;
    @Autowired
    private RedisUtil redisUtil;
@@ -43,7 +49,7 @@
        log.info("发送工位玻璃信息");
        JSONObject jsonObject = new JSONObject();
        List<DownWorkstation> data = downWorkstationService.getoneDownWorkstations(1, 6);
        List<DownWorkstation> data = downWorkstationService.list();
        jsonObject.append("params", data);
        log.info(jsonObject.toString());
        ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("unloadglass");
@@ -143,6 +149,16 @@
            autoPrint = redisUtil.getCacheObject("autoPrint");
        }
        jsonObject4.append("autoPrint", autoPrint);
        //人工下片位置最后一片
        DownGlassTask takeGlass = downGlassTaskService.getOne(
                new QueryWrapper<DownGlassTask>()
                        .select("Top 1 *")
                        .eq("end_cell", Const.G13_WORK_STATION)
                        .orderByDesc("id")
        );
        jsonObject4.append("takeGlass", takeGlass);
        ArrayList<WebSocketServer> sendwServer4 = WebSocketServer.sessionMap.get("unloadglass");
        if (sendwServer4 != null) {
@@ -160,6 +176,8 @@
        //正在进行的任务
        List<DownWorkstation> downWorkstation = downWorkstationService.getoneDownWorkstations(1, 6);
        jsonObject.append("downWorkstation", downWorkstation);
        List<DownGlassTask> downGlassTask = downGlassTaskService.selectOutTaskCache();
        jsonObject.append("downGlassTask", downGlassTask);
        ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("unLoadGlassIsRun");
        if (sendwServer != null) {
            for (WebSocketServer webserver : sendwServer) {
@@ -171,4 +189,33 @@
            }
        }
    }
    @Scheduled(fixedDelay = Long.MAX_VALUE)
    public void scanCodeTask() {
        while (true) {
            try {
                if (socketUtil.openSocket()) {
                    String data = socketUtil.receiveData();
                    if (StringUtils.isNotBlank(data)) {
                        log.info("扫描数据:" + data);
                        //发送扫描数据
                        //todo:按照玻璃id获取玻璃信息返回给前端界面,具体需要哪些数据待确认
                        ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("scanCode");
                        if (sendwServer != null) {
                            for (WebSocketServer webserver : sendwServer) {
                                if (webserver != null && webserver.session.isOpen()) {
                                    webserver.sendMessage(data);
                                }
                            }
                        }
                    }
                } else {
                    log.info("socket连接失败");
                }
            } catch (Exception e) {
                log.info("socke执行过程中发生异常");
            }
        }
    }
}