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/map/websocket/MockScheduler.java | 82 ++++++++++++++++++++++++++++++++++++++++ 1 files changed, 81 insertions(+), 1 deletions(-) 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 0bfef8e..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 @@ -3,14 +3,23 @@ import com.alibaba.fastjson.JSON; import com.zy.asrs.wcs.core.map.entity.MapWsShuttleVo; import com.zy.asrs.wcs.core.map.entity.MapWsVo; +import com.zy.asrs.wcs.core.utils.Utils; 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 */ @Component public class MockScheduler { + + private int row = 1; + private int bay = 1; + private int lev = 1; + private boolean shouldIncreaseBay = true; @Scheduled(cron = "0/1 * * * * ? ") public void mock() { @@ -19,10 +28,81 @@ // shuttle MapWsShuttleVo shuttleVo = new MapWsShuttleVo(); shuttleVo.setShuttleNo("1"); - shuttleVo.setCurLocNo("1-1-1"); + + + + if (shouldIncreaseBay) { + if (bay < 30) { + bay++; + } else { + // 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