From 2d6cdc6d4a4feac22724b516ffbaec629896255c Mon Sep 17 00:00:00 2001
From: whycq <913841844@qq.com>
Date: 星期四, 19 九月 2024 20:30:56 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/controller/AgvMapController.java |   94 +++++++++++++++++++++++++++++-----------------
 1 files changed, 59 insertions(+), 35 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/AgvMapController.java b/src/main/java/com/zy/asrs/controller/AgvMapController.java
index b1f74bf..284fc10 100644
--- a/src/main/java/com/zy/asrs/controller/AgvMapController.java
+++ b/src/main/java/com/zy/asrs/controller/AgvMapController.java
@@ -49,7 +49,11 @@
     @GetMapping("/map/getData/{floor}/{lev}/auth")
     @ManagerAuth
     public String getMapData(@PathVariable("floor") Integer floor, @PathVariable("lev") Integer lev) {
-        BasMap basMap = agvBasMapService.selectLatestMap(1,floor);
+
+        //to do
+//        floor = 2;
+
+        BasMap basMap = agvBasMapService.selectLatestMap(lev,floor);
         //瑙f瀽json鍦板浘鏁版嵁
         List<ArrayList> arrayLists = JSON.parseArray(basMap.getData(), ArrayList.class);
 
@@ -58,21 +62,28 @@
         List<AgvLocMast> locMasts = agvLocMastService.selectLocByLevAndFloor(lev,floor);
         for (AgvLocMast locMast : locMasts) {
             Integer row = locMast.getRow1();
-            Integer bay = 34 - locMast.getBay1();
+            Integer bay = locMast.getBay1();
 
 
             int x = bay;
             int y = row;
-            ////1妤�
-            //if(floor == 1){
-            //    x = generateMap1Row(row);
-            //    y = generateMap1Bay(bay);
-            //}
+            //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);
-            //    x = generateMap3Bay(bay);
-            //}
+            if(floor == 3){
+                y = generateMap3Row(row);
+//                x = generateMap3Bay(bay);
+            }
 
             ArrayList rowData = arrayLists.get(x);
             Object o = rowData.get(y);
@@ -89,35 +100,47 @@
 
         return JSONObject.toJSONString(arrayLists);
     }
+    private Integer generateMap1Bay(int bay){
+        int y = bay;
+        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 ++;
+            }
+        }
 
-    private Integer generateMap1Row(int row){
-        int x = 21-row;
-        if(row > 1){
-            x --;
+        return y;
+
+    }
+
+    private Integer generateMap4Row(int row){
+        int x = row;
+        Integer[] rowAdd = {1,3,5,7,9,11,13,15,17,19,21};
+        for(int i=0; i<rowAdd.length; i++){
+            if(row > rowAdd[i]){
+                x ++;
+            }
         }
-        if(row > 3){
-            x --;
-        }
-        if(row > 5){
-            x --;
-        }
-        if(row > 7){
-            x --;
-        }
-        if(row > 9){
-            x --;
-        }
-        if(row > 10){
-            x --;
-        }
-        if(row > 12){
-            x --;
-        }
+
         return x;
 
     }
 
-    private Integer generateMap1Bay(int bay){
+    private Integer generateMap2Row(int row){
+        int x = row;
+        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 ++;
+            }
+        }
+        if(row >20) x += 9;
+
+        return x;
+
+    }
+
+    private Integer generateMap2Bay(int bay){
         int y = bay;
         if(y > 28){
             y ++;
@@ -130,12 +153,13 @@
 
     private Integer generateMap3Row(int row){
         int x = row;
-        Integer[] rowAdd = {2,4,6,7,8,10,12,13,15,17,19,21,23,24,26,28,30,32};
+        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 ++;
             }
         }
+        if(row >8) x += 9;
         return x;
     }
 

--
Gitblit v1.9.1