From 3a1b33b1ab558591cf9c8acc5aa6585d6ccd6473 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期五, 14 四月 2023 16:52:17 +0800
Subject: [PATCH] 穿梭车状态和提升机状态显示更新

---
 src/main/java/com/zy/core/enums/LiftProtocolStatusType.java    |    1 
 src/main/java/com/zy/asrs/controller/ShuttleController.java    |    4 +
 src/main/webapp/views/console.html                             |   84 ++++++++++++++++++++++++---
 src/main/java/com/zy/asrs/domain/vo/LiftStateTableVo.java      |    6 +
 src/main/java/com/zy/asrs/domain/vo/ShuttleStateTableVo.java   |    7 ++
 src/main/webapp/static/css/console.css                         |    8 ++
 src/main/java/com/zy/core/enums/ShuttleProtocolStatusType.java |    7 +-
 src/main/webapp/views/shuttle.html                             |    2 
 src/main/java/com/zy/asrs/controller/LiftController.java       |    2 
 src/main/webapp/views/lift.html                                |    2 
 10 files changed, 104 insertions(+), 19 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/LiftController.java b/src/main/java/com/zy/asrs/controller/LiftController.java
index f88ea21..a6c157c 100644
--- a/src/main/java/com/zy/asrs/controller/LiftController.java
+++ b/src/main/java/com/zy/asrs/controller/LiftController.java
@@ -63,7 +63,7 @@
                 continue;
             }
             vo.setTaskNo(liftProtocol.getTaskNo());  //  浠诲姟鍙�
-            vo.setProtocolStatus(liftProtocol.getProtocolStatusType().desc);
+            vo.setProtocolStatus(liftProtocol.getProtocolStatusType().id);
             vo.setLiftLock(liftProtocol.getLiftLock());
             vo.setPositionArrivalFeedback(liftProtocol.getPositionArrivalFeedback());
             vo.setReady(liftProtocol.getReady());
diff --git a/src/main/java/com/zy/asrs/controller/ShuttleController.java b/src/main/java/com/zy/asrs/controller/ShuttleController.java
index 8cb7e94..d0bc966 100644
--- a/src/main/java/com/zy/asrs/controller/ShuttleController.java
+++ b/src/main/java/com/zy/asrs/controller/ShuttleController.java
@@ -65,6 +65,8 @@
             // 鑾峰彇鍥涘悜绌挎杞︿俊鎭�
             ShuttleThread shuttleThread = (ShuttleThread) SlaveConnection.get(SlaveType.Shuttle, basShuttle.getShuttleNo());
             if (shuttleThread == null) {
+                vo.setStatus(ShuttleProtocolStatusType.OFFLINE.id);//璁惧绂荤嚎
+                vo.setBusyStatus(ShuttleProtocolStatusType.OFFLINE.desc);
                 continue;
             }
             ShuttleProtocol shuttleProtocol = shuttleThread.getShuttleProtocol();
@@ -73,7 +75,7 @@
             }
             vo.setTaskNo(shuttleProtocol.getTaskNo().intValue());  //  浠诲姟鍙�
             vo.setBusyStatus(shuttleProtocol.getBusyStatusType().desc); //鍥涘悜绌挎杞︾姸鎬�
