| | |
| | | TRACK: 3, |
| | | LIFT: 67, |
| | | CHARGE: 5, |
| | | DISABLE: 1, |
| | | DISABLE: -1, |
| | | }) |
| | | |
| | | export const NOTIFY_TYPE = Object.freeze({ |
New file |
| | |
| | | package com.zy.asrs.wcs.core.map.websocket; |
| | | |
| | | /** |
| | | * Created by vincent on 4/11/2024 |
| | | */ |
| | | public class MapRealTimeDatascheduler { |
| | | } |
| | |
| | | return fullPath; |
| | | } |
| | | |
| | | 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; |
| | | } |
| | | |
| | | } |