Browse Source

Merge branch 'feature_HW_20230331' of http://git.dayaedu.com/yonge/mec into feature_HW_20230331

liujunchi 2 years ago
parent
commit
3863a92422
21 changed files with 250 additions and 139 deletions
  1. 3 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/LessonExaminationDao.java
  2. 3 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentLessonExaminationDao.java
  3. 20 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/LessonExaminationResultDto.java
  4. 1 10
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/LessonExaminationResultDto1.java
  5. 8 2
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/StudentLessonExaminationDetailDto1.java
  6. 2 2
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/StudentLessonExaminationDto.java
  7. 1 1
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/StudentLessonExaminationDto1.java
  8. 8 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/LessonExamination.java
  9. 8 4
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/StudentLessonExamination.java
  10. 14 10
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/StudentLessonExaminationDetail.java
  11. 6 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/page/LessonExaminationQueryInfo.java
  12. 1 5
      mec-biz/src/main/java/com/ym/mec/biz/service/LessonExaminationService.java
  13. 1 1
      mec-biz/src/main/java/com/ym/mec/biz/service/StudentLessonExaminationService.java
  14. 33 15
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/LessonExaminationServiceImpl.java
  15. 2 2
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentLessonExaminationServiceImpl.java
  16. 47 7
      mec-biz/src/main/resources/config/mybatis/LessonExaminationMapper.xml
  17. 42 15
      mec-biz/src/main/resources/config/mybatis/StudentLessonExaminationMapper.xml
  18. 31 4
      mec-student/src/main/java/com/ym/mec/student/controller/LessonExaminationController.java
  19. 0 51
      mec-student/src/main/java/com/ym/mec/student/controller/StudentLessonExaminationController.java
  20. 1 1
      mec-teacher/src/main/java/com/ym/mec/teacher/controller/StudentLessonExaminationDetailController.java
  21. 18 9
      mec-web/src/main/java/com/ym/mec/web/controller/LessonExaminationController.java

+ 3 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/LessonExaminationDao.java

@@ -3,6 +3,7 @@ package com.ym.mec.biz.dal.dao;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.ym.mec.biz.dal.dto.LessonExaminationResultDto;
 import com.ym.mec.biz.dal.dto.LessonExaminationResultDto1;
+import com.ym.mec.biz.dal.dto.LessonExaminationResultDto2;
 import com.ym.mec.biz.dal.dto.LessonExaminationSaveDto;
 import com.ym.mec.biz.dal.entity.LessonExamination;
 import org.apache.ibatis.annotations.Param;
@@ -27,5 +28,7 @@ public interface LessonExaminationDao extends BaseMapper<LessonExamination> {
     List<LessonExaminationResultDto1> queryPageByStudent(Map<String, Object> params);
 
     int findCountByStudent(Map<String, Object> params);
+
+    LessonExaminationResultDto1 getOneByStudent(@Param("userId") Integer userId, @Param("lessonExaminationId") Long lessonExaminationId);
 }
 

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

@@ -2,6 +2,7 @@ package com.ym.mec.biz.dal.dao;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.ym.mec.biz.dal.dto.StudentLessonExaminationDto;
+import com.ym.mec.biz.dal.dto.StudentLessonExaminationDto1;
 import com.ym.mec.biz.dal.entity.StudentLessonExamination;
 import org.apache.ibatis.annotations.Param;
 
@@ -21,5 +22,7 @@ public interface StudentLessonExaminationDao extends BaseMapper<StudentLessonExa
     List<StudentLessonExaminationDto> queryPage(Map<String, Object> params);
 
     int findCount(Map<String, Object> params);
+
+    List<StudentLessonExaminationDto1> queryStudentPage(@Param("lessonExaminationId") Long lessonExaminationId);
 }
 

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

