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