瀏覽代碼

作业改版

zouxuan 2 年之前
父節點
當前提交
749bcdf6d6

+ 4 - 4
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/StudentLessonExaminationDetailDto.java

@@ -32,11 +32,11 @@ public class StudentLessonExaminationDetailDto {
     @ApiModelProperty(value = "练习最高分数")
     private Integer trainingScore;
 
-    @ApiModelProperty(value = "是否练习")
-    private Boolean trainingFlag;
+    @ApiModelProperty(value = "总平均分")
+    private Integer avgScore;
 
-    @ApiModelProperty(value = "合格分数")
-    private Integer score;
+    @ApiModelProperty(value = "实际得分")
+    private Integer actualAvgScore;
 
     @ApiModelProperty(value = "达标总分")
     private Integer standardScore;

+ 2 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/StudentLessonExamination.java

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.ym.mec.common.entity.BaseEntity;
+import com.ym.mec.common.tenant.TenantContextHolder;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -19,7 +20,7 @@ import java.util.Date;
  */
 @ApiModel(value = "student_lesson_examination-学生进度评测表")
 @Data
-public class StudentLessonExamination extends BaseEntity {
+public class StudentLessonExamination {
     @TableId(value = "id_", type = IdType.AUTO)
     @ApiModelProperty(value = "主键ID")
     private Long id;

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

@@ -106,19 +106,14 @@ public class StudentLessonExaminationServiceImpl extends ServiceImpl<StudentLess
         }
         StudentLessonExamination studentLessonExamination = this.lambdaQuery().eq(StudentLessonExamination::getLessonExaminationId, lessonExaminationId)
                 .eq(StudentLessonExamination::getUserId, userId).one();
-        studentLessonExamination.setTrainingTime(now);
-        this.updateById(studentLessonExamination);
-        detail.setTrainingTime(now);
-        if(detail.getTrainingTime() == null){
+        if(studentLessonExamination.getTrainingTime() == null){
             //训练人数加一
             lessonExaminationDao.updateTrainingNum(lessonExaminationId);
         }
+        studentLessonExamination.setTrainingTime(now);
+        this.updateById(studentLessonExamination);
         //是否达标
         if(submitDto.getScore() >= detail.getStandardScore()){
-            if(!detail.getStandardFlag()){
-                //达标人数加一
-                lessonExaminationDao.updateStandardNum(lessonExaminationId);
-            }
             detail.setStandardFlag(true);
         }
         //训练分数是否比上一次高
@@ -131,7 +126,10 @@ public class StudentLessonExaminationServiceImpl extends ServiceImpl<StudentLess
             detail.setActualAvgScore(actualScore.intValue() > detail.getAvgScore() ? detail.getAvgScore():actualScore.intValue());
         }
         //更新详情
+        detail.setTrainingTime(now);
         studentLessonExaminationDetailService.updateById(detail);
+        //更新达标人数
+        lessonExaminationDao.updateStandardNum(lessonExaminationId);
         //更新总分
         if(flag){
             baseMapper.updateTrainingScore(lessonExaminationId,userId);

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

@@ -31,7 +31,13 @@
         UPDATE lesson_examination SET training_num_ = training_num_ + 1 WHERE id_ = #{lessonExaminationId}
     </update>
     <update id="updateStandardNum">
-        UPDATE lesson_examination SET standard_num_ = standard_num_ + 1 WHERE id_ = #{lessonExaminationId}
+        update lesson_examination le
+            left join (
+                select lesson_examination_id_,COUNT(distinct user_id_) num from student_lesson_examination_detail
+                where lesson_examination_id_ = #{lessonExaminationId}
+                group by user_id_ HAVING SUM(actual_avg_score_) >= 60) sle ON sle.lesson_examination_id_ = le.id_
+        set le.standard_num_ = sle.num
+        where le.id_ = #{lessonExaminationId} AND num > 0
     </update>
     <select id="queryPage" resultType="com.ym.mec.biz.dal.dto.LessonExaminationResultDto">
         select le.*,cg.name_ classGroupName

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

@@ -30,7 +30,7 @@
     </insert>
     <select id="queryAll" resultType="com.ym.mec.biz.dal.dto.StudentLessonExaminationDetailDto">
         select sms.name_ musicScoreName,sled.id_ studentLessonExaminationDetailId, sled.user_id_ userId, sled.lesson_examination_id_ lessonExaminationId, sled.music_score_id_ musicScoreId,
-               sled.heard_level_ heardLevel, sled.training_score_ trainingScore,sled.training_flag_ trainingFlag, sled.score_ score,
+               sled.heard_level_ heardLevel, sled.training_score_ trainingScore,sled.avg_score_ avgScore, sled.actual_avg_score_ actualAvgScore,
                sled.standard_score_ standardScore, sled.part_index_ partIndex
         from student_lesson_examination_detail sled
         left join sys_music_score sms ON sms.id_ = sled.music_score_id_

+ 0 - 1
mec-student/src/main/java/com/ym/mec/student/controller/LessonExaminationController.java

@@ -66,6 +66,5 @@ public class LessonExaminationController extends BaseController {
         query.setUserId(sysUserService.getUserId());
         return succeed(studentLessonExaminationDetailService.queryAll(query));
     }
-
 }