From 9d0acfb65c80c4948c305ca01338f894b87346a0 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期一, 08 四月 2024 09:44:37 +0800
Subject: [PATCH] Merge branch 'Four-Way-Rack' of http://47.97.1.152:5880/r/zy-asrs-master into Four-Way-Rack
---
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/timer/MotionTimer.java | 86 ++++++++++++++++++++++++++++++++++++-------
1 files changed, 72 insertions(+), 14 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 84edc5b..7ef0cb4 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
@@ -4,6 +4,7 @@
import com.zy.asrs.wcs.core.entity.Task;
import com.zy.asrs.wcs.core.kernel.command.AgvCommandService;
import com.zy.asrs.wcs.core.kernel.command.CraneCommandService;
+import com.zy.asrs.wcs.core.kernel.command.LiftCommandService;
import com.zy.asrs.wcs.core.kernel.command.ShuttleCommandService;
import com.zy.asrs.wcs.core.model.enums.DeviceCtgType;
import com.zy.asrs.wcs.core.model.enums.MotionCtgType;
@@ -38,13 +39,13 @@
// private ConveyorCommandService conveyorCommandService;
@Autowired
private CraneCommandService craneCommandService;
-// @Autowired
-// private LiftCommandService liftCommandService;
+ @Autowired
+ private LiftCommandService liftCommandService;
@Autowired
private ShuttleCommandService shuttleCommandService;
- @Scheduled(cron = "0/1 * * * * ? ")
- public synchronized void executeWrkMast() {
+// @Scheduled(cron = "0/1 * * * * ? ")
+ public synchronized void executeTask() {
Date now = new Date();
// ANALYZE_INBOUND
for (Task task : taskService.selectByAnalyzeSts()) {
@@ -60,13 +61,13 @@
continue;
}
- // 鏇存柊wrkMast
- switch (TaskStsType.query(task.getTaskSts())) {
+ // 鏇存柊Task
+ switch (TaskStsType.queryById(task.getTaskSts())) {
case ANALYZE_INBOUND:
- task.setTaskSts(TaskStsType.EXECUTE_INBOUND.sts);
+ task.setTaskSts(TaskStsType.EXECUTE_INBOUND.getId());
break;
case ANALYZE_OUTBOUND:
- task.setTaskSts(TaskStsType.EXECUTE_OUTBOUND.sts);
+ task.setTaskSts(TaskStsType.EXECUTE_OUTBOUND.getId());
break;
}
task.setUpdateTime(now);
@@ -89,13 +90,13 @@
continue;
}
- // 鏇存柊wrkMast
- switch (TaskStsType.query(task.getTaskSts())) {
+ // 鏇存柊Task
+ switch (TaskStsType.queryById(task.getTaskSts())) {
case EXECUTE_INBOUND:
- task.setTaskSts(TaskStsType.COMPLETE_INBOUND.sts);
+ task.setTaskSts(TaskStsType.COMPLETE_INBOUND.getId());
break;
case EXECUTE_OUTBOUND:
- task.setTaskSts(TaskStsType.COMPLETE_OUTBOUND.sts);
+ task.setTaskSts(TaskStsType.COMPLETE_OUTBOUND.getId());
break;
}
task.setUpdateTime(now);
@@ -170,6 +171,63 @@
// }
// }
+// @Scheduled(cron = "0/1 * * * * ? ")
+ public synchronized void executeManualTask() {
+ Date now = new Date();
+ // ANALYZE_MANUAL
+ for (Task task : taskService.selectByAnalyzeSts()) {
+ Motion executingMotion = motionService.selectOfTop1(task.getUuid(), MotionStsType.EXECUTING.val(), task.getHostId());
+ if (executingMotion != null) {//瀛樺湪姝e湪鎵ц鐨刴otion
+ continue;
+ }
+
+ Motion motion = motionService.selectOfTop1(task.getUuid(), MotionStsType.INIT.val(), task.getHostId());
+ if (null != motion) {
+ boolean result = this.executeMotion(motion);
+ if (!result) {
+ continue;
+ }
+ // 鏇存柊Task
+ switch (TaskStsType.queryById(task.getTaskSts())) {
+ case ANALYZE_MANUAL:
+ task.setTaskSts(TaskStsType.EXECUTE_MANUAL.getId());
+ break;
+ }
+ task.setUpdateTime(now);
+ if (!taskService.updateById(task)) {
+ log.error("{}鍏朵粬宸ヤ綔妗f洿鏂扮姸鎬佸け璐ワ紒", task.getTaskNo());
+ }
+ }
+ }
+ // EXECUTE_MANUAL
+ for (Task task : taskService.selectManualByExecuteSts()) {
+ if (!motionService.hasRunningMotion(task.getUuid(), task.getHostId())) {
+ Motion motion = motionService.selectOfTop1(task.getUuid(), MotionStsType.WAITING.val(), task.getHostId());
+ if (null != motion) {
+ boolean result = this.executeMotion(motion);
+ if (!result) {
+ continue;
+ }
+ } else {
+ if (motionService.selectOfTop1(task.getUuid(), MotionStsType.EXECUTING.val(), task.getHostId()) != null) {
+ continue;
+ }
+
+ // 鏇存柊Task
+ switch (TaskStsType.queryById(task.getTaskSts())) {
+ case EXECUTE_MANUAL:
+ task.setTaskSts(TaskStsType.COMPLETE_MANUAL.getId());
+ break;
+ }
+ task.setUpdateTime(now);
+ if (!taskService.updateById(task)) {
+ log.error("{}浠栧伐浣滄。鏇存柊鐘舵�佸け璐ワ紒", task.getTaskNo());
+ }
+ }
+ }
+ }
+ }
+
@Scheduled(cron = "0/1 * * * * ? ")
public void scanMotionByExecuting() {
List<Motion> motionList = motionService.selectBySts(MotionStsType.EXECUTING.val());
@@ -191,7 +249,7 @@
executeRes = shuttleCommandService.accept(motion);
break;
case LIFT:
-// executeRes = liftCommandService.accept(motion);
+ executeRes = liftCommandService.accept(motion);
break;
case AGV:
executeRes = agvCommandService.accept(motion);
@@ -223,7 +281,7 @@
case CRANE:
break;
case LIFT:
-// executeRes = liftCommandService.finish(motion);
+ executeRes = liftCommandService.finish(motion);
break;
case SHUTTLE:
executeRes = shuttleCommandService.finish(motion);
--
Gitblit v1.9.1