@@ -4,6 +4,8 @@ package com.ym.mec.biz.dal.dto;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
+import java.util.Date;
+
 /**
  *
  * @author zx
@@ -14,15 +16,33 @@ public class LessonExaminationResultDto{
     @ApiModelProperty(value = "测验编号")
     private Long id;
 
+    @ApiModelProperty(value = "分部")
+    private Integer organId;
+
+    @ApiModelProperty(value = "分部")
+    private String organName;
+
     @ApiModelProperty(value = "班级名称")
     private String classGroupName;
 
+    @ApiModelProperty(value = "乐团编号")
+    private String musicGroupId;
+
     @ApiModelProperty(value = "乐团名称")
     private String musicGroupName;
 
+    @ApiModelProperty(value = "老师姓名")
+    private String teacherName;
+
+    @ApiModelProperty(value = "老师编号")
+    private Integer teacherId;
+
     @ApiModelProperty(value = "班级编号")
     private Long classGroupId;
 
+    @ApiModelProperty(value = "布置时间")
+    private Date createTime;
+
     @ApiModelProperty(value = "截止日期")
     private String expireDate;
 

+ 1 - 10
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/LessonExaminationResultDto1.java

@@ -29,16 +29,7 @@ public class LessonExaminationResultDto1 {
     @ApiModelProperty(value = "截止日期")
     private String expireDate;
 
-    @ApiModelProperty(value = "是否截止")
-    private Boolean expireFlag;
-
-    @ApiModelProperty(value = "是否达标")
-    private Boolean standardFlag;
-
-    @ApiModelProperty(value = "是否训练")
-    private Boolean trainingFlag;
-
     @ApiModelProperty(value = "测评分数")
-    private Integer score;
+    private Integer trainingScore;
 }
 

+ 8 - 2
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/StudentLessonExaminationDetailDto1.java

@@ -18,7 +18,13 @@ public class StudentLessonExaminationDetailDto1 {
     @ApiModelProperty(value = "练习最高分数")
     private Integer trainingScore;
 
-    @ApiModelProperty(value = "合格分数")
-    private Integer score;
+    @ApiModelProperty(value = "达标分数")
+    private Integer standardScore;
+
+    @ApiModelProperty(value = "实际均摊得分")
+    private Integer actualAvgScore;
+
+    @ApiModelProperty(value = "均摊总分")
+    private Integer avgScore;
 }
 

+ 2 - 2
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/StudentLessonExaminationDto.java

@@ -20,11 +20,11 @@ public class StudentLessonExaminationDto {
     @ApiModelProperty(value = "学员姓名")
     private String username;
 
-    @ApiModelProperty(value = "最大分数训练评测时间")
+    @ApiModelProperty(value = "最评测时间")
     private Date trainingTime;
 
     @ApiModelProperty(value = "测评分数")
-    private Integer score;
+    private Integer trainingScore;
 
     @ApiModelProperty(value = "是否会员")
     private Boolean memberFlag;

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/StudentLessonExaminationDto1.java

@@ -21,7 +21,7 @@ public class StudentLessonExaminationDto1 {
     private String phone;
 
     @ApiModelProperty(value = "测评分数")
-    private Integer score;
+    private Integer trainingScore;
 
     @ApiModelProperty(value = "学员编号")
     private Integer userId;

+ 8 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/LessonExamination.java

@@ -23,6 +23,14 @@ public class LessonExamination{
     @TableId(value = "id_", type = IdType.AUTO)
     private Long id;
 
+    @TableField("organ_id_")
+    @ApiModelProperty(value = "分部编号")
+    private Integer organId;
+
+    @TableField("music_group_id_")
+    @ApiModelProperty(value = "乐团编号")
+    private String musicGroupId;
+
     @TableField("class_group_id_")
     @ApiModelProperty(value = "班级编号")
     private Long classGroupId;

+ 8 - 4
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/StudentLessonExamination.java

@@ -32,10 +32,6 @@ public class StudentLessonExamination extends BaseEntity {
     @ApiModelProperty(value = "测验编号")
     private Long lessonExaminationId;
 
-    @TableField("score_")
-    @ApiModelProperty(value = "最高练习分数")
-    private Integer score;
-
     @TableField("standard_flag_")
     @ApiModelProperty(value = "是否达标")
     private Integer standardFlag;
@@ -48,6 +44,14 @@ public class StudentLessonExamination extends BaseEntity {
     @ApiModelProperty(value = "测评总分")
     private Boolean trainingScore;
 
+    @TableField("training_time_")
+    @ApiModelProperty(value = "最后测评时间")
+    private Date trainingTime;
+
+    @TableField("subject_id_")
+    @ApiModelProperty(value = "声部")
+    private Integer subjectId;
+
     @TableField("create_time_")
     @ApiModelProperty(value = "创建时间")
     private Date createTime;

+ 14 - 10
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/StudentLessonExaminationDetail.java

@@ -44,28 +44,32 @@ public class StudentLessonExaminationDetail implements Serializable {
     @ApiModelProperty(value = "评测难度")
     private String heardLevel;
 
-    @TableField("training_score_")
-    @ApiModelProperty(value = "练习最高分数")
-    private Integer trainingScore;
-
     @TableField("training_flag_")
     @ApiModelProperty(value = "是否练习")
     private Boolean trainingFlag;
 
-    @TableField("score_")
-    @ApiModelProperty(value = "合格分数")
-    private Integer score;
-
     @TableField("standard_score_")
-    @ApiModelProperty(value = "达标分")
+    @ApiModelProperty(value = "达标分数")
     private Integer standardScore;
 
+    @TableField("training_score_")
+    @ApiModelProperty(value = "练习最高分数")
+    private Integer trainingScore;
+
+    @TableField("actual_avg_score_")
+    @ApiModelProperty(value = "实际均摊得分")
+    private Integer actualAvgScore;
+
+    @TableField("avg_score_")
+    @ApiModelProperty(value = "均摊总分")
+    private Integer avgScore;
+
     @TableField("part_index_")
     @ApiModelProperty(value = "分谱")
     private Integer partIndex;
 
     @TableField("training_time_")
-    @ApiModelProperty(value = "最高分提交时间")
+    @ApiModelProperty(value = "最提交时间")
     private Date trainingTime;
 
     @TableField("create_time_")

+ 6 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/page/LessonExaminationQueryInfo.java

@@ -7,6 +7,12 @@ import lombok.Data;
 @Data
 public class LessonExaminationQueryInfo extends QueryInfo {
 
+    @ApiModelProperty(value = "分部编号")
+    private String organId;
+
+    @ApiModelProperty(value = "乐团编号")
+    private String musicGroupId;
+
     @ApiModelProperty(value = "老师编号")
     private Integer teacherId;
 

+ 1 - 5
mec-biz/src/main/java/com/ym/mec/biz/service/LessonExaminationService.java

@@ -4,16 +4,12 @@ import com.baomidou.mybatisplus.extension.service.IService;
 import com.ym.mec.biz.dal.dao.LessonExaminationDao;
 import com.ym.mec.biz.dal.dto.LessonExaminationResultDto;
 import com.ym.mec.biz.dal.dto.LessonExaminationResultDto1;
-import com.ym.mec.biz.dal.dto.LessonExaminationResultDto2;
 import com.ym.mec.biz.dal.dto.LessonExaminationSaveDto;
 import com.ym.mec.biz.dal.entity.LessonExamination;
 import com.ym.mec.biz.dal.page.LessonExaminationQueryInfo;
 import com.ym.mec.biz.dal.page.LessonExaminationQueryInfo1;
-import com.ym.mec.biz.dal.page.LessonExaminationQueryInfo2;
 import com.ym.mec.common.page.PageInfo;
 
-import java.util.List;
-
 /**
  * 进度评测表(LessonExamination)表服务接口
  *
@@ -30,6 +26,6 @@ public interface LessonExaminationService extends IService<LessonExamination> {
 
     PageInfo<LessonExaminationResultDto1> queryPageByStudent(LessonExaminationQueryInfo1 queryInfo);
 
-    PageInfo<LessonExaminationResultDto2> queryPageByWeb(LessonExaminationQueryInfo2 queryInfo);
+    LessonExaminationResultDto1 getOne(Integer userId, Long lessonExaminationId);
 }
 

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

@@ -35,6 +35,6 @@ public interface StudentLessonExaminationService extends IService<StudentLessonE
     */
     void submit(LessonExaminationSubmitDto submitDto);
 
