From 52a57d1a6cd61009304656db35e50d4b9dbbda03 Mon Sep 17 00:00:00 2001
From: cpT <1@123>
Date: 星期二, 01 七月 2025 11:16:40 +0800
Subject: [PATCH] #改造

---
 src/main/java/com/zy/core/thread/SiemensCrnThread.java      |   22 ++++++++++
 src/main/webapp/static/wms/js/crnOperate/crnOperate.js      |    7 +++
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |   17 +++++---
 src/main/java/com/zy/core/CrnThread.java                    |    1 
 src/main/java/com/zy/asrs/controller/CrnController.java     |   67 +++++++++++++++++++++++++++------
 src/main/webapp/views/deviceOperate/crnOperate.html         |    5 ++
 src/main/java/com/zy/asrs/domain/vo/CrnListVo.java          |    1 
 7 files changed, 98 insertions(+), 22 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/CrnController.java b/src/main/java/com/zy/asrs/controller/CrnController.java
index 4a7dc85..688fed8 100644
--- a/src/main/java/com/zy/asrs/controller/CrnController.java
+++ b/src/main/java/com/zy/asrs/controller/CrnController.java
@@ -331,6 +331,7 @@
             }
             vo.setInEnable(basCrnp.getInEnable());
             vo.setOutEnable(basCrnp.getOutEnable());
+            vo.setTaskComplete(crnThread.getResetFlag()? "浠诲姟瀹屾垚涓嬪彂绛夊緟":"-");
         }
         return R.ok().add(list);
     }
@@ -549,19 +550,54 @@
 //        if (SystemProperties.WCS_RUNNING_STATUS.get()) {
 //            return R.error("wcs绯荤粺鐘舵�佷负寮�鍚�");
 //        }
-        CrnCommand command = new CrnCommand();
-        command.setCrnNo(param.getCrnNo()); // 鍫嗗灈鏈虹紪鍙�
-        command.setTaskNo((short) 0); // 宸ヤ綔鍙�
-        command.setAckFinish((short) 1);  // 浠诲姟瀹屾垚纭浣�
-        command.setTaskMode(CrnTaskModeType.NONE); // 浠诲姟妯″紡
-        command.setSourcePosX((short) 0);     // 婧愬簱浣嶆帓
-        command.setSourcePosY((short) 0);     // 婧愬簱浣嶅垪
-        command.setSourcePosZ((short) 0);     // 婧愬簱浣嶅眰
-        command.setDestinationPosX((short) 0);     // 鐩爣搴撲綅鎺�
-        command.setDestinationPosY((short) 0);     // 鐩爣搴撲綅鍒�
-        command.setDestinationPosZ((short) 0);     // 鐩爣搴撲綅灞�
-        command.setCommand((short)0);
-        return crnControl(command)?R.ok():R.error();
+        if (Cools.isEmpty(param.getCrnNo()) || param.getCrnNo() == 0) {
+            return R.error("璇烽�夋嫨鍫嗗灈鏈�");
+        }
+        CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, param.getCrnNo());
+        crnThread.setResetFlag(true);
+        return R.ok();
+//        CrnCommand command = new CrnCommand();
+//        command.setCrnNo(); // 鍫嗗灈鏈虹紪鍙�
+//        command.setTaskNo((short) 0); // 宸ヤ綔鍙�
+//        command.setAckFinish((short) 1);  // 浠诲姟瀹屾垚纭浣�
+//        command.setTaskMode(CrnTaskModeType.NONE); // 浠诲姟妯″紡
+//        command.setSourcePosX((short) 0);     // 婧愬簱浣嶆帓
+//        command.setSourcePosY((short) 0);     // 婧愬簱浣嶅垪
+//        command.setSourcePosZ((short) 0);     // 婧愬簱浣嶅眰
+//        command.setDestinationPosX((short) 0);     // 鐩爣搴撲綅鎺�
+//        command.setDestinationPosY((short) 0);     // 鐩爣搴撲綅鍒�
+//        command.setDestinationPosZ((short) 0);     // 鐩爣搴撲綅灞�
+//        command.setCommand((short)0);
+//        return crnControl(command)?R.ok():R.error();
+    }
+
+    @ManagerAuth(memo = "浠诲姟瀹屾垚鎸囦护娓呴櫎")
+    @PostMapping("/crn/operator/taskCompleteClearCommand")
+    public R crnTaskCompleteClearCommand(CrnOperatorParam param){
+        // 绯荤粺杩愯鐘舵�佸垽鏂�
+//        if (SystemProperties.WCS_RUNNING_STATUS.get()) {
+//            return R.error("wcs绯荤粺鐘舵�佷负寮�鍚�");
+//        }
+        // 绯荤粺杩愯鐘舵�佸垽鏂�
+        if (Cools.isEmpty(param.getCrnNo()) || param.getCrnNo() == 0) {
+            return R.error("璇烽�夋嫨鍫嗗灈鏈�");
+        }
+        CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, param.getCrnNo());
+        crnThread.setResetFlag(false);
+        return R.ok();
+//        CrnCommand command = new CrnCommand();
+//        command.setCrnNo(); // 鍫嗗灈鏈虹紪鍙�
+//        command.setTaskNo((short) 0); // 宸ヤ綔鍙�
+//        command.setAckFinish((short) 1);  // 浠诲姟瀹屾垚纭浣�
+//        command.setTaskMode(CrnTaskModeType.NONE); // 浠诲姟妯″紡
+//        command.setSourcePosX((short) 0);     // 婧愬簱浣嶆帓
+//        command.setSourcePosY((short) 0);     // 婧愬簱浣嶅垪
+//        command.setSourcePosZ((short) 0);     // 婧愬簱浣嶅眰
+//        command.setDestinationPosX((short) 0);     // 鐩爣搴撲綅鎺�
+//        command.setDestinationPosY((short) 0);     // 鐩爣搴撲綅鍒�
+//        command.setDestinationPosZ((short) 0);     // 鐩爣搴撲綅灞�
+//        command.setCommand((short)0);
+//        return crnControl(command)?R.ok():R.error();
     }
 
 //    @ManagerAuth(memo = "鏆傚仠")
