| 
						
						
							
								
							
						
						
					 | 
					@ -270,9 +270,11 @@ public class ProjectSatisfactionDetailServiceImpl extends BaseServiceImpl<Projec | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        // 查询已存在的项目记录
 | 
					 | 
					 | 
					        // 查询已存在的项目记录
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        List<String> existsProjects = statisticsDao.selectExistsProject(); | 
					 | 
					 | 
					        List<String> existsProjects = statisticsDao.selectExistsProject(); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        List<ComplementedProjectEvaluateResultDTO> projects = new ArrayList<>(); | 
					 | 
					 | 
					        List<ComplementedProjectEvaluateResultDTO> projects = new ArrayList<>(); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					        // 要是 评价统计库没有记录,所有的项目都得插入
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        if (CollectionUtils.isEmpty(existsProjects)){ | 
					 | 
					 | 
					        if (CollectionUtils.isEmpty(existsProjects)){ | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					            projects = allProjects; | 
					 | 
					 | 
					            projects = allProjects; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        }else { | 
					 | 
					 | 
					        }else { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					            // 把 评价统计库存在的 标记为true,
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					            allProjects.forEach(a -> { | 
					 | 
					 | 
					            allProjects.forEach(a -> { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					                existsProjects.forEach(p -> { | 
					 | 
					 | 
					                existsProjects.forEach(p -> { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					                    if (a.getProjectId().equals(p)){ | 
					 | 
					 | 
					                    if (a.getProjectId().equals(p)){ | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					@ -287,12 +289,15 @@ public class ProjectSatisfactionDetailServiceImpl extends BaseServiceImpl<Projec | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        List<ProjectSatisfactionStatisticsEntity> needAdd = new ArrayList<>(); | 
					 | 
					 | 
					        List<ProjectSatisfactionStatisticsEntity> needAdd = new ArrayList<>(); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        if (!CollectionUtils.isEmpty(projects)){ | 
					 | 
					 | 
					        if (!CollectionUtils.isEmpty(projects)){ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					            List<String> projectIds = projects.stream().map(m -> m.getIssueId()).collect(Collectors.toList()); | 
					 | 
					 | 
					            List<String> projectIds = projects.stream().map(m -> m.getProjectId()).collect(Collectors.toList()); | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					            List<String> issueIds = projects.stream().map(m -> m.getIssueId()).collect(Collectors.toList()); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					            // 根据项目ID查询 项目的评价细节
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					            List<ProjectEvaluateDetailResultDTO> projectEvaluateDetailResult = baseDao.selectProjectEvaluateDetail(projectIds); | 
					 | 
					 | 
					            List<ProjectEvaluateDetailResultDTO> projectEvaluateDetailResult = baseDao.selectProjectEvaluateDetail(projectIds); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					            // 根据项目ID分组
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					            Map<String, List<ProjectEvaluateDetailResultDTO>> groupByProject = projectEvaluateDetailResult.stream().collect(Collectors.groupingBy(ProjectEvaluateDetailResultDTO::getProjectId)); | 
					 | 
					 | 
					            Map<String, List<ProjectEvaluateDetailResultDTO>> groupByProject = projectEvaluateDetailResult.stream().collect(Collectors.groupingBy(ProjectEvaluateDetailResultDTO::getProjectId)); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					            boolean empty = groupByProject.isEmpty(); | 
					 | 
					 | 
					            boolean empty = groupByProject.isEmpty(); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					            // 项目应评价人数 = 话题创建者 + 议题发起者 + 议题表决人 【去重】
 | 
					 | 
					 | 
					            // 项目应评价人数 = 话题创建者 + 议题发起者 + 议题表决人 【去重】
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					            Result<List<CanEvaluateProjectCountBatchResultDTO>> canEvaluateProjectCountBatch = govIssueOpenFeignClient.canEvaluateProjectCountBatch(projectIds); | 
					 | 
					 | 
					            Result<List<CanEvaluateProjectCountBatchResultDTO>> canEvaluateProjectCountBatch = govIssueOpenFeignClient.canEvaluateProjectCountBatch(issueIds); | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					 | 
					 | 
					            if (!canEvaluateProjectCountBatch.success()){ | 
					 | 
					 | 
					            if (!canEvaluateProjectCountBatch.success()){ | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					                throw new RenException("【查询项目应评价人数失败】,【"+canEvaluateProjectCountBatch.getMsg()+"】"); | 
					 | 
					 | 
					                throw new RenException("【查询项目应评价人数失败】,【"+canEvaluateProjectCountBatch.getMsg()+"】"); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					            } | 
					 | 
					 | 
					            } | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					@ -304,9 +309,9 @@ public class ProjectSatisfactionDetailServiceImpl extends BaseServiceImpl<Projec | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					                    groupByProject.forEach((projectId,list) -> { | 
					 | 
					 | 
					                    groupByProject.forEach((projectId,list) -> { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					                        if (p.getProjectId().equals(projectId)){ | 
					 | 
					 | 
					                        if (p.getProjectId().equals(projectId)){ | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					                            Map<String, List<ProjectEvaluateDetailResultDTO>> groupByS = list.stream().collect(Collectors.groupingBy(ProjectEvaluateDetailResultDTO::getSatisfaction)); | 
					 | 
					 | 
					                            Map<String, List<ProjectEvaluateDetailResultDTO>> groupByS = list.stream().collect(Collectors.groupingBy(ProjectEvaluateDetailResultDTO::getSatisfaction)); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					                            e.setBadCount(groupByS.get(ProjectConstant.EVALUATE_BAD).size()); | 
					 | 
					 | 
					                            e.setBadCount(CollectionUtils.isEmpty(groupByS.get(ProjectConstant.EVALUATE_BAD)) ? NumConstant.ZERO : groupByS.get(ProjectConstant.EVALUATE_BAD).size()); | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					                            e.setGoodCount(groupByS.get(ProjectConstant.EVALUATE_GOOD).size()); | 
					 | 
					 | 
					                            e.setGoodCount(CollectionUtils.isEmpty(groupByS.get(ProjectConstant.EVALUATE_GOOD)) ? NumConstant.ZERO : groupByS.get(ProjectConstant.EVALUATE_GOOD).size()); | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					                            e.setPerfectCount(groupByS.get(ProjectConstant.EVALUATE_PERFECT).size()); | 
					 | 
					 | 
					                            e.setPerfectCount(CollectionUtils.isEmpty(groupByS.get(ProjectConstant.EVALUATE_PERFECT)) ? NumConstant.ZERO : groupByS.get(ProjectConstant.EVALUATE_PERFECT).size()); | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					 | 
					 | 
					                        } | 
					 | 
					 | 
					                        } | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					                    }); | 
					 | 
					 | 
					                    }); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					                } | 
					 | 
					 | 
					                } | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
					
  |