diff --git a/ruoyi-admin/pom.xml b/ruoyi-admin/pom.xml
index ae294d5..c6a5179 100644
--- a/ruoyi-admin/pom.xml
+++ b/ruoyi-admin/pom.xml
@@ -38,14 +38,15 @@
-
- mysql
- mysql-connector-java
-
+
+
+
+
com.microsoft.sqlserver
mssql-jdbc
+ 12.10.1.jre11
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/api/controller/AgvController.java b/ruoyi-admin/src/main/java/com/ruoyi/api/controller/AgvController.java
index 514ecdb..2aac356 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/api/controller/AgvController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/api/controller/AgvController.java
@@ -1,7 +1,11 @@
package com.ruoyi.api.controller;
+import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.util.IdUtil;
import com.ruoyi.api.domain.agv.agvCallback.AgvCallbackRequest;
import com.ruoyi.api.domain.agv.agvCallback.AgvCallbackResponse;
+import com.ruoyi.api.domain.agv.cancelTask.CancelTaskRequest;
+import com.ruoyi.api.domain.agv.cancelTask.CancelTaskResponse;
import com.ruoyi.api.service.IApiService;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
@@ -27,6 +31,7 @@ public class AgvController extends BaseController {
@Autowired
private IAgvQueueService agvQueueService;
+
/**
* agv执行状态返回接口
* @param request
@@ -75,4 +80,33 @@ public class AgvController extends BaseController {
}
+ /**
+ * 前端手动操作完成/取消AGV作业时,请求rcs,取消当前AGV正执行的作业
+ * @param param
+ * @return
+ */
+ @PostMapping("/cancelTask")
+ public AjaxResult cancelTask(@RequestBody Map param) {
+ AgvQueue agvQueue = agvQueueService.selectAgvQueueByTaskCode(param.get("taskCode"));
+
+ if(agvQueue==null){
+ return AjaxResult.error("AGV任务队列不存在!");
+ }else{
+ CancelTaskRequest cancelTaskRequest = new CancelTaskRequest();
+ cancelTaskRequest.setReqCode(IdUtil.fastSimpleUUID());
+ cancelTaskRequest.setReqTime(DateUtil.formatDateTime(DateUtil.date()));
+ cancelTaskRequest.setTaskCode(agvQueue.getTaskCode());
+
+ //取消rcs中指定的agv任务
+ CancelTaskResponse cancelTaskResponse = apiService.cancelTask(cancelTaskRequest);
+
+ if(cancelTaskResponse.getCode() == 0 && "成功".equals(cancelTaskResponse.getMessage()) && cancelTaskResponse.getReqCode() == cancelTaskRequest.getReqCode()){
+ return AjaxResult.success("AGV任务队列取消成功!", cancelTaskResponse);
+ }
+
+ return AjaxResult.error("取消RCS-AGV任务队列失败!");
+ }
+
+ }
+
}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/api/controller/Wcs2WmsController.java b/ruoyi-admin/src/main/java/com/ruoyi/api/controller/Wcs2WmsController.java
index 9d3142d..1f59311 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/api/controller/Wcs2WmsController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/api/controller/Wcs2WmsController.java
@@ -75,4 +75,5 @@ public class Wcs2WmsController {
return apiService.updateWcsPort(wcsPort);
}
+
}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/api/service/IApiService.java b/ruoyi-admin/src/main/java/com/ruoyi/api/service/IApiService.java
index 3fca0f3..267b648 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/api/service/IApiService.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/api/service/IApiService.java
@@ -136,4 +136,8 @@ public interface IApiService
AjaxResult selectMydoJobByTrayCodeAndEntranceId(HashMap paramMap);
AjaxResult deleteAgvTray(AgvQueue agvQueue);
+
+
+
+
}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/api/service/impl/ApiServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/api/service/impl/ApiServiceImpl.java
index 6f5d66e..dc753dc 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/api/service/impl/ApiServiceImpl.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/api/service/impl/ApiServiceImpl.java
@@ -478,4 +478,6 @@ public class ApiServiceImpl implements IApiService {
return AjaxResult.error();
}
}
+
+
}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/common/Constant.java b/ruoyi-admin/src/main/java/com/ruoyi/common/Constant.java
index 951ec87..73e81e8 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/common/Constant.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/common/Constant.java
@@ -19,4 +19,6 @@ public class Constant {
public static final String REQUEST_ENTER_URL = WMS_BASE_URL+"requestEnterByTrayCodeAndEntranceId";
+
+
}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/schedule/scheduleTask/ddj/DdjThread.java b/ruoyi-admin/src/main/java/com/ruoyi/schedule/scheduleTask/ddj/DdjThread.java
index 25a6520..ee2fcb8 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/schedule/scheduleTask/ddj/DdjThread.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/schedule/scheduleTask/ddj/DdjThread.java
@@ -198,7 +198,7 @@ public class DdjThread implements Runnable {
}
}
//正常下发
- if (ddj.getYxxf() == 1 && ddj.getCzfs() == 5 && ddj.getSbzt() == 0) {
+ if (ddj.getYxxf() == 1 && ddj.getCzfs() == 5 && ddj.getSbzt() == 0 ) {
Long rwh = ddj.getRwh();
DdjDeviceExecutionQueue ddjDeviceExecutionQueueRunningParam = new DdjDeviceExecutionQueue();
ddjDeviceExecutionQueueRunningParam.setDdjxf("1");
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/schedule/scheduleTask/ssj/floor1/Floor1BothWayOutSsjThread.java b/ruoyi-admin/src/main/java/com/ruoyi/schedule/scheduleTask/ssj/floor1/Floor1BothWayOutSsjThread.java
index 6f576c3..73d76a1 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/schedule/scheduleTask/ssj/floor1/Floor1BothWayOutSsjThread.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/schedule/scheduleTask/ssj/floor1/Floor1BothWayOutSsjThread.java
@@ -171,7 +171,7 @@ public class Floor1BothWayOutSsjThread implements Runnable {
MydoJob mydoJob = mydoJobService.selectMydoJobByExitList1(exitList, roadwayId);
MydoJob inJob = mydoJobService.selectMydoJobByEntranceList1(entrance_id);
if (ObjUtil.isNotNull(mydoJob) && deviceSsj.getKx() == 1 && ssj.getKx() == 0
- && ObjUtil.isNull(inJob) && inOutSsj.getInOrOut() == 1 ) {
+ && ObjUtil.isNull(inJob) && inOutSsj.getInOrOut() == 1 && deviceSsj.getTaskNo() == 0) {
//所有线体为空闲 并且存在出库作业 并且不存在入库作业
BasCargoSpace basCargoSpace = basCargoSpaceService.selectBasCargoSpaceByWmsCargoSpaceId(mydoJob.getCargoSpaceId());
if (ObjUtil.isNull(basCargoSpace)) {
@@ -203,6 +203,7 @@ public class Floor1BothWayOutSsjThread implements Runnable {
mydoJob.setStatus(TASK_STATUS_RUNNING);
mydoJob.setExecutionPhase(TASK_EP_DDJ);
mydoJob.setStartTime(DateUtil.formatDateTime(DateUtil.date()));
+ mydoJob.setExitId(entrance_id);
mydoJobService.updateMydoJob(mydoJob);
}
}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/schedule/scheduleTask/ssj/floor1/Floor1SingleSsjThread.java b/ruoyi-admin/src/main/java/com/ruoyi/schedule/scheduleTask/ssj/floor1/Floor1SingleSsjThread.java
index 57eb03a..b5c1f02 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/schedule/scheduleTask/ssj/floor1/Floor1SingleSsjThread.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/schedule/scheduleTask/ssj/floor1/Floor1SingleSsjThread.java
@@ -73,36 +73,67 @@ public class Floor1SingleSsjThread implements Runnable {
public void run() {
init();
while (isRun) {
- for (String type : ssjCodeList.keySet()) {
- //一楼单向巷道口
- if ("outRoadwaySsj".equals(type)) {
- for (String ssjCode : ssjCodeList.get(type)) {
- try {
- if (PlcSsjRead.deviceSsjMap.containsKey(ssjCode)) {
- dispatch(PlcSsjRead.deviceSsjMap.get(ssjCode));
- } else {
- log.error("设备不存在 ssjCode{}", ssjCode);
- }
- } catch (RuntimeException e) {
- log.error(e.getMessage(), e);
- }
+ try {
+ if (PlcSsjRead.deviceSsjMap.containsKey("L2001")) {
+ dispatch(PlcSsjRead.deviceSsjMap.get("L2001"));
+ } else {
+ log.error("设备不存在 ssjCode{}", "L2001");
+ }
+ if (PlcSsjRead.deviceSsjMap.containsKey("L2007")) {
+ dispatch(PlcSsjRead.deviceSsjMap.get("L2007"));
+ } else {
+ log.error("设备不存在 ssjCode{}", "L2007");
+ }
+ if (PlcSsjRead.deviceSsjMap.containsKey("L2002")) {
+ dispatch2(PlcSsjRead.deviceSsjMap.get("L2002"));
+ } else {
+ log.error("设备不存在 ssjCode{}", "L2002");
+ }
+ if (PlcSsjRead.deviceSsjMap.containsKey("L2008")) {
+ dispatch2(PlcSsjRead.deviceSsjMap.get("L2008"));
+ } else {
+ log.error("设备不存在 ssjCode{}", "L2008");
+ }
- }
- }
- if ("outSsj".equals(type)) {
- for (String ssjCode : ssjCodeList.get(type)) {
- try {
- if (PlcSsjRead.deviceSsjMap.containsKey(ssjCode)) {
- dispatch2(PlcSsjRead.deviceSsjMap.get(ssjCode));
- } else {
- log.error("设备不存在 ssjCode{}", ssjCode);
- }
- } catch (RuntimeException e) {
- log.error(e.getMessage(), e);
- }
- }
- }
+ } catch (RuntimeException e) {
+ log.error(e.getMessage(), e);
}
+
+
+
+
+
+
+// for (String type : ssjCodeList.keySet()) {
+// //一楼单向巷道口
+// if ("outRoadwaySsj".equals(type)) {
+// for (String ssjCode : ssjCodeList.get(type)) {
+// try {
+// if (PlcSsjRead.deviceSsjMap.containsKey(ssjCode)) {
+// dispatch(PlcSsjRead.deviceSsjMap.get(ssjCode));
+// } else {
+// log.error("设备不存在 ssjCode{}", ssjCode);
+// }
+// } catch (RuntimeException e) {
+// log.error(e.getMessage(), e);
+// }
+//
+// }
+// }
+// if ("outSsj".equals(type)) {
+// for (String ssjCode : ssjCodeList.get(type)) {
+// try {
+// if (PlcSsjRead.deviceSsjMap.containsKey(ssjCode)) {
+// dispatch2(PlcSsjRead.deviceSsjMap.get(ssjCode));
+// } else {
+// log.error("设备不存在 ssjCode{}", ssjCode);
+// }
+// } catch (RuntimeException e) {
+// log.error(e.getMessage(), e);
+// }
+// }
+// }
+// }
try {
Thread.sleep(1500);
} catch (InterruptedException e) {
@@ -149,15 +180,19 @@ public class Floor1SingleSsjThread implements Runnable {
*/
public void dispatch(DeviceSsj ssj) {
//如果入库请求1 并且 托盘码不为空
- if (ssj.getKx() == 1) {
+ if (ssj.getKx() == 1 && ssj.getTaskNo() == 0) {
List exitList = new ArrayList<>();
exitList.add("1");
String roadwayId = "";
+ String entrance_id = "";
if("L2001".equals(ssj.getDeviceCode())){
roadwayId = "1";
+ entrance_id = "L2002";
+
}
if("L2007".equals(ssj.getDeviceCode())){
roadwayId = "2";
+ entrance_id = "L2008";
}
MydoJob mydoJob = mydoJobService.selectMydoJobByExitList1(exitList,roadwayId);
if (ObjUtil.isNotNull(mydoJob)) {
@@ -192,6 +227,7 @@ public class Floor1SingleSsjThread implements Runnable {
mydoJob.setStatus(TASK_STATUS_RUNNING);
mydoJob.setExecutionPhase(TASK_EP_DDJ);
mydoJob.setStartTime(DateUtil.formatDateTime(DateUtil.date()));
+ mydoJob.setExitId(entrance_id);
mydoJobService.updateMydoJob(mydoJob);
}
}
diff --git a/ruoyi-admin/src/main/resources/application-druid.yml b/ruoyi-admin/src/main/resources/application-druid.yml
index cf19924..8151140 100644
--- a/ruoyi-admin/src/main/resources/application-druid.yml
+++ b/ruoyi-admin/src/main/resources/application-druid.yml
@@ -9,7 +9,7 @@ spring:
# url: jdbc:sqlserver://172.16.2.170:1433;databaseName=FT517-WCS;
# username: sa
# password: Flrd0914.
- url: jdbc:sqlserver://192.168.58.10:1433;databaseName=FT517-wcs;
+ url: jdbc:sqlserver://192.168.58.10:1433;databaseName=FT517-wcs;;encrypt=true;trustServerCertificate=true;
username: sa
password: www.123.com
diff --git a/ruoyi-admin/src/main/resources/application.yml b/ruoyi-admin/src/main/resources/application.yml
index 3e2c2cd..6aa9fb0 100644
--- a/ruoyi-admin/src/main/resources/application.yml
+++ b/ruoyi-admin/src/main/resources/application.yml
@@ -95,7 +95,7 @@ token:
# 令牌密钥
secret: abcdefghijklmnopqrstuvwxyz
# 令牌有效期(默认30分钟)
- expireTime: 30
+ expireTime: 10080
# MyBatis配置
mybatis:
diff --git a/ruoyi-ui/src/views/agv/queue/index.vue b/ruoyi-ui/src/views/agv/queue/index.vue
index db20e15..63a7108 100644
--- a/ruoyi-ui/src/views/agv/queue/index.vue
+++ b/ruoyi-ui/src/views/agv/queue/index.vue
@@ -98,6 +98,13 @@
+ 修改
-
-
+
+
+
+
+
+
+
+
+
+
+