From 0818db76b29e85dbf5ce9e4323d6d5ac572f6306 Mon Sep 17 00:00:00 2001 From: Your Name Date: Fri, 16 Jan 2026 15:35:53 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E9=9C=80=E6=B1=82?= =?UTF-8?q?=E9=83=A8=E9=97=A8=E8=BF=9B=E8=A1=8C=E4=B8=AD=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E7=BB=9F=E8=AE=A1=E4=B8=8E=E5=88=97=E8=A1=A8=E6=98=BE=E7=A4=BA?= =?UTF-8?q?=E4=B8=8D=E4=B8=80=E8=87=B4=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 需求部门视角的'进行中任务'统计现在包含所有处理中的任务(pending、in_progress、review等), 排除 draft、completed、cancelled 状态,与前端列表显示逻辑保持一致 --- .../com/designhub/service/TaskService.java | 30 ++++++++++++------- 1 file changed, 19 insertions(+), 11 deletions(-) diff --git a/backend/src/main/java/com/designhub/service/TaskService.java b/backend/src/main/java/com/designhub/service/TaskService.java index 3224d66..4367056 100644 --- a/backend/src/main/java/com/designhub/service/TaskService.java +++ b/backend/src/main/java/com/designhub/service/TaskService.java @@ -2499,34 +2499,42 @@ public class TaskService { LocalDateTime lastWeekStartTime = LocalDateTime.of(lastWeekStart, LocalTime.MIN); LocalDateTime lastWeekEndTime = LocalDateTime.of(lastWeekEnd, LocalTime.MAX); - // 进行中的任务数 + // 进行中的任务数(处理中的任务,包括 pending、in_progress、review 等,排除 draft、completed、cancelled) + // 🔥 需求部门统计:所有非草稿、非已完成的任务都算"处理中" Long inProgressCount = 0L; + List excludeStatuses = java.util.Arrays.asList("draft", "completed", "cancelled"); + if (isDeptView && "receiving".equals(deptType)) { // 接单部门视角:统计该部门(含子部门)设计师接单的任务 inProgressCount = taskMapper.selectCount(new LambdaQueryWrapper() .eq(Task::getStatus, "in_progress") - .in(Task::getReceiverDeptId, deptAndChildIds)); + .in(Task::getReceiverDeptId, deptAndChildIds) + .eq(Task::getDeleted, 0)); } else if (isDeptView && "demand".equals(deptType)) { - // 需求部门视角:统计该部门发起的任务 + // 需求部门视角:统计该部门发起的所有处理中任务(与前端列表显示一致) inProgressCount = taskMapper.selectCount(new LambdaQueryWrapper() - .eq(Task::getStatus, "in_progress") - .in(Task::getPublisherDeptId, deptAndChildIds)); + .notIn(Task::getStatus, excludeStatuses) + .in(Task::getPublisherDeptId, deptAndChildIds) + .eq(Task::getDeleted, 0)); } else if (!isAdmin) { // 普通用户:根据部门类型决定统计方式 if ("demand".equals(userDeptType)) { - // 需求部门用户:统计自己发起的任务 + // 需求部门用户:统计自己发起的所有处理中任务 inProgressCount = taskMapper.selectCount(new LambdaQueryWrapper() - .eq(Task::getStatus, "in_progress") - .eq(Task::getPublisherId, userId)); + .notIn(Task::getStatus, excludeStatuses) + .eq(Task::getPublisherId, userId) + .eq(Task::getDeleted, 0)); } else { - // 接单部门用户:统计自己接收的任务 + // 接单部门用户:统计自己接收的进行中任务 inProgressCount = taskMapper.selectCount(new LambdaQueryWrapper() .eq(Task::getStatus, "in_progress") - .eq(Task::getReceiverId, userId)); + .eq(Task::getReceiverId, userId) + .eq(Task::getDeleted, 0)); } } else { inProgressCount = taskMapper.selectCount(new LambdaQueryWrapper() - .eq(Task::getStatus, "in_progress")); + .eq(Task::getStatus, "in_progress") + .eq(Task::getDeleted, 0)); } // 已完成的任务数