@@ -624,6 +660,7 @@
                 }
                 CrnCommand crnCommand = new CrnCommand();
                 crnCommand.setCrnNo(crn.getId()); // 鍫嗗灈鏈虹紪鍙�
+                crnCommand.setLaneNo(crnProtocol.getLaneNo()); // 鍫嗗灈鏈哄贩閬撳彿
                 crnCommand.setTaskMode(CrnTaskModeType.CLEAR);
                 crnCommand.setAckFinish((short) 0);  // 浠诲姟瀹屾垚纭浣�
                 crnCommand.setCommand((short) 0);  // 浠诲姟瀹屾垚纭浣�
@@ -781,6 +818,8 @@
                 if (crnProtocol == null) {
                     throw new CoolException("鍫嗗灈鏈轰笉鍦ㄧ嚎");
                 }
+                command.setLaneNo(crnProtocol.getLaneNo()); // 鍫嗗灈鏈哄贩閬撳彿
+
                 // 绌洪棽鍒ゆ柇
 //                if (crnProtocol.getStatusType().equals(com.zy.core.enums.CrnStatusType.IDLE) && crnProtocol.getTaskNo() == 0) {
                 if (MessageQueue.offer(SlaveType.Crn, crn.getId(), new Task(4, command))) {
@@ -815,6 +854,8 @@
                 if (crnProtocol == null) {
                     throw new CoolException("鍫嗗灈鏈轰笉鍦ㄧ嚎");
                 }
+                command.setLaneNo(crnProtocol.getLaneNo()); // 鍫嗗灈鏈哄贩閬撳彿
+
                 // 绌洪棽鍒ゆ柇
 //                if (crnProtocol.getStatusType().equals(com.zy.core.enums.CrnStatusType.IDLE) && crnProtocol.getTaskNo() == 0) {
                 if (MessageQueue.offer(SlaveType.Crn, crn.getId(), new Task(2, command))) {
diff --git a/src/main/java/com/zy/asrs/domain/vo/CrnListVo.java b/src/main/java/com/zy/asrs/domain/vo/CrnListVo.java
index fe895e9..baa96a6 100644
--- a/src/main/java/com/zy/asrs/domain/vo/CrnListVo.java
+++ b/src/main/java/com/zy/asrs/domain/vo/CrnListVo.java
@@ -112,6 +112,7 @@
 
     // 鍙嚭
     private String outEnable;
+    private String taskComplete = "鏃�";
     private String errorCrn;
 
     public void setXspeed(Float xspeed) {
diff --git a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
index f9d8209..2b8cad3 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -668,7 +668,7 @@
             }
 
             CrnSlave crnSlave = new CrnSlave(crn);
-            if (Cools.isEmpty(crnProtocol.getLoaded()) || crnProtocol.getLoaded()==0){
+            if (Cools.isEmpty(crnProtocol.getLaneNo()) || crnProtocol.getLaneNo()==0){
                 continue;
             }
 
@@ -778,7 +778,7 @@
                         // 鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
                         CrnCommand crnCommand = new CrnCommand();
                         crnCommand.setCrnNo(crnProtocol.getCrnNo()); // 鍫嗗灈鏈虹紪鍙�
-                        crnCommand.setCrnNo(crnProtocol.getLaneNo()); // 鍫嗗灈鏈哄贩閬撶紪鍙�
+                        crnCommand.setLaneNo(crnProtocol.getLaneNo()); // 鍫嗗灈鏈哄贩閬撶紪鍙�
                         crnCommand.setTaskNo((short)999); // 宸ヤ綔鍙�
                         crnCommand.setAckFinish((short) 0);  // 浠诲姟瀹屾垚纭浣�
                         crnCommand.setTaskMode(CrnTaskModeType.GO_ORIGIN); // 浠诲姟妯″紡:  搴撲綅绉昏浆
@@ -831,7 +831,7 @@
             }
 
             CrnSlave crn = new CrnSlave(crnSlave);
-            if (Cools.isEmpty(crnProtocol.getLoaded()) || crnProtocol.getLoaded()==0){
+            if (Cools.isEmpty(crnProtocol.getLaneNo()) || crnProtocol.getLaneNo()==0){
                 continue;
             }
 
@@ -1335,7 +1335,7 @@
                 }
 
                 CrnSlave crn = new CrnSlave(crnSlave);
-                if (Cools.isEmpty(crnProtocol.getLoaded()) || crnProtocol.getLoaded()==0){
+                if (Cools.isEmpty(crnProtocol.getLaneNo()) || crnProtocol.getLaneNo()==0){
                     continue;
                 }
 
@@ -1357,11 +1357,14 @@
                     }
 //                Thread.sleep(300);
                     //纭瀹屾垚淇″彿
-                    CrnOperatorParam crnOperatorParam = new CrnOperatorParam();
-                    crnOperatorParam.setCrnNo(crn.getId());
+//                    CrnOperatorParam crnOperatorParam = new CrnOperatorParam();
+//                    crnOperatorParam.setCrnNo(crn.getId());
                     Date now = new Date();
 
-                    crnController.crnTaskComplete(crnOperatorParam);
+//                    crnController.crnTaskComplete(crnOperatorParam);
+//                    MessageQueue.offer(SlaveType.Crn, crn.getId(), new Task(2, command))
+                    crnThread.setResetFlag(true);
+
                     if (!Cools.isEmpty(taskWrk)) {
                         if (taskWrk.getIoType() == 1 && taskWrk.getWrkSts() == 3) {
                             taskWrk.setWrkSts(4);//鍏ュ簱瀹屾垚
diff --git a/src/main/java/com/zy/core/CrnThread.java b/src/main/java/com/zy/core/CrnThread.java
index 70c3d75..082d9b9 100644
--- a/src/main/java/com/zy/core/CrnThread.java
+++ b/src/main/java/com/zy/core/CrnThread.java
@@ -7,5 +7,6 @@
     CrnProtocol getCrnProtocol();
 
     void setResetFlag(boolean flag);
+    boolean getResetFlag();
 
 }
diff --git a/src/main/java/com/zy/core/thread/SiemensCrnThread.java b/src/main/java/com/zy/core/thread/SiemensCrnThread.java
index ce0da89..48cbfbf 100644
--- a/src/main/java/com/zy/core/thread/SiemensCrnThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensCrnThread.java
@@ -207,10 +207,12 @@
                             backHpFlag = false;
                         }
 
-                        if (!Cools.isEmpty(crnProtocol.getLoaded()) && crnProtocol.getLoaded()!=0){
+                        if (!Cools.isEmpty(crnProtocol.getLaneNo()) && crnProtocol.getLaneNo()!=0){
                             CrnCommand crnCommand = new CrnCommand();
                             crnCommand.setAckFinish((short)1);
+//                            crnCommand.setTaskNo(crnProtocol.getTaskNo());
                             crnCommand.setLaneNo(crnProtocol.getLaneNo());
+                            crnCommand.setTaskMode(CrnTaskModeType.NONE); // 浠诲姟妯″紡
                             if (write(crnCommand)) {
                                 resetFlag = false;
                             }
@@ -556,4 +558,22 @@
     public void setWrkSign() {
     }
 
+
+    /**
+     * 娓呴櫎浣滀笟鍚姩涓�
+     */
+    @Override
+    public void setResetFlag(boolean flag) {
+        this.resetFlag = flag;
+    }
+
+
+    /**
+     * 娓呴櫎浣滀笟鍚姩涓�
+     */
+    @Override
+    public boolean getResetFlag() {
+        return resetFlag;
+    }
+
 }
diff --git a/src/main/webapp/static/wms/js/crnOperate/crnOperate.js b/src/main/webapp/static/wms/js/crnOperate/crnOperate.js
index 1bf52c0..a1bd0db 100644
--- a/src/main/webapp/static/wms/js/crnOperate/crnOperate.js
+++ b/src/main/webapp/static/wms/js/crnOperate/crnOperate.js
@@ -105,6 +105,13 @@
     });
 }
 
