From d9d502b669dcbfc8e3aed10014aa99930979cd7a Mon Sep 17 00:00:00 2001 From: zhoushihao <zsh19950802@163.com> Date: 星期二, 11 三月 2025 09:50:47 +0800 Subject: [PATCH] 1、大理片笼新增复位按钮:清除笼内状态为0的玻璃数据,并将格子尺寸恢复到初始状态。 2、历史任务按钮:按照查询条件查询理片笼信息历史任务 3、fixbug:卧式理片笼没有玻璃时,仅恢复格子的尺寸 4、fixbug:中空出片顺序错乱,当数量小于总层数时,增加是否同一对玻璃的判断,避免少于总层数出片玻璃不是一对情况的发生 5、向前端推送上片的工位信息 --- hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/job/PlcLoadGlassTask.java | 34 ++++++++++++++++++++++++++-------- 1 files changed, 26 insertions(+), 8 deletions(-) diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/job/PlcLoadGlassTask.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/job/PlcLoadGlassTask.java index 24d9513..2cf6ed0 100644 --- a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/job/PlcLoadGlassTask.java +++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/job/PlcLoadGlassTask.java @@ -1,13 +1,18 @@ package com.mes.job; import cn.hutool.json.JSONObject; +import com.github.yulichang.wrapper.MPJLambdaWrapper; import com.mes.common.S7object; +import com.mes.common.config.Const; import com.mes.device.PlcParameterObject; import com.mes.engineering.entity.Engineering; import com.mes.engineering.service.EngineeringService; import com.mes.opctask.entity.LoadGlassDeviceTask; import com.mes.opctask.service.LoadGlassDeviceTaskService; import com.mes.pp.service.OptimizeProjectService; +import com.mes.rawglassdetails.entity.RawGlassStorageDetails; +import com.mes.rawglassdetails.service.RawGlassStorageDetailsService; +import com.mes.rawglassstation.entity.RawGlassStorageStation; import com.mes.tools.DateUtil; import com.mes.tools.WebSocketServer; import com.mes.uppattenusage.entity.UpPattenUsage; @@ -24,6 +29,7 @@ import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.List; +import java.util.stream.Collectors; /** * @author SNG-010 @@ -44,6 +50,8 @@ RedisUtil redisUtil; @Resource private LoadGlassDeviceTaskService loadGlassDeviceTaskService; + @Resource + private RawGlassStorageDetailsService rawGlassStorageDetailsService; PlcParameterObject plcParameterObject = S7object.getinstance().PlcMesObject; @@ -100,7 +108,7 @@ } } -// @Scheduled(fixedDelay = 300) + // @Scheduled(fixedDelay = 300) public void plcLoadGlassReport() { //鑾峰彇鏄惁鏈夋眹鎶� String loadStatus = plcParameterObject.getPlcParameter("PlcStatus").getValue(); @@ -134,7 +142,7 @@ JSONObject jsonObject = new JSONObject(); //姝e湪杩涜鐨勪换鍔� List<UpPattenUsage> upPattenUsages = upPattenUsageService.prioritylist(); - if(upPattenUsages!=null){ + if (upPattenUsages != null) { jsonObject.append("prioritylist", upPattenUsages); } //鏌ヨ1鍙风嚎鐨勪换鍔� @@ -161,9 +169,18 @@ jsonObject.append("LoadTwoervice", LoadTwoState.getInkageState()); //宸ヤ綅淇℃伅 - List<UpWorkstation> upWorkstations = upWorkstationService.list(); - jsonObject.append("list", upWorkstations); - + MPJLambdaWrapper<RawGlassStorageDetails> wrapper = new MPJLambdaWrapper<>(); + wrapper.select(RawGlassStorageStation::getSlot) + .select("ifnull(remain_quantity, 0) as remain_quantity") + .rightJoin(RawGlassStorageStation.class, on -> on.eq(RawGlassStorageStation::getSlot, RawGlassStorageDetails::getSlot) + .eq(RawGlassStorageDetails::getState, Const.RAW_GLASS_STATE_IN)) + .in(RawGlassStorageStation::getDeviceId, 5, 6) + .orderByAsc(RawGlassStorageStation::getSlot); + List<RawGlassStorageDetails> rawGlassStorageDetailList = rawGlassStorageDetailsService.list(wrapper); + List<RawGlassStorageDetails> stationOneList = rawGlassStorageDetailList.stream().filter(item -> item.getDeviceId() == 5).collect(Collectors.toList()); + List<RawGlassStorageDetails> stationTwoList = rawGlassStorageDetailList.stream().filter(item -> item.getDeviceId() == 6).collect(Collectors.toList()); + jsonObject.append("stationOne", stationOneList); + jsonObject.append("stationTwo", stationTwoList); ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("loadGlass"); if (sendwServer != null) { @@ -200,11 +217,11 @@ } } -// @Scheduled(fixedDelay = 5000) + // @Scheduled(fixedDelay = 5000) public void loadGlassStatus() { JSONObject jsonObject = new JSONObject(); //姝e湪杩涜鐨勪换鍔� - String inkageStatus =plcParameterObject.getPlcParameter("InkageStatus").getValue(); + String inkageStatus = plcParameterObject.getPlcParameter("InkageStatus").getValue(); // String inkageStatus ="1"; jsonObject.append("InkageStatus", inkageStatus); ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("loadGlass"); @@ -218,12 +235,13 @@ } } } + @Scheduled(fixedDelay = 1000) public void loadGlassIsRun() { JSONObject jsonObject = new JSONObject(); //鏄惁寮�濮嬪伐绋� Engineering engineering = engineeringService.selectInitiate(1); - jsonObject.append("engineering", engineering); + jsonObject.append("engineering", engineering); //宸ヤ綅淇℃伅 List<UpWorkstation> upWorkstations = upWorkstationService.list(); jsonObject.append("list", upWorkstations); -- Gitblit v1.8.0