From 7d27cdccf8b92f32e80499f1f06c4b8ab93936c1 Mon Sep 17 00:00:00 2001 From: skyouc Date: 星期一, 26 五月 2025 19:25:34 +0800 Subject: [PATCH] 修改空板移库,任务完成后无法加入历史档问题 --- rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/TaskController.java | 40 +++++++++++++++++++++++++++++++++++----- 1 files changed, 35 insertions(+), 5 deletions(-) diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/TaskController.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/TaskController.java index 7e7ae8a..9c94eb3 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/TaskController.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/TaskController.java @@ -6,6 +6,7 @@ import com.vincent.rsf.framework.common.Cools; import com.vincent.rsf.framework.common.R; import com.vincent.rsf.framework.exception.CoolException; +import com.vincent.rsf.server.common.constant.Constants; import com.vincent.rsf.server.manager.entity.*; import com.vincent.rsf.server.manager.enums.*; import com.vincent.rsf.server.common.utils.ExcelUtil; @@ -17,6 +18,7 @@ import com.vincent.rsf.server.system.controller.BaseController; import com.vincent.rsf.server.system.service.impl.ConfigServiceImpl; import io.swagger.annotations.ApiOperation; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.transaction.annotation.Transactional; @@ -100,7 +102,7 @@ if (Objects.isNull(ids) || ids.length < 1) { return R.error("鍙傛暟涓嶈兘涓虹┖锛侊紒"); } - return taskService.removeTask(ids); + return taskService.removeTask(ids); // return R.ok("Delete Success").add(ids); } @@ -132,11 +134,20 @@ throw new CoolException("鍙傛暟涓嶈兘涓虹┖锛侊紒"); } List<Integer> longs = Arrays.asList(TaskStsType.GENERATE_IN.id, TaskStsType.GENERATE_OUT.id); - List<Task> tasks = taskService.list(new LambdaQueryWrapper<Task>().eq(Task::getId, id).in(Task::getTaskStatus, longs)); + List<Task> tasks = taskService.list(new LambdaQueryWrapper<Task>() + .eq(Task::getId, id) + .in(Task::getTaskStatus, longs)); for (Task task : tasks) { - task.setTaskStatus(task.getTaskType() < (short) 100 ? TaskStsType.COMPLETE_IN.id : TaskStsType.COMPLETE_OUT.id); + if (StringUtils.isNotBlank(task.getParentId() + "")) { + Task task1 = taskService.getById(task.getParentId()); + if (!Objects.isNull(task1)) { + throw new CoolException("鐖朵换鍔★細" + task1.getTaskCode() + "鏈墽琛屽畬鎴愶紒"); + } + } + task.setTaskStatus(task.getTaskType() < 100 ? TaskStsType.COMPLETE_IN.id : TaskStsType.COMPLETE_OUT.id); } + if (!taskService.updateBatchById(tasks)) { return R.error("瀹屾垚浠诲姟澶辫触"); } @@ -145,7 +156,7 @@ } /** - * 鎷f枡鍑哄簱 + * 鎷f枡鍑哄簱锛堢敤浜庢祴璇曟嫞鏂欏嚭搴擄級 * @return */ @PreAuthorize("hasAuthority('manager:task:update')") @@ -156,7 +167,26 @@ throw new CoolException("鑳芥暟涓嶈兘涓虹┖锛侊紒"); } try { - return R.ok(taskService.pickTask(id)); + return R.ok("鍑哄簱瀹屾垚").add(taskService.pickOrCheckTask(id, Constants.TASK_TYPE_OUT_PICK)); + } catch (Exception e) { + throw new CoolException(e.getMessage()); + } + } + + /** + * 鐩樼偣鍑哄簱锛堢敤浜庢祴璇曠洏鐐瑰嚭搴擄級 + * + * @return + */ + @PreAuthorize("hasAuthority('manager:task:update')") + @ApiOperation("鐩樼偣鍑哄簱") + @PostMapping("/task/check/{id}") + public R checkTask(@PathVariable Long id) { + if (Objects.isNull(id)) { + throw new CoolException("鑳芥暟涓嶈兘涓虹┖锛侊紒"); + } + try { + return R.ok(taskService.pickOrCheckTask(id, Constants.TASK_TYPE_OUT_CHECK)); } catch (Exception e) { throw new CoolException(e.getMessage()); } -- Gitblit v1.9.1