-    PageInfo<StudentLessonExaminationDto1> queryPageByWeb(Integer studentLessonExaminationId);
+    List<StudentLessonExaminationDto1> queryStudentPage(Long lessonExaminationId);
 }
 

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

@@ -1,34 +1,31 @@
 package com.ym.mec.biz.service.impl;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.ym.mec.biz.dal.dao.LessonExaminationDao;
-import com.ym.mec.biz.dal.dao.SysConfigDao;
-import com.ym.mec.biz.dal.dto.*;
+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;
 import com.ym.mec.biz.dal.entity.LessonExamination;
-import com.ym.mec.biz.dal.entity.StudentLessonExamination;
 import com.ym.mec.biz.dal.page.LessonExaminationQueryInfo;
 import com.ym.mec.biz.dal.page.LessonExaminationQueryInfo1;
-import com.ym.mec.biz.dal.page.LessonExaminationQueryInfo2;
 import com.ym.mec.biz.service.LessonExaminationService;
 import com.ym.mec.biz.service.StudentLessonExaminationDetailService;
 import com.ym.mec.biz.service.StudentLessonExaminationService;
 import com.ym.mec.common.exception.BizException;
 import com.ym.mec.common.page.PageInfo;
-import com.ym.mec.common.page.QueryInfo;
-import com.ym.mec.common.service.IdGeneratorService;
 import com.ym.mec.util.collection.MapUtil;
 import com.ym.mec.util.date.DateUtil;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
