diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/task/taskHeader/service/impl/TaskHeaderServiceImpl.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/task/taskHeader/service/impl/TaskHeaderServiceImpl.java index 92989cf..013f8cc 100644 --- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/task/taskHeader/service/impl/TaskHeaderServiceImpl.java +++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/task/taskHeader/service/impl/TaskHeaderServiceImpl.java @@ -832,31 +832,21 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea if (taskHeader.getStatus().equals(QuantityConstant.TASK_STATUS_COMPLETED)) { return Result.ok("任务(" + taskId + ")任务已经是完成的!"); } - if (taskHeader.getStatus().intValue() > QuantityConstant.TASK_STATUS_BUILD) { - Result result = wcsService.cancelWcsTask(taskHeader); - if (!result.isSuccess()) { - return result; - } - } - int taskType = taskHeader.getTaskType().intValue(); - int preTaskNo = taskId; - String warehouseCode = taskHeader.getWarehouseCode(); - TaskHeader preTaskHeader = getUnCompleteTaskByPreTaskNo(preTaskNo, warehouseCode); + TaskHeader preTaskHeader = getUnCompleteTaskByPreTaskNo(taskId, taskHeader.getWarehouseCode()); if (preTaskHeader != null) { return Result.error("取消任务失败,有前置任务" + preTaskHeader.getId()); } - boolean success = taskHeaderService.removeById(taskId); - if (!success) { - return Result.error("取消任务失败, 删除任务失败"); + if (!taskHeaderService.removeById(taskId)) { + throw new JeecgBootException("取消任务失败, 删除任务失败"); } List<TaskDetail> taskDetailList = taskDetailService.getTaskDetailListByTaskId(taskId); if (taskDetailList.size() > 0) { List<Integer> taskDetailIdList = taskDetailList.stream().map(TaskDetail::getId).collect(Collectors.toList()); - success = taskDetailService.removeByIds(taskDetailIdList); - if (!success) { - return Result.error("取消任务失败, 删除任务详情失败"); + if (!taskDetailService.removeByIds(taskDetailIdList)) { + throw new JeecgBootException("取消任务失败, 删除任务详情失败"); } } + int taskType = taskHeader.getTaskType().intValue(); Result result = Result.ok("取消任务成功"); switch (taskType) { case QuantityConstant.TASK_TYPE_WHOLERECEIPT: @@ -869,6 +859,12 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea break; } taskHeaderService.cancelLocationAndContainerStatus(taskHeader); + if (taskHeader.getStatus().intValue() > QuantityConstant.TASK_STATUS_BUILD) { + result = wcsService.cancelWcsTask(taskHeader); + if (!result.isSuccess()) { + throw new JeecgBootException(result.getMessage()); + } + } log.info("完成取消任务" + taskHeader.getId()); return result; }