From 71fc7c05b3c641bf898fd84975d6f036a05f829b Mon Sep 17 00:00:00 2001
From: zhaowenyu <35589726@qq.com>
Date: Thu, 04 Dec 2025 09:09:49 +0800
Subject: [PATCH] 2025-12-03 zwy 删除任务时判断循环任务task_type=3的,不判断设备是否在线情况直接删除
---
ard-sample/src/main/java/com/ard/sample/wayline/service/impl/WaylineJobServiceImpl.java | 17 ++++++++++++++---
1 files changed, 14 insertions(+), 3 deletions(-)
diff --git a/ard-sample/src/main/java/com/ard/sample/wayline/service/impl/WaylineJobServiceImpl.java b/ard-sample/src/main/java/com/ard/sample/wayline/service/impl/WaylineJobServiceImpl.java
index f833f57..930ca2e 100644
--- a/ard-sample/src/main/java/com/ard/sample/wayline/service/impl/WaylineJobServiceImpl.java
+++ b/ard-sample/src/main/java/com/ard/sample/wayline/service/impl/WaylineJobServiceImpl.java
@@ -502,7 +502,7 @@
//// + Arrays.toString(jobIds.toArray()));
// }
- // Group job id by dock sn.
+ // 按 dock sn 对作业 ID 进行分组。
Map<String, List<String>> dockJobs = waylineJobs.stream()
.collect(Collectors.groupingBy(WaylineJobDTO::getDockSn,
Collectors.mapping(WaylineJobDTO::getJobId, Collectors.toList())));
@@ -591,7 +591,17 @@
*/
@Override
public ResponseResult publishCancelTask(String dockSn, List<String> jobIds) {
-
+ for(String jobId : jobIds) {
+ Optional<WaylineJobDTO> waylineJobDTO = this.getJobByJobId(jobId);
+ if (waylineJobDTO.isEmpty()) {
+ return ResponseResult.error("任务不存在,jobId: " + jobId);
+ }
+ if (waylineJobDTO.get().getTaskType() == 3) {
+ // 已经执行完的子任务是否删除,或者清掉父任务ID,和正常任务一起显示在列表中。
+ this.deleteTask(jobId);
+ return ResponseResult.success();
+ }
+ }
boolean isOnline = deviceService.checkDeviceOnline(dockSn);
if (!isOnline) {
Integer errorCode = CommonErrorEnum.DEVICE_OFFLINE.getErrorCode();
@@ -644,7 +654,8 @@
public List<WaylineJobDTO> getJobsByConditions(Collection<String> jobIds, WaylineJobStatusEnum status) {
return mapper.selectList(
new LambdaQueryWrapper<WaylineJobEntity>()
- .eq(Objects.nonNull(status), WaylineJobEntity::getStatus, status.getVal())
+ // 不过滤状态,
+ //.eq(Objects.nonNull(status), WaylineJobEntity::getStatus, status.getVal())
.and(!CollectionUtils.isEmpty(jobIds),
wrapper -> jobIds.forEach(id -> wrapper.eq(WaylineJobEntity::getJobId, id).or())))
.stream()
--
Gitblit v1.9.3