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