fix(task): 修复任务流程查询中的重复数据问题

- 在 TaskFlowQueryExe 中添加按 step_id 去重逻辑
- 将 eqCurrentStep 字段更改为 eqStepId 以匹配业务逻辑
- 将 eqStatus 和 eqCurrentStep 的数据类型从 int 改为 Integer
- 使用 LinkedHashMap 确保去重后的数据顺序保持一致
master
fangjiakai 2026-03-14 09:41:29 +08:00
parent cfe6eacc50
commit 929cab9c05
2 changed files with 9 additions and 5 deletions

View File

@ -86,12 +86,16 @@ public class TaskFlowQueryExe {
List<Long> taskIds = taskDOs.stream().map(EightworkTaskDO::getId).collect(Collectors.toList()); List<Long> taskIds = taskDOs.stream().map(EightworkTaskDO::getId).collect(Collectors.toList());
List<TaskFlowDO> flows = taskFlowRepository.list(new QueryWrapper<TaskFlowDO>() List<TaskFlowDO> flows = taskFlowRepository.list(new QueryWrapper<TaskFlowDO>()
.select("DISTINCT step_id as step_id")
.select("step_name")
.select("group_name")
.in("task_id", taskIds) .in("task_id", taskIds)
.orderByAsc("step_order")); .orderByAsc("step_order"));
// 按 step_id 去重
Map<Long, TaskFlowDO> uniqueFlows = new LinkedHashMap<>();
for (TaskFlowDO flow : flows) {
uniqueFlows.putIfAbsent(flow.getStepId(), flow);
}
flows = new ArrayList<>(uniqueFlows.values());
// 转换为 CO // 转换为 CO
List<TaskFlowCO> flowCOs = taskFlowCoConvertor.converDOsToCOs(flows); List<TaskFlowCO> flowCOs = taskFlowCoConvertor.converDOsToCOs(flows);

View File

@ -25,7 +25,7 @@ public class TaskLogPageQry extends PageQuery {
* - `ne`: SQL!= * - `ne`: SQL!=
*/ */
private String eqWorkType; private String eqWorkType;
private int eqStatus; private Integer eqStatus;
private int eqCurrentStep; private Integer eqStepId;
} }