From 3d82800c17ffe0af07c6cd1da86cbbca5199e059 Mon Sep 17 00:00:00 2001 From: liangzhou <594755172@qq.com> Date: Sat, 1 Mar 2025 19:55:02 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=9A=E6=97=B6=E4=BB=BB=E5=8A=A1:=E5=8F=91?= =?UTF-8?q?=E9=80=81=E4=BB=BB=E5=8A=A1=E7=BB=99wcs=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ruoyi-admin/pom.xml | 8 +- ruoyi-quartz/pom.xml | 6 + .../com/ruoyi/quartz/task/TaskExecutor.java | 127 +++++++++--------- 3 files changed, 70 insertions(+), 71 deletions(-) diff --git a/ruoyi-admin/pom.xml b/ruoyi-admin/pom.xml index fa0cfe66..7a283033 100644 --- a/ruoyi-admin/pom.xml +++ b/ruoyi-admin/pom.xml @@ -50,10 +50,10 @@ - - com.ruoyi - ruoyi-quartz - + + + + diff --git a/ruoyi-quartz/pom.xml b/ruoyi-quartz/pom.xml index 5a4172c3..41c0addd 100644 --- a/ruoyi-quartz/pom.xml +++ b/ruoyi-quartz/pom.xml @@ -38,6 +38,12 @@ com.ruoyi ruoyi-system + + com.ruoyi + ruoyi-admin + 3.8.9 + compile + diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/TaskExecutor.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/TaskExecutor.java index 2a9387a5..7acfa747 100644 --- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/TaskExecutor.java +++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/TaskExecutor.java @@ -1,6 +1,5 @@ package com.ruoyi.quartz.task; -import cn.hutool.crypto.Padding; import com.alibaba.fastjson2.JSON; import com.ruoyi.app.domain.*; import com.ruoyi.app.service.*; @@ -8,8 +7,8 @@ import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.utils.http.HttpUtils; import com.ruoyi.common.utils.uuid.IdUtils; import com.ruoyi.system.service.ISysConfigService; -import io.netty.util.internal.ObjectUtil; -import org.apache.ibatis.javassist.compiler.ast.Variable; +import com.ruoyi.web.domain.WcsCommonResponse; +import com.ruoyi.web.domain.WcsStackerTaskRequest; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.BeanUtils; @@ -50,6 +49,7 @@ public class TaskExecutor { * 解析wms任务 * 任务状态为0 */ + @Transactional(rollbackFor = Exception.class) public void executeWmsTask() { // 查询所有的任务 List wmsTaskList = appTaskService.selectAppTaskList(new AppTask()); @@ -99,69 +99,62 @@ public class TaskExecutor { * 发送wcs任务 * 任务状态为0 */ + @Transactional(rollbackFor = Exception.class) public void sendWcsTask() { -// // 查询出所有的待下发的wcs任务 -// AppWcsTask wcsTaskQuery = new AppWcsTask(); -// wcsTaskQuery.setWcsTaskStatus(0); -// List wcsTaskList = appWcsTaskService.selectAppWcsTaskList(wcsTaskQuery); -// if (wcsTaskList == null || wcsTaskList.isEmpty()) { -// // 没有待下发的任务,跳过任务 -// return; -// } -// // 获取请求地址 -// String url = sysConfigService.selectConfigByKey("wcs.url"); -// if (StringUtils.isEmpty(url)) { -// // 查询不到wcs任务发送地址 -// return; -// } -// for (AppWcsTask appWcsTask : wcsTaskList) { -// // 添加wcs任务请求 -// WcsStackerTaskRequest wcsStackerTaskRequest = getWcsStackerTaskRequest(appWcsTask); -// // 发送http请求---请求5次 -// for (int i = 0; i < 5; i++) { -// try { -// WcsCommonResponse wcsCommonResponse = JSON.parseObject(HttpUtils.sendPost(url, JSON.toJSONString(wcsStackerTaskRequest)), WcsCommonResponse.class); -// -// if (wcsCommonResponse == null) { -// continue; -// } -// if (wcsCommonResponse.getCode() == 0) { -// // 返回ok -// appWcsTask.setWcsTaskStatus(1);// 已经发送成功 -// } else { -// // 返回error -// appWcsTask.setWcsTaskStatus(999);// 任务异常 -// } -// appWcsTask.setSendTime(new Date()); -// appWcsTaskService.updateAppWcsTask(appWcsTask); -// // 请求成功,不再发送 -// break; -// } catch (Exception e) { -// logger.error("任务发送异常。{}", JSON.toJSONString(e)); -// } -// } -// } - - - - + // 查询出所有的待下发的wcs任务 + AppWcsTask wcsTaskQuery = new AppWcsTask(); + wcsTaskQuery.setWcsTaskStatus(0); + List wcsTaskList = appWcsTaskService.selectAppWcsTaskList(wcsTaskQuery); + if (wcsTaskList == null || wcsTaskList.isEmpty()) { + // 没有待下发的任务,跳过任务 + return; + } + // 获取请求地址 + String url = sysConfigService.selectConfigByKey("wcs.url"); + if (StringUtils.isEmpty(url)) { + // 查询不到wcs任务发送地址 + return; + } + for (AppWcsTask appWcsTask : wcsTaskList) { + // 添加wcs任务请求 + WcsStackerTaskRequest wcsStackerTaskRequest = getWcsStackerTaskRequest(appWcsTask); + // 发送http请求---请求5次 + for (int i = 0; i < 5; i++) { + WcsCommonResponse wcsCommonResponse = JSON.parseObject(HttpUtils.sendPost(url, JSON.toJSONString(wcsStackerTaskRequest)), WcsCommonResponse.class); + if (wcsCommonResponse == null) { + continue; + } + if (wcsCommonResponse.getCode() == 0) { + // 返回ok + appWcsTask.setWcsTaskStatus(1);// 已经发送成功 + } else { + // 返回error + appWcsTask.setWcsTaskStatus(999);// 任务异常 + } + appWcsTask.setSendTime(new Date()); + appWcsTaskService.updateAppWcsTask(appWcsTask); + // 请求成功,不再发送 + break; + } + } } -// /** -// * 创建wcs请求 -// * @param appWcsTask 任务 -// * @return 请求详情 -// */ -// private WcsStackerTaskRequest getWcsStackerTaskRequest(AppWcsTask appWcsTask) { -// WcsStackerTaskRequest wcsStackerTaskRequest = new WcsStackerTaskRequest(); -// wcsStackerTaskRequest.setTaskId(appWcsTask.getWcsTaskId()); -// wcsStackerTaskRequest.setTaskType(appWcsTask.getWcsTaskType()); -// wcsStackerTaskRequest.setPriority(appWcsTask.getTaskPriority()); -// wcsStackerTaskRequest.setOrigin(appWcsTask.getOrigin()); -// wcsStackerTaskRequest.setDestination(appWcsTask.getDestination()); -// wcsStackerTaskRequest.setVehicleNo(appWcsTask.getVehicleId()); -// return wcsStackerTaskRequest; -// } + /** + * 创建wcs请求 + * + * @param appWcsTask 任务 + * @return 请求详情 + */ + private WcsStackerTaskRequest getWcsStackerTaskRequest(AppWcsTask appWcsTask) { + WcsStackerTaskRequest wcsStackerTaskRequest = new WcsStackerTaskRequest(); + wcsStackerTaskRequest.setTaskId(appWcsTask.getWcsTaskId()); + wcsStackerTaskRequest.setTaskType(appWcsTask.getWcsTaskType()); + wcsStackerTaskRequest.setPriority(appWcsTask.getTaskPriority()); + wcsStackerTaskRequest.setOrigin(appWcsTask.getOrigin()); + wcsStackerTaskRequest.setDestination(appWcsTask.getDestination()); + wcsStackerTaskRequest.setVehicleNo(appWcsTask.getVehicleId()); + return wcsStackerTaskRequest; + } @Transactional public void completeWmsTask() { @@ -172,8 +165,8 @@ public class TaskExecutor { if (appTasks == null || appTasks.isEmpty()) { return; } - for(AppTask task : appTasks) { - if(task.getTaskType().compareTo(1) == 0) { + for (AppTask task : appTasks) { + if (task.getTaskType().compareTo(1) == 0) { // 从码盘表内拉出数据 AppPendingStorage appPendingStorage = new AppPendingStorage(); appPendingStorage.setVehicleNo(task.getVehicleId()); @@ -181,7 +174,7 @@ public class TaskExecutor { if (appPendingStorages == null) { return; } - if(appPendingStorages.isEmpty()){ + if (appPendingStorages.isEmpty()) { AppTask updateRemark = new AppTask(); updateRemark.setTaskId(task.getTaskId()); updateRemark.setRemark("该载具似乎未进行过码盘"); @@ -192,7 +185,7 @@ public class TaskExecutor { appTaskService.deleteAppTaskByTaskId(task.getTaskId()); // 删除旧数据 return; } - for(AppPendingStorage pendingStorage : appPendingStorages) { + for (AppPendingStorage pendingStorage : appPendingStorages) { // 插入库存 AppStock appStock = new AppStock(); appStock.setStockId(pendingStorage.getListId());