+import org.apache.commons.collections.CollectionUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
-import org.springframework.util.CollectionUtils;
-import org.springframework.util.StringUtils;
-import org.springframework.validation.BindException;
 
 import java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * 进度评测表(LessonExamination)表服务实现类
@@ -47,6 +44,12 @@ public class LessonExaminationServiceImpl extends ServiceImpl<LessonExaminationD
     private StudentLessonExaminationService studentLessonExaminationService;
     @Autowired
     private StudentLessonExaminationDetailService studentLessonExaminationDetailService;
+    @Autowired
+    private MusicGroupDao musicGroupDao;
+    @Autowired
+    private TeacherDao teacherDao;
+    @Autowired
+    private OrganizationDao organizationDao;
 
     @Override
     public LessonExaminationDao getDao() {
@@ -92,6 +95,21 @@ public class LessonExaminationServiceImpl extends ServiceImpl<LessonExaminationD
             pageInfo.setTotal(count);
             params.put("offset", pageInfo.getOffset());
             dataList = baseMapper.queryPage(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));
+            }
+            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());
+            Map<Integer, String> organNameMap = MapUtil.convertIntegerMap(organizationDao.findOrganNameMapList(organIds));
+            for (LessonExaminationResultDto vo : dataList) {
+                vo.setOrganName(organNameMap.get(vo.getOrganId()));
+                vo.setMusicGroupName(musicGroupNameMap.get(vo.getMusicGroupId()));
+                vo.setTeacherName(teacherNameMap.get(vo.getTeacherId()));
+            }
         }
         if (count == 0) {
             dataList = new ArrayList<>();
@@ -120,8 +138,8 @@ public class LessonExaminationServiceImpl extends ServiceImpl<LessonExaminationD
     }
 
     @Override
-    public PageInfo<LessonExaminationResultDto2> queryPageByWeb(LessonExaminationQueryInfo2 queryInfo) {
-        return null;
+    public LessonExaminationResultDto1 getOne(Integer userId, Long lessonExaminationId) {
+        return baseMapper.getOneByStudent(userId,lessonExaminationId);
     }
 
 }

+ 2 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentLessonExaminationServiceImpl.java

@@ -83,8 +83,8 @@ public class StudentLessonExaminationServiceImpl extends ServiceImpl<StudentLess
     }
 
     @Override
-    public PageInfo<StudentLessonExaminationDto1> queryPageByWeb(Integer studentLessonExaminationId) {
-        return null;
+    public List<StudentLessonExaminationDto1> queryStudentPage(Long lessonExaminationId) {
+        return baseMapper.queryStudentPage(lessonExaminationId);
     }
 }
 

+ 47 - 7
mec-biz/src/main/resources/config/mybatis/LessonExaminationMapper.xml

@@ -36,11 +36,9 @@
         </foreach>
     </insert>
     <select id="queryPage" resultType="com.ym.mec.biz.dal.dto.LessonExaminationResultDto">
