| | |
| | | @Override |
| | | public IPage<SgProjectInfoDO> queryPageList(IPage<SgProjectInfoDO> page, ProjectSearchDTO searchDTO) { |
| | | List<SgProjectInfoDO> sgProjectInfoDOS = baseMapper.queryPageList(page,searchDTO); |
| | | List<SgProjectInfoDO> projectProgress = getProjectProgress(sgProjectInfoMapper.queryStepByProject(searchDTO)); |
| | | if (CollectionUtils.isNotEmpty(projectProgress)){ |
| | | Map<Long, String> progressMap = projectProgress.stream().filter(s->s.getProjectProgress()!=null).collect(Collectors.toMap(SgProjectInfoDO::getId, SgProjectInfoDO::getProjectProgress)); |
| | | sgProjectInfoDOS.forEach(s->{ |
| | | s.setProjectProgress(progressMap.get(s.getId())); |
| | | }); |
| | | } |
| | | return page.setRecords(sgProjectInfoDOS); |
| | | } |
| | | |
| | |
| | | Map<Long, SgProjectInfoDO> progressMap = projectProgress.stream().collect(Collectors.toMap(SgProjectInfoDO::getId, Function.identity())); |
| | | list.forEach(s->{ |
| | | SgProjectInfoDO sgProjectInfoDO = progressMap.get(s.getId()); |
| | | s.setProjectProgress(sgProjectInfoDO.getProjectProgress()); |
| | | s.setProgressName(sgProjectInfoDO.getProjectProgress()); |
| | | s.setProjectProgressNum(sgProjectInfoDO.getProjectProgressNum()); |
| | | }); |
| | | return list; |
| | |
| | | }); |
| | | return page.setRecords(list); |
| | | } |
| | | |
| | | @Override |
| | | public List<SgProjectInfoDO> listAll(ProjectSearchDTO searchDTO) { |
| | | return sgProjectInfoMapper.queryPageList(null,searchDTO); |
| | | } |
| | | |
| | | /** |
| | | * 获取百分比 |
| | | * @param bigDecimal |
| | |
| | | |
| | | List<SgProjectInfoVO> progressList = progressList(searchDTO); |
| | | BigDecimal reduce = progressList.stream().map(SgProjectInfoDO::getProjectProgressNum).reduce(BigDecimal.ZERO, BigDecimal::add); |
| | | BigDecimal divide = reduce.divide(BigDecimal.valueOf(progressList.size()), 2, RoundingMode.HALF_UP); |
| | | map.put("all", list.size()); |
| | | map.put("pending", pending.size()); |
| | | map.put("progress", progress.size()); |
| | | map.put("over", over.size()); |
| | | map.put("projectProgress", getBigDecimalPercent(reduce)); |
| | | map.put("projectProgress", getBigDecimalPercent(divide)); |
| | | return map; |
| | | } |
| | | |