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