-        select le.expire_date_ expireDate,cg.name_ classGroupName,mg.name_ musicGroupName,le.expect_num_ expectNum,
-               le.training_num_ trainingNum,le.standard_num_ standardNum
+        select le.*,cg.name_ classGroupName
         from lesson_examination le
         left join class_group cg ON cg.id_ = le.class_group_id_
-        left join music_group mg ON mg.id_ = cg.music_group_id_
         <include refid="queryPageSql"/>
         GROUP BY le.id_ ORDER BY le.id_ DESC
         <include refid="global.limit"/>
@@ -53,6 +51,12 @@
     </select>
     <sql id="queryPageSql">
         <where>
+            <if test="musicGroupId != null and musicGroupId != ''">
+                AND le.music_group_id_ = #{musicGroupId}
+            </if>
+            <if test="organId != null and organId != ''">
+                AND FIND_IN_SET(le.organ_id_,#{organId})
+            </if>
             <if test="teacherId != null">
                 AND le.teacher_id_ = #{teacherId}
             </if>
@@ -71,17 +75,53 @@
         </where>
     </sql>
 
+    <sql id="queryPageByStudentSql">
+        <where>
+            <if test="lessonExaminationId != null">
+                AND sle.lesson_examination_id_ = #{lessonExaminationId}
+            </if>
+            <if test="studentId != null">
+                AND sle.user_id_ = #{studentId}
+            </if>
+            <if test="startTime != null and startTime != ''">
+                AND DATE_FORMAT( le.create_time_, '%Y-%m-%d' ) BETWEEN #{startTime} AND #{endTime}
+            </if>
+            <if test="expireFlag != null and expireFlag == true">
+                AND le.expire_date_ &lt; DATE_FORMAT( NOW(), '%Y-%m-%d' )
+            </if>
+            <if test="expireFlag != null and expireFlag == false">
+                AND le.expire_date_ >= DATE_FORMAT( NOW(), '%Y-%m-%d' )
+            </if>
+            <if test="standardFlag != null">
+                AND sle.standard_flag_ = #{standardFlag}
+            </if>
+        </where>
+    </sql>
+
     <select id="queryPageByStudent" resultType="com.ym.mec.biz.dal.dto.LessonExaminationResultDto1">
-        select le.expire_date_ expireDate,cg.name_ classGroupName,mg.name_ musicGroupName,le.expect_num_ expectNum,
-               le.training_num_ trainingNum,le.standard_num_ standardNum,sle.score_
+        select le.expire_date_ expireDate,cg.name_ classGroupName,mg.name_ musicGroupName,
+               sle.training_score_ trainingScore,sle.lesson_examination_id_ LessonExaminationId,sle.user_id_ userId
         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_ = cg.music_group_id_
-        GROUP BY le.id_ ORDER BY le.id_ DESC
+        <include refid="queryPageByStudentSql"/>
+        ORDER BY sle.id_ DESC
     </select>
     <select id="findCountByStudent" resultType="java.lang.Integer">
-
+        select COUNT(sle.id_)
+        from student_lesson_examination sle
+        left join lesson_examination le ON sle.lesson_examination_id_ = le.id_
+        <include refid="queryPageByStudentSql"/>
+    </select>
+    <select id="getOneByStudent" 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
+        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_ = cg.music_group_id_
+        WHERE sle.lesson_examination_id_ = #{lessonExaminationId} AND sle.user_id_ = #{userId} LIMIT 1
     </select>
 
 </mapper>

+ 42 - 15
mec-biz/src/main/resources/config/mybatis/StudentLessonExaminationMapper.xml

@@ -2,29 +2,31 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.ym.mec.biz.dal.dao.StudentLessonExaminationDao">
     <resultMap id="BaseResultMap" type="com.ym.mec.biz.dal.entity.StudentLessonExamination">
-        <id column="id_" jdbcType="INTEGER" property="id"/>
-        <result column="user_id_" jdbcType="INTEGER" property="userId"/>
-        <result column="lesson_examination_id_" jdbcType="INTEGER" property="lessonExaminationId"/>
-        <result column="score_" jdbcType="INTEGER" property="score"/>
-        <result column="training_status_" jdbcType="VARCHAR" property="trainingStatus"/>
-        <result column="expire_date_" jdbcType="TIMESTAMP" property="expireDate"/>
-        <result column="training_time_" jdbcType="TIMESTAMP" property="trainingTime"/>
-        <result column="create_time_" jdbcType="TIMESTAMP" property="createTime"/>
-        <result column="update_time_" jdbcType="TIMESTAMP" property="updateTime"/>
+        <id column="id_" property="id"/>
+        <result column="user_id_" property="userId"/>
+        <result column="lesson_examination_id_" property="lessonExaminationId"/>
+        <result column="training_flag_" property="trainingFlag"/>
+        <result column="standard_flag_" property="standardFlag"/>
+        <result column="training_score_" property="trainingScore"/>
+        <result column="training_time_" property="trainingTime"/>
+        <result column="training_time_" property="trainingTime"/>
+        <result column="subject_id_" property="subjectId"/>
+        <result column="create_time_" property="createTime"/>
+        <result column="update_time_" property="updateTime"/>
     </resultMap>
 
     <sql id="Base_Column_List">
         id_
-        , user_id_, lesson_examination_id_, score_, training_status_, expire_date_, training_time_, create_time_, update_time_
+        , 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_, score_, training_status_, expire_date_,training_time_)
+        insert into student_lesson_examination(user_id_, lesson_examination_id_, training_score_, training_flag_,standard_flag_, training_time_,subject_id_)
         values
         <foreach collection="entities" item="entity" separator=",">
