个人首页
This commit is contained in:
@ -1513,60 +1513,61 @@ public class BusProjectServiceImpl extends ServiceImpl<BusProjectMapper, BusProj
|
||||
}
|
||||
// 封装数据
|
||||
return projectList.stream().map(project -> {
|
||||
MyProjectInfoVo vo = new MyProjectInfoVo();
|
||||
Long id = project.getId();
|
||||
vo.setProjectId(id);
|
||||
vo.setPrincipal(project.getPrincipal());
|
||||
vo.setProjectName(project.getProjectName());
|
||||
vo.setProjectGeneralize(project.getProjectGeneralize());
|
||||
// 获取进度计划
|
||||
BigDecimal progress = totalProgressMap.getOrDefault(id, BigDecimal.ZERO);
|
||||
vo.setProgress(progress);
|
||||
// 获取里程碑
|
||||
List<PgsConstructionSchedulePlan> planList = planMap.getOrDefault(id, Collections.emptyList());
|
||||
if (CollUtil.isNotEmpty(planList)) {
|
||||
List<MilestoneVo> milestoneVoList = new ArrayList<>(planList.stream().map(plan -> {
|
||||
MilestoneVo milestoneVo = new MilestoneVo();
|
||||
BeanUtils.copyProperties(plan, milestoneVo);
|
||||
// 统计最早的开始时间
|
||||
LocalDate planStartDate = plan.getPlanStartDate();
|
||||
LocalDate startTime = vo.getStartTime();
|
||||
if (startTime == null) {
|
||||
vo.setStartTime(planStartDate);
|
||||
} else {
|
||||
if (planStartDate.isBefore(startTime)) {
|
||||
MyProjectInfoVo vo = new MyProjectInfoVo();
|
||||
Long id = project.getId();
|
||||
vo.setProjectId(id);
|
||||
vo.setPrincipal(project.getPrincipal());
|
||||
vo.setProjectName(project.getProjectName());
|
||||
vo.setProjectGeneralize(project.getProjectGeneralize());
|
||||
// 获取进度计划
|
||||
BigDecimal progress = totalProgressMap.getOrDefault(id, BigDecimal.ZERO);
|
||||
vo.setProgress(progress);
|
||||
// 获取里程碑
|
||||
List<PgsConstructionSchedulePlan> planList = planMap.getOrDefault(id, Collections.emptyList());
|
||||
if (CollUtil.isNotEmpty(planList)) {
|
||||
List<MilestoneVo> milestoneVoList = new ArrayList<>(planList.stream().map(plan -> {
|
||||
MilestoneVo milestoneVo = new MilestoneVo();
|
||||
BeanUtils.copyProperties(plan, milestoneVo);
|
||||
// 统计最早的开始时间
|
||||
LocalDate planStartDate = plan.getPlanStartDate();
|
||||
LocalDate startTime = vo.getStartTime();
|
||||
if (startTime == null) {
|
||||
vo.setStartTime(planStartDate);
|
||||
} else {
|
||||
if (planStartDate.isBefore(startTime)) {
|
||||
vo.setStartTime(planStartDate);
|
||||
}
|
||||
}
|
||||
}
|
||||
// 统计最晚的结束时间
|
||||
LocalDate planEndDate = plan.getPlanEndDate();
|
||||
LocalDate endTime = vo.getEndTime();
|
||||
if (endTime == null) {
|
||||
vo.setEndTime(planEndDate);
|
||||
} else {
|
||||
if (planEndDate.isAfter(endTime)) {
|
||||
// 统计最晚的结束时间
|
||||
LocalDate planEndDate = plan.getPlanEndDate();
|
||||
LocalDate endTime = vo.getEndTime();
|
||||
if (endTime == null) {
|
||||
vo.setEndTime(planEndDate);
|
||||
} else {
|
||||
if (planEndDate.isAfter(endTime)) {
|
||||
vo.setEndTime(planEndDate);
|
||||
}
|
||||
}
|
||||
return milestoneVo;
|
||||
}).toList());
|
||||
milestoneVoList.sort(Comparator.comparing(MilestoneVo::getPlanStartDate));
|
||||
vo.setMilestones(milestoneVoList);
|
||||
// 计算当前进度的节点
|
||||
int size = milestoneVoList.size();
|
||||
double percentage = progress.doubleValue(); // 转成普通数
|
||||
percentage = Math.max(0, Math.min(percentage, 100));
|
||||
int index = (int) Math.floor((percentage / 100.0) * size);
|
||||
if (index >= size) {
|
||||
index = size - 1;
|
||||
}
|
||||
return milestoneVo;
|
||||
}).toList());
|
||||
milestoneVoList.sort(Comparator.comparing(MilestoneVo::getPlanStartDate));
|
||||
vo.setMilestones(milestoneVoList);
|
||||
// 计算当前进度的节点
|
||||
int size = milestoneVoList.size();
|
||||
double percentage = progress.doubleValue(); // 转成普通数
|
||||
percentage = Math.max(0, Math.min(percentage, 100));
|
||||
int index = (int) Math.floor((percentage / 100.0) * size);
|
||||
if (index >= size) {
|
||||
index = size - 1;
|
||||
// 给对应对象设置标识
|
||||
milestoneVoList.get(index).setActive(1);
|
||||
} else {
|
||||
vo.setMilestones(Collections.emptyList());
|
||||
}
|
||||
// 给对应对象设置标识
|
||||
milestoneVoList.get(index).setActive(1);
|
||||
} else {
|
||||
vo.setMilestones(Collections.emptyList());
|
||||
}
|
||||
return vo;
|
||||
}).toList();
|
||||
return vo;
|
||||
}).filter(v -> CollUtil.isNotEmpty(v.getMilestones()))
|
||||
.toList();
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -1681,5 +1682,4 @@ public class BusProjectServiceImpl extends ServiceImpl<BusProjectMapper, BusProj
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user