From 311d1d7ac6cf52e9edd6d43a40ab6d324d49c27f Mon Sep 17 00:00:00 2001
From: Junjie <540245094@qq.com>
Date: 星期三, 05 六月 2024 16:52:14 +0800
Subject: [PATCH] #
---
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/action/ShuttleAction.java | 46 +++++++++++++++++++++++++++++++---------------
1 files changed, 31 insertions(+), 15 deletions(-)
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/action/ShuttleAction.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/action/ShuttleAction.java
index fc14bc2..1f1c557 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/action/ShuttleAction.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/action/ShuttleAction.java
@@ -391,10 +391,28 @@
return;
}
+ //鍒ゆ柇x杞磋揣浣嶆槸鍚︽斁婊�
+ boolean flag = true;
+ for (Loc loc : locService.list(new LambdaQueryWrapper<Loc>()
+ .eq(Loc::getHostId, device.getHostId())
+ .eq(Loc::getRow, xCurrent)
+ .ge(Loc::getBay, shuttleProtocol.getYStart())
+ .le(Loc::getBay, shuttleProtocol.getYTarget()))) {
+ if (loc.getLocSts() != LocStsType.F.val()) {
+ flag = false;//鏈弧
+ break;
+ }
+ }
+ if (flag) {
+ shuttleProtocol.setXCurrent(shuttleProtocol.getXCurrent() + 1);
+ return;
+ }
+
//鎼滅储鏈夎揣搴撲綅
List<Loc> list = locService.list(new LambdaQueryWrapper<Loc>()
.eq(Loc::getLocSts, LocStsType.F.val())
.eq(Loc::getHostId, device.getHostId())
+ .notIn(Loc::getRow, xCurrent)
.eq(Loc::getStatus, 1));
if (list.isEmpty()) {
return;
@@ -402,30 +420,28 @@
Loc start = list.get(0);
- Integer yCurrent = shuttleProtocol.getYCurrent();
- String locNo = Utils.getLocNo(xCurrent, yCurrent, lev);
- Loc target = locService.getOne(new LambdaQueryWrapper<Loc>()
- .eq(Loc::getLocNo, locNo)
+ List<Loc> locList = locService.list(new LambdaQueryWrapper<Loc>()
.eq(Loc::getHostId, device.getHostId())
- .eq(Loc::getStatus, 1));
- if (target == null) {
- shuttleProtocol.setXCurrent(shuttleProtocol.getXCurrent() + 1);
+ .eq(Loc::getStatus, 1)
+ .eq(Loc::getLocSts, LocStsType.O.val())
+ .eq(Loc::getRow, xCurrent)
+ .orderByDesc(Loc::getBay)
+ .orderByAsc(Loc::getRow));
+ if (locList.isEmpty()) {
return;
}
- if (target.getLocSts() != LocStsType.O.val()) {
- shuttleProtocol.setXCurrent(shuttleProtocol.getXCurrent() + 1);
+ Loc target = locList.get(0);
+ if (target == null) {
return;
}
//璋冨害鍘荤洰鏍囦綅缃�
- if (shuttleProtocol.getCurrentLocNo().equals(target.getLocNo())) {
- shuttleProtocol.setXCurrent(shuttleProtocol.getXCurrent() + 1);//灏忚溅鍜岀洰鏍囦綅缃竴鑷达紝璺宠繃
- } else {
+ if (!shuttleProtocol.getCurrentLocNo().equals(target.getLocNo())) {
Task task = shuttleDispatcher.generateManuaTakeMoveTask(device, start.getLocNo(), target.getLocNo());
- if(task != null) {//璋冨害鎴愬姛
- shuttleProtocol.setXCurrent(shuttleProtocol.getXCurrent() + 1);
- }
+// if(task != null) {//璋冨害鎴愬姛
+// shuttleProtocol.setXCurrent(shuttleProtocol.getXCurrent() + 1);
+// }
}
}
}
--
Gitblit v1.9.1