From 09ce6308a5dd9fd8572b8d66adcebf072912a4a3 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期二, 31 十月 2023 08:21:50 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/controller/CrnController.java |   93 ++++++++++++++++++++++------------------------
 1 files changed, 44 insertions(+), 49 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/CrnController.java b/src/main/java/com/zy/asrs/controller/CrnController.java
index 1911e3e..2d23c46 100644
--- a/src/main/java/com/zy/asrs/controller/CrnController.java
+++ b/src/main/java/com/zy/asrs/controller/CrnController.java
@@ -26,7 +26,6 @@
 import com.zy.core.cache.MessageQueue;
 import com.zy.core.cache.OutputQueue;
 import com.zy.core.cache.SlaveConnection;
-import com.zy.core.enums.CrnLiftPosType;
 import com.zy.core.enums.CrnModeType;
 import com.zy.core.enums.CrnTaskModeType;
 import com.zy.core.enums.SlaveType;
@@ -118,57 +117,20 @@
                 continue;
             }
             vo.setWorkNo(crnProtocol.getTaskNo());  //  浠诲姟鍙�
-//            if (crnProtocol.getTaskNo()>0) {
-//                WrkMast wrkMast = wrkMastService.selectById(crnProtocol.getTaskNo());
-//                if (wrkMast != null) {
-//                    vo.setStatusType(CrnStatusType.process(wrkMast.getIoType()).getDesc());   //  妯″紡鐘舵��
-//                }
-//            } else {
-//
-//            }
             vo.setStatusType(crnProtocol.modeType.desc);   //  妯″紡鐘舵��
-            if (crnProtocol.getTaskFinish() == 1) {
-                vo.setStatus("绛夊緟纭");
-            } else {
-                vo.setStatus(crnProtocol.getStatusType().desc);     //  鐘舵��
-                if (crnProtocol.getStatusType().equals(com.zy.core.enums.CrnStatusType.PUT_COMPLETE)) {
-                    vo.setStatus("姝e湪浣滀笟");
-                }
-            }
+            vo.setStatus(crnProtocol.getStatusType().desc);     //  鐘舵��
             vo.setLoading(crnProtocol.getLoaded()==1?"鏈夌墿":"鏃犵墿");  //  鏈夌墿
             vo.setBay(crnProtocol.getBay());    //  鍒�
             vo.setLev(crnProtocol.getLevel());  //  灞�
-            vo.setLiftPos(crnProtocol.getLiftPosType().desc);
-            if (crnProtocol.getPlatformHigh()) {
-                vo.setSitePos("绔欏彴楂樹綅");
-            }
-            if (crnProtocol.getPlatformLow()) {
-                vo.setSitePos("绔欏彴楂樹綅");
-            }
-            vo.setForkOffset(crnProtocol.getForkPosType().desc);    // 璐у弶浣嶇疆
-            vo.setXLocation(crnProtocol.getWalkPos() == 1?"鏄�":"鍚�");      // 璧拌瀹氫綅
-            vo.setYLocation(crnProtocol.getLiftPosType().equals(CrnLiftPosType.NONE)?"鍚�":"鏄�");      // 鍗囬檷瀹氫綅
-            if (crnProtocol.getAlarm1() > 0) {
-                BasCrnError crnError = basCrnErrorMapper.selectById(crnProtocol.getAlarm1());
-                vo.setAlarm1(crnError==null?"鏈煡寮傚父":crnError.getErrName());
-            }
-            if (crnProtocol.getAlarm2() > 0) {
-                BasCrnError crnError = basCrnErrorMapper.selectById(crnProtocol.getAlarm2());
-                vo.setAlarm2(crnError==null?"鏈煡寮傚父":crnError.getErrName());
-            }
-            if (crnProtocol.getAlarm3() > 0) {
-                BasCrnError crnError = basCrnErrorMapper.selectById(crnProtocol.getAlarm3());
-                vo.setAlarm3(crnError==null?"鏈煡寮傚父":crnError.getErrName());
-            }
-            if (crnProtocol.getAlarm4() > 0) {
-                BasCrnError crnError = basCrnErrorMapper.selectById(crnProtocol.getAlarm4());
-                vo.setAlarm4(crnError==null?"鏈煡寮傚父":crnError.getErrName());
-            }
-//            vo.setAlarm1(String.valueOf(crnProtocol.getAlarm1()));
-//            vo.setAlarm2(String.valueOf(crnProtocol.getAlarm2()));
-//            vo.setAlarm3(String.valueOf(crnProtocol.getAlarm3()));
-//            vo.setAlarm4(String.valueOf(crnProtocol.getAlarm4()));
 
+            vo.setForkOffset(crnProtocol.getForkPosType().desc);    // 璐у弶浣嶇疆
+            vo.setLiftPos(crnProtocol.getLiftPosType().desc);
+            vo.setWalkPos(crnProtocol.getWalkPos()==1?"涓嶅湪瀹氫綅":"鍦ㄥ畾浣�");
+            vo.setWarnCode(String.valueOf(crnProtocol.getAlarm()));
+            if (crnProtocol.getAlarm() > 0) {
+                BasCrnError crnError = basCrnErrorMapper.selectById(crnProtocol.getAlarm());
+                vo.setAlarm(crnError==null?"鏈煡寮傚父":crnError.getErrName());
+            }
         }
         return R.ok().add(list);
     }
