From 538496d2361fb5cd6ab2a48f609a37b5cbfb5e4d Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期六, 15 八月 2020 15:47:01 +0800
Subject: [PATCH] #

---
 src/main/webapp/views/crn.html                           |   33 ++----
 src/main/java/com/zy/core/enums/CrnLiftPosType.java      |   10 +
 src/main/java/com/zy/asrs/controller/CrnController.java  |   56 +++++++++-
 src/main/java/com/zy/core/enums/CrnForkPosType.java      |   10 +
 src/main/java/com/zy/asrs/domain/vo/CrnStateTableVo.java |  136 ++-------------------------
 5 files changed, 81 insertions(+), 164 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/CrnController.java b/src/main/java/com/zy/asrs/controller/CrnController.java
index dd1872d..da1edef 100644
--- a/src/main/java/com/zy/asrs/controller/CrnController.java
+++ b/src/main/java/com/zy/asrs/controller/CrnController.java
@@ -7,6 +7,17 @@
 import com.zy.asrs.domain.vo.CommandLogVo;
 import com.zy.asrs.domain.vo.CrnMsgTableVo;
 import com.zy.asrs.domain.vo.CrnStateTableVo;
+import com.zy.asrs.entity.WrkMast;
+import com.zy.asrs.service.WrkMastService;
+import com.zy.core.cache.SlaveConnection;
+import com.zy.core.enums.CrnModeType;
+import com.zy.core.enums.SlaveType;
+import com.zy.core.model.CrnSlave;
+import com.zy.core.model.protocol.CrnProtocol;
+import com.zy.core.properties.SlaveProperties;
+import com.zy.core.thread.CrnThread;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
@@ -21,11 +32,15 @@
  * 鍫嗗灈鏈烘帴鍙�
  * Created by vincent on 2020-06-01
  */
