fix: 顶部数据展板根据用户部门类型统计数据-需求部门用户统计发起的任务,接单部门用户统计接收的任务
This commit is contained in:
parent
c74274e8b4
commit
16f035dcee
@ -2391,8 +2391,18 @@ public class TaskService {
|
||||
log.info("部门负责人视角: deptId={}, deptType={}, childDeptCount={}", deptId, deptType, deptAndChildIds.size());
|
||||
}
|
||||
|
||||
log.info("获取工作台统计数据: userId={}, isAdmin={}, month={}, deptId={}, isDeptView={}, deptType={}, deptAndChildIds={}",
|
||||
userId, isAdmin, month, deptId, isDeptView, deptType, deptAndChildIds);
|
||||
// 获取用户自己的部门类型(用于普通用户统计)
|
||||
String userDeptType = null;
|
||||
User currentUser = userMapper.selectById(userId);
|
||||
if (currentUser != null && currentUser.getDeptId() != null) {
|
||||
Department userDept = departmentMapper.selectById(currentUser.getDeptId());
|
||||
if (userDept != null) {
|
||||
userDeptType = userDept.getDeptType();
|
||||
}
|
||||
}
|
||||
|
||||
log.info("获取工作台统计数据: userId={}, isAdmin={}, month={}, deptId={}, isDeptView={}, deptType={}, userDeptType={}, deptAndChildIds={}",
|
||||
userId, isAdmin, month, deptId, isDeptView, deptType, userDeptType, deptAndChildIds);
|
||||
|
||||
// 解析月份,如果不传则使用当前月份
|
||||
LocalDate targetMonth;
|
||||
@ -2441,9 +2451,18 @@ public class TaskService {
|
||||
.eq(Task::getStatus, "in_progress")
|
||||
.in(Task::getPublisherDeptId, deptAndChildIds));
|
||||
} else if (!isAdmin) {
|
||||
inProgressCount = taskMapper.selectCount(new LambdaQueryWrapper<Task>()
|
||||
.eq(Task::getStatus, "in_progress")
|
||||
.eq(Task::getReceiverId, userId));
|
||||
// 普通用户:根据部门类型决定统计方式
|
||||
if ("demand".equals(userDeptType)) {
|
||||
// 需求部门用户:统计自己发起的任务
|
||||
inProgressCount = taskMapper.selectCount(new LambdaQueryWrapper<Task>()
|
||||
.eq(Task::getStatus, "in_progress")
|
||||
.eq(Task::getPublisherId, userId));
|
||||
} else {
|
||||
// 接单部门用户:统计自己接收的任务
|
||||
inProgressCount = taskMapper.selectCount(new LambdaQueryWrapper<Task>()
|
||||
.eq(Task::getStatus, "in_progress")
|
||||
.eq(Task::getReceiverId, userId));
|
||||
}
|
||||
} else {
|
||||
inProgressCount = taskMapper.selectCount(new LambdaQueryWrapper<Task>()
|
||||
.eq(Task::getStatus, "in_progress"));
|
||||
@ -2460,9 +2479,18 @@ public class TaskService {
|
||||
.eq(Task::getStatus, "completed")
|
||||
.in(Task::getPublisherDeptId, deptAndChildIds));
|
||||
} else if (!isAdmin) {
|
||||
completedCount = taskMapper.selectCount(new LambdaQueryWrapper<Task>()
|
||||
.eq(Task::getStatus, "completed")
|
||||
.eq(Task::getReceiverId, userId));
|
||||
// 普通用户:根据部门类型决定统计方式
|
||||
if ("demand".equals(userDeptType)) {
|
||||
// 需求部门用户:统计自己发起的任务
|
||||
completedCount = taskMapper.selectCount(new LambdaQueryWrapper<Task>()
|
||||
.eq(Task::getStatus, "completed")
|
||||
.eq(Task::getPublisherId, userId));
|
||||
} else {
|
||||
// 接单部门用户:统计自己接收的任务
|
||||
completedCount = taskMapper.selectCount(new LambdaQueryWrapper<Task>()
|
||||
.eq(Task::getStatus, "completed")
|
||||
.eq(Task::getReceiverId, userId));
|
||||
}
|
||||
} else {
|
||||
completedCount = taskMapper.selectCount(new LambdaQueryWrapper<Task>()
|
||||
.eq(Task::getStatus, "completed"));
|
||||
@ -2479,9 +2507,18 @@ public class TaskService {
|
||||
.eq(Task::getStatus, "review")
|
||||
.in(Task::getPublisherDeptId, deptAndChildIds));
|
||||
} else if (!isAdmin) {
|
||||
reviewCount = taskMapper.selectCount(new LambdaQueryWrapper<Task>()
|
||||
.eq(Task::getStatus, "review")
|
||||
.eq(Task::getReceiverId, userId));
|
||||
// 普通用户:根据部门类型决定统计方式
|
||||
if ("demand".equals(userDeptType)) {
|
||||
// 需求部门用户:统计自己发起的任务
|
||||
reviewCount = taskMapper.selectCount(new LambdaQueryWrapper<Task>()
|
||||
.eq(Task::getStatus, "review")
|
||||
.eq(Task::getPublisherId, userId));
|
||||
} else {
|
||||
// 接单部门用户:统计自己接收的任务
|
||||
reviewCount = taskMapper.selectCount(new LambdaQueryWrapper<Task>()
|
||||
.eq(Task::getStatus, "review")
|
||||
.eq(Task::getReceiverId, userId));
|
||||
}
|
||||
} else {
|
||||
reviewCount = taskMapper.selectCount(new LambdaQueryWrapper<Task>()
|
||||
.eq(Task::getStatus, "review"));
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user