From 868f6235606fc78eb60735cabae0262b99e0ec10 Mon Sep 17 00:00:00 2001 From: zhangc <zc@123> Date: 星期一, 25 十一月 2024 08:39:27 +0800 Subject: [PATCH] Merge branch 'phyzwms2' into phyzasrs-erp --- src/main/java/com/zy/asrs/controller/AgvMapController.java | 140 +++++++++++++++++++++++++++------------------- 1 files changed, 81 insertions(+), 59 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/AgvMapController.java b/src/main/java/com/zy/asrs/controller/AgvMapController.java index cba44b2..e3b35d0 100644 --- a/src/main/java/com/zy/asrs/controller/AgvMapController.java +++ b/src/main/java/com/zy/asrs/controller/AgvMapController.java @@ -2,6 +2,7 @@ import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.core.annotations.ManagerAuth; import com.core.common.R; import com.zy.asrs.entity.AgvLocDetl; @@ -32,8 +33,6 @@ @Autowired private RedisUtil redisUtil; - private Integer max = 10000; - private static final List<String> DISABLE_LOC_NO = new ArrayList<String>() {{ // add("0200101"); // add("0300101"); @@ -62,42 +61,81 @@ //鑾峰彇褰撳墠妤煎眰搴撲綅鏁版嵁 List<AgvLocMast> locMasts = agvLocMastService.selectLocByLevAndFloor(lev, floor); - for (AgvLocMast locMast : locMasts) { - Integer row = locMast.getRow1(); - Integer bay = locMast.getBay1(); + + if (floor == 1 && lev == 2) { + List<AgvLocMast> distinctRow = agvLocMastService.selectDistinctLocByLevAndFloor(lev, floor); + List<Integer> integers = new ArrayList<>(); + int min = 0; + int i =1; + for (AgvLocMast locMast : distinctRow) { + if (min > locMast.getMapRow1()) { + min = locMast.getMapRow1(); + } + if (locMast.getRightSide() == 1) { + integers.add(i); + } + i++; + + } + for (AgvLocMast locMast : locMasts) { + Integer row = locMast.getMapRow1(); + if (row < 0) { + row = row - min + 1; + } else { + row = row - min; + } + Integer bay = locMast.getMapBay1(); + Integer rightSide = locMast.getRightSide(); + int x = bay; + int y = row; + y = generateMap4Row(integers, row); + ArrayList rowData = arrayLists.get(x); + Object o = rowData.get(y); + + JSONObject jsonObject = JSON.parseObject(o.toString()); + jsonObject.put("value", "0"); + + jsonObject.put("locNo", locMast.getLocNo());//璁剧疆搴撲綅鍙� + jsonObject.put("locSts", locMast.getLocSts());//搴撲綅鐘舵�� + //鏇存柊list + rowData.set(y, jsonObject); + arrayLists.set(x, rowData); + } + } else { + for (AgvLocMast locMast : locMasts) { + Integer row = locMast.getRow1(); + Integer bay = locMast.getBay1(); - int x = bay; - int y = row; - //2妤� - if (floor == 1 && lev == 1) { - x = generateMap1Bay(bay); - } - if (floor == 1 && lev == 2) { - y = generateMap4Row(row); - } - //2妤� - if (floor == 2) { - y = generateMap2Row(row); - //y = generateMap2Bay(bay); - } - ////3妤� - if (floor == 3) { - y = generateMap3Row(row); + int x = bay; + int y = row; + //2妤� + if (floor == 1 && lev == 1) { + x = generateMap1Bay(bay); + } + //2妤� + if (floor == 2) { + y = generateMap2Row(row); + //y = generateMap2Bay(bay); + } + ////3妤� + if (floor == 3) { + y = generateMap3Row(row); // x = generateMap3Bay(bay); + } + + ArrayList rowData = arrayLists.get(x); + Object o = rowData.get(y); + + JSONObject jsonObject = JSON.parseObject(o.toString()); + jsonObject.put("value", "0"); + + jsonObject.put("locNo", locMast.getLocNo());//璁剧疆搴撲綅鍙� + jsonObject.put("locSts", locMast.getLocSts());//搴撲綅鐘舵�� + //鏇存柊list + rowData.set(y, jsonObject); + arrayLists.set(x, rowData); } - - ArrayList rowData = arrayLists.get(x); - Object o = rowData.get(y); - - JSONObject jsonObject = JSON.parseObject(o.toString()); - jsonObject.put("value", "0"); - - jsonObject.put("locNo", locMast.getLocNo());//璁剧疆搴撲綅鍙� - jsonObject.put("locSts", locMast.getLocSts());//搴撲綅鐘舵�� - //鏇存柊list - rowData.set(y, jsonObject); - arrayLists.set(x, rowData); } return JSONObject.toJSONString(arrayLists); @@ -105,7 +143,7 @@ private Integer generateMap1Bay(int bay) { int y = bay; - Integer[] bayAdd = {1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51, 53, 55, 57, 59, 61, 63, 65, 67, 69, 71, 73, 75, 77, 79, 81, 83, 85, 87, 89, 91, 93, 95, 97, 99, 101, 103, 105}; + Integer[] bayAdd = {1, 3, 5, 7, 9, 11, 13, 15, 17, 19}; for (int i = 0; i < bayAdd.length; i++) { if (bay > bayAdd[i]) { y++; @@ -116,11 +154,13 @@ } - private Integer generateMap4Row(int row) { + private Integer generateMap4Row(List<Integer> rightSide, int row) { int x = row; - Integer[] rowAdd = {1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51, 53, 55, 57, 59, 61, 63, 65, 67, 69, 71, 73, 75, 77, 79, 81, 83, 85, 87, 89, 91, 93, 95, 97, 99, 101, 103, 105, 107, 109, 111, 113, 115, 117, 119}; - for (int i = 0; i < rowAdd.length; i++) { - if (row > rowAdd[i]) { +// if (rightSide == 0) { +// x++; +// } + for (int i = 0; i < rightSide.size(); i++) { + if (row > rightSide.get(i)) { x++; } } @@ -131,7 +171,7 @@ private Integer generateMap2Row(int row) { int x = row; - Integer[] rowAdd = {2, 4, 6, 7, 8, 10, 12, 13, 15, 17, 19, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96, 98, 100, 102, 104, 106, 108, 110, 112, 114, 116}; + Integer[] rowAdd = {2, 4, 6, 7, 8, 10, 12, 13, 15, 17, 19, 20, 22, 24}; for (int i = 0; i < rowAdd.length; i++) { if (row > rowAdd[i]) { x++; @@ -156,7 +196,7 @@ private Integer generateMap3Row(int row) { int x = row; - Integer[] rowAdd = {2, 4, 6, 8, 10, 12, 14, 15, 17, 19, 21, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96, 98, 100, 102, 104, 106, 108, 110, 112, 114, 116, 118, 120, 122}; + Integer[] rowAdd = {2, 4, 6, 8, 10, 12, 14, 15, 17, 19, 21, 22, 24, 26, 28, 30, 32}; for (int i = 0; i < rowAdd.length; i++) { if (row >= rowAdd[i]) { x++; @@ -173,24 +213,6 @@ if (bay >= 50) y--; return y; } - - - public static void main(String[] args) { - AgvMapController a = new AgvMapController(); - System.out.println(a.generateMap4Row(4)); - - System.out.println(a.process(1)); - } - - private List<Integer> process(int start) { - List<Integer> l = new ArrayList<>(); - while (start <= max) { - l.add(start); - start = start + 2; - } - return l; - } - @RequestMapping("/map/searchData/auth") @ManagerAuth -- Gitblit v1.9.1