+@Slf4j
 @RestController
 @RequestMapping("/crn")
 public class CrnController {
-
-    public static AtomicInteger integer = new AtomicInteger();
+    private static AtomicInteger integer = new AtomicInteger();
+    @Autowired
+    private SlaveProperties slaveProperties;
+    @Autowired
+    private WrkMastService wrkMastService;
 
     @ManagerAuth(memo = "杩涜涓殑鍛戒护")
     @PostMapping("/command/ongoing")
@@ -45,16 +60,39 @@
     @ManagerAuth(memo = "鍫嗗灈鏈轰俊鎭〃")
     public R crnStateTable(){
         List<CrnStateTableVo> list = new ArrayList<>();
-        for (int i=1;i<=4;i++){
-            CrnStateTableVo vo = new CrnStateTableVo(String.valueOf(i), CrnStatusType.AUTO, "姝e父", "鏈夌墿", "99", "3", "涓綅", "18233", "422", "0", "1204", "鍏抽棴", "0");
-            if (integer.get()%5 == 0) {
-                vo.setWorkNo("0000");
-            } else {
-                vo.setWorkNo("9998");
+        for (CrnSlave crn : slaveProperties.getCrn()) {
+            // 鑾峰彇鍫嗗灈鏈轰俊鎭�
+            CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crn.getId());
+            if (crnThread == null) {
+                log.error("{}鍙峰爢鍨涙満杩炴帴澶辫触", crn.getId());
+                continue;
             }
+            CrnProtocol crnProtocol = crnThread.getCrnProtocol();
+            if (crnProtocol == null) {
+                log.error("{}鍙峰爢鍨涙満杩炴帴澶辫触", crn.getId());
+                continue;
+            }
+            // 琛ㄦ牸琛�
+            CrnStateTableVo vo = new CrnStateTableVo();
+            vo.setCrnNo(crn.getId());   //  鍫嗗灈鏈哄彿
+            vo.setWorkNo(crnProtocol.getTaskNo());  //  浠诲姟鍙�
+            if (crnProtocol.getTaskNo()>0) {
+                WrkMast wrkMast = wrkMastService.selectById(crnProtocol.getTaskNo());
+                if (wrkMast != null) {
+                    vo.setStatusType(CrnStatusType.process(wrkMast.getIoType()));   //  妯″紡鐘舵��
+                }
+            } else {
+                vo.setStatusType(crnProtocol.modeType.equals(CrnModeType.AUTO)? CrnStatusType.AUTO: CrnStatusType.UN_AUTO);   //  妯″紡鐘舵��
+            }
+            vo.setStatus(crnProtocol.getStatusType().desc);     //  鐘舵��
+            vo.setWarn(""); //  鎶ヨ todo
+            vo.setLoading(crnProtocol.getLoaded()==1?"Y":"N");  //  鏈夌墿
+            vo.setBay(crnProtocol.getBay());    //  鍒�
+            vo.setLev(crnProtocol.getLevel());  //  灞�
+            vo.setForkOffset(crnProtocol.getForkPosType().desc);    //  璐у弶浣嶇疆
+            vo.setLiftPos(crnProtocol.getLiftPosType().desc);   //  杞借揣鍙颁綅缃�
             list.add(vo);
         }
-        integer.getAndIncrement();
         return R.ok().add(list);
     }
 
diff --git a/src/main/java/com/zy/asrs/domain/vo/CrnStateTableVo.java b/src/main/java/com/zy/asrs/domain/vo/CrnStateTableVo.java
index 8303186..53f6d49 100644
--- a/src/main/java/com/zy/asrs/domain/vo/CrnStateTableVo.java
+++ b/src/main/java/com/zy/asrs/domain/vo/CrnStateTableVo.java
@@ -1,17 +1,19 @@
 package com.zy.asrs.domain.vo;
 
 import com.zy.asrs.domain.enums.CrnStatusType;
+import lombok.Data;
 
 /**
  * Created by vincent on 2020-06-02
  */
+@Data
 public class CrnStateTableVo {
 
     // 鍫嗗灈鏈哄彿
-    private String crnNo;
+    private Integer crnNo;
 
     // 妯″紡
-    private CrnStatusType type;
+    private CrnStatusType statusType;
 
     // 鎶ヨ
     private String warn;
@@ -20,13 +22,16 @@
     private String loading;
 
     // 鍒�
-    private String bay;
+    private Short bay;
 
     // 灞�
-    private String lev;
+    private Short lev;
 
     // 璐у弶浣嶇疆
     private String forkOffset;
+
+    // 杞借揣鍙颁綅缃�
+    private String liftPos;
 
     // 鍒楀潗鏍�
     private String bayCoor;
@@ -38,7 +43,7 @@
     private String complete;
 
     // 浠诲姟鍙�
-    private String workNo;
+    private Short workNo;
 
     // 鐘舵��
     private String status;
@@ -46,126 +51,5 @@
     // 鎶ヨ鐮�
     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/core/enums/CrnForkPosType.java b/src/main/java/com/zy/core/enums/CrnForkPosType.java
index 97ce560..2b4aa9e 100644
--- a/src/main/java/com/zy/core/enums/CrnForkPosType.java
+++ b/src/main/java/com/zy/core/enums/CrnForkPosType.java
@@ -2,14 +2,16 @@
 
 public enum CrnForkPosType {
 
-    HOME(1),   // 璐у弶鍘熶綅
-    LEFT(2),  // 璐у弶鍦ㄥ乏渚�
-    RIGHT(0),   // 璐у弶鍦ㄥ彸渚�
+    HOME(0, "璐у弶鍘熶綅"),   // 璐у弶鍘熶綅
+    LEFT(1, "璐у弶鍦ㄥ乏渚�"),  // 璐у弶鍦ㄥ乏渚�
+    RIGHT(2, "璐у弶鍦ㄥ彸渚�"),   // 璐у弶鍦ㄥ彸渚�
     ;
 
     public Integer id;
-    CrnForkPosType(Integer id) {
+    public String desc;
+    CrnForkPosType(Integer id, String desc) {
         this.id = id;
+        this.desc = desc;
     }
 
     public static CrnForkPosType get(Short id) {
diff --git a/src/main/java/com/zy/core/enums/CrnLiftPosType.java b/src/main/java/com/zy/core/enums/CrnLiftPosType.java
index 0dc910a..d92c343 100644
--- a/src/main/java/com/zy/core/enums/CrnLiftPosType.java
+++ b/src/main/java/com/zy/core/enums/CrnLiftPosType.java
@@ -2,14 +2,16 @@
 
 public enum CrnLiftPosType {
 
-    DOWN(1),  // 涓嬪畾浣�
-    UP(2),   // 涓婂畾浣�
-    NONE(0),   // 涓嶅湪瀹氫綅
+    DOWN(1, "涓嬪畾浣�"),  // 涓嬪畾浣�
+    UP(2, "涓婂畾浣�"),   // 涓婂畾浣�
+    NONE(0, "涓嶅湪瀹氫綅"),   // 涓嶅湪瀹氫綅
     ;
 
     public Integer id;
-    CrnLiftPosType(Integer id) {
+    public String desc;
+    CrnLiftPosType(Integer id, String desc) {
         this.id = id;
+        this.desc = desc;
     }
 
     public static CrnLiftPosType get(Short id) {
diff --git a/src/main/webapp/views/crn.html b/src/main/webapp/views/crn.html
index abbf01c..7ba4b80 100644
--- a/src/main/webapp/views/crn.html
+++ b/src/main/webapp/views/crn.html
@@ -39,18 +39,15 @@
             <thead>
                 <tr>
                     <th>鍫嗗灈鏈�</th>
+                    <th>浠诲姟鍙�</th>
                     <th>妯″紡</th>
+                    <th>鐘舵��</th>
                     <th>鎶ヨ</th>
                     <th>鏈夌墿</th>
                     <th>鍒�</th>
                     <th>灞�</th>
                     <th>璐у弶浣嶇疆</th>
-                    <th>鍒楀潗鏍�</th>
-                    <th>灞傚潗鏍�</th>
-                    <th>瀹屾垚</th>
-                    <th>浠诲姟鍙�</th>
-                    <th>鐘舵��</th>
-                    <th>鎶ヨ鐮�</th>
+                    <th>杞借揣鍙颁綅缃�</th>
                 </tr>
             </thead>
             <tbody>
@@ -249,18 +246,15 @@
                     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);
+                        setVal(tr.children("td").eq(1), table[i-1].workNo);
+                        setVal(tr.children("td").eq(2), table[i-1].statusType);
+                        setVal(tr.children("td").eq(3), table[i-1].status);
+                        setVal(tr.children("td").eq(4), table[i-1].warn);
+                        setVal(tr.children("td").eq(5), table[i-1].loading);
+                        setVal(tr.children("td").eq(6), table[i-1].bay);
+                        setVal(tr.children("td").eq(7), table[i-1].lev);
+                        setVal(tr.children("td").eq(8), table[i-1].forkOffset);
+                        setVal(tr.children("td").eq(9), table[i-1].liftPos);
                     }
                 } else if (res.code === 403){
                     window.location.href = baseUrl+"/login";
@@ -438,9 +432,6 @@
         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" +

--
Gitblit v1.9.1