From 4eca179a8c7ebbe310f6560fc8f88555a2e6994e Mon Sep 17 00:00:00 2001
From: vincent <1341870251@qq.com>
Date: 星期二, 02 六月 2020 14:03:24 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/client/domain/CrnStateTableVo.java     |  171 +++++++++++++++++++++
 src/main/webapp/views/crn.html                              |  196 ++++++++++++++++++------
 src/main/webapp/views/console.html                          |    4 
 src/main/java/com/zy/client/domain/enums/CrnStatusType.java |   29 ++-
 src/main/webapp/static/css/crn.css                          |    2 
 src/main/java/com/zy/client/controller/CrnController.java   |   35 ++++
 6 files changed, 375 insertions(+), 62 deletions(-)

diff --git a/src/main/java/com/zy/client/controller/CrnController.java b/src/main/java/com/zy/client/controller/CrnController.java
index 03d66f7..9c55eb9 100644
--- a/src/main/java/com/zy/client/controller/CrnController.java
+++ b/src/main/java/com/zy/client/controller/CrnController.java
@@ -1,7 +1,17 @@
 package com.zy.client.controller;
 
+import com.core.annotations.ManagerAuth;
+import com.core.common.R;
+import com.zy.client.domain.CrnStateTableVo;
+import com.zy.client.domain.enums.CrnStatusType;
+import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+import java.util.concurrent.atomic.AtomicInteger;
 
 /**
  * 鍫嗗灈鏈烘帴鍙�
@@ -12,4 +22,29 @@
 public class CrnController {
 
 
+    private AtomicInteger integer = new AtomicInteger();
+
+    @PostMapping("/table/crn/state")
+    @ManagerAuth(memo = "鍫嗗灈鏈轰俊鎭〃")
+    public R crnTable(){
+        List<CrnStateTableVo> list = new ArrayList<>();
+        for (int i=0;i<4;i++){
+            CrnStateTableVo vo = new CrnStateTableVo("1", CrnStatusType.AUTO, "姝e父", "鏈夌墿", "99", "3", "涓綅", "18233", "422", "0", "1204", "鍏抽棴", "0");
+            if (integer.get()%5 == 0) {
+                vo.setWorkNo("0000");
+            } else {
+                vo.setWorkNo("9998");
+            }
+            list.add(vo);
+        }
+        integer.getAndIncrement();
+        return R.ok().add(list);
+    }
+
+    @PostMapping("/output/site")
+    @ManagerAuth(memo = "鍫嗗灈鏈烘姤鏂囨棩蹇楄緭鍑�")
+    public R crnOutput(){
+        String str = "\n" +new Date().toLocaleString() + "銆�2020-5-29 13:14:22銆戞壂鎻弍lcA 鐩爣绔�--273283723728327636432343234323422732837237283276364323432343234227328372372832763643234323432342";
+        return R.ok().add(str);
+    }
 }
diff --git a/src/main/java/com/zy/client/domain/CrnStateTableVo.java b/src/main/java/com/zy/client/domain/CrnStateTableVo.java
new file mode 100644
index 0000000..baa5b4b
--- /dev/null
+++ b/src/main/java/com/zy/client/domain/CrnStateTableVo.java
@@ -0,0 +1,171 @@
+package com.zy.client.domain;
+
+import com.zy.client.domain.enums.CrnStatusType;
+
+/**
+ * Created by vincent on 2020-06-02
+ */
+public class CrnStateTableVo {
+
+    // 鍫嗗灈鏈哄彿
+    private String crnNo;
+
+    // 妯″紡
+    private CrnStatusType type;
+
+    // 鎶ヨ
+    private String warn;
+
+    // 鏈夌墿
+    private String loading;
+
+    // 鍒�
+    private String bay;
+
+    // 灞�
+    private String lev;
+
+    // 璐у弶浣嶇疆
+    private String forkOffset;
+
+    // 鍒楀潗鏍�
+    private String bayCoor;
+
+    // 灞傚潗鏍�
+    private String levCoor;
+
+    // 瀹屾垚
+    private String complete;
+
+    // 浠诲姟鍙�
+    private String workNo;
+
+    // 妯″紡
+    private String status;
+
+    // 鎶ヨ鐮�
+    private String warnCode;
+
+    public CrnStateTableVo() {
+    }
+
+    public CrnStateTableVo(String crnNo, CrnStatusType type, String warn, String loading, String bay, String lev, String forkOffset, String bayCoor, String levCoor, String complete, String workNo, String status, String warnCode) {
+        this.crnNo = crnNo;
+        this.type = type;
+        this.warn = warn;
+        this.loading = loading;
+        this.bay = bay;
+        this.lev = lev;
+        this.forkOffset = forkOffset;
+        this.bayCoor = bayCoor;
+        this.levCoor = levCoor;
+        this.complete = complete;
+        this.workNo = workNo;
+        this.status = status;
+        this.warnCode = warnCode;
+    }
+
+    public String getCrnNo() {
+        return crnNo;
+    }
+
+    public void setCrnNo(String crnNo) {
+        this.crnNo = crnNo;
+    }
+
+    public String getType() {
+        return type.getDesc();
+    }
+
+    public void setType(CrnStatusType type) {
+        this.type = type;
+    }
+
+    public String getWarn() {
+        return warn;
+    }
+
+    public void setWarn(String warn) {
+        this.warn = warn;
+    }
+
+    public String getLoading() {
+        return loading;
+    }
+
+    public void setLoading(String loading) {
+        this.loading = loading;
+    }
+
+    public String getBay() {
+        return bay;
+    }
+
+    public void setBay(String bay) {
+        this.bay = bay;
+    }
+
+    public String getLev() {
+        return lev;
+    }
+
+    public void setLev(String lev) {
+        this.lev = lev;
+    }
+
+    public String getForkOffset() {
+        return forkOffset;
+    }
+
+    public void setForkOffset(String forkOffset) {
+        this.forkOffset = forkOffset;
+    }
+
+    public String getBayCoor() {
+        return bayCoor;
+    }
+
+    public void setBayCoor(String bayCoor) {
+        this.bayCoor = bayCoor;
+    }
+
+    public String getLevCoor() {
+        return levCoor;
+    }
+
+    public void setLevCoor(String levCoor) {
+        this.levCoor = levCoor;
+    }
+
+    public String getComplete() {
+        return complete;
+    }
+
+    public void setComplete(String complete) {
+        this.complete = complete;
+    }
+
+    public String getWorkNo() {
+        return workNo;
+    }
+
+    public void setWorkNo(String workNo) {
+        this.workNo = workNo;
+    }
+
+    public String getStatus() {
+        return status;
+    }
+
+    public void setStatus(String status) {
+        this.status = status;
+    }
+
+    public String getWarnCode() {
+        return warnCode;
+    }
+
+    public void setWarnCode(String warnCode) {
+        this.warnCode = warnCode;
+    }
+}
diff --git a/src/main/java/com/zy/client/domain/enums/CrnStatusType.java b/src/main/java/com/zy/client/domain/enums/CrnStatusType.java
index cc1bb0e..2c242b3 100644
--- a/src/main/java/com/zy/client/domain/enums/CrnStatusType.java
+++ b/src/main/java/com/zy/client/domain/enums/CrnStatusType.java
@@ -6,21 +6,32 @@
 public enum CrnStatusType {
 
     // 鍏ュ簱
-    PUT,
+    PUT("鍏ュ簱"),
     // 鍑哄簱
-    TAKE,
+    TAKE("鍑哄簱"),
     // 搴撳埌搴�
-    STOCK_MOVE,
+    STOCK_MOVE("搴撳埌搴�"),
     // 绔欏埌绔�
-    SITE_MOVE,
+    SITE_MOVE("绔欏埌绔�"),
     // p to p
-    P_MOVE,
+    P_MOVE("PToP"),
     // 寮傚父
-    ERROR,
+    ERROR("寮傚父"),
     // 鑷姩
-    AUTO,
+    AUTO("鑷姩"),
     // 闈炶嚜鍔�/鎵嬪姩
-    UN_AUTO,
+    UN_AUTO("闈炶嚜鍔�"),
     ;
 
-}
+    private String desc;
+    CrnStatusType(String desc){
+        this.desc = desc;
+    }
+
+    public String getDesc() {
+        return desc;
+    }
+
+    public void setDesc(String desc) {
+        this.desc = desc;
+    }}
diff --git a/src/main/webapp/static/css/crn.css b/src/main/webapp/static/css/crn.css
index f16c57f..5c7e61c 100644
--- a/src/main/webapp/static/css/crn.css
+++ b/src/main/webapp/static/css/crn.css
@@ -48,7 +48,7 @@
     float: left;
     height: 100%;
     width: 80%;
