|  | @@ -318,16 +318,30 @@ public class CoreEduTrainingTaskServiceImpl extends ServiceImpl<CoreEduTrainingT
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          List<SysOrg> sysOrgList = RemoteCallHandlerExecutor.executeRemoteCall(() -> orgService.selectSysOrgByParentId(orgId, SecurityConstants.INNER), ErrorMsgConstants.QUERY_ORG_DATA_ERROR);
 | 
	
		
			
				|  |  |          if (ObjectUtil.isEmpty(sysOrgList)) {
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |              return new ArrayList<>();
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | +        List<CoreEduTrainingTaskReportVo> result = new ArrayList<>();
 | 
	
		
			
				|  |  |          List<CoreEduTrainingTaskReportVo> list = coreEduTrainingTaskMapper.selectReport(request);
 | 
	
		
			
				|  |  | -        list.forEach(item -> {
 | 
	
		
			
				|  |  | -            item.setFinishRate(calculatePercent(item.getShouldFinish(), item.getFinish()));
 | 
	
		
			
				|  |  | -        });
 | 
	
		
			
				|  |  | +        for (SysOrg org : sysOrgList) {
 | 
	
		
			
				|  |  | +            Optional<CoreEduTrainingTaskReportVo> optional = list.stream().filter(vo -> ObjectUtil.equal(vo.getOrgId(), org.getId())).findFirst();
 | 
	
		
			
				|  |  | +            CoreEduTrainingTaskReportVo reportVo;
 | 
	
		
			
				|  |  | +            if (!optional.isPresent()) {
 | 
	
		
			
				|  |  | +                reportVo = new CoreEduTrainingTaskReportVo();
 | 
	
		
			
				|  |  | +                reportVo.setPlanId(request.getPlanId());
 | 
	
		
			
				|  |  | +                reportVo.setOrgId(org.getId());
 | 
	
		
			
				|  |  | +                reportVo.setOrgName(org.getName());
 | 
	
		
			
				|  |  | +                reportVo.setShouldFinish(0);
 | 
	
		
			
				|  |  | +                reportVo.setFinish(0);
 | 
	
		
			
				|  |  | +                reportVo.setFinishRate("0%");
 | 
	
		
			
				|  |  | +            } else {
 | 
	
		
			
				|  |  | +                reportVo = optional.get();
 | 
	
		
			
				|  |  | +                reportVo.setFinishRate(calculatePercent(reportVo.getShouldFinish(), reportVo.getFinish()));
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            result.add(reportVo);
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -        return list;
 | 
	
		
			
				|  |  | +        return result;
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      private String calculatePercent(Integer num1, Integer num2) {
 |