@@ -208,7 +170,7 @@
             }
             vo.setXspeed(crnProtocol.getXSpeed());  //  璧拌閫熷害锛坢/min)
             vo.setYspeed(crnProtocol.getYSpeed());  //  鍗囬檷閫熷害锛坢/min)
-            vo.setZspeed(crnProtocol.getZSpeed());  //  鍙夌墮閫熷害锛坢/min)
+//            vo.setZspeed(crnProtocol.getZSpeed());  //  鍙夌墮閫熷害锛坢/min)
             vo.setXdistance(crnProtocol.getXDistance());  //  璧拌璺濈(Km)
             vo.setYdistance(crnProtocol.getYDistance());  //  鍗囬檷璺濈(Km)
             vo.setXduration(crnProtocol.getXDuration());    //  璧拌鏃堕暱(H)
@@ -328,6 +290,23 @@
         return crnControl(command)?R.ok():R.error();
     }
 
+    @ManagerAuth(memo = "绉昏溅")
+    @PostMapping("/operator/steMove")
+    public R crnSteMove(CrnOperatorParam param){
+        CrnCommand command = new CrnCommand();
+        command.setCrnNo(param.getCrnNo()); // 鍫嗗灈鏈虹紪鍙�
+        command.setTaskNo((short) 0); // 宸ヤ綔鍙�
+        command.setAckFinish((short) 0);  // 浠诲姟瀹屾垚纭浣�
+        command.setTaskMode(CrnTaskModeType.STE_MOVE); // 浠诲姟妯″紡
+        command.setSourcePosX(param.getSourceRow());     // 婧愬簱浣嶆帓
+        command.setSourcePosY(param.getSourceBay());     // 婧愬簱浣嶅垪
+        command.setSourcePosZ(param.getSourceLev());     // 婧愬簱浣嶅眰
+        command.setDestinationPosX(param.getRow());     // 鐩爣搴撲綅鎺�
+        command.setDestinationPosY(param.getBay());     // 鐩爣搴撲綅鍒�
+        command.setDestinationPosZ(param.getLev());     // 鐩爣搴撲綅灞�
+        return crnControl(command)?R.ok():R.error();
+    }
+
     @ManagerAuth(memo = "绔欏埌绔�")
     @PostMapping("/operator/siteMove")
     public R crnSiteMove(CrnOperatorParam param){
@@ -335,7 +314,7 @@
         command.setCrnNo(param.getCrnNo()); // 鍫嗗灈鏈虹紪鍙�
         command.setTaskNo((short) 0); // 宸ヤ綔鍙�
         command.setAckFinish((short) 0);  // 浠诲姟瀹屾垚纭浣�
-        command.setTaskMode(CrnTaskModeType.SITE_MOVE); // 浠诲姟妯″紡
+        command.setTaskMode(CrnTaskModeType.LOC_MOVE); // 浠诲姟妯″紡
         command.setSourcePosX(param.getSourceStaNo());     // 婧愬簱浣嶆帓
         command.setSourcePosY((short) 0);     // 婧愬簱浣嶅垪
         command.setSourcePosZ((short) 1);     // 婧愬簱浣嶅眰
@@ -400,6 +379,21 @@
     @ManagerAuth(memo = "浠诲姟瀹屾垚")
     @PostMapping("/operator/taskComplete")
     public R crnTaskComplete(CrnOperatorParam param){
+
+        // 鑾峰彇鍫嗗灈鏈轰俊鎭�
+        CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, param.getCrnNo());
+        if (crnThread == null) {
+            return R.error();
+        }
+        CrnProtocol crnProtocol = crnThread.getCrnProtocol();
+        if (crnProtocol == null) {
+            return R.error();
+        }
+
+        //鍫嗗灈鏈虹姸鎬佷笉鏄瓑寰匴CS纭鏃讹紝涓嶈兘涓嬪彂纭浣�
+        if (!crnProtocol.getStatusType().equals(com.zy.core.enums.CrnStatusType.WAITING)){
+            return R.error("鍫嗗灈鏈轰笉鏄瓑寰匴CS纭鐘舵��");
+        }
         CrnCommand command = new CrnCommand();
         command.setCrnNo(param.getCrnNo()); // 鍫嗗灈鏈虹紪鍙�
         command.setTaskNo((short) 0); // 宸ヤ綔鍙�
@@ -458,6 +452,7 @@
                 crnCommand.setCrnNo(crn.getId()); // 鍫嗗灈鏈虹紪鍙�
                 crnCommand.setTaskMode(CrnTaskModeType.CLEAR);
                 crnCommand.setAckFinish((short) 0);  // 浠诲姟瀹屾垚纭浣�
+                crnCommand.setCommand((short) 0);  // 浠诲姟瀹屾垚纭浣�
                 // 寤舵椂鍙戦��
                 Thread.sleep(1000L);
                 if (MessageQueue.offer(SlaveType.Crn, crn.getId(), new Task(2, crnCommand))) {

--
Gitblit v1.9.1