From d9cea3d7757a8d580bb0574d419ba6dd9c2478e7 Mon Sep 17 00:00:00 2001
From: Junjie <540245094@qq.com>
Date: 星期五, 13 十二月 2024 15:11:50 +0800
Subject: [PATCH] #search shuttle
---
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/timer/MotionTimer.java | 35 +++++++++++++++++++++++++++++++----
1 files changed, 31 insertions(+), 4 deletions(-)
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/timer/MotionTimer.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/timer/MotionTimer.java
index 1cb6c4e..d81e150 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/timer/MotionTimer.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/timer/MotionTimer.java
@@ -1,5 +1,6 @@
package com.zy.asrs.wcs.core.timer;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.zy.asrs.framework.exception.CoolException;
import com.zy.asrs.wcs.core.entity.Task;
import com.zy.asrs.wcs.core.kernel.command.*;
@@ -40,6 +41,8 @@
private LiftCommandService liftCommandService;
@Autowired
private ShuttleCommandService shuttleCommandService;
+ @Autowired
+ private MapCommandService mapCommandService;
@Scheduled(cron = "0/1 * * * * ? ")
public synchronized void executeTask() {
@@ -48,8 +51,20 @@
for (Task task : taskService.selectByAnalyzeSts()) {
Motion executingMotion = motionService.selectOfTop1(task.getUuid(), MotionStsType.EXECUTING.val(), task.getHostId());
if (executingMotion != null) {//瀛樺湪姝e湪鎵ц鐨刴otion
- continue;
+ if (executingMotion.getSync() == 1) {//褰撳墠鎵ц涓殑鍔ㄤ綔鏄悓姝ュ姩浣滐紝绛夊緟鎵ц瀹屾垚鍚庡啀鎵ц涓嬩竴涓姩浣�
+ continue;
+ }
+
+ //寮傛鍔ㄤ綔锛屽彧鍏佽涓嬩竴鏉″姩浣滆鎵ц
+ Motion nextMotion = motionService.getOne(new LambdaQueryWrapper<Motion>().eq(Motion::getUuid, executingMotion.getUuid()).eq(Motion::getPriority, executingMotion.getPriority() - 1));
+ if (nextMotion != null) {
+ if (!(nextMotion.getMotionSts() == MotionStsType.INIT.val() || nextMotion.getMotionSts() == MotionStsType.WAITING.val())) {
+ continue;//涓嬩竴鏉″姩浣滃凡缁忚鎵ц锛屼笉鍏佽鍐嶆墽琛屽悗缁姩浣�
+ }
+ }
}
+
+
Motion motion = motionService.selectOfTop1(task.getUuid(), MotionStsType.INIT.val(), task.getHostId());
if (null != motion) {
@@ -112,7 +127,9 @@
for (Task taskCharge : taskService.selectChargeByAnalyzeSts()) {
Motion executingMotion = motionService.selectOfTop1(taskCharge.getUuid(), MotionStsType.EXECUTING.val(), taskCharge.getHostId());
if (executingMotion != null) {//瀛樺湪姝e湪鎵ц鐨刴otion
- continue;
+ if (executingMotion.getSync() == 1) {//褰撳墠鎵ц涓殑鍔ㄤ綔鏄悓姝ュ姩浣滐紝绛夊緟鎵ц瀹屾垚鍚庡啀鎵ц涓嬩竴涓姩浣�
+ continue;
+ }
}
Motion motion = motionService.selectOfTop1(taskCharge.getUuid(), MotionStsType.INIT.val(), taskCharge.getHostId());
@@ -175,7 +192,9 @@
for (Task task : taskService.selectManualByAnalyzeSts()) {
Motion executingMotion = motionService.selectOfTop1(task.getUuid(), MotionStsType.EXECUTING.val(), task.getHostId());
if (executingMotion != null) {//瀛樺湪姝e湪鎵ц鐨刴otion
- continue;
+ if (executingMotion.getSync() == 1) {//褰撳墠鎵ц涓殑鍔ㄤ綔鏄悓姝ュ姩浣滐紝绛夊緟鎵ц瀹屾垚鍚庡啀鎵ц涓嬩竴涓姩浣�
+ continue;
+ }
}
Motion motion = motionService.selectOfTop1(task.getUuid(), MotionStsType.INIT.val(), task.getHostId());
@@ -232,7 +251,9 @@
for (Task task : taskService.selectMoveByAnalyzeSts()) {
Motion executingMotion = motionService.selectOfTop1(task.getUuid(), MotionStsType.EXECUTING.val(), task.getHostId());
if (executingMotion != null) {//瀛樺湪姝e湪鎵ц鐨刴otion
- continue;
+ if (executingMotion.getSync() == 1) {//褰撳墠鎵ц涓殑鍔ㄤ綔鏄悓姝ュ姩浣滐紝绛夊緟鎵ц瀹屾垚鍚庡啀鎵ц涓嬩竴涓姩浣�
+ continue;
+ }
}
Motion motion = motionService.selectOfTop1(task.getUuid(), MotionStsType.INIT.val(), task.getHostId());
@@ -308,6 +329,9 @@
case AGV:
executeRes = agvCommandService.accept(motion);
break;
+ case MAP:
+ executeRes = mapCommandService.accept(motion);
+ break;
default:
break;
}
@@ -343,6 +367,9 @@
case CONVEYOR:
executeRes = conveyorCommandService.finish(motion);
break;
+ case MAP:
+ executeRes = mapCommandService.finish(motion);
+ break;
default:
break;
}
--
Gitblit v1.9.1