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 | 114 ++++++++++++++++++++++++++++++++++++++++----------------- 1 files changed, 80 insertions(+), 34 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 5ed649b..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,18 +6,19 @@ 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.api.entity.enums.TaskStsType; +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; import com.vincent.rsf.server.common.annotation.OperationLog; import com.vincent.rsf.server.common.domain.BaseParam; import com.vincent.rsf.server.common.domain.KeyValVo; import com.vincent.rsf.server.common.domain.PageParam; -import com.vincent.rsf.server.manager.entity.Task; -import com.vincent.rsf.server.manager.entity.TaskItem; -import com.vincent.rsf.server.manager.service.TaskItemService; -import com.vincent.rsf.server.manager.service.TaskService; +import com.vincent.rsf.server.manager.service.*; 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; @@ -31,9 +32,15 @@ @Autowired private TaskService taskService; - @Autowired private TaskItemService taskItemService; + @Autowired + private WaitPakinService waitPakinService; + @Autowired + private LocService locService; + @Autowired + private ConfigServiceImpl configService; + @PreAuthorize("hasAuthority('manager:task:list')") @PostMapping("/task/page") @@ -95,18 +102,8 @@ if (Objects.isNull(ids) || ids.length < 1) { return R.error("鍙傛暟涓嶈兘涓虹┖锛侊紒"); } - List<Long> longs = Arrays.asList(TaskStsType.GENERATE_IN.id, TaskStsType.GENERATE_OUT.id); - List<Task> tasks = taskService.list(new LambdaQueryWrapper<Task>().in(Task::getId, ids).in(Task::getTaskStatus, longs)); - if (tasks.isEmpty()) { - throw new CoolException("浠诲姟宸插鎵ц鐘舵�佷笉鍙彇娑堬紒锛�"); - } - if (!taskService.removeByIds(Arrays.asList(ids))) { - return R.error("Delete Fail"); - } - if (!taskItemService.remove(new LambdaQueryWrapper<TaskItem>().in(TaskItem::getTaskId, ids))) { - return R.error("Details delete Failed"); - } - return R.ok("Delete Success").add(ids); + return taskService.removeTask(ids); +// return R.ok("Delete Success").add(ids); } @PreAuthorize("hasAuthority('manager:task:list')") @@ -136,25 +133,74 @@ if (Objects.isNull(id)) { throw new CoolException("鍙傛暟涓嶈兘涓虹┖锛侊紒"); } - List<Long> 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)); -// if (tasks.isEmpty()) { -// throw new CoolException("浠诲姟宸插鎵ц鐘舵�佷笉鍙竴閿畬鎴愶紒锛�"); -// } - taskService.completeTask(tasks); - return R.ok(); - } + 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)); - @PreAuthorize("hasAuthority('manager:task:update')") - @ApiOperation("鍙栨秷浠诲姟") - @PostMapping("/task/cancel/{id}") - public R cancelTask(@PathVariable String id) { - if (Objects.isNull(id)) { - throw new CoolException("鍙傛暟涓嶈兘涓虹┖锛侊紒"); + for (Task task : tasks) { + 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); } - return R.ok(); + + if (!taskService.updateBatchById(tasks)) { + return R.error("瀹屾垚浠诲姟澶辫触"); + } + + return R.ok("瀹屾垚浠诲姟鎴愬姛"); } + /** + * 鎷f枡鍑哄簱锛堢敤浜庢祴璇曟嫞鏂欏嚭搴擄級 + * @return + */ + @PreAuthorize("hasAuthority('manager:task:update')") + @ApiOperation("鎷f枡鍑哄簱") + @PostMapping("/task/pick/{id}") + public R pickTask(@PathVariable Long id) { + if (Objects.isNull(id)) { + throw new CoolException("鑳芥暟涓嶈兘涓虹┖锛侊紒"); + } + try { + 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()); + } + } + +// @PreAuthorize("hasAuthority('manager:task:update')") +// @ApiOperation("鍙栨秷浠诲姟") +// @PostMapping("/task/cancel/{id}") +// public R cancelTask(@PathVariable String id) { +// if (Objects.isNull(id)) { +// throw new CoolException("鍙傛暟涓嶈兘涓虹┖锛侊紒"); +// } +// return R.ok(); +// } @PreAuthorize("hasAuthority('manager:task:update')") @ApiOperation("浠诲姟鍑哄簱缃《") @@ -163,7 +209,7 @@ if (Objects.isNull(id)) { throw new CoolException("鍙傛暟涓嶈兘涓虹┖锛侊紒"); } - List<Long> longs = Arrays.asList(TaskStsType.GENERATE_IN.id, TaskStsType.GENERATE_OUT.id); + 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)); if (tasks.isEmpty()) { throw new CoolException("浠诲姟宸插鎵ц鐘舵�佷笉鍙竴閿疆椤讹紒锛�"); -- Gitblit v1.9.1