From 5ed7d2941573d4b89a52457483717335e26e605a Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期五, 08 十一月 2024 14:44:09 +0800
Subject: [PATCH] #
---
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/TaskServiceImpl.java | 39 +++++++++++++++++++++++++++++++++++++++
1 files changed, 39 insertions(+), 0 deletions(-)
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/TaskServiceImpl.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/TaskServiceImpl.java
index 1121605..f3a3e71 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/TaskServiceImpl.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/TaskServiceImpl.java
@@ -161,6 +161,45 @@
return laneService.search(codeService.getById(codeId).getData());
}
+ @Override
+ public List<Task> findRunningTasksByLaneHash(String laneHash) {
+ if (Cools.isEmpty(laneHash)) {
+ return new ArrayList<>();
+ }
+ return this.list(new LambdaQueryWrapper<Task>()
+ .in(Task::getTaskSts, TaskStsType.WAITING.val(), TaskStsType.ASSIGN.val(), TaskStsType.PROGRESS.val())
+ .and(i -> {
+ i.eq(Task::getOriLaneHash, laneHash).or().eq(Task::getDestLaneHash, laneHash);
+ })
+
+ );
+ }
+
+ @Override
+ public List<Task> findRunningTasksByAgv(Long agvId) {
+ if (null == agvId) {
+ return new ArrayList<>();
+ }
+ LambdaQueryWrapper<Task> wrapper = new LambdaQueryWrapper<Task>().eq(Task::getAgvId, agvId);
+ wrapper.in(Task::getTaskSts, TaskStsType.WAITING.val(), TaskStsType.ASSIGN.val(), TaskStsType.PROGRESS.val());
+ wrapper.notIn(Task::getTaskType, TaskTypeType.MOVE.val(), TaskTypeType.TO_CHARGE.val(), TaskTypeType.TO_STANDBY.val());
+ return this.list(wrapper);
+ }
+
+ @Override
+ public Task findLatestTask(Long agvId, TaskStsType taskSts) {
+ LambdaQueryWrapper<Task> wrapper = new LambdaQueryWrapper<Task>()
+ .orderByDesc(Task::getCreateTime)
+ .last("limit 0, 1");
+ if (null != agvId) {
+ wrapper.eq(Task::getAgvId, agvId);
+ }
+ if (null != taskSts) {
+ wrapper.eq(Task::getTaskSts, taskSts.val());
+ }
+ return this.list(wrapper).stream().findFirst().orElse(null);
+ }
+
@Transactional
public void maintainLocSts(Task task, Boolean complete) {
Loc oriLoc = null; Loc destLoc = null;
--
Gitblit v1.9.1