|  | @@ -135,26 +135,40 @@ public class CourseScheduleEvaluateServiceImpl extends BaseServiceImpl<Long, Cou
 | 
	
		
			
				|  |  |          List<CourseScheduleEvaluate> needPostReportPracticeGroups = practiceGroupDao.getNeedPostReportPracticeGroups(startDate, afterDate,afterDateIsLastDay);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          Map<Integer, Integer> courseTimesMap = new HashMap<>();
 | 
	
		
			
				|  |  | +        Map<Integer, Integer> reportCountMap = new HashMap<>();
 | 
	
		
			
				|  |  |          if (needPostReportPracticeGroups.size() > 0) {
 | 
	
		
			
				|  |  |              Date courseStartDate = DateUtil.addMonths(startDate, -1);
 | 
	
		
			
				|  |  |              List<Integer> classGroupIds = needPostReportPracticeGroups.stream().map(CourseScheduleEvaluate::getClassGroupId).collect(Collectors.toList());
 | 
	
		
			
				|  |  |              List<ClassGroup> reportCourseTimes = practiceGroupDao.getReportCourseTimes(classGroupIds, courseStartDate, startDate);
 | 
	
		
			
				|  |  |              courseTimesMap = reportCourseTimes.stream().collect(Collectors.toMap(ClassGroup::getId, ClassGroup::getTotalClassTimes));
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            List<CourseScheduleEvaluate> courseScheduleEvaluates = courseScheduleEvaluateDao.hasReportList(classGroupIds, startDate);
 | 
	
		
			
				|  |  | +            if(courseScheduleEvaluates.size() > 0){
 | 
	
		
			
				|  |  | +                reportCountMap = courseScheduleEvaluates.stream().collect(Collectors.toMap(CourseScheduleEvaluate::getClassGroupId,CourseScheduleEvaluate::getTimes));
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | -        for (CourseScheduleEvaluate needPostReportPracticeGroup : needPostReportPracticeGroups) {
 | 
	
		
			
				|  |  | +        Iterator<CourseScheduleEvaluate> iterator = needPostReportPracticeGroups.iterator();
 | 
	
		
			
				|  |  | +        while (iterator.hasNext()){
 | 
	
		
			
				|  |  | +            CourseScheduleEvaluate courseScheduleEvaluate = iterator.next();
 | 
	
		
			
				|  |  | +            if(reportCountMap.containsKey(courseScheduleEvaluate.getClassGroupId()) &&
 | 
	
		
			
				|  |  | +                    reportCountMap.get(courseScheduleEvaluate.getClassGroupId()) > 0){
 | 
	
		
			
				|  |  | +                iterator.remove();
 | 
	
		
			
				|  |  | +                continue;
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  |              int times = 0;
 | 
	
		
			
				|  |  | -            if (courseTimesMap.containsKey(needPostReportPracticeGroup.getClassGroupId()) &&
 | 
	
		
			
				|  |  | -                    courseTimesMap.get(needPostReportPracticeGroup.getClassGroupId()) != null
 | 
	
		
			
				|  |  | +            if (courseTimesMap.containsKey(courseScheduleEvaluate.getClassGroupId()) &&
 | 
	
		
			
				|  |  | +                    courseTimesMap.get(courseScheduleEvaluate.getClassGroupId()) != null
 | 
	
		
			
				|  |  |              ) {
 | 
	
		
			
				|  |  | -                times = courseTimesMap.get(needPostReportPracticeGroup.getClassGroupId());
 | 
	
		
			
				|  |  | +                times = courseTimesMap.get(courseScheduleEvaluate.getClassGroupId());
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  | -            needPostReportPracticeGroup.setTimes(times);
 | 
	
		
			
				|  |  | -            needPostReportPracticeGroup.setTotalMinutes(times * needPostReportPracticeGroup.getTotalMinutes());
 | 
	
		
			
				|  |  | -            needPostReportPracticeGroup.setCreateTime(nowDate);
 | 
	
		
			
				|  |  | -            needPostReportPracticeGroup.setUpdateTime(nowDate);
 | 
	
		
			
				|  |  | -            needPostReportPracticeGroup.setStatus(0);
 | 
	
		
			
				|  |  | -            needPostReportPracticeGroup.setVersion(2);
 | 
	
		
			
				|  |  | +            courseScheduleEvaluate.setTimes(times);
 | 
	
		
			
				|  |  | +            courseScheduleEvaluate.setTotalMinutes(times * courseScheduleEvaluate.getTotalMinutes());
 | 
	
		
			
				|  |  | +            courseScheduleEvaluate.setCreateTime(nowDate);
 | 
	
		
			
				|  |  | +            courseScheduleEvaluate.setUpdateTime(nowDate);
 | 
	
		
			
				|  |  | +            courseScheduleEvaluate.setStatus(0);
 | 
	
		
			
				|  |  | +            courseScheduleEvaluate.setVersion(2);
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |          if (needPostReportPracticeGroups.size() > 0) {
 | 
	
		
			
				|  |  |              courseScheduleEvaluateDao.batchAdd(needPostReportPracticeGroups);
 | 
	
		
			
				|  |  |          }
 |