-            vo.setStatus(shuttleProtocol.getProtocolStatusType().desc);//褰撳墠浠诲姟鐘舵��
+            vo.setStatus(shuttleProtocol.getProtocolStatusType().id);//褰撳墠浠诲姟鐘舵��
             vo.setCurrentCode(shuttleProtocol.getCurrentCode());//褰撳墠浜岀淮鐮�
             LocMast currentLocMast = locMastService.queryByQrCode(shuttleProtocol.getCurrentCode().toString());
             if (currentLocMast == null) {
diff --git a/src/main/java/com/zy/asrs/domain/vo/LiftStateTableVo.java b/src/main/java/com/zy/asrs/domain/vo/LiftStateTableVo.java
index 4212c8a..c26c8a8 100644
--- a/src/main/java/com/zy/asrs/domain/vo/LiftStateTableVo.java
+++ b/src/main/java/com/zy/asrs/domain/vo/LiftStateTableVo.java
@@ -18,7 +18,7 @@
     /**
      * 褰撳墠鎻愬崌鏈虹姸鎬侊紙鍐呴儴鑷垜缁存姢锛�
      */
-    private String protocolStatus;
+    private Integer protocolStatus;
 
     /**
      * 鎻愬崌鏈洪攣瀹�
@@ -225,4 +225,8 @@
         return this.pakMk ? "Y" : "N";
     }
 
+    public String getProtocolStatus$() {
+        return LiftProtocolStatusType.get(this.protocolStatus).desc;
+    }
+
 }
diff --git a/src/main/java/com/zy/asrs/domain/vo/ShuttleStateTableVo.java b/src/main/java/com/zy/asrs/domain/vo/ShuttleStateTableVo.java
index 99302f5..8b2d22c 100644
--- a/src/main/java/com/zy/asrs/domain/vo/ShuttleStateTableVo.java
+++ b/src/main/java/com/zy/asrs/domain/vo/ShuttleStateTableVo.java
@@ -4,6 +4,7 @@
 import com.zy.asrs.entity.BasShuttleErr;
 import com.zy.asrs.service.BasShuttleErrService;
 import com.zy.core.enums.ShuttleErrorCodeType;
+import com.zy.core.enums.ShuttleProtocolStatusType;
 import com.zy.core.enums.ShuttleStatusType;
 import lombok.Data;
 
@@ -14,7 +15,7 @@
     private Integer shuttleNo;
 
     // 鐘舵��
-    private String status = "-";
+    private Integer status;
 
     //鍥涘悜绌挎杞﹀繖瑁呭~
     private String busyStatus = "-";
@@ -208,4 +209,8 @@
         return this.plcOutputCharge ? "Y" : "N";
     }
 
+    public String getStatus$() {
+        return ShuttleProtocolStatusType.get(this.status).desc;
+    }
+
 }
diff --git a/src/main/java/com/zy/core/enums/LiftProtocolStatusType.java b/src/main/java/com/zy/core/enums/LiftProtocolStatusType.java
index f3c8e67..e5b8e3c 100644
--- a/src/main/java/com/zy/core/enums/LiftProtocolStatusType.java
+++ b/src/main/java/com/zy/core/enums/LiftProtocolStatusType.java
@@ -4,6 +4,7 @@
     IDLE(1, "绌洪棽"),
     WORKING(2, "浣滀笟涓�"),
     WAITING(3, "绛夊緟纭"),
+    OFFLINE(4, "绂荤嚎"),
     ;
 
     public Integer id;
diff --git a/src/main/java/com/zy/core/enums/ShuttleProtocolStatusType.java b/src/main/java/com/zy/core/enums/ShuttleProtocolStatusType.java
index cd08360..f30c523 100644
--- a/src/main/java/com/zy/core/enums/ShuttleProtocolStatusType.java
+++ b/src/main/java/com/zy/core/enums/ShuttleProtocolStatusType.java
@@ -8,9 +8,10 @@
     IDLE(1, "绌洪棽"),
     WORKING(2, "浣滀笟涓�"),
     WAITING(3, "绛夊緟纭"),
-    CHARGING(5, "鍏呯數涓�"),
-    CHARGING_WAITING(6, "鍏呯數浠诲姟绛夊緟纭"),
-    FIXING(7, "鏁呴殰淇涓�"),
+    CHARGING(4, "鍏呯數涓�"),
+    CHARGING_WAITING(5, "鍏呯數浠诲姟绛夊緟纭"),
+    FIXING(6, "鏁呴殰淇涓�"),
+    OFFLINE(7, "绂荤嚎"),
     ;
 
     public Integer id;
diff --git a/src/main/webapp/static/css/console.css b/src/main/webapp/static/css/console.css
index 819881c..cd46d92 100644
--- a/src/main/webapp/static/css/console.css
+++ b/src/main/webapp/static/css/console.css
@@ -305,6 +305,10 @@
 .shuttle-fixing {
 	background-color: rgb(252,48,48);
 }
+/*绂荤嚎*/
+.shuttle-offline {
+	background-color: rgb(0, 0, 0);
+}
 /*绌洪棽*/
 .lift-idle {
 	background-color: rgb(120,255,129);
@@ -317,6 +321,10 @@
 .lift-waiting {
 	background-color: rgb(184,184,184);
 }
+/*绂荤嚎*/
+.lift-offline {
+	background-color: rgb(0, 0, 0);
+}
 #code {
 	background-image: url(../images/status_bar_2.png);
 	background-repeat: no-repeat;
diff --git a/src/main/webapp/views/console.html b/src/main/webapp/views/console.html
index 6a6ff76..5e0b60a 100644
--- a/src/main/webapp/views/console.html
+++ b/src/main/webapp/views/console.html
@@ -59,13 +59,7 @@
         <!-- 鍥涘悜绌挎杞︾姸鎬� -->
         <div class="line-status">
             <div class="body-head">绌挎杞︾姸鎬�</div>
-            <div class="state">
-                <span>鍥涘悜绌挎杞� 1</span>
-                <span class="state-ss shuttle-idle">绌洪棽</span>
-            </div>
-            <div class="state">
-                <span>鍥涘悜绌挎杞� 2</span>
-                <span class="state-ss shuttle-idle">绌洪棽</span>
+            <div id="shuttle-status-box">
             </div>
             <div class="button"><span>鎵�鏈夌姸鎬�</span></div>
             <div class="button item-group">
@@ -75,20 +69,21 @@
                 <span class="shuttle-charging">鍏呯數涓�</span>
                 <span class="shuttle-charging-waiting">鍏呯數浠诲姟绛夊緟纭</span>
                 <span class="shuttle-fixing">鏁呴殰淇涓�</span>
+                <span class="shuttle-offline">绂荤嚎</span>
             </div>
         </div>
         <!-- 鎻愬崌鏈虹姸鎬� -->
         <div class="line-status">
             <div class="body-head">鎻愬崌鏈虹姸鎬�</div>
-            <div class="state states">
-                <span>鎻愬崌鏈�</span>
-                <span class="state-ss shuttle-idle">绌洪棽</span>
+            <div id="lift-status-box">
+
             </div>
             <div class="button"><span>鎵�鏈夌姸鎬�</span></div>
             <div class="button item-group">
                 <span class="lift-idle">绌洪棽</span>
                 <span class="lift-working">浣滀笟涓�</span>
                 <span class="lift-waiting">绛夊緟纭</span>
+                <span class="lift-offline">绂荤嚎</span>
             </div>
         </div>
         <!-- 杈撻�佺嚎鐘舵�� -->
@@ -418,7 +413,44 @@
 
     setInterval(() => {
         getShuttleStateInfo()
+        getLiftStateInfo()
     },1000)
+
+    // 鎻愬崌鏈轰俊鎭〃鑾峰彇
+    function getLiftStateInfo() {
+        $.ajax({
+            url: baseUrl+ "/lift/table/lift/state",
+            headers: {'token': localStorage.getItem('token')},
+            method: 'POST',
+            success: function (res) {
+                $("#lift-status-box").empty()
+                res.data.forEach((item,index) => {
+                    let liftStatusClass = "lift-idle"
+                    switch (item.status) {
+                        case 1://绌洪棽
+                            liftStatusClass = "lift-idle";
+                            break
+                        case 2://浣滀笟涓�
+                            liftStatusClass = "lift-working";
+                            break
+                        case 3://绛夊緟纭
+                            liftStatusClass = "lift-waiting";
+                            break
+                        case 4://绂荤嚎
+                            liftStatusClass = "lift-offline";
+                            break
+                        default:
+                            liftStatusClass = "lift-idle"
+                    }
+                    let liftStatus = '<div class="state states">' +
+                        '<span>鎻愬崌鏈� ' + item.liftNo + '</span>' +
+                        '<span class="state-ss ' + liftStatusClass + '">' + item.protocolStatus$ + '</span></div>';
+                    $("#lift-status-box").append(liftStatus)
+
+                })
+            }
+        });
+    }
 
     // 鍥涘悜绌挎杞︿俊鎭〃鑾峰彇
     function getShuttleStateInfo() {
@@ -427,7 +459,39 @@
             headers: {'token': localStorage.getItem('token')},
             method: 'POST',
             success: function (res) {
+                $("#shuttle-status-box").empty()
                 res.data.forEach((item,index) => {
+                    let shuttleStatusClass = "shuttle-idle"
+                    switch (item.status) {
+                        case 1://绌洪棽
+                            shuttleStatusClass = "shuttle-idle";
+                            break
+                        case 2://浣滀笟涓�
+                            shuttleStatusClass = "shuttle-working";
+                            break
+                        case 3://绛夊緟纭
+                            shuttleStatusClass = "shuttle-waiting";
+                            break
+                        case 4://鍏呯數涓�
+                            shuttleStatusClass = "shuttle-charging";
+                            break
+                        case 5://鍏呯數浠诲姟绛夊緟纭
+                            shuttleStatusClass = "shuttle-charging-waiting";
+                            break
+                        case 6://鏁呴殰淇涓�
+                            shuttleStatusClass = "shuttle-fixing";
+                            break
+                        case 7://绂荤嚎
+                            shuttleStatusClass = "shuttle-offline";
+                            break
+                        default:
+                            shuttleStatusClass = "shuttle-idle"
+                    }
+                    let shuttleStatus = '<div class="state">' +
+                        '<span>鍥涘悜绌挎杞� ' + item.shuttleNo + '</span>' +
+                        '<span class="state-ss ' + shuttleStatusClass + '">' + item.status$ + '</span></div>';
+                    $("#shuttle-status-box").append(shuttleStatus)
+
                     if(item.locNoLev != currentLev){
                         //鍥涘悜绌挎杞︽ゼ灞傚拰褰撳墠鍦板浘妤煎眰涓嶄竴鑷达紝鍒犻櫎璇ヨ溅杈�
                         $("#sxcar-" + item.shuttleNo).remove()
diff --git a/src/main/webapp/views/lift.html b/src/main/webapp/views/lift.html
index 32a14ba..1522ddc 100644
--- a/src/main/webapp/views/lift.html
+++ b/src/main/webapp/views/lift.html
@@ -309,7 +309,7 @@
                         let tr = tableEl.find("tr").eq(i);
                         setVal(tr.children("td").eq(0), table[i-1].liftNo);
                         setVal(tr.children("td").eq(1), table[i-1].taskNo);
-                        setVal(tr.children("td").eq(2), table[i-1].protocolStatus);
+                        setVal(tr.children("td").eq(2), table[i-1].protocolStatus$);
                         setVal(tr.children("td").eq(3), table[i-1].liftLock$);
                         setVal(tr.children("td").eq(4), table[i-1].positionArrivalFeedback);
                         setVal(tr.children("td").eq(5), table[i-1].ready$);
diff --git a/src/main/webapp/views/shuttle.html b/src/main/webapp/views/shuttle.html
index de98cf0..8a1c18d 100644
--- a/src/main/webapp/views/shuttle.html
+++ b/src/main/webapp/views/shuttle.html
@@ -574,7 +574,7 @@
                         // $("#mode-"+table[i-1].shuttleNo).html(table[i-1].statusVal===0?'鑱旀満':'鑴辨満');
                         let tr = tableEl.find("tr").eq(i);
                         setVal(tr.children("td").eq(0), table[i-1].shuttleNo);
-                        setVal(tr.children("td").eq(1), table[i-1].status);
+                        setVal(tr.children("td").eq(1), table[i-1].status$);
                         setVal(tr.children("td").eq(2), table[i-1].busyStatus);
                         setVal(tr.children("td").eq(3), table[i-1].currentCode);
                         setVal(tr.children("td").eq(4), table[i-1].batteryPower);

--
Gitblit v1.9.1