fix:项目完成进度改成后端计算百分比

This commit is contained in:
2026-03-27 10:09:03 +08:00
parent 37d3e4e47c
commit ef1a2014d7
2 changed files with 15 additions and 0 deletions

View File

@@ -130,5 +130,9 @@ public class SpdmNodeVo extends BaseEntity {
* 已闭环任务数
*/
private Integer taskClosedLoopCount;
/**
* 完成进度 (已完成任务数+已闭环任务数)/ 任务总数
*/
private String progressNum;
}

View File

@@ -766,6 +766,17 @@ public class NodeServiceImpl extends ServiceImpl<SimulationNodeMapper, Simulatio
node.setTaskTotalCount(totalCountMap.getOrDefault(uuid, 0));
node.setTaskCompletedCount(completedCountMap.getOrDefault(uuid, 0));
node.setTaskClosedLoopCount(closedLoopCountMap.getOrDefault(uuid, 0));
// 计算进度百分比:(已闭环+已完成)/总数,小数进一位
int taskTotal = node.getTaskTotalCount() != null ? node.getTaskTotalCount() : 0;
int taskCompleted = node.getTaskCompletedCount() != null ? node.getTaskCompletedCount() : 0;
int taskClosedLoop = node.getTaskClosedLoopCount() != null ? node.getTaskClosedLoopCount() : 0;
if (taskTotal > 0) {
double progress = (double) (taskClosedLoop + taskCompleted) / taskTotal * 100;
int progressPercent = (int) Math.ceil(progress);
node.setProgressNum(progressPercent + "%");
} else {
node.setProgressNum("0%");
}
}
}