From 071f3021f4ba872c572a4c59dd8ce9ea2d3c9106 Mon Sep 17 00:00:00 2001
From: whycq <913841844@qq.com>
Date: 星期二, 23 四月 2024 18:50:37 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/controller/AgvLocMastController.java    |    6 +-
 src/main/webapp/views/home/agvMap.html                            |   42 +++++++-------
 src/main/java/com/zy/asrs/service/impl/AgvLocMastServiceImpl.java |   81 ++++++++++++++++++++++++++
 src/main/java/com/zy/asrs/controller/AgvMapController.java        |    2 
 src/main/java/com/zy/asrs/service/AgvLocMastService.java          |    2 
 5 files changed, 106 insertions(+), 27 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/AgvLocMastController.java b/src/main/java/com/zy/asrs/controller/AgvLocMastController.java
index 0951bb4..3d437ac 100644
--- a/src/main/java/com/zy/asrs/controller/AgvLocMastController.java
+++ b/src/main/java/com/zy/asrs/controller/AgvLocMastController.java
@@ -153,11 +153,11 @@
     @ManagerAuth(memo = "鍒濆鍖栧簱浣�")
     public R init(LocMastInitParam param) {
         //娓呯┖鍘熸湁搴撲綅
-        agvLockMastService.clearLoc();
+//        agvLockMastService.clearLoc();
         //鍒濆鍖栦簩妤煎簱浣�
-        agvLockMastService.initLocFloor2();
+//        agvLockMastService.initLocFloor2();
         //鍒濆鍖栦笁妤肩珯鐐�
-        //agvLockMastService.initLocFloor3();
+        agvLockMastService.initLocFloor3();
 
         return R.ok();
     }
diff --git a/src/main/java/com/zy/asrs/controller/AgvMapController.java b/src/main/java/com/zy/asrs/controller/AgvMapController.java
index bc2d9d3..5f1da7b 100644
--- a/src/main/java/com/zy/asrs/controller/AgvMapController.java
+++ b/src/main/java/com/zy/asrs/controller/AgvMapController.java
@@ -51,7 +51,7 @@
     public String getMapData(@PathVariable("floor") Integer floor, @PathVariable("lev") Integer lev) {
 
         //to do
-        floor = 2;
+//        floor = 2;
 
         BasMap basMap = agvBasMapService.selectLatestMap(1,floor);
         //瑙f瀽json鍦板浘鏁版嵁
diff --git a/src/main/java/com/zy/asrs/service/AgvLocMastService.java b/src/main/java/com/zy/asrs/service/AgvLocMastService.java
index 6745ff3..d2a0db2 100644
--- a/src/main/java/com/zy/asrs/service/AgvLocMastService.java
+++ b/src/main/java/com/zy/asrs/service/AgvLocMastService.java
@@ -14,6 +14,8 @@
 
     public void initLocFloor2();
 
+    public void initLocFloor3();
+
     List<AgvLocMast> queryFreeLocMast2(Short locType1, Integer rowBeg, Integer rowEnd, Integer bayBeg, Integer bayEnd, Integer levBeg, Integer levEnd);
 
     void updateLocType2ByRBL(Integer locType2, AgvLocRule locRule);
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 66cf080..ea016b6 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);
                 }
             }
@@ -120,6 +124,79 @@
 
         return 2;
     }