-            (#{entity.userId}, #{entity.lessonExaminationId}, #{entity.score}, #{entity.trainingStatus},
-            #{entity.expireDate}, #{entity.trainingTime})
+            (#{entity.userId}, #{entity.lessonExaminationId}, #{entity.trainingScore}, #{entity.trainingFlag},
+            #{entity.standardFlag}, #{entity.trainingTime}, #{entity.subjectId})
         </foreach>
     </insert>
     <sql id="queryPageSql">
@@ -44,19 +46,44 @@
         </where>
     </sql>
     <select id="queryPage" resultType="com.ym.mec.biz.dal.dto.StudentLessonExaminationDto">
-        select su.avatar_ avatar,su.username_ username,sle.training_time_ trainingTime,sle.score_ score,
+        select su.avatar_ avatar,su.username_ username,sle.training_time_ trainingTime,sle.training_score_ trainingScore,
                CASE WHEN s.membership_end_time_ > NOW() THEN 1 ELSE 0 END memberFlag,
                sle.user_id_ userId,sle.lesson_examination_id_ lessonExaminationId,sb.name_ subjectName
         from student_lesson_examination sle
         left join student s ON s.user_id_ = sle.user_id_
         left join subject sb ON s.subject_id_list_ = sb.id_
         left join sys_user su on s.user_id_ = su.id_
-        ORDER BY sle.score_ DESC,sle.id_
+        ORDER BY sle.training_score_ DESC,sle.id_
         <include refid="global.limit"/>
     </select>
     <select id="findCount" resultType="java.lang.Integer">
         select COUNT(sle.id_) from student_lesson_examination sle
         <include refid="global.limit"/>
     </select>
+    <resultMap id="StudentLessonExaminationDtoMap" type="com.ym.mec.biz.dal.dto.StudentLessonExaminationDto1">
+        <result property="subjectName" column="subjectName"/>
+        <result property="userId" column="user_id_"/>
+        <result property="phone" column="phone_"/>
+        <result property="username" column="username_"/>
+        <result property="trainingScore" column="training_score_"/>
+        <association property="detailDtos" javaType="com.ym.mec.biz.dal.dto.StudentLessonExaminationDetailDto1">
+            <result property="standardScore" column="standard_score_"/>
+            <result property="trainingScore" column="training_score_"/>
+            <result property="actualAvgScore" column="actual_avg_score_"/>
+            <result property="avgScore" column="avg_score_"/>
+            <result property="musicScoreName" column="musicScoreName"/>
+        </association>
+    </resultMap>
+    <select id="queryStudentPage" resultMap="StudentLessonExaminationDtoMap">
+        select sle.user_id_,su.username_,su.phone_,sb.name_ subjectName,sle.training_score_,
+               sms.name_ musicScoreName,sled.actual_avg_score_,sled.standard_score_,sled.training_score_,sled.avg_score_
+        from student_lesson_examination sle
+        left join student_lesson_examination_detail sled ON sled.lesson_examination_id_ = sle.lesson_examination_id_ AND sled.user_id_ = sle.user_id_
+        left join sys_music_score sms ON sms.id_ = sled.music_score_id_
+        left join sys_user su ON su.id_ = sle.user_id_
+        left join subject sb ON sb.id_ = sle.subject_id_
+        where sle.lesson_examination_id_ = #{lessonExaminationId}
+        ORDER BY sle.training_score_ DESC
+    </select>
 
 </mapper>

+ 31 - 4
mec-student/src/main/java/com/ym/mec/student/controller/LessonExaminationController.java

@@ -2,20 +2,23 @@ package com.ym.mec.student.controller;
 
 
 import com.ym.mec.biz.dal.dto.LessonExaminationResultDto1;
+import com.ym.mec.biz.dal.dto.LessonExaminationSubmitDto;
+import com.ym.mec.biz.dal.dto.StudentLessonExaminationDetailDto;
 import com.ym.mec.biz.dal.page.LessonExaminationQueryInfo1;
+import com.ym.mec.biz.dal.page.StudentLessonExaminationQueryDto;
 import com.ym.mec.biz.service.LessonExaminationService;
+import com.ym.mec.biz.service.StudentLessonExaminationDetailService;
+import com.ym.mec.biz.service.StudentLessonExaminationService;
 import com.ym.mec.biz.service.SysUserService;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.entity.HttpResponseResult;
 import com.ym.mec.common.page.PageInfo;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
+import java.util.List;
 
 /**
  * 进度评测表(LessonExamination)表控制层
@@ -31,6 +34,10 @@ public class LessonExaminationController extends BaseController {
     @Resource
     private LessonExaminationService lessonExaminationService;
     @Resource
+    private StudentLessonExaminationService studentLessonExaminationService;
+    @Resource
+    private StudentLessonExaminationDetailService studentLessonExaminationDetailService;
+    @Resource
     private SysUserService sysUserService;
 
     @ApiOperation(value = "获取作业列表")
@@ -40,5 +47,25 @@ public class LessonExaminationController extends BaseController {
         return succeed(lessonExaminationService.queryPageByStudent(queryInfo));
     }
 
+    @ApiOperation(value = "获取学员单个作业")
+    @GetMapping("getOne")
+    public HttpResponseResult<LessonExaminationResultDto1> getOne(Long lessonExaminationId) {
+        return succeed(lessonExaminationService.getOne(sysUserService.getUserId(),lessonExaminationId));
+    }
+
+    @ApiOperation(value = "提交作业")
+    @PostMapping("submit")
+    public HttpResponseResult submit(@RequestBody LessonExaminationSubmitDto submitDto) {
+        studentLessonExaminationService.submit(submitDto);
+        return succeed();
+    }
+
+    @ApiOperation(value = "获取学员单个作业详情列表")
+    @PostMapping("queryDetailAll")
+    public HttpResponseResult<List<StudentLessonExaminationDetailDto>> queryAll(@RequestBody StudentLessonExaminationQueryDto query) {
+        query.setUserId(sysUserService.getUserId());
+        return succeed(studentLessonExaminationDetailService.queryAll(query));
+    }
+
 }
 

+ 0 - 51
mec-student/src/main/java/com/ym/mec/student/controller/StudentLessonExaminationController.java

@@ -1,51 +0,0 @@
-package com.ym.mec.student.controller;
-
-
-import com.ym.mec.biz.dal.dto.LessonExaminationSubmitDto;
-import com.ym.mec.biz.dal.dto.StudentLessonExaminationDto;
-import com.ym.mec.biz.dal.page.StudentLessonExaminationQueryInfo;
-import com.ym.mec.biz.service.StudentLessonExaminationService;
-import com.ym.mec.common.controller.BaseController;
-import com.ym.mec.common.entity.HttpResponseResult;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-import javax.annotation.Resource;
-
-/**
- * 学生进度评测表(StudentLessonExamination)表控制层
- *
- * @author zx
- * @since 2023-04-03 18:21:30
- */
-@Api(tags = "学生进度评测表")
-@RestController
-@RequestMapping("/studentLessonExamination")
-public class StudentLessonExaminationController extends BaseController {
-    /**
-     * 服务对象
-     */
-    @Resource
-    private StudentLessonExaminationService studentLessonExaminationService;
-
-    @ApiOperation(value = "获取单个学员评测")
-    @PostMapping("getOne")
-    public HttpResponseResult<StudentLessonExaminationDto> getOne(@RequestBody StudentLessonExaminationQueryInfo queryInfo) {
-        return succeed(studentLessonExaminationService.queryPage(queryInfo).getRows().get(0));
-    }
-
-    @ApiOperation(value = "提交作业")
-    @PostMapping("submit")
-    public HttpResponseResult submit(@RequestBody LessonExaminationSubmitDto submitDto) {
-        studentLessonExaminationService.submit(submitDto);
-        return succeed();
-    }
-
-
-
-}
-

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

@@ -34,7 +34,7 @@ public class StudentLessonExaminationDetailController extends BaseController {
     private StudentLessonExaminationDetailService studentLessonExaminationDetailService;
 
 
-    @ApiOperation(value = "获取学员列表")
+    @ApiOperation(value = "获取学员评测详情列表")
     @PostMapping("queryAll")
     public HttpResponseResult<List<StudentLessonExaminationDetailDto>> queryAll(@RequestBody StudentLessonExaminationQueryDto query) {
         return succeed(studentLessonExaminationDetailService.queryAll(query));

+ 18 - 9
mec-web/src/main/java/com/ym/mec/web/controller/LessonExaminationController.java

@@ -1,12 +1,12 @@
 package com.ym.mec.web.controller;
 
 
-import com.ym.mec.biz.dal.dto.LessonExaminationResultDto1;
-import com.ym.mec.biz.dal.dto.LessonExaminationResultDto2;
-import com.ym.mec.biz.dal.page.LessonExaminationQueryInfo1;
-import com.ym.mec.biz.dal.page.LessonExaminationQueryInfo2;
+import com.ym.mec.biz.dal.dto.LessonExaminationResultDto;
+import com.ym.mec.biz.dal.dto.StudentLessonExaminationDto1;
+import com.ym.mec.biz.dal.page.LessonExaminationQueryInfo;
 import com.ym.mec.biz.service.LessonExaminationService;
-import com.ym.mec.biz.service.SysUserService;
+import com.ym.mec.biz.service.OrganizationService;
+import com.ym.mec.biz.service.StudentLessonExaminationService;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.entity.HttpResponseResult;
 import com.ym.mec.common.page.PageInfo;
@@ -18,6 +18,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
 import javax.annotation.Resource;
+import java.util.List;
 
 /**
  * 进度评测表(LessonExamination)表控制层
@@ -33,13 +34,21 @@ public class LessonExaminationController extends BaseController {
     @Resource
     private LessonExaminationService lessonExaminationService;
     @Resource
-    private SysUserService sysUserService;
+    private OrganizationService organizationService;
+    @Resource
+    private StudentLessonExaminationService studentLessonExaminationService;
+
+    @ApiOperation(value = "获取作业学员列表")
+    @PostMapping("queryStudentPage")
+    public HttpResponseResult<List<StudentLessonExaminationDto1>> queryStudentPage(Long lessonExaminationId) {
+        return succeed(studentLessonExaminationService.queryStudentPage(lessonExaminationId));
+    }
 
     @ApiOperation(value = "获取作业列表")
     @PostMapping("queryPage")
-    public HttpResponseResult<PageInfo<LessonExaminationResultDto2>> queryPage(@RequestBody LessonExaminationQueryInfo2 queryInfo) {
-        return succeed(lessonExaminationService.queryPageByWeb(queryInfo));
+    public HttpResponseResult<PageInfo<LessonExaminationResultDto>> queryPage(@RequestBody LessonExaminationQueryInfo queryInfo) {
+        queryInfo.setOrganId(organizationService.getEmployeeOrgan(queryInfo.getOrganId()));
+        return succeed(lessonExaminationService.queryPage(queryInfo));
     }
-
 }