|
@@ -135,26 +135,40 @@ public class CourseScheduleEvaluateServiceImpl extends BaseServiceImpl<Long, Cou
|
|
List<CourseScheduleEvaluate> needPostReportPracticeGroups = practiceGroupDao.getNeedPostReportPracticeGroups(startDate, afterDate,afterDateIsLastDay);
|
|
List<CourseScheduleEvaluate> needPostReportPracticeGroups = practiceGroupDao.getNeedPostReportPracticeGroups(startDate, afterDate,afterDateIsLastDay);
|
|
|
|
|
|
Map<Integer, Integer> courseTimesMap = new HashMap<>();
|
|
Map<Integer, Integer> courseTimesMap = new HashMap<>();
|
|
|
|
+ Map<Integer, Integer> reportCountMap = new HashMap<>();
|
|
if (needPostReportPracticeGroups.size() > 0) {
|
|
if (needPostReportPracticeGroups.size() > 0) {
|
|
Date courseStartDate = DateUtil.addMonths(startDate, -1);
|
|
Date courseStartDate = DateUtil.addMonths(startDate, -1);
|
|
List<Integer> classGroupIds = needPostReportPracticeGroups.stream().map(CourseScheduleEvaluate::getClassGroupId).collect(Collectors.toList());
|
|
List<Integer> classGroupIds = needPostReportPracticeGroups.stream().map(CourseScheduleEvaluate::getClassGroupId).collect(Collectors.toList());
|
|
List<ClassGroup> reportCourseTimes = practiceGroupDao.getReportCourseTimes(classGroupIds, courseStartDate, startDate);
|
|
List<ClassGroup> reportCourseTimes = practiceGroupDao.getReportCourseTimes(classGroupIds, courseStartDate, startDate);
|
|
courseTimesMap = reportCourseTimes.stream().collect(Collectors.toMap(ClassGroup::getId, ClassGroup::getTotalClassTimes));
|
|
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;
|
|
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) {
|
|
if (needPostReportPracticeGroups.size() > 0) {
|
|
courseScheduleEvaluateDao.batchAdd(needPostReportPracticeGroups);
|
|
courseScheduleEvaluateDao.batchAdd(needPostReportPracticeGroups);
|
|
}
|
|
}
|