|
@@ -74,6 +74,8 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
|
|
private ClassGroupTeacherMapperDao classGroupTeacherMapperDao;
|
|
private ClassGroupTeacherMapperDao classGroupTeacherMapperDao;
|
|
@Autowired
|
|
@Autowired
|
|
private CourseScheduleDao courseScheduleDao;
|
|
private CourseScheduleDao courseScheduleDao;
|
|
|
|
+ @Autowired
|
|
|
|
+ private CourseScheduleStudentPaymentDao courseScheduleStudentPaymentDao;
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public BaseDAO<Integer, ClassGroup> getDAO() {
|
|
public BaseDAO<Integer, ClassGroup> getDAO() {
|
|
@@ -193,18 +195,18 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
|
|
@Override
|
|
@Override
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@Transactional(rollbackFor = Exception.class)
|
|
public List<HighClassGroupDto> addHighClassGroup(List<HighClassGroupDto> highClassGroupList) throws Exception {
|
|
public List<HighClassGroupDto> addHighClassGroup(List<HighClassGroupDto> highClassGroupList) throws Exception {
|
|
-
|
|
|
|
- Integer schoolId = null;
|
|
|
|
-
|
|
|
|
|
|
+
|
|
|
|
+ Integer schoolId = null;
|
|
|
|
+
|
|
for (HighClassGroupDto highClassGroup : highClassGroupList) {
|
|
for (HighClassGroupDto highClassGroup : highClassGroupList) {
|
|
-
|
|
|
|
- if (schoolId == null) {
|
|
|
|
- MusicGroup musicGroup = musicGroupDao.get(highClassGroup.getMusicGroupId());
|
|
|
|
- if (musicGroup != null) {
|
|
|
|
- schoolId = musicGroup.getSchoolId();
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
|
|
+
|
|
|
|
+ if (schoolId == null) {
|
|
|
|
+ MusicGroup musicGroup = musicGroupDao.get(highClassGroup.getMusicGroupId());
|
|
|
|
+ if (musicGroup != null) {
|
|
|
|
+ schoolId = musicGroup.getSchoolId();
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
//1、插入班级信息
|
|
//1、插入班级信息
|
|
Date date;
|
|
Date date;
|
|
date = new Date();
|
|
date = new Date();
|
|
@@ -237,8 +239,8 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
|
|
CourseSchedule courseSchedule = new CourseSchedule();
|
|
CourseSchedule courseSchedule = new CourseSchedule();
|
|
Instant instant = now.atZone(ZoneId.systemDefault()).toInstant();
|
|
Instant instant = now.atZone(ZoneId.systemDefault()).toInstant();
|
|
Date classDate = Date.from(instant);
|
|
Date classDate = Date.from(instant);
|
|
- String startClassTime = DateUtil.getDate(classDate) + " " + highClassGroup.getStartClassTime()+":00";
|
|
|
|
- String endClassTime = DateUtil.getDate(classDate) + " " + highClassGroup.getEndClassTime()+":00";
|
|
|
|
|
|
+ String startClassTime = DateUtil.getDate(classDate) + " " + highClassGroup.getStartClassTime() + ":00";
|
|
|
|
+ String endClassTime = DateUtil.getDate(classDate) + " " + highClassGroup.getEndClassTime() + ":00";
|
|
|
|
|
|
courseSchedule.setSchoolId(schoolId);
|
|
courseSchedule.setSchoolId(schoolId);
|
|
courseSchedule.setClassGroupId(highClassGroup.getId());
|
|
courseSchedule.setClassGroupId(highClassGroup.getId());
|
|
@@ -253,7 +255,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
|
|
courseSchedule.setTeachMode(TeachModeEnum.OFFLINE);
|
|
courseSchedule.setTeachMode(TeachModeEnum.OFFLINE);
|
|
courseSchedule.setType(CourseSchedule.CourseScheduleType.HIGH);
|
|
courseSchedule.setType(CourseSchedule.CourseScheduleType.HIGH);
|
|
Subject subject = subjectService.get(Integer.parseInt(highClassGroup.getSubjectIdList()));
|
|
Subject subject = subjectService.get(Integer.parseInt(highClassGroup.getSubjectIdList()));
|
|
- courseSchedule.setName(subject.getName()+"-"+CourseSchedule.CourseScheduleType.HIGH.getMsg());
|
|
|
|
|
|
+ courseSchedule.setName(subject.getName() + "-" + CourseSchedule.CourseScheduleType.HIGH.getMsg());
|
|
|
|
|
|
courseScheduleList.add(courseSchedule);
|
|
courseScheduleList.add(courseSchedule);
|
|
times++;
|
|
times++;
|
|
@@ -279,11 +281,11 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
|
|
pageInfo.setTotal(count);
|
|
pageInfo.setTotal(count);
|
|
params.put("offset", pageInfo.getOffset());
|
|
params.put("offset", pageInfo.getOffset());
|
|
dataList = classGroupDao.queryGroupCourses(params);
|
|
dataList = classGroupDao.queryGroupCourses(params);
|
|
- HashMap<String,Object> param = new HashMap<>();
|
|
|
|
- param.put("teacherId",queryInfo.getSearch());
|
|
|
|
- param.put("attendanceStatus",YesOrNoEnum.YES);
|
|
|
|
- dataList.forEach(e->{
|
|
|
|
- param.put("musicGroupId",e.getMusicGroupId());
|
|
|
|
|
|
+ HashMap<String, Object> param = new HashMap<>();
|
|
|
|
+ param.put("teacherId", queryInfo.getSearch());
|
|
|
|
+ param.put("attendanceStatus", YesOrNoEnum.YES);
|
|
|
|
+ dataList.forEach(e -> {
|
|
|
|
+ param.put("musicGroupId", e.getMusicGroupId());
|
|
e.setAttendanceNum(teacherAttendanceDao.getTeacherPersonalAttendancesCount(param));
|
|
e.setAttendanceNum(teacherAttendanceDao.getTeacherPersonalAttendancesCount(param));
|
|
});
|
|
});
|
|
}
|
|
}
|
|
@@ -306,24 +308,24 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
|
|
params.put("offset", pageInfo.getOffset());
|
|
params.put("offset", pageInfo.getOffset());
|
|
dataList = vipGroupDao.getTeacherVipClass(params);
|
|
dataList = vipGroupDao.getTeacherVipClass(params);
|
|
Set<Integer> activityIds = dataList.stream().map(e -> e.getActivityId()).collect(Collectors.toSet());
|
|
Set<Integer> activityIds = dataList.stream().map(e -> e.getActivityId()).collect(Collectors.toSet());
|
|
- List<Map<Integer,String>> names = vipGroupActivityDao.queryNamesById(StringUtils.join(activityIds,","));
|
|
|
|
- Map<Integer,String> nameMap = MapUtil.convertMybatisMap(names);
|
|
|
|
|
|
+ List<Map<Integer, String>> names = vipGroupActivityDao.queryNamesById(StringUtils.join(activityIds, ","));
|
|
|
|
+ Map<Integer, String> nameMap = MapUtil.convertMybatisMap(names);
|
|
//计算月度平均消耗值(已上课时 / 消耗月份)
|
|
//计算月度平均消耗值(已上课时 / 消耗月份)
|
|
List<Long> vipGroupIds = dataList.stream().map(vipGroup -> vipGroup.getVipClassId()).collect(Collectors.toList());
|
|
List<Long> vipGroupIds = dataList.stream().map(vipGroup -> vipGroup.getVipClassId()).collect(Collectors.toList());
|
|
List<Map<Long, Integer>> vipGroupOverCourses = vipGroupDao.countVipGroupOverCourse(vipGroupIds);
|
|
List<Map<Long, Integer>> vipGroupOverCourses = vipGroupDao.countVipGroupOverCourse(vipGroupIds);
|
|
- Map<Long,Integer> vipGroupOverCourseMaps = MapUtil.convertMybatisMap(vipGroupOverCourses);
|
|
|
|
|
|
+ Map<Long, Integer> vipGroupOverCourseMaps = MapUtil.convertMybatisMap(vipGroupOverCourses);
|
|
dataList.forEach(vipGroup -> {
|
|
dataList.forEach(vipGroup -> {
|
|
Integer overCourses = vipGroupOverCourseMaps.get(vipGroup.getVipClassId());
|
|
Integer overCourses = vipGroupOverCourseMaps.get(vipGroup.getVipClassId());
|
|
- if(Objects.isNull(overCourses)){
|
|
|
|
- overCourses=0;
|
|
|
|
|
|
+ if (Objects.isNull(overCourses)) {
|
|
|
|
+ overCourses = 0;
|
|
}
|
|
}
|
|
- Integer totalClassTimes=vipGroup.getTotalClassTimes();
|
|
|
|
- if(Objects.isNull(totalClassTimes)){
|
|
|
|
|
|
+ Integer totalClassTimes = vipGroup.getTotalClassTimes();
|
|
|
|
+ if (Objects.isNull(totalClassTimes)) {
|
|
vipGroup.setMonthAvg(Float.parseFloat("0.0"));
|
|
vipGroup.setMonthAvg(Float.parseFloat("0.0"));
|
|
- }else{
|
|
|
|
- BigDecimal overCoursesOfMonth=new BigDecimal(overCourses),allClassTimes=new BigDecimal(totalClassTimes);
|
|
|
|
|
|
+ } else {
|
|
|
|
+ BigDecimal overCoursesOfMonth = new BigDecimal(overCourses), allClassTimes = new BigDecimal(totalClassTimes);
|
|
|
|
|
|
- Float monthConsumeRate=overCoursesOfMonth.divide(overCoursesOfMonth,2,BigDecimal.ROUND_HALF_UP).floatValue();
|
|
|
|
|
|
+ Float monthConsumeRate = overCoursesOfMonth.divide(overCoursesOfMonth, 2, BigDecimal.ROUND_HALF_UP).floatValue();
|
|
vipGroup.setMonthAvg(monthConsumeRate);
|
|
vipGroup.setMonthAvg(monthConsumeRate);
|
|
}
|
|
}
|
|
});
|
|
});
|
|
@@ -337,8 +339,8 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
- public List<ClassGroupTeachersDto> getClassGroupAndTeachers(String musicGroupId,String type) {
|
|
|
|
- List<ClassGroupTeachersDto> classGroupAndTeachersList = classGroupDao.findClassGroupByMusicGroupId(musicGroupId,type);
|
|
|
|
|
|
+ public List<ClassGroupTeachersDto> getClassGroupAndTeachers(String musicGroupId, String type) {
|
|
|
|
+ List<ClassGroupTeachersDto> classGroupAndTeachersList = classGroupDao.findClassGroupByMusicGroupId(musicGroupId, type);
|
|
|
|
|
|
List<ClassGroupTeacherMapper> classGroupTeacherMapperList = classGroupTeacherMapperService.findClassGroupTeachers(classGroupAndTeachersList);
|
|
List<ClassGroupTeacherMapper> classGroupTeacherMapperList = classGroupTeacherMapperService.findClassGroupTeachers(classGroupAndTeachersList);
|
|
|
|
|
|
@@ -584,7 +586,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
|
|
Map<Long, Integer> musicGroupIdAndNum = MapUtil.convertMybatisMap(musicGroupIdAndNumList);
|
|
Map<Long, Integer> musicGroupIdAndNum = MapUtil.convertMybatisMap(musicGroupIdAndNumList);
|
|
|
|
|
|
List<Map<Long, Integer>> vipGroupOverCourses = vipGroupDao.countVipGroupOverCourse(musicGroupIds);
|
|
List<Map<Long, Integer>> vipGroupOverCourses = vipGroupDao.countVipGroupOverCourse(musicGroupIds);
|
|
- Map<Long,Integer> vipGroupOverCourseMaps = MapUtil.convertMybatisMap(vipGroupOverCourses);
|
|
|
|
|
|
+ Map<Long, Integer> vipGroupOverCourseMaps = MapUtil.convertMybatisMap(vipGroupOverCourses);
|
|
|
|
|
|
teacherMusicClassGroup.forEach(teacherClassGroupDto -> {
|
|
teacherMusicClassGroup.forEach(teacherClassGroupDto -> {
|
|
|
|
|
|
@@ -602,16 +604,16 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
|
|
}
|
|
}
|
|
|
|
|
|
Integer overCourses = vipGroupOverCourseMaps.get(teacherClassGroupDto.getMusicGroupId());
|
|
Integer overCourses = vipGroupOverCourseMaps.get(teacherClassGroupDto.getMusicGroupId());
|
|
- if(Objects.isNull(overCourses)){
|
|
|
|
- overCourses=0;
|
|
|
|
|
|
+ if (Objects.isNull(overCourses)) {
|
|
|
|
+ overCourses = 0;
|
|
}
|
|
}
|
|
- Integer totalClassTimes=teacherClassGroupDto.getTotalClassTimes();
|
|
|
|
- if(Objects.isNull(totalClassTimes)||totalClassTimes==0){
|
|
|
|
|
|
+ Integer totalClassTimes = teacherClassGroupDto.getTotalClassTimes();
|
|
|
|
+ if (Objects.isNull(totalClassTimes) || totalClassTimes == 0) {
|
|
teacherClassGroupDto.setAvgClassTimesOfMonth(0.0);
|
|
teacherClassGroupDto.setAvgClassTimesOfMonth(0.0);
|
|
- }else{
|
|
|
|
- BigDecimal overCoursesOfMonth=new BigDecimal(overCourses),allClassTimes=new BigDecimal(totalClassTimes);
|
|
|
|
|
|
+ } else {
|
|
|
|
+ BigDecimal overCoursesOfMonth = new BigDecimal(overCourses), allClassTimes = new BigDecimal(totalClassTimes);
|
|
|
|
|
|
- Double monthConsumeRate=overCoursesOfMonth.divide(allClassTimes,1,BigDecimal.ROUND_HALF_UP).doubleValue();
|
|
|
|
|
|
+ Double monthConsumeRate = overCoursesOfMonth.divide(allClassTimes, 1, BigDecimal.ROUND_HALF_UP).doubleValue();
|
|
teacherClassGroupDto.setAvgClassTimesOfMonth(monthConsumeRate);
|
|
teacherClassGroupDto.setAvgClassTimesOfMonth(monthConsumeRate);
|
|
}
|
|
}
|
|
|
|
|
|
@@ -723,6 +725,9 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
|
|
ClassGroupStudentMapper classStudentMapper = classGroupStudentMapperDao.query(classGroupStudentMapperDto.getClassGroupId(), classGroupStudentMapperDto.getUserId());
|
|
ClassGroupStudentMapper classStudentMapper = classGroupStudentMapperDao.query(classGroupStudentMapperDto.getClassGroupId(), classGroupStudentMapperDto.getUserId());
|
|
classStudentMapper.setStatus(ClassGroupStudentStatusEnum.QUIT);
|
|
classStudentMapper.setStatus(ClassGroupStudentStatusEnum.QUIT);
|
|
classGroupStudentMapperDao.update(classStudentMapper);
|
|
classGroupStudentMapperDao.update(classStudentMapper);
|
|
|
|
+ } else { //临时删除学生对应时间段的课程
|
|
|
|
+ List<CourseSchedule> courseScheduleList = courseScheduleDao.findCourseScheduleByClassGroupIdAndDate(classGroupStudentMapperDto.getClassGroupId(), classGroupAdjustDto.getStartDate(), classGroupAdjustDto.getEndDate());
|
|
|
|
+ courseScheduleStudentPaymentDao.deleteStudentCourseSchedule(classGroupStudentMapperDto.getUserId(), courseScheduleList);
|
|
}
|
|
}
|
|
subject_id_list_ += classGroupStudentMapperDto.getUserId() + ",";
|
|
subject_id_list_ += classGroupStudentMapperDto.getUserId() + ",";
|
|
}
|
|
}
|