From 1263b4812d0cadd606c1ff481a715b8637028111 Mon Sep 17 00:00:00 2001 From: zt Date: Wed, 10 Dec 2025 18:58:29 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=AA=E4=BA=BA=E9=A6=96=E9=A1=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/BusProjectServiceImpl.java | 98 +++++++++---------- 1 file changed, 49 insertions(+), 49 deletions(-) diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/service/impl/BusProjectServiceImpl.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/service/impl/BusProjectServiceImpl.java index ed1342ca..244971ad 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/service/impl/BusProjectServiceImpl.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/service/impl/BusProjectServiceImpl.java @@ -1513,60 +1513,61 @@ public class BusProjectServiceImpl extends ServiceImpl { - 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 planList = planMap.getOrDefault(id, Collections.emptyList()); - if (CollUtil.isNotEmpty(planList)) { - List 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 planList = planMap.getOrDefault(id, Collections.emptyList()); + if (CollUtil.isNotEmpty(planList)) { + List 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