From 6bf911a38f75341dd5d2b86dad58fa313584a981 Mon Sep 17 00:00:00 2001 From: zhoushihao <zsh19950802@163.com> Date: 星期三, 27 十一月 2024 09:46:13 +0800 Subject: [PATCH] `1、卧理正常第一版本代码提交 2、大理片笼正常版本提交 --- hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/OpcCacheGlassTask.java | 36 +++++++++++++++++++++--------------- 1 files changed, 21 insertions(+), 15 deletions(-) diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/OpcCacheGlassTask.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/OpcCacheGlassTask.java index 0f4e52a..b9a8248 100644 --- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/OpcCacheGlassTask.java +++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/OpcCacheGlassTask.java @@ -32,7 +32,6 @@ import java.util.ArrayList; import java.util.Date; import java.util.List; -import java.util.stream.Collectors; /** * @Author : zhoush @@ -211,10 +210,6 @@ .eq(EdgStorageCage::getDeviceId, deviceId) .eq(EdgStorageCage::getEnableState, Const.SLOT_ON) .ge(EdgStorageCage::getRemainWidth, Math.max(glassInfo.getWidth(), glassInfo.getHeight())).last("order by abs(slot - " + task.getCurrentCell() + ")")); -// //鐩撮�氫换鍔� -// if (flag && CollectionUtil.isNotEmpty(emptyList)) { -// return emptyList.get(0); -// } if (CollectionUtil.isEmpty(storageCageList) || storageCageList.size() == 1) { log.info("娌℃湁澶氫綑鐨勭┖鏍煎瓙"); return Boolean.FALSE; @@ -233,7 +228,7 @@ task.setStartCell(edgStorageCage.getSlot()); task.setTaskRunning(Const.GLASS_CACHE_TYPE_IN); edgStorageDeviceTaskService.updateTaskMessage(tableName, task); - saveHistoryTask(task); + saveHistoryTask(task, deviceId); return Boolean.TRUE; } @@ -372,7 +367,7 @@ task.setTaskRunning(taskType); edgStorageDeviceTaskService.updateTaskMessage(tableName, task); - saveHistoryTask(task); + saveHistoryTask(task, deviceId); //鏇存柊璇︽儏琛ㄤ换鍔″嚭鐗囦腑 edgStorageCageDetailsService.update(new LambdaUpdateWrapper<EdgStorageCageDetails>() .set(EdgStorageCageDetails::getState, Const.GLASS_STATE_OUT) @@ -399,16 +394,20 @@ Integer cell = task.getStartCell(); Integer state = task.getTaskState(); task.setTaskRunning(Const.GLASS_CACHE_TYPE_EMPTY); + String glassIdOut = task.getGlassIdOut(); task.setGlassIdOut(""); task.setStartCell(0); edgStorageDeviceTaskService.updateTaskMessage(tableName, task); + EdgStorageDeviceTaskHistory taskHistory = edgStorageDeviceTaskHistoryService.getOne(new LambdaQueryWrapper<EdgStorageDeviceTaskHistory>() + .eq(EdgStorageDeviceTaskHistory::getTaskState, Const.RAW_GLASS_TASK_NEW) + .orderByDesc(EdgStorageDeviceTaskHistory::getCreateTime).last("limit 1")); edgStorageDeviceTaskHistoryService.update(new LambdaUpdateWrapper<EdgStorageDeviceTaskHistory>() .eq(EdgStorageDeviceTaskHistory::getTaskState, Const.RAW_GLASS_TASK_NEW) .set(EdgStorageDeviceTaskHistory::getTaskState, Const.GLASS_CACHE_TYPE_FINISH.equals(state) ? Const.RAW_GLASS_TASK_SUCCESS : Const.RAW_GLASS_TASK_FAILURE) ); int device = tableName.equals("edg_storage_device_one_task") ? 1 : 2; - updateCellRemainWidth(cell, device); + updateCellRemainWidth(cell, device, taskHistory); return Boolean.TRUE; } @@ -435,7 +434,7 @@ "where engineer_id = '" + glassInfo.getEngineerId() + "' and width = " + glassInfo.getWidth() + " and height = " + glassInfo.getHeight() + " and state != 100") .orderByAsc(GlassInfo::getTemperingLayoutId) - .orderBy(Boolean.TRUE, Boolean.TRUE, GlassInfo::getTemperingFeedSequence) + .orderByAsc(GlassInfo::getTemperingFeedSequence) .last("Limit 1"); GlassInfo swapGlassInfo = glassInfoService.getOne(queryWrapper); if (swapGlassInfo != null && !glassInfo.getGlassId().equals(swapGlassInfo.getGlassId())) { @@ -514,26 +513,33 @@ } } - public boolean saveHistoryTask(EdgStorageDeviceTask task) { + public boolean saveHistoryTask(EdgStorageDeviceTask task, int deviceId) { EdgStorageDeviceTaskHistory taskHistory = new EdgStorageDeviceTaskHistory(); BeanUtils.copyProperties(task, taskHistory); taskHistory.setTaskType(task.getTaskRunning()); taskHistory.setCreateTime(new Date()); taskHistory.setTaskState(Const.RAW_GLASS_TASK_NEW); + taskHistory.setDeviceId(deviceId); edgStorageDeviceTaskHistoryService.save(taskHistory); return Boolean.TRUE; } - private boolean updateCellRemainWidth(int slot, int device) { + private boolean updateCellRemainWidth(int slot, int device, EdgStorageDeviceTaskHistory taskHistory) { List<EdgStorageCageDetails> list = edgStorageCageDetailsService.list(new LambdaQueryWrapper<EdgStorageCageDetails>().eq(EdgStorageCageDetails::getSlot, slot) .eq(EdgStorageCageDetails::getState, Const.GLASS_STATE_IN)); - List<Integer> slotList = new ArrayList<>(); + int remainWidth = cellLength; if (CollectionUtil.isNotEmpty(list)) { - slotList = list.stream().map(EdgStorageCageDetails::getSlot).distinct().collect(Collectors.toList()); + if (2 == taskHistory.getTaskType()) { + remainWidth = 0; + } else { + EdgStorageCage storageCage = edgStorageCageService.getOne(new LambdaQueryWrapper<EdgStorageCage>() + .eq(EdgStorageCage::getDeviceId, device).eq(EdgStorageCage::getSlot, slot)); + EdgStorageCageDetails bigDetails = list.stream().filter(e -> e.getGlassId().equals(taskHistory.getGlassIdIn())).findFirst().orElse(null); + remainWidth = storageCage.getRemainWidth() - glassGap - (int) Math.max(bigDetails.getWidth(), bigDetails.getHeight()); + } } - list.removeAll(slotList); edgStorageCageService.update(new LambdaUpdateWrapper<EdgStorageCage>(). - set(EdgStorageCage::getRemainWidth, cellLength).eq(EdgStorageCage::getSlot, slot).eq(EdgStorageCage::getDeviceId, device)); + set(EdgStorageCage::getRemainWidth, remainWidth).eq(EdgStorageCage::getSlot, slot).eq(EdgStorageCage::getDeviceId, device)); return Boolean.TRUE; } -- Gitblit v1.8.0