From dc24e8e11dd2f17967fac7809ba40688162f8e9e Mon Sep 17 00:00:00 2001 From: whycq <10027870+whycq@user.noreply.gitee.com> Date: 星期二, 04 六月 2024 15:34:08 +0800 Subject: [PATCH] # 库位初始化 --- src/main/java/com/zy/asrs/service/impl/AgvLocMastServiceImpl.java | 50 +++++++++++++++++++++++- src/main/java/com/zy/asrs/controller/AgvMapController.java | 20 +++++++++- 2 files changed, 65 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/AgvMapController.java b/src/main/java/com/zy/asrs/controller/AgvMapController.java index d5f4367..284fc10 100644 --- a/src/main/java/com/zy/asrs/controller/AgvMapController.java +++ b/src/main/java/com/zy/asrs/controller/AgvMapController.java @@ -53,7 +53,7 @@ //to do // floor = 2; - BasMap basMap = agvBasMapService.selectLatestMap(1,floor); + BasMap basMap = agvBasMapService.selectLatestMap(lev,floor); //瑙f瀽json鍦板浘鏁版嵁 List<ArrayList> arrayLists = JSON.parseArray(basMap.getData(), ArrayList.class); @@ -68,8 +68,11 @@ int x = bay; int y = row; //2妤� - if(floor == 1){ + if(floor == 1 && lev == 1){ x = generateMap1Bay(bay); + } + if(floor == 1 && lev == 2){ + y = generateMap4Row(row); } //2妤� if(floor == 2){ @@ -110,6 +113,19 @@ } + 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 ++; + } + } + + return x; + + } + private Integer generateMap2Row(int row){ int x = row; Integer[] rowAdd = {2,4,6,7,8,10,12,13,15,17,19,20,22,24}; diff --git a/src/main/java/com/zy/asrs/service/impl/AgvLocMastServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/AgvLocMastServiceImpl.java index 63305a3..d8e44fe 100644 --- a/src/main/java/com/zy/asrs/service/impl/AgvLocMastServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/AgvLocMastServiceImpl.java @@ -26,7 +26,7 @@ } public void initLocFloor1() { - this.insertBatch(getLocMastList(1, 32, 1, 20, 1, 1, 1)); + this.insertBatch(getLocMastList(1, 22, 1, 39, 2, 2, 1)); } @@ -47,7 +47,7 @@ for (int bay = bayIndex; bay <= bayMax; bay++) { for (int lev = levIndex; lev <= levMax; lev++) { - if(!checkLocExistFloor1(row,bay)){ + if(!checkLocExistFloor1_2(row,bay)){ continue; } @@ -75,7 +75,51 @@ return agvLocMastList; } - private boolean checkLocExistFloor1(int row, int bay){ + private boolean checkLocExistFloor1_2(int row, int bay){ + if(row == 4 && bay == 19){ + return false; + } + + if(row == 5 && (bay == 3 || bay == 8 || bay == 13 || bay == 18 || bay == 19 || bay == 24 || bay == 29)){ + return false; + } + + if((row == 6 || row == 7) && bay == 39){ + return false; + } + + if((row == 9 || row == 10 || row == 14 || row == 18) && (bay == 3 || bay == 8 || bay == 13 || bay == 14 || bay == 19 || bay == 24 || bay == 29 || bay == 30)){ + return false; + } + if ((row == 10 || row == 11) && (bay == 7 || bay == 12 || bay == 23 || bay == 28 )) { + return false; + } + if ((row == 9 || row == 13) && bay == 35 ) { + return false; + } + if(row == 13 && (bay == 18 || bay == 19 || bay == 20)){ + return false; + } + if(row == 9 && bay == 18){ + return false; + } + if((row == 14 || row == 15) && bay > 37){ + return false; + } + if(row >= 16 && bay >= 35){ + return false; + } + if((row >= 2 && row <= 21) && bay == 17){ + return false; + } + + if(bay >= 33 && bay <= 34){ + return false; + } + + return true; + } + private boolean checkLocExistFloor1_1(int row, int bay){ if(row <= 2 && bay >= 20){ return false; } -- Gitblit v1.9.1