From bf69ac8c77ba9598b86b72f7b674d96de8af780b Mon Sep 17 00:00:00 2001
From: vincentlu <t1341870251@gmail.com>
Date: 星期五, 10 一月 2025 16:53:28 +0800
Subject: [PATCH] #
---
zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java | 33 +++++++++++++++++----------------
1 files changed, 17 insertions(+), 16 deletions(-)
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java
index 6dd57dd..8a1f948 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java
@@ -493,19 +493,20 @@
* 鍏呯數 鍥炲緟鏈轰綅浠诲姟
*/
@Transactional(propagation = Propagation.REQUIRES_NEW) // although there is a Transactional here that the lock is isolated, but we can't join the caller's Transactional
- public boolean buildMinorTask(Agv agv, TaskTypeType taskType, String destination, Jam jam) {
- if (Cools.isEmpty(agv, taskType)) { return false; }
+ public boolean buildMinorTask(Long agvId, TaskTypeType taskType, String destination, Jam jam) {
+ if (Cools.isEmpty(agvId, taskType)) { return false; }
try {
- AgvDetail agvDetail = agvDetailService.selectByAgvId(agv.getId());
- if (!agvService.judgeEnable(agv.getId())) {
+ String agvNo = agvService.getAgvNo(agvId);
+ AgvDetail agvDetail = agvDetailService.selectByAgvId(agvId);
+ if (!agvService.judgeEnable(agvId)) {
return false;
}
- if (!Cools.isEmpty(taskService.selectInSts(agv.getId(), TaskStsType.ASSIGN, TaskStsType.PROGRESS))) {
- throw new CoolException("AGV[" + agv.getUuid() + "] failed to assign锛宐ecause already has the task in running...");
+ if (!Cools.isEmpty(taskService.selectInSts(agvId, TaskStsType.ASSIGN, TaskStsType.PROGRESS))) {
+ throw new CoolException("AGV[" + agvNo + "] failed to assign锛宐ecause already has the task in running...");
}
- if (!Cools.isEmpty(segmentService.getByAgvAndState(agv.getId(), SegmentStateType.WAITING.toString()))
- || !Cools.isEmpty(segmentService.getByAgvAndState(agv.getId(), SegmentStateType.RUNNING.toString()))) {
- throw new CoolException("AGV[" + agv.getUuid() + "] failed to assign锛宐ecause already has the segment in running...");
+ if (!Cools.isEmpty(segmentService.getByAgvAndState(agvId, SegmentStateType.WAITING.toString()))
+ || !Cools.isEmpty(segmentService.getByAgvAndState(agvId, SegmentStateType.RUNNING.toString()))) {
+ throw new CoolException("AGV[" + agvNo + "] failed to assign锛宐ecause already has the segment in running...");
}
Date now = new Date();
@@ -513,13 +514,13 @@
switch (taskType) {
case TO_CHARGE:
case TO_STANDBY:
- List<FuncSta> idleFunStaList = funcStaService.findInIdleStatus(FuncStaType.query(taskType), agv.getId());
+ List<FuncSta> idleFunStaList = funcStaService.findInIdleStatus(FuncStaType.query(taskType), agvId);
if (!Cools.isEmpty(idleFunStaList)) {
FuncSta funcSta = funcStaService.checkoutClosestFunSta(agvDetail.getRecentCode(), idleFunStaList);
endCode = codeService.getById(funcSta.getCode());
}
if (null == endCode) {
- log.warn("AGV[{}] failed to search destination锛宼here hadn't any idle funSta锛孴askTypeType锛歿}", agv.getUuid(), taskType.toString());
+ log.warn("AGV[{}] failed to search destination锛宼here hadn't any idle funSta锛孴askTypeType锛歿}", agvNo, taskType.toString());
}
break;
case MOVE:
@@ -532,12 +533,12 @@
if (null == endCode) {
return false;
}
- if (!allocateService.validCapacityOfLane(agv, endCode)) {
- throw new BusinessException("the lane with code:" + endCode.getData() + " is full of AGV[" + agv.getUuid() + "]!!!");
+ if (!allocateService.validCapacityOfLane(agvNo, endCode)) {
+ throw new BusinessException("the lane with code:" + endCode.getData() + " is full of AGV[" + agvNo + "]!!!");
}
Task task = new Task();
- task.setAgvId(agv.getId());
+ task.setAgvId(agvId);
task.setUuid(String.valueOf(snowflakeIdWorker.nextId()).substring(3));
List<Task> lastTasks = taskService.list(new LambdaQueryWrapper<Task>().orderByDesc(Task::getId));
task.setSeqNum(Utils.generateSeqNum(Cools.isEmpty(lastTasks)?null:lastTasks.get(0).getSeqNum()));
@@ -561,7 +562,7 @@
Travel travel = new Travel();
travel.setUuid(String.valueOf(snowflakeIdWorker.nextId()).substring(3));
travel.setTravelId(String.valueOf(snowflakeIdWorker.nextId()).substring(3));
- travel.setAgvId(agv.getId());
+ travel.setAgvId(agvId);
// travel.setTaskContent(JSON.toJSONString(list));
travel.setTaskIds(GsonUtils.toJson(Utils.singletonList(task.getId())));
travel.setState(TravelStateType.RUNNING.toString());
@@ -591,7 +592,7 @@
Segment segment = new Segment();
segment.setUuid(String.valueOf(snowflakeIdWorker.nextId()).substring(3));
segment.setTravelId(travel.getId());
- segment.setAgvId(agv.getId());
+ segment.setAgvId(agvId);
segment.setTaskId(task.getId());
segment.setSerial(segSerial);
segment.setEndNode(endCode.getId());
--
Gitblit v1.9.1