-    overflow: hidden;
+    overflow: auto;
 }
 /* 鍫嗗灈鏈虹姸鎬佽〃 */
 #crn-state-table {
diff --git a/src/main/webapp/views/console.html b/src/main/webapp/views/console.html
index 90a7739..47fc13a 100644
--- a/src/main/webapp/views/console.html
+++ b/src/main/webapp/views/console.html
@@ -414,9 +414,11 @@
     getCrnInfo();
     // 瀹炴椂璁块棶
     setInterval(function () {
-        getSitesInfo();
         getCrnInfo();
     }, 500);
+    setInterval(function () {
+        getSitesInfo();
+    }, 3000);
 
     // 杈撻�佽澶囧疄鏃舵暟鎹幏鍙�
     function getSitesInfo(){
diff --git a/src/main/webapp/views/crn.html b/src/main/webapp/views/crn.html
index f474c24..2a5be06 100644
--- a/src/main/webapp/views/crn.html
+++ b/src/main/webapp/views/crn.html
@@ -10,6 +10,7 @@
     <link rel="stylesheet" type="text/css" href="../static/css/common.css">
     <link rel="stylesheet" type="text/css" href="../static/css/crn.css">
     <script type="text/javascript" src="../static/js/jquery/jquery-3.3.1.min.js"></script>
+    <script type="text/javascript" src="../static/js/common.js"></script>
     <style>
 
     </style>
@@ -162,66 +163,159 @@
 </div>
 </body>
 <script>
+
+    // 绌虹櫧琛屾暟
+    var crnStateTableBlankRows = 0;
+    var crnMsgTableBlankRows = 0;
+    // 瀹為檯琛屾暟
+    var crnStateTableFullRows = 0;
+    var crnMsgTableFullRows = 0;
+    // 鍒濆鍖�
     var crnOutputDom = document.getElementById("crn-output");
-
-    // 绌虹櫧琛ㄦ牸娓叉煋
     $(document).ready(function() {
-        // 琛ㄤ竴
-        var one1 = $('#crn-state-table thead').height();
-        var total1 = $('.crn-state').height();
-        var count1 = total1 / one1;
-        count1 = parseInt(count1);
-        var html1 = "";
-        for (var i = 0; i < count1; i ++){
-            html1 += " <tr>\n" +
-                "       <td></td>\n" +
-                "       <td></td>\n" +
-                "       <td></td>\n" +
-                "       <td></td>\n" +
-                "       <td></td>\n" +
-                "       <td></td>\n" +
-                "       <td></td>\n" +
-                "       <td></td>\n" +
-                "       <td></td>\n" +
-                "       <td></td>\n" +
-                "       <td></td>\n" +
-                "       <td></td>\n" +
-                "       <td></td>\n" +
-                "     </tr>\n";
-        }
-        $('#crn-state-table tbody').after(html1);
-
-        // 琛ㄤ簩
-        var one2 = $('#crn-msg-table thead').height();
-        var total2 = $('.crn-msg').height();
-        var count2 = total2 / one2;
-        count2 = parseInt(count2);
-        var html2 = "";
-        for (var i = 0; i < count2; i ++){
-            html2 += " <tr>\n" +
-                "       <td></td>\n" +
-                "       <td></td>\n" +
-                "       <td></td>\n" +
-                "       <td></td>\n" +
-                "       <td></td>\n" +
-                "       <td></td>\n" +
-                "       <td></td>\n" +
-                "       <td></td>\n" +
-                "       <td></td>\n" +
-                "       <td></td>\n" +
-                "     </tr>\n";
-        }
-        $('#crn-msg-table tbody').after(html2);
+        initCrnStateTable();
+        getCrnStateInfo();
+        initCrnMsgTable();
     });
+    // 鏁版嵁鏇存柊
+    setInterval(function () {
+        getCrnStateInfo();
+    },500);
+    setInterval(function () {
+        getSiteOutput();
+    },500);
+
+
+    // 鍫嗗灈鏈轰俊鎭〃鑾峰彇 ---- 琛ㄤ竴
+    function getCrnStateInfo() {
+        var tableEl = $('#crn-state-table');
+        $.ajax({
+            url: baseUrl+ "/crn/table/crn/state",
+            headers: {'token': localStorage.getItem('token')},
+            method: 'POST',
+            success: function (res) {
+                if (res.code === 200){
+                    var table = res.data;
+                    if (table.length > crnStateTableBlankRows && table.length !== crnStateTableFullRows) {
+                        initCrnStateTable(table.length-crnStateTableBlankRows);
+                        crnStateTableFullRows = table.length;
+                    }
+                    for (var i=1;i<=table.length;i++){
+                        var tr = tableEl.find("tr").eq(i);
+                        setVal(tr.children("td").eq(0), table[i-1].crnNo);
+                        setVal(tr.children("td").eq(1), table[i-1].type);
+                        setVal(tr.children("td").eq(2), table[i-1].warn);
+                        setVal(tr.children("td").eq(3), table[i-1].loading);
+                        setVal(tr.children("td").eq(4), table[i-1].bay);
+                        setVal(tr.children("td").eq(5), table[i-1].lev);
+                        setVal(tr.children("td").eq(6), table[i-1].forkOffset);
+                        setVal(tr.children("td").eq(7), table[i-1].bayCoor);
+                        setVal(tr.children("td").eq(8), table[i-1].levCoor);
+                        setVal(tr.children("td").eq(9), table[i-1].complete);
+                        setVal(tr.children("td").eq(10), table[i-1].workNo);
+                        setVal(tr.children("td").eq(11), table[i-1].status);
+                        setVal(tr.children("td").eq(12), table[i-1].warnCode);
+                    }
+                } else if (res.code === 403){
+                    top.location.href = baseUrl+"/login";
+                }  else {
+                    alert(res.msg);
+                }
+            }
+        });
+    }
+
+    // 杈撻�佽澶囨棩蹇楄緭鍑�
+    function getSiteOutput() {
+        $.ajax({
+            url: baseUrl + "/crn/output/site",
+            headers: {'token': localStorage.getItem('token')},
+            method: 'POST',
+            success: function (res) {
+                if (res.code === 200) {
+                    crnOutput(res.data);
+                } else if (res.code === 403) {
+                    top.location.href = baseUrl + "/login";
+                } else {
+                    alert(res.msg);
+                }
+            }
+        })
+    }
+
+    // ------------------------------------------------------------------------------------------------
+
+    // 鍫嗗灈鏈轰俊鎭〃鑾峰彇  ----- 琛ㄤ竴
+    function initCrnStateTable(row) {
+        var line;
+        if (row === undefined){
+            var one = $('#crn-state-table thead').height();
+            var total = $('.crn-state').height();
+            var count = total / one;
+            count = parseInt(count) - 1;
+            crnStateTableBlankRows = count;
+            line = count;
+        } else {
+            line = row;
+        }
+        var html = "";
+        for (var i = 0; i < line; i ++){
+            html += " <tr>\n" +
+                "       <td></td>\n" +
+                "       <td></td>\n" +
+                "       <td></td>\n" +
+                "       <td></td>\n" +
+                "       <td></td>\n" +
+                "       <td></td>\n" +
+                "       <td></td>\n" +
+                "       <td></td>\n" +
+                "       <td></td>\n" +
+                "       <td></td>\n" +
+                "       <td></td>\n" +
+                "       <td></td>\n" +
+                "       <td></td>\n" +
+                "     </tr>\n";
+        }
+        $('#crn-state-table tbody').after(html);
+    }
+
+    // 鍫嗗灈鏈烘暟鎹〃鑾峰彇  ----- 琛ㄤ簩
+    function initCrnMsgTable(row) {
+        var line;
+        if (row === undefined){
+            var one = $('#crn-msg-table thead').height();
+            var total = $('.crn-msg').height();
+            var count = total / one;
+            count = parseInt(count) - 1;
+            crnMsgTableBlankRows = count;
+            line = count;
+        } else {
+            line = row;
+        }
+        var html = "";
+        for (var i = 0; i < line; i ++){
+            html += " <tr>\n" +
+                "       <td></td>\n" +
+                "       <td></td>\n" +
+                "       <td></td>\n" +
+                "       <td></td>\n" +
+                "       <td></td>\n" +
+                "       <td></td>\n" +
+                "       <td></td>\n" +
+                "       <td></td>\n" +
+                "       <td></td>\n" +
+                "       <td></td>\n" +
+                "     </tr>\n";
+        }
+        $('#crn-msg-table tbody').after(html);
+    }
 
     // 鏃ュ織杈撳嚭妗�
     function crnOutput(content){
         crnOutputDom.value += content;
         crnOutputDom.scrollTop = crnOutputDom.scrollHeight;
     }
-    setInterval(function () {
-        crnOutput("\n" +new Date().toLocaleString() + "銆�2020-5-29 13:14:22銆戞壂鎻弍lcA 鐩爣绔�--273283723728327636432343234323422732837237283276364323432343234227328372372832763643234323432342");
-    },500);
+
 
 
 </script>

--
Gitblit v1.9.1