From b7708454cd284e64159eea04eb32b818f5d1a930 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期五, 30 五月 2025 09:37:55 +0800
Subject: [PATCH] 完成任务,判断浅库位是否完成,降低任务优先级
---
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java | 61 ++++++++++++++++++++++++++----
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/TaskService.java | 2 +
rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/TaskController.java | 26 ++-----------
3 files changed, 59 insertions(+), 30 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 3ac0737..24658cf 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
@@ -53,7 +53,6 @@
BaseParam baseParam = buildParam(map, BaseParam.class);
PageParam<Task, BaseParam> pageParam = new PageParam<>(baseParam, Task.class);
QueryWrapper<Task> queryWrapper = pageParam.buildWrapper(true);
- queryWrapper.orderByDesc("sort");
return R.ok().add(taskService.page(pageParam, queryWrapper));
}
@@ -136,31 +135,14 @@
@PreAuthorize("hasAuthority('manager:task:update')")
@ApiOperation("瀹屾垚浠诲姟")
@PostMapping("/task/complete/{id}")
- public R completeTask(@PathVariable String id) throws Exception {
- if (Objects.isNull(id)) {
+ public R completeTask(@PathVariable Long id) throws Exception {
+ if (Cools.isEmpty(id)) {
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));
- for (Task task : tasks) {
-// if (StringUtils.isNotBlank(task.getParentId() + "")) {
-// Task task1 = taskService.getById(task.getParentId());
-// if (!Objects.isNull(task1) && task1.getTaskType().equals(TaskStsType.UPDATED_IN.id)) {
-// 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("瀹屾垚浠诲姟澶辫触");
- }
-
- return R.ok("瀹屾垚浠诲姟鎴愬姛");
+ return R.ok("瀹屾垚浠诲姟鎴愬姛").add(taskService.operateComplete(id));
}
+
/**
* 鎷f枡鍑哄簱锛堢敤浜庢祴璇曟嫞鏂欏嚭搴擄級
* @return
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/TaskService.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/TaskService.java
index 49d69a4..a39de4e 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/TaskService.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/TaskService.java
@@ -26,4 +26,6 @@
void complateInTask(List<Task> tasks) throws Exception;
Task taskToTop(Long id) throws Exception;
+
+ Task operateComplete(Long id);
}
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java
index 9dca556..3f31a35 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java
@@ -424,9 +424,57 @@
if (Objects.isNull(tasks)) {
throw new CoolException("浠诲姟宸插鎵ц鐘舵�佷笉鍙竴閿疆椤讹紒锛�");
}
+ //鍒ゆ柇瀛愪换鍔★紝淇敼浠诲姟浼樺厛绾�
+ modiftyTaskSort(tasks);
- if (!LocUtils.isShallowLoc(tasks.getOrgLoc())) {
- String shallowLoc = LocUtils.getShallowLoc(tasks.getOrgLoc());
+ if (!taskService.updateById(tasks)) {
+ throw new CoolException("缃《澶辫触锛侊紒");
+ }
+ return null;
+ }
+
+ /**
+ * 鎵嬪姩瀹屾垚浠诲姟
+ * @param id
+ * @return
+ */
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public Task operateComplete(Long id) {
+ List<Integer> longs = Arrays.asList(TaskStsType.GENERATE_IN.id, TaskStsType.GENERATE_OUT.id);
+ Task task = taskService.getOne(new LambdaQueryWrapper<Task>()
+ .eq(Task::getId, id)
+ .in(Task::getTaskStatus, longs));
+
+ if (Objects.isNull(task)) {
+ throw new CoolException("褰撳墠浠诲姟姝e湪鎵ц涓紝涓嶅彲鍙栨秷锛侊紒");
+ }
+
+ modiftyTaskSort(task);
+
+ task.setTaskStatus(task.getTaskType() < 100 ? TaskStsType.COMPLETE_IN.id : TaskStsType.COMPLETE_OUT.id);
+ if (!this.updateById(task)) {
+ throw new CoolException("瀹屾垚浠诲姟澶辫触");
+ }
+ return task;
+ }
+
+ /**
+ * 淇敼浠诲姟浼樺厛绾�
+ * @param task
+ */
+ private Task modiftyTaskSort(Task task) {
+ String curLoc;
+ if (task.getTaskType().equals(TaskType.TASK_TYPE_IN.type)) {
+ curLoc = task.getTargLoc();
+ } else {
+ curLoc = task.getOrgLoc();
+ }
+ if (!LocUtils.isShallowLoc(curLoc)) {
+ String shallowLoc = LocUtils.getShallowLoc(curLoc);
+ if (StringUtils.isNotBlank(shallowLoc)) {
+ throw new CoolException("鏁版嵁寮傚父锛岃鑱旂郴绠$悊鍛橈紒");
+ }
Loc loc = locService.getOne(new LambdaQueryWrapper<Loc>().eq(Loc::getCode, shallowLoc));
if (Objects.isNull(loc)) {
throw new CoolException("鏁版嵁閿欒锛屽簱浣嶄笉瀛樺湪锛侊紒");
@@ -437,18 +485,15 @@
.or()
.eq(Task::getTargLoc, loc.getCode()));
if (Objects.isNull(serviceOne)) {
- tasks.setSort(999);
+ task.setSort(999);
} else {
int i = serviceOne.getSort() - 1;
- tasks.setSort(i);
+ task.setSort(i);
}
}
}
- if (!taskService.updateById(tasks)) {
- throw new CoolException("缃《澶辫触锛侊紒");
- }
- return null;
+ return task;
}
@Transactional(rollbackFor = Exception.class)
--
Gitblit v1.9.1