From ff286c633460c53c73cc4855e608ff4884f1f3e6 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期三, 22 三月 2023 08:51:52 +0800
Subject: [PATCH] 主控图地图绘制

---
 src/main/webapp/static/js/map.json      |    1 
 src/main/webapp/views/console.html      |  422 ++++++++++++++++++++++++++--------------------------
 src/main/webapp/static/css/console.css  |   12 +
 src/main/webapp/static/images/sxcar.png |    0 
 src/main/webapp/static/js/common.js     |    2 
 pom.xml                                 |    2 
 src/main/resources/application.yml      |    2 
 7 files changed, 226 insertions(+), 215 deletions(-)

diff --git a/pom.xml b/pom.xml
index 37632f4..6ac8d17 100644
--- a/pom.xml
+++ b/pom.xml
@@ -185,7 +185,7 @@
     </dependencies>
 
     <build>
-        <finalName>szfzwcs</finalName>
+        <finalName>xzjlwcs</finalName>
         <plugins>
             <plugin>
                 <groupId>org.springframework.boot</groupId>
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 0529618..83d8a7e 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -8,7 +8,7 @@
     name: @pom.build.finalName@
   datasource:
     driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
-    url: jdbc:sqlserver://localhost:1433;databasename=szfzasrs
+    url: jdbc:sqlserver://192.168.4.15:1433;databasename=xzjlasrs
     username: sa
 #    password: Zoneyung@zy56$
     password: sa@123
diff --git a/src/main/webapp/static/css/console.css b/src/main/webapp/static/css/console.css
index d348f8d..ff40508 100644
--- a/src/main/webapp/static/css/console.css
+++ b/src/main/webapp/static/css/console.css
@@ -392,7 +392,7 @@
 
 /* 搴撲綅缁� */
 .stock-group .item {
-	width: 80px;
+	width: 40px;
 	height: 30px;
 	float: left;
 	border-top: 1px solid rgb(194,76,65);
@@ -674,3 +674,13 @@
 .btn-16:active {
 	top: 2px;
 }
+
+.sxcar{
+	width: 40px;
+	height: 30px;
+	background-image: url(../images/sxcar.png);
+	background-size: 100% 100%;
+	position: relative;
+	top: 0;
+	left: 0;
+}
\ No newline at end of file
diff --git a/src/main/webapp/static/images/sxcar.png b/src/main/webapp/static/images/sxcar.png
new file mode 100644
index 0000000..74a309a
--- /dev/null
+++ b/src/main/webapp/static/images/sxcar.png
Binary files differ
diff --git a/src/main/webapp/static/js/common.js b/src/main/webapp/static/js/common.js
index 3bb413f..8b9bf0d 100644
--- a/src/main/webapp/static/js/common.js
+++ b/src/main/webapp/static/js/common.js
@@ -1,4 +1,4 @@
-var baseUrl = "/szfzwcs";
+var baseUrl = "/xzjlwcs";
 
 // 璧嬪��
 function setVal(el, val) {
diff --git a/src/main/webapp/static/js/map.json b/src/main/webapp/static/js/map.json
new file mode 100644
index 0000000..94faf53
--- /dev/null
+++ b/src/main/webapp/static/js/map.json
@@ -0,0 +1 @@
+[[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-23],[-1,-1,-1,-1,0,0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-22],[-1,-1,-1,-1,0,0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-21],[-1,-1,-1,-1,0,0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-20],[-1,-1,-1,-1,0,0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-19],[-1,-1,-1,-1,0,0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-18],[-1,-1,-1,-1,0,0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-17],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-16],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-15],[-1,-1,0,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-14],[-1,0,0,-1,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,-13],[-1,0,0,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-12],[-1,0,0,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-11],[-1,0,0,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-10],[-1,0,0,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-9],[-1,-1,0,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-8],[-1,-1,0,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-7],[-1,0,0,0,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-6],[-1,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,-5],[-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-4],[-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-3],[-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-2],[-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]]
diff --git a/src/main/webapp/views/console.html b/src/main/webapp/views/console.html
index cf0e3b8..b660346 100644
--- a/src/main/webapp/views/console.html
+++ b/src/main/webapp/views/console.html
@@ -16,227 +16,51 @@
         <h6>AUTOMATIC WAREHOUSE WCS MONITORING DIAGRAM</h6>
     </header>
     <main class="main">
