From f68d3c71819feb59e7a227a5d992b059b900916c Mon Sep 17 00:00:00 2001 From: ZengTao <2773468879@qq.com> Date: 星期五, 28 三月 2025 08:28:26 +0800 Subject: [PATCH] 修改报表,界面添加查询流程卡个数,调整推送数据到前端的间隔 --- hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/Downpush.java | 227 ++++++++++++++++++++++++++------------------------------ 1 files changed, 106 insertions(+), 121 deletions(-) diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/Downpush.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/Downpush.java index 7cfb89e..ce4b783 100644 --- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/Downpush.java +++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/Downpush.java @@ -5,7 +5,6 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; 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; @@ -18,6 +17,7 @@ import com.mes.glassinfo.service.GlassInfoService; import com.mes.tools.DateUtil; import com.mes.tools.WebSocketServer; +import com.mes.utils.RedisUtil; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -27,7 +27,6 @@ import java.io.BufferedReader; import java.io.InputStreamReader; -import java.net.InetSocketAddress; import java.net.Socket; import java.util.ArrayList; import java.util.List; @@ -58,16 +57,28 @@ @Autowired private RedisUtil redisUtil; - @Scheduled(fixedDelay = 2000) + @Scheduled(fixedDelay = 3000) public void sendDownWorkstations() { - log.info("鍙戦�佸伐浣嶇幓鐠冧俊鎭�"); - JSONObject jsonObject = new JSONObject(); - List<DownWorkstation> data = downWorkstationService.list(); - jsonObject.append("params", data); - log.info(jsonObject.toString()); + JSONObject jsonObject = new JSONObject(); ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("unloadglass"); if (sendwServer != null) { + log.info("鍙戦�佸伐浣嶇幓鐠冧俊鎭�"); + List<DownWorkstation> data = downWorkstationService.list(); + List<DownGlassTask> downGlassTasks = downGlassTaskService.list( + new LambdaQueryWrapper<DownGlassTask>() + .eq(DownGlassTask::getEndCell, 7) + .eq(DownGlassTask::getTaskType, 3) + .lt(DownGlassTask::getTaskStatus, 3) + ); + DownWorkstation downWorkstation = new DownWorkstation(); + downWorkstation.setWorkstationId(7); + downWorkstation.setEnableState(1); + downWorkstation.setRacksNumber(downGlassTasks.size()); + downWorkstation.setTotalQuantity(downGlassTasks.size()); + data.add(downWorkstation); + jsonObject.append("params", data); + log.info(jsonObject.toString()); for (WebSocketServer webserver : sendwServer) { if (webserver != null && webserver.session.isOpen()) { log.info("宸插彂閫�"); @@ -77,15 +88,16 @@ } } - @Scheduled(fixedDelay = 1000) + @Scheduled(fixedDelay = 3000) public void sendGlassInfoData() { - log.info("鍙戦�佸伐浣嶆樉绀哄浘淇℃伅1"); - JSONObject jsonObject2 = new JSONObject(); - List<Map<String, Object>> glassinfodata = downWorkstationService.getTotalGlassDimensionsByWorkstation(1, 3); - jsonObject2.append("glassinfo", glassinfodata); - log.info(jsonObject2.toString()); + ArrayList<WebSocketServer> sendwServer2 = WebSocketServer.sessionMap.get("unloadglass2"); if (sendwServer2 != null) { + log.info("鍙戦�佸伐浣嶆樉绀哄浘淇℃伅1"); + JSONObject jsonObject2 = new JSONObject(); + List<Map<String, Object>> glassinfodata = downWorkstationService.getTotalGlassDimensionsByWorkstation(1, 3); + jsonObject2.append("glassinfo", glassinfodata); + log.info(jsonObject2.toString()); for (WebSocketServer webserver : sendwServer2) { if (webserver != null && webserver.session.isOpen()) { webserver.sendMessage(jsonObject2.toString()); @@ -94,15 +106,14 @@ } } - @Scheduled(fixedDelay = 1000) + @Scheduled(fixedDelay = 3000) public void sendGlassInfoData2() { - log.info("鍙戦�佸伐浣嶆樉绀哄浘淇℃伅2"); - JSONObject jsonObject3 = new JSONObject(); - List<Map<String, Object>> glassinfodata2 = downWorkstationService.getTotalGlassDimensionsByWorkstation(4, 6); - jsonObject3.append("glassinfo2", glassinfodata2); - log.info(jsonObject3.toString()); ArrayList<WebSocketServer> sendwServer3 = WebSocketServer.sessionMap.get("unloadglass3"); if (sendwServer3 != null) { + log.info("鍙戦�佸伐浣嶆樉绀哄浘淇℃伅2"); + JSONObject jsonObject3 = new JSONObject(); + List<Map<String, Object>> glassinfodata2 = downWorkstationService.getTotalGlassDimensionsByWorkstation(4, 6); + jsonObject3.append("glassinfo2", glassinfodata2); for (WebSocketServer webserver : sendwServer3) { if (webserver != null && webserver.session.isOpen()) { webserver.sendMessage(jsonObject3.toString()); @@ -111,7 +122,7 @@ } } - @Scheduled(fixedDelay = 2000) + @Scheduled(fixedDelay = 3000) public void sendDownStorageCages() { log.info("鍙戦�佺紦瀛樼幓鐠冧俊鎭�"); JSONObject jsonObject4 = new JSONObject(); @@ -128,54 +139,57 @@ } } - @Scheduled(fixedDelay = 2000) + @Scheduled(fixedDelay = 3000) public void sendDownGlassInfo() { - DownGlassInfoRequest request = redisUtil.getCacheObject("downGlassRequest"); - if (null == request) { - request = new DownGlassInfoRequest(); - } - if (request.getBeginDate() == null) { - request.setBeginDate(DateUtil.getBeginDate()); - request.setEndDate(DateUtil.getEndDate()); - } - log.info("鍙戦�佸綋鍓嶆鍦ㄦ墽琛屽伐绋嬪凡钀芥灦鐨勭幓鐠冧俊鎭�"); - LambdaQueryWrapper<DownGlassInfo> wrapper = new LambdaQueryWrapper<DownGlassInfo>() - .between(null != request.getBeginDate(), DownGlassInfo::getGmtCreate, request.getBeginDate(), request.getEndDate()) - .eq(StringUtils.isNotBlank(request.getEngineerId()), DownGlassInfo::getEngineerId, request.getEngineerId()); - if (null == request.getWorkStationId() || 0 == request.getWorkStationId()) { - wrapper.in(DownGlassInfo::getWorkStationId, Const.WORK_STATION_ALL); - } else { - wrapper.eq(DownGlassInfo::getWorkStationId, request.getWorkStationId()); - } - List<DownGlassInfo> downGlassInfos = downGlassInfoService.list(wrapper); -// Map<Integer, List<DownGlassInfo>> listMap = downGlassInfos.stream().collect(Collectors.groupingBy(DownGlassInfo::getWorkStationId)); - List<Object> engineerIdListTemp = downGlassInfoService.listObjs(new QueryWrapper<DownGlassInfo>().select("distinct engineer_id")); - List<String> engineerIdList = engineerIdListTemp.stream().map(String::valueOf).collect(Collectors.toList()); - JSONObject jsonObject4 = new JSONObject(); - jsonObject4.append("downGlassInfos", downGlassInfos); - jsonObject4.append("engineerIdList", engineerIdList); - - //閽㈠寲寮�鍏� - boolean autoPrint = false; - if (redisUtil.getCacheObject("autoPrint") == null) { - redisUtil.setCacheObject("autoPrint", false); - } else { - 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) - .lt("task_status", Const.UNLOAD_GLASS_DOWN) - .orderByDesc("id") - ); - jsonObject4.append("takeGlass", takeGlass); - ArrayList<WebSocketServer> sendwServer4 = WebSocketServer.sessionMap.get("unloadglass"); if (sendwServer4 != null) { + DownGlassInfoRequest request = redisUtil.getCacheObject("downGlassRequest"); + if (null == request) { + request = new DownGlassInfoRequest(); + } + if (request.getBeginDate() == null) { + request.setBeginDate(DateUtil.getBeginDate()); + request.setEndDate(DateUtil.getEndDate()); + } + log.info("鍙戦�佸綋鍓嶆鍦ㄦ墽琛屽伐绋嬪凡钀芥灦鐨勭幓鐠冧俊鎭�"); + LambdaQueryWrapper<DownGlassInfo> wrapper = new LambdaQueryWrapper<DownGlassInfo>() + .between(null != request.getBeginDate(), DownGlassInfo::getGmtCreate, request.getBeginDate(), request.getEndDate()) + .eq(StringUtils.isNotBlank(request.getEngineerId()), DownGlassInfo::getEngineerId, request.getEngineerId()); + if (null == request.getWorkStationId() || 0 == request.getWorkStationId()) { + wrapper.in(DownGlassInfo::getWorkStationId, Const.WORK_STATION_ALL); + } else { + wrapper.eq(DownGlassInfo::getWorkStationId, request.getWorkStationId()); + } + List<DownGlassInfo> downGlassInfos = downGlassInfoService.list(wrapper); +// Map<Integer, List<DownGlassInfo>> listMap = downGlassInfos.stream().collect(Collectors.groupingBy(DownGlassInfo::getWorkStationId)); + List<Object> engineerIdListTemp = downGlassInfoService.listObjs(new QueryWrapper<DownGlassInfo>().select("distinct engineer_id")); + List<String> engineerIdList = engineerIdListTemp.stream().map(String::valueOf).collect(Collectors.toList()); + JSONObject jsonObject4 = new JSONObject(); + jsonObject4.append("downGlassInfos", downGlassInfos); + jsonObject4.append("engineerIdList", engineerIdList); + + //鎵撳嵃寮�鍏� + boolean autoPrint = false; + if (redisUtil.getCacheObject("autoPrint") == null) { + redisUtil.setCacheObject("autoPrint", false); + } else { + 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) + .eq("task_type", 3) + .lt("task_status", Const.UNLOAD_GLASS_DOWN) + .orderByAsc("id") + ); + if (takeGlass != null) { + jsonObject4.append("takeGlass", takeGlass); + } + for (WebSocketServer webserver : sendwServer4) { if (webserver != null && webserver.session.isOpen()) { webserver.sendMessage(jsonObject4.toString()); @@ -186,14 +200,14 @@ @Scheduled(fixedDelay = 1000) public void isRun() { - JSONObject jsonObject = new JSONObject(); - //姝e湪杩涜鐨勪换鍔� - 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) { + JSONObject jsonObject = new JSONObject(); + //姝e湪杩涜鐨勪换鍔� + List<DownWorkstation> downWorkstation = downWorkstationService.getoneDownWorkstations(1, 6); + jsonObject.append("downWorkstation", downWorkstation); + List<DownGlassTask> downGlassTask = downGlassTaskService.selectOutTaskCache(); + jsonObject.append("downGlassTask", downGlassTask); for (WebSocketServer webserver : sendwServer) { if (webserver != null) { webserver.sendMessage(jsonObject.toString()); @@ -208,59 +222,30 @@ public void scanCodeTask() { log.info("鎵弿浠诲姟宸插惎鍔�"); while (true) { - new Thread(() -> { - try (Socket socket = new Socket(scanIp, scanPort); - BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()))) { - // 鎺ユ敹鏈嶅姟鍣ㄥ搷搴� - String response; - log.info("绛夊緟鎵爜涓�......"); - while ((response = in.readLine()) != null) { - log.info("鎵弿鍒扮殑鐜荤拑id锛歿}", response); - List<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("scanCode"); - if (CollectionUtils.isNotEmpty(sendwServer)) { - //鎸夌収鐜荤拑id鑾峰彇鐜荤拑淇℃伅杩斿洖缁欏墠绔晫闈紝鍏蜂綋闇�瑕佸摢浜涙暟鎹緟纭 - GlassInfo glassInfo = glassInfoService.getOne(new LambdaQueryWrapper<GlassInfo>() - .eq(GlassInfo::getGlassId, response).last("limit 1")); - if (null == glassInfo) { - log.info("鎸夌収鐜荤拑id锛歿}锛屾棤娉曟壘鍒扮幓鐠冧俊鎭�", response); - } else { - sendwServer.get(0).sendMessage(glassInfo.toString()); - } + JSONObject jsonObject = new JSONObject(); + try (Socket socket = new Socket(scanIp, scanPort)) { + socket.setSoTimeout(1000); + BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream())); + // 鎺ユ敹鏈嶅姟鍣ㄥ搷搴� + log.info("绛夊緟鎵爜涓�......"); + String glassId = in.readLine(); + log.info("鎵弿鍒扮殑鐜荤拑id锛歿}", glassId); + List<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("unloadglass"); + if (CollectionUtils.isNotEmpty(sendwServer)) { + //鎸夌収鐜荤拑id鑾峰彇鐜荤拑淇℃伅杩斿洖缁欏墠绔晫闈紝鍏蜂綋闇�瑕佸摢浜涙暟鎹緟纭 + GlassInfo glassInfo = glassInfoService.getOne(new LambdaQueryWrapper<GlassInfo>() + .eq(GlassInfo::getGlassId, glassId).last("limit 1")); + if (null == glassInfo) { + log.info("鎸夌収鐜荤拑id锛歿}锛屾棤娉曟壘鍒扮幓鐠冧俊鎭�", glassId); + } else { + for (WebSocketServer webserver : sendwServer) { + jsonObject.append("scanGlass", glassInfo); + webserver.sendMessage(jsonObject.toString()); } } - } catch (Exception exception) { - log.info("璇诲彇寮傚父锛屽師鍥犱负{}", exception.getMessage()); } - }).start(); - } - } - - @Scheduled(fixedDelay = Long.MAX_VALUE) - public void scanCodeTaskCopy() - { - log.info("鎵弿浠诲姟宸插惎鍔�"); - try { - BarcodeReadThread brt=new BarcodeReadThread(scanIp,scanPort,this); - brt.start(); - - }catch (Exception exception) { - log.info("鎵弿浠诲姟鍚姩寮傚父锛屽師鍥犱负{}", exception.getMessage()); - } - - } - //socket璇诲彇鍒版秷鎭悗浼氳皟鐢ㄨ繖涓嚱鏁� - public void barcodeCheckin(String response) - { - log.info("鎵弿鍒扮殑鐜荤拑id锛歿}", response); - List<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("scanCode"); - if (CollectionUtils.isNotEmpty(sendwServer)) { - //鎸夌収鐜荤拑id鑾峰彇鐜荤拑淇℃伅杩斿洖缁欏墠绔晫闈紝鍏蜂綋闇�瑕佸摢浜涙暟鎹緟纭 - GlassInfo glassInfo = glassInfoService.getOne(new LambdaQueryWrapper<GlassInfo>() - .eq(GlassInfo::getGlassId, response).last("limit 1")); - if (null == glassInfo) { - log.info("鎸夌収鐜荤拑id锛歿}锛屾棤娉曟壘鍒扮幓鐠冧俊鎭�", response); - } else { - sendwServer.get(0).sendMessage(glassInfo.toString()); + } catch (Exception exception) { + log.info("璇诲彇寮傚父锛屽師鍥犱负{}", exception.getMessage()); } } } -- Gitblit v1.8.0