+// 浠诲姟瀹屾垚
+function taskCompleteClearCommand() {
+    http.post(baseUrl+"/crn/operator/taskCompleteClearCommand", getReqParam(), function (res) {
+        layer.msg(res.msg);
+    });
+}
+
 // 娓呴櫎鍛戒护
 function clearCommand() {
     http.post(baseUrl+"/crn/operator/clearCommand", getReqParam(), function (res) {
diff --git a/src/main/webapp/views/deviceOperate/crnOperate.html b/src/main/webapp/views/deviceOperate/crnOperate.html
index 8406daf..a8ab6cd 100644
--- a/src/main/webapp/views/deviceOperate/crnOperate.html
+++ b/src/main/webapp/views/deviceOperate/crnOperate.html
@@ -28,6 +28,8 @@
 				</el-table-column>
 				<el-table-column property="deviceStatus" label="璁惧鐘舵��">
 				</el-table-column>
+				<el-table-column property="taskComplete" label="浠诲姟瀹屾垚鎸囦护">
+				</el-table-column>
 				<el-table-column property="errorCrn" label="寮傚父鎻愮ず">
 				</el-table-column>
 			</el-table>
@@ -81,7 +83,8 @@
 <!--							<el-button @click="requestOperate('take')" type="primary">鍑哄簱</el-button>-->
 <!--							<el-button @click="requestOperate('stockMove')" type="primary">搴撲綅杞Щ</el-button>-->
 <!--							<el-button @click="requestOperate('siteMove')" type="primary">绔欏埌绔�</el-button>-->
-<!--							<el-button @click="requestOperate('taskComplete')" type="primary">浠诲姟瀹屾垚</el-button>-->
+							<el-button @click="requestOperate('taskComplete')" type="primary">浠诲姟瀹屾垚</el-button>
+							<el-button @click="requestOperate('taskCompleteClearCommand')" type="primary">浠诲姟瀹屾垚鎸囦护娓呴櫎</el-button>
 <!--							<el-button @click="requestOperate('clearCommand')" type="primary">娓呴櫎鍛戒护</el-button>-->
 <!--							<el-button @click="requestOperate('reset')" type="primary">澶嶄綅</el-button>-->
 							<br/>

--
Gitblit v1.9.1