+    private boolean checkLocExistFloor3(int row, int bay){
+        if(row == 1 && (bay <= 15 || bay >= 30)){
+            return false;
+        }
+
+        if(row <= 6 && bay >= 29){
+            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 && bay >= 33){
+            return false;
+        }
+        if(row <= 24 && bay >= 34){
+            return false;
+        }
+        if(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 != 23  && row != 24 && row != 25 ) && 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 <= 8){
+            return 2;
+        }
+
+        if(row <= 21){
+            return 4;
+        }
+
+        if(row >= 22){
+            return 3;
+        }
+
+        return 2;
+    }
 
     private boolean checkLocExist(int row, int bay, int floor){
         //if(floor == 1 && (row == 2)){
diff --git a/src/main/webapp/views/home/agvMap.html b/src/main/webapp/views/home/agvMap.html
index 6258351..75fd145 100644
--- a/src/main/webapp/views/home/agvMap.html
+++ b/src/main/webapp/views/home/agvMap.html
@@ -381,9 +381,9 @@
 </head>
 <body>
 <div id="app" style="display: flex;justify-content: space-around;margin-top: 0px;flex-wrap: wrap;" @click="bgClick()">
-
-    <!--<div style="margin-top: 20px;"><button class="layui-btn" @click="currentFloor = 1" :style="{background: currentFloor==1?'red':''}">1妤�</button></div>-->
-    <!--<div style="margin-top: 20px;"><button class="layui-btn" @click="currentFloor = 3" :style="{background: currentFloor==3?'red':''}">3妤�</button></div>-->
+    <div style="margin-top: 20px;"><button class="layui-btn" @click="currentFloor = 1" :style="{background: currentFloor==1?'red':''}">1妤�</button></div>
+    <div style="margin-top: 20px;"><button class="layui-btn" @click="currentFloor = 2" :style="{background: currentFloor==2?'red':''}">2妤�</button></div>
+    <div style="margin-top: 20px;"><button class="layui-btn" @click="currentFloor = 3" :style="{background: currentFloor==3?'red':''}">3妤�</button></div>
 
     <div style="flex: 18;display: flex;justify-content: center;" :style="{zoom:showScale/100.0,marginTop:(showScale)*3 + 'px'}">
         <div style="margin-top: -110px;">
@@ -523,24 +523,24 @@
                 <button class="card-button">搴撲綅鐘舵��</button>
             </div>
 
-<!--            <div class="hoverCard">-->
-<!--                <div class="card-details">-->
-<!--                    <p class="text-title" style="text-align: center;">妤煎眰 {{currentLev}}F</p>-->
-<!--                    <div class="text-body" style="display: flex;">-->
-<!--                        <div class="floorSelect">-->
-<!--                            <label for="01">1F</label>-->
-<!--                            <input id="01" type="radio" name="r" v-model="currentLev" value="1" checked="">-->
-<!--                            <label for="02">2F</label>-->
-<!--                            <input id="02" type="radio" v-model="currentLev" name="r" value="2">-->
-<!--                            <label for="03">3F</label>-->
-<!--                            <input id="03" type="radio" v-model="currentLev" name="r" value="3">-->
-<!--                            <label for="04">4F</label>-->
-<!--                            <input id="04" type="radio" v-model="currentLev" name="r" value="4">-->
-<!--                        </div>-->
-<!--                    </div>-->
-<!--                </div>-->
-<!--                <button class="card-button">妤煎眰 {{currentLev}}F</button>-->
-<!--            </div>-->
+            <div class="hoverCard">
+                <div class="card-details">
+                    <p class="text-title" style="text-align: center;">妤煎眰 {{currentLev}}F</p>
+                    <div class="text-body" style="display: flex;">
+                        <div class="floorSelect">
+                            <label for="01">1F</label>
+                            <input id="01" type="radio" name="r" v-model="currentLev" value="1" checked="">
+                            <label for="02">2F</label>
+                            <input id="02" type="radio" v-model="currentLev" name="r" value="2">
+                            <label for="03">3F</label>
+                            <input id="03" type="radio" v-model="currentLev" name="r" value="3">
+                            <label for="04">4F</label>
+                            <input id="04" type="radio" v-model="currentLev" name="r" value="4">
+                        </div>
+                    </div>
+                </div>
+                <button class="card-button">妤煎眰 {{currentLev}}F</button>
+            </div>
 
         </div>
     </div>

--
Gitblit v1.9.1