zouxuan před 2 roky
rodič
revize
79e26c5014

+ 3 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/school/page/TeacherAttendanceQueryInfo.java

@@ -36,6 +36,9 @@ public class TeacherAttendanceQueryInfo{
         }
     }
 
+    @ApiModelProperty(value = "班级类型",required = false)
+    private String classType;
+
     @ApiModelProperty(value = "模糊查询",required = false)
     private String search;
 

+ 4 - 3
mec-biz/src/main/java/com/ym/mec/biz/dal/wrapper/TeacherAttendanceWrapper.java

@@ -12,13 +12,13 @@ public class TeacherAttendanceWrapper {
     public static class CourseTeacherAttendance{
         private Long courseScheduleId;
 
-        private Long actualTeacherId;
+        private Integer actualTeacherId;
 
         private CourseStatusEnum courseStatus;
 
-        private Integer signInStatus;
+        private Integer signInStatus = 0;
 
-        private Integer signOutStatus;
+        private Integer signOutStatus = 0;
 
         private String signInLongitudeLatitude;
 
@@ -31,6 +31,7 @@ public class TeacherAttendanceWrapper {
 
     @Data
     public static class ClassTeacherAttendanceQuery{
+        @ApiModelProperty("课程类型")
         private String courseType;
 
         @ApiModelProperty("班级编号")

+ 3 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java

@@ -5448,7 +5448,9 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 			vo.setWeek(sb.toString());
 			vo.setWeekTime(sb1.toString());
 			vo.setDailySummaryOfClassesForTheCurrentSemesterDtos(currentWeekDates);
-			result.add(vo);
+			if(CollectionUtils.isNotEmpty(currentWeekDates)){
+				result.add(vo);
+			}
 		}
 		return result;
 	}

+ 4 - 13
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupQuitServiceImpl.java

@@ -2,24 +2,23 @@ package com.ym.mec.biz.service.impl;
 
 import com.ym.mec.biz.dal.dao.*;
 import com.ym.mec.biz.dal.dto.SimpleUserDto;
+import com.ym.mec.biz.dal.entity.MusicGroupQuit;
 import com.ym.mec.biz.dal.entity.StudentRegistration;
 import com.ym.mec.biz.dal.entity.Subject;
 import com.ym.mec.biz.dal.enums.school.EQuitGroupAuditStatusEnum;
 import com.ym.mec.biz.dal.school.dto.MusicGroupQuitDetailDto;
 import com.ym.mec.biz.dal.school.dto.MusicGroupQuitPageDto;
 import com.ym.mec.biz.dal.school.page.MusicGroupQuitQueryInfo;
+import com.ym.mec.biz.service.MusicGroupQuitService;
 import com.ym.mec.biz.service.SysUserService;
+import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.exception.BizException;
 import com.ym.mec.common.page.PageInfo;
+import com.ym.mec.common.service.impl.BaseServiceImpl;
 import com.ym.mec.util.collection.MapUtil;
 import org.apache.commons.collections.CollectionUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
-
-import com.ym.mec.biz.dal.entity.MusicGroupQuit;
-import com.ym.mec.biz.service.MusicGroupQuitService;
-import com.ym.mec.common.dal.BaseDAO;
-import com.ym.mec.common.service.impl.BaseServiceImpl;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.util.*;
@@ -65,18 +64,10 @@ public class MusicGroupQuitServiceImpl extends BaseServiceImpl<Long, MusicGroupQ
 			params.put("offset", pageInfo.getOffset());
 			dataList = musicGroupQuitDao.queryPageBySchool(params);
 			if(CollectionUtils.isNotEmpty(dataList)){
-				List<Integer> studentIds = dataList.stream().map(e -> e.getStudentId()).collect(Collectors.toList());
-				List<SimpleUserDto> usersSimpleInfo = teacherDao.getUsersSimpleInfo(studentIds);
-				Map<Integer, SimpleUserDto> simpleUserDtoMap = usersSimpleInfo.stream().collect(Collectors.groupingBy(e -> e.getUserId(), Collectors.collectingAndThen(Collectors.toList(), v -> v.get(0))));
 				List<Integer> subjectIds = dataList.stream().map(e -> e.getSubjectId()).distinct().collect(Collectors.toList());
 				Map<Integer, String> subjectNameMap = subjectDao.findBySubjectIds(subjectIds).stream().collect(Collectors.groupingBy(e -> e.getId(), Collectors.collectingAndThen(Collectors.toList(), v -> v.get(0).getName())));
 				for (MusicGroupQuitPageDto dto : dataList) {
 					dto.setSubjectName(subjectNameMap.get(dto.getSubjectId()));
-					SimpleUserDto userDto = simpleUserDtoMap.get(dto.getStudentId());
-					if(Objects.nonNull(userDto)){
-						dto.setStudentAvatar(userDto.getAvatar());
-						dto.setStudentName(userDto.getNickName());
-					}
 				}
 			}
 		}

+ 1 - 9
mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherAttendanceServiceImpl.java

@@ -1188,9 +1188,6 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
 		queryInfo.setClassGroupId(queryInfo.getClassGroupId());
 		List<TeacherAttendanceSumDto> dtoList = teacherAttendanceDao.queryTeacherAttendance(queryInfo);
 		if(CollectionUtils.isNotEmpty(dtoList)){
-			List<Integer> teacherIds = dtoList.stream().map(e -> e.getTeacherId()).collect(Collectors.toList());
-			List<SimpleUserDto> usersSimpleInfo = teacherDao.getUsersSimpleInfo(teacherIds);
-			Map<Integer, SimpleUserDto> simpleUserDtoMap = usersSimpleInfo.stream().collect(Collectors.groupingBy(e -> e.getUserId(), Collectors.collectingAndThen(Collectors.toList(), v -> v.get(0))));
 			//获取本周老师考勤状态
 			Date now = new Date();
 			String monday = DateUtil.dateToString(DateUtil.getWeekDayWithDate(now, Calendar.MONDAY), DateUtil.ISO_EXPANDED_DATE_FORMAT);
@@ -1200,7 +1197,7 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
 			info.setEndTerm(sunday);
 			info.setMusicGroupIds(queryInfo.getMusicGroupIds());
 			List<TeacherAttendanceWrapper.CourseTeacherAttendance> courseTeacherAttendances = teacherAttendanceDao.queryTeacherAttendanceForWeek(info);
-			Map<Long, List<TeacherAttendanceWrapper.CourseTeacherAttendance>> attendanceMap = new HashMap<>(dtoList.size());
+			Map<Integer, List<TeacherAttendanceWrapper.CourseTeacherAttendance>> attendanceMap = new HashMap<>(dtoList.size());
 			Map<Integer, School> idSchoolMap = new HashMap<>();
 			if(CollectionUtils.isNotEmpty(courseTeacherAttendances)){
 				attendanceMap = courseTeacherAttendances.stream().collect(Collectors.groupingBy(e -> e.getActualTeacherId()));
@@ -1216,11 +1213,6 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
 			String attendanceRange = sysTenantConfigService.getTenantConfigValue(SysConfigService.ATTENDANCE_RANGE,queryInfo.getTenantId());
 
 			for (TeacherAttendanceSumDto dto : dtoList) {
-				SimpleUserDto userDto = simpleUserDtoMap.get(dto.getTeacherId());
-				if(Objects.nonNull(userDto)){
-					dto.setTeacherName(userDto.getUserName());
-					dto.setTeacherAvatar(userDto.getAvatar());
-				}
 				List<TeacherAttendanceWrapper.CourseTeacherAttendance> attendances = attendanceMap.get(dto.getTeacherId());
 				if(CollectionUtils.isNotEmpty(attendances)){
 					dto.setTeacherAttendanceStatus(TeacherAttendanceQueryInfo.TeacherAttendanceEnum.NORMAL);

+ 2 - 1
mec-biz/src/main/resources/config/mybatis/MusicGroupQuitMapper.xml

@@ -213,9 +213,10 @@
     </select>
     <select id="queryPageBySchool" resultType="com.ym.mec.biz.dal.school.dto.MusicGroupQuitPageDto">
         select mgq.user_id_ studentId,mgq.create_time_ createTime,mgq.school_staff_audit_status_ status,
-               sr.actual_subject_id_ subjectId,mgq.id_ musicGroupQuitId
+               sr.actual_subject_id_ subjectId,mgq.id_ musicGroupQuitId,su.username_ studentName,su.avatar_ studentAvatar
         from music_group_quit mgq
         left join student_registration sr ON sr.music_group_id_ = mgq.music_group_id_ AND sr.user_id_ = mgq.user_id_
+        left join sys_user su ON su.id_ = sr.user_id_
         <where>
             <if test="musicGroupIds != null">
                 AND mgq.music_group_id_ IN

+ 9 - 2
mec-biz/src/main/resources/config/mybatis/TeacherAttendanceMapper.xml

@@ -629,10 +629,11 @@
     <select id="queryTeacherAttendance" resultType="com.ym.mec.biz.dal.school.dto.TeacherAttendanceSumDto">
         select cg.type_ classGroupType,cs.actual_teacher_id_ teacherId,COUNT(distinct cs.id_) totalCourseNum,
                COUNT(CASE WHEN ta.sign_in_status_ = 1 and ta.sign_in_status_ = 1 THEN NULL ELSE 1 END) errCourseNum,
-               cs.class_group_id_ classGroupId
+               cs.class_group_id_ classGroupId,su.avatar_ teacherAvatar,su.real_name_ teacherName
         from course_schedule cs
         left join class_group cg ON cg.id_ = cs.class_group_id_
         left join teacher_attendance ta ON ta.course_schedule_id_ = cs.id_ AND ta.teacher_id_ = cs.actual_teacher_id_
+        left join sys_user su ON su.id_ = cs.actual_teacher_id_
         <include refid="queryTeacherAttendanceSql"/>
         group by cs.actual_teacher_id_
     </select>
@@ -649,6 +650,12 @@
             <if test="queryInfo.teacherId != null">
                 AND cs.actual_teacher_id_ = #{queryInfo.teacherId}
             </if>
+            <if test="queryInfo.classType != null and queryInfo.classType != ''">
+                AND cg.type_ = #{queryInfo.classType}
+            </if>
+            <if test="queryInfo.search != null and queryInfo.search != ''">
+                AND (su.real_name_ LIKE CONCAT('%',#{queryInfo.search},'%') OR cs.actual_teacher_id_ = #{queryInfo.search})
+            </if>
             <if test="queryInfo.musicGroupIds != null and queryInfo.musicGroupIds.size > 0">
                 AND cs.music_group_id_ IN
                 <foreach collection="queryInfo.musicGroupIds" item="musicGroupId" open="(" separator="," close=")">
@@ -658,7 +665,7 @@
         </where>
     </sql>
     <select id="queryTeacherAttendanceForWeek" resultType="com.ym.mec.biz.dal.wrapper.TeacherAttendanceWrapper$CourseTeacherAttendance">
-        select cs.actual_teacher_id_ actualTeacherId,cs.id_ course_schedule_id_ courseScheduleId,
+        select cs.actual_teacher_id_ actualTeacherId,cs.id_ courseScheduleId,
         cs.status_ courseStatus,ta.sign_in_status_ signInStatus,ta.sign_out_status_ signOutStatus,cs.teach_mode_ teachMode,
                ta.sign_in_longitude_latitude_ signInLongitudeLatitude,ta.sign_out_longitude_latitude_ signOutLongitudeLatitude,cs.schoole_id_ schoolId
         from course_schedule cs