From 180bcaffa9b33f0c6cc57e98ad3a1bf25d90515b Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期三, 14 六月 2023 14:49:09 +0800
Subject: [PATCH] #地图优化

---
 src/main/java/com/zy/asrs/controller/MapController.java |  112 ++++++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 77 insertions(+), 35 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/MapController.java b/src/main/java/com/zy/asrs/controller/MapController.java
index 5bcad57..421612a 100644
--- a/src/main/java/com/zy/asrs/controller/MapController.java
+++ b/src/main/java/com/zy/asrs/controller/MapController.java
@@ -44,11 +44,23 @@
                     break;
                 case 2:
                 case 3:
+                    mapFilename = "DTBnode.json";
+                    locMasts = locMastService.selectNodeBLocByLev(lev);
+                    break;
                 case 4:
+                    mapFilename = "DTCnode.json";
+                    locMasts = locMastService.selectNodeCLocByLev(lev);
+                    break;
                 case 5:
                     mapFilename = "DTDnode.json";
-                    locMasts = locMastService.selectNodeLocByLev(lev);
+                    locMasts = locMastService.selectNodeDLocByLev(lev);
                     break;
+                case 6:
+                    mapFilename = "DTEnode.json";
+                    locMasts = locMastService.selectNodeELocByLev(lev);
+                    break;
+
+
             }
             String fileName = this.getClass().getClassLoader().getResource(mapFilename).getPath();//鑾峰彇鏂囦欢璺緞
 //            File file = new File("D:\\workspace\\zy-asrs\\src\\main\\resources\\map.json");
@@ -85,6 +97,7 @@
 
 
                 for (LocMast locMast : locMasts) {
+
                     Integer row = locMast.getRow1();
                     Integer bay = locMast.getBay1();
 
@@ -99,8 +112,20 @@
                             break;
                         case 2:
                         case 3:
-                        case 4:
-                        case 5:
+                            if (row<=3 || row>=5){
+                                if (row%1==0){
+                                    row=row+(row/1)-1;
+                                }else {
+                                    row=row+((row+1)/1)-1;
+                                }
+                            }else {
+                                if (row%2==0){
+                                    row=row+(row/2);
+                                }else {
+                                    row=row+((row-1)/2);
+                                }
+                            }
+
                             if (bay % 7 == 0) {
                                 bay=bay+1;
                             }else{
@@ -110,46 +135,63 @@
                                     bay=bay+locMast.getCrnNo()-1;
                                 }
                             }
-                            if (row == 3){
-                                row = row +1;
-                            } else if (row == 5) {
-                                row = row+2;
-                            } else if (row ==8) {
-                                row = row+3;
-                            }
-                            else if (row ==10) {
-                                row = row+4;
-                            }
-                            else if (row ==13) {
-                                row = row+5;
-                            }else if (row ==14) {
-                                row = row+6;
+                            break;
+                        case 4:
+                            if (row<=11){
+                                if (row%2==0){
+                                    row=row+(row/2)-1;
+                                }else {
+                                    row=row+((row+1)/2)-1;
+                                }
                             }else {
-                                if (row >3){
-                                    row = row +1;
-                                }
-                                if (row > 5){
-                                    row = row +1;
-                                }
-                                if (row > 8){
-                                    row = row +1;
-                                }
-                                if (row > 10){
-                                    row = row +1;
-                                }
-                                if (row > 13){
-                                    row = row +1;
-                                }
-                                if (row > 14){
-                                    row = row +1;
+                                if (row%2==0){
+                                    row=row+(row/2);
+                                }else {
+                                    row=row+((row-1)/2);
                                 }
                             }
+
+                            if (bay % 10 == 0) {
+                                bay=bay+1;
+                            }else{
+                                if (bay>10){
+                                    bay=bay+locMast.getCrnNo();
+                                }else {
+                                    bay=bay+locMast.getCrnNo()-1;
+                                }
+                            }
+                            break;
+                        case 5:
+                            if (row<=11){
+                                if (row%2==0){
+                                    row=row+(row/2)-1;
+                                }else {
+                                    row=row+((row+1)/2)-1;
+                                }
+                            }else {
+                                if (row%2==0){
+                                    row=row+(row/2);
+                                }else {
+                                    row=row+((row-1)/2);
+                                }
+                            }
+
+                            if (bay % 7 == 0) {
+                                bay=bay+1;
+                            }else{
+                                if (bay>7){
+                                    bay=bay+locMast.getCrnNo();
+                                }else {
+                                    bay=bay+locMast.getCrnNo()-1;
+                                }
+                            }
+                            break;
 
 
 
                     }
 
-                    if (area == 1){
+                    if (area == 1 || area == 6){
                         ArrayList rowData = arrayLists.get(row);
                         Object o = rowData.get(bay);
                         JSONObject jsonObject = JSON.parseObject(o.toString());

--
Gitblit v1.9.1