浏览代码

教师端学员列表新增声部编号

zouxuan 4 年之前
父节点
当前提交
694e3a57be

+ 9 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/SubjectDao.java

@@ -138,6 +138,15 @@ public interface SubjectDao extends BaseDAO<Integer, Subject> {
     List<Map<Integer, String>> findStudentSubjectNameMaps(@Param("studentInfos") List<StudentAttendanceViewDto> studentInfos);
 
     /**
+     * @describe
+     * @author Joburgess
+     * @date 2019/12/19
+     * @param studentInfos:
+     * @return java.util.List<java.util.Map<java.lang.Integer,java.lang.String>>
+     */
+    List<Map<Integer, Long>> findStudentSubjectIdMaps(@Param("studentInfos") List<StudentAttendanceViewDto> studentInfos);
+
+    /**
      * 获取声部名称
      * @param subjectIdList
      * @return

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

@@ -1389,8 +1389,12 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
             if (!CollectionUtils.isEmpty(tempIds)) {
                 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 -> {
                     studentAttendanceViewDto.setSubjectName(studentSubjectNameMap.get(studentAttendanceViewDto.getStudentId().intValue()));
+                    studentAttendanceViewDto.setSubjectId(studentSubjectIdMap.get(studentAttendanceViewDto.getStudentId().intValue()));
+
                 });
             }
         }

+ 12 - 0
mec-biz/src/main/resources/config/mybatis/SubjectMapper.xml

@@ -223,6 +223,18 @@
             sr.user_id_=#{student.studentId} AND sr.music_group_id_=#{student.musicGroupId}
         </foreach>
     </select>
+    <select id="findStudentSubjectIdMaps" resultType="java.util.Map">
+        SELECT
+            sr.user_id_ as 'key',
+            sr.subject_id_ as 'value'
+        FROM
+            student_registration sr
+        WHERE 1=1
+        AND
+        <foreach collection="studentInfos" item="student" open="(" close=")" separator=" OR ">
+            sr.user_id_=#{student.studentId} AND sr.music_group_id_=#{student.musicGroupId}
+        </foreach>
+    </select>
     <select id="findBySubjectIds" resultMap="Subject">
       SELECT * FROM subject WHERE id_ IN
       <foreach collection="subjectIds" item="subjectId" separator="," open="(" close=")">