From 759cd0e706e252e907955073eed8e4935b21d9c8 Mon Sep 17 00:00:00 2001
From: zwl <1051256694@qq.com>
Date: 星期三, 31 十二月 2025 08:13:48 +0800
Subject: [PATCH] 1.修复拣料回库时拣料出库转历史档 2.生成移动任务修复 3.完善agv搬运入库出库申请

---
 src/main/java/com/zy/asrs/service/impl/RcsServiceImpl.java |   68 +++++++++++++++++++++++++---------
 1 files changed, 50 insertions(+), 18 deletions(-)

diff --git a/src/main/java/com/zy/asrs/service/impl/RcsServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/RcsServiceImpl.java
index 995b198..2ef3390 100644
--- a/src/main/java/com/zy/asrs/service/impl/RcsServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/RcsServiceImpl.java
@@ -77,26 +77,44 @@
                         StaProtocol staProtocol = siemensDevpThread.getStation().get(sourceStaNo).clone();
                         //wcs鍙嶉rcs缁х画鎵ц
                         if (staProtocol != null && !staProtocol.isLoading() && !staProtocol.isEmptyOutType()) {
-                            RcsTaskContinue rcsTaskContinue = new RcsTaskContinue();
-                            rcsTaskContinue.setRobotTaskCode(task.getTaskNo()+"-"+(task.getCtnType()-1));
-                            rcsTaskContinue.setTriggerType("TASK");
-                            rcsTaskContinue.setTriggerCode(task.getTaskNo()+"-"+(task.getCtnType()-1));
+                                if(task.getTaskType().equals("AGV琛ョ┖鏂欐灦")){
+                                    RcsTaskContinue rcsTaskContinue = new RcsTaskContinue();
+                                    rcsTaskContinue.setRobotTaskCode(task.getTaskNo()+"-"+(task.getCtnType()-1));
+                                    rcsTaskContinue.setTriggerType("TASK");
+                                    rcsTaskContinue.setTriggerCode(task.getTaskNo()+"-"+(task.getCtnType()-1));
 
-                            String url = HIK_URL + "api/robot/controller/task/extend/continue";
-                            String response = sendPost(url, JSONObject.toJSONString(rcsTaskContinue));
-                            if (!StringUtils.isEmpty(response) && response.contains("code")) {
-                                RcsReturn rcsReturn1 = JSONObject.parseObject(response, RcsReturn.class);
-                                if ("SUCCESS".equals(rcsReturn1.getCode())) {
+                                    String url = HIK_URL + "api/robot/controller/task/extend/continue";
+                                    String response = sendPost(url, JSONObject.toJSONString(rcsTaskContinue));
+                                    if (!StringUtils.isEmpty(response) && response.contains("code")) {
+                                        log.info("鍏佽AGV鏀捐揣鎴愬姛");
+                                    }
+                                    // 杩斿洖RCS
+                                    rcsReturn.setCode("SUCCESS");
+                                    rcsReturn.setMessage("");
+                                    JSONObject data = new JSONObject();
+                                    data.put("robotTaskCode", robotTaskCode);
+                                    rcsReturn.setData(data);
+                                }else {
                                     //鍑哄彂PLC绔欑偣鐨勬壂鐮佸櫒鎵爜
                                     boolean result = MessageQueue.offer(SlaveType.Devp, 1, new com.zy.core.model.Task(3, staProtocol));
-                                    log.info("AGV鏀捐揣瀹屾垚锛岀粰绔欑偣鍐�9991宸ヤ綔鍙�,涓嬪彂浠诲姟:{},绔欑偣:{},agv浠诲姟鍙�:{}", result, task.getStaNo(), task.getTaskNo());
                                     if (result) {
+                                        log.info("鍏ュ簱绔欑偣={}瑙﹀彂鎵爜鎴愬姛", staProtocol.getSiteId());
                                         // 杩斿洖RCS
                                         rcsReturn.setCode("SUCCESS");
                                         rcsReturn.setMessage("");
                                         JSONObject data = new JSONObject();
                                         data.put("robotTaskCode", robotTaskCode);
                                         rcsReturn.setData(data);
+                                        RcsTaskContinue rcsTaskContinue = new RcsTaskContinue();
+                                        rcsTaskContinue.setRobotTaskCode(task.getTaskNo()+"-"+(task.getCtnType()-1));
+                                        rcsTaskContinue.setTriggerType("TASK");
+                                        rcsTaskContinue.setTriggerCode(task.getTaskNo()+"-"+(task.getCtnType()-1));
+
+                                        String url = HIK_URL + "api/robot/controller/task/extend/continue";
+                                        String response = sendPost(url, JSONObject.toJSONString(rcsTaskContinue));
+                                        if (!StringUtils.isEmpty(response) && response.contains("code")) {
+                                            log.info("鍏佽AGV鏀捐揣鎴愬姛");
+                                        }
                                     } else {
                                         // 杩斿洖RCS
                                         rcsReturn.setCode("Err_Internal");
@@ -106,7 +124,6 @@
                                         rcsReturn.setData(data);
                                     }
                                 }
-                            }
                         }
                     }
                     break;