-        <!--绗�1鍒� -->
-        <div class="site-row site-row-1" id="fool1">
-            <div id="site-100" class="site" style="height: 38px;line-height: 38px;width:156px;">100</div>
-
-            <div id="site-101" class="site" style="height: 38px;line-height: 38px;width:156px;">101</div>
-
-            <div id="site-102" class="site" style="height: 38px;line-height: 38px;width:156px;">102</div>
-        </div>
-        <!--绗�2鍒�-->
-        <div class="site-row site-row-2" id="fool2" style="display: none">
-            <div id="site-200" class="site" style="height: 38px;line-height: 38px;width:156px;">200</div>
-
-            <div id="site-201" class="site" style="height: 38px;line-height: 38px;width:156px;">201</div>
-
-            <div id="site-202" class="site" style="height: 38px;line-height: 38px;width:156px;">202</div>
-        </div>
-
-        <!--绗�3鍒�-->
-        <div class="site-row site-row-3" id="fool3" style="display: none">
-            <div id="site-300" class="site" style="height: 38px;line-height: 38px;width:156px;">300</div>
-
-            <div id="site-301" class="site" style="height: 38px;line-height: 38px;width:156px;">301</div>
-
-            <div id="site-302" class="site" style="height: 38px;line-height: 38px;width:156px;">302</div>
-        </div>
-
         <!--妤煎眰鎸夐挳-->
-
             <button class="floorBtn  btn-16" onclick="changFloor(1)" style="margin-top: 150px">1F</button>
             <button class="floorBtn  btn-16" onclick="changFloor(2)" style="margin-top: 200px">2F</button>
             <button class="floorBtn  btn-16" onclick="changFloor(3)" style="margin-top: 250px">3F</button>
+            <button class="floorBtn  btn-16" onclick="testMove()" style="margin-top: 250px">娴嬭瘯绉诲姩灏忚溅</button>
 
         <!-- 璐ф灦 + 鍫嗗灈鏈� + 鍏ュ簱绔欑偣 -->
         <div class="main-part">
             <!-- 绗竴缁� -->
-            <div class="lane" style="margin-bottom: 280px">
+            <div class="lane" id="mapDataId" style="margin-bottom: 280px">
+                <div class="sxcar" id="sxcar-1"></div>
                 <!-- 璐ф灦 -->
-                <div class="stock-group">
-                    <button class="item">1</button>
-                    <button class="item">2</button>
-                    <button class="item">3</button>
-                    <button class="item">4</button>
-                    <button class="item" style="border: none;background-color: #6ca7a8"></button>
-                    <button class="item" style="border: none;background-color: #6ca7a8"></button>
-                    <button class="item">7</button>
-                    <button class="item">8</button>
-                    <button class="item">9</button>
-                    <button class="item">10</button>
-                    <button class="item">11</button>
-                    <button class="item">12</button>
-                    <button class="item">13</button>
-                    <span class="row-no">1#</span>
-                </div>
-                <div class="stock-group">
-                    <button class="item">1</button>
-                    <button class="item">2</button>
-                    <button class="item">3</button>
-                    <button class="item">4</button>
-                    <button class="item" style="border: none;background-color: #6ca7a8"></button>
-                    <button class="item" style="border: none;background-color: #6ca7a8"></button>
-                    <button class="item">7</button>
-                    <button class="item">8</button>
-                    <button class="item">9</button>
-                    <button class="item">10</button>
-                    <button class="item">11</button>
-                    <button class="item">12</button>
-                    <button class="item">13</button>
-                    <span class="row-no">2#</span>
-                </div>
-                <div class="stock-group">
-                    <button class="item">1</button>
-                    <button class="item">2</button>
-                    <button class="item">3</button>
-                    <button class="item">4</button>
-                    <button class="item" style="border: none;background-color: #6ca7a8"></button>
-                    <button class="item" style="border: none;background-color: #6ca7a8"></button>
-                    <button class="item">7</button>
-                    <button class="item">8</button>
-                    <button class="item">9</button>
-                    <button class="item">10</button>
-                    <button class="item">11</button>
-                    <button class="item">12</button>
-                    <button class="item">13</button>
-                    <span class="row-no">3#</span>
-                </div>
-                <div class="stock-group">
-                    <button class="item">1</button>
-                    <button class="item">2</button>
-                    <button class="item">3</button>
-                    <button class="item">4</button>
-                    <button class="item" style="border: none;background-color: #6ca7a8"></button>
-                    <button class="item" style="border: none;background-color: #6ca7a8"></button>
-                    <button class="item">7</button>
-                    <button class="item">8</button>
-                    <button class="item">9</button>
-                    <button class="item">10</button>
-                    <button class="item">11</button>
-                    <button class="item">12</button>
-                    <button class="item">13</button>
-                    <span class="row-no">4#</span>
-                </div>
-
+<!--                <div class="stock-group">-->
+<!--                    <button class="item">1</button>-->
+<!--                    <button class="item">2</button>-->
+<!--                    <button class="item">3</button>-->
+<!--                    <button class="item">4</button>-->
+<!--                    <button class="item">5</button>-->
+<!--                    <button class="item">6</button>-->
+<!--                    <button class="item">7</button>-->
+<!--                    <button class="item">8</button>-->
+<!--                    <button class="item">9</button>-->
+<!--                    <button class="item">10</button>-->
+<!--                    <button class="item">11</button>-->
+<!--                    <button class="item">12</button>-->
+<!--                    <button class="item">13</button>-->
+<!--                    <button class="item">14</button>-->
+<!--                    <button class="item">15</button>-->
+<!--                    <button class="item">16</button>-->
+<!--                    <button class="item">17</button>-->
+<!--                    <button class="item">18</button>-->
+<!--                    <button class="item">19</button>-->
+<!--                    <button class="item">20</button>-->
+<!--                    <button class="item">21</button>-->
+<!--                    <button class="item">22</button>-->
+<!--                    <button class="item">23</button>-->
+<!--                    <button class="item">24</button>-->
+<!--                    <button class="item">25</button>-->
+<!--                    <span class="row-no">1#</span>-->
+<!--                </div>-->
                 <!-- 鍫嗗灈鏈� -->
