fix: 为没有deadline的进行中子任务动态计算deadline
在enrichTaskItemsWithSubTasks方法中,为没有deadline的进行中子任务 使用updateTime + estimatedHours动态计算deadline,确保展开的 子任务详情列表中能显示完成截止时间
This commit is contained in:
parent
f342961887
commit
6ff115296f
@ -22,6 +22,9 @@ import java.util.HashSet;
|
||||
import com.designhub.mapper.TaskMapper;
|
||||
import com.designhub.mapper.TaskItemMapper;
|
||||
import com.designhub.entity.Task;
|
||||
import com.designhub.util.WorkHoursCalculator;
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* 任务子项控制器(流水线任务)
|
||||
@ -39,6 +42,7 @@ public class TaskItemController {
|
||||
private final TaskMapper taskMapper;
|
||||
private final TaskItemMapper taskItemMapper;
|
||||
private final JwtUtil jwtUtil;
|
||||
private final WorkHoursCalculator workHoursCalculator;
|
||||
|
||||
/**
|
||||
* 获取可接单的子任务列表
|
||||
@ -192,6 +196,21 @@ public class TaskItemController {
|
||||
// 填充同一主任务的所有子任务列表
|
||||
List<TaskItem> subTasks = subTasksMap.get(taskId);
|
||||
if (subTasks != null && !subTasks.isEmpty()) {
|
||||
// 为没有deadline的进行中子任务动态计算deadline
|
||||
for (TaskItem subTask : subTasks) {
|
||||
if (subTask.getDeadline() == null
|
||||
&& "in_progress".equals(subTask.getStatus())
|
||||
&& subTask.getEstimatedHours() != null
|
||||
&& subTask.getEstimatedHours().compareTo(BigDecimal.ZERO) > 0
|
||||
&& subTask.getUpdateTime() != null) {
|
||||
// 使用updateTime作为接单时间(因为接单时会更新updateTime)
|
||||
LocalDateTime deadline = workHoursCalculator.calculateDeadline(
|
||||
subTask.getUpdateTime(),
|
||||
subTask.getEstimatedHours()
|
||||
);
|
||||
subTask.setDeadline(deadline);
|
||||
}
|
||||
}
|
||||
item.setSubTasks(subTasks);
|
||||
item.setSubTaskTotal(subTasks.size());
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user