From e1b28ee09836787555448083bf9a6b59477ad330 Mon Sep 17 00:00:00 2001
From: Junjie <540245094@qq.com>
Date: 星期六, 21 九月 2024 08:18:58 +0800
Subject: [PATCH] #
---
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/kernel/command/LiftCommandService.java | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 52 insertions(+), 4 deletions(-)
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/kernel/command/LiftCommandService.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/kernel/command/LiftCommandService.java
index 371cf83..496ca62 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/kernel/command/LiftCommandService.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/kernel/command/LiftCommandService.java
@@ -12,6 +12,7 @@
import com.zy.asrs.wcs.core.model.enums.MotionStsType;
import com.zy.asrs.wcs.core.service.MotionService;
import com.zy.asrs.wcs.core.service.TaskService;
+import com.zy.asrs.wcs.core.utils.Utils;
import com.zy.asrs.wcs.rcs.cache.SlaveConnection;
import com.zy.asrs.wcs.rcs.model.enums.LiftProtocolStatusType;
import com.zy.asrs.wcs.rcs.model.enums.SlaveType;
@@ -59,6 +60,14 @@
return false;
}
+ //妫�娴嬫彁鍗囨満鏄惁鏈変换鍔$粦瀹�
+ boolean liftResult = Utils.checkLiftHasBinding(liftProtocol.getLiftNo(), String.valueOf(motion.getTaskNo()));
+ if (liftResult) {
+ //瀛樺湪浠诲姟锛岀姝㈡墽琛�
+ return false;
+ }
+
+ //姣忔鎵ц鎻愬崌鏈烘寚浠ら兘缁戝畾鎻愬崌鏈�
Task task = taskService.getOne(new LambdaQueryWrapper<Task>().eq(Task::getTaskNo, motion.getTaskNo()));
if (task == null) {
return false;
@@ -178,6 +187,11 @@
return false;
}
+ Task task = taskService.getOne(new LambdaQueryWrapper<Task>().eq(Task::getTaskNo, motion.getTaskNo()));
+ if (task == null) {
+ return false;
+ }
+
switch (Objects.requireNonNull(MotionCtgType.get(motion.getMotionCtgEl()))){
case LIFT_MOVE:
// 鍒ゆ柇鎻愬崌鏈烘槸鍚︾┖闂�
@@ -189,6 +203,14 @@
return false;
}
+ if (motion.getReleaseLift() == 1) {//閲婃斁鎻愬崌鏈�
+ task.setLiftNo(0);
+ task.setUpdateTime(new Date());
+ if (!taskService.updateById(task)) {
+ return false;
+ }
+ }
+
break;
case LIFT_WITH_GOODS:
// 鍒ゆ柇鎻愬崌鏈烘槸鍚︾┖闂�
@@ -196,12 +218,26 @@
return false;
}
-// if (!liftProtocol.getLineFrontHasStock() || !liftProtocol.getLineEndHasStock()) {
-// return false;
-// }
-
if (!liftProtocol.getLev().equals(Integer.valueOf(motion.getTarget()))) {
return false;
+ }
+
+ if (task.getTaskSts() < 100) {//鍏ュ簱鍒ゆ柇鎵樼洏鏄惁杩涘叆鎻愬崌鏈�
+ if (!liftProtocol.getHasTray()) {
+ return false;
+ }
+ } else if (task.getTaskSts() >= 100 && task.getTaskSts() < 200) {//鍑哄簱鍒ゆ柇鎵樼洏鏄惁绂诲紑鎻愬崌鏈�
+ if (liftProtocol.getHasTray()) {
+ return false;
+ }
+ }
+
+ if (motion.getReleaseLift() == 1) {//閲婃斁鎻愬崌鏈�
+ task.setLiftNo(0);
+ task.setUpdateTime(new Date());
+ if (!taskService.updateById(task)) {
+ return false;
+ }
}
break;
@@ -230,6 +266,10 @@
return false;
}
+ if (!liftProtocol.getHasTray()) {
+ return false;
+ }
+
if (!liftProtocol.getLev().equals(Integer.valueOf(motion.getTarget()))) {
return false;
}
@@ -247,6 +287,14 @@
if (liftThread.isLock(null)) {
return false;
}
+
+ if (motion.getReleaseLift() == 1) {//閲婃斁鎻愬崌鏈�
+ task.setLiftNo(0);
+ task.setUpdateTime(new Date());
+ if (!taskService.updateById(task)) {
+ return false;
+ }
+ }
break;
case LIFT_SHUTTLE_ARRIVAL:
--
Gitblit v1.9.1