-                <div class="crn">
-                    <hr class="pathway">
-                    <div id="crn-1" class="machine"></div>
-                </div>
-
-                <!-- 璐ф灦 -->
-                <div class="stock-group">
-                    <button class="item">1</button>
-                    <button class="item">2</button>
-                    <button class="item">3</button>
-                    <button class="item">4</button>
-                    <button class="item">5</button>
-                    <button class="item">6</button>
-                    <button class="item">7</button>
-                    <button class="item">8</button>
-                    <button class="item">9</button>
-                    <button class="item">10</button>
-                    <button class="item">11</button>
-                    <button class="item">12</button>
-                    <button class="item">13</button>
-                    <span class="row-no">5#</span>
-                </div>
-                <div class="stock-group">
-                    <button class="item">1</button>
-                    <button class="item">2</button>
-                    <button class="item">3</button>
-                    <button class="item">4</button>
-                    <button class="item">5</button>
-                    <button class="item">6</button>
-                    <button class="item">7</button>
-                    <button class="item">8</button>
-                    <button class="item">9</button>
-                    <button class="item">10</button>
-                    <button class="item">11</button>
-                    <button class="item">12</button>
-                    <button class="item">13</button>
-                    <span class="row-no">6#</span>
-                </div>
-                <div class="stock-group">
-                    <button class="item">1</button>
-                    <button class="item">2</button>
-                    <button class="item">3</button>
-                    <button class="item">4</button>
-                    <button class="item">5</button>
-                    <button class="item">6</button>
-                    <button class="item">7</button>
-                    <button class="item">8</button>
-                    <button class="item">9</button>
-                    <button class="item">10</button>
-                    <button class="item">11</button>
-                    <button class="item">12</button>
-                    <button class="item">13</button>
-                    <span class="row-no">7#</span>
-                </div>
-                <div class="stock-group">
-                    <button class="item">1</button>
-                    <button class="item">2</button>
-                    <button class="item">3</button>
-                    <button class="item">4</button>
-                    <button class="item">5</button>
-                    <button class="item">6</button>
-                    <button class="item">7</button>
-                    <button class="item">8</button>
-                    <button class="item">9</button>
-                    <button class="item">10</button>
-                    <button class="item">11</button>
-                    <button class="item">12</button>
-                    <button class="item">13</button>
-                    <span class="row-no">8#</span>
-                </div>
-                <div class="stock-group">
-                    <button class="item">1</button>
-                    <button class="item">2</button>
-                    <button class="item">3</button>
-                    <button class="item">4</button>
-                    <button class="item">5</button>
-                    <button class="item">6</button>
-                    <button class="item">7</button>
-                    <button class="item">8</button>
-                    <button class="item">9</button>
-                    <button class="item">10</button>
-                    <button class="item">11</button>
-                    <button class="item">12</button>
-                    <button class="item">13</button>
-                    <span class="row-no">9#</span>
-                </div>
-                <div class="stock-group">
-                    <button class="item">1</button>
-                    <button class="item">2</button>
-                    <button class="item">3</button>
-                    <button class="item">4</button>
-                    <button class="item">5</button>
-                    <button class="item">6</button>
-                    <button class="item">7</button>
-                    <button class="item">8</button>
-                    <button class="item">9</button>
-                    <button class="item">10</button>
-                    <button class="item">11</button>
-                    <button class="item">12</button>
-                    <button class="item">13</button>
-                    <span class="row-no">10#</span>
-                </div>
-                <div class="stock-group">
-                    <button class="item">1</button>
-                    <button class="item">2</button>
-                    <button class="item">3</button>
-                    <button class="item">4</button>
-                    <button class="item">5</button>
-                    <button class="item">6</button>
-                    <button class="item">7</button>
-                    <button class="item">8</button>
-                    <button class="item">9</button>
-                    <button class="item">10</button>
-                    <button class="item">11</button>
-                    <button class="item">12</button>
-                    <button class="item">13</button>
-                    <span class="row-no">11#</span>
-                </div>
+<!--                <div class="crn">-->
+<!--                    <hr class="pathway">-->
+<!--                    <div id="crn-1" class="machine"></div>-->
+<!--                </div>-->
             </div>
         </div>
     </main>
