Jelajahi Sumber

作业改版

zouxuan 2 tahun lalu
induk
melakukan
8361ff5cdf

+ 2 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentLessonExaminationDao.java

@@ -33,5 +33,7 @@ public interface StudentLessonExaminationDao extends BaseMapper<StudentLessonExa
     int queryNotSuccessExaminationList(Integer userId);
 
     void updateTrainingScore(@Param("lessonExaminationId") Long lessonExaminationId, @Param("userId") Integer userId);
+
+    List<Map<Long, String>> getStudentName(@Param("examinationIds") List<Long> examinationIds);
 }
 

+ 3 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/LessonExaminationResultDto.java

@@ -54,5 +54,8 @@ public class LessonExaminationResultDto{
 
     @ApiModelProperty(value = "预计人数")
     private Integer expectNum;
+
+    @ApiModelProperty(value = "学员姓名")
+    private String studentNames;
 }
 

+ 9 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/LessonExaminationResultDto1.java

@@ -20,12 +20,21 @@ public class LessonExaminationResultDto1 {
     @ApiModelProperty(value = "班级名称")
     private String classGroupName;
 
+    @ApiModelProperty(value = "乐团编号")
+    private String musicGroupId;
+
     @ApiModelProperty(value = "乐团名称")
     private String musicGroupName;
 
     @ApiModelProperty(value = "班级编号")
     private Long classGroupId;
 
+    @ApiModelProperty(value = "老师姓名")
+    private String teacherName;
+
+    @ApiModelProperty(value = "老师头像")
+    private String avatar;
+
     @ApiModelProperty(value = "截止日期")
     private String expireDate;
 

+ 0 - 3
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/LessonExaminationSaveDto.java

@@ -24,9 +24,6 @@ public class LessonExaminationSaveDto {
     @ApiModelProperty(value = "课程编号")
     private Long courseScheduleId;
 
-    @ApiModelProperty(value = "截止日期")
-    private Date expireDate;
-
     @ApiModelProperty(value = "学员总数")
     private Integer expectNum;
 

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

@@ -2,7 +2,6 @@ package com.ym.mec.biz.service.impl;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ym.mec.biz.dal.dao.*;
-import com.ym.mec.biz.dal.dto.LessonExaminationDetailDto;
 import com.ym.mec.biz.dal.dto.LessonExaminationResultDto;
 import com.ym.mec.biz.dal.dto.LessonExaminationResultDto1;
 import com.ym.mec.biz.dal.dto.LessonExaminationSaveDto;
@@ -121,6 +120,11 @@ public class LessonExaminationServiceImpl extends ServiceImpl<LessonExaminationD
             if(CollectionUtils.isNotEmpty(musicGroupIds)){
                 musicGroupNameMap = MapUtil.convertIntegerMap(musicGroupDao.queryMusicGroupNameMap(musicGroupIds));
             }
+            List<Long> examinationIds = dataList.stream().filter(e -> StringUtils.isEmpty(e.getMusicGroupId())).map(e -> e.getId()).collect(Collectors.toList());
+            Map<Long,String> nameMap = Collections.EMPTY_MAP;
+            if(CollectionUtils.isNotEmpty(examinationIds)){
+                nameMap = MapUtil.convertMybatisMap(studentLessonExaminationService.getDao().getStudentName(examinationIds));
+            }
             List<Integer> teacherIds = dataList.stream().map(e -> e.getTeacherId()).distinct().collect(Collectors.toList());
             Map<Integer, String> teacherNameMap = MapUtil.convertIntegerMap(teacherDao.queryNameByIdList(teacherIds));
             Set<Integer> organIds = dataList.stream().map(e -> e.getOrganId()).collect(Collectors.toSet());
@@ -129,6 +133,7 @@ public class LessonExaminationServiceImpl extends ServiceImpl<LessonExaminationD
                 vo.setOrganName(organNameMap.get(vo.getOrganId()));
                 vo.setMusicGroupName(musicGroupNameMap.get(vo.getMusicGroupId()));
                 vo.setTeacherName(teacherNameMap.get(vo.getTeacherId()));
+                vo.setStudentNames(nameMap.get(vo.getId()));
             }
         }
         if (count == 0) {
@@ -149,6 +154,15 @@ public class LessonExaminationServiceImpl extends ServiceImpl<LessonExaminationD
             pageInfo.setTotal(count);
             params.put("offset", pageInfo.getOffset());
             dataList = baseMapper.queryPageByStudent(params);
+            Set<String> musicGroupIds = dataList.stream().filter(e -> StringUtils.isNotEmpty(e.getMusicGroupId())).
+                    map(e -> e.getMusicGroupId()).collect(Collectors.toSet());
+            Map<String, String> musicGroupNameMap = Collections.EMPTY_MAP;
+            if(CollectionUtils.isNotEmpty(musicGroupIds)){
+                musicGroupNameMap = MapUtil.convertIntegerMap(musicGroupDao.queryMusicGroupNameMap(musicGroupIds));
+            }
+            for (LessonExaminationResultDto1 vo : dataList) {
+                vo.setMusicGroupName(musicGroupNameMap.get(vo.getMusicGroupId()));
+            }
         }
         if (count == 0) {
             dataList = new ArrayList<>();

+ 6 - 5
mec-biz/src/main/resources/config/mybatis/LessonExaminationMapper.xml

@@ -20,11 +20,11 @@
     <insert id="insertBatch" keyColumn="id_" keyProperty="id" useGeneratedKeys="true"
             parameterType="com.ym.mec.biz.dal.dto.LessonExaminationSaveDto">
         insert into lesson_examination(organ_id_, music_group_id_, class_group_id_, course_schedule_id_, teacher_id_,
-        expire_date_, standard_num_, training_num_, expect_num_,tenant_id_)
+        expire_date_,expect_num_,tenant_id_)
         values
         <foreach collection="entities" item="entity" separator=",">
             (#{entity.organId}, #{entity.musicScoreId}, #{entity.classGroupId}, #{entity.courseScheduleId}, #{entity.teacherId},
-             #{entity.expireDate}, #{entity.standardNum},#{entity.trainingNum}, #{entity.expectNum},#{entity.tenantId})
+             #{entity.expireDate},#{entity.expectNum},#{entity.tenantId})
         </foreach>
     </insert>
     <update id="updateTrainingNum">
@@ -97,12 +97,13 @@
     </sql>
 
     <select id="queryPageByStudent" resultType="com.ym.mec.biz.dal.dto.LessonExaminationResultDto1">
-        select le.expire_date_ expireDate,cg.name_ classGroupName,mg.name_ musicGroupName,
-               sle.training_score_ trainingScore,sle.lesson_examination_id_ LessonExaminationId,sle.user_id_ userId
+        select le.expire_date_ expireDate,cg.name_ classGroupName,le.music_group_id_ musicGroupId,
+               sle.training_score_ trainingScore,sle.lesson_examination_id_ LessonExaminationId,sle.user_id_ userId,
+        su.real_name_ teacherName,su.avatar_ avatar
         from student_lesson_examination sle
         left join lesson_examination le ON sle.lesson_examination_id_ = le.id_
         left join class_group cg ON cg.id_ = le.class_group_id_
-        left join music_group mg ON mg.id_ = le.music_group_id_
+        left join sys_user su ON su.id_ = le.teacher_id_
         <include refid="queryPageByStudentSql"/>
         ORDER BY sle.id_ DESC
     </select>

+ 3 - 4
mec-biz/src/main/resources/config/mybatis/StudentLessonExaminationDetailMapper.xml

@@ -20,13 +20,12 @@
 
     <insert id="insertBatch" keyColumn="id_" keyProperty="id" useGeneratedKeys="true"
             parameterType="com.ym.mec.biz.dal.entity.StudentLessonExaminationDetail">
-        insert into student_lesson_examination_detail(user_id_, lesson_examination_id_, music_score_id_, heard_level_, standard_flag_,
-                                                      training_score_, standard_score_, avg_score_, actual_avg_score_, part_index_, training_time_)
+        insert into student_lesson_examination_detail(user_id_, lesson_examination_id_, music_score_id_, heard_level_,standard_score_,
+                                                      avg_score_, part_index_)
         values
         <foreach collection="entities" item="entity" separator=",">
             (#{entity.userId}, #{entity.lessonExaminationId},#{entity.musicScoreId}, #{entity.heardLevel},
-             #{entity.standardFlag}, #{entity.trainingScore},#{entity.standardScore}, #{entity.avgScore},
-            #{entity.actualAvgScore},#{entity.partIndex}, #{entity.trainingTime})
+             #{entity.standardScore}, #{entity.avgScore},#{entity.partIndex})
         </foreach>
     </insert>
     <select id="queryAll" resultType="com.ym.mec.biz.dal.dto.StudentLessonExaminationDetailDto">

+ 11 - 8
mec-biz/src/main/resources/config/mybatis/StudentLessonExaminationMapper.xml

@@ -15,18 +15,12 @@
         <result column="update_time_" property="updateTime"/>
     </resultMap>
 
-    <sql id="Base_Column_List">
-        id_
-        , user_id_, lesson_examination_id_, training_score_, training_flag_,standard_flag_, training_time_,subject_id_, create_time_, update_time_
-    </sql>
-
     <insert id="insertBatch" keyColumn="id_" keyProperty="id" useGeneratedKeys="true"
             parameterType="com.ym.mec.biz.dal.entity.StudentLessonExamination">
-        insert into student_lesson_examination(user_id_, lesson_examination_id_, training_score_, training_flag_,standard_flag_, training_time_,subject_id_)
+        insert into student_lesson_examination(user_id_, lesson_examination_id_,subject_id_)
         values
         <foreach collection="entities" item="entity" separator=",">
-            (#{entity.userId}, #{entity.lessonExaminationId}, #{entity.trainingScore}, #{entity.trainingFlag},
-            #{entity.standardFlag}, #{entity.trainingTime}, #{entity.subjectId})
+            (#{entity.userId}, #{entity.lessonExaminationId}, #{entity.subjectId})
         </foreach>
     </insert>
     <update id="updateTrainingScore">
@@ -101,4 +95,13 @@
           AND sle.standard_flag_ = 0
         and le.expire_date_ &gt; NOW()
     </select>
+    <select id="getStudentName" resultType="java.util.Map">
+        select sled.lesson_examination_id_ 'key',GROUP_CONCAT(DISTINCT su.username_) 'value' from student_lesson_examination_detail sled
+        left join sys_user su ON su.id_ = sled.user_id_
+        where sled.lesson_examination_id_ IN
+        <foreach collection="examinationIds" open="(" close=")" separator="," item="id">
+            #{id}
+        </foreach>
+        group by sled.lesson_examination_id_
+    </select>
 </mapper>