@@ -116,10 +133,19 @@
                         Integer sourceStaNo = Integer.valueOf(task.getStaNo());
                         SiemensDevpThread siemensDevpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, 1);
                         StaProtocol staProtocol = siemensDevpThread.getStation().get(sourceStaNo).clone();
+                        Boolean boo=false;
+                        Short wrkNo = 9991;
                         //鏀捐揣瀹屾垚 --銆媋gv宸茬粡绂诲紑 --銆嬬粰PLC绔欑偣鍐�9991宸ヤ綔鍙�
-                        if (staProtocol != null && staProtocol.isLoading() && staProtocol.isEmptyOutType() && staProtocol.getWorkNo() == 0) {
-                            staProtocol.setWorkNo((short) 9991);
-                            staProtocol.setStaNo(Short.valueOf(task.getStaNo()));
+                        //琛ョ┖鏂欐灦 --銆媋gv宸茬粡绔嬪簱 --銆嬬粰PLC绔欑偣鍐�9995宸ヤ綔鍙�
+                        if(task.getTaskType().equals("AGV琛ョ┖鏂欐灦") && staProtocol != null && !staProtocol.isLoading() && staProtocol.isEmptyOutType() && staProtocol.getWorkNo() == 0){
+                            boo=true;
+                            wrkNo = 9995;
+                        }else if(!task.getTaskType().equals("AGV琛ョ┖鏂欐灦") && staProtocol != null && staProtocol.isLoading() && staProtocol.isEmptyOutType() && staProtocol.getWorkNo() == 0){
+                            boo=true;
+                        }
+                        if (boo) {
+                            staProtocol.setWorkNo(wrkNo);//绌烘枡鏋跺埌浣嶄俊鍙风偣
+                            staProtocol.setStaNo(Short.valueOf("0"));
                             boolean result = MessageQueue.offer(SlaveType.Devp, 1, new com.zy.core.model.Task(2, staProtocol));
                             log.info("AGV鏀捐揣瀹屾垚锛岀粰绔欑偣鍐�9991宸ヤ綔鍙�,涓嬪彂浠诲姟:{},绔欑偣:{},agv浠诲姟鍙�:{}", result, task.getStaNo(), task.getTaskNo());
                             if (result) {
@@ -141,6 +167,13 @@
                                 data.put("robotTaskCode", robotTaskCode);
                                 rcsReturn.setData(data);
                             }
+                        }else {
+                            // 杩斿洖RCS
+                            rcsReturn.setCode("Err_Internal");
+                            rcsReturn.setMessage("");
+                            JSONObject data = new JSONObject();
+                            data.put("robotTaskCode", robotTaskCode);
+                            rcsReturn.setData(data);
                         }
                     }
                     break;
@@ -150,9 +183,8 @@
                         SiemensDevpThread siemensDevpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, 1);
                         StaProtocol staProtocol = siemensDevpThread.getStation().get(sourceStaNo).clone();
                         //鍒ゆ柇绔欑偣鏄惁鏈夋枡鏋跺拰鎵樼洏
-                        if (staProtocol != null && staProtocol.isLoading()
-                                && staProtocol.isEmptyOutType()
-                                && staProtocol.getWorkNo() > 0 && staProtocol.getWorkNo() < 9990) {
+                        if (staProtocol != null && (staProtocol.isLoading()||task.getTaskType().equals("AGV绌烘枡鏋跺洖缂撳瓨鍖�"))
+                                && staProtocol.isEmptyOutType()) {
                             RcsTaskContinue rcsTaskContinue = new RcsTaskContinue();
                             rcsTaskContinue.setRobotTaskCode(task.getTaskNo()+"-"+(task.getCtnType()-1));
                             rcsTaskContinue.setTriggerType("TASK");
@@ -187,7 +219,7 @@
                         SiemensDevpThread siemensDevpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, 1);
                         StaProtocol staProtocol = siemensDevpThread.getStation().get(sourceStaNo).clone();
                         //鏀捐揣瀹屾垚 --銆媋gv宸茬粡绂诲紑 --銆嬬粰PLC绔欑偣鍐�9991宸ヤ綔鍙�
-                        if (staProtocol != null && !staProtocol.isLoading() && !staProtocol.isEmptyOutType() && staProtocol.getWorkNo() > 0 && staProtocol.getWorkNo() < 9990) {
+                        if (staProtocol != null && !staProtocol.isLoading() && !staProtocol.isEmptyOutType()) {
                             staProtocol.setWorkNo((short) 0);
                             staProtocol.setStaNo((short) 0);
                             boolean result = MessageQueue.offer(SlaveType.Devp, 1, new com.zy.core.model.Task(2, staProtocol));

--
Gitblit v1.9.1