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;
     }