|
@@ -15,14 +15,14 @@ import com.ym.mec.common.dal.BaseDAO;
|
|
|
import com.ym.mec.common.exception.BizException;
|
|
|
import com.ym.mec.common.redis.service.RedisCache;
|
|
|
import com.ym.mec.common.service.impl.BaseServiceImpl;
|
|
|
+import com.ym.mec.util.date.DateUtil;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Isolation;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
-import java.util.ArrayList;
|
|
|
-import java.util.Date;
|
|
|
-import java.util.List;
|
|
|
+import java.util.*;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
|
@Service
|
|
@@ -96,8 +96,8 @@ public class CourseScheduleEvaluateServiceImpl extends BaseServiceImpl<Long, Cou
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public List<CourseScheduleEvaluate> findByGroupId(Integer groupId,Integer status) {
|
|
|
- return courseScheduleEvaluateDao.findByGroupId(groupId,status);
|
|
|
+ public List<CourseScheduleEvaluate> findByGroupId(Integer groupId, Integer status) {
|
|
|
+ return courseScheduleEvaluateDao.findByGroupId(groupId, status);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
@@ -124,10 +124,28 @@ public class CourseScheduleEvaluateServiceImpl extends BaseServiceImpl<Long, Cou
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public List<CourseScheduleEvaluate> createEvaluate(Date NowDate, Date afterDate) {
|
|
|
- List<CourseScheduleEvaluate> needPostReportPracticeGroups = practiceGroupDao.getNeedPostReportPracticeGroups(NowDate, afterDate);
|
|
|
+ public List<CourseScheduleEvaluate> createEvaluate(Date nowDate) {
|
|
|
+ Date startDate = DateUtil.trunc(nowDate);
|
|
|
+ Date afterDate = DateUtil.addDays(DateUtil.getLastSecondWithDay(nowDate), 5);
|
|
|
+ List<CourseScheduleEvaluate> needPostReportPracticeGroups = practiceGroupDao.getNeedPostReportPracticeGroups(startDate, afterDate);
|
|
|
+
|
|
|
+ Map<Integer, Integer> courseTimesMap = 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));
|
|
|
+ }
|
|
|
for (CourseScheduleEvaluate needPostReportPracticeGroup : needPostReportPracticeGroups) {
|
|
|
- needPostReportPracticeGroup.setCreateTime(NowDate);
|
|
|
+ int times = 0;
|
|
|
+ if (courseTimesMap.containsKey(needPostReportPracticeGroup.getClassGroupId()) &&
|
|
|
+ courseTimesMap.get(needPostReportPracticeGroup.getClassGroupId()) != null
|
|
|
+ ) {
|
|
|
+ times = courseTimesMap.get(needPostReportPracticeGroup.getClassGroupId());
|
|
|
+ }
|
|
|
+ needPostReportPracticeGroup.setTimes(times);
|
|
|
+ needPostReportPracticeGroup.setTotalMinutes(times * needPostReportPracticeGroup.getTotalMinutes());
|
|
|
+ needPostReportPracticeGroup.setCreateTime(nowDate);
|
|
|
needPostReportPracticeGroup.setStatus(0);
|
|
|
needPostReportPracticeGroup.setVersion(2);
|
|
|
}
|