From 6f088dc1cb716e345da064a5e89f148bd248c75d Mon Sep 17 00:00:00 2001
From: zyx <zyx123456>
Date: 星期二, 30 四月 2024 10:54:51 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/AgvLocMastServiceImpl.java |   92 ++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 88 insertions(+), 4 deletions(-)

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 a0485fc..3e4ee35 100644
--- a/src/main/java/com/zy/asrs/service/impl/AgvLocMastServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/AgvLocMastServiceImpl.java
@@ -36,6 +36,10 @@
         //2妤� 1-25鎺� 1-33鍒� 1灞�
         this.insertBatch(getLocMastList(1, 25, 1, 33, 1, 1, 2));
     }
+    public void initLocFloor3() {
+        //2妤� 1-25鎺� 1-33鍒� 1灞�
+        this.insertBatch(getLocMastList(1, 26, 1, 34, 1, 1, 3));
+    }
 
     //鏍规嵁鎺掑垪灞傝幏鍙朅GV搴撲綅鍒楄〃
     private List<AgvLocMast> getLocMastList(int rowIndex, int rowMax, int bayIndex, int bayMax, int levIndex, int levMax, int floor){
@@ -45,7 +49,7 @@
             for (int bay = bayIndex; bay <= bayMax; bay++) {
                 for (int lev = levIndex; lev <= levMax; lev++) {
 
-                    if(!checkLocExistFloor2(row,bay)){
+                    if(!checkLocExistFloor3(row,bay)){
                         continue;
                     }
 
@@ -63,7 +67,7 @@
                     loc.setModiTime(now);
                     loc.setFirstTime(now);
                     loc.setAppeTime(now);
-                    loc.setLocType1(initLocMastSts(row,bay));
+                    loc.setLocType1(initLocMastSts3(row,bay));
                     agvLocMastList.add(loc);
                 }
             }
@@ -115,6 +119,79 @@
         }
 
         if(row >= 21){
+            return 3;
+        }
+
+        return 2;
+    }
+    private boolean checkLocExistFloor3(int row, int bay){
+        if(row == 1 && (bay <= 15 || bay >= 30)){
+            return false;
+        }
+
+        if(row <= 6 && bay >= 30){
+            return false;
+        }
+
+        if((row >= 9 && row <= 16) && (bay <= 4 || bay >= 33)){
+            return false;
+        }
+        if(row == 17 && (bay <= 3 || bay >= 33)){
+            return false;
+        }
+
+        if(row <= 21 && row != 7 && row != 8 && bay >= 33){
+            return false;
+        }
+        if((row <= 24 && row != 7 && row != 8) && bay >= 34){
+            return false;
+        }
+        if(row >= 25 && row <= 26 && bay >= 29){
+            return false;
+        }
+
+
+        if((row != 8 && row != 21  && row != 23 && row != 24 && row != 25 && row != 26) && bay == 15){
+            return  false;
+        }
+
+        if((row >= 22 && row != 26 ) && bay == 16){
+            return  false;
+        }
+
+        if (row == 4 && (bay == 3 || bay == 4 || bay == 9 || bay == 14 || bay == 19 || bay == 20 || bay == 25)) {
+            return  false;
+        }
+
+        if ((row == 13 || row == 17) && (bay == 8 || bay == 14 || bay == 19 || bay == 24 )) {
+            return  false;
+        }
+        if (row == 22 && (bay == 4 || bay == 9 || bay == 14 || bay == 20 || bay == 25 )) {
+            return  false;
+        }
+
+        return true;
+    }
+
+    private short initLocMastSts3(int row, int bay){
+
+        if(row <= 8){
+            return 1;
+        }
+
+        if(row <= 17){
+            return 2;
+        }
+
+        if(row <= 18 && bay >= 9){
+            return 2;
+        }
+
+        if(row <= 21){
+            return 4;
+        }
+
+        if(row >= 22){
             return 3;
         }
 
@@ -236,9 +313,16 @@
     }
 
     @Override
-    public AgvLocMast selectEmptyZpallet(int type) {
+    public AgvLocMast selectEmptyZpallet(int type, int floor) {
 
-        return this.selectOne(new EntityWrapper<AgvLocMast>().eq("loc_sts","D").eq("loc_type2",type));
+        return this.selectOne(new EntityWrapper<AgvLocMast>().eq("loc_sts","D").eq("loc_type2",type).eq("floor",floor));
+
+    }
+
+    @Override
+    public AgvLocMast selectEmptyZpalletByLocType1(int type) {
+
+        return this.selectOne(new EntityWrapper<AgvLocMast>().eq("loc_sts","D").eq("loc_type1",type));
 
     }
 

--
Gitblit v1.9.1