Browse Source

Merge branch 'saas' of http://git.dayaedu.com/yonge/mec into zx-2023-04-13

zouxuan 2 năm trước cách đây
mục cha
commit
3ce9224b4c

+ 8 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupServiceImpl.java

@@ -1801,10 +1801,18 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
                     .filter(studentAttendanceViewDto -> studentAttendanceViewDto.getGroupType().equals("MUSIC"))
                     .collect(Collectors.toList());
 
+
             if (!CollectionUtils.isEmpty(tempIds) && schedule.getGroupType() == MUSIC) {
+                List<Map<Integer, String>> studentSubjectNameMaps = subjectDao.findStudentSubjectNameMaps(tempIds);
+                Map<Integer, String> studentSubjectNameMap = MapUtil.convertIntegerMap(studentSubjectNameMaps);
+                List<Map<Integer, Long>> studentSubjectIdMaps = subjectDao.findStudentSubjectIdMaps(tempIds);
+                Map<Integer, Long> studentSubjectIdMap = MapUtil.convertIntegerMap(studentSubjectIdMaps);
                 truantStudent.forEach(studentAttendanceViewDto -> {
                     if (Objects.nonNull(studentAttendanceViewDto.getBeMerged()) && studentAttendanceViewDto.getBeMerged()) {
                         studentAttendanceViewDto.setSubjectName("被合并学员");
+                    } else {
+                        studentAttendanceViewDto.setSubjectName(studentSubjectNameMap.get(studentAttendanceViewDto.getStudentId().intValue()));
+                        studentAttendanceViewDto.setSubjectId(studentSubjectIdMap.get(studentAttendanceViewDto.getStudentId().intValue()));
                     }
                 });
             } else if (schedule.getGroupType() != MUSIC) {

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

@@ -140,7 +140,7 @@ public class ExtracurricularExercisesServiceImpl extends BaseServiceImpl<Long, E
                     extracurricularExercisesReplies.add(JSON.parseObject(JSON.toJSONString(studentExtraExercise),ExtracurricularExercisesReply.class));
                 }
                 if (CollectionUtils.isEmpty(musicScoreSubjectDto.getStudentLessonTrainingDetails())) {
-                    continue;
+                    throw new BizException("有部分声部未选择曲目");
                 }
                 for (StudentLessonTrainingDetailWrapper.AddStudentLessonTrainingDetail studentLessonTrainingDetail : musicScoreSubjectDto.getStudentLessonTrainingDetails()) {
                     studentLessonTrainingDetail.setSubjectId(musicScoreSubjectDto.getSubjectId());

+ 5 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentLessonExaminationDetailServiceImpl.java

@@ -8,11 +8,13 @@ import com.ym.mec.biz.dal.dto.StudentLessonExaminationSaveDto;
 import com.ym.mec.biz.dal.entity.StudentLessonExaminationDetail;
 import com.ym.mec.biz.dal.page.StudentLessonExaminationQueryDto;
 import com.ym.mec.biz.service.StudentLessonExaminationDetailService;
+import com.ym.mec.common.exception.BizException;
 import org.springframework.stereotype.Service;
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.CollectionUtils;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -40,6 +42,9 @@ public class StudentLessonExaminationDetailServiceImpl extends ServiceImpl<Stude
         for (StudentLessonExaminationSaveDto dto : studentLessonExaminationSaveDtos) {
             String[] studentIds = dto.getStudentIds().split(",");
             List<LessonExaminationDetailDto> detailDtos = dto.getExaminationDetailDtos();
+            if (CollectionUtils.isEmpty(detailDtos)) {
+                throw new BizException("有部分声部未选择曲目");
+            }
             for (String id : studentIds) {
                 Integer studentId = Integer.parseInt(id);
                 Integer score = 100/detailDtos.size();

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

@@ -378,7 +378,7 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
                                              JSONObject.toJSONString(scoreSubjectDto.getMusicScoreHomeworkDtoList()),
                                              userIdList));
                             if (CollectionUtils.isEmpty(scoreSubjectDto.getStudentLessonTrainingDetails())) {
-                                continue;
+                                throw new BizException("有部分声部未选择曲目");
                             }
 
                             for (StudentLessonTrainingDetailWrapper.AddStudentLessonTrainingDetail studentLessonTrainingDetail : scoreSubjectDto.getStudentLessonTrainingDetails()) {

+ 0 - 3
mec-biz/src/main/resources/config/mybatis/ClassGroupStudentMapperMapper.xml

@@ -205,15 +205,12 @@
             cssp.be_merged_,
             st.current_grade_num_,
             st.current_class_,
-        s.id_ as subject_id_,
-        s.name_ as subject_name_,
             IF(sa.status_ IS NULL,'TRUANT',sa.status_) status_
         FROM
             course_schedule_student_payment cssp
             LEFT JOIN sys_user su ON cssp.user_id_ = su.id_
             LEFT JOIN student st ON st.user_id_ = su.id_
             LEFT JOIN student_attendance sa ON cssp.course_schedule_id_ = sa.course_schedule_id_ AND cssp.user_id_ = sa.user_id_
-        left join subject s on st.subject_id_list_ = s.id_
         WHERE
             cssp.course_schedule_id_ =#{courseScheduleId}
             AND su.id_ IS NOT NULL

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

@@ -4044,7 +4044,8 @@
         SELECT su.avatar_,su.username_,sa.user_id_,sb.name_ subject_name_,sa.qualified_flag_,s.repair_flag_
         FROM student_attendance sa
         LEFT JOIN student s ON s.user_id_ = sa.user_id_
-        LEFT JOIN `subject` sb ON sb.id_ = s.subject_id_list_
+        left join student_registration sr on sr.user_id_ = sa.user_id_ and sr.music_group_id_ = sa.music_group_id_
+        LEFT JOIN `subject` sb ON sb.id_ = sr.subject_id_
         LEFT JOIN sys_user su ON su.id_ = s.user_id_
         WHERE sa.id_ IS NOT NULL AND sa.course_schedule_id_ = #{courseScheduleId} AND sa.status_ IN ('NORMAL','LATE')
         <include refid="global.limit"/>

+ 3 - 2
mec-biz/src/main/resources/config/mybatis/CourseScheduleStudentPaymentMapper.xml

@@ -834,11 +834,12 @@
     <select id="getCourseStudents" resultType="com.ym.mec.biz.dal.dto.BasicUserDto">
 		SELECT cssp.user_id_ userId,st.member_rank_setting_id_ memberRankSettingId,
 		       s.name_ subjectName,su.avatar_ headUrl,su.username_ name,
-		       st.subject_id_list_ subjectIdList,st.repair_flag_ repairFlag
+                s.id_ subjectIdList,st.repair_flag_ repairFlag
 		FROM course_schedule_student_payment cssp
 		LEFT JOIN sys_user su ON su.id_ = cssp.user_id_
 		LEFT JOIN student st ON st.user_id_ = cssp.user_id_
-		LEFT JOIN `subject` s ON s.id_ = st.subject_id_list_
+        left join student_registration sr on sr.user_id_ = cssp.user_id_ and sr.music_group_id_ = cssp.music_group_id_
+        LEFT JOIN `subject` s ON s.id_ = sr.subject_id_
 		WHERE cssp.course_schedule_id_ = #{courseScheduleId}
 	</select>
 	<select id="hasCourse" resultType="java.lang.Boolean">

+ 3 - 2
mec-biz/src/main/resources/config/mybatis/ExtracurricularExercisesMapper.xml

@@ -218,7 +218,7 @@
 			su.avatar_ headUrl,
 			GROUP_CONCAT(sub.name_) subjectName,
 		    stu.member_rank_setting_id_ memberRankSettingId,
-			stu.subject_id_list_ subjectIdList,
+            sub.id_ subjectIdList,
 			sees.music_group_id_ musicGroupId
 		FROM
 			student_extracurricular_exercises_situation_ sees
@@ -226,8 +226,9 @@
 				LEFT JOIN class_group_student_mapper cgsm ON sees.student_id_ = cgsm.user_id_
 			</if>
 			LEFT JOIN student stu ON stu.user_id_ = sees.student_id_
+            left join student_registration sr on sees.student_id_ = sr.user_id_ and sr.music_group_id_ = sees.music_group_id_
 			LEFT JOIN sys_user su ON su.id_ = sees.student_id_
-			LEFT JOIN `subject` sub ON FIND_IN_SET( sub.id_, stu.subject_id_list_ )
+			LEFT JOIN `subject` sub ON sub.id_ = sr.subject_id_
 		WHERE
 			sees.monday_ = #{startDate}
 			AND sees.teacher_id_ = #{teacherId}

+ 8 - 1
mec-teacher/src/main/java/com/ym/mec/teacher/controller/ExtracurricularExercisesController.java

@@ -5,6 +5,7 @@ import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.dao.ClassGroupStudentMapperDao;
 import com.ym.mec.biz.dal.dao.StudentDao;
 import com.ym.mec.biz.dal.dao.StudentRegistrationDao;
+import com.ym.mec.biz.dal.dao.SubjectDao;
 import com.ym.mec.biz.dal.dto.BasicUserDto;
 import com.ym.mec.biz.dal.dto.CourseHomeworkWrapper;
 import com.ym.mec.biz.dal.dto.StudentExercisesSituationDto;
@@ -57,6 +58,9 @@ public class ExtracurricularExercisesController extends BaseController {
     @Autowired
     private StudentDao studentDao;
 
+    @Autowired
+    private SubjectDao subjectDao;
+
     @ApiOperation(value = "获取教师有服务指标的课程列表")
     @GetMapping("/queryTeacherServeHomeworkDetail")
     public HttpResponseResult queryTeacherServeHomeworkDetail(TeacherServeHomeworkQueryInfo queryInfo) {
@@ -222,7 +226,10 @@ public class ExtracurricularExercisesController extends BaseController {
         List<ClassGroup> classGroups = classGroupStudentMapperDao.getStudentClassGroupWithTeacher(studentIds, sysUser.getId(), musicGroupId);
         result.put("classGroups", classGroups);
 
-        List<Subject> studentSubjects = studentDao.getStudentSubjects(studentIds);
+//        List<Subject> studentSubjects = studentDao.getStudentSubjects(studentIds);
+//        result.put("subjects", studentSubjects);
+        List<Integer> subjectIds = dontServeStudents.stream().map(BasicUserDto::getSubjectId).collect(Collectors.toList());
+        List<Subject> studentSubjects = subjectDao.findBySubjectIds(subjectIds);
         result.put("subjects", studentSubjects);
         return succeed(result);
     }