From b13b323ff03225cf76e7ef12edf29ce253b73e3a Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期日, 07 四月 2024 15:39:40 +0800
Subject: [PATCH] #
---
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/map/entity/MapWsShuttleVo.java | 5 ++
zy-asrs-flow/src/pages/map/utils.js | 1
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/map/websocket/MockScheduler.java | 76 ++++++++++++++++++++++++++++++++++---
3 files changed, 74 insertions(+), 8 deletions(-)
diff --git a/zy-asrs-flow/src/pages/map/utils.js b/zy-asrs-flow/src/pages/map/utils.js
index f5926c6..4c708ce 100644
--- a/zy-asrs-flow/src/pages/map/utils.js
+++ b/zy-asrs-flow/src/pages/map/utils.js
@@ -617,6 +617,7 @@
const mapVo = JSON.parse(data);
// shuttle
for (const shuttleVo of mapVo.shuttleVos) {
+ console.log(shuttleVo);
const shuttle = querySprite(SENSOR_TYPE.SHUTTLE, shuttleVo.shuttleNo);
if (!shuttle && !shuttleVo.curLocNo) { continue; }
const { row, bay, lev } = parseLocNo(shuttleVo.curLocNo);
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/map/entity/MapWsShuttleVo.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/map/entity/MapWsShuttleVo.java
index dc29473..ce19963 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/map/entity/MapWsShuttleVo.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/map/entity/MapWsShuttleVo.java
@@ -2,6 +2,9 @@
import lombok.Data;
+import java.util.ArrayList;
+import java.util.List;
+
/**
* Created by vincent on 4/3/2024
*/
@@ -12,6 +15,6 @@
private String curLocNo;
-
+ private List<String> preTravelPath = new ArrayList<>();
}
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/map/websocket/MockScheduler.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/map/websocket/MockScheduler.java
index 9396a06..1978188 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/map/websocket/MockScheduler.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/map/websocket/MockScheduler.java
@@ -7,6 +7,9 @@
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
+import java.util.ArrayList;
+import java.util.List;
+
/**
* Created by vincent on 4/3/2024
*/
@@ -16,6 +19,7 @@
private int row = 1;
private int bay = 1;
private int lev = 1;
+ private boolean shouldIncreaseBay = true;
@Scheduled(cron = "0/1 * * * * ? ")
public void mock() {
@@ -26,21 +30,79 @@
shuttleVo.setShuttleNo("1");
- if (bay < 30) {
- bay ++;
- } else {
- bay = 1;
- if (row < 10) {
- row ++;
+
+ if (shouldIncreaseBay) {
+ if (bay < 30) {
+ bay++;
} else {
- row = 1;
+ // bay 杈惧埌 30 鍚庯紝row 鍏堝 1
+ if (row < 10) {
+ row++;
+ } else {
+ row = 1; // 濡傛灉 row 宸茬粡鏄渶澶э紝鍒欏洖鍒拌捣濮嬩綅缃�
+ }
+ shouldIncreaseBay = false;
+ }
+ } else {
+ if (bay > 1) {
+ bay--;
+ } else {
+ // bay 鍑忓埌 1 鍚庯紝鍒� row 鍏堝 1
+ if (row < 10) {
+ row++;
+ } else {
+ row = 1; // 濡傛灉 row 宸茬粡鏄渶澶э紝鍒欏洖鍒拌捣濮嬩綅缃�
+ }
+ shouldIncreaseBay = true;
}
}
+
shuttleVo.setCurLocNo(Utils.getLocNo(row, bay, lev));
+ List<String> preTravelPath = generatePreTravelPath(row, bay, lev, shouldIncreaseBay, 10);
+ shuttleVo.setPreTravelPath(preTravelPath);
+
+
wsVo.getShuttleVos().add(shuttleVo);
MapWebSocket.broadcast(JSON.toJSONString(wsVo));
}
+ private List<String> generatePreTravelPath(int currentRow, int currentBay, int currentLev, boolean increasingBay, int pathLength) {
+ List<String> path = new ArrayList<>();
+ int tempRow = currentRow;
+ int tempBay = currentBay;
+ boolean tempIncreaseBay = increasingBay;
+
+ for (int i = 0; i < pathLength; i++) {
+ if (tempIncreaseBay) {
+ if (tempBay < 30) {
+ tempBay++;
+ } else {
+ if (tempRow < 10) {
+ tempRow++;
+ } else {
+ tempRow = 1; // 濡傛灉 row 宸茬粡鏄渶澶э紝鍒欏洖鍒拌捣濮嬩綅缃�
+ }
+ tempIncreaseBay = false;
+ }
+ } else {
+ if (tempBay > 1) {
+ tempBay--;
+ } else {
+ if (tempRow < 10) {
+ tempRow++;
+ } else {
+ tempRow = 1; // 濡傛灉 row 宸茬粡鏄渶澶э紝鍒欏洖鍒拌捣濮嬩綅缃�
+ }
+ tempIncreaseBay = true;
+ }
+ }
+ // 灏嗙敓鎴愮殑搴撲綅鍙峰姞鍏ヨ矾寰勫垪琛�
+ path.add(Utils.getLocNo(tempRow, tempBay, currentLev));
+ }
+
+ return path;
+ }
+
}
--
Gitblit v1.9.1