@@ -602,6 +426,182 @@
         }
     }
 
+
+    $(function (){
+        initMap()
+    })
+
+    //璁$畻鍥涘悜绌挎杞﹀浘鏍囦綅缃�
+    function getCarPosition(x,y) {
+        let top = (x * 30) + "px"
+        let left = (y * 40 - 40) + "px" //闇�瑕佸噺鍘诲皬杞﹁嚜宸辨墍鍗犲搴�
+        return [top,left];
+    }
+
+    //绉诲姩鍥涘悜绌挎杞﹀浘鏍�
+    function moveCar(id,x,y) {
+        //鑾峰彇鍏蜂綋浣嶇疆top鍜宭eft鍊�
+        let position = getCarPosition(x,y)
+        let top = position[0]
+        let left = position[1]
+        console.log(top,left)
+        $("#sxcar-" + id).animate({top: top,left: left}, 1000);
+    }
+
+    //鍒濆鍖栧湴鍥�
+    function initMap() {
+        //姣嶈建閬撶涓�娆$储寮曪紝鐢ㄤ簬瀹氫綅灏忚溅
+        let firstMotherIndex = [0,0];
+
+        $.ajax({
+            type:"get",
+            url: baseUrl + "/static/js/map.json",
+            success: (data) => {
+                let content = ""
+                data.forEach((rowData,index) => {
+                    let lastGroup = '<div class="stock-group">'
+                    //鍘绘帀涓婁笅杈圭紭绂佸尯
+                    if(!(index == 0 || data.length - 1 == index)){
+                        let row = '<div class="stock-group">';
+                        rowData.forEach((colData,idx) => {
+                            //鍘绘帀宸﹀彸杈圭紭绂佸尯
+                            if(!(idx == 0 || rowData.length - 1 == idx)){
+                                let col;
+                                switch (colData){
+                                    case -1:
+                                        //-1绂佸尯涓嶆樉绀猴紝浣嗘槸闇�瑕佸崰鐢ㄥ厓绱犱綅缃�
+                                        col = '<button class="item" style="visibility: hidden">' + idx + '</button>';
+                                        break;
+                                    case 3:
+                                        //姣嶈建閬�
+                                        col = '<button class="item" style="background: #5af;">&#x21c5;&#x21c4;</button>';
+                                        if (firstMotherIndex[0] === 0 && firstMotherIndex[1] === 0) {
+                                            //绗竴娆¢亣鍒版瘝杞ㄩ亾锛屽垯淇濆瓨璇ヨ建閬撳湴鍧�(鐢ㄤ簬灏忚溅鍒濆鍖栧畾浣�)
+                                            firstMotherIndex = [index,idx]
+                                        }
+                                        break;
+                                    default:
+                                        col = '<button class="item">' + index + '</button>';
+                                }
+
+                                if(data.length - 2 == index){
+                                    //鍒拌揪鐪熷疄鏁版嵁鐨勬渶鍚庝竴琛岋紝鎵撲笂琛屾暟鏍囪
+                                    lastGroup += '<button class="item">' + idx + '#</button>';
+                                }
+                                row += col
+                            }
+                        })
+                        lastGroup += '</div>';
+                        row += lastGroup;
+                        row += '</div>';
+                        content += row
+                    }
+                })
+
+
+                moveCar(1, firstMotherIndex[0], firstMotherIndex[1]);
+                $("#mapDataId").append(content)
+            }
+        })
+    }
+
+    function testMove() {
+        let json = "[{\n" +
+            "\t\t\"x\": 5,\n" +
+            "\t\t\"y\": 5\n" +
+            "\t},\n" +
+            "\t{\n" +
+            "\t\t\"x\": 6,\n" +
+            "\t\t\"y\": 5\n" +
+            "\t},\n" +
+            "\t{\n" +
+            "\t\t\"x\": 7,\n" +
+            "\t\t\"y\": 5\n" +
+            "\t},\n" +
+            "\t{\n" +
+            "\t\t\"x\": 8,\n" +
+            "\t\t\"y\": 5\n" +
+            "\t},\n" +
+            "\t{\n" +
+            "\t\t\"x\": 9,\n" +
+            "\t\t\"y\": 5\n" +
+            "\t},\n" +
+            "\t{\n" +
+            "\t\t\"x\": 10,\n" +
+            "\t\t\"y\": 5\n" +
+            "\t},\n" +
+            "\t{\n" +
+            "\t\t\"x\": 11,\n" +
+            "\t\t\"y\": 5\n" +
+            "\t},\n" +
+            "\t{\n" +
+            "\t\t\"x\": 11,\n" +
+            "\t\t\"y\": 6\n" +
+            "\t},\n" +
+            "\t{\n" +
+            "\t\t\"x\": 12,\n" +
+            "\t\t\"y\": 6\n" +
+            "\t},\n" +
+            "\t{\n" +
+            "\t\t\"x\": 13,\n" +
+            "\t\t\"y\": 6\n" +
+            "\t},\n" +
+            "\t{\n" +
+            "\t\t\"x\": 14,\n" +
+            "\t\t\"y\": 6\n" +
+            "\t},\n" +
+            "\t{\n" +
+            "\t\t\"x\": 15,\n" +
+            "\t\t\"y\": 6\n" +
+            "\t},\n" +
+            "\t{\n" +
+            "\t\t\"x\": 16,\n" +
+            "\t\t\"y\": 6\n" +
+            "\t},\n" +
+            "\t{\n" +
+            "\t\t\"x\": 17,\n" +
+            "\t\t\"y\": 6\n" +
+            "\t},\n" +
+            "\t{\n" +
+            "\t\t\"x\": 18,\n" +
+            "\t\t\"y\": 6\n" +
+            "\t},\n" +
+            "\t{\n" +
+            "\t\t\"x\": 19,\n" +
+            "\t\t\"y\": 6\n" +
+            "\t},\n" +
+            "\t{\n" +
+            "\t\t\"x\": 19,\n" +
+            "\t\t\"y\": 7\n" +
+            "\t},\n" +
+            "\t{\n" +
+            "\t\t\"x\": 19,\n" +
+            "\t\t\"y\": 8\n" +
+            "\t},\n" +
+            "\t{\n" +
+            "\t\t\"x\": 20,\n" +
+            "\t\t\"y\": 8\n" +
+            "\t},\n" +
+            "\t{\n" +
+            "\t\t\"x\": 21,\n" +
+            "\t\t\"y\": 8\n" +
+            "\t},\n" +
+            "\t{\n" +
+            "\t\t\"x\": 22,\n" +
+            "\t\t\"y\": 8\n" +
+            "\t},\n" +
+            "\t{\n" +
+            "\t\t\"x\": 23,\n" +
+            "\t\t\"y\": 8\n" +
+            "\t}\n" +
+            "]";
+        json = JSON.parse(json)
+        json.forEach((item,index) => {
+            moveCar(1, item.x, item.y);
+        })
+
+    }
+
     // 灏忚溅鍋忕Щ鍔ㄧ敾
     function carAnimate(id, target) {
         if (id === 1000) {

--
Gitblit v1.9.1