From 930dc44a8c0e7fb61cc18184fa810868328da0ee Mon Sep 17 00:00:00 2001
From: zwl <1051256694@qq.com>
Date: 星期六, 27 十二月 2025 10:32:43 +0800
Subject: [PATCH] 1.rcs请求wcs放货申请 2.wcs反馈rcs继续执行 3.rcs放货完成,已退出输送线,反馈end到wcs 4.rcs请求wcs取货申请 5.wcs反馈rcs继续执行 6.rcs取货完成,已退出输送线,重置站点工作号和目标站
---
src/main/java/com/zy/asrs/controller/SiteController.java | 3
src/main/java/com/zy/asrs/service/impl/AgvTaskServiceImpl.java | 12 +
src/main/java/com/zy/asrs/controller/OpenController.java | 17 +
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 3
src/main/webapp/views/pipeline.html | 3
src/main/java/com/zy/asrs/entity/AgvTask.java | 5
/dev/null | 23 ---
src/main/resources/mapper/AgvTaskMapper.xml | 4
src/main/java/com/zy/asrs/mapper/AgvTaskMapper.java | 12 +
src/main/java/com/zy/asrs/service/AgvTaskService.java | 7 +
src/main/java/com/zy/asrs/service/impl/RcsServiceImpl.java | 288 ++++++++++++++++++----------------------
src/main/java/com/zy/asrs/domain/vo/SiteTableVo.java | 2
src/main/java/com/zy/core/thread/SiemensDevpThread.java | 10
13 files changed, 194 insertions(+), 195 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/OpenController.java b/src/main/java/com/zy/asrs/controller/OpenController.java
index b0c8856..05d7a1f 100644
--- a/src/main/java/com/zy/asrs/controller/OpenController.java
+++ b/src/main/java/com/zy/asrs/controller/OpenController.java
@@ -13,10 +13,7 @@
import com.zy.core.thread.SiemensDevpThread;
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.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
@Slf4j
@RestController
@@ -61,4 +58,16 @@
return rcsService.reporterTask(param);
}
+ // 鍙嶉浠诲姟鎵ц缁撴灉
+ @GetMapping("/api/robot/reporter/task1")
+ public void reporterTask1(){
+ Integer sourceStaNo = 401;
+ SiemensDevpThread siemensDevpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, 1);
+ StaProtocol staProtocol = siemensDevpThread.getStation().get(sourceStaNo).clone();
+ 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());
+ }
+
+
+
}
diff --git a/src/main/java/com/zy/asrs/controller/SiteController.java b/src/main/java/com/zy/asrs/controller/SiteController.java
index 86c538d..8726646 100644
--- a/src/main/java/com/zy/asrs/controller/SiteController.java
+++ b/src/main/java/com/zy/asrs/controller/SiteController.java
@@ -81,7 +81,8 @@
vo.setEmptyMk(staProtocol.isEmptyMk()?"Y":"N"); // 绌烘澘淇″彿
vo.setStaNo(staProtocol.getStaNo()); // 鐩爣绔�
// vo.setLocType1(staProtocol.isHigh() != staProtocol.isLow() && staProtocol.isLow() ? "浣�" : "楂�"); //楂樹綆搴撲綅
- vo.setLocType1(devp.getDevNo()==102 ? "楂�" : "浣�");
+ vo.setLocType1(staProtocol.isHigh() ? "楂�" : "浣�");
+ vo.setEmptyOutType(staProtocol.isEmptyOutType() ? "Y" : "N");
}
return R.ok().add(list);
}
diff --git a/src/main/java/com/zy/asrs/domain/vo/SiteTableVo.java b/src/main/java/com/zy/asrs/domain/vo/SiteTableVo.java
index 42b7bc9..17c2881 100644
--- a/src/main/java/com/zy/asrs/domain/vo/SiteTableVo.java
+++ b/src/main/java/com/zy/asrs/domain/vo/SiteTableVo.java
@@ -37,4 +37,6 @@
//楂樹綆搴撲綅
private String locType1 = "-";
+
+ private String emptyOutType = "-";
}
diff --git a/src/main/java/com/zy/asrs/entity/Task.java b/src/main/java/com/zy/asrs/entity/AgvTask.java
similarity index 98%
rename from src/main/java/com/zy/asrs/entity/Task.java
rename to src/main/java/com/zy/asrs/entity/AgvTask.java
index 0914d66..7c769d9 100644
--- a/src/main/java/com/zy/asrs/entity/Task.java
+++ b/src/main/java/com/zy/asrs/entity/AgvTask.java
@@ -4,7 +4,6 @@
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import com.baomidou.mybatisplus.enums.IdType;
-import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.common.Cools;
import com.core.common.SpringUtils;
import com.zy.asrs.service.BasCrnpService;
@@ -22,7 +21,7 @@
@Data
@TableName("agv_task")
@Accessors(chain = true)
-public class Task implements Serializable {
+public class AgvTask implements Serializable {
private static final long serialVersionUID = 1L;
@@ -345,7 +344,7 @@
@TableField("task_no")
private String taskNo;
- public Task() {}
+ public AgvTask() {}
public String getYmd$(){
if (Cools.isEmpty(this.ymd)){
diff --git a/src/main/java/com/zy/asrs/mapper/AgvTaskMapper.java b/src/main/java/com/zy/asrs/mapper/AgvTaskMapper.java
new file mode 100644
index 0000000..00774d1
--- /dev/null
+++ b/src/main/java/com/zy/asrs/mapper/AgvTaskMapper.java
@@ -0,0 +1,12 @@
+package com.zy.asrs.mapper;
+
+import com.baomidou.mybatisplus.mapper.BaseMapper;
+import com.zy.asrs.entity.AgvTask;
+import org.apache.ibatis.annotations.Mapper;
+import org.springframework.stereotype.Repository;
+
+@Mapper
+@Repository
+public interface AgvTaskMapper extends BaseMapper<AgvTask> {
+
+}
diff --git a/src/main/java/com/zy/asrs/mapper/TaskMapper.java b/src/main/java/com/zy/asrs/mapper/TaskMapper.java
deleted file mode 100644
index 882e873..0000000
--- a/src/main/java/com/zy/asrs/mapper/TaskMapper.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package com.zy.asrs.mapper;
-
-import com.baomidou.mybatisplus.mapper.BaseMapper;
-import com.zy.asrs.entity.Task;
-
-public interface TaskMapper extends BaseMapper<Task> {
-
-}
diff --git a/src/main/java/com/zy/asrs/service/AgvTaskService.java b/src/main/java/com/zy/asrs/service/AgvTaskService.java
new file mode 100644
index 0000000..f5f3853
--- /dev/null
+++ b/src/main/java/com/zy/asrs/service/AgvTaskService.java
@@ -0,0 +1,7 @@
+package com.zy.asrs.service;
+
+import com.baomidou.mybatisplus.service.IService;
+import com.zy.asrs.entity.AgvTask;
+
+public interface AgvTaskService extends IService<AgvTask> {
+}
diff --git a/src/main/java/com/zy/asrs/service/TaskService.java b/src/main/java/com/zy/asrs/service/TaskService.java
deleted file mode 100644
index 917a7cc..0000000
--- a/src/main/java/com/zy/asrs/service/TaskService.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package com.zy.asrs.service;
-
-import com.baomidou.mybatisplus.service.IService;
-import com.zy.asrs.entity.Task;
-
-import java.util.List;
-
-public interface TaskService extends IService<Task> {
-}
diff --git a/src/main/java/com/zy/asrs/service/impl/AgvTaskServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/AgvTaskServiceImpl.java
new file mode 100644
index 0000000..e04a594
--- /dev/null
+++ b/src/main/java/com/zy/asrs/service/impl/AgvTaskServiceImpl.java
@@ -0,0 +1,12 @@
+package com.zy.asrs.service.impl;
+
+import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import com.zy.asrs.entity.AgvTask;
+import com.zy.asrs.mapper.AgvTaskMapper;
+import com.zy.asrs.service.AgvTaskService;
+import org.springframework.stereotype.Service;
+
+@Service("agvTaskService")
+public class AgvTaskServiceImpl extends ServiceImpl<AgvTaskMapper, AgvTask> implements AgvTaskService {
+
+}
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 c3bf91c..0365a07 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -137,7 +137,8 @@
if (staProtocol.isAutoing()
&& staProtocol.isInEnable()
&& !staProtocol.isEmptyMk()
- && staProtocol.getWorkNo() == 9999
+ && staProtocol.getWorkNo() == 9991
+ && staProtocol.isEmptyOutType()
&& staProtocol.isPakMk()) {
News.warnNoLog("" + mark + " - 0" + " - 寮�濮嬫墽琛�");
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 ec9d0e7..995b198 100644
--- a/src/main/java/com/zy/asrs/service/impl/RcsServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/RcsServiceImpl.java
@@ -4,11 +4,10 @@
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.common.Cools;
-import com.core.common.R;
import com.zy.asrs.entity.*;
import com.zy.asrs.enums.RcsRetMethodEnum;
+import com.zy.asrs.service.AgvTaskService;
import com.zy.asrs.service.RcsService;
-import com.zy.asrs.service.TaskService;
import com.zy.core.cache.MessageQueue;
import com.zy.core.cache.SlaveConnection;
import com.zy.core.enums.SlaveType;
@@ -28,12 +27,8 @@
import java.net.URL;
import java.net.URLConnection;
import java.nio.charset.StandardCharsets;
-import java.util.ArrayList;
import java.util.Date;
-import java.util.List;
import java.util.Objects;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
@Slf4j
@Service
@@ -43,7 +38,7 @@
private String HIK_URL;
@Autowired
- private TaskService taskService;
+ private AgvTaskService taskService;
/**
@@ -55,6 +50,7 @@
*/
@Override
public RcsReturn reporterTask(RcsReporterTask rcsReporterTask) {
+ log.info("娴峰悍AGV绔欑偣浠诲姟璇锋眰={}", JSONObject.toJSONString(rcsReporterTask));
RcsReturn rcsReturn = new RcsReturn();
@@ -68,115 +64,40 @@
String carrierType = values.getString("carrierType");
String slotCategory = values.getString("slotCategory");
String slotCode = values.getString("slotCode");
- EntityWrapper<Task> wrapper = new EntityWrapper<>();
+ EntityWrapper<AgvTask> wrapper = new EntityWrapper<>();
wrapper.eq("task_no", robotTaskCode);
- Task task = taskService.selectOne(wrapper);
- if(!Cools.isEmpty(task)){
+ AgvTask task = taskService.selectOne(wrapper);
+ if (!Cools.isEmpty(task)) {
try {
- // q3,q8=1
- if ("1".equals(carrierType)) { //AGV
+ switch (Objects.requireNonNull(RcsRetMethodEnum.getEnum(method))) {
+ //鏀捐揣鐢宠
+ case APPLY_PUT: {
+ Integer sourceStaNo = Integer.valueOf(task.getStaNo());
+ SiemensDevpThread siemensDevpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, 1);
+ 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));
- switch (Objects.requireNonNull(RcsRetMethodEnum.getEnum(method))) {
- //鏀捐揣鐢宠
- case APPLY_PUT: {
- Integer sourceStaNo = Integer.valueOf(task.getStaNo());
- SiemensDevpThread siemensDevpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, 1);
- StaProtocol staProtocol = siemensDevpThread.getStation().get(sourceStaNo).clone();
- //wcs鍙嶉rcs缁х画鎵ц
- if (staProtocol != null && !staProtocol.isLoading() && !staProtocol.isEmptyOutType()) {
- RcsTaskContinue rcsTaskContinue = new RcsTaskContinue();
- rcsTaskContinue.setRobotTaskCode(task.getTaskNo());
- rcsTaskContinue.setTriggerType("TASK");
- rcsTaskContinue.setTriggerCode(task.getTaskNo());
-
- 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("200".equals(rcsReturn1.getCode())) {
- //鍑哄彂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) {
- // 杩斿洖RCS
- rcsReturn.setCode("SUCCESS");
- rcsReturn.setMessage("");
- JSONObject data = new JSONObject();
- 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;
-
- //鏀捐揣瀹屾垚 --銆媋gv宸茬粡绂诲紑
- case TASK_END: {
- Integer sourceStaNo = Integer.valueOf(task.getStaNo());
- 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.setWorkNo((short) 9991);
- staProtocol.setStaNo(Short.valueOf(task.getStaNo()));
- 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){
- // 鏇存柊浠诲姟鐘舵�佺瓑鍐呴儴閫昏緫
- task.setWrkSts(304L); // 301 浠诲姟涓嬪彂銆�302 浠诲姟鎵ц銆�303 浠诲姟涓柇銆�304 浠诲姟缁撴潫
- task.setModiTime(new Date());
- taskService.updateById(task);
- // 杩斿洖RCS
- rcsReturn.setCode("SUCCESS");
- rcsReturn.setMessage("");
- JSONObject data = new JSONObject();
- 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;
- //rcs璇锋眰wms鍙栬揣鐢宠
- case APPLY_PICK: {
- Integer sourceStaNo = Integer.valueOf(task.getSourceStaNo());
- 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) {
- RcsTaskContinue rcsTaskContinue = new RcsTaskContinue();
- rcsTaskContinue.setRobotTaskCode(task.getTaskNo());
- rcsTaskContinue.setTriggerType("TASK");
- rcsTaskContinue.setTriggerCode(task.getTaskNo());
-
- 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("200".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")) {
+ RcsReturn rcsReturn1 = JSONObject.parseObject(response, RcsReturn.class);
+ if ("SUCCESS".equals(rcsReturn1.getCode())) {
+ //鍑哄彂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) {
// 杩斿洖RCS
rcsReturn.setCode("SUCCESS");
rcsReturn.setMessage("");
JSONObject data = new JSONObject();
data.put("robotTaskCode", robotTaskCode);
rcsReturn.setData(data);
- }else {
+ } else {
// 杩斿洖RCS
rcsReturn.setCode("Err_Internal");
rcsReturn.setMessage("");
@@ -187,26 +108,68 @@
}
}
}
- break;
- //rcs鍙栬揣瀹屾垚锛屽凡閫�鍑鸿緭閫佺嚎
- case PICK_COMPLETE: {
- Integer sourceStaNo = Integer.valueOf(task.getSourceStaNo());
- 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) {
- staProtocol.setWorkNo((short) 0);
- staProtocol.setStaNo((short) 0);
- boolean result = MessageQueue.offer(SlaveType.Devp, 1, new com.zy.core.model.Task(2, staProtocol));
- log.info("AGV鍙栬揣瀹屾垚锛岀粰绔欑偣鍐�0宸ヤ綔鍙�,涓嬪彂浠诲姟:{},绔欑偣:{},agv浠诲姟鍙�:{}",result,task.getStaNo(),task.getTaskNo());
- if(result){
+ }
+ break;
+
+ //鏀捐揣瀹屾垚 --銆媋gv宸茬粡绂诲紑
+ case TASK_END: {
+ Integer sourceStaNo = Integer.valueOf(task.getStaNo());
+ 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.setWorkNo((short) 9991);
+ staProtocol.setStaNo(Short.valueOf(task.getStaNo()));
+ 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) {
+ // 鏇存柊浠诲姟鐘舵�佺瓑鍐呴儴閫昏緫
+ task.setWrkSts(304L); // 301 浠诲姟涓嬪彂銆�302 浠诲姟鎵ц銆�303 浠诲姟涓柇銆�304 浠诲姟缁撴潫
+ task.setModiTime(new Date());
+ taskService.updateById(task);
+ // 杩斿洖RCS
+ rcsReturn.setCode("SUCCESS");
+ rcsReturn.setMessage("");
+ JSONObject data = new JSONObject();
+ 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;
+ //rcs璇锋眰wms鍙栬揣鐢宠
+ case APPLY_PICK: {
+ Integer sourceStaNo = Integer.valueOf(task.getSourceStaNo());
+ 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) {
+ 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 ("200".equals(rcsReturn1.getCode())) {
// 杩斿洖RCS
rcsReturn.setCode("SUCCESS");
rcsReturn.setMessage("");
JSONObject data = new JSONObject();
data.put("robotTaskCode", robotTaskCode);
rcsReturn.setData(data);
- }else {
+ } else {
// 杩斿洖RCS
rcsReturn.setCode("Err_Internal");
rcsReturn.setMessage("");
@@ -214,16 +177,46 @@
data.put("robotTaskCode", robotTaskCode);
rcsReturn.setData(data);
}
-
}
}
- break;
-
- default: {
- }
- break;
}
+ break;
+ //rcs鍙栬揣瀹屾垚锛屽凡閫�鍑鸿緭閫佺嚎
+ case PICK_COMPLETE: {
+ Integer sourceStaNo = Integer.valueOf(task.getSourceStaNo());
+ 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) {
+ staProtocol.setWorkNo((short) 0);
+ staProtocol.setStaNo((short) 0);
+ boolean result = MessageQueue.offer(SlaveType.Devp, 1, new com.zy.core.model.Task(2, staProtocol));
+ log.info("AGV鍙栬揣瀹屾垚锛岀粰绔欑偣鍐�0宸ヤ綔鍙�,涓嬪彂浠诲姟:{},绔欑偣:{},agv浠诲姟鍙�:{}", result, task.getStaNo(), task.getTaskNo());
+ if (result) {
+ // 杩斿洖RCS
+ rcsReturn.setCode("SUCCESS");
+ rcsReturn.setMessage("");
+ JSONObject data = new JSONObject();
+ 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;
+
+ default: {
+ }
+ break;
}
+
} catch (Exception e) {
log.error("RCS鍙嶉浠诲姟杩涘害澶勭悊寮傚父 - {}", rcsReporterTask, e);
@@ -240,7 +233,7 @@
/**
* 鍚戞寚瀹� URL 鍙戦�丳OST鏂规硶鐨勮姹�
*
- * @param url 鍙戦�佽姹傜殑 URL
+ * @param url 鍙戦�佽姹傜殑 URL
* @param param 璇锋眰鍙傛暟锛岃姹傚弬鏁板簲璇ユ槸 name1=value1&name2=value2 鐨勫舰寮忋��
* @return 鎵�浠h〃杩滅▼璧勬簮鐨勫搷搴旂粨鏋�
*/
@@ -248,8 +241,7 @@
PrintWriter out = null;
BufferedReader in = null;
StringBuilder result = new StringBuilder();
- try
- {
+ try {
log.info("sendPost - {} - {}", url, param);
URL realUrl = new URL(url);
URLConnection conn = realUrl.openConnection();
@@ -272,43 +264,27 @@
out.flush();
in = new BufferedReader(new InputStreamReader(conn.getInputStream(), StandardCharsets.UTF_8));
String line;
- while ((line = in.readLine()) != null)
- {
+ while ((line = in.readLine()) != null) {
result.append(line);
}
log.info("recv - {}", result);
- }
- catch (ConnectException e)
- {
+ } catch (ConnectException e) {
log.error("璋冪敤HttpUtils.sendPost ConnectException, url=" + url + ",param=" + param, e);
- }
- catch (SocketTimeoutException e)
- {
+ } catch (SocketTimeoutException e) {
log.error("璋冪敤HttpUtils.sendPost SocketTimeoutException, url=" + url + ",param=" + param, e);
- }
- catch (IOException e)
- {
+ } catch (IOException e) {
log.error("璋冪敤HttpUtils.sendPost IOException, url=" + url + ",param=" + param, e);
- }
- catch (Exception e)
- {
+ } catch (Exception e) {
log.error("璋冪敤HttpsUtil.sendPost Exception, url=" + url + ",param=" + param, e);
- }
- finally
- {
- try
- {
- if (out != null)
- {
+ } finally {
+ try {
+ if (out != null) {
out.close();
}
- if (in != null)
- {
+ if (in != null) {
in.close();
}
- }
- catch (IOException ex)
- {
+ } catch (IOException ex) {
log.error("璋冪敤in.close Exception, url=" + url + ",param=" + param, ex);
}
}
diff --git a/src/main/java/com/zy/asrs/service/impl/TaskServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/TaskServiceImpl.java
deleted file mode 100644
index 2d2aecc..0000000
--- a/src/main/java/com/zy/asrs/service/impl/TaskServiceImpl.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package com.zy.asrs.service.impl;
-
-import com.baomidou.mybatisplus.mapper.EntityWrapper;
-import com.baomidou.mybatisplus.service.impl.ServiceImpl;
-import com.core.common.Cools;
-import com.core.common.DateUtils;
-import com.core.exception.CoolException;
-import com.zy.asrs.entity.Task;
-import com.zy.asrs.entity.WaitPakin;
-import com.zy.asrs.mapper.TaskMapper;
-import com.zy.asrs.service.TaskService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-
-import java.util.Date;
-import java.util.List;
-import java.util.concurrent.TimeUnit;
-
-@Service("taskService")
-public class TaskServiceImpl extends ServiceImpl<TaskMapper, Task> implements TaskService {
-
-}
diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
index 36a6490..d4e2393 100644
--- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -350,12 +350,12 @@
if (null == staProtocol) {
return;
}
- ArrayList<Integer> staNos = getStaNo();
- int index = staNos.indexOf(staProtocol.getSiteId());
- if(staProtocol.getSiteId() == 307){
- index = 0;
+
+ int index = 0;
+ if(staProtocol.getSiteId() == 402){
+ index = 1;
}
- OperateResult writeResult1 = siemensS7Net.Write("DB100.500" + index, 1); // 鎵爜鍣ㄨЕ鍙�
+ OperateResult writeResult1 = siemensS7Net.Write("DB100.500." + index, true); // 鎵爜鍣ㄨЕ鍙�
if (!writeResult1.IsSuccess) {
OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆戝啓鍏ヨ緭閫佺嚎绔欑偣鏁版嵁澶辫触銆傝緭閫佺嚎plc缂栧彿={1}锛岀珯鐐规暟鎹�={2}", slave.getId(), JSON.toJSON(staProtocol)));
diff --git a/src/main/resources/mapper/TaskMapper.xml b/src/main/resources/mapper/AgvTaskMapper.xml
similarity index 71%
rename from src/main/resources/mapper/TaskMapper.xml
rename to src/main/resources/mapper/AgvTaskMapper.xml
index 295cb06..470da7a 100644
--- a/src/main/resources/mapper/TaskMapper.xml
+++ b/src/main/resources/mapper/AgvTaskMapper.xml
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.zy.asrs.mapper.TaskMapper">
+<mapper namespace="com.zy.asrs.mapper.AgvTaskMapper">
<!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
- <resultMap id="BaseResultMap" type="com.zy.asrs.entity.Task">
+ <resultMap id="BaseResultMap" type="com.zy.asrs.entity.AgvTask">
<id column="id" property="id" />
<result column="task_type" property="taskType" />
diff --git a/src/main/webapp/views/pipeline.html b/src/main/webapp/views/pipeline.html
index c182d24..3c0be1a 100644
--- a/src/main/webapp/views/pipeline.html
+++ b/src/main/webapp/views/pipeline.html
@@ -116,6 +116,7 @@
<th>绌烘澘淇″彿</th>
<th>鐩爣绔�</th>
<th>楂樹綆搴撲綅</th>
+ <th>绌烘枡鏋�</th>
</tr>
</thead>
<!-- 琛ㄦ牸鍐呭 -->
@@ -310,6 +311,7 @@
setVal(tr.children("td").eq(7), table[i-1].emptyMk);
setVal(tr.children("td").eq(8), table[i-1].staNo);
setVal(tr.children("td").eq(9), table[i-1].locType1);
+ setVal(tr.children("td").eq(10), table[i-1].emptyOutType);
}
} else if (res.code === 403){
window.location.href = baseUrl+"/login";
@@ -396,6 +398,7 @@
" <td></td>\n" +
" <td></td>\n" +
" <td></td>\n" +
+ " <td></td>\n" +
" </tr>\n";
}
$('#site-table tbody').after(html);
--
Gitblit v1.9.1