Forráskód Böngészése

update:课表列表查询优化

yonge 4 éve
szülő
commit
4202d16519

+ 14 - 34
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java

@@ -4414,7 +4414,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 
     @Override
     public PageInfo<CourseScheduleEndDto> endFindCourseSchedules(EndCourseScheduleQueryInfo queryInfo) {
-        PageInfo pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
+        PageInfo<CourseScheduleEndDto> pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
         Map<String, Object> params = new HashMap<>(16);
         MapUtil.populateMap(params, queryInfo);
 
@@ -4428,24 +4428,21 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
             params.put("offset", pageInfo.getOffset());
             results = courseScheduleDao.endFindCourseSchedules(params);
             List<Long> courseScheduleIds = results.stream().map(CourseScheduleEndDto::getId).collect(Collectors.toList());
-//            List<TeacherAttendance> teacherAttendances = teacherAttendanceDao.findTeacherIdByCourseSchedule(courseScheduleIds);
-//            Map<Long, List<TeacherAttendance>> courseTeacherAttendanceMap = teacherAttendances.stream().collect(Collectors.groupingBy(TeacherAttendance::getCourseScheduleId));
-//            Map<Integer, Long> studentNumCourseMap = MapUtil.convertIntegerMap(studentAttendanceDao.countStudentAttendancesByCourses(courseScheduleIds));
-            Map<Long, String> studentIdMap = MapUtil.convertIntegerMap(courseScheduleStudentPaymentDao.getStudentIdMap(courseScheduleIds));
-            List<Integer> teacherIds=results.stream().filter(t->Objects.nonNull(t.getActualTeacherId())).map(CourseSchedule::getActualTeacherId).collect(Collectors.toList());
+            //Map<Long, String> studentIdMap = MapUtil.convertIntegerMap(courseScheduleStudentPaymentDao.getStudentIdMap(courseScheduleIds));
+            //List<Integer> teacherIds=results.stream().filter(t->Objects.nonNull(t.getActualTeacherId())).map(CourseSchedule::getActualTeacherId).collect(Collectors.toList());
 
-            List<Map<Integer, String>> nameIdMaps = teacherDao.queryNameByIdList(teacherIds);
-            Map<Integer, String> nameIdMap=MapUtil.convertIntegerMap(nameIdMaps);
+            //List<Map<Integer, String>> nameIdMaps = teacherDao.queryNameByIdList(teacherIds);
+            //Map<Integer, String> nameIdMap=MapUtil.convertIntegerMap(nameIdMaps);
 
-			List<Map<Long, String>> coursesSettlementTimeMaps = courseScheduleTeacherSalaryDao.getCoursesSettlementTime(courseScheduleIds);
-			Map<Long, String> coursesSettlementTimeMap = MapUtil.convertIntegerMap(coursesSettlementTimeMaps);
+			//List<Map<Long, String>> coursesSettlementTimeMaps = courseScheduleTeacherSalaryDao.getCoursesSettlementTime(courseScheduleIds);
+			//Map<Long, String> coursesSettlementTimeMap = MapUtil.convertIntegerMap(coursesSettlementTimeMaps);
 
-			List<Long> practiceIds = results.stream().filter(e -> PRACTICE.equals(e.getGroupType())).map(e -> Long.valueOf(e.getMusicGroupId())).collect(Collectors.toList());
+			/*List<Long> practiceIds = results.stream().filter(e -> PRACTICE.equals(e.getGroupType())).map(e -> Long.valueOf(e.getMusicGroupId())).collect(Collectors.toList());
 			Map<Long, PracticeGroup> idPracticeMap=new HashMap<>();
 			if(!CollectionUtils.isEmpty(practiceIds)){
 				List<PracticeGroup> practiceGroups = practiceGroupDao.getWithIds(practiceIds);
                 idPracticeMap = practiceGroups.stream().collect(Collectors.toMap(PracticeGroup::getId, e->e));
-			}
+			}*/
 
 			List<Map<Long, Long>> courseMergeCourseNum = courseScheduleDao.countCourseMergeCourseNum(courseScheduleIds);
 			Map<Long, Long> courseMergeCourseNumMap = new HashMap<>();
@@ -4453,35 +4450,18 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 				courseMergeCourseNumMap = MapUtil.convertIntegerMap(courseMergeCourseNum);
 			}
 
-			Set<Long> mergeCourseIds = results.stream().filter(e -> Objects.nonNull(e.getNewCourseId())).map(e -> e.getNewCourseId()).collect(Collectors.toSet());
+			//Set<Long> mergeCourseIds = results.stream().filter(e -> Objects.nonNull(e.getNewCourseId())).map(e -> e.getNewCourseId()).collect(Collectors.toSet());
 
 			//获取班级声部名称
             List<Map<Integer, String>> classGroupSubjectNameMaps = classGroupDao.findClassGroupSubjectNameMaps(courseScheduleIds);
             Map<Integer, String> classGroupSubjectNameMap = MapUtil.convertIntegerMap(classGroupSubjectNameMaps);
 			for (CourseScheduleEndDto result : results) {
 				result.setTeacher(null);
-				result.setTeacherName(nameIdMap.get(result.getActualTeacherId()));
+				//result.setTeacherName(nameIdMap.get(result.getActualTeacherId()));
 				result.setSubjectName(classGroupSubjectNameMap.get(result.getId()));
-				result.setStudentId(studentIdMap.get(result.getId()));
-				result.setPracticeGroup(idPracticeMap.get(Long.valueOf(result.getMusicGroupId())));
-//				List<TeacherAttendance> courseTeacherAttendances = courseTeacherAttendanceMap.get(result.getId());
-				/*if(!CollectionUtils.isEmpty(courseTeacherAttendances)){
-					TeacherAttendance teacherAttendance=courseTeacherAttendances.get(0);
-					result.setIsSignIn(Objects.isNull(teacherAttendance.getSignInStatus())?3:teacherAttendance.getSignInStatus().getCode());
-					result.setIsSignOut(Objects.isNull(teacherAttendance.getSignOutStatus())?3:teacherAttendance.getSignOutStatus().getCode());
-					result.setSignInStatusEnum(result.getIsSignIn() == 1?NORMAL:result.getIsSignIn() == 0?UNUSUAL:NO);
-					result.setSignOutStatusEnum(result.getIsSignOut() == 1?SignOutStatusEnum.NORMAL:result.getIsSignOut() == 0? SignOutStatusEnum.UNUSUAL: SignOutStatusEnum.NO);
-					result.setSignInTime(teacherAttendance.getSignInTime());
-					result.setSignOutTime(teacherAttendance.getSignOutTime());
-					result.setRemark(teacherAttendance.getRemark());
-				}*/
-//				Long studentNum = studentNumCourseMap.get(result.getId());
-//				if (Objects.nonNull(studentNum)) {
-//					result.setIsCallNames(studentNum > 0 ? YesOrNoEnum.YES : YesOrNoEnum.NO);
-//				} else {
-//					result.setIsCallNames(YesOrNoEnum.NO);
-//				}
-				result.setSettlementTime(coursesSettlementTimeMap.get(result.getId()));
+				//result.setStudentId(studentIdMap.get(result.getId()));
+				//result.setPracticeGroup(idPracticeMap.get(Long.valueOf(result.getMusicGroupId())));
+				//result.setSettlementTime(coursesSettlementTimeMap.get(result.getId()));
 				result.setIsSettlement(Objects.isNull(result.getSettlementTime())?0:1);
 				if(courseMergeCourseNumMap.containsKey(result.getId())){
 					result.setBeMerged(courseMergeCourseNumMap.get(result.getId())>0?true:false);

+ 2 - 0
mec-biz/src/main/resources/config/mybatis/CourseScheduleMapper.xml

@@ -29,6 +29,7 @@
         <result column="student_num_" property="studentNum"/>
         <result column="leave_student_num_" property="leaveStudentNum"/>
         <result column="schoole_id_" property="schoolId"/>
+        <result column="is_lock_" property="isLock"/>
         <result column="schoole_name_" property="schoolName"/>
         <result column="class_group_name_" property="classGroupName"/>
         <result column="class_group_type_" property="classGroupType"/>
@@ -2359,6 +2360,7 @@
             cs.type_,
             cs.schoole_id_,
             cs.create_time_,
+            cs.is_lock_,
             s.name_ schoole_name_,
             o.name_ organ_name_,
             CASE WHEN COUNT(sa.id_) > 0 THEN 1 ELSE 0 END isCallNames,