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/java/com/zy/asrs/controller/CrnController.java |   56 +++++++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 47 insertions(+), 9 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);
     }
 

--
Gitblit v1.9.1