From a8a73a1af92991cd1c1487c55d9791312b4806c5 Mon Sep 17 00:00:00 2001 From: icewint Date: Thu, 6 Mar 2025 13:57:29 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=B0=91=E9=87=8F=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../web/controller/app/AppTaskController.java | 62 ++++++++++--------- .../com/ruoyi/quartz/task/TaskExecutor.java | 44 ++++++------- .../resources/mapper/app/AppWcsTaskMapper.xml | 8 +-- 3 files changed, 59 insertions(+), 55 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/app/AppTaskController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/app/AppTaskController.java index e5beb357..d4d87834 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/app/AppTaskController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/app/AppTaskController.java @@ -1089,8 +1089,8 @@ public class AppTaskController extends BaseController * @return 结果 */ @Anonymous - @GetMapping("/getPickTask/{vehicleNo}") - public AjaxResult getPickTask(@PathVariable String vehicleNo) { + @GetMapping("/getPickTask") + public AjaxResult getPickTask(@RequestParam("vehicleNo") String vehicleNo) { if(StringUtils.isEmpty(vehicleNo)) { return error("载具号不能为空"); } @@ -1109,36 +1109,38 @@ public class AppTaskController extends BaseController @Anonymous @PostMapping("/pickComplete") - public AjaxResult pickComplete(@RequestBody PickCompleteReq request) { - if(request == null || StringUtils.isEmpty(request.getTaskId()) || request.getPickNum() == null) { - return error("请求参数不能为空"); + public AjaxResult pickComplete(@RequestBody List requests) { + for(PickCompleteReq request : requests) { + if(request == null || StringUtils.isEmpty(request.getTaskId()) || request.getPickNum() == null) { + return error("请求参数不能为空"); + } + if(request.getPickNum().compareTo(BigDecimal.ZERO) <= 0) { + return error("捡货数量必须大于0"); + } + // 检查这个taskId是否存在 + AppTask selectTask = appTaskService.selectAppTaskByTaskId(request.getTaskId()); + if (selectTask == null) { + return error("数据服务异常,请重试"); + } + if (selectTask.getTaskType() != 2) { + return error("该任务不是拣货任务,请检查!"); + } + if (selectTask.getTaskStatus() != 4) { + return error("该任务状态不是待捡货,请检查!"); + } } - if(request.getPickNum().compareTo(BigDecimal.ZERO) <= 0) { - return error("捡货数量必须大于0"); - } - // 检查这个taskId是否存在 - AppTask selectTask = appTaskService.selectAppTaskByTaskId(request.getTaskId()); - if (selectTask == null) { - return error("数据服务异常,请重试"); - } - if (selectTask.getTaskType() != 2) { - return error("该任务不是拣货任务,请检查!"); - } - if (selectTask.getTaskStatus() != 4) { - return error("该任务状态不是待捡货,请检查!"); - } - // 更新捡货任务数量 - AppTask updatePickNum = new AppTask(); - updatePickNum.setTaskId(request.getTaskId()); - updatePickNum.setOpNum(request.getPickNum()); - updatePickNum.setTaskStatus(5); - updatePickNum.setOpUser(request.getPicker()); - int updateAppTask = appTaskService.updateAppTask(updatePickNum); - if (updateAppTask == 0) { - return error("数据服务异常,请重试"); + for(PickCompleteReq request : requests) { + // 更新捡货任务数量 + AppTask updatePickNum = new AppTask(); + updatePickNum.setTaskId(request.getTaskId()); + updatePickNum.setOpNum(request.getPickNum()); + updatePickNum.setTaskStatus(5); + updatePickNum.setOpUser(request.getPicker()); + int updateAppTask = appTaskService.updateAppTask(updatePickNum); + if (updateAppTask == 0) { + return error("数据服务异常,请重试"); + } } return success("捡货成功"); - - } } 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 46196db5..bbf09c7c 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 @@ -72,27 +72,27 @@ public class TaskExecutor { if (!preTaskList.isEmpty()) { continue; } - // 判断这个箱子的任务是否已经下发过 - if (wcsTaskMap.containsKey(appTask.getVehicleId())) { - appTask.setWcsTaskId(wcsTaskMap.get(appTask.getVehicleId()).getWcsTaskId()); - appTask.setTaskStatus(1); - continue; - } - // 添加一个新wcs任务 - AppWcsTask newWcsTask = new AppWcsTask(); - newWcsTask.setWcsTaskId("WCS_" + IdUtils.fastUUID()); - newWcsTask.setWcsTaskType(taskTypeMap.get(appTask.getTaskType())); - newWcsTask.setWcsTaskStatus(0); - newWcsTask.setTaskPriority(appTask.getTaskPriority()); - newWcsTask.setVehicleId(appTask.getVehicleId()); - newWcsTask.setOrigin(appTask.getOrigin()); - newWcsTask.setDestination(appTask.getDestination()); - newWcsTask.setCreateTime(new Date()); - wcsTaskMap.put(appTask.getVehicleId(), newWcsTask); - // 更新wms任务信息 - appTask.setWcsTaskId(newWcsTask.getWcsTaskId()); - appTask.setTaskStatus(1); } + // 判断这个箱子的任务是否已经下发过 + if (wcsTaskMap.containsKey(appTask.getVehicleId())) { + appTask.setWcsTaskId(wcsTaskMap.get(appTask.getVehicleId()).getWcsTaskId()); + appTask.setTaskStatus(1); + continue; + } + // 添加一个新wcs任务 + AppWcsTask newWcsTask = new AppWcsTask(); + newWcsTask.setWcsTaskId("WCS_" + IdUtils.fastUUID()); + newWcsTask.setWcsTaskType(taskTypeMap.get(appTask.getTaskType())); + newWcsTask.setWcsTaskStatus(0); + newWcsTask.setTaskPriority(appTask.getTaskPriority()); + newWcsTask.setVehicleId(appTask.getVehicleId()); + newWcsTask.setOrigin(appTask.getOrigin()); + newWcsTask.setDestination(appTask.getDestination()); + newWcsTask.setCreateTime(new Date()); + wcsTaskMap.put(appTask.getVehicleId(), newWcsTask); + // 更新wms任务信息 + appTask.setWcsTaskId(newWcsTask.getWcsTaskId()); + appTask.setTaskStatus(1); } if(!wcsTaskMap.isEmpty()) { // 更新wms任务 @@ -301,6 +301,8 @@ public class TaskExecutor { AppTaskBak appTaskBak = new AppTaskBak(); BeanUtils.copyProperties(task, appTaskBak); logger.info("出库任务数据归档成功。{}", JSON.toJSONString(appTaskBak)); + appTaskBakService.insertAppTaskBak(appTaskBak);// 数据归档 + appTaskService.deleteAppTaskByTaskId(task.getTaskId()); // 删除旧数据 } // 调用 pms 接口 PmsOutFeedBack pmsOutFeedBack = new PmsOutFeedBack(); @@ -310,7 +312,7 @@ public class TaskExecutor { recordList.setMaterialsNo(task.getGoodsId()); String url = sysConfigService.selectConfigByKey("pms.outComplete"); if (StringUtils.isEmpty(url)) { - return; + continue; } PmsCommonRes pmsCommonRes = JSON.parseObject(HttpUtils.sendPost(url, JSON.toJSONString(recordList)), PmsCommonRes.class); logger.info("pms出库反馈请求信息:{},结果:{}", JSON.toJSONString(recordList), JSON.toJSONString(pmsCommonRes)); diff --git a/ruoyi-system/src/main/resources/mapper/app/AppWcsTaskMapper.xml b/ruoyi-system/src/main/resources/mapper/app/AppWcsTaskMapper.xml index e8d443bc..0b0e21b6 100644 --- a/ruoyi-system/src/main/resources/mapper/app/AppWcsTaskMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/app/AppWcsTaskMapper.xml @@ -72,10 +72,10 @@ - insert into app_task + insert into app_wcs_task ( - + wcs_task_id, wcs_task_status, wcs_task_type, @@ -91,7 +91,7 @@ ) values ( - + #{appWcsTask.wcsTaskId}, #{appWcsTask.wcsTaskStatus}, #{appWcsTask.wcsTaskType}, @@ -136,4 +136,4 @@ #{wcsTaskId} - \ No newline at end of file +