From 7332e48f0dc4990768438a19c0ef00ca0a6df532 Mon Sep 17 00:00:00 2001 From: Your Name Date: Thu, 29 Jan 2026 13:19:54 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E6=B5=81=E6=B0=B4?= =?UTF-8?q?=E7=BA=BF=E5=AD=90=E4=BB=BB=E5=8A=A1=E8=A7=A3=E9=94=81=E9=80=BB?= =?UTF-8?q?=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 问题:当子任务状态是pending但is_locked=1时,完成前置任务后不会解锁 原因:代码只检查status='locked',没有检查is_locked字段 修复:同时检查is_locked=1且未完成的子任务 --- .../designhub/service/TaskItemService.java | 5 +-- 更新通知-2026-01-29.md | 36 +++++++++++++++++++ 2 files changed, 39 insertions(+), 2 deletions(-) create mode 100644 更新通知-2026-01-29.md diff --git a/backend/src/main/java/com/designhub/service/TaskItemService.java b/backend/src/main/java/com/designhub/service/TaskItemService.java index 0412378..9e7a6b5 100644 --- a/backend/src/main/java/com/designhub/service/TaskItemService.java +++ b/backend/src/main/java/com/designhub/service/TaskItemService.java @@ -834,11 +834,12 @@ public class TaskItemService { String prevDownloadUrlStr = prevDownloadUrls.toString(); log.info("前置部门素材下载链接: {}", prevDownloadUrlStr); - // 找出下一个部门的所有子任务(状态为locked) + // 找出下一个部门的所有子任务(状态为locked或is_locked=1且未完成) int nextDeptIndex = currentDeptIndex + 1; List nextDeptItems = allItems.stream() .filter(i -> parseDeptIndexFromItemNo(i.getItemNo()) == nextDeptIndex) - .filter(i -> "locked".equals(i.getStatus())) + .filter(i -> "locked".equals(i.getStatus()) + || (i.getIsLocked() != null && i.getIsLocked() == 1 && !"completed".equals(i.getStatus()))) .collect(java.util.stream.Collectors.toList()); if (!nextDeptItems.isEmpty()) { diff --git a/更新通知-2026-01-29.md b/更新通知-2026-01-29.md new file mode 100644 index 0000000..0d25654 --- /dev/null +++ b/更新通知-2026-01-29.md @@ -0,0 +1,36 @@ +# 系统更新通知 - 2026年1月29日 + +## 任务排队解锁机制上线 + +为了解决发布时间较早的任务长期无人接单的问题,系统现已上线**任务排队解锁机制**。 + +### 功能说明 + +1. **排队机制** + - 系统按发布时间对待接任务进行排队管理 + - 每个接单部门每天解锁**最早发布的5个任务** + - 前一天任务不足5个时,自动从后续日期补充 + +2. **任务状态显示** + - **抢单**(绿色按钮):任务已解锁,可立即接单 + - **排队中(第X位)**(灰色按钮):任务正在排队,显示当前队列位置 + +3. **排序规则** + - 可抢单的任务默认排在最前面 + - 排队中的任务按队列位置排序 + +### 特殊说明 + +- **指定任务**不受排队机制影响,可直接接单 +- **流水线任务**的子任务自动解锁机制不受影响 +- 管理员可在**系统设置 > 任务排队配置**中调整每日解锁数量 + +### 使用建议 + +- 设计师优先处理可抢单状态的任务 +- 需求部门可通过任务卡片查看排队进度 +- 如有紧急任务,可联系管理员调整优先级 + +--- + +如